@intentic/sandbox-contract 1.125.1 → 1.132.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 (153) hide show
  1. package/dist/agent-catalog.d.ts +17 -0
  2. package/dist/agent-catalog.d.ts.map +1 -0
  3. package/dist/agent-catalog.js +28 -0
  4. package/dist/agent-catalog.js.map +1 -0
  5. package/dist/contracts/activity.contract.d.ts +4 -2
  6. package/dist/contracts/activity.contract.d.ts.map +1 -1
  7. package/dist/contracts/agent.contract.d.ts +321 -154
  8. package/dist/contracts/agent.contract.d.ts.map +1 -1
  9. package/dist/contracts/agent.contract.js +6 -3
  10. package/dist/contracts/agent.contract.js.map +1 -1
  11. package/dist/contracts/agents.contract.d.ts +193 -0
  12. package/dist/contracts/agents.contract.d.ts.map +1 -0
  13. package/dist/contracts/agents.contract.js +12 -0
  14. package/dist/contracts/agents.contract.js.map +1 -0
  15. package/dist/contracts/automations.contract.d.ts +16 -16
  16. package/dist/contracts/automations.contract.d.ts.map +1 -1
  17. package/dist/contracts/capabilities.contract.d.ts +48 -85
  18. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  19. package/dist/contracts/capabilities.contract.js +2 -1
  20. package/dist/contracts/capabilities.contract.js.map +1 -1
  21. package/dist/contracts/claude.contract.d.ts +26 -5
  22. package/dist/contracts/claude.contract.d.ts.map +1 -1
  23. package/dist/contracts/claude.contract.js +4 -3
  24. package/dist/contracts/claude.contract.js.map +1 -1
  25. package/dist/contracts/codex.contract.d.ts +30 -6
  26. package/dist/contracts/codex.contract.d.ts.map +1 -1
  27. package/dist/contracts/codex.contract.js +5 -4
  28. package/dist/contracts/codex.contract.js.map +1 -1
  29. package/dist/contracts/drafts.contract.d.ts +6 -6
  30. package/dist/contracts/drafts.contract.d.ts.map +1 -1
  31. package/dist/contracts/extensions.contract.d.ts +153 -0
  32. package/dist/contracts/extensions.contract.d.ts.map +1 -0
  33. package/dist/contracts/extensions.contract.js +14 -0
  34. package/dist/contracts/extensions.contract.js.map +1 -0
  35. package/dist/contracts/git.contract.d.ts +153 -0
  36. package/dist/contracts/git.contract.d.ts.map +1 -1
  37. package/dist/contracts/git.contract.js +17 -1
  38. package/dist/contracts/git.contract.js.map +1 -1
  39. package/dist/contracts/grok.contract.d.ts +20 -11
  40. package/dist/contracts/grok.contract.d.ts.map +1 -1
  41. package/dist/contracts/grok.contract.js +5 -5
  42. package/dist/contracts/grok.contract.js.map +1 -1
  43. package/dist/contracts/history.contract.d.ts +4 -10
  44. package/dist/contracts/history.contract.d.ts.map +1 -1
  45. package/dist/contracts/history.contract.js +3 -4
  46. package/dist/contracts/history.contract.js.map +1 -1
  47. package/dist/contracts/intentic.contract.d.ts +7 -0
  48. package/dist/contracts/intentic.contract.d.ts.map +1 -1
  49. package/dist/contracts/intentic.contract.js +1 -0
  50. package/dist/contracts/intentic.contract.js.map +1 -1
  51. package/dist/contracts/inventory.contract.d.ts +20 -20
  52. package/dist/contracts/inventory.contract.d.ts.map +1 -1
  53. package/dist/contracts/logs.contract.d.ts.map +1 -1
  54. package/dist/contracts/panels.contract.d.ts +1 -1
  55. package/dist/contracts/panels.contract.d.ts.map +1 -1
  56. package/dist/contracts/ports.contract.d.ts +31 -0
  57. package/dist/contracts/ports.contract.d.ts.map +1 -0
  58. package/dist/contracts/ports.contract.js +8 -0
  59. package/dist/contracts/ports.contract.js.map +1 -0
  60. package/dist/contracts/secrets.contract.d.ts +4 -3
  61. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  62. package/dist/contracts/sessions.contract.d.ts +1 -1
  63. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  64. package/dist/contracts/sessions.contract.js +4 -1
  65. package/dist/contracts/sessions.contract.js.map +1 -1
  66. package/dist/contracts/settings.contract.d.ts +41 -2
  67. package/dist/contracts/settings.contract.d.ts.map +1 -1
  68. package/dist/contracts/settings.contract.js +2 -1
  69. package/dist/contracts/settings.contract.js.map +1 -1
  70. package/dist/contracts/system.contract.d.ts +105 -5
  71. package/dist/contracts/system.contract.d.ts.map +1 -1
  72. package/dist/contracts/system.contract.js +2 -1
  73. package/dist/contracts/system.contract.js.map +1 -1
  74. package/dist/contracts/translator.contract.d.ts +25 -0
  75. package/dist/contracts/translator.contract.d.ts.map +1 -0
  76. package/dist/contracts/translator.contract.js +15 -0
  77. package/dist/contracts/translator.contract.js.map +1 -0
  78. package/dist/contracts/workspace.contract.d.ts +93 -12
  79. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  80. package/dist/contracts/workspace.contract.js +5 -3
  81. package/dist/contracts/workspace.contract.js.map +1 -1
  82. package/dist/effects.d.ts +42 -0
  83. package/dist/effects.d.ts.map +1 -0
  84. package/dist/effects.js +79 -0
  85. package/dist/effects.js.map +1 -0
  86. package/dist/events.d.ts +421 -11
  87. package/dist/events.d.ts.map +1 -1
  88. package/dist/events.js +77 -6
  89. package/dist/events.js.map +1 -1
  90. package/dist/hostnames.d.ts +20 -0
  91. package/dist/hostnames.d.ts.map +1 -0
  92. package/dist/hostnames.js +47 -0
  93. package/dist/hostnames.js.map +1 -0
  94. package/dist/index.d.ts +1307 -339
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +18 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/model-metadata.d.ts +7 -0
  99. package/dist/model-metadata.d.ts.map +1 -0
  100. package/dist/model-metadata.js +18 -0
  101. package/dist/model-metadata.js.map +1 -0
  102. package/dist/schemas.d.ts +1179 -349
  103. package/dist/schemas.d.ts.map +1 -1
  104. package/dist/schemas.js +306 -65
  105. package/dist/schemas.js.map +1 -1
  106. package/dist/sse.d.ts +3 -0
  107. package/dist/sse.d.ts.map +1 -0
  108. package/dist/sse.js +35 -0
  109. package/dist/sse.js.map +1 -0
  110. package/dist/terminal-protocol.d.ts +20 -0
  111. package/dist/terminal-protocol.d.ts.map +1 -0
  112. package/dist/terminal-protocol.js +2 -0
  113. package/dist/terminal-protocol.js.map +1 -0
  114. package/dist/tunnel-ids.d.ts +2 -0
  115. package/dist/tunnel-ids.d.ts.map +1 -1
  116. package/dist/tunnel-ids.js +3 -1
  117. package/dist/tunnel-ids.js.map +1 -1
  118. package/package.json +13 -7
  119. package/src/agent-catalog.ts +62 -0
  120. package/src/contracts/activity.contract.ts +9 -0
  121. package/src/contracts/agent.contract.ts +17 -0
  122. package/src/contracts/agents.contract.ts +28 -0
  123. package/src/contracts/automations.contract.ts +23 -0
  124. package/src/contracts/capabilities.contract.ts +31 -0
  125. package/src/contracts/claude.contract.ts +22 -0
  126. package/src/contracts/codex.contract.ts +23 -0
  127. package/src/contracts/drafts.contract.ts +11 -0
  128. package/src/contracts/extensions.contract.ts +28 -0
  129. package/src/contracts/git.contract.ts +64 -0
  130. package/src/contracts/grok.contract.ts +16 -0
  131. package/src/contracts/history.contract.ts +12 -0
  132. package/src/contracts/intentic.contract.ts +17 -0
  133. package/src/contracts/inventory.contract.ts +11 -0
  134. package/src/contracts/logs.contract.ts +9 -0
  135. package/src/contracts/panels.contract.ts +12 -0
  136. package/src/contracts/ports.contract.ts +11 -0
  137. package/src/contracts/secrets.contract.ts +15 -0
  138. package/src/contracts/sessions.contract.ts +14 -0
  139. package/src/contracts/settings.contract.ts +11 -0
  140. package/src/contracts/system.contract.ts +37 -0
  141. package/src/contracts/translator.contract.ts +20 -0
  142. package/src/contracts/workspace.contract.ts +74 -0
  143. package/src/effects.test.ts +132 -0
  144. package/src/effects.ts +138 -0
  145. package/src/events.ts +277 -0
  146. package/src/hostnames.test.ts +44 -0
  147. package/src/hostnames.ts +97 -0
  148. package/src/index.ts +84 -0
  149. package/src/model-metadata.ts +30 -0
  150. package/src/schemas.ts +1407 -0
  151. package/src/sse.ts +43 -0
  152. package/src/terminal-protocol.ts +16 -0
  153. package/src/tunnel-ids.ts +19 -0
