56 lines · 1.4 KB · TypeScript
RawDownload
import {  type ProviderApprovalDecision,  type ProviderDriverKind,  type ThreadId,} from "@t3tools/contracts";import * as Schema from "effect/Schema";import * as EffectAcpErrors from "effect-acp/errors"; import {  ProviderAdapterRequestError,  ProviderAdapterSessionClosedError,  type ProviderAdapterError,} from "../Errors.ts";const isAcpProcessExitedError = Schema.is(EffectAcpErrors.AcpProcessExitedError);const isAcpRequestError = Schema.is(EffectAcpErrors.AcpRequestError); export function mapAcpToAdapterError(  provider: ProviderDriverKind,  threadId: ThreadId,  method: string,  error: EffectAcpErrors.AcpError,): ProviderAdapterError {  if (isAcpProcessExitedError(error)) {    return new ProviderAdapterSessionClosedError({      provider,      threadId,      cause: error,    });  }  if (isAcpRequestError(error)) {    return new ProviderAdapterRequestError({      provider,      method,      detail: error.message,      cause: error,    });  }  return new ProviderAdapterRequestError({    provider,    method,    detail: error.message,    cause: error,  });} export function acpPermissionOutcome(decision: ProviderApprovalDecision): string {  switch (decision) {    case "acceptForSession":      return "allow-always";    case "accept":      return "allow-once";    case "decline":    default:      return "reject-once";  }}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t