car-runtime 0.52.1 → 0.54.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.
- package/README.md +47 -0
- package/agent-loop.d.ts +30 -0
- package/agent-loop.js +578 -0
- package/agent-loop.mjs +4 -0
- package/daemon-wrappers.js +6155 -0
- package/docs/ASSISTANT.md +1 -0
- package/docs/CLI.md +449 -19
- package/docs/agent-ir-spec.md +74 -7
- package/index.d.ts +1334 -38
- package/index.js +45 -0
- package/install.js +16 -0
- package/package.json +21 -2
package/index.d.ts
CHANGED
|
@@ -32,6 +32,61 @@
|
|
|
32
32
|
* `ws://127.0.0.1:9100`).
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
/** Agent-loop tool declaration. `timeoutMs` becomes the action budget. */
|
|
36
|
+
export interface AgentToolSchema {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
parameters: Record<string, unknown>;
|
|
40
|
+
timeoutMs?: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface AgentToolContext {
|
|
44
|
+
signal: AbortSignal;
|
|
45
|
+
timeoutMs?: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type AgentTool = (
|
|
49
|
+
params: Record<string, unknown>,
|
|
50
|
+
context: AgentToolContext,
|
|
51
|
+
) => unknown | Promise<unknown>;
|
|
52
|
+
|
|
53
|
+
export type AgentOutcomeStatus =
|
|
54
|
+
| 'success' | 'partial_success' | 'done' | 'give_up' | 'timeout' | 'failure';
|
|
55
|
+
|
|
56
|
+
export interface AgentOutcome {
|
|
57
|
+
status: AgentOutcomeStatus;
|
|
58
|
+
summary: string;
|
|
59
|
+
evidence: Array<{ kind: string; description: string; data: unknown }>;
|
|
60
|
+
metrics: {
|
|
61
|
+
turns: number;
|
|
62
|
+
tool_calls: number;
|
|
63
|
+
actions_succeeded: number;
|
|
64
|
+
actions_failed: number;
|
|
65
|
+
};
|
|
66
|
+
tools_called: string[];
|
|
67
|
+
timestamp: string;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** Declarative input consumed by `car-runtime/agent-loop`. */
|
|
71
|
+
export interface AgentLoopConfig {
|
|
72
|
+
agentId?: string;
|
|
73
|
+
agentName: string;
|
|
74
|
+
identity: string;
|
|
75
|
+
toolSchemas?: AgentToolSchema[];
|
|
76
|
+
tools?: Record<string, AgentTool>;
|
|
77
|
+
policies?: Array<[string, string, string?, string?, string?, string?]>;
|
|
78
|
+
defaultModel?: string | null;
|
|
79
|
+
maxTokens?: number;
|
|
80
|
+
maxTurns?: number;
|
|
81
|
+
targetOutcome?: string;
|
|
82
|
+
standingGoal?: string | null;
|
|
83
|
+
intervalSecs?: number;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface AgentLoopOptions {
|
|
87
|
+
maxTurns?: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
35
90
|
/** Persistent runtime instance with state, memory, tools, and policies. */
|
|
36
91
|
/**
|
|
37
92
|
* Optional settings for `coderStart`. Every field is independently omittable;
|
|
@@ -58,6 +113,30 @@ export interface CoderStartOptions {
|
|
|
58
113
|
* hypothesis, the other buys a retry.
|
|
59
114
|
*/
|
|
60
115
|
transientRetries?: number | undefined | null;
|
|
116
|
+
/**
|
|
117
|
+
* Expose the assistant's browser tools for this coder session. Off unless
|
|
118
|
+
* explicitly true; each browser call still crosses coder policy and is
|
|
119
|
+
* recorded in the session event stream.
|
|
120
|
+
*/
|
|
121
|
+
browser?: boolean | undefined | null;
|
|
122
|
+
/**
|
|
123
|
+
* Farm a **foreman** session's subtasks across every reachable CAR instance
|
|
124
|
+
* that can serve this repository, instead of this machine alone. The
|
|
125
|
+
* merge-verify gate and delivery stay on the orchestrating host — a peer
|
|
126
|
+
* returns a patch and this host gates it — so a distributed run still
|
|
127
|
+
* produces a gated pull request.
|
|
128
|
+
*
|
|
129
|
+
* Only the foreman engine decomposes a goal into subtasks, so any other
|
|
130
|
+
* engine runs locally and says so. Off by default: it spends agent quota on
|
|
131
|
+
* other people's machines.
|
|
132
|
+
*/
|
|
133
|
+
distributed?: boolean | undefined | null;
|
|
134
|
+
/**
|
|
135
|
+
* Restrict placement to these instances by name. Empty or omitted means
|
|
136
|
+
* every instance that reports it can serve the repository. Ignored unless
|
|
137
|
+
* `distributed` is set.
|
|
138
|
+
*/
|
|
139
|
+
workers?: Array<string> | undefined | null;
|
|
61
140
|
/**
|
|
62
141
|
* A `coder.discuss` conversation this run was distilled from. Its agreed
|
|
63
142
|
* constraints ride into contract derivation, so a rule stated once in the
|
|
@@ -68,9 +147,889 @@ export interface CoderStartOptions {
|
|
|
68
147
|
discussionId?: string | undefined | null;
|
|
69
148
|
}
|
|
70
149
|
|
|
150
|
+
export interface DaemonRpcError extends Error {
|
|
151
|
+
/** Numeric JSON-RPC error code returned by the daemon. */
|
|
152
|
+
code: number;
|
|
153
|
+
/** Daemon-provided diagnostic text. */
|
|
154
|
+
message: string;
|
|
155
|
+
/** Optional JSON-RPC error data returned by the daemon. */
|
|
156
|
+
data?: unknown;
|
|
157
|
+
}
|
|
158
|
+
|
|
71
159
|
export class CarRuntime {
|
|
72
160
|
constructor();
|
|
73
161
|
|
|
162
|
+
/**
|
|
163
|
+
* Invoke any daemon JSON-RPC method with a JSON-encoded params value.
|
|
164
|
+
* `daemonCall` is the call-by-name escape hatch; use the typed wrappers as the primary API.
|
|
165
|
+
* The result is returned as JSON. Daemon rejections are `DaemonRpcError`;
|
|
166
|
+
* transport failures reject without a synthetic numeric code.
|
|
167
|
+
*/
|
|
168
|
+
daemonCall(method: string, paramsJson: string): Promise<string>;
|
|
169
|
+
|
|
170
|
+
/** Host-management-token twin of `daemonCall`; the method allowlist remains enforced. */
|
|
171
|
+
daemonCallHostManagement(method: string, paramsJson: string): Promise<string>;
|
|
172
|
+
|
|
173
|
+
/** Register a server-initiated JSON-RPC request handler. */
|
|
174
|
+
registerDaemonHandler(
|
|
175
|
+
method: string,
|
|
176
|
+
handler: (paramsJson: string) => Promise<string>,
|
|
177
|
+
): void;
|
|
178
|
+
|
|
179
|
+
/** Register a server-initiated JSON-RPC notification handler. */
|
|
180
|
+
registerDaemonNotificationHandler(
|
|
181
|
+
method: string,
|
|
182
|
+
handler: (paramsJson: string) => void,
|
|
183
|
+
): void;
|
|
184
|
+
|
|
185
|
+
// BEGIN GENERATED daemon wrappers: CarRuntime
|
|
186
|
+
/** Generated daemon wrapper for `CancelTask` (operator). */
|
|
187
|
+
cancelTask(paramsJson: string): Promise<string>;
|
|
188
|
+
|
|
189
|
+
/** Generated daemon wrapper for `CreateTaskPushNotificationConfig` (operator). */
|
|
190
|
+
createTaskPushNotificationConfig(paramsJson: string): Promise<string>;
|
|
191
|
+
|
|
192
|
+
/** Generated daemon wrapper for `DeleteTaskPushNotificationConfig` (operator). */
|
|
193
|
+
deleteTaskPushNotificationConfig(paramsJson: string): Promise<string>;
|
|
194
|
+
|
|
195
|
+
/** Generated daemon wrapper for `GetExtendedAgentCard` (operator). */
|
|
196
|
+
getExtendedAgentCard(paramsJson: string): Promise<string>;
|
|
197
|
+
|
|
198
|
+
/** Generated daemon wrapper for `GetTask` (operator). */
|
|
199
|
+
getTask(paramsJson: string): Promise<string>;
|
|
200
|
+
|
|
201
|
+
/** Generated daemon wrapper for `GetTaskPushNotificationConfig` (operator). */
|
|
202
|
+
getTaskPushNotificationConfig(paramsJson: string): Promise<string>;
|
|
203
|
+
|
|
204
|
+
/** Generated daemon wrapper for `ListTaskPushNotificationConfigs` (operator). */
|
|
205
|
+
listTaskPushNotificationConfigs(paramsJson: string): Promise<string>;
|
|
206
|
+
|
|
207
|
+
/** Generated daemon wrapper for `ListTasks` (operator). */
|
|
208
|
+
listTasks(paramsJson: string): Promise<string>;
|
|
209
|
+
|
|
210
|
+
/** Generated daemon wrapper for `SendMessage` (operator). */
|
|
211
|
+
sendMessage(paramsJson: string): Promise<string>;
|
|
212
|
+
|
|
213
|
+
/** Generated daemon wrapper for `SendStreamingMessage` (operator). */
|
|
214
|
+
sendStreamingMessage(paramsJson: string): Promise<string>;
|
|
215
|
+
|
|
216
|
+
/** Generated daemon wrapper for `SubscribeToTask` (operator). */
|
|
217
|
+
subscribeToTask(paramsJson: string): Promise<string>;
|
|
218
|
+
|
|
219
|
+
/** Generated daemon wrapper for `a2a.peers.add` (operator). */
|
|
220
|
+
a2aPeersAdd(paramsJson: string): Promise<string>;
|
|
221
|
+
|
|
222
|
+
/** Generated daemon wrapper for `a2a.peers.list` (operator). */
|
|
223
|
+
a2aPeersList(paramsJson: string): Promise<string>;
|
|
224
|
+
|
|
225
|
+
/** Generated daemon wrapper for `a2a.peers.remove` (operator). */
|
|
226
|
+
a2aPeersRemove(paramsJson: string): Promise<string>;
|
|
227
|
+
|
|
228
|
+
/** Generated daemon wrapper for `a2a.send` (operator). */
|
|
229
|
+
a2aSend(paramsJson: string): Promise<string>;
|
|
230
|
+
|
|
231
|
+
/** Generated daemon wrapper for `a2a.start` (operator). */
|
|
232
|
+
a2aStart(paramsJson: string): Promise<string>;
|
|
233
|
+
|
|
234
|
+
/** Generated daemon wrapper for `a2a.status` (operator). */
|
|
235
|
+
a2aStatus(paramsJson: string): Promise<string>;
|
|
236
|
+
|
|
237
|
+
/** Generated daemon wrapper for `a2a.stop` (operator). */
|
|
238
|
+
a2aStop(paramsJson: string): Promise<string>;
|
|
239
|
+
|
|
240
|
+
/** Generated daemon wrapper for `a2ui.action` (operator). */
|
|
241
|
+
a2uiAction(paramsJson: string): Promise<string>;
|
|
242
|
+
|
|
243
|
+
/** Generated daemon wrapper for `a2ui.apply` (operator). */
|
|
244
|
+
a2uiApply(paramsJson: string): Promise<string>;
|
|
245
|
+
|
|
246
|
+
/** Generated daemon wrapper for `a2ui.capabilities` (operator). */
|
|
247
|
+
a2uiCapabilities(paramsJson: string): Promise<string>;
|
|
248
|
+
|
|
249
|
+
/** Generated daemon wrapper for `a2ui.get` (operator). */
|
|
250
|
+
a2uiGet(paramsJson: string): Promise<string>;
|
|
251
|
+
|
|
252
|
+
/** Generated daemon wrapper for `a2ui.ingest` (operator). */
|
|
253
|
+
a2uiIngest(paramsJson: string): Promise<string>;
|
|
254
|
+
|
|
255
|
+
/** Generated daemon wrapper for `a2ui.reap` (operator). */
|
|
256
|
+
a2uiReap(paramsJson: string): Promise<string>;
|
|
257
|
+
|
|
258
|
+
/** Generated daemon wrapper for `a2ui.render_report` (operator). */
|
|
259
|
+
a2uiRenderReport(paramsJson: string): Promise<string>;
|
|
260
|
+
|
|
261
|
+
/** Generated daemon wrapper for `a2ui.surfaces` (operator). */
|
|
262
|
+
a2uiSurfaces(paramsJson: string): Promise<string>;
|
|
263
|
+
|
|
264
|
+
/** Generated daemon wrapper for `a2ui/replay` (operator). */
|
|
265
|
+
a2uiReplay(paramsJson: string): Promise<string>;
|
|
266
|
+
|
|
267
|
+
/** Generated daemon wrapper for `a2ui/subscribe` (operator). */
|
|
268
|
+
a2uiSubscribe(paramsJson: string): Promise<string>;
|
|
269
|
+
|
|
270
|
+
/** Generated daemon wrapper for `a2ui/unsubscribe` (operator). */
|
|
271
|
+
a2uiUnsubscribe(paramsJson: string): Promise<string>;
|
|
272
|
+
|
|
273
|
+
/** Generated daemon wrapper for `admission.status` (operator). */
|
|
274
|
+
admissionStatus(paramsJson: string): Promise<string>;
|
|
275
|
+
|
|
276
|
+
/** Generated daemon wrapper for `agent/getAuthenticatedExtendedCard` (operator). */
|
|
277
|
+
agentGetAuthenticatedExtendedCard(paramsJson: string): Promise<string>;
|
|
278
|
+
|
|
279
|
+
/** Generated daemon wrapper for `agent_permissions.evaluate` (operator). */
|
|
280
|
+
agentPermissionsEvaluate(paramsJson: string): Promise<string>;
|
|
281
|
+
|
|
282
|
+
/** Generated daemon wrapper for `agent_permissions.get` (operator). */
|
|
283
|
+
agentPermissionsGet(paramsJson: string): Promise<string>;
|
|
284
|
+
|
|
285
|
+
/** Generated daemon wrapper for `agents.chat` (agent). */
|
|
286
|
+
agentsChat(paramsJson: string): Promise<string>;
|
|
287
|
+
|
|
288
|
+
/** Generated daemon wrapper for `agents.chat.approve` (operator). */
|
|
289
|
+
agentsChatApprove(paramsJson: string): Promise<string>;
|
|
290
|
+
|
|
291
|
+
/** Generated daemon wrapper for `agents.chat.cancel` (operator). */
|
|
292
|
+
agentsChatCancel(paramsJson: string): Promise<string>;
|
|
293
|
+
|
|
294
|
+
/** Generated daemon wrapper for `agents.detect_external` (operator). */
|
|
295
|
+
agentsDetectExternal(paramsJson: string): Promise<string>;
|
|
296
|
+
|
|
297
|
+
/** Generated daemon wrapper for `agents.health` (operator). */
|
|
298
|
+
agentsHealth(paramsJson: string): Promise<string>;
|
|
299
|
+
|
|
300
|
+
/** Generated daemon wrapper for `agents.health_external` (operator). */
|
|
301
|
+
agentsHealthExternal(paramsJson: string): Promise<string>;
|
|
302
|
+
|
|
303
|
+
/** Generated daemon wrapper for `agents.invoke_external` (operator). */
|
|
304
|
+
agentsInvokeExternal(paramsJson: string): Promise<string>;
|
|
305
|
+
|
|
306
|
+
/** Generated daemon wrapper for `agents.list` (operator). */
|
|
307
|
+
agentsList(paramsJson: string): Promise<string>;
|
|
308
|
+
|
|
309
|
+
/** Generated daemon wrapper for `agents.list_external` (operator). */
|
|
310
|
+
agentsListExternal(paramsJson: string): Promise<string>;
|
|
311
|
+
|
|
312
|
+
/** Generated daemon wrapper for `agents.restart` (agent). */
|
|
313
|
+
agentsRestart(paramsJson: string): Promise<string>;
|
|
314
|
+
|
|
315
|
+
/** Generated daemon wrapper for `agents.start` (agent). */
|
|
316
|
+
agentsStart(paramsJson: string): Promise<string>;
|
|
317
|
+
|
|
318
|
+
/** Generated daemon wrapper for `agents.stop` (agent). */
|
|
319
|
+
agentsStop(paramsJson: string): Promise<string>;
|
|
320
|
+
|
|
321
|
+
/** Generated daemon wrapper for `agents.tail_log` (operator). */
|
|
322
|
+
agentsTailLog(paramsJson: string): Promise<string>;
|
|
323
|
+
|
|
324
|
+
/** Generated daemon wrapper for `agents.wait` (operator). */
|
|
325
|
+
agentsWait(paramsJson: string): Promise<string>;
|
|
326
|
+
|
|
327
|
+
/** Generated daemon wrapper for `assistants.invoke` (operator). */
|
|
328
|
+
assistantsInvoke(paramsJson: string): Promise<string>;
|
|
329
|
+
|
|
330
|
+
/** Generated daemon wrapper for `automation.run_applescript` (operator). */
|
|
331
|
+
automationRunApplescript(paramsJson: string): Promise<string>;
|
|
332
|
+
|
|
333
|
+
/** Generated daemon wrapper for `automation.run_powershell` (operator). */
|
|
334
|
+
automationRunPowershell(paramsJson: string): Promise<string>;
|
|
335
|
+
|
|
336
|
+
/** Generated daemon wrapper for `automation.shortcuts.list` (operator). */
|
|
337
|
+
automationShortcutsList(paramsJson: string): Promise<string>;
|
|
338
|
+
|
|
339
|
+
/** Generated daemon wrapper for `automation.shortcuts.run` (operator). */
|
|
340
|
+
automationShortcutsRun(paramsJson: string): Promise<string>;
|
|
341
|
+
|
|
342
|
+
/** Generated daemon wrapper for `browser.producer.register` (operator). */
|
|
343
|
+
browserProducerRegister(paramsJson: string): Promise<string>;
|
|
344
|
+
|
|
345
|
+
/** Generated daemon wrapper for `browser.view.back` (operator). */
|
|
346
|
+
browserViewBack(paramsJson: string): Promise<string>;
|
|
347
|
+
|
|
348
|
+
/** Generated daemon wrapper for `browser.view.click` (operator). */
|
|
349
|
+
browserViewClick(paramsJson: string): Promise<string>;
|
|
350
|
+
|
|
351
|
+
/** Generated daemon wrapper for `browser.view.forward` (operator). */
|
|
352
|
+
browserViewForward(paramsJson: string): Promise<string>;
|
|
353
|
+
|
|
354
|
+
/** Generated daemon wrapper for `browser.view.hand_back` (operator). */
|
|
355
|
+
browserViewHandBack(paramsJson: string): Promise<string>;
|
|
356
|
+
|
|
357
|
+
/** Generated daemon wrapper for `browser.view.keypress` (operator). */
|
|
358
|
+
browserViewKeypress(paramsJson: string): Promise<string>;
|
|
359
|
+
|
|
360
|
+
/** Generated daemon wrapper for `browser.view.navigate` (operator). */
|
|
361
|
+
browserViewNavigate(paramsJson: string): Promise<string>;
|
|
362
|
+
|
|
363
|
+
/** Generated daemon wrapper for `browser.view.paste` (operator). */
|
|
364
|
+
browserViewPaste(paramsJson: string): Promise<string>;
|
|
365
|
+
|
|
366
|
+
/** Generated daemon wrapper for `browser.view.reload` (operator). */
|
|
367
|
+
browserViewReload(paramsJson: string): Promise<string>;
|
|
368
|
+
|
|
369
|
+
/** Generated daemon wrapper for `browser.view.scroll` (operator). */
|
|
370
|
+
browserViewScroll(paramsJson: string): Promise<string>;
|
|
371
|
+
|
|
372
|
+
/** Generated daemon wrapper for `browser.view.subscribe` (operator). */
|
|
373
|
+
browserViewSubscribe(paramsJson: string): Promise<string>;
|
|
374
|
+
|
|
375
|
+
/** Generated daemon wrapper for `browser.view.tab_close` (operator). */
|
|
376
|
+
browserViewTabClose(paramsJson: string): Promise<string>;
|
|
377
|
+
|
|
378
|
+
/** Generated daemon wrapper for `browser.view.tab_open` (operator). */
|
|
379
|
+
browserViewTabOpen(paramsJson: string): Promise<string>;
|
|
380
|
+
|
|
381
|
+
/** Generated daemon wrapper for `browser.view.tab_switch` (operator). */
|
|
382
|
+
browserViewTabSwitch(paramsJson: string): Promise<string>;
|
|
383
|
+
|
|
384
|
+
/** Generated daemon wrapper for `browser.view.take_control` (operator). */
|
|
385
|
+
browserViewTakeControl(paramsJson: string): Promise<string>;
|
|
386
|
+
|
|
387
|
+
/** Generated daemon wrapper for `browser.view.type` (operator). */
|
|
388
|
+
browserViewType(paramsJson: string): Promise<string>;
|
|
389
|
+
|
|
390
|
+
/** Generated daemon wrapper for `browser.view.unsubscribe` (operator). */
|
|
391
|
+
browserViewUnsubscribe(paramsJson: string): Promise<string>;
|
|
392
|
+
|
|
393
|
+
/** Generated daemon wrapper for `builder.build` (operator). */
|
|
394
|
+
builderBuild(paramsJson: string): Promise<string>;
|
|
395
|
+
|
|
396
|
+
/** Generated daemon wrapper for `capabilities.list` (operator). */
|
|
397
|
+
capabilitiesList(paramsJson: string): Promise<string>;
|
|
398
|
+
|
|
399
|
+
/** Generated daemon wrapper for `coder.discuss.subscribe` (operator). */
|
|
400
|
+
coderDiscussSubscribe(paramsJson: string): Promise<string>;
|
|
401
|
+
|
|
402
|
+
/** Generated daemon wrapper for `coder.discuss.unsubscribe` (operator). */
|
|
403
|
+
coderDiscussUnsubscribe(paramsJson: string): Promise<string>;
|
|
404
|
+
|
|
405
|
+
/** Generated daemon wrapper for `coder.projects.create` (operator). */
|
|
406
|
+
coderProjectsCreate(paramsJson: string): Promise<string>;
|
|
407
|
+
|
|
408
|
+
/** Generated daemon wrapper for `coder.projects.get` (operator). */
|
|
409
|
+
coderProjectsGet(paramsJson: string): Promise<string>;
|
|
410
|
+
|
|
411
|
+
/** Generated daemon wrapper for `coder.projects.list` (operator). */
|
|
412
|
+
coderProjectsList(paramsJson: string): Promise<string>;
|
|
413
|
+
|
|
414
|
+
/** Generated daemon wrapper for `coder.subscribe` (operator). */
|
|
415
|
+
coderSubscribe(paramsJson: string): Promise<string>;
|
|
416
|
+
|
|
417
|
+
/** Generated daemon wrapper for `coder.unsubscribe` (operator). */
|
|
418
|
+
coderUnsubscribe(paramsJson: string): Promise<string>;
|
|
419
|
+
|
|
420
|
+
/** Generated daemon wrapper for `concierge.actions` (operator). */
|
|
421
|
+
conciergeActions(paramsJson: string): Promise<string>;
|
|
422
|
+
|
|
423
|
+
/** Generated daemon wrapper for `concierge.apply` (operator). */
|
|
424
|
+
conciergeApply(paramsJson: string): Promise<string>;
|
|
425
|
+
|
|
426
|
+
/** Generated daemon wrapper for `concierge.ask` (operator). */
|
|
427
|
+
conciergeAsk(paramsJson: string): Promise<string>;
|
|
428
|
+
|
|
429
|
+
/** Generated daemon wrapper for `concierge.clear_default` (operator). */
|
|
430
|
+
conciergeClearDefault(paramsJson: string): Promise<string>;
|
|
431
|
+
|
|
432
|
+
/** Generated daemon wrapper for `concierge.defaults` (operator). */
|
|
433
|
+
conciergeDefaults(paramsJson: string): Promise<string>;
|
|
434
|
+
|
|
435
|
+
/** Generated daemon wrapper for `concierge.dismiss` (operator). */
|
|
436
|
+
conciergeDismiss(paramsJson: string): Promise<string>;
|
|
437
|
+
|
|
438
|
+
/** Generated daemon wrapper for `concierge.refresh_catalog` (operator). */
|
|
439
|
+
conciergeRefreshCatalog(paramsJson: string): Promise<string>;
|
|
440
|
+
|
|
441
|
+
/** Generated daemon wrapper for `concierge.rollback` (operator). */
|
|
442
|
+
conciergeRollback(paramsJson: string): Promise<string>;
|
|
443
|
+
|
|
444
|
+
/** Generated daemon wrapper for `concierge.set_default` (operator). */
|
|
445
|
+
conciergeSetDefault(paramsJson: string): Promise<string>;
|
|
446
|
+
|
|
447
|
+
/** Generated daemon wrapper for `concierge.status` (operator). */
|
|
448
|
+
conciergeStatus(paramsJson: string): Promise<string>;
|
|
449
|
+
|
|
450
|
+
/** Generated daemon wrapper for `connectors.add` (operator). */
|
|
451
|
+
connectorsAdd(paramsJson: string): Promise<string>;
|
|
452
|
+
|
|
453
|
+
/** Generated daemon wrapper for `connectors.add_stdio` (operator). */
|
|
454
|
+
connectorsAddStdio(paramsJson: string): Promise<string>;
|
|
455
|
+
|
|
456
|
+
/** Generated daemon wrapper for `connectors.authenticate` (operator). */
|
|
457
|
+
connectorsAuthenticate(paramsJson: string): Promise<string>;
|
|
458
|
+
|
|
459
|
+
/** Generated daemon wrapper for `connectors.complete_authentication` (operator). */
|
|
460
|
+
connectorsCompleteAuthentication(paramsJson: string): Promise<string>;
|
|
461
|
+
|
|
462
|
+
/** Generated daemon wrapper for `connectors.disable_tools` (operator). */
|
|
463
|
+
connectorsDisableTools(paramsJson: string): Promise<string>;
|
|
464
|
+
|
|
465
|
+
/** Generated daemon wrapper for `connectors.enable_tools` (operator). */
|
|
466
|
+
connectorsEnableTools(paramsJson: string): Promise<string>;
|
|
467
|
+
|
|
468
|
+
/** Generated daemon wrapper for `connectors.list` (operator). */
|
|
469
|
+
connectorsList(paramsJson: string): Promise<string>;
|
|
470
|
+
|
|
471
|
+
/** Generated daemon wrapper for `connectors.refresh` (operator). */
|
|
472
|
+
connectorsRefresh(paramsJson: string): Promise<string>;
|
|
473
|
+
|
|
474
|
+
/** Generated daemon wrapper for `connectors.remove` (operator). */
|
|
475
|
+
connectorsRemove(paramsJson: string): Promise<string>;
|
|
476
|
+
|
|
477
|
+
/** Generated daemon wrapper for `connectors.tools` (operator). */
|
|
478
|
+
connectorsTools(paramsJson: string): Promise<string>;
|
|
479
|
+
|
|
480
|
+
/** Generated daemon wrapper for `declagents.get` (operator). */
|
|
481
|
+
declagentsGet(paramsJson: string): Promise<string>;
|
|
482
|
+
|
|
483
|
+
/** Generated daemon wrapper for `declagents.invoke` (operator). */
|
|
484
|
+
declagentsInvoke(paramsJson: string): Promise<string>;
|
|
485
|
+
|
|
486
|
+
/** Generated daemon wrapper for `declagents.list` (operator). */
|
|
487
|
+
declagentsList(paramsJson: string): Promise<string>;
|
|
488
|
+
|
|
489
|
+
/** Generated daemon wrapper for `declagents.route` (operator). */
|
|
490
|
+
declagentsRoute(paramsJson: string): Promise<string>;
|
|
491
|
+
|
|
492
|
+
/** Generated daemon wrapper for `declagents.route_split` (operator). */
|
|
493
|
+
declagentsRouteSplit(paramsJson: string): Promise<string>;
|
|
494
|
+
|
|
495
|
+
/** Generated daemon wrapper for `declagents.routing_stats` (operator). */
|
|
496
|
+
declagentsRoutingStats(paramsJson: string): Promise<string>;
|
|
497
|
+
|
|
498
|
+
/** Generated daemon wrapper for `events.chain.enable` (operator). */
|
|
499
|
+
eventsChainEnable(paramsJson: string): Promise<string>;
|
|
500
|
+
|
|
501
|
+
/** Generated daemon wrapper for `events.chain.verify` (operator). */
|
|
502
|
+
eventsChainVerify(paramsJson: string): Promise<string>;
|
|
503
|
+
|
|
504
|
+
/** Generated daemon wrapper for `events.clear` (operator). */
|
|
505
|
+
eventsClear(paramsJson: string): Promise<string>;
|
|
506
|
+
|
|
507
|
+
/** Generated daemon wrapper for `events.cost_by_agent` (operator). */
|
|
508
|
+
eventsCostByAgent(paramsJson: string): Promise<string>;
|
|
509
|
+
|
|
510
|
+
/** Generated daemon wrapper for `events.count` (operator). */
|
|
511
|
+
eventsCount(paramsJson: string): Promise<string>;
|
|
512
|
+
|
|
513
|
+
/** Generated daemon wrapper for `events.query` (operator). */
|
|
514
|
+
eventsQuery(paramsJson: string): Promise<string>;
|
|
515
|
+
|
|
516
|
+
/** Generated daemon wrapper for `events.retention` (operator). */
|
|
517
|
+
eventsRetention(paramsJson: string): Promise<string>;
|
|
518
|
+
|
|
519
|
+
/** Generated daemon wrapper for `events.stats` (operator). */
|
|
520
|
+
eventsStats(paramsJson: string): Promise<string>;
|
|
521
|
+
|
|
522
|
+
/** Generated daemon wrapper for `events.truncate` (operator). */
|
|
523
|
+
eventsTruncate(paramsJson: string): Promise<string>;
|
|
524
|
+
|
|
525
|
+
/** Generated daemon wrapper for `evolution.plan` (operator). */
|
|
526
|
+
evolutionPlan(paramsJson: string): Promise<string>;
|
|
527
|
+
|
|
528
|
+
/** Generated daemon wrapper for `evolution.run` (agent). */
|
|
529
|
+
evolutionRun(paramsJson: string): Promise<string>;
|
|
530
|
+
|
|
531
|
+
/** Generated daemon wrapper for `feedback.compose_preview` (operator). */
|
|
532
|
+
feedbackComposePreview(paramsJson: string): Promise<string>;
|
|
533
|
+
|
|
534
|
+
/** Generated daemon wrapper for `feedback.list` (operator). */
|
|
535
|
+
feedbackList(paramsJson: string): Promise<string>;
|
|
536
|
+
|
|
537
|
+
/** Generated daemon wrapper for `feedback.status` (operator). */
|
|
538
|
+
feedbackStatus(paramsJson: string): Promise<string>;
|
|
539
|
+
|
|
540
|
+
/** Generated daemon wrapper for `feedback.submit` (operator). */
|
|
541
|
+
feedbackSubmit(paramsJson: string): Promise<string>;
|
|
542
|
+
|
|
543
|
+
/** Generated daemon wrapper for `goal.clear` (operator). */
|
|
544
|
+
goalClear(paramsJson: string): Promise<string>;
|
|
545
|
+
|
|
546
|
+
/** Generated daemon wrapper for `goal.set` (operator). */
|
|
547
|
+
goalSet(paramsJson: string): Promise<string>;
|
|
548
|
+
|
|
549
|
+
/** Generated daemon wrapper for `goal.status` (operator). */
|
|
550
|
+
goalStatus(paramsJson: string): Promise<string>;
|
|
551
|
+
|
|
552
|
+
/** Generated daemon wrapper for `goal.suggest` (operator). */
|
|
553
|
+
goalSuggest(paramsJson: string): Promise<string>;
|
|
554
|
+
|
|
555
|
+
/** Generated daemon wrapper for `host.subscribe` (operator). */
|
|
556
|
+
hostSubscribe(paramsJson: string): Promise<string>;
|
|
557
|
+
|
|
558
|
+
/** Generated daemon wrapper for `image.generate` (operator). */
|
|
559
|
+
imageGenerate(paramsJson: string): Promise<string>;
|
|
560
|
+
|
|
561
|
+
/** Generated daemon wrapper for `infer.cancel` (operator). */
|
|
562
|
+
inferCancel(paramsJson: string): Promise<string>;
|
|
563
|
+
|
|
564
|
+
/** Generated daemon wrapper for `infer.deadline` (operator). */
|
|
565
|
+
inferDeadline(paramsJson: string): Promise<string>;
|
|
566
|
+
|
|
567
|
+
/** Generated daemon wrapper for `infer_stream` (agent). */
|
|
568
|
+
inferStream(paramsJson: string): Promise<string>;
|
|
569
|
+
|
|
570
|
+
/** Generated daemon wrapper for `inference.register_runner` (operator). */
|
|
571
|
+
inferenceRegisterRunner(paramsJson: string): Promise<string>;
|
|
572
|
+
|
|
573
|
+
/** Generated daemon wrapper for `inference.runner.complete` (operator). */
|
|
574
|
+
inferenceRunnerComplete(paramsJson: string): Promise<string>;
|
|
575
|
+
|
|
576
|
+
/** Generated daemon wrapper for `inference.runner.event` (operator). */
|
|
577
|
+
inferenceRunnerEvent(paramsJson: string): Promise<string>;
|
|
578
|
+
|
|
579
|
+
/** Generated daemon wrapper for `inference.runner.fail` (operator). */
|
|
580
|
+
inferenceRunnerFail(paramsJson: string): Promise<string>;
|
|
581
|
+
|
|
582
|
+
/** Generated daemon wrapper for `meeting.get` (operator). */
|
|
583
|
+
meetingGet(paramsJson: string): Promise<string>;
|
|
584
|
+
|
|
585
|
+
/** Generated daemon wrapper for `meeting.list` (operator). */
|
|
586
|
+
meetingList(paramsJson: string): Promise<string>;
|
|
587
|
+
|
|
588
|
+
/** Generated daemon wrapper for `meeting.start` (operator). */
|
|
589
|
+
meetingStart(paramsJson: string): Promise<string>;
|
|
590
|
+
|
|
591
|
+
/** Generated daemon wrapper for `meeting.stop` (operator). */
|
|
592
|
+
meetingStop(paramsJson: string): Promise<string>;
|
|
593
|
+
|
|
594
|
+
/** Generated daemon wrapper for `memory.add_fact` (agent). */
|
|
595
|
+
memoryAddFact(paramsJson: string): Promise<string>;
|
|
596
|
+
|
|
597
|
+
/** Generated daemon wrapper for `memory.build_context` (operator). */
|
|
598
|
+
memoryBuildContext(paramsJson: string): Promise<string>;
|
|
599
|
+
|
|
600
|
+
/** Generated daemon wrapper for `memory.build_context_fast` (operator). */
|
|
601
|
+
memoryBuildContextFast(paramsJson: string): Promise<string>;
|
|
602
|
+
|
|
603
|
+
/** Generated daemon wrapper for `memory.consolidate` (agent). */
|
|
604
|
+
memoryConsolidate(paramsJson: string): Promise<string>;
|
|
605
|
+
|
|
606
|
+
/** Generated daemon wrapper for `memory.fact_count` (operator). */
|
|
607
|
+
memoryFactCount(paramsJson: string): Promise<string>;
|
|
608
|
+
|
|
609
|
+
/** Generated daemon wrapper for `memory.load` (operator). */
|
|
610
|
+
memoryLoad(paramsJson: string): Promise<string>;
|
|
611
|
+
|
|
612
|
+
/** Generated daemon wrapper for `memory.persist` (operator). */
|
|
613
|
+
memoryPersist(paramsJson: string): Promise<string>;
|
|
614
|
+
|
|
615
|
+
/** Generated daemon wrapper for `memory.query` (operator). */
|
|
616
|
+
memoryQuery(paramsJson: string): Promise<string>;
|
|
617
|
+
|
|
618
|
+
/** Generated daemon wrapper for `memory.utility_get` (operator). */
|
|
619
|
+
memoryUtilityGet(paramsJson: string): Promise<string>;
|
|
620
|
+
|
|
621
|
+
/** Generated daemon wrapper for `memory.utility_set` (operator). */
|
|
622
|
+
memoryUtilitySet(paramsJson: string): Promise<string>;
|
|
623
|
+
|
|
624
|
+
/** Generated daemon wrapper for `message/send` (operator). */
|
|
625
|
+
messageSend(paramsJson: string): Promise<string>;
|
|
626
|
+
|
|
627
|
+
/** Generated daemon wrapper for `message/stream` (operator). */
|
|
628
|
+
messageStream(paramsJson: string): Promise<string>;
|
|
629
|
+
|
|
630
|
+
/** Generated daemon wrapper for `mobile.runtime` (operator). */
|
|
631
|
+
mobileRuntime(paramsJson: string): Promise<string>;
|
|
632
|
+
|
|
633
|
+
/** Generated daemon wrapper for `models.catalog_snapshot` (operator). */
|
|
634
|
+
modelsCatalogSnapshot(paramsJson: string): Promise<string>;
|
|
635
|
+
|
|
636
|
+
/** Generated daemon wrapper for `models.check_concierge` (operator). */
|
|
637
|
+
modelsCheckConcierge(paramsJson: string): Promise<string>;
|
|
638
|
+
|
|
639
|
+
/** Generated daemon wrapper for `models.check_upgrade_nudge` (operator). */
|
|
640
|
+
modelsCheckUpgradeNudge(paramsJson: string): Promise<string>;
|
|
641
|
+
|
|
642
|
+
/** Generated daemon wrapper for `models.detect_upgrades` (operator). */
|
|
643
|
+
modelsDetectUpgrades(paramsJson: string): Promise<string>;
|
|
644
|
+
|
|
645
|
+
/** Generated daemon wrapper for `models.dismiss_suggestion` (operator). */
|
|
646
|
+
modelsDismissSuggestion(paramsJson: string): Promise<string>;
|
|
647
|
+
|
|
648
|
+
/** Generated daemon wrapper for `models.dismiss_upgrade` (operator). */
|
|
649
|
+
modelsDismissUpgrade(paramsJson: string): Promise<string>;
|
|
650
|
+
|
|
651
|
+
/** Generated daemon wrapper for `models.list` (operator). */
|
|
652
|
+
modelsList(paramsJson: string): Promise<string>;
|
|
653
|
+
|
|
654
|
+
/** Generated daemon wrapper for `models.list_unified` (operator). */
|
|
655
|
+
modelsListUnified(paramsJson: string): Promise<string>;
|
|
656
|
+
|
|
657
|
+
/** Generated daemon wrapper for `models.preflight` (operator). */
|
|
658
|
+
modelsPreflight(paramsJson: string): Promise<string>;
|
|
659
|
+
|
|
660
|
+
/** Generated daemon wrapper for `models.recommend` (operator). */
|
|
661
|
+
modelsRecommend(paramsJson: string): Promise<string>;
|
|
662
|
+
|
|
663
|
+
/** Generated daemon wrapper for `models.register` (operator). */
|
|
664
|
+
modelsRegister(paramsJson: string): Promise<string>;
|
|
665
|
+
|
|
666
|
+
/** Generated daemon wrapper for `models.resource_policy.get` (operator). */
|
|
667
|
+
modelsResourcePolicyGet(paramsJson: string): Promise<string>;
|
|
668
|
+
|
|
669
|
+
/** Generated daemon wrapper for `models.route` (operator). */
|
|
670
|
+
modelsRoute(paramsJson: string): Promise<string>;
|
|
671
|
+
|
|
672
|
+
/** Generated daemon wrapper for `models.route_provenance` (operator). */
|
|
673
|
+
modelsRouteProvenance(paramsJson: string): Promise<string>;
|
|
674
|
+
|
|
675
|
+
/** Generated daemon wrapper for `models.search` (operator). */
|
|
676
|
+
modelsSearch(paramsJson: string): Promise<string>;
|
|
677
|
+
|
|
678
|
+
/** Generated daemon wrapper for `models.setup_plan` (operator). */
|
|
679
|
+
modelsSetupPlan(paramsJson: string): Promise<string>;
|
|
680
|
+
|
|
681
|
+
/** Generated daemon wrapper for `models.stats` (operator). */
|
|
682
|
+
modelsStats(paramsJson: string): Promise<string>;
|
|
683
|
+
|
|
684
|
+
/** Generated daemon wrapper for `models.unregister` (operator). */
|
|
685
|
+
modelsUnregister(paramsJson: string): Promise<string>;
|
|
686
|
+
|
|
687
|
+
/** Generated daemon wrapper for `models.update_prefs_get` (operator). */
|
|
688
|
+
modelsUpdatePrefsGet(paramsJson: string): Promise<string>;
|
|
689
|
+
|
|
690
|
+
/** Generated daemon wrapper for `models.update_prefs_set` (operator). */
|
|
691
|
+
modelsUpdatePrefsSet(paramsJson: string): Promise<string>;
|
|
692
|
+
|
|
693
|
+
/** Generated daemon wrapper for `models.upgrades` (operator). */
|
|
694
|
+
modelsUpgrades(paramsJson: string): Promise<string>;
|
|
695
|
+
|
|
696
|
+
/** Generated daemon wrapper for `multi.map_reduce` (operator). */
|
|
697
|
+
multiMapReduce(paramsJson: string): Promise<string>;
|
|
698
|
+
|
|
699
|
+
/** Generated daemon wrapper for `multi.pipeline` (operator). */
|
|
700
|
+
multiPipeline(paramsJson: string): Promise<string>;
|
|
701
|
+
|
|
702
|
+
/** Generated daemon wrapper for `multi.subtask` (operator). */
|
|
703
|
+
multiSubtask(paramsJson: string): Promise<string>;
|
|
704
|
+
|
|
705
|
+
/** Generated daemon wrapper for `multi.supervisor` (operator). */
|
|
706
|
+
multiSupervisor(paramsJson: string): Promise<string>;
|
|
707
|
+
|
|
708
|
+
/** Generated daemon wrapper for `multi.swarm` (operator). */
|
|
709
|
+
multiSwarm(paramsJson: string): Promise<string>;
|
|
710
|
+
|
|
711
|
+
/** Generated daemon wrapper for `multi.tournament` (operator). */
|
|
712
|
+
multiTournament(paramsJson: string): Promise<string>;
|
|
713
|
+
|
|
714
|
+
/** Generated daemon wrapper for `multi.vote` (operator). */
|
|
715
|
+
multiVote(paramsJson: string): Promise<string>;
|
|
716
|
+
|
|
717
|
+
/** Generated daemon wrapper for `nlp.extract_entities` (operator). */
|
|
718
|
+
nlpExtractEntities(paramsJson: string): Promise<string>;
|
|
719
|
+
|
|
720
|
+
/** Generated daemon wrapper for `nlp.identify_language` (operator). */
|
|
721
|
+
nlpIdentifyLanguage(paramsJson: string): Promise<string>;
|
|
722
|
+
|
|
723
|
+
/** Generated daemon wrapper for `nlp.tokenize` (operator). */
|
|
724
|
+
nlpTokenize(paramsJson: string): Promise<string>;
|
|
725
|
+
|
|
726
|
+
/** Generated daemon wrapper for `notifications.local` (operator). */
|
|
727
|
+
notificationsLocal(paramsJson: string): Promise<string>;
|
|
728
|
+
|
|
729
|
+
/** Generated daemon wrapper for `outcomes.resolve_pending` (operator). */
|
|
730
|
+
outcomesResolvePending(paramsJson: string): Promise<string>;
|
|
731
|
+
|
|
732
|
+
/** Generated daemon wrapper for `outcomes.scoreboard` (operator). */
|
|
733
|
+
outcomesScoreboard(paramsJson: string): Promise<string>;
|
|
734
|
+
|
|
735
|
+
/** Generated daemon wrapper for `parslee.auth` (operator). */
|
|
736
|
+
parsleeAuth(paramsJson: string): Promise<string>;
|
|
737
|
+
|
|
738
|
+
/** Generated daemon wrapper for `permission.classify` (operator). */
|
|
739
|
+
permissionClassify(paramsJson: string): Promise<string>;
|
|
740
|
+
|
|
741
|
+
/** Generated daemon wrapper for `permission.evaluate` (agent). */
|
|
742
|
+
permissionEvaluate(paramsJson: string): Promise<string>;
|
|
743
|
+
|
|
744
|
+
/** Generated daemon wrapper for `permission.pending` (agent). */
|
|
745
|
+
permissionPending(paramsJson: string): Promise<string>;
|
|
746
|
+
|
|
747
|
+
/** Generated daemon wrapper for `permissions.domains` (operator). */
|
|
748
|
+
permissionsDomains(paramsJson: string): Promise<string>;
|
|
749
|
+
|
|
750
|
+
/** Generated daemon wrapper for `permissions.explain` (operator). */
|
|
751
|
+
permissionsExplain(paramsJson: string): Promise<string>;
|
|
752
|
+
|
|
753
|
+
/** Generated daemon wrapper for `permissions.request` (operator). */
|
|
754
|
+
permissionsRequest(paramsJson: string): Promise<string>;
|
|
755
|
+
|
|
756
|
+
/** Generated daemon wrapper for `permissions.status` (operator). */
|
|
757
|
+
permissionsStatus(paramsJson: string): Promise<string>;
|
|
758
|
+
|
|
759
|
+
/** Generated daemon wrapper for `policy.list` (operator). */
|
|
760
|
+
policyList(paramsJson: string): Promise<string>;
|
|
761
|
+
|
|
762
|
+
/** Generated daemon wrapper for `policy.register` (operator). */
|
|
763
|
+
policyRegister(paramsJson: string): Promise<string>;
|
|
764
|
+
|
|
765
|
+
/** Generated daemon wrapper for `policy.unregister` (operator). */
|
|
766
|
+
policyUnregister(paramsJson: string): Promise<string>;
|
|
767
|
+
|
|
768
|
+
/** Generated daemon wrapper for `proposal.submit` (owner). */
|
|
769
|
+
proposalSubmit(paramsJson: string): Promise<string>;
|
|
770
|
+
|
|
771
|
+
/** Generated daemon wrapper for `registry.heartbeat` (operator). */
|
|
772
|
+
registryHeartbeat(paramsJson: string): Promise<string>;
|
|
773
|
+
|
|
774
|
+
/** Generated daemon wrapper for `registry.list` (operator). */
|
|
775
|
+
registryList(paramsJson: string): Promise<string>;
|
|
776
|
+
|
|
777
|
+
/** Generated daemon wrapper for `registry.reap` (operator). */
|
|
778
|
+
registryReap(paramsJson: string): Promise<string>;
|
|
779
|
+
|
|
780
|
+
/** Generated daemon wrapper for `registry.register` (operator). */
|
|
781
|
+
registryRegister(paramsJson: string): Promise<string>;
|
|
782
|
+
|
|
783
|
+
/** Generated daemon wrapper for `registry.unregister` (operator). */
|
|
784
|
+
registryUnregister(paramsJson: string): Promise<string>;
|
|
785
|
+
|
|
786
|
+
/** Generated daemon wrapper for `replan.set_config` (operator). */
|
|
787
|
+
replanSetConfig(paramsJson: string): Promise<string>;
|
|
788
|
+
|
|
789
|
+
/** Generated daemon wrapper for `runs.cancel` (owner). */
|
|
790
|
+
runsCancel(paramsJson: string): Promise<string>;
|
|
791
|
+
|
|
792
|
+
/** Generated daemon wrapper for `runs.get_trace` (owner). */
|
|
793
|
+
runsGetTrace(paramsJson: string): Promise<string>;
|
|
794
|
+
|
|
795
|
+
/** Generated daemon wrapper for `runs.list` (owner). */
|
|
796
|
+
runsList(paramsJson: string): Promise<string>;
|
|
797
|
+
|
|
798
|
+
/** Generated daemon wrapper for `runs.record_turns` (agent). */
|
|
799
|
+
runsRecordTurns(paramsJson: string): Promise<string>;
|
|
800
|
+
|
|
801
|
+
/** Generated daemon wrapper for `runs.resume` (agent). */
|
|
802
|
+
runsResume(paramsJson: string): Promise<string>;
|
|
803
|
+
|
|
804
|
+
/** Generated daemon wrapper for `runs.subscribe` (owner). */
|
|
805
|
+
runsSubscribe(paramsJson: string): Promise<string>;
|
|
806
|
+
|
|
807
|
+
/** Generated daemon wrapper for `runs.unsubscribe` (operator). */
|
|
808
|
+
runsUnsubscribe(paramsJson: string): Promise<string>;
|
|
809
|
+
|
|
810
|
+
/** Generated daemon wrapper for `scheduler.create` (operator). */
|
|
811
|
+
schedulerCreate(paramsJson: string): Promise<string>;
|
|
812
|
+
|
|
813
|
+
/** Generated daemon wrapper for `scheduler.os_install` (operator). */
|
|
814
|
+
schedulerOsInstall(paramsJson: string): Promise<string>;
|
|
815
|
+
|
|
816
|
+
/** Generated daemon wrapper for `scheduler.os_list` (operator). */
|
|
817
|
+
schedulerOsList(paramsJson: string): Promise<string>;
|
|
818
|
+
|
|
819
|
+
/** Generated daemon wrapper for `scheduler.os_reconcile` (operator). */
|
|
820
|
+
schedulerOsReconcile(paramsJson: string): Promise<string>;
|
|
821
|
+
|
|
822
|
+
/** Generated daemon wrapper for `scheduler.os_render` (operator). */
|
|
823
|
+
schedulerOsRender(paramsJson: string): Promise<string>;
|
|
824
|
+
|
|
825
|
+
/** Generated daemon wrapper for `scheduler.os_uninstall` (operator). */
|
|
826
|
+
schedulerOsUninstall(paramsJson: string): Promise<string>;
|
|
827
|
+
|
|
828
|
+
/** Generated daemon wrapper for `scheduler.run` (operator). */
|
|
829
|
+
schedulerRun(paramsJson: string): Promise<string>;
|
|
830
|
+
|
|
831
|
+
/** Generated daemon wrapper for `scheduler.run_loop` (operator). */
|
|
832
|
+
schedulerRunLoop(paramsJson: string): Promise<string>;
|
|
833
|
+
|
|
834
|
+
/** Generated daemon wrapper for `session.auth` (agent). */
|
|
835
|
+
sessionAuth(paramsJson: string): Promise<string>;
|
|
836
|
+
|
|
837
|
+
/** Generated daemon wrapper for `session.bindSandbox` (agent). */
|
|
838
|
+
sessionBindSandbox(paramsJson: string): Promise<string>;
|
|
839
|
+
|
|
840
|
+
/** Generated daemon wrapper for `session.bindSubstrate` (operator). */
|
|
841
|
+
sessionBindSubstrate(paramsJson: string): Promise<string>;
|
|
842
|
+
|
|
843
|
+
/** Generated daemon wrapper for `session.init` (operator). */
|
|
844
|
+
sessionInit(paramsJson: string): Promise<string>;
|
|
845
|
+
|
|
846
|
+
/** Generated daemon wrapper for `session.policy.close` (operator). */
|
|
847
|
+
sessionPolicyClose(paramsJson: string): Promise<string>;
|
|
848
|
+
|
|
849
|
+
/** Generated daemon wrapper for `session.policy.open` (operator). */
|
|
850
|
+
sessionPolicyOpen(paramsJson: string): Promise<string>;
|
|
851
|
+
|
|
852
|
+
/** Generated daemon wrapper for `skill.adopt_pack` (operator). */
|
|
853
|
+
skillAdoptPack(paramsJson: string): Promise<string>;
|
|
854
|
+
|
|
855
|
+
/** Generated daemon wrapper for `skill.enforce_deployment` (operator). */
|
|
856
|
+
skillEnforceDeployment(paramsJson: string): Promise<string>;
|
|
857
|
+
|
|
858
|
+
/** Generated daemon wrapper for `skill.export` (operator). */
|
|
859
|
+
skillExport(paramsJson: string): Promise<string>;
|
|
860
|
+
|
|
861
|
+
/** Generated daemon wrapper for `skill.find` (operator). */
|
|
862
|
+
skillFind(paramsJson: string): Promise<string>;
|
|
863
|
+
|
|
864
|
+
/** Generated daemon wrapper for `skill.gate_deployment` (operator). */
|
|
865
|
+
skillGateDeployment(paramsJson: string): Promise<string>;
|
|
866
|
+
|
|
867
|
+
/** Generated daemon wrapper for `skill.import` (operator). */
|
|
868
|
+
skillImport(paramsJson: string): Promise<string>;
|
|
869
|
+
|
|
870
|
+
/** Generated daemon wrapper for `skill.ingest` (operator). */
|
|
871
|
+
skillIngest(paramsJson: string): Promise<string>;
|
|
872
|
+
|
|
873
|
+
/** Generated daemon wrapper for `skill.ingest_governed` (operator). */
|
|
874
|
+
skillIngestGoverned(paramsJson: string): Promise<string>;
|
|
875
|
+
|
|
876
|
+
/** Generated daemon wrapper for `skill.repair` (operator). */
|
|
877
|
+
skillRepair(paramsJson: string): Promise<string>;
|
|
878
|
+
|
|
879
|
+
/** Generated daemon wrapper for `skill.report` (operator). */
|
|
880
|
+
skillReport(paramsJson: string): Promise<string>;
|
|
881
|
+
|
|
882
|
+
/** Generated daemon wrapper for `skills.distill` (operator). */
|
|
883
|
+
skillsDistill(paramsJson: string): Promise<string>;
|
|
884
|
+
|
|
885
|
+
/** Generated daemon wrapper for `skills.domains_needing_evolution` (operator). */
|
|
886
|
+
skillsDomainsNeedingEvolution(paramsJson: string): Promise<string>;
|
|
887
|
+
|
|
888
|
+
/** Generated daemon wrapper for `skills.evolve` (operator). */
|
|
889
|
+
skillsEvolve(paramsJson: string): Promise<string>;
|
|
890
|
+
|
|
891
|
+
/** Generated daemon wrapper for `skills.gate` (operator). */
|
|
892
|
+
skillsGate(paramsJson: string): Promise<string>;
|
|
893
|
+
|
|
894
|
+
/** Generated daemon wrapper for `skills.ingest_distilled` (operator). */
|
|
895
|
+
skillsIngestDistilled(paramsJson: string): Promise<string>;
|
|
896
|
+
|
|
897
|
+
/** Generated daemon wrapper for `skills.ingest_provisional` (operator). */
|
|
898
|
+
skillsIngestProvisional(paramsJson: string): Promise<string>;
|
|
899
|
+
|
|
900
|
+
/** Generated daemon wrapper for `skills.list` (operator). */
|
|
901
|
+
skillsList(paramsJson: string): Promise<string>;
|
|
902
|
+
|
|
903
|
+
/** Generated daemon wrapper for `speech.prepare` (operator). */
|
|
904
|
+
speechPrepare(paramsJson: string): Promise<string>;
|
|
905
|
+
|
|
906
|
+
/** Generated daemon wrapper for `sync.knowledge` (operator). */
|
|
907
|
+
syncKnowledge(paramsJson: string): Promise<string>;
|
|
908
|
+
|
|
909
|
+
/** Generated daemon wrapper for `tasks.list` (operator). */
|
|
910
|
+
tasksList(paramsJson: string): Promise<string>;
|
|
911
|
+
|
|
912
|
+
/** Generated daemon wrapper for `tasks/cancel` (operator). */
|
|
913
|
+
tasksCancel(paramsJson: string): Promise<string>;
|
|
914
|
+
|
|
915
|
+
/** Generated daemon wrapper for `tasks/get` (operator). */
|
|
916
|
+
tasksGet(paramsJson: string): Promise<string>;
|
|
917
|
+
|
|
918
|
+
/** Generated daemon wrapper for `tasks/list` (operator). */
|
|
919
|
+
tasksSlashList(paramsJson: string): Promise<string>;
|
|
920
|
+
|
|
921
|
+
/** Generated daemon wrapper for `tasks/pushNotificationConfig/delete` (operator). */
|
|
922
|
+
tasksPushNotificationConfigDelete(paramsJson: string): Promise<string>;
|
|
923
|
+
|
|
924
|
+
/** Generated daemon wrapper for `tasks/pushNotificationConfig/get` (operator). */
|
|
925
|
+
tasksPushNotificationConfigGet(paramsJson: string): Promise<string>;
|
|
926
|
+
|
|
927
|
+
/** Generated daemon wrapper for `tasks/pushNotificationConfig/list` (operator). */
|
|
928
|
+
tasksPushNotificationConfigList(paramsJson: string): Promise<string>;
|
|
929
|
+
|
|
930
|
+
/** Generated daemon wrapper for `tasks/pushNotificationConfig/set` (operator). */
|
|
931
|
+
tasksPushNotificationConfigSet(paramsJson: string): Promise<string>;
|
|
932
|
+
|
|
933
|
+
/** Generated daemon wrapper for `tasks/resubscribe` (operator). */
|
|
934
|
+
tasksResubscribe(paramsJson: string): Promise<string>;
|
|
935
|
+
|
|
936
|
+
/** Generated daemon wrapper for `tools.cancel` (operator). */
|
|
937
|
+
toolsCancel(paramsJson: string): Promise<string>;
|
|
938
|
+
|
|
939
|
+
/** Generated daemon wrapper for `tools.list` (operator). */
|
|
940
|
+
toolsList(paramsJson: string): Promise<string>;
|
|
941
|
+
|
|
942
|
+
/** Generated daemon wrapper for `tools.poll` (operator). */
|
|
943
|
+
toolsPoll(paramsJson: string): Promise<string>;
|
|
944
|
+
|
|
945
|
+
/** Generated daemon wrapper for `tools.register` (operator). */
|
|
946
|
+
toolsRegister(paramsJson: string): Promise<string>;
|
|
947
|
+
|
|
948
|
+
/** Generated daemon wrapper for `tools.stream.subscribe` (operator). */
|
|
949
|
+
toolsStreamSubscribe(paramsJson: string): Promise<string>;
|
|
950
|
+
|
|
951
|
+
/** Generated daemon wrapper for `tools.unregister` (operator). */
|
|
952
|
+
toolsUnregister(paramsJson: string): Promise<string>;
|
|
953
|
+
|
|
954
|
+
/** Generated daemon wrapper for `verify` (operator). */
|
|
955
|
+
verify(paramsJson: string): Promise<string>;
|
|
956
|
+
|
|
957
|
+
/** Generated daemon wrapper for `verify.monte_carlo` (operator). */
|
|
958
|
+
verifyMonteCarlo(paramsJson: string): Promise<string>;
|
|
959
|
+
|
|
960
|
+
/** Generated daemon wrapper for `video.generate` (operator). */
|
|
961
|
+
videoGenerate(paramsJson: string): Promise<string>;
|
|
962
|
+
|
|
963
|
+
/** Generated daemon wrapper for `vision.ocr` (operator). */
|
|
964
|
+
visionOcr(paramsJson: string): Promise<string>;
|
|
965
|
+
|
|
966
|
+
/** Generated daemon wrapper for `voice.cancel_turn` (operator). */
|
|
967
|
+
voiceCancelTurn(paramsJson: string): Promise<string>;
|
|
968
|
+
|
|
969
|
+
/** Generated daemon wrapper for `voice.dispatch_turn` (operator). */
|
|
970
|
+
voiceDispatchTurn(paramsJson: string): Promise<string>;
|
|
971
|
+
|
|
972
|
+
/** Generated daemon wrapper for `voice.enroll_speaker` (operator). */
|
|
973
|
+
voiceEnrollSpeaker(paramsJson: string): Promise<string>;
|
|
974
|
+
|
|
975
|
+
/** Generated daemon wrapper for `voice.list_enrollments` (operator). */
|
|
976
|
+
voiceListEnrollments(paramsJson: string): Promise<string>;
|
|
977
|
+
|
|
978
|
+
/** Generated daemon wrapper for `voice.prepare_diarizer` (operator). */
|
|
979
|
+
voicePrepareDiarizer(paramsJson: string): Promise<string>;
|
|
980
|
+
|
|
981
|
+
/** Generated daemon wrapper for `voice.prepare_parakeet` (operator). */
|
|
982
|
+
voicePrepareParakeet(paramsJson: string): Promise<string>;
|
|
983
|
+
|
|
984
|
+
/** Generated daemon wrapper for `voice.prewarm_turn` (operator). */
|
|
985
|
+
voicePrewarmTurn(paramsJson: string): Promise<string>;
|
|
986
|
+
|
|
987
|
+
/** Generated daemon wrapper for `voice.providers.list` (operator). */
|
|
988
|
+
voiceProvidersList(paramsJson: string): Promise<string>;
|
|
989
|
+
|
|
990
|
+
/** Generated daemon wrapper for `voice.remove_enrollment` (operator). */
|
|
991
|
+
voiceRemoveEnrollment(paramsJson: string): Promise<string>;
|
|
992
|
+
|
|
993
|
+
/** Generated daemon wrapper for `voice.sessions.list` (operator). */
|
|
994
|
+
voiceSessionsList(paramsJson: string): Promise<string>;
|
|
995
|
+
|
|
996
|
+
/** Generated daemon wrapper for `voice.transcribe_stream.push` (operator). */
|
|
997
|
+
voiceTranscribeStreamPush(paramsJson: string): Promise<string>;
|
|
998
|
+
|
|
999
|
+
/** Generated daemon wrapper for `voice.transcribe_stream.start` (operator). */
|
|
1000
|
+
voiceTranscribeStreamStart(paramsJson: string): Promise<string>;
|
|
1001
|
+
|
|
1002
|
+
/** Generated daemon wrapper for `voice.transcribe_stream.stop` (operator). */
|
|
1003
|
+
voiceTranscribeStreamStop(paramsJson: string): Promise<string>;
|
|
1004
|
+
|
|
1005
|
+
/** Generated daemon wrapper for `voice.tts_stream.cancel` (operator). */
|
|
1006
|
+
voiceTtsStreamCancel(paramsJson: string): Promise<string>;
|
|
1007
|
+
|
|
1008
|
+
/** Generated daemon wrapper for `voice.tts_stream.list` (operator). */
|
|
1009
|
+
voiceTtsStreamList(paramsJson: string): Promise<string>;
|
|
1010
|
+
|
|
1011
|
+
/** Generated daemon wrapper for `voice.tts_stream.start` (operator). */
|
|
1012
|
+
voiceTtsStreamStart(paramsJson: string): Promise<string>;
|
|
1013
|
+
|
|
1014
|
+
/** Generated daemon wrapper for `workflow.build_automation` (operator). */
|
|
1015
|
+
workflowBuildAutomation(paramsJson: string): Promise<string>;
|
|
1016
|
+
|
|
1017
|
+
/** Generated daemon wrapper for `workflow.chain` (operator). */
|
|
1018
|
+
workflowChain(paramsJson: string): Promise<string>;
|
|
1019
|
+
|
|
1020
|
+
/** Generated daemon wrapper for `workflow.list_paused` (operator). */
|
|
1021
|
+
workflowListPaused(paramsJson: string): Promise<string>;
|
|
1022
|
+
|
|
1023
|
+
/** Generated daemon wrapper for `workflow.resume` (operator). */
|
|
1024
|
+
workflowResume(paramsJson: string): Promise<string>;
|
|
1025
|
+
|
|
1026
|
+
/** Generated daemon wrapper for `workflow.run` (operator). */
|
|
1027
|
+
workflowRun(paramsJson: string): Promise<string>;
|
|
1028
|
+
|
|
1029
|
+
/** Generated daemon wrapper for `workflow.verify` (operator). */
|
|
1030
|
+
workflowVerify(paramsJson: string): Promise<string>;
|
|
1031
|
+
// END GENERATED daemon wrappers: CarRuntime
|
|
1032
|
+
|
|
74
1033
|
// --- Memory persistence ---
|
|
75
1034
|
|
|
76
1035
|
/**
|
|
@@ -142,7 +1101,54 @@ export class CarRuntime {
|
|
|
142
1101
|
adapter?: string,
|
|
143
1102
|
verifyCommand?: Array<string>,
|
|
144
1103
|
unionVerifyCommand?: Array<string>,
|
|
145
|
-
maxAttempts?: number
|
|
1104
|
+
maxAttempts?: number,
|
|
1105
|
+
distributed?: boolean,
|
|
1106
|
+
workers?: Array<string>
|
|
1107
|
+
): Promise<string>;
|
|
1108
|
+
|
|
1109
|
+
// --- Fleet ---
|
|
1110
|
+
|
|
1111
|
+
/**
|
|
1112
|
+
* This instance's agents, capabilities, and models — one `InstanceInventory`
|
|
1113
|
+
* JSON object. The same report peers receive over A2A, plus this session's
|
|
1114
|
+
* own registered tools and learned skills.
|
|
1115
|
+
*/
|
|
1116
|
+
fleetInventory(): Promise<string>;
|
|
1117
|
+
|
|
1118
|
+
/**
|
|
1119
|
+
* Every agent, capability, and model across this daemon and every reachable
|
|
1120
|
+
* CAR instance, folded so one row names every instance that offers it.
|
|
1121
|
+
* `includeRemote` defaults to true. `timeoutMs` bounds each peer
|
|
1122
|
+
* individually: a sleeping machine appears as an unreachable row carrying the
|
|
1123
|
+
* reason, never a missing one. Returns `FleetComposite` JSON.
|
|
1124
|
+
*/
|
|
1125
|
+
fleetComposite(includeRemote?: boolean, timeoutMs?: number): Promise<string>;
|
|
1126
|
+
|
|
1127
|
+
/** Whether this instance takes farmed-out coding work. `{ config, profile }` JSON. */
|
|
1128
|
+
fleetWorkerGet(): Promise<string>;
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Enroll (or withdraw) this instance as a fleet worker. **Operator-only, and
|
|
1132
|
+
* a real grant**: enrolling lets a trusted peer run a coding CLI against the
|
|
1133
|
+
* checkouts named in `repos`. Only the fields supplied change.
|
|
1134
|
+
*
|
|
1135
|
+
* The limits belong to this machine, not the caller: `dispatchesPerHour`
|
|
1136
|
+
* budgets one peer's spend (concurrency is not a spend bound),
|
|
1137
|
+
* `maxSubtaskSecs` caps the timeout a sender asks for, and `allowedTools` is
|
|
1138
|
+
* intersected with whatever the dispatch requests. `fetchMissingBase` makes
|
|
1139
|
+
* this machine a **runner**: rather than decline a base commit it lacks, it
|
|
1140
|
+
* fetches from `fetchRemote` (its own, default `origin`).
|
|
1141
|
+
*/
|
|
1142
|
+
fleetWorkerSet(
|
|
1143
|
+
acceptsWork?: boolean,
|
|
1144
|
+
repos?: Array<string>,
|
|
1145
|
+
maxParallel?: number,
|
|
1146
|
+
localParallel?: number,
|
|
1147
|
+
dispatchesPerHour?: number,
|
|
1148
|
+
maxSubtaskSecs?: number,
|
|
1149
|
+
allowedTools?: Array<string>,
|
|
1150
|
+
fetchMissingBase?: boolean,
|
|
1151
|
+
fetchRemote?: string
|
|
146
1152
|
): Promise<string>;
|
|
147
1153
|
|
|
148
1154
|
// --- Tools & policies ---
|
|
@@ -152,7 +1158,8 @@ export class CarRuntime {
|
|
|
152
1158
|
|
|
153
1159
|
/**
|
|
154
1160
|
* The tools currently registered on this runtime, as a JSON array of full
|
|
155
|
-
* `ToolSchema` objects sorted by name.
|
|
1161
|
+
* `ToolSchema` objects sorted by name. Every schema includes its runtime-
|
|
1162
|
+
* assigned `source` (`builtin|user_defined|subprocess|mcp`).
|
|
156
1163
|
*
|
|
157
1164
|
* Counterpart to `registerTool` / `registerToolSchema`, which had none: a
|
|
158
1165
|
* caller could add tools but never ask what was actually in effect, so a
|
|
@@ -296,7 +1303,8 @@ export class CarRuntime {
|
|
|
296
1303
|
// --- Memory / Facts (graph-backed) ---
|
|
297
1304
|
|
|
298
1305
|
/**
|
|
299
|
-
* Add a fact. `kind` is typically "pattern" or "constraint".
|
|
1306
|
+
* Add a fact. `kind` is typically "pattern" or "constraint". Optional
|
|
1307
|
+
* `factId`, ordered `tags`, and `source` are preserved by the daemon.
|
|
300
1308
|
*
|
|
301
1309
|
* In Daemon mode, rejects with the daemon-unreachable error
|
|
302
1310
|
* instead of silently returning 0 (#146).
|
|
@@ -306,9 +1314,16 @@ export class CarRuntime {
|
|
|
306
1314
|
body: string,
|
|
307
1315
|
kind: string,
|
|
308
1316
|
confidence?: number | null,
|
|
1317
|
+
factId?: string | null,
|
|
1318
|
+
tags?: string[] | null,
|
|
1319
|
+
source?: string | null,
|
|
309
1320
|
): Promise<number>;
|
|
310
1321
|
|
|
311
|
-
/**
|
|
1322
|
+
/**
|
|
1323
|
+
* Query facts via graph spreading activation. Returns a JSON array whose
|
|
1324
|
+
* rows include `fact_id` (null for graph nodes without one), `subject`,
|
|
1325
|
+
* `body`, `kind`, `confidence`, `tags`, and `source`.
|
|
1326
|
+
*/
|
|
312
1327
|
queryFacts(query: string, k?: number | null): string;
|
|
313
1328
|
|
|
314
1329
|
/**
|
|
@@ -462,7 +1477,37 @@ export class CarRuntime {
|
|
|
462
1477
|
syncStatus(requestJson: string): Promise<string>;
|
|
463
1478
|
/** `sync.append` — record an op on any surface: `{ surface, payload, scope? }` (B6). */
|
|
464
1479
|
syncAppend(requestJson: string): Promise<string>;
|
|
465
|
-
/** `agents
|
|
1480
|
+
/** `host.agents` — current host agent registry snapshot. */
|
|
1481
|
+
hostAgents(): Promise<string>;
|
|
1482
|
+
/** `host.events` — recent host events, newest last; omit `limit` for the daemon default. */
|
|
1483
|
+
hostEvents(limit?: number): Promise<string>;
|
|
1484
|
+
/** `host.approvals` — pending host approvals. */
|
|
1485
|
+
hostApprovals(): Promise<string>;
|
|
1486
|
+
/** `host.register_agent` — register an agent on this connection. */
|
|
1487
|
+
hostRegisterAgent(requestJson: string): Promise<string>;
|
|
1488
|
+
/** `host.unregister_agent` — unregister an agent owned by this connection. */
|
|
1489
|
+
hostUnregisterAgent(requestJson: string): Promise<string>;
|
|
1490
|
+
/** `host.set_status` — publish status for an agent owned by this connection. */
|
|
1491
|
+
hostSetStatus(requestJson: string): Promise<string>;
|
|
1492
|
+
/** `host.register_device` — register a device on this connection. */
|
|
1493
|
+
hostRegisterDevice(requestJson: string): Promise<string>;
|
|
1494
|
+
/** `host.update_device` — update a device owned by this connection. */
|
|
1495
|
+
hostUpdateDevice(requestJson: string): Promise<string>;
|
|
1496
|
+
/** `host.devices` — current host device registry snapshot. */
|
|
1497
|
+
hostDevices(): Promise<string>;
|
|
1498
|
+
/** `host.notify` — emit a user-facing host notification. */
|
|
1499
|
+
hostNotify(requestJson: string): Promise<string>;
|
|
1500
|
+
/** `host.request_approval` — request approval for a gated action. */
|
|
1501
|
+
hostRequestApproval(requestJson: string): Promise<string>;
|
|
1502
|
+
/** `host.resolve_approval` — resolve one pending host approval. */
|
|
1503
|
+
hostResolveApproval(requestJson: string): Promise<string>;
|
|
1504
|
+
// `host.subscribe` event delivery is deferred to the callback-aware
|
|
1505
|
+
// daemon-session API; subscribing without a consumer would drop the stream.
|
|
1506
|
+
/**
|
|
1507
|
+
* `agents.peers` — visible peers as JSON. Each row distinguishes the
|
|
1508
|
+
* kind-level `can_receive` capability from the current `reachable` delivery
|
|
1509
|
+
* preflight; the send remains authoritative.
|
|
1510
|
+
*/
|
|
466
1511
|
agentsPeers(requestJson: string): Promise<string>;
|
|
467
1512
|
/** `agents.message` — send text to one peer: `{ to, body, summary? }`. The sender is derived server-side. */
|
|
468
1513
|
agentsMessage(requestJson: string): Promise<string>;
|
|
@@ -788,6 +1833,10 @@ export class CarRuntime {
|
|
|
788
1833
|
* with reasoning suppressed to produce a direct answer, or
|
|
789
1834
|
* `"thinking_truncated"` when even that retry was empty (car-releases#60).
|
|
790
1835
|
*
|
|
1836
|
+
* `local_last_resort` is present and true ONLY when CAR appended an
|
|
1837
|
+
* installed on-device model behind a remote-only chain and that model
|
|
1838
|
+
* actually served the turn. An explicitly selected local model is not marked.
|
|
1839
|
+
*
|
|
791
1840
|
* `auth_fallback_from` is present ONLY when a candidate earlier in the
|
|
792
1841
|
* fallback chain was skipped because its credential was **rejected**
|
|
793
1842
|
* (not merely absent) and a later model then answered. It names that
|
|
@@ -795,6 +1844,21 @@ export class CarRuntime {
|
|
|
795
1844
|
* of silently serving a different model (Parslee-ai/car#888). Absent on
|
|
796
1845
|
* the common path.
|
|
797
1846
|
*
|
|
1847
|
+
* `fallback_from` is an ARRAY of every candidate the chain moved past,
|
|
1848
|
+
* in the order it tried them: `[{ candidate, reason }, ...]`, where
|
|
1849
|
+
* `reason` is one of `"credential_rejected"`, `"credential_absent"`,
|
|
1850
|
+
* `"rate_limited"`, `"quota_exhausted"`, `"timed_out"` or `"failed"`.
|
|
1851
|
+
* Absent when the first candidate served. Before this, a run whose
|
|
1852
|
+
* backbone changed because of a rate limit or a timeout recorded no
|
|
1853
|
+
* cause anywhere, so a surprising result got attributed to the code
|
|
1854
|
+
* rather than to the model swap (Parslee-ai/car#1351).
|
|
1855
|
+
*
|
|
1856
|
+
* `reason` is classified from the runtime's typed error, not from error
|
|
1857
|
+
* prose. `"credential_rejected"` is deliberately BROADER than
|
|
1858
|
+
* `auth_fallback_from`: it covers a provider refusing an API key, whose
|
|
1859
|
+
* remedy is to fix the key, not to sign in. Do not derive one field
|
|
1860
|
+
* from the other.
|
|
1861
|
+
*
|
|
798
1862
|
* **Note:** intent is not exposed on the tracked path until the
|
|
799
1863
|
* positional argument list is converted to an options object —
|
|
800
1864
|
* this method already takes 9 positional parameters and adding
|
|
@@ -995,7 +2059,8 @@ export class CarRuntime {
|
|
|
995
2059
|
* context_length, available, is_local, operator_managed_external_runtime,
|
|
996
2060
|
* weights_ready, downloads_weights,
|
|
997
2061
|
* max_output_tokens, public_benchmarks, cost, car_enabled, can_remove,
|
|
998
|
-
* in_use, management_evidence
|
|
2062
|
+
* in_use, management_evidence, fit, estimated_peak_mb,
|
|
2063
|
+
* platform_compatible, deprecated, family, version }`. `available` means CAR
|
|
999
2064
|
* can use the model
|
|
1000
2065
|
* here — for a local MLX entry with a declared `hf_repo` it is `true`
|
|
1001
2066
|
* before a byte is fetched, because it lazy-downloads on first use —
|
|
@@ -1031,9 +2096,20 @@ export class CarRuntime {
|
|
|
1031
2096
|
* cost. The managed `parslee/…` alias rows carry the same prices as the
|
|
1032
2097
|
* upstream row they front, and this response carries no upstream
|
|
1033
2098
|
* identifier for them. That holds for this catalog view; `models.search`
|
|
1034
|
-
*
|
|
1035
|
-
*
|
|
2099
|
+
* entries carry these same fields, fit annotation included, and
|
|
2100
|
+
* additionally name `family` / `version` for every row (the upstream
|
|
2101
|
+
* model family for a managed alias). Older daemons omit
|
|
1036
2102
|
* `cost` entirely; it deserializes to all-`null` rather than failing.
|
|
2103
|
+
* `fit` (`"fits" | "too_big" | "unknown"`), `estimated_peak_mb` and
|
|
2104
|
+
* `platform_compatible` say whether the row fits the machine the daemon
|
|
2105
|
+
* runs on, by the same rule `models.recommend` uses against the active
|
|
2106
|
+
* resource policy; remote rows always read `fits` / `null` / `true`
|
|
2107
|
+
* because their memory is the server's. `unknown` never means too big
|
|
2108
|
+
* and is what an older daemon's rows read as. `deprecated` mirrors the
|
|
2109
|
+
* catalog flag; `family` and `version` are published for local rows only
|
|
2110
|
+
* (`null` for remote rows, which is how this view keeps carrying no
|
|
2111
|
+
* upstream identifier for managed aliases). The list is never filtered
|
|
2112
|
+
* by the daemon — hide on `fit` in the client, as `car models list` does.
|
|
1037
2113
|
*/
|
|
1038
2114
|
listModelsUnified(): string;
|
|
1039
2115
|
|
|
@@ -1173,7 +2249,9 @@ export class CarRuntime {
|
|
|
1173
2249
|
* `"auto" | "native" | "external[:agent_id]"` (default auto). Returns
|
|
1174
2250
|
* `{session_id, state, engine, worktree, contract, model}` JSON, where
|
|
1175
2251
|
* `model` is the effective native-loop pin (per-session `model`, else
|
|
1176
|
-
* `~/.car/coder.toml`, else `null` = adaptive routing).
|
|
2252
|
+
* `~/.car/coder.toml`, else `null` = adaptive routing). Set
|
|
2253
|
+
* `options.browser` to opt into the assistant's browser tool surface for this
|
|
2254
|
+
* session; it remains absent by default and policy-gated when enabled.
|
|
1177
2255
|
*/
|
|
1178
2256
|
coderStart(
|
|
1179
2257
|
repo: string,
|
|
@@ -1204,7 +2282,8 @@ export class CarRuntime {
|
|
|
1204
2282
|
|
|
1205
2283
|
/**
|
|
1206
2284
|
* Approve (publish the `car/coder/<id>` branch in the repo) or deny
|
|
1207
|
-
* (abandon) a session awaiting merge approval.
|
|
2285
|
+
* (abandon) a session awaiting merge approval. Agent-project approvals
|
|
2286
|
+
* return additive `agent_id` and daemon-derived `registry_path` fields.
|
|
1208
2287
|
*/
|
|
1209
2288
|
coderApproveMerge(sessionId: string, approve: boolean): Promise<string>;
|
|
1210
2289
|
|
|
@@ -1231,8 +2310,8 @@ export class CarRuntime {
|
|
|
1231
2310
|
* error}` plus `needs_you` (`"contract" | "question" | "approval" | "auth" |
|
|
1232
2311
|
* null`), `needs_you_label` (the daemon-owned wording, so every client says
|
|
1233
2312
|
* the same thing), `question_prompt`, `auth_message`, `auth_wait_secs`,
|
|
1234
|
-
* `failure_kind` (`"budget_exhausted" | "auth_required" | "
|
|
1235
|
-
* "error"` when failed), `worktree` (only when it still exists on disk),
|
|
2313
|
+
* `failure_kind` (`"budget_exhausted" | "auth_required" | "configuration" |
|
|
2314
|
+
* "infrastructure" | "error"` when failed), `worktree` (only when it still exists on disk),
|
|
1236
2315
|
* `project`, `result_branch`, `model`, `discussion_id`, and `next_seq` (live
|
|
1237
2316
|
* only — the `coder.subscribe` cursor).
|
|
1238
2317
|
*
|
|
@@ -1322,7 +2401,7 @@ export class CarRuntime {
|
|
|
1322
2401
|
|
|
1323
2402
|
/** List registered in-daemon declarative agents. */
|
|
1324
2403
|
declagentList(): Promise<string>;
|
|
1325
|
-
/** One declarative agent's spec by id
|
|
2404
|
+
/** One declarative agent's spec by id, plus daemon-derived `registry_path`. */
|
|
1326
2405
|
declagentGet(id: string): Promise<string>;
|
|
1327
2406
|
/** Unregister a declarative agent. */
|
|
1328
2407
|
declagentRemove(id: string): Promise<string>;
|
|
@@ -1423,6 +2502,8 @@ export class CarRuntime {
|
|
|
1423
2502
|
* (`{ model_id, reliability, score, selected, in_band }`) so callers can see
|
|
1424
2503
|
* why a model won and what the alternatives cost in reliability terms. Empty
|
|
1425
2504
|
* on explicit-model and cold-start paths where no ranking occurred.
|
|
2505
|
+
* `intentJson.strict_exclusions` makes an exhausted `exclude_models` list
|
|
2506
|
+
* return no route instead of selecting an excluded last resort.
|
|
1426
2507
|
*/
|
|
1427
2508
|
routeModel(prompt: string, intentJson?: string | null): Promise<string>;
|
|
1428
2509
|
|
|
@@ -1462,7 +2543,10 @@ export class CarRuntime {
|
|
|
1462
2543
|
|
|
1463
2544
|
/** Structured audit query over the event log (G2). `queryJson` is an
|
|
1464
2545
|
* EventQuery object (kinds/actionId/proposalId/since/until/dataMatches/limit);
|
|
1465
|
-
* returns `{count, events}` as a JSON string, most-recent-first.
|
|
2546
|
+
* returns `{count, events}` as a JSON string, most-recent-first.
|
|
2547
|
+
* `ActionFailed.data` includes `params_digest`, `expected_effects`, and
|
|
2548
|
+
* `error_class` (`timeout|rejected_by_policy|tool_error|validation|unknown`),
|
|
2549
|
+
* never raw parameters. `ActionSucceeded.data` includes the first two. */
|
|
1466
2550
|
eventQuery(queryJson: string): Promise<string>;
|
|
1467
2551
|
|
|
1468
2552
|
/** Get/set the event-log retention policy (G2). Pass a
|
|
@@ -1498,21 +2582,39 @@ export class CarRuntime {
|
|
|
1498
2582
|
* `cost_overage` alert. */
|
|
1499
2583
|
metricsAlerts(thresholdsJson?: string): Promise<string>;
|
|
1500
2584
|
|
|
1501
|
-
|
|
1502
|
-
*
|
|
1503
|
-
|
|
2585
|
+
/** Self-healing repair loop status: enabled/why-not, cadence, targets,
|
|
2586
|
+
* rejected targets, review panel, engine. */
|
|
2587
|
+
healStatus(): Promise<string>;
|
|
2588
|
+
/** Run one self-healing repair sweep now. May open a pull request; never merges. */
|
|
2589
|
+
healRun(): Promise<string>;
|
|
2590
|
+
/** Self-heal status as JSON: cadence, `auto_fix_enabled`, `max_concurrent`,
|
|
2591
|
+
* `max_per_day`, `max_rounds_per_key`, optional `auto_fix_refusal_reason`,
|
|
2592
|
+
* last tick, source route/refusal,
|
|
2593
|
+
* detector counts, and `filing_mode` (`watch-only` or `pr-only`). */
|
|
2594
|
+
|
|
1504
2595
|
selfhealStatus(): Promise<string>;
|
|
1505
2596
|
|
|
1506
2597
|
/** List active (not dismissed) self-heal detections as JSON. Each includes
|
|
1507
|
-
* `route` and an optional `local_issue_path`.
|
|
1508
|
-
* `
|
|
2598
|
+
* `route` and an optional `local_issue_path`. Recurring tool failures add
|
|
2599
|
+
* `eligible`, a secret-safe `reconstructed_call` (`tool` plus exact `params`),
|
|
2600
|
+
* optional owner-private `reconstructed_call_path`, `auto_fix_attempts`,
|
|
2601
|
+
* `auto_fix_exhausted`, `auto_fix_in_progress`, and
|
|
2602
|
+
* `last_auto_fix_attempt` (including `exit_code` and `failure_class`). Remote
|
|
2603
|
+
* deduplication adds `auto_fix_awaiting_review`, `auto_fix_parked`,
|
|
2604
|
+
* `remote_pr_number`, and `remote_pr_url`.
|
|
2605
|
+
* `queryJson` carries optional `kind`, `severity`,
|
|
2606
|
+
* `since`, `offset`, and `limit` (max 500). */
|
|
1509
2607
|
selfhealDetections(queryJson?: string): Promise<string>;
|
|
1510
2608
|
|
|
1511
|
-
/** Append a dismissal marker for a stable detection dedup key
|
|
1512
|
-
*
|
|
2609
|
+
/** Append a dismissal marker for a stable detection dedup key without
|
|
2610
|
+
* deleting history. */
|
|
1513
2611
|
selfhealDismiss(dedupKey: string): Promise<string>;
|
|
1514
2612
|
|
|
1515
|
-
/**
|
|
2613
|
+
/** Start one bounded template-owned coder round for an eligible recurring
|
|
2614
|
+
* tool failure. Returns the durable attempt result as JSON. */
|
|
2615
|
+
selfhealFix(dedupKey: string): Promise<string>;
|
|
2616
|
+
|
|
2617
|
+
/** Run one non-overlapping detection tick and default-on auto-fix hook. */
|
|
1516
2618
|
selfhealRun(): Promise<string>;
|
|
1517
2619
|
|
|
1518
2620
|
/** Execution log counts and approximate retained native bytes. Returns JSON. */
|
|
@@ -1611,9 +2713,10 @@ export class CarRuntime {
|
|
|
1611
2713
|
* automatically.
|
|
1612
2714
|
*
|
|
1613
2715
|
* Tools registered via the schemaless `registerTool(name)` bypass type
|
|
1614
|
-
* validation; this is the opt-in upgrade path.
|
|
2716
|
+
* validation; this is the opt-in upgrade path. The daemon assigns
|
|
2717
|
+
* `source = "user_defined"`; callers cannot claim another origin.
|
|
1615
2718
|
*
|
|
1616
|
-
* `schemaJson`
|
|
2719
|
+
* `schemaJson` carries the caller-settable fields:
|
|
1617
2720
|
* ```json
|
|
1618
2721
|
* {
|
|
1619
2722
|
* "name": "read_file",
|
|
@@ -1818,6 +2921,14 @@ export class CarRuntime {
|
|
|
1818
2921
|
/** Returns JSON array of recent Messages.app chats. */
|
|
1819
2922
|
messagesChats(limit?: number | null): string;
|
|
1820
2923
|
|
|
2924
|
+
/**
|
|
2925
|
+
* Read Messages.app rows newest first. `queryJson` is
|
|
2926
|
+
* `{chat_ids?: string[], since?: string, limit?: number,
|
|
2927
|
+
* include_body?: boolean}`. Returns `{available, backend, reason?, messages}`;
|
|
2928
|
+
* an unreadable database is unavailable, not an empty conversation.
|
|
2929
|
+
*/
|
|
2930
|
+
messagesRead(queryJson: string): string;
|
|
2931
|
+
|
|
1821
2932
|
/**
|
|
1822
2933
|
* Send a message through Messages.app. `sendRequestJson` is
|
|
1823
2934
|
* `{recipient, body, service_id?}`.
|
|
@@ -1865,6 +2976,153 @@ export class CarRuntime {
|
|
|
1865
2976
|
healthActivity(startYmd: string, endYmd: string): string;
|
|
1866
2977
|
}
|
|
1867
2978
|
|
|
2979
|
+
// BEGIN GENERATED daemon wrappers: HostClient
|
|
2980
|
+
/** Host-authority daemon client; host-only methods never appear in CarRuntime's generated region. */
|
|
2981
|
+
export class HostClient {
|
|
2982
|
+
constructor(runtime: CarRuntime);
|
|
2983
|
+
daemonCallHostManagement(method: string, paramsJson: string): Promise<string>;
|
|
2984
|
+
|
|
2985
|
+
/** Generated host wrapper for `agent_permissions.evaluate_tool`. */
|
|
2986
|
+
agentPermissionsEvaluateTool(paramsJson: string): Promise<string>;
|
|
2987
|
+
|
|
2988
|
+
/** Generated host wrapper for `agent_permissions.reset`. */
|
|
2989
|
+
agentPermissionsReset(paramsJson: string): Promise<string>;
|
|
2990
|
+
|
|
2991
|
+
/** Generated host wrapper for `agent_permissions.reset_tool`. */
|
|
2992
|
+
agentPermissionsResetTool(paramsJson: string): Promise<string>;
|
|
2993
|
+
|
|
2994
|
+
/** Generated host wrapper for `agent_permissions.set`. */
|
|
2995
|
+
agentPermissionsSet(paramsJson: string): Promise<string>;
|
|
2996
|
+
|
|
2997
|
+
/** Generated host wrapper for `agent_permissions.set_default`. */
|
|
2998
|
+
agentPermissionsSetDefault(paramsJson: string): Promise<string>;
|
|
2999
|
+
|
|
3000
|
+
/** Generated host wrapper for `agent_permissions.set_tool`. */
|
|
3001
|
+
agentPermissionsSetTool(paramsJson: string): Promise<string>;
|
|
3002
|
+
|
|
3003
|
+
/** Generated host wrapper for `agents.install`. */
|
|
3004
|
+
agentsInstall(paramsJson: string): Promise<string>;
|
|
3005
|
+
|
|
3006
|
+
/** Generated host wrapper for `agents.remove`. */
|
|
3007
|
+
agentsRemove(paramsJson: string): Promise<string>;
|
|
3008
|
+
|
|
3009
|
+
/** Generated host wrapper for `agents.upsert`. */
|
|
3010
|
+
agentsUpsert(paramsJson: string): Promise<string>;
|
|
3011
|
+
|
|
3012
|
+
/** Generated host wrapper for `assistant.identity.set`. */
|
|
3013
|
+
assistantIdentitySet(paramsJson: string): Promise<string>;
|
|
3014
|
+
|
|
3015
|
+
/** Generated host wrapper for `auth.accounts`. */
|
|
3016
|
+
authAccounts(paramsJson: string): Promise<string>;
|
|
3017
|
+
|
|
3018
|
+
/** Generated host wrapper for `auth.authority_hint`. */
|
|
3019
|
+
authAuthorityHint(paramsJson: string): Promise<string>;
|
|
3020
|
+
|
|
3021
|
+
/** Generated host wrapper for `auth.complete`. */
|
|
3022
|
+
authComplete(paramsJson: string): Promise<string>;
|
|
3023
|
+
|
|
3024
|
+
/** Generated host wrapper for `auth.completion_status`. */
|
|
3025
|
+
authCompletionStatus(paramsJson: string): Promise<string>;
|
|
3026
|
+
|
|
3027
|
+
/** Generated host wrapper for `auth.logout`. */
|
|
3028
|
+
authLogout(paramsJson: string): Promise<string>;
|
|
3029
|
+
|
|
3030
|
+
/** Generated host wrapper for `auth.remove_account`. */
|
|
3031
|
+
authRemoveAccount(paramsJson: string): Promise<string>;
|
|
3032
|
+
|
|
3033
|
+
/** Generated host wrapper for `auth.snapshot`. */
|
|
3034
|
+
authSnapshot(paramsJson: string): Promise<string>;
|
|
3035
|
+
|
|
3036
|
+
/** Generated host wrapper for `auth.start`. */
|
|
3037
|
+
authStart(paramsJson: string): Promise<string>;
|
|
3038
|
+
|
|
3039
|
+
/** Generated host wrapper for `auth.status`. */
|
|
3040
|
+
authStatus(paramsJson: string): Promise<string>;
|
|
3041
|
+
|
|
3042
|
+
/** Generated host wrapper for `auth.switch_account`. */
|
|
3043
|
+
authSwitchAccount(paramsJson: string): Promise<string>;
|
|
3044
|
+
|
|
3045
|
+
/** Generated host wrapper for `auth.switch_org`. */
|
|
3046
|
+
authSwitchOrg(paramsJson: string): Promise<string>;
|
|
3047
|
+
|
|
3048
|
+
/** Generated host wrapper for `declagents.remove`. */
|
|
3049
|
+
declagentsRemove(paramsJson: string): Promise<string>;
|
|
3050
|
+
|
|
3051
|
+
/** Generated host wrapper for `declagents.set_enabled`. */
|
|
3052
|
+
declagentsSetEnabled(paramsJson: string): Promise<string>;
|
|
3053
|
+
|
|
3054
|
+
/** Generated host wrapper for `diagnostics.secret_store_activity`. */
|
|
3055
|
+
diagnosticsSecretStoreActivity(paramsJson: string): Promise<string>;
|
|
3056
|
+
|
|
3057
|
+
/** Generated host wrapper for `messaging.config.get`. */
|
|
3058
|
+
messagingConfigGet(paramsJson: string): Promise<string>;
|
|
3059
|
+
|
|
3060
|
+
/** Generated host wrapper for `messaging.config.set`. */
|
|
3061
|
+
messagingConfigSet(paramsJson: string): Promise<string>;
|
|
3062
|
+
|
|
3063
|
+
/** Generated host wrapper for `messaging.pairing.start`. */
|
|
3064
|
+
messagingPairingStart(paramsJson: string): Promise<string>;
|
|
3065
|
+
|
|
3066
|
+
/** Generated host wrapper for `messaging.pairing.status`. */
|
|
3067
|
+
messagingPairingStatus(paramsJson: string): Promise<string>;
|
|
3068
|
+
|
|
3069
|
+
/** Generated host wrapper for `messaging.status`. */
|
|
3070
|
+
messagingStatus(paramsJson: string): Promise<string>;
|
|
3071
|
+
|
|
3072
|
+
/** Generated host wrapper for `messaging.test_send`. */
|
|
3073
|
+
messagingTestSend(paramsJson: string): Promise<string>;
|
|
3074
|
+
|
|
3075
|
+
/** Generated host wrapper for `models.adopt`. */
|
|
3076
|
+
modelsAdopt(paramsJson: string): Promise<string>;
|
|
3077
|
+
|
|
3078
|
+
/** Generated host wrapper for `models.install`. */
|
|
3079
|
+
modelsInstall(paramsJson: string): Promise<string>;
|
|
3080
|
+
|
|
3081
|
+
/** Generated host wrapper for `models.pull`. */
|
|
3082
|
+
modelsPull(paramsJson: string): Promise<string>;
|
|
3083
|
+
|
|
3084
|
+
/** Generated host wrapper for `models.remove`. */
|
|
3085
|
+
modelsRemove(paramsJson: string): Promise<string>;
|
|
3086
|
+
|
|
3087
|
+
/** Generated host wrapper for `models.resource_policy.set`. */
|
|
3088
|
+
modelsResourcePolicySet(paramsJson: string): Promise<string>;
|
|
3089
|
+
|
|
3090
|
+
/** Generated host wrapper for `models.storage_roots`. */
|
|
3091
|
+
modelsStorageRoots(paramsJson: string): Promise<string>;
|
|
3092
|
+
|
|
3093
|
+
/** Generated host wrapper for `openrouter.auth_cancel`. */
|
|
3094
|
+
openrouterAuthCancel(paramsJson: string): Promise<string>;
|
|
3095
|
+
|
|
3096
|
+
/** Generated host wrapper for `openrouter.auth_start`. */
|
|
3097
|
+
openrouterAuthStart(paramsJson: string): Promise<string>;
|
|
3098
|
+
|
|
3099
|
+
/** Generated host wrapper for `openrouter.disconnect`. */
|
|
3100
|
+
openrouterDisconnect(paramsJson: string): Promise<string>;
|
|
3101
|
+
|
|
3102
|
+
/** Generated host wrapper for `openrouter.status`. */
|
|
3103
|
+
openrouterStatus(paramsJson: string): Promise<string>;
|
|
3104
|
+
|
|
3105
|
+
/** Generated host wrapper for `permission.approve`. */
|
|
3106
|
+
permissionApprove(paramsJson: string): Promise<string>;
|
|
3107
|
+
|
|
3108
|
+
/** Generated host wrapper for `permission.reject`. */
|
|
3109
|
+
permissionReject(paramsJson: string): Promise<string>;
|
|
3110
|
+
|
|
3111
|
+
/** Generated host wrapper for `permission.set_tier`. */
|
|
3112
|
+
permissionSetTier(paramsJson: string): Promise<string>;
|
|
3113
|
+
|
|
3114
|
+
/** Generated host wrapper for `session.clear_halt`. */
|
|
3115
|
+
sessionClearHalt(paramsJson: string): Promise<string>;
|
|
3116
|
+
|
|
3117
|
+
/** Generated host wrapper for `tasks.schedule`. */
|
|
3118
|
+
tasksSchedule(paramsJson: string): Promise<string>;
|
|
3119
|
+
|
|
3120
|
+
/** Generated host wrapper for `tasks.unschedule`. */
|
|
3121
|
+
tasksUnschedule(paramsJson: string): Promise<string>;
|
|
3122
|
+
|
|
3123
|
+
}
|
|
3124
|
+
// END GENERATED daemon wrappers: HostClient
|
|
3125
|
+
|
|
1868
3126
|
// ---------------------------------------------------------------------------
|
|
1869
3127
|
// Standalone functions
|
|
1870
3128
|
// ---------------------------------------------------------------------------
|
|
@@ -1890,7 +3148,9 @@ export class CarRuntime {
|
|
|
1890
3148
|
* `tools.cancel` notification repeats so the host can abort the right
|
|
1891
3149
|
* in-flight call. `timeout_ms` is the action's declared budget in
|
|
1892
3150
|
* milliseconds when the action declared one (`null` otherwise); the
|
|
1893
|
-
* host's tool runner may use it to bound its own work.
|
|
3151
|
+
* host's tool runner may use it to bound its own work. Throwing an ordinary
|
|
3152
|
+
* value is an ordinary proposal-scoped failure; throw `TerminalToolError` to
|
|
3153
|
+
* request fail-stop session handling.
|
|
1894
3154
|
*
|
|
1895
3155
|
* `sessionId`, when provided, scopes per-action policy validation to
|
|
1896
3156
|
* the named session opened via `CarRuntime.openSession()`. Global
|
|
@@ -1905,6 +3165,11 @@ export class CarRuntime {
|
|
|
1905
3165
|
* tenant-scoped view so distinct tenants can't observe each other's
|
|
1906
3166
|
* keys (Parslee-ai/car#187 phase 3). Single-tenant in-process callers
|
|
1907
3167
|
* pass `null` / omit and see no behaviour change.
|
|
3168
|
+
*
|
|
3169
|
+
* The returned JSON string is a serialized `ProposalResult`. An
|
|
3170
|
+
* `ActionResult` includes `rolled_back: true` when it succeeded before an
|
|
3171
|
+
* abort restored proposal state; false is omitted. Use this field, not the
|
|
3172
|
+
* human-readable warning in `error`, to detect rollback.
|
|
1908
3173
|
*/
|
|
1909
3174
|
export function executeProposal(
|
|
1910
3175
|
rt: CarRuntime,
|
|
@@ -2145,8 +3410,11 @@ export function unregisterChatHandler(): void;
|
|
|
2145
3410
|
* `action_id`, which is client-authored and not unique across concurrent or
|
|
2146
3411
|
* retried attempts.
|
|
2147
3412
|
* as a JSON string and MUST return a Promise resolving to the tool's
|
|
2148
|
-
* JSON-encoded result. Throwing rejects the
|
|
2149
|
-
*
|
|
3413
|
+
* JSON-encoded result. Throwing an ordinary value rejects only the current
|
|
3414
|
+
* proposal. Throw `TerminalToolError` when retry cannot recover: CAR aborts
|
|
3415
|
+
* and rolls back the proposal, marks its failed action `terminal: true`, and
|
|
3416
|
+
* rejects later proposals on this daemon session until a host clears the halt
|
|
3417
|
+
* or the client reconnects.
|
|
2150
3418
|
*
|
|
2151
3419
|
* `request_id` is the daemon's callback-routing id, repeated by the
|
|
2152
3420
|
* `tools.cancel` notification so the host can abort the right
|
|
@@ -2172,6 +3440,11 @@ export function registerToolHandler(
|
|
|
2172
3440
|
handlerFn: (callJson: string) => Promise<string>,
|
|
2173
3441
|
): void;
|
|
2174
3442
|
|
|
3443
|
+
/** Distinguished fail-stop error for tool callbacks. */
|
|
3444
|
+
export class TerminalToolError extends Error {
|
|
3445
|
+
constructor(message: string);
|
|
3446
|
+
}
|
|
3447
|
+
|
|
2175
3448
|
/**
|
|
2176
3449
|
* Clear the registered `tools.execute` handler. `submitProposal`
|
|
2177
3450
|
* calls after this will fail if the proposal carries any
|
|
@@ -2596,10 +3869,21 @@ export function reapStaleAgents(
|
|
|
2596
3869
|
* register an `agent.chat` handler to serve conversational turns, and/or
|
|
2597
3870
|
* a `registerToolHandler` for explicit tool `data` parts.
|
|
2598
3871
|
*
|
|
3872
|
+
* `allow_non_loopback_bind` (boolean, default `false`) is required to bind
|
|
3873
|
+
* anything but loopback. This listener serves NO authentication — there
|
|
3874
|
+
* is no auth parameter, and its router is `NoAuth` — and without
|
|
3875
|
+
* `share_session_runtime` its runtime registers the agent-basics
|
|
3876
|
+
* filesystem tools, so a reachable bind publishes `write_file` /
|
|
3877
|
+
* `edit_file` to anyone who can route to the port. A wildcard bind
|
|
3878
|
+
* (`0.0.0.0:...`) is refused too. To be reachable by other CAR daemons
|
|
3879
|
+
* you want the peer-authenticated, messaging-only listener `car-server`
|
|
3880
|
+
* already runs by default, not this.
|
|
3881
|
+
*
|
|
2599
3882
|
* Returns `'{"bound":"127.0.0.1:8731"}'` on success. Errors if a
|
|
2600
|
-
* server is already running, the bind fails,
|
|
2601
|
-
* is set but no
|
|
2602
|
-
* non-WS path), or
|
|
3883
|
+
* server is already running, the bind fails, the bind is non-loopback
|
|
3884
|
+
* without `allow_non_loopback_bind`, `share_session_runtime` is set but no
|
|
3885
|
+
* session runtime is available (e.g. invoked from a non-WS path), or
|
|
3886
|
+
* `paramsJson` is malformed.
|
|
2603
3887
|
*/
|
|
2604
3888
|
export function startA2AServer(rt: CarRuntime, paramsJson: string): Promise<string>;
|
|
2605
3889
|
|
|
@@ -3685,7 +4969,11 @@ export function analyzeSchedule(graphJson: string): string;
|
|
|
3685
4969
|
/**
|
|
3686
4970
|
* Install a durable OS-level schedule (launchd on macOS, crontab on Linux) so
|
|
3687
4971
|
* the task fires even when the CAR daemon is down. Idempotent. Returns the
|
|
3688
|
-
* installed-schedule JSON
|
|
4972
|
+
* installed-schedule JSON: `{ label, backend, detail, conflict_preserved? }`.
|
|
4973
|
+
* On macOS, `conflict_preserved` (present only when it happened) is the
|
|
4974
|
+
* sibling path where the prior plist's bytes were preserved after a
|
|
4975
|
+
* concurrent writer changed them through a pre-opened file descriptor during
|
|
4976
|
+
* replacement — they are never deleted or overwritten.
|
|
3689
4977
|
*/
|
|
3690
4978
|
export function installOsSchedule(taskJson: string, program: string, argsJson: string): string;
|
|
3691
4979
|
|
|
@@ -3862,8 +5150,9 @@ export function a2ADispatch(rt: CarRuntime, method: string, paramsJson: string):
|
|
|
3862
5150
|
// --- Lifecycle-managed agents (car_registry::supervisor) ---
|
|
3863
5151
|
|
|
3864
5152
|
/**
|
|
3865
|
-
* List every
|
|
3866
|
-
*
|
|
5153
|
+
* List every supervised agent along with its runtime status and the
|
|
5154
|
+
* daemon-compatible `manifest_path`, `log_path`, and `stderr_log_path`
|
|
5155
|
+
* location metadata. Returns JSON `[ManagedAgent]`.
|
|
3867
5156
|
*
|
|
3868
5157
|
* Wire shape matches the daemon's `agents.list` JSON-RPC method
|
|
3869
5158
|
* exactly so a host can swap between in-process and WS transports
|
|
@@ -3903,7 +5192,9 @@ export function agentsHealth(): Promise<string>;
|
|
|
3903
5192
|
* "restart": "on_failure", // never | on_failure | always
|
|
3904
5193
|
* "max_restarts": 10,
|
|
3905
5194
|
* "backoff_secs": 5,
|
|
3906
|
-
* "auto_start": true
|
|
5195
|
+
* "auto_start": true, // included by start_all on boot
|
|
5196
|
+
* "method_allowlist": ["mail.accounts", "mail.messages"]
|
|
5197
|
+
* // optional; absent = unrestricted
|
|
3907
5198
|
* }
|
|
3908
5199
|
* ```
|
|
3909
5200
|
*
|
|
@@ -4012,7 +5303,7 @@ export function agentsTailLog(id: string, n?: number | null, stream?: string | n
|
|
|
4012
5303
|
// alongside `agents.invoke_external`. Wire shape:
|
|
4013
5304
|
//
|
|
4014
5305
|
// {
|
|
4015
|
-
// "id": "claude-code" | "codex" | "gemini",
|
|
5306
|
+
// "id": "claude-code" | "codex" | "gemini" | "mini-swe-agent",
|
|
4016
5307
|
// "displayName": "Claude Code" | ...,
|
|
4017
5308
|
// "binaryPath": "/usr/local/bin/claude",
|
|
4018
5309
|
// "version": "1.0.51" | null,
|
|
@@ -4083,7 +5374,7 @@ export function agentsDetectExternal(
|
|
|
4083
5374
|
* `ExternalAgentHealth` (when `id` supplied), where:
|
|
4084
5375
|
*
|
|
4085
5376
|
* {
|
|
4086
|
-
* "id": "claude-code" | "codex" | "gemini",
|
|
5377
|
+
* "id": "claude-code" | "codex" | "gemini" | "mini-swe-agent",
|
|
4087
5378
|
* "status": "ready" | "not_configured" | "expired" |
|
|
4088
5379
|
* "network_error" | "not_executable" | "unknown",
|
|
4089
5380
|
* "details": <tool-specific JSON object>,
|
|
@@ -4103,8 +5394,13 @@ export function agentsHealthExternal(
|
|
|
4103
5394
|
|
|
4104
5395
|
/**
|
|
4105
5396
|
* Per-task invocation of an external CLI agent (Phase 2 stage 3).
|
|
4106
|
-
* `id` selects the adapter (`"claude-code"
|
|
4107
|
-
* `gemini`
|
|
5397
|
+
* `id` selects the adapter (`"claude-code"`, `"codex"`,
|
|
5398
|
+
* `"gemini"`, `"mini-swe-agent"`). `"mini-swe-agent"` is a measurement
|
|
5399
|
+
* baseline for `car coder-ab`, not a production engine: it must be named
|
|
5400
|
+
* explicitly (unnamed coder engine resolution never selects it), it has no
|
|
5401
|
+
* default backbone of its own so an invocation with no `model` is refused,
|
|
5402
|
+
* and its model ids are litellm ids needing the provider prefix
|
|
5403
|
+
* (`openai/gpt-5.5`). `task` is the prompt. `optionsJson`
|
|
4108
5404
|
* is a JSON-encoded `InvokeOptions` — pass `"{}"` or `null` to accept
|
|
4109
5405
|
* defaults.
|
|
4110
5406
|
*
|