@@ -0,0 +1,17 @@
1
+ import type { AgentHarness, AgentProvider, NativeProvider } from "./schemas.js";
2
+ export interface CatalogOption {
3
+ readonly label: string;
4
+ readonly value: string;
5
+ }
6
+ export declare const PROVIDERS: readonly {
7
+ label: string;
8
+ value: NativeProvider;
9
+ }[];
10
+ export declare const providerLabel: (provider: AgentProvider) => string;
11
+ export declare const HARNESSES: readonly {
12
+ label: string;
13
+ value: AgentHarness;
14
+ }[];
15
+ export declare const usesLiveCatalog: (provider: AgentProvider, harness: AgentHarness) => boolean;
16
+ export declare const modelsFor: (provider: AgentProvider, harness: AgentHarness) => CatalogOption[];
17
+ //# sourceMappingURL=agent-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-catalog.d.ts","sourceRoot":"","sources":["../src/agent-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOhF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAKD,eAAO,MAAM,SAAS,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,EAIxE,CAAC;AAIF,eAAO,MAAM,aAAa,aAAc,aAAa,KAAG,MAAwE,CAAC;AAKjI,eAAO,MAAM,SAAS,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,EAGtE,CAAC;AAMF,eAAO,MAAM,eAAe,aAAc,aAAa,WAAW,YAAY,KAAG,OAAwD,CAAC;AAQ1I,eAAO,MAAM,SAAS,aAAc,aAAa,WAAW,YAAY,KAAG,aAAa,EAgBvF,CAAC"}
@@ -0,0 +1,28 @@
1
+ export const PROVIDERS = [
2
+ { label: "Claude Code", value: "claude" },
3
+ { label: "Codex", value: "codex" },
4
+ { label: "Grok", value: "grok" },
5
+ ];
6
+ export const providerLabel = (provider) => PROVIDERS.find((p) => p.value === provider)?.label ?? provider;
7
+ export const HARNESSES = [
8
+ { label: "Native", value: "native" },
9
+ { label: "Claude Code", value: "claude-code" },
10
+ ];
11
+ export const usesLiveCatalog = (provider, harness) => harness === "native" || provider === "claude";
12
+ export const modelsFor = (provider, harness) => {
13
+ if (provider === "codex") {
14
+ return harness === "claude-code" ? [{ label: "GPT-5 Codex", value: "gpt-5-codex" }] : [];
15
+ }
16
+ if (provider === "grok") {
17
+ return harness === "claude-code" ? [{ label: "Grok 4", value: "grok-4" }] : [];
18
+ }
19
+ if (provider === "claude") {
20
+ return [
21
+ { label: "Opus", value: "opus" },
22
+ { label: "Sonnet", value: "sonnet" },
23
+ { label: "Haiku", value: "haiku" },
24
+ ];
25
+ }
26
+ return [];
27
+ };
28
+ //# sourceMappingURL=agent-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-catalog.js","sourceRoot":"","sources":["../src/agent-catalog.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,SAAS,GAAwD;IAC1E,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IACzC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACnC,CAAC;AAIF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,CAAC;AAKjI,MAAM,CAAC,MAAM,SAAS,GAAsD;IACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;CACjD,CAAC;AAMF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAE,OAAqB,EAAW,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC;AAQ1I,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAuB,EAAE,OAAqB,EAAmB,EAAE;IACzF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACH,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACrC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC"}
@@ -8,9 +8,10 @@ export declare const activityContract: {
8
8
  id: import("zod").ZodString;
9
9
  at: import("zod").ZodNumber;
10
10
  provider: import("zod").ZodOptional<import("zod").ZodString>;
11
+ account: import("zod").ZodOptional<import("zod").ZodString>;
11
12
  direction: import("zod").ZodEnum<{
12
- out: "out";
13
13
  in: "in";
14
+ out: "out";
14
15
  system: "system";
15
16
  }>;
16
17
  type: import("zod").ZodString;
@@ -34,9 +35,10 @@ export declare const activityContract: {
34
35
  capabilityId: import("zod").ZodString;
35
36
  provider: import("zod").ZodString;
36
37
  gateway: import("zod").ZodEnum<{
37
- ready: "ready";
38
38
  connecting: "connecting";
39
39
  disconnected: "disconnected";
40
+ idle: "idle";
41
+ ready: "ready";
40
42
  }>;
41
43
  lastError: import("zod").ZodOptional<import("zod").ZodString>;
42
44
  }, import("zod/v4/core").$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"activity.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/activity.contract.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG5B,CAAC"}
