@intentic/sandbox-contract 1.125.0 → 1.126.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 (109) 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 +3 -1
  6. package/dist/contracts/activity.contract.d.ts.map +1 -1
  7. package/dist/contracts/agent.contract.d.ts +156 -20
  8. package/dist/contracts/agent.contract.d.ts.map +1 -1
  9. package/dist/contracts/agent.contract.js +3 -1
  10. package/dist/contracts/agent.contract.js.map +1 -1
  11. package/dist/contracts/agents.contract.d.ts +191 -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 +17 -17
  16. package/dist/contracts/capabilities.contract.d.ts +34 -76
  17. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  18. package/dist/contracts/capabilities.contract.js +2 -1
  19. package/dist/contracts/capabilities.contract.js.map +1 -1
  20. package/dist/contracts/claude.contract.d.ts +26 -5
  21. package/dist/contracts/claude.contract.d.ts.map +1 -1
  22. package/dist/contracts/claude.contract.js +4 -3
  23. package/dist/contracts/claude.contract.js.map +1 -1
  24. package/dist/contracts/codex.contract.d.ts +30 -6
  25. package/dist/contracts/codex.contract.d.ts.map +1 -1
  26. package/dist/contracts/codex.contract.js +5 -4
  27. package/dist/contracts/codex.contract.js.map +1 -1
  28. package/dist/contracts/extensions.contract.d.ts +153 -0
  29. package/dist/contracts/extensions.contract.d.ts.map +1 -0
  30. package/dist/contracts/extensions.contract.js +14 -0
  31. package/dist/contracts/extensions.contract.js.map +1 -0
  32. package/dist/contracts/git.contract.d.ts +151 -0
  33. package/dist/contracts/git.contract.d.ts.map +1 -1
  34. package/dist/contracts/git.contract.js +17 -1
  35. package/dist/contracts/git.contract.js.map +1 -1
  36. package/dist/contracts/grok.contract.d.ts +20 -11
  37. package/dist/contracts/grok.contract.d.ts.map +1 -1
  38. package/dist/contracts/grok.contract.js +5 -5
  39. package/dist/contracts/grok.contract.js.map +1 -1
  40. package/dist/contracts/history.contract.d.ts +2 -8
  41. package/dist/contracts/history.contract.d.ts.map +1 -1
  42. package/dist/contracts/history.contract.js +3 -4
  43. package/dist/contracts/history.contract.js.map +1 -1
  44. package/dist/contracts/intentic.contract.d.ts +7 -0
  45. package/dist/contracts/intentic.contract.d.ts.map +1 -1
  46. package/dist/contracts/intentic.contract.js +1 -0
  47. package/dist/contracts/intentic.contract.js.map +1 -1
  48. package/dist/contracts/ports.contract.d.ts +31 -0
  49. package/dist/contracts/ports.contract.d.ts.map +1 -0
  50. package/dist/contracts/ports.contract.js +8 -0
  51. package/dist/contracts/ports.contract.js.map +1 -0
  52. package/dist/contracts/secrets.contract.d.ts +2 -1
  53. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  54. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  55. package/dist/contracts/sessions.contract.js +4 -1
  56. package/dist/contracts/sessions.contract.js.map +1 -1
  57. package/dist/contracts/settings.contract.d.ts +41 -2
  58. package/dist/contracts/settings.contract.d.ts.map +1 -1
  59. package/dist/contracts/settings.contract.js +2 -1
  60. package/dist/contracts/settings.contract.js.map +1 -1
  61. package/dist/contracts/system.contract.d.ts +100 -0
  62. package/dist/contracts/system.contract.d.ts.map +1 -1
  63. package/dist/contracts/system.contract.js +2 -1
  64. package/dist/contracts/system.contract.js.map +1 -1
  65. package/dist/contracts/translator.contract.d.ts +25 -0
  66. package/dist/contracts/translator.contract.d.ts.map +1 -0
  67. package/dist/contracts/translator.contract.js +15 -0
  68. package/dist/contracts/translator.contract.js.map +1 -0
  69. package/dist/contracts/workspace.contract.d.ts +88 -7
  70. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  71. package/dist/contracts/workspace.contract.js +5 -3
  72. package/dist/contracts/workspace.contract.js.map +1 -1
  73. package/dist/effects.d.ts +42 -0
  74. package/dist/effects.d.ts.map +1 -0
  75. package/dist/effects.js +77 -0
  76. package/dist/effects.js.map +1 -0
  77. package/dist/events.d.ts +234 -8
  78. package/dist/events.d.ts.map +1 -1
  79. package/dist/events.js +72 -6
  80. package/dist/events.js.map +1 -1
  81. package/dist/hostnames.d.ts +20 -0
  82. package/dist/hostnames.d.ts.map +1 -0
  83. package/dist/hostnames.js +47 -0
  84. package/dist/hostnames.js.map +1 -0
  85. package/dist/index.d.ts +1082 -154
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +18 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/model-metadata.d.ts +7 -0
  90. package/dist/model-metadata.d.ts.map +1 -0
  91. package/dist/model-metadata.js +18 -0
  92. package/dist/model-metadata.js.map +1 -0
  93. package/dist/schemas.d.ts +1066 -245
  94. package/dist/schemas.d.ts.map +1 -1
  95. package/dist/schemas.js +300 -66
  96. package/dist/schemas.js.map +1 -1
  97. package/dist/sse.d.ts +3 -0
  98. package/dist/sse.d.ts.map +1 -0
  99. package/dist/sse.js +35 -0
  100. package/dist/sse.js.map +1 -0
  101. package/dist/terminal-protocol.d.ts +20 -0
  102. package/dist/terminal-protocol.d.ts.map +1 -0
  103. package/dist/terminal-protocol.js +2 -0
  104. package/dist/terminal-protocol.js.map +1 -0
  105. package/dist/tunnel-ids.d.ts +2 -0
  106. package/dist/tunnel-ids.d.ts.map +1 -1
  107. package/dist/tunnel-ids.js +3 -1
  108. package/dist/tunnel-ids.js.map +1 -1
  109. package/package.json +8 -4
