@twelvehart/orcats 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +3 -3
  2. package/dist/backends/claude-run.d.ts.map +1 -1
  3. package/dist/backends/codex-jsonl.d.ts +2 -1
  4. package/dist/backends/codex-jsonl.d.ts.map +1 -1
  5. package/dist/backends/codex-run.d.ts +2 -1
  6. package/dist/backends/codex-run.d.ts.map +1 -1
  7. package/dist/backends/codex.d.ts.map +1 -1
  8. package/dist/backends/pi-run.d.ts.map +1 -1
  9. package/dist/backends/select.d.ts +1 -1
  10. package/dist/backends/select.d.ts.map +1 -1
  11. package/dist/backends/subprocess-run.d.ts +4 -5
  12. package/dist/backends/subprocess-run.d.ts.map +1 -1
  13. package/dist/backends/subprocess-termination.d.ts +4 -0
  14. package/dist/backends/subprocess-termination.d.ts.map +1 -0
  15. package/dist/cli/version.d.ts +1 -1
  16. package/dist/conversation/conversation.d.ts +2 -0
  17. package/dist/conversation/conversation.d.ts.map +1 -1
  18. package/dist/conversation/settlement-reservation.d.ts +10 -0
  19. package/dist/conversation/settlement-reservation.d.ts.map +1 -0
  20. package/dist/model/backend-config.d.ts +2 -0
  21. package/dist/model/backend-config.d.ts.map +1 -1
  22. package/package.json +2 -2
  23. package/src/backends/claude-run.ts +7 -2
  24. package/src/backends/codex-jsonl.ts +5 -0
  25. package/src/backends/codex-run.ts +15 -1
  26. package/src/backends/codex.ts +4 -1
  27. package/src/backends/pi-run.ts +8 -2
  28. package/src/backends/select.ts +4 -1
  29. package/src/backends/subprocess-run.ts +534 -58
  30. package/src/backends/subprocess-termination.ts +56 -0
  31. package/src/cli/main.ts +2 -1
  32. package/src/cli/version.ts +1 -1
  33. package/src/conversation/conversation.ts +92 -7
  34. package/src/conversation/settlement-reservation.ts +127 -0
  35. package/src/model/backend-config.ts +8 -0
package/README.md CHANGED
@@ -8,7 +8,7 @@ Use Orcats when you want coding-agent work to be expressed as code instead of a
8
8
 
9
9
  ## Status
10
10
 
11
- The package is version `0.2.3`. Install the public npm package for normal project use:
11
+ The package is version `0.3.0`. Install the public npm package for normal project use:
12
12
 
13
13
  ```bash
14
14
  npm i @twelvehart/orcats
@@ -63,8 +63,8 @@ curl -fsSL https://github.com/ASRagab/orca-ts/releases/latest/download/install.s
63
63
  Pin a version or change the install directory with environment variables:
64
64
 
65
65
  ```bash