1
+ {"version":3,"file":"activity.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/activity.contract.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;IACzB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACJ,MAAM;;;;;;;;;;;;;;;;;;;CACT,CAAC"}
@@ -1,177 +1,333 @@
1
1
  export declare const agentContract: {
2
2
  run: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
3
3
  prompt: import("zod").ZodString;
4
+ title: import("zod").ZodOptional<import("zod").ZodString>;
4
5
  attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
5
- agent: import("zod").ZodOptional<import("zod").ZodEnum<{
6
- claude: "claude";
7
- codex: "codex";
8
- grok: "grok";
6
+ agent: import("zod").ZodOptional<import("zod").ZodString>;
7
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
8
+ "claude-code": "claude-code";
9
+ native: "native";
9
10
  }>>;
11
+ account: import("zod").ZodOptional<import("zod").ZodString>;
10
12
  sessionId: import("zod").ZodOptional<import("zod").ZodString>;
13
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
14
+ isolated: import("zod").ZodOptional<import("zod").ZodBoolean>;
15
+ history: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
16
+ role: import("zod").ZodEnum<{
17
+ assistant: "assistant";
18
+ user: "user";
19
+ }>;
20
+ text: import("zod").ZodString;
21
+ }, import("zod/v4/core").$strip>>>;
11
22
  model: import("zod").ZodOptional<import("zod").ZodString>;