@@ -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,GAAI,UAAU,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,GAAI,UAAU,aAAa,EAAE,SAAS,YAAY,KAAG,OAAwD,CAAC;AAQ1I,eAAO,MAAM,SAAS,GAAI,UAAU,aAAa,EAAE,SAAS,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,6 +8,7 @@ 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
13
  out: "out";
13
14
  in: "in";
@@ -22,8 +23,8 @@ export declare const activityContract: {
22
23
  sessionId: import("zod").ZodOptional<import("zod").ZodString>;
23
24
  automationIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
24
25
  outcome: import("zod").ZodOptional<import("zod").ZodEnum<{
25
- error: "error";
26
26
  ok: "ok";
27
+ error: "error";
27
28
  }>>;
28
29
  error: import("zod").ZodOptional<import("zod").ZodString>;
29
30
  extra: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
@@ -34,6 +35,7 @@ export declare const activityContract: {
34
35
  capabilityId: import("zod").ZodString;
35
36
  provider: import("zod").ZodString;
36
37
  gateway: import("zod").ZodEnum<{
38
+ idle: "idle";
37
39
  ready: "ready";
38
40
  connecting: "connecting";
39
41
  disconnected: "disconnected";
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG5B,CAAC"}
@@ -1,23 +1,54 @@
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
+ native: "native";
9
+ "claude-code": "claude-code";
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
+ user: "user";
18
+ assistant: "assistant";
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>>;
15
32
  }, import("zod/v4/core").$strip>, import("@orpc/contract").Schema<AsyncIteratorObject<{
16
33
  kind: "session";
17
34
  sessionId: string;
35
+ } | {
36
+ kind: "worktree";
37
+ branch: string;
38
+ base: string;
39
+ } | {
40
+ kind: "landed";
41
+ landed: boolean;
42
+ conflicts?: {
43
+ repo: string;
44
+ paths: string[];
45
+ }[] | undefined;
18
46
  } | {
19
47
  kind: "init";
20
48
  model: string;
49
+ } | {
50
+ kind: "checkpoint";
51
+ id: string;
21
52
  } | {
22
53
  kind: "delta";
23
54
  text: string;
@@ -27,16 +58,45 @@ export declare const agentContract: {
27
58
  text: string;
28
59
  parentToolUseId?: string | undefined;
29
60
  } | {
30
- kind: "tool";
61
+ kind: "tool_call";
62
+ id: string;
31
63
  name: string;
32
- id?: string | undefined;
64
+ category: "other" | "search" | "fetch" | "read" | "edit" | "delete" | "move" | "execute" | "think";
65
+ status: "pending" | "completed" | "failed" | "in_progress";
33
66
  target?: string | undefined;
67
+ locations?: {
68
+ path: string;
69
+ line?: number | undefined;
70
+ }[] | undefined;
71
+ content?: ({
72
+ type: "text";
73
+ text: string;
74
+ } | {
75
+ type: "diff";
76
+ path: string;
77
+ newText: string;
78
+ oldText?: string | undefined;
79
+ truncated?: boolean | undefined;
80
+ })[] | undefined;
34
81
  parentToolUseId?: string | undefined;
35
82
  } | {
36
- kind: "tool_result";
37
- output: string;
38
- id?: string | undefined;
39
- isError?: boolean | undefined;
83
+ kind: "tool_call_update";
84
+ id: string;
85
+ status?: "pending" | "completed" | "failed" | "in_progress" | undefined;
86
+ content?: ({
87
+ type: "text";
88
+ text: string;
89
+ } | {
90
+ type: "diff";
91
+ path: string;
92
+ newText: string;
93
+ oldText?: string | undefined;
94
+ truncated?: boolean | undefined;
95
+ })[] | undefined;
96
+ locations?: {
97
+ path: string;
98
+ line?: number | undefined;
99
+ }[] | undefined;
40
100
  } | {
41
101
  kind: "terminal";
42
102
  session: string;
@@ -44,14 +104,24 @@ export declare const agentContract: {
44
104
  kind: "todos";
45
105
  items: {
46
106
  content: string;
47
- status: "pending" | "in_progress" | "completed";
107
+ status: "pending" | "completed" | "in_progress";
48
108
  activeForm?: string | undefined;
49
109
  }[];
110
+ } | {
111
+ kind: "commands";
112
+ items: {
113
+ name: string;
114
+ description: string;
115
+ hint?: string | undefined;
116
+ }[];
50
117
  } | {
51
118
  kind: "usage";
119
+ account?: string | undefined;
52
120
  costUsd?: number | undefined;
53
121
  inputTokens?: number | undefined;
54
122
  outputTokens?: number | undefined;
123
+ cacheReadTokens?: number | undefined;
124
+ cacheCreationTokens?: number | undefined;
55
125
  durationMs?: number | undefined;
56
126
  numTurns?: number | undefined;
57
127
  } | {
@@ -60,6 +130,7 @@ export declare const agentContract: {
60
130
  resetsAt?: number | undefined;
61
131
  rateLimitType?: string | undefined;
62
132
  utilization?: number | undefined;
133
+ account?: string | undefined;
63
134
  } | {
64
135
  tokens: number;
65
136
  contextWindow: number;
@@ -89,15 +160,29 @@ export declare const agentContract: {
89
160
  } | {
90
161
  kind: "error";
91
162
  message: string;
92
- code?: "session-not-found" | "rate_limit" | undefined;
163
+ code?: "session-not-found" | "rate_limit" | "codex-reauth" | "grok-model-invalid" | "codex-model-invalid" | "subscription-required" | "agent-busy" | undefined;
93
164
  } | {
94
165
  kind: "done";
95
166
  }, unknown, void>, import("@orpc/contract").AsyncIteratorClass<{
96
167
  kind: "session";
97
168
  sessionId: string;
169
+ } | {
170
+ kind: "worktree";
171
+ branch: string;
172
+ base: string;
173
+ } | {
174
+ kind: "landed";
175
+ landed: boolean;
176
+ conflicts?: {
177
+ repo: string;
178
+ paths: string[];
179
+ }[] | undefined;
98
180
  } | {
99
181
  kind: "init";
100
182
  model: string;
183
+ } | {
184
+ kind: "checkpoint";
185
+ id: string;
101
186
  } | {
102
187
  kind: "delta";
103
188
  text: string;
@@ -107,16 +192,45 @@ export declare const agentContract: {
107
192
  text: string;
108
193
  parentToolUseId?: string | undefined;
109
194
  } | {
110
- kind: "tool";
195
+ kind: "tool_call";
196
+ id: string;
111
197
  name: string;
112
- id?: string | undefined;
198
+ category: "other" | "search" | "fetch" | "read" | "edit" | "delete" | "move" | "execute" | "think";
199
+ status: "pending" | "completed" | "failed" | "in_progress";
113
200
  target?: string | undefined;
201
+ locations?: {
202
+ path: string;
203
+ line?: number | undefined;
204
+ }[] | undefined;
205
+ content?: ({
206
+ type: "text";
207
+ text: string;
208
+ } | {
209
+ type: "diff";
210
+ path: string;
211
+ newText: string;
212
+ oldText?: string | undefined;
213
+ truncated?: boolean | undefined;
214
+ })[] | undefined;
114
215
  parentToolUseId?: string | undefined;
115
216
  } | {
116
- kind: "tool_result";
117
- output: string;
118
- id?: string | undefined;
119
- isError?: boolean | undefined;
217
+ kind: "tool_call_update";
218
+ id: string;
219
+ status?: "pending" | "completed" | "failed" | "in_progress" | undefined;
220
+ content?: ({
221
+ type: "text";
222
+ text: string;
223
+ } | {
224
+ type: "diff";
225
+ path: string;
226
+ newText: string;
227
+ oldText?: string | undefined;
228
+ truncated?: boolean | undefined;
229
+ })[] | undefined;
230
+ locations?: {
231
+ path: string;
232
+ line?: number | undefined;
233
+ }[] | undefined;
120
234
  } | {
121
235
  kind: "terminal";
122
236
  session: string;
@@ -124,14 +238,24 @@ export declare const agentContract: {
124
238
  kind: "todos";
125
239
  items: {
126
240
  content: string;
127
- status: "pending" | "in_progress" | "completed";
241
+ status: "pending" | "completed" | "in_progress";
128
242
  activeForm?: string | undefined;
129
243
  }[];
244
+ } | {
245
+ kind: "commands";
246
+ items: {
247
+ name: string;
248
+ description: string;
249
+ hint?: string | undefined;
250
+ }[];
130
251
  } | {
131
252
  kind: "usage";
253
+ account?: string | undefined;
132
254
  costUsd?: number | undefined;
133
255
  inputTokens?: number | undefined;
134
256
  outputTokens?: number | undefined;
257
+ cacheReadTokens?: number | undefined;
258
+ cacheCreationTokens?: number | undefined;
135
259
  durationMs?: number | undefined;
136
260
  numTurns?: number | undefined;
137
261
  } | {
@@ -140,6 +264,7 @@ export declare const agentContract: {
140
264
  resetsAt?: number | undefined;
141
265
  rateLimitType?: string | undefined;
142
266
  utilization?: number | undefined;
267
+ account?: string | undefined;
143
268
  } | {
144
269
  tokens: number;
145
270
  contextWindow: number;
@@ -169,7 +294,7 @@ export declare const agentContract: {
169
294
  } | {
170
295
  kind: "error";
171
296
  message: string;
172
- code?: "session-not-found" | "rate_limit" | undefined;
297
+ code?: "session-not-found" | "rate_limit" | "codex-reauth" | "grok-model-invalid" | "codex-model-invalid" | "subscription-required" | "agent-busy" | undefined;
173
298
  } | {
174
299
  kind: "done";
175
300
  }, unknown, void>>, Record<never, never>, Record<never, never>>;
@@ -187,5 +312,16 @@ export declare const agentContract: {
187
312
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
188
313
  ok: import("zod").ZodLiteral<true>;
189
314
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
315
+ steer: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
316
+ conversationId: import("zod").ZodString;
317
+ text: import("zod").ZodString;
318
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
319
+ ok: import("zod").ZodLiteral<true>;
320
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
321
+ stop: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
322
+ conversationId: import("zod").ZodString;
323
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
324
+ ok: import("zod").ZodLiteral<true>;
325
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
190
326
  };
191
327
  //# 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":"AAOA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { eventIterator, oc } from "@orpc/contract";
2
2
  import { AgentEventSchema } from "../events.js";
3
- import { AgentTurnSchema, AnswerSchema, DecisionSchema, OkSchema } from "../schemas.js";
3
+ import { AgentTurnSchema, AnswerSchema, DecisionSchema, OkSchema, SteerSchema, StopTurnSchema } from "../schemas.js";
4
4
  export const agentContract = {
5
5
  run: oc.route({ method: "POST", path: "/agent" }).input(AgentTurnSchema).output(eventIterator(AgentEventSchema)),
6
6
  decision: oc.route({ method: "POST", path: "/agent/decision" }).input(DecisionSchema).output(OkSchema),
7
7
  answer: oc.route({ method: "POST", path: "/agent/answer" }).input(AnswerSchema).output(OkSchema),
8
+ steer: oc.route({ method: "POST", path: "/agent/steer" }).input(SteerSchema).output(OkSchema),
9
+ stop: oc.route({ method: "POST", path: "/agent/stop" }).input(StopTurnSchema).output(OkSchema),
8
10
  };
9
11
  //# 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,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKrH,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;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"}
@@ -0,0 +1,191 @@
1
+ export declare const agentsContract: {
2
+ list: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
3
+ agents: import("zod").ZodArray<import("zod").ZodObject<{
4
+ id: import("zod").ZodString;
5
+ sessionId: import("zod").ZodOptional<import("zod").ZodString>;
6
+ title: import("zod").ZodOptional<import("zod").ZodString>;
7
+ status: import("zod").ZodEnum<{
8
+ error: "error";
9
+ idle: "idle";
10
+ running: "running";
11
+ awaiting: "awaiting";
12
+ landed: "landed";
13
+ conflict: "conflict";
14
+ }>;
15
+ provider: import("zod").ZodString;
16
+ harness: import("zod").ZodEnum<{
17
+ native: "native";
18
+ "claude-code": "claude-code";
19
+ }>;
20
+ model: import("zod").ZodOptional<import("zod").ZodString>;
21
+ account: import("zod").ZodOptional<import("zod").ZodString>;
22
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
23
+ base: import("zod").ZodOptional<import("zod").ZodString>;
24
+ costUsd: import("zod").ZodOptional<import("zod").ZodNumber>;
25
+ inputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
26
+ outputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
27
+ contextTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
28
+ contextWindow: import("zod").ZodOptional<import("zod").ZodNumber>;
29
+ activity: import("zod").ZodOptional<import("zod").ZodObject<{
30
+ tool: import("zod").ZodOptional<import("zod").ZodString>;
31
+ target: import("zod").ZodOptional<import("zod").ZodString>;
32
+ todo: import("zod").ZodOptional<import("zod").ZodString>;
33
+ }, import("zod/v4/core").$strip>>;
34
+ startedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
35
+ updatedAt: import("zod").ZodNumber;
36
+ attention: import("zod").ZodObject<{
37
+ plan: import("zod").ZodBoolean;
38
+ question: import("zod").ZodBoolean;
39
+ conflict: import("zod").ZodBoolean;
40
+ }, import("zod/v4/core").$strip>;
41
+ turns: import("zod").ZodOptional<import("zod").ZodNumber>;
42
+ toolUses: import("zod").ZodOptional<import("zod").ZodNumber>;
43
+ diff: import("zod").ZodOptional<import("zod").ZodObject<{
44
+ files: import("zod").ZodNumber;
45
+ insertions: import("zod").ZodNumber;
46
+ deletions: import("zod").ZodNumber;
47
+ }, import("zod/v4/core").$strip>>;
48
+ }, import("zod/v4/core").$strip>>;
49
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
50
+ get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
51
+ id: import("zod").ZodString;
52
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
53
+ id: import("zod").ZodString;
54
+ sessionId: import("zod").ZodOptional<import("zod").ZodString>;
55
+ title: import("zod").ZodOptional<import("zod").ZodString>;
56
+ status: import("zod").ZodEnum<{
57
+ error: "error";
58
+ idle: "idle";
59
+ running: "running";
60
+ awaiting: "awaiting";
61
+ landed: "landed";
62
+ conflict: "conflict";
63
+ }>;
64
+ provider: import("zod").ZodString;
65
+ harness: import("zod").ZodEnum<{
66
+ native: "native";
67
+ "claude-code": "claude-code";
68
+ }>;
69
+ model: import("zod").ZodOptional<import("zod").ZodString>;
70
+ account: import("zod").ZodOptional<import("zod").ZodString>;
71
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
72
+ base: import("zod").ZodOptional<import("zod").ZodString>;
73
+ costUsd: import("zod").ZodOptional<import("zod").ZodNumber>;
74
+ inputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
75
+ outputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
76
+ contextTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
77
+ contextWindow: import("zod").ZodOptional<import("zod").ZodNumber>;
78
+ activity: import("zod").ZodOptional<import("zod").ZodObject<{
79
+ tool: import("zod").ZodOptional<import("zod").ZodString>;
80
+ target: import("zod").ZodOptional<import("zod").ZodString>;
81
+ todo: import("zod").ZodOptional<import("zod").ZodString>;
82
+ }, import("zod/v4/core").$strip>>;
83
+ startedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
84
+ updatedAt: import("zod").ZodNumber;
85
+ attention: import("zod").ZodObject<{
86
+ plan: import("zod").ZodBoolean;
87
+ question: import("zod").ZodBoolean;
88
+ conflict: import("zod").ZodBoolean;
89
+ }, import("zod/v4/core").$strip>;
90
+ turns: import("zod").ZodOptional<import("zod").ZodNumber>;
91
+ toolUses: import("zod").ZodOptional<import("zod").ZodNumber>;
92
+ diff: import("zod").ZodOptional<import("zod").ZodObject<{
93
+ files: import("zod").ZodNumber;
94
+ insertions: import("zod").ZodNumber;
95
+ deletions: import("zod").ZodNumber;
96
+ }, import("zod/v4/core").$strip>>;
97
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
98
+ rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
99
+ id: import("zod").ZodString;
100
+ title: import("zod").ZodString;
101
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
102
+ id: import("zod").ZodString;
103
+ sessionId: import("zod").ZodOptional<import("zod").ZodString>;
104
+ title: import("zod").ZodOptional<import("zod").ZodString>;
105
+ status: import("zod").ZodEnum<{
106
+ error: "error";
107
+ idle: "idle";
108
+ running: "running";
109
+ awaiting: "awaiting";
110
+ landed: "landed";
111
+ conflict: "conflict";
112
+ }>;
113
+ provider: import("zod").ZodString;
114
+ harness: import("zod").ZodEnum<{
115
+ native: "native";
116
+ "claude-code": "claude-code";
117
+ }>;
118
+ model: import("zod").ZodOptional<import("zod").ZodString>;
119
+ account: import("zod").ZodOptional<import("zod").ZodString>;
120
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
121
+ base: import("zod").ZodOptional<import("zod").ZodString>;
122
+ costUsd: import("zod").ZodOptional<import("zod").ZodNumber>;
123
+ inputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
124
+ outputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
125
+ contextTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
126
+ contextWindow: import("zod").ZodOptional<import("zod").ZodNumber>;
127
+ activity: import("zod").ZodOptional<import("zod").ZodObject<{
128
+ tool: import("zod").ZodOptional<import("zod").ZodString>;
129
+ target: import("zod").ZodOptional<import("zod").ZodString>;
130
+ todo: import("zod").ZodOptional<import("zod").ZodString>;
131
+ }, import("zod/v4/core").$strip>>;
132
+ startedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
133
+ updatedAt: import("zod").ZodNumber;
134
+ attention: import("zod").ZodObject<{
135
+ plan: import("zod").ZodBoolean;
136
+ question: import("zod").ZodBoolean;
137
+ conflict: import("zod").ZodBoolean;
138
+ }, import("zod/v4/core").$strip>;
139
+ turns: import("zod").ZodOptional<import("zod").ZodNumber>;
140
+ toolUses: import("zod").ZodOptional<import("zod").ZodNumber>;
141
+ diff: import("zod").ZodOptional<import("zod").ZodObject<{
142
+ files: import("zod").ZodNumber;
143
+ insertions: import("zod").ZodNumber;
144
+ deletions: import("zod").ZodNumber;
145
+ }, import("zod/v4/core").$strip>>;
146
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
147
+ diff: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
148
+ id: import("zod").ZodString;
149
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
150
+ repos: import("zod").ZodArray<import("zod").ZodObject<{
151
+ repo: import("zod").ZodString;
152
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
153
+ changes: import("zod").ZodArray<import("zod").ZodObject<{
154
+ path: import("zod").ZodString;
155
+ status: import("zod").ZodEnum<{
156
+ added: "added";
157
+ modified: "modified";
158
+ deleted: "deleted";
159
+ renamed: "renamed";
160
+ "type-changed": "type-changed";
161
+ }>;
162
+ from: import("zod").ZodOptional<import("zod").ZodString>;
163
+ }, import("zod/v4/core").$strip>>;
164
+ }, import("zod/v4/core").$strip>>;
165
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
166
+ fileDiff: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
167
+ id: import("zod").ZodString;
168
+ repo: import("zod").ZodString;
169
+ path: import("zod").ZodString;
170
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
171
+ before: import("zod").ZodOptional<import("zod").ZodString>;
172
+ after: import("zod").ZodOptional<import("zod").ZodString>;
173
+ binary: import("zod").ZodOptional<import("zod").ZodBoolean>;
174
+ truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
175
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
176
+ land: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
177
+ id: import("zod").ZodString;
178
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
179
+ landed: import("zod").ZodBoolean;
180
+ conflicts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
181
+ repo: import("zod").ZodString;
182
+ paths: import("zod").ZodArray<import("zod").ZodString>;
183
+ }, import("zod/v4/core").$strip>>>;
184
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
185
+ discard: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
186
+ id: import("zod").ZodString;
187
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
188
+ ok: import("zod").ZodLiteral<true>;
189
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
190
+ };
191
+ //# sourceMappingURL=agents.contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/agents.contract.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { oc } from "@orpc/contract";
2
+ import { AgentFileDiffQuerySchema, AgentIdSchema, AgentRenameSchema, AgentsListSchema, AgentSummarySchema, FileDiffSchema, GitChangesSchema, LandResultSchema, OkSchema, } from "../schemas.js";
3
+ export const agentsContract = {
4
+ list: oc.route({ method: "GET", path: "/agents" }).output(AgentsListSchema),
5
+ get: oc.route({ method: "GET", path: "/agents/{id}" }).input(AgentIdSchema).output(AgentSummarySchema),
6
+ rename: oc.route({ method: "POST", path: "/agents/{id}/rename" }).input(AgentRenameSchema).output(AgentSummarySchema),
7
+ diff: oc.route({ method: "GET", path: "/agents/{id}/diff" }).input(AgentIdSchema).output(GitChangesSchema),
8
+ fileDiff: oc.route({ method: "GET", path: "/agents/{id}/{repo}/file-diff" }).input(AgentFileDiffQuerySchema).output(FileDiffSchema),
9
+ land: oc.route({ method: "POST", path: "/agents/{id}/land" }).input(AgentIdSchema).output(LandResultSchema),
10
+ discard: oc.route({ method: "POST", path: "/agents/{id}/discard" }).input(AgentIdSchema).output(OkSchema),
11
+ };
12
+ //# sourceMappingURL=agents.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.contract.js","sourceRoot":"","sources":["../../src/contracts/agents.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GACX,MAAM,eAAe,CAAC;AAQvB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC3E,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACtG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACrH,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC1G,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IACnI,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC3G,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC5G,CAAC"}