66
- ORCA_VERSION=0.2.3 ORCA_INSTALL_DIR="$HOME/.local/bin" \
67
- bash <(curl -fsSL https://github.com/ASRagab/orca-ts/releases/download/v0.2.3/install.sh)
66
+ ORCA_VERSION=0.3.0 ORCA_INSTALL_DIR="$HOME/.local/bin" \
67
+ bash <(curl -fsSL https://github.com/ASRagab/orca-ts/releases/download/v0.3.0/install.sh)
68
68
  ```
69
69
 
70
70
  The standalone binary embeds the runtime API, so it can run a flow that imports from `@twelvehart/orcats` even when the flow project has no `node_modules`. If the project has its own `@twelvehart/orcats` package dependency, that project copy wins.
@@ -1 +1 @@
1
- {"version":3,"file":"claude-run.d.ts","sourceRoot":"","sources":["../../src/backends/claude-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAU7B,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAC9C,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,UAAU,oBAAoB,CAAC,MAAM;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,CAepG;AASD,wBAAsB,qBAAqB,CAAC,MAAM,EAChD,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,OAAO,EAAE,oBAAoB,EAC7B,YAAY,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgCf;AA6BD,wBAAgB,MAAM,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAsE/E"}
1
+ {"version":3,"file":"claude-run.d.ts","sourceRoot":"","sources":["../../src/backends/claude-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAU7B,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAC9C,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,UAAU,oBAAoB,CAAC,MAAM;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,CAepG;AASD,wBAAsB,qBAAqB,CAAC,MAAM,EAChD,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5C,OAAO,EAAE,oBAAoB,EAC7B,YAAY,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgCf;AA6BD,wBAAgB,MAAM,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,CAAC,QAAQ,CAAC,CA0E/E"}
@@ -1,9 +1,10 @@
1
1
  import type { z } from "zod";
2
2
  import { StreamConversation, type ConversationCapture } from "../conversation/index.ts";
3
- import { type BackendApprovalPolicy, type BackendSandboxMode } from "../model/index.ts";
3
+ import { type BackendApprovalPolicy, type BackendSandboxMode, type CodexReasoningEffort } from "../model/index.ts";
4
4
  export type CodexParseResult = ConversationCapture<"codex">;
5
5
  export interface CodexExecArgs {
6
6
  readonly model?: string;
7
+ readonly reasoningEffort?: CodexReasoningEffort;
7
8
  readonly approvalPolicy?: BackendApprovalPolicy;
8
9
  readonly sandbox?: BackendSandboxMode;
9
10
  readonly readOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-jsonl.d.ts","sourceRoot":"","sources":["../../src/backends/codex-jsonl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAEL,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAGxB,MAAM,mBAAmB,CAAC;AA6B3B,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,aAAkB,GAAG,SAAS,MAAM,EAAE,CAgC9E;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,OAAO;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC;;;;qFAIiF;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,GAAG,OAAO,EACtD,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED,wBAAsB,iBAAiB,CAAC,MAAM,GAAG,OAAO,EACtD,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,GAAG,OAAO,EACvD,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,kBAAkB,CAgHpB"}
1
+ {"version":3,"file":"codex-jsonl.d.ts","sourceRoot":"","sources":["../../src/backends/codex-jsonl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAEL,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAG1B,MAAM,mBAAmB,CAAC;AA6B3B,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,aAAkB,GAAG,SAAS,MAAM,EAAE,CAmC9E;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,OAAO;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC;;;;qFAIiF;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,GAAG,OAAO,EACtD,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED,wBAAsB,iBAAiB,CAAC,MAAM,GAAG,OAAO,EACtD,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,GAAG,OAAO,EACvD,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,OAAO,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACtC,kBAAkB,CAgHpB"}
@@ -3,7 +3,7 @@ import { type CodexExecArgs } from "./codex-jsonl.ts";
3
3
  import { type SubprocessProcess, type SubprocessSpawner } from "./subprocess-run.ts";
4
4
  import type { AutonomousRequest } from "./types.ts";
5
5
  import { type AskUserMcpServer, type AskUserMcpServerOptions, type AskUserResponder, type StreamConversation } from "../conversation/index.ts";
6
- import { type BackendApprovalPolicy, type BackendConfig, type BackendSandboxMode } from "../model/index.ts";
6
+ import { type BackendApprovalPolicy, type BackendConfig, type BackendSandboxMode, type CodexReasoningEffort } from "../model/index.ts";
7
7
  export interface CodexBackendOptions extends Omit<CodexExecArgs, "prompt" | "outputSchemaPath" | "resumeSessionId" | "mcpServerUrl"> {
8
8
  readonly command?: string;
9
9
  readonly cwd?: string;
@@ -22,6 +22,7 @@ export type CodexProcess = SubprocessProcess;
22
22
  export type CodexProcessSpawner = SubprocessSpawner;
23
23
  export interface ResolvedCodexConfig<Output> {
24
24
  model?: string;
25
+ reasoningEffort?: CodexReasoningEffort;
25
26
  systemPrompt?: string;
26
27
  approvalPolicy?: BackendApprovalPolicy;
27
28
  sandbox?: BackendSandboxMode;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-run.d.ts","sourceRoot":"","sources":["../../src/backends/codex-run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,gBAAgB,CAAC;IACtF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;6EAC6E;AAC7E,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAC/C,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EACvC,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAAC,MAAM,CAAC,CA8B7B"}
1
+ {"version":3,"file":"codex-run.d.ts","sourceRoot":"","sources":["../../src/backends/codex-run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,gBAAgB,CAAC;IACtF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;6EAC6E;AAC7E,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAC/C,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACzC,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EACvC,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAAC,MAAM,CAAC,CAmC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAMhE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,CA+D5E"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/backends/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAMhE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAIxB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,CAiE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-run.d.ts","sourceRoot":"","sources":["../../src/backends/pi-run.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAC1C,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,uFAAuF;IACvF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA2BD,wBAAsB,iBAAiB,CAAC,MAAM,EAC5C,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,EACxC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,EACtC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,GACvC,OAAO,CAAC,IAAI,CAAC,CAuCf;AA6BD,wBAAgB,EAAE,CAAC,OAAO,GAAE,gBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CAuBnE"}
1
+ {"version":3,"file":"pi-run.d.ts","sourceRoot":"","sources":["../../src/backends/pi-run.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAC1C,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,uFAAuF;IACvF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA2BD,wBAAsB,iBAAiB,CAAC,MAAM,EAC5C,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,EACxC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,EACtC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,GACvC,OAAO,CAAC,IAAI,CAAC,CAuCf;AA6BD,wBAAgB,EAAE,CAAC,OAAO,GAAE,gBAAqB,GAAG,UAAU,CAAC,IAAI,CAAC,CA4BnE"}
@@ -1,6 +1,6 @@
1
1
  import { type BackendConfig, type BackendTag } from "../model/index.ts";
2
2
  import type { LlmBackend } from "./types.ts";
3
- export type PortableBackendConfig = Omit<BackendConfig, "resumeSessionId" | "structuredOutput">;
3
+ export type PortableBackendConfig = Omit<BackendConfig, "reasoningEffort" | "resumeSessionId" | "structuredOutput">;
4
4
  export interface SelectBackendOptions {
5
5
  readonly default: BackendTag;
6
6
  readonly config?: PortableBackendConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/backends/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,CAAC;AAEhG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAqD5E"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/backends/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,aAAa,EACb,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAC3D,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAqD5E"}
@@ -55,11 +55,10 @@ export interface RunSubprocessOptions<B extends BackendTag> {
55
55
  * timeout settlement; the per-backend command/args builder and line consumer
56
56
  * plug in.
57
57
  *
58
- * The helper deliberately does NOT catch spawn / stream / consumer exceptions
59
- * each driver wraps the call in its own try/catch/finally so spawn-error→fail and
60
- * resource teardown stay synchronous with the failure (matters for deterministic
61
- * cleanup ordering; see codex's ask_user bridge). Use {@link errorMessage} +
62
- * {@link backendFailed} in that catch. */
58
+ * The helper propagates spawn / stream / consumer exceptions unless a timeout
59
+ * has already reserved settlement. In that case timeout termination owns the
60
+ * outcome. Each driver wraps propagated errors so failure and resource teardown
61
+ * stay ordered; use {@link errorMessage} + {@link backendFailed} there. */
63
62
  export declare function runSubprocessConversation<B extends BackendTag>(options: RunSubprocessOptions<B>): Promise<void>;
64
63
  export declare function spawnSubprocess(command: string, args: readonly string[], options: SubprocessSpawnOptions): SubprocessProcess;
65
64
  export declare function splitLines(chunks: AsyncIterable<string | Uint8Array>): AsyncIterable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"subprocess-run.d.ts","sourceRoot":"","sources":["../../src/backends/subprocess-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subprocess-run.d.ts","sourceRoot":"","sources":["../../src/backends/subprocess-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SubprocessProcess } from "./subprocess-run.ts";
2
+ export declare function registerSubprocessExitWaitCancellation(process: SubprocessProcess, cancel: (error: unknown) => void): void;
3
+ export declare function terminateSubprocess(process: SubprocessProcess, gracefulMs?: number, forceMs?: number): Promise<void>;
4
+ //# sourceMappingURL=subprocess-termination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subprocess-termination.d.ts","sourceRoot":"","sources":["../../src/backends/subprocess-termination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAU7D,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/B,IAAI,CAEN;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,EAC1B,UAAU,SAAsC,EAChD,OAAO,SAAgC,GACtC,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,2 +1,2 @@
1
- export declare const ORCA_VERSION = "0.2.3";
1
+ export declare const ORCA_VERSION = "0.3.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -33,6 +33,7 @@ export declare class StreamConversation<B extends BackendTag> implements Convers
33
33
  private readonly outcome;
34
34
  private settle;
35
35
  private settled;
36
+ private cancellation;
36
37
  constructor(options: StreamConversationOptions<B>);
37
38
  get backend(): B;
38
39
  events(): AsyncIterable<ConversationEvent>;
@@ -42,5 +43,6 @@ export declare class StreamConversation<B extends BackendTag> implements Convers
42
43
  fail(error: RuntimeError): void;
43
44
  cancel(reason?: string): Promise<void>;
44
45
  private complete;
46
+ private completeCancellationFailure;
45
47
  }
46
48
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/conversation/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,UAAU;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/D;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAWlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,cAA+B;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAQlE,IAAI,OAAO,IAAI,CAAC,CAEf;IAED,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAI5B,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAmBzE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIzB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5C,OAAO,CAAC,QAAQ;CASjB"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/conversation/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,UAAU;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/D;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAYlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,cAA+B;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAA4B;gBAEnB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAQlE,IAAI,OAAO,IAAI,CAAC,CAEf;IAED,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAI5B,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAmBzE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAiBvC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAiB/B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CtC,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,2BAA2B;CAkBpC"}
@@ -0,0 +1,10 @@
1
+ type SettlementKind = "success" | "cancellation" | "failure" | "cancellation_failure";
2
+ export declare function observeConversationCancellationCompletion(conversation: object): Promise<void>;
3
+ export declare function markConversationCancellationComplete(conversation: object): void;
4
+ export declare function registerConversationCancellationFailureHandler(conversation: object, handler: (error: unknown) => void): void;
5
+ export declare function reportConversationCancellationFailure(conversation: object, error: unknown): boolean;
6
+ export declare function reserveConversationSettlement(conversation: object): () => void;
7
+ export declare function isConversationSettlementReserved(conversation: object): boolean;
8
+ export declare function deferConversationSettlement(conversation: object, kind: SettlementKind, publish: () => void): boolean;
9
+ export {};
10
+ //# sourceMappingURL=settlement-reservation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement-reservation.d.ts","sourceRoot":"","sources":["../../src/conversation/settlement-reservation.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,sBAAsB,CAAC;AAgDtF,wBAAgB,yCAAyC,CACvD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,oCAAoC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAO/E;AAED,wBAAgB,8CAA8C,CAC5D,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAChC,IAAI,CAEN;AAED,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,OAAO,CAOT;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,IAAI,CAqB9E;AAED,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,IAAI,GAClB,OAAO,CAaT"}
@@ -3,6 +3,7 @@ import type { BackendTag, LlmResult } from "./schemas.ts";
3
3
  import type { SessionId } from "./brand.ts";
4
4
  export type BackendApprovalPolicy = "never" | "on-request" | "on-failure" | "granular" | "untrusted";
5
5
  export type BackendSandboxMode = "read-only" | "workspace-write" | "danger-full-access";
6
+ export type CodexReasoningEffort = "low" | "medium" | "high" | "xhigh" | "max" | "ultra";
6
7
  export interface BackendRetryConfig {
7
8
  readonly attempts: number;
8
9
  }
@@ -13,6 +14,7 @@ export interface StructuredOutputConfig<Output = unknown> {
13
14
  }
14
15
  export interface BackendConfig<B extends BackendTag = BackendTag, Output = unknown> {
15
16
  readonly model?: string;
17
+ readonly reasoningEffort?: B extends "codex" ? CodexReasoningEffort : never;
16
18
  readonly systemPrompt?: string;
17
19
  readonly approvalPolicy?: BackendApprovalPolicy;
18
20
  readonly readOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-config.d.ts","sourceRoot":"","sources":["../../src/model/backend-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AACrG,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAExF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,OAAO;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,MAAM,GAAG,OAAO;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC,GAAG;IAC3F,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"backend-config.d.ts","sourceRoot":"","sources":["../../src/model/backend-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AACrG,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAC5B,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,OAAO;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,MAAM,GAAG,OAAO;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,OAAO,GAAG,oBAAoB,GAAG,KAAK,CAAC;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC,GAAG;IAC3F,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twelvehart/orcats",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript-native reimagining of Orca: deterministic coding-agent flows with author-time type feedback.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "scripts": {
55
55
  "build": "bun build src/cli/main.ts --target bun --outfile dist/orcats",
56
- "build:binary": "bun build src/cli/main.ts --compile --outfile dist/orcats",
56
+ "build:binary": "bun build src/cli/main.ts --compile --compile-autoload-package-json --outfile dist/orcats",
57
57
  "build:types": "tsc -p tsconfig.build.json",
58
58
  "build:release": "bun run scripts/build-release-binaries.ts",
59
59
  "lint": "bun run docs:site:prepare && eslint .",
@@ -14,6 +14,7 @@ import {
14
14
  type SubprocessProcess,
15
15
  type SubprocessSpawner
16
16
  } from "./subprocess-run.ts";
17
+ import { terminateSubprocess } from "./subprocess-termination.ts";
17
18
  import type { AutonomousRequest, LlmBackend } from "./types.ts";
18
19
  import { StreamConversation } from "../conversation/index.ts";
19
20
  import { backendFailed, jsonSchemaFromZod, type BackendConfig } from "../model/index.ts";
@@ -154,11 +155,15 @@ export function claude(options: ClaudeBackendOptions = {}): LlmBackend<"claude">
154
155
  try {
155
156
  await cancelAcp();
156
157
  } catch (error) {
157
- conversation.fail(backendFailed("claude", `Claude ACP cancellation failed: ${errorMessage(error)}`));
158
+ throw new Error(`Claude ACP cancellation failed: ${errorMessage(error)}`, {
159
+ cause: error
160
+ });
158
161
  }
159
162
  return;
160
163
  }
161
- child?.kill("SIGTERM");
164
+ if (child) {
165
+ await terminateSubprocess(child);
166
+ }
162
167
  }
163
168
  });
164
169
 
@@ -12,6 +12,7 @@ import {
12
12
  unsupportedFeature,
13
13
  type BackendApprovalPolicy,
14
14
  type BackendSandboxMode,
15
+ type CodexReasoningEffort,
15
16
  type RuntimeError,
16
17
  type Usage
17
18
  } from "../model/index.ts";
@@ -47,6 +48,7 @@ export type CodexParseResult = ConversationCapture<"codex">;
47
48
 
48
49
  export interface CodexExecArgs {
49
50
  readonly model?: string;
51
+ readonly reasoningEffort?: CodexReasoningEffort;
50
52
  readonly approvalPolicy?: BackendApprovalPolicy;
51
53
  readonly sandbox?: BackendSandboxMode;
52
54
  readonly readOnly?: boolean;
@@ -64,6 +66,9 @@ export function codexExecJsonlArgs(args: CodexExecArgs = {}): readonly string[]
64
66
  "--json",
65
67
  ...(args.ignoreUserConfig ? ["--ignore-user-config"] : []),
66
68
  ...(args.model ? ["--model", args.model] : []),
69
+ ...(args.reasoningEffort
70
+ ? ["-c", `model_reasoning_effort="${args.reasoningEffort}"`]
71
+ : []),
67
72
  ...(args.approvalPolicy ? ["-c", `approval_policy="${args.approvalPolicy}"`] : []),
68
73
  ...(args.mcpServerUrl ? ["-c", `mcp_servers.orcats.url=${JSON.stringify(args.mcpServerUrl)}`] : []),
69
74
  ...(args.outputSchemaPath ? ["--output-schema", args.outputSchemaPath] : [])
@@ -27,7 +27,8 @@ import {
27
27
  jsonSchemaFromZod,
28
28
  type BackendApprovalPolicy,
29
29
  type BackendConfig,
30
- type BackendSandboxMode
30
+ type BackendSandboxMode,
31
+ type CodexReasoningEffort
31
32
  } from "../model/index.ts";
32
33
 
33
34
  export interface CodexBackendOptions
@@ -52,6 +53,7 @@ export type CodexProcessSpawner = SubprocessSpawner;
52
53
 
53
54
  export interface ResolvedCodexConfig<Output> {
54
55
  model?: string;
56
+ reasoningEffort?: CodexReasoningEffort;
55
57
  systemPrompt?: string;
56
58
  approvalPolicy?: BackendApprovalPolicy;
57
59
  sandbox?: BackendSandboxMode;
@@ -98,9 +100,16 @@ export async function runCodexConversation<Output>(
98
100
  );
99
101
  }
100
102
 
103
+ if (conversation.signal.aborted) {
104
+ return;
105
+ }
106
+
101
107
  const args = codexExecJsonlArgs({
102
108
  prompt: composeBackendPrompt(request.prompt, config),
103
109
  ...(config.model === undefined ? {} : { model: config.model }),
110
+ ...(config.reasoningEffort === undefined
111
+ ? {}
112
+ : { reasoningEffort: config.reasoningEffort }),
104
113
  ...(config.approvalPolicy === undefined ? {} : { approvalPolicy: config.approvalPolicy }),
105
114
  ...(config.sandbox === undefined ? {} : { sandbox: config.sandbox }),
106
115
  ...(config.readOnly === undefined ? {} : { readOnly: config.readOnly }),
@@ -150,6 +159,11 @@ export function resolveCodexConfig<Output>(
150
159
  const config: ResolvedCodexConfig<Output> = {};
151
160
  const model = requestConfig?.model ?? optionConfig?.model ?? options.model;
152
161
  if (model !== undefined) config.model = model;
162
+ const reasoningEffort =
163
+ requestConfig?.reasoningEffort ??
164
+ optionConfig?.reasoningEffort ??
165
+ options.reasoningEffort;
166
+ if (reasoningEffort !== undefined) config.reasoningEffort = reasoningEffort;
153
167
  const systemPrompt = requestConfig?.systemPrompt ?? optionConfig?.systemPrompt;
154
168
  if (systemPrompt !== undefined) config.systemPrompt = systemPrompt;
155
169
  const approvalPolicy =
@@ -11,6 +11,7 @@ import {
11
11
  type CodexProcess
12
12
  } from "./codex-run.ts";
13
13
  import { StreamConversation } from "../conversation/index.ts";
14
+ import { terminateSubprocess } from "./subprocess-termination.ts";
14
15
 
15
16
  export type {
16
17
  CodexBackendOptions,
@@ -34,7 +35,9 @@ export function codex(options: CodexBackendOptions = {}): LlmBackend<"codex"> {
34
35
  await cancelAcp();
35
36
  return;
36
37
  }
37
- child?.kill("SIGTERM");
38
+ if (child) {
39
+ await terminateSubprocess(child);
40
+ }
38
41
  }
39
42
  });
40
43
 
@@ -10,6 +10,7 @@ import {
10
10
  type SubprocessProcess,
11
11
  type SubprocessSpawner
12
12
  } from "./subprocess-run.ts";
13
+ import { terminateSubprocess } from "./subprocess-termination.ts";
13
14
  import type { AutonomousRequest, LlmBackend } from "./types.ts";
14
15
  import { StreamConversation } from "../conversation/index.ts";
15
16
  import { backendFailed, type BackendConfig } from "../model/index.ts";
@@ -137,12 +138,17 @@ export function pi(options: PiBackendOptions = {}): LlmBackend<"pi"> {
137
138
  backend: "pi",
138
139
  capacity: options.capacity ?? 256,
139
140
  canAskUser: false,
140
- onCancel: () => {
141
- child?.kill("SIGTERM");
141
+ onCancel: async () => {
142
+ if (child) {
143
+ await terminateSubprocess(child);
144
+ }
142
145
  }
143
146
  });
144
147
 
145
148
  queueMicrotask(() => {
149
+ if (conversation.signal.aborted) {
150
+ return;
151
+ }
146
152
  void runPiConversation(request, options, conversation, (process) => {
147
153
  child = process;
148
154
  });
@@ -5,7 +5,10 @@ import { opencode } from "./opencode-run.ts";
5
5
  import { pi } from "./pi-run.ts";
6
6
  import type { LlmBackend } from "./types.ts";
7
7
 
8
- export type PortableBackendConfig = Omit<BackendConfig, "resumeSessionId" | "structuredOutput">;
8
+ export type PortableBackendConfig = Omit<
9
+ BackendConfig,
10
+ "reasoningEffort" | "resumeSessionId" | "structuredOutput"
11
+ >;
9
12
 
10
13
  export interface SelectBackendOptions {
11
14
  readonly default: BackendTag;