12
23
  plan: import("zod").ZodOptional<import("zod").ZodBoolean>;
13
24
  effort: import("zod").ZodOptional<import("zod").ZodString>;
14
25
  thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
26
+ editorContext: import("zod").ZodOptional<import("zod").ZodObject<{
27
+ file: import("zod").ZodString;
28
+ startLine: import("zod").ZodOptional<import("zod").ZodNumber>;
29
+ endLine: import("zod").ZodOptional<import("zod").ZodNumber>;
30
+ selection: import("zod").ZodOptional<import("zod").ZodString>;
31
+ }, import("zod/v4/core").$strip>>;
32
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
33
+ run: import("zod").ZodString;
34
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
35
+ attach: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
36
+ conversationId: import("zod").ZodString;
37
+ run: import("zod").ZodOptional<import("zod").ZodString>;
38
+ after: import("zod").ZodOptional<import("zod").ZodNumber>;
15
39
  }, import("zod/v4/core").$strip>, import("@orpc/contract").Schema<AsyncIteratorObject<{
16
- kind: "session";
17
- sessionId: string;
18
- } | {
19
- kind: "init";
20
- model: string;
21
- } | {
22
- kind: "delta";
23
- text: string;
24
- parentToolUseId?: string | undefined;
25
- } | {
26
- kind: "thinking";
27
- text: string;
28
- parentToolUseId?: string | undefined;
29
- } | {
30
- kind: "tool";
31
- name: string;
32
- id?: string | undefined;
33
- target?: string | undefined;
34
- parentToolUseId?: string | undefined;
35
- } | {
36
- kind: "tool_result";
37
- output: string;
38
- id?: string | undefined;
39
- isError?: boolean | undefined;
40
- } | {
41
- kind: "terminal";
42
- session: string;
43
- } | {
44
- kind: "todos";
45
- items: {
46
- content: string;
47
- status: "pending" | "in_progress" | "completed";
48
- activeForm?: string | undefined;
49
- }[];
50
- } | {
51
- kind: "usage";
52
- costUsd?: number | undefined;
53
- inputTokens?: number | undefined;
54
- outputTokens?: number | undefined;
55
- durationMs?: number | undefined;
56
- numTurns?: number | undefined;
40
+ kind: "attached";
41
+ run: string;
42
+ prompt: string;
43
+ startedAt: number;
44
+ seq: number;
57
45
  } | {
58
- status: "allowed" | "allowed_warning" | "rejected";
59
- kind: "rate_limit_info";
60
- resetsAt?: number | undefined;
61
- rateLimitType?: string | undefined;
62
- utilization?: number | undefined;
63
- } | {
64
- tokens: number;
65
- contextWindow: number;
66
- kind: "context_usage";
67
- } | {
68
- kind: "compact";
69
- trigger: string;
70
- preTokens?: number | undefined;
71
- postTokens?: number | undefined;
72
- } | {
73
- kind: "plan";
74
- decisionId: string;
75
- text: string;
76
- } | {
77
- kind: "question";
78
- requestId: string;
79
- questions: {
80
- question: string;
81
- header: string;
82
- multiSelect: boolean;
83
- options: {
84
- label: string;
46
+ kind: "frame";
47
+ seq: number;
48
+ event: {
49
+ kind: "session";
50
+ sessionId: string;
51
+ } | {
52
+ kind: "worktree";
53
+ branch: string;
54
+ base: string;
55
+ } | {
56
+ kind: "landed";
57
+ landed: boolean;
58
+ conflicts?: {
59
+ repo: string;
60
+ paths: string[];
61
+ }[] | undefined;
62
+ } | {
63
+ kind: "init";
64
+ model: string;
65
+ } | {
66
+ kind: "checkpoint";
67
+ id: string;
68
+ } | {
69
+ kind: "delta";
70
+ text: string;
71
+ parentToolUseId?: string | undefined;
72
+ } | {
73
+ kind: "thinking";
74
+ text: string;
75
+ parentToolUseId?: string | undefined;
76
+ } | {
77
+ kind: "tool_call";
78
+ id: string;
79
+ name: string;
80
+ category: "delete" | "edit" | "execute" | "fetch" | "move" | "other" | "read" | "search" | "think";
81
+ status: "completed" | "failed" | "in_progress" | "pending";
82
+ target?: string | undefined;
83
+ locations?: {
84
+ path: string;
85
+ line?: number | undefined;
86
+ }[] | undefined;
87
+ content?: ({
88
+ type: "text";
89
+ text: string;
90
+ } | {
91
+ type: "diff";
92
+ path: string;
93
+ oldText?: string | undefined;
94
+ newText: string;
95
+ truncated?: boolean | undefined;
96
+ })[] | undefined;
97
+ parentToolUseId?: string | undefined;
98
+ } | {
99
+ kind: "tool_call_update";
100
+ id: string;
101
+ status?: "completed" | "failed" | "in_progress" | "pending" | undefined;
102
+ content?: ({
103
+ type: "text";
104
+ text: string;
105
+ } | {
106
+ type: "diff";
107
+ path: string;
108
+ oldText?: string | undefined;
109
+ newText: string;
110
+ truncated?: boolean | undefined;
111
+ })[] | undefined;
112
+ locations?: {
113
+ path: string;
114
+ line?: number | undefined;
115
+ }[] | undefined;
116
+ } | {
117
+ kind: "terminal";
118
+ session: string;
119
+ } | {
120
+ kind: "todos";
121
+ items: {
122
+ content: string;
123
+ status: "completed" | "in_progress" | "pending";
124
+ activeForm?: string | undefined;
125
+ }[];
126
+ } | {
127
+ kind: "commands";
128
+ items: {
129
+ name: string;
85
130
  description: string;
86
- preview?: string | undefined;
131
+ hint?: string | undefined;
87
132
  }[];
88
- }[];
89
- } | {
90
- kind: "error";
91
- message: string;
92
- code?: "session-not-found" | "rate_limit" | undefined;
133
+ } | {
134
+ kind: "usage";
135
+ account?: string | undefined;
136
+ costUsd?: number | undefined;
137
+ inputTokens?: number | undefined;
138
+ outputTokens?: number | undefined;
139
+ cacheReadTokens?: number | undefined;
140
+ cacheCreationTokens?: number | undefined;
141
+ durationMs?: number | undefined;
142
+ numTurns?: number | undefined;
143
+ } | {
144
+ status: "allowed" | "allowed_warning" | "rejected";
145
+ resetsAt?: number | undefined;
146
+ rateLimitType?: string | undefined;
147
+ utilization?: number | undefined;
148
+ kind: "rate_limit_info";
149
+ account?: string | undefined;
150
+ } | {
151
+ tokens: number;
152
+ contextWindow: number;
153
+ kind: "context_usage";
154
+ } | {
155
+ kind: "compact";
156
+ trigger: string;
157
+ preTokens?: number | undefined;
158
+ postTokens?: number | undefined;
159
+ } | {
160
+ kind: "plan";
161
+ decisionId: string;
162
+ text: string;
163
+ } | {
164
+ kind: "question";
165
+ requestId: string;
166
+ questions: {
167
+ question: string;
168
+ header: string;
169
+ multiSelect: boolean;
170
+ options: {
171
+ label: string;
172
+ description: string;
173
+ preview?: string | undefined;
174
+ }[];
175
+ }[];
176
+ } | {
177
+ kind: "error";
178
+ message: string;
179
+ code?: "agent-busy" | "codex-model-invalid" | "codex-reauth" | "grok-model-invalid" | "rate_limit" | "session-not-found" | "subscription-required" | undefined;
180
+ } | {
181
+ kind: "done";
182
+ };
93
183
  } | {
94
- kind: "done";
184
+ kind: "end";
95
185
  }, unknown, void>, import("@orpc/contract").AsyncIteratorClass<{
96
- kind: "session";
97
- sessionId: string;
98
- } | {
99
- kind: "init";
100
- model: string;
101
- } | {
102
- kind: "delta";
103
- text: string;
104
- parentToolUseId?: string | undefined;
186
+ kind: "attached";
187
+ run: string;
188
+ prompt: string;
189
+ startedAt: number;
190
+ seq: number;
105
191
  } | {
106
- kind: "thinking";
107
- text: string;
108
- parentToolUseId?: string | undefined;
109
- } | {
110
- kind: "tool";
111
- name: string;
112
- id?: string | undefined;
113
- target?: string | undefined;
114
- parentToolUseId?: string | undefined;
115
- } | {
116
- kind: "tool_result";
117
- output: string;
118
- id?: string | undefined;
119
- isError?: boolean | undefined;
120
- } | {
121
- kind: "terminal";
122
- session: string;
123
- } | {
124
- kind: "todos";
125
- items: {
126
- content: string;
127
- status: "pending" | "in_progress" | "completed";
128
- activeForm?: string | undefined;
129
- }[];
130
- } | {
131
- kind: "usage";
132
- costUsd?: number | undefined;
133
- inputTokens?: number | undefined;
134
- outputTokens?: number | undefined;
135
- durationMs?: number | undefined;
136
- numTurns?: number | undefined;
137
- } | {
138
- status: "allowed" | "allowed_warning" | "rejected";
139
- kind: "rate_limit_info";
140
- resetsAt?: number | undefined;
141
- rateLimitType?: string | undefined;
142
- utilization?: number | undefined;
143
- } | {
144
- tokens: number;
145
- contextWindow: number;
146
- kind: "context_usage";
147
- } | {
148
- kind: "compact";
149
- trigger: string;
150
- preTokens?: number | undefined;
151
- postTokens?: number | undefined;
152
- } | {
153
- kind: "plan";
154
- decisionId: string;
155
- text: string;
156
- } | {
157
- kind: "question";
158
- requestId: string;
159
- questions: {
160
- question: string;
161
- header: string;
162
- multiSelect: boolean;
163
- options: {
164
- label: string;
192
+ kind: "frame";
193
+ seq: number;
194
+ event: {
195
+ kind: "session";
196
+ sessionId: string;
197
+ } | {
198
+ kind: "worktree";
199
+ branch: string;
200
+ base: string;
201
+ } | {
202
+ kind: "landed";
203
+ landed: boolean;
204
+ conflicts?: {
205
+ repo: string;
206
+ paths: string[];
207
+ }[] | undefined;
208
+ } | {
209
+ kind: "init";
210
+ model: string;
211
+ } | {
212
+ kind: "checkpoint";
213
+ id: string;
214
+ } | {
215
+ kind: "delta";
216
+ text: string;
217
+ parentToolUseId?: string | undefined;
218
+ } | {
219
+ kind: "thinking";
220
+ text: string;
221
+ parentToolUseId?: string | undefined;
222
+ } | {
223
+ kind: "tool_call";
224
+ id: string;
225
+ name: string;
226
+ category: "delete" | "edit" | "execute" | "fetch" | "move" | "other" | "read" | "search" | "think";
227
+ status: "completed" | "failed" | "in_progress" | "pending";
228
+ target?: string | undefined;
229
+ locations?: {
230
+ path: string;
231
+ line?: number | undefined;
232
+ }[] | undefined;
233
+ content?: ({
234
+ type: "text";
235
+ text: string;
236
+ } | {
237
+ type: "diff";
238
+ path: string;
239
+ oldText?: string | undefined;
240
+ newText: string;
241
+ truncated?: boolean | undefined;
242
+ })[] | undefined;
243
+ parentToolUseId?: string | undefined;
244
+ } | {
245
+ kind: "tool_call_update";
246
+ id: string;
247
+ status?: "completed" | "failed" | "in_progress" | "pending" | undefined;
248
+ content?: ({
249
+ type: "text";
250
+ text: string;
251
+ } | {
252
+ type: "diff";
253
+ path: string;
254
+ oldText?: string | undefined;
255
+ newText: string;
256
+ truncated?: boolean | undefined;
257
+ })[] | undefined;
258
+ locations?: {
259
+ path: string;
260
+ line?: number | undefined;
261
+ }[] | undefined;
262
+ } | {
263
+ kind: "terminal";
264
+ session: string;
265
+ } | {
266
+ kind: "todos";
267
+ items: {
268
+ content: string;
269
+ status: "completed" | "in_progress" | "pending";
270
+ activeForm?: string | undefined;
271
+ }[];
272
+ } | {
273
+ kind: "commands";
274
+ items: {
275
+ name: string;
165
276
  description: string;
166
- preview?: string | undefined;
277
+ hint?: string | undefined;
167
278
  }[];
168
- }[];
169
- } | {
170
- kind: "error";
171
- message: string;
172
- code?: "session-not-found" | "rate_limit" | undefined;
279
+ } | {
280
+ kind: "usage";
281
+ account?: string | undefined;
282
+ costUsd?: number | undefined;
283
+ inputTokens?: number | undefined;
284
+ outputTokens?: number | undefined;
285
+ cacheReadTokens?: number | undefined;
286
+ cacheCreationTokens?: number | undefined;
287
+ durationMs?: number | undefined;
288
+ numTurns?: number | undefined;
289
+ } | {
290
+ status: "allowed" | "allowed_warning" | "rejected";
291
+ resetsAt?: number | undefined;
292
+ rateLimitType?: string | undefined;
293
+ utilization?: number | undefined;
294
+ kind: "rate_limit_info";
295
+ account?: string | undefined;
296
+ } | {
297
+ tokens: number;
298
+ contextWindow: number;
299
+ kind: "context_usage";
300
+ } | {
301
+ kind: "compact";
302
+ trigger: string;
303
+ preTokens?: number | undefined;
304
+ postTokens?: number | undefined;
305
+ } | {
306
+ kind: "plan";
307
+ decisionId: string;
308
+ text: string;
309
+ } | {
310
+ kind: "question";
311
+ requestId: string;
312
+ questions: {
313
+ question: string;
314
+ header: string;
315
+ multiSelect: boolean;
316
+ options: {
317
+ label: string;
318
+ description: string;
319
+ preview?: string | undefined;
320
+ }[];
321
+ }[];
322
+ } | {
323
+ kind: "error";
324
+ message: string;
325
+ code?: "agent-busy" | "codex-model-invalid" | "codex-reauth" | "grok-model-invalid" | "rate_limit" | "session-not-found" | "subscription-required" | undefined;
326
+ } | {
327
+ kind: "done";
328
+ };
173
329
  } | {
174
- kind: "done";
330
+ kind: "end";
175
331
  }, unknown, void>>, Record<never, never>, Record<never, never>>;
176
332
  decision: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
177
333
  decisionId: import("zod").ZodString;
@@ -187,5 +343,16 @@ export declare const agentContract: {
187
343
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
188
344
  ok: import("zod").ZodLiteral<true>;
189
345
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
346
+ steer: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
347
+ conversationId: import("zod").ZodString;
348
+ text: import("zod").ZodString;
349
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
350
+ ok: import("zod").ZodLiteral<true>;
351
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
352
+ stop: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
353
+ conversationId: import("zod").ZodString;
354
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
355
+ ok: import("zod").ZodLiteral<true>;
356
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
190
357
  };
191
358
  //# sourceMappingURL=agent.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIzB,CAAC"}
1
+ {"version":3,"file":"agent.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa;IACtB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACN,QAAQ;;;;;;;IACR,MAAM;;;;;;;IACN,KAAK;;;;;;IACL,IAAI;;;;;CACP,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { eventIterator, oc } from "@orpc/contract";
2
- import { AgentEventSchema } from "../events.js";
3
- import { AgentTurnSchema, AnswerSchema, DecisionSchema, OkSchema } from "../schemas.js";
2
+ import { AttachFrameSchema } from "../events.js";
3
+ import { AgentTurnSchema, AnswerSchema, AttachTurnSchema, DecisionSchema, OkSchema, StartedTurnSchema, SteerSchema, StopTurnSchema } from "../schemas.js";
4
4
  export const agentContract = {
5
- run: oc.route({ method: "POST", path: "/agent" }).input(AgentTurnSchema).output(eventIterator(AgentEventSchema)),
5
+ run: oc.route({ method: "POST", path: "/agent" }).input(AgentTurnSchema).output(StartedTurnSchema),
6
+ attach: oc.route({ method: "POST", path: "/agent/attach" }).input(AttachTurnSchema).output(eventIterator(AttachFrameSchema)),
6
7
  decision: oc.route({ method: "POST", path: "/agent/decision" }).input(DecisionSchema).output(OkSchema),
7
8
  answer: oc.route({ method: "POST", path: "/agent/answer" }).input(AnswerSchema).output(OkSchema),
9
+ steer: oc.route({ method: "POST", path: "/agent/steer" }).input(SteerSchema).output(OkSchema),
10
+ stop: oc.route({ method: "POST", path: "/agent/stop" }).input(StopTurnSchema).output(OkSchema),
8
11
  };
9
12
  //# sourceMappingURL=agent.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.contract.js","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIxF,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAChH,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACtG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACnG,CAAC"}
1
+ {"version":3,"file":"agent.contract.js","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO1J,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAClG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC5H,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACtG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7F,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACjG,CAAC"}