@nuvin/session 0.4.0-rc.1 → 0.4.0-rc.10
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/dist/{chunk-DTLHDYZC.js → chunk-U6V6IQJR.js} +184 -45
- package/dist/{chunk-X6DYNSV2.js → chunk-Y7JPSYTH.js} +8 -1
- package/dist/client/daemon-client.d.ts.map +1 -1
- package/dist/client/data-client.d.ts +7 -1
- package/dist/client/data-client.d.ts.map +1 -1
- package/dist/client/http-data-client.d.ts.map +1 -1
- package/dist/client/index.js +63 -5
- package/dist/client/session-client.d.ts +5 -1
- package/dist/client/session-client.d.ts.map +1 -1
- package/dist/client/websocket.d.ts +1 -1
- package/dist/client/websocket.d.ts.map +1 -1
- package/dist/controller/index.js +80 -22
- package/dist/controller/session-controller.d.ts +12 -4
- package/dist/controller/session-controller.d.ts.map +1 -1
- package/dist/protocol/background-work.d.ts +3 -1
- package/dist/protocol/background-work.d.ts.map +1 -1
- package/dist/protocol/data-rpc.d.ts +8 -1
- package/dist/protocol/data-rpc.d.ts.map +1 -1
- package/dist/protocol/index.js +3 -1
- package/dist/protocol/types.d.ts +88 -11
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/state/approvals.d.ts.map +1 -1
- package/dist/state/index.js +7 -3
- package/dist/state/messages.d.ts +29 -2
- package/dist/state/messages.d.ts.map +1 -1
- package/dist/state/session.d.ts.map +1 -1
- package/dist/state/tool-preview.d.ts.map +1 -1
- package/dist/state/tool-preview.js +1 -45
- package/dist/test-utils/index.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-client.d.ts","sourceRoot":"","sources":["../../src/client/session-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-client.d.ts","sourceRoot":"","sources":["../../src/client/session-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export type WebSocketTransportOptions = {
|
|
|
33
33
|
backoffFactor?: number;
|
|
34
34
|
/** Handshake refused (bad token / protocol mismatch). Terminal — retrying cannot fix it. */
|
|
35
35
|
onRejected?: (reason: "auth" | "version") => void;
|
|
36
|
-
/** The daemon detached this client (e.g. kill-session). Terminal. */
|
|
36
|
+
/** The daemon refused attachment or detached this client (e.g. kill-session). Terminal. */
|
|
37
37
|
onDetached?: (reason: string) => void;
|
|
38
38
|
};
|
|
39
39
|
export interface WebSocketClientTransport extends ClientTransport {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/client/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,WAAW,EAAiD,MAAM,eAAe,CAAC;AAChG,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;AAE5F,MAAM,MAAM,yBAAyB,GAAG;IACtC,iHAAiH;IACjH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IACjD,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/client/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,WAAW,EAAiD,MAAM,eAAe,CAAC;AAChG,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;AAE5F,MAAM,MAAM,yBAAyB,GAAG;IACtC,iHAAiH;IACjH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IACjD,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,2FAA2F;IAC3F,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,eAAe,IAAI,uBAAuB,CAAC;IAC3C,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAClF,+FAA+F;IAC/F,YAAY,IAAI,SAAS,eAAe,EAAE,CAAC;IAC3C,oGAAoG;IACpG,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CACnD;AAyBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CA0R1B"}
|
package/dist/controller/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
sanitizeCoordinatorDeliveryText,
|
|
12
12
|
scopedToolKey,
|
|
13
13
|
summarizeToolCallInput
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-U6V6IQJR.js";
|
|
15
15
|
|
|
16
16
|
// src/controller/agent-channel.ts
|
|
17
17
|
import { EventEmitter } from "events";
|
|
@@ -81,7 +81,8 @@ var AgentChannel = class {
|
|
|
81
81
|
|
|
82
82
|
// src/controller/session-controller.ts
|
|
83
83
|
import {
|
|
84
|
-
isAbortError
|
|
84
|
+
isAbortError,
|
|
85
|
+
isAgentOnlyCoordinatorNotice
|
|
85
86
|
} from "@nuvin/agent-core/shared";
|
|
86
87
|
function formatBashPolicyDenial(diagnostics) {
|
|
87
88
|
const denied = diagnostics.operations.filter((operation) => operation.decision === "deny");
|
|
@@ -94,8 +95,18 @@ function formatBashPolicyDenial(diagnostics) {
|
|
|
94
95
|
});
|
|
95
96
|
return `Bash command rejected by policy: ${details.join("; ")}.`;
|
|
96
97
|
}
|
|
98
|
+
function coordinatorInfoMeta(submission) {
|
|
99
|
+
if (submission.origin !== "coordinator") return {};
|
|
100
|
+
if (isAgentOnlyCoordinatorNotice(submission)) {
|
|
101
|
+
return {
|
|
102
|
+
deliveryKind: submission.deliveryKind,
|
|
103
|
+
transcriptVisibility: "agent-only"
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return submission.subagentReport === void 0 ? {} : { subagentReport: structuredClone(submission.subagentReport) };
|
|
107
|
+
}
|
|
97
108
|
function preservesVerbatimCoordinatorInput(submission) {
|
|
98
|
-
return submission?.origin === "coordinator" && submission.deliveryKind === "subagent-report";
|
|
109
|
+
return submission?.origin === "coordinator" && (submission.deliveryKind === "subagent-report" || isAgentOnlyCoordinatorNotice(submission));
|
|
99
110
|
}
|
|
100
111
|
var MAX_AUTO_COMPACTION_CHAIN = 10;
|
|
101
112
|
function createSessionController(deps) {
|
|
@@ -155,11 +166,12 @@ function createSessionController(deps) {
|
|
|
155
166
|
}
|
|
156
167
|
};
|
|
157
168
|
const emitTurnStatus = () => {
|
|
169
|
+
const visible = queue.filter((q) => !isAgentOnlyCoordinatorNotice(q.opts.submission));
|
|
158
170
|
emit({
|
|
159
171
|
type: "turn-status",
|
|
160
172
|
busy: abortController !== null || hostBusyCount > 0,
|
|
161
|
-
queuedCount:
|
|
162
|
-
queued:
|
|
173
|
+
queuedCount: visible.length,
|
|
174
|
+
queued: visible.map((q) => ({
|
|
163
175
|
id: q.id,
|
|
164
176
|
displayText: q.opts.displayText,
|
|
165
177
|
...q.opts.attachmentLabels?.length ? { attachmentLabels: q.opts.attachmentLabels } : {}
|
|
@@ -408,9 +420,18 @@ function createSessionController(deps) {
|
|
|
408
420
|
return { ok: false, message: errorDetail(error) };
|
|
409
421
|
}
|
|
410
422
|
}
|
|
423
|
+
function allowsSteering(opts) {
|
|
424
|
+
return opts.turnId === void 0 || deps.headless !== true && opts.submission?.origin === "coordinator" && opts.submission.deliveryKind === "subagent-report";
|
|
425
|
+
}
|
|
411
426
|
function startNextQueuedSubmission() {
|
|
412
427
|
if (closing || abortController || hostBusyCount > 0) return;
|
|
413
|
-
|
|
428
|
+
let next = queue.shift();
|
|
429
|
+
let dropped = false;
|
|
430
|
+
while (next?.opts.signal?.aborted) {
|
|
431
|
+
dropped = true;
|
|
432
|
+
next = queue.shift();
|
|
433
|
+
}
|
|
434
|
+
if (dropped) emitTurnStatus();
|
|
414
435
|
if (!next) return;
|
|
415
436
|
const coordinatorOwned = next.opts.submission?.origin === "coordinator";
|
|
416
437
|
if (!coordinatorOwned && !next.opts.silent) {
|
|
@@ -423,13 +444,14 @@ function createSessionController(deps) {
|
|
|
423
444
|
next.opts.turnId
|
|
424
445
|
);
|
|
425
446
|
}
|
|
426
|
-
|
|
447
|
+
const turn = startTrackedTurn(next.input, {
|
|
427
448
|
turnId: next.opts.turnId,
|
|
428
|
-
allowSteering: next.opts
|
|
449
|
+
allowSteering: allowsSteering(next.opts),
|
|
429
450
|
submission: next.opts.submission ?? { origin: "user" },
|
|
430
451
|
...coordinatorOwned ? { coordinatorDisplayText: next.opts.displayText } : {},
|
|
431
452
|
...next.opts.signal === void 0 ? {} : { signal: next.opts.signal }
|
|
432
453
|
});
|
|
454
|
+
if (next.opts.waitFor === "acceptance") observeAcceptedTurn(turn, next.opts.turnId);
|
|
433
455
|
}
|
|
434
456
|
function finalizeTurn(controller, reason) {
|
|
435
457
|
if (abortController !== controller) return false;
|
|
@@ -454,34 +476,46 @@ function createSessionController(deps) {
|
|
|
454
476
|
emitTurnStatus();
|
|
455
477
|
const accepted = [];
|
|
456
478
|
for (const entry of drained) {
|
|
479
|
+
if (entry.opts.signal?.aborted) continue;
|
|
457
480
|
const guarded = await guardQueuedSteering(entry.input);
|
|
481
|
+
if (entry.opts.signal?.aborted) continue;
|
|
458
482
|
if (guarded.ok) {
|
|
459
483
|
accepted.push({
|
|
460
484
|
input: preservesVerbatimCoordinatorInput(entry.opts.submission) ? entry.input : guarded.prompt,
|
|
461
|
-
opts: entry.opts
|
|
485
|
+
opts: entry.opts,
|
|
486
|
+
queuedAt: entry.queuedAt
|
|
462
487
|
});
|
|
463
488
|
} else {
|
|
464
489
|
emit({ type: "error", message: guarded.message });
|
|
465
490
|
}
|
|
466
491
|
}
|
|
467
492
|
if (abortController !== controller || controller.signal.aborted) return [];
|
|
468
|
-
|
|
493
|
+
const current = accepted.filter((entry) => !entry.opts.signal?.aborted);
|
|
494
|
+
for (const entry of current) {
|
|
469
495
|
if (entry.opts.submission?.origin === "coordinator") {
|
|
470
496
|
emit({
|
|
471
497
|
type: "info",
|
|
472
498
|
message: sanitizeCoordinatorDeliveryText(entry.opts.displayText),
|
|
473
|
-
...
|
|
499
|
+
...coordinatorInfoMeta(entry.opts.submission)
|
|
474
500
|
});
|
|
475
501
|
} else if (!entry.opts.silent) {
|
|
476
502
|
emit({
|
|
477
503
|
type: "user-message",
|
|
478
504
|
text: entry.opts.displayText,
|
|
479
|
-
...entry.opts.attachmentLabels?.length ? { attachmentLabels: entry.opts.attachmentLabels } : {}
|
|
505
|
+
...entry.opts.attachmentLabels?.length ? { attachmentLabels: entry.opts.attachmentLabels } : {},
|
|
506
|
+
// The drain stamps event.at at delivery; steeredAt preserves when
|
|
507
|
+
// the client actually queued the input — the HUD's "time since
|
|
508
|
+
// last input" and the persisted steer marker both key off it.
|
|
509
|
+
steeredAt: entry.queuedAt
|
|
480
510
|
});
|
|
481
511
|
}
|
|
482
512
|
}
|
|
483
|
-
return
|
|
484
|
-
(entry) =>
|
|
513
|
+
return current.map(
|
|
514
|
+
(entry) => ({
|
|
515
|
+
input: entry.input,
|
|
516
|
+
submission: entry.opts.submission ?? { origin: "user" },
|
|
517
|
+
steeredAt: entry.queuedAt
|
|
518
|
+
})
|
|
485
519
|
);
|
|
486
520
|
};
|
|
487
521
|
const previousTurnId = activeTurnId;
|
|
@@ -498,7 +532,15 @@ function createSessionController(deps) {
|
|
|
498
532
|
if (!opts.systemInitiated && guardPrompt) {
|
|
499
533
|
let guarded;
|
|
500
534
|
try {
|
|
535
|
+
if (opts.signal?.aborted) {
|
|
536
|
+
terminalStatus = "aborted";
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
501
539
|
guarded = await guardPrompt(input);
|
|
540
|
+
if (opts.signal?.aborted) {
|
|
541
|
+
terminalStatus = "aborted";
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
502
544
|
} catch (error) {
|
|
503
545
|
terminalStatus = "failed";
|
|
504
546
|
terminalMessage = errorDetail(error);
|
|
@@ -513,11 +555,15 @@ function createSessionController(deps) {
|
|
|
513
555
|
}
|
|
514
556
|
finalInput = preservesVerbatimCoordinatorInput(opts.submission) ? input : guarded.prompt;
|
|
515
557
|
}
|
|
558
|
+
if (opts.signal?.aborted) {
|
|
559
|
+
terminalStatus = "aborted";
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
516
562
|
if (opts.coordinatorDisplayText !== void 0) {
|
|
517
563
|
emit({
|
|
518
564
|
type: "info",
|
|
519
565
|
message: sanitizeCoordinatorDeliveryText(opts.coordinatorDisplayText),
|
|
520
|
-
...
|
|
566
|
+
...coordinatorInfoMeta(opts.submission)
|
|
521
567
|
});
|
|
522
568
|
}
|
|
523
569
|
const compactionSend = (text) => runTurn(text, {
|
|
@@ -616,6 +662,11 @@ function createSessionController(deps) {
|
|
|
616
662
|
activeTurnPromise = tracked;
|
|
617
663
|
return tracked;
|
|
618
664
|
}
|
|
665
|
+
function observeAcceptedTurn(turn, turnId) {
|
|
666
|
+
void turn.catch((error) => {
|
|
667
|
+
emit({ type: "error", message: errorDetail(error) }, turnId);
|
|
668
|
+
});
|
|
669
|
+
}
|
|
619
670
|
function detachController() {
|
|
620
671
|
if (detached) return;
|
|
621
672
|
detached = true;
|
|
@@ -627,15 +678,15 @@ function createSessionController(deps) {
|
|
|
627
678
|
abortListeners.clear();
|
|
628
679
|
}
|
|
629
680
|
return {
|
|
630
|
-
abort() {
|
|
631
|
-
queue.length = 0;
|
|
681
|
+
abort(intent = "cancel") {
|
|
632
682
|
const reason = new Error("User aborted the current turn.");
|
|
633
683
|
for (const listener of abortListeners) {
|
|
634
684
|
try {
|
|
635
|
-
listener(reason);
|
|
685
|
+
listener(reason, intent);
|
|
636
686
|
} catch {
|
|
637
687
|
}
|
|
638
688
|
}
|
|
689
|
+
queue.length = 0;
|
|
639
690
|
abortController?.abort(reason);
|
|
640
691
|
rejectAllPending("User aborted the current turn.");
|
|
641
692
|
},
|
|
@@ -825,7 +876,11 @@ function createSessionController(deps) {
|
|
|
825
876
|
emit({
|
|
826
877
|
type: "user-message",
|
|
827
878
|
text,
|
|
828
|
-
...attachmentLabels?.length ? { attachmentLabels } : {}
|
|
879
|
+
...attachmentLabels?.length ? { attachmentLabels } : {},
|
|
880
|
+
// An echo emitted while a turn is in flight is a display-only
|
|
881
|
+
// interjection, never a turn opener — mark it like a drained steer so
|
|
882
|
+
// the WorkingStatusLine anchor and the persisted row both skip it.
|
|
883
|
+
...abortController !== null || hostBusyCount > 0 ? { steeredAt: now() } : {}
|
|
829
884
|
});
|
|
830
885
|
},
|
|
831
886
|
getSnapshot() {
|
|
@@ -912,7 +967,8 @@ function createSessionController(deps) {
|
|
|
912
967
|
id: `q-${++queueCounter}`,
|
|
913
968
|
input,
|
|
914
969
|
opts,
|
|
915
|
-
delivery: abortController !== null && opts
|
|
970
|
+
delivery: abortController !== null && allowsSteering(opts) ? "steering" : "next-turn",
|
|
971
|
+
queuedAt: now()
|
|
916
972
|
});
|
|
917
973
|
emitTurnStatus();
|
|
918
974
|
return;
|
|
@@ -928,13 +984,15 @@ function createSessionController(deps) {
|
|
|
928
984
|
opts.turnId
|
|
929
985
|
);
|
|
930
986
|
}
|
|
931
|
-
|
|
987
|
+
const turn = startTrackedTurn(input, {
|
|
932
988
|
turnId: opts.turnId,
|
|
933
|
-
allowSteering: opts
|
|
989
|
+
allowSteering: allowsSteering(opts),
|
|
934
990
|
submission: opts.submission ?? { origin: "user" },
|
|
935
991
|
...coordinatorOwned ? { coordinatorDisplayText: opts.displayText } : {},
|
|
936
992
|
...opts.signal === void 0 ? {} : { signal: opts.signal }
|
|
937
993
|
});
|
|
994
|
+
if (opts.waitFor === "acceptance") observeAcceptedTurn(turn, opts.turnId);
|
|
995
|
+
else await turn;
|
|
938
996
|
}
|
|
939
997
|
};
|
|
940
998
|
}
|
|
@@ -63,6 +63,12 @@ export interface SessionControllerDeps {
|
|
|
63
63
|
}
|
|
64
64
|
export type SubmitOptions = {
|
|
65
65
|
displayText: string;
|
|
66
|
+
/**
|
|
67
|
+
* Resolve after admission, even when idle. Execution remains controller-owned;
|
|
68
|
+
* failures are reported through events, and close still waits for the turn.
|
|
69
|
+
* Omit to retain the normal idle-turn completion / busy-queue acceptance behavior.
|
|
70
|
+
*/
|
|
71
|
+
waitFor?: "acceptance";
|
|
66
72
|
attachmentLabels?: string[];
|
|
67
73
|
/** Immutable ownership metadata forwarded with this exact agent send. */
|
|
68
74
|
submission?: AgentSubmission;
|
|
@@ -76,10 +82,11 @@ export type SubmitOptions = {
|
|
|
76
82
|
/** Caller identifier copied onto all events produced by this turn. */
|
|
77
83
|
turnId?: string;
|
|
78
84
|
};
|
|
85
|
+
export type SessionStopIntent = "cancel" | "suspend";
|
|
79
86
|
export interface SessionController {
|
|
80
|
-
abort(): void;
|
|
81
|
-
/** Observe
|
|
82
|
-
onAbort(listener: (reason: unknown) => void): () => void;
|
|
87
|
+
abort(intent?: SessionStopIntent): void;
|
|
88
|
+
/** Observe lifecycle intent before signals, queues or approval resolvers stop. */
|
|
89
|
+
onAbort(listener: (reason: unknown, intent: SessionStopIntent) => void): () => void;
|
|
83
90
|
/**
|
|
84
91
|
* Attach runtime-scoped hooks the daemon's session host owns. The host is
|
|
85
92
|
* built after the controller (it needs the controller), so compaction +
|
|
@@ -171,7 +178,8 @@ export interface SessionController {
|
|
|
171
178
|
* Submit user input. If no turn is active, the returned promise resolves
|
|
172
179
|
* when the turn completes. If a turn is already active, the submission is
|
|
173
180
|
* queued and the promise resolves at ENQUEUE time — remote transports should
|
|
174
|
-
* ack on acceptance and observe completion via `turn-status` events.
|
|
181
|
+
* ack on acceptance and observe completion via `turn-status` events. Callers
|
|
182
|
+
* needing acceptance in both cases can opt into `waitFor: "acceptance"`.
|
|
175
183
|
*/
|
|
176
184
|
submit(input: AgentInput, opts: SubmitOptions): Promise<void>;
|
|
177
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/controller/session-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/controller/session-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,KAAK,OAAO,EAEZ,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAGV,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,gBAAgB,EAChB,YAAY,EAEZ,4BAA4B,EAC5B,2BAA2B,EAC3B,WAAW,EAEX,WAAW,EACX,eAAe,EACf,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5F,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,6BAA6B,GAAG,MAAM,CAazF;AAED,gGAAgG;AAChG,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CACF,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,WAAW,CAAC;QACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;QACnC,UAAU,EAAE,eAAe,CAAC;KAC7B,GACA,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAwBnF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kEAAkE;IAClE,oBAAoB,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACpD,iFAAiF;IACjF,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACpD,mFAAmF;IACnF,GAAG,CAAC,IAAI,EAAE;QACR,MAAM,EAAE,WAAW,CAAC;QACpB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,wEAAwE;IACxE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACzC;;;OAGG;IACH,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACpF;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,EAAE;QACrB,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;KAC3D,GAAG,IAAI,CAAC;IACT,8DAA8D;IAC9D,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,OAAO,CAAC;IACX,yDAAyD;IACzD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,uFAAuF;IACvF,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,OAAO,CAAC;IACX,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,4BAA4B,EACrC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IACpD,gGAAgG;IAChG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjE;;;;OAIG;IACH,WAAW,IAAI,eAAe,CAAC;IAC/B,mFAAmF;IACnF,UAAU,IAAI,OAAO,CAAC;IACtB,wFAAwF;IACxF,YAAY,IAAI,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAC5D,+FAA+F;IAC/F,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrD,uEAAuE;IACvE,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClE,6DAA6D;IAC7D,2BAA2B,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACrE;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,iEAAiE;IACjE,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAChE,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAmBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CA2mCtF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BackgroundWorkInspection, BackgroundWorkPage } from "./types.ts";
|
|
1
|
+
import type { BackgroundWorkCancellationResult, BackgroundWorkInspection, BackgroundWorkPage } from "./types.ts";
|
|
2
2
|
/** Wire-facing managed-work bounds shared by every protocol producer and consumer. */
|
|
3
3
|
export declare const BACKGROUND_WORK_PROTOCOL_LIMITS: Readonly<{
|
|
4
4
|
idChars: 128;
|
|
@@ -23,4 +23,6 @@ export declare class BackgroundWorkResultValidationError extends Error {
|
|
|
23
23
|
export declare function parseBackgroundWorkPage(value: unknown): BackgroundWorkPage;
|
|
24
24
|
/** Validate and clone an untrusted managed-work inspection. */
|
|
25
25
|
export declare function parseBackgroundWorkInspection(value: unknown): BackgroundWorkInspection;
|
|
26
|
+
/** Validate and clone an untrusted managed-work cancellation ack. */
|
|
27
|
+
export declare function parseBackgroundWorkCancellation(value: unknown): BackgroundWorkCancellationResult;
|
|
26
28
|
//# sourceMappingURL=background-work.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-work.d.ts","sourceRoot":"","sources":["../../src/protocol/background-work.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,sFAAsF;AACtF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;EAa1C,CAAC;AAEH,2FAA2F;AAC3F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQjF;AAID,qBAAa,mCAAoC,SAAQ,KAAK;;CAK7D;AAoND,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAmB1E;AAED,+DAA+D;AAC/D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAoCtF"}
|
|
1
|
+
{"version":3,"file":"background-work.d.ts","sourceRoot":"","sources":["../../src/protocol/background-work.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gCAAgC,EAChC,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,sFAAsF;AACtF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;EAa1C,CAAC;AAEH,2FAA2F;AAC3F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQjF;AAID,qBAAa,mCAAoC,SAAQ,KAAK;;CAK7D;AAoND,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAmB1E;AAED,+DAA+D;AAC/D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAoCtF;AAED,qEAAqE;AACrE,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,gCAAgC,CAShG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentModelSetsView, AgentModelTierMappings, ConfigMutationResult, HistoryPage, ListHistoryParams, ListHistoryWorkspacesParams, ListHistoryWorkspacesResult, ListWorkspaceHistoryParams, PersistenceIdentity, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, ProviderSurfaceId, SessionSnapshot, WorkspaceConfigSummary, WorkspaceHistoryPage } from "./types.ts";
|
|
1
|
+
import type { AgentModelSetsView, AgentModelTierMappings, ConfigMutationResult, HistoryPage, ListHistoryParams, ListHistoryWorkspacesParams, ListHistoryWorkspacesResult, ListWorkspaceHistoryParams, ModelReasoningCapabilityView, PersistenceIdentity, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, ProviderSurfaceId, SessionSnapshot, WorkspaceConfigSummary, WorkspaceHistoryPage } from "./types.ts";
|
|
2
2
|
export type DataRpcErrorCode = "invalid-input" | "not-found" | "conflict" | "unsupported" | "unauthorized" | "daemon-offline" | "transcript-unavailable" | "transcript-corrupt" | "history-state-conflict" | "ambiguous-session-identity" | "invalid-history-cursor" | "internal";
|
|
3
3
|
export type DataRpcError = {
|
|
4
4
|
code: DataRpcErrorCode;
|
|
@@ -123,6 +123,13 @@ export type DataRpcSchema = {
|
|
|
123
123
|
};
|
|
124
124
|
result: ConfigMutationResult<WorkspaceConfigSummary>;
|
|
125
125
|
};
|
|
126
|
+
"get-model-reasoning-capability": {
|
|
127
|
+
params: {
|
|
128
|
+
profile: string;
|
|
129
|
+
selector: string;
|
|
130
|
+
};
|
|
131
|
+
result: ModelReasoningCapabilityView;
|
|
132
|
+
};
|
|
126
133
|
"list-agent-model-sets": {
|
|
127
134
|
params: {
|
|
128
135
|
profile: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-rpc.d.ts","sourceRoot":"","sources":["../../src/protocol/data-rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-rpc.d.ts","sourceRoot":"","sources":["../../src/protocol/data-rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/index.js
CHANGED
|
@@ -9,10 +9,11 @@ import {
|
|
|
9
9
|
BACKGROUND_WORK_PROTOCOL_LIMITS,
|
|
10
10
|
BackgroundWorkResultValidationError,
|
|
11
11
|
PROTOCOL_VERSION,
|
|
12
|
+
parseBackgroundWorkCancellation,
|
|
12
13
|
parseBackgroundWorkInspection,
|
|
13
14
|
parseBackgroundWorkPage,
|
|
14
15
|
truncateBackgroundWorkText
|
|
15
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-Y7JPSYTH.js";
|
|
16
17
|
import {
|
|
17
18
|
AGENT_MODEL_TIERS,
|
|
18
19
|
GRANT_CAPABILITIES,
|
|
@@ -30,6 +31,7 @@ export {
|
|
|
30
31
|
escapeLikeLiteral,
|
|
31
32
|
modelNameFromIdentity,
|
|
32
33
|
normalizeHistoryText,
|
|
34
|
+
parseBackgroundWorkCancellation,
|
|
33
35
|
parseBackgroundWorkInspection,
|
|
34
36
|
parseBackgroundWorkPage,
|
|
35
37
|
providerFromIdentity,
|
package/dist/protocol/types.d.ts
CHANGED
|
@@ -275,9 +275,11 @@ export type SessionViewState = {
|
|
|
275
275
|
messages: MessageState;
|
|
276
276
|
meta: SessionMeta;
|
|
277
277
|
/**
|
|
278
|
-
* Latest replicated agent metrics
|
|
279
|
-
*
|
|
280
|
-
*
|
|
278
|
+
* Latest replicated agent metrics, or null before the first `metrics` event
|
|
279
|
+
* (spec §4.3). Includes main-agent live request estimates and latest-call
|
|
280
|
+
* first-output latency; cumulative accounting also includes delegated/background
|
|
281
|
+
* work. Reconnect retains server-measured timing, never a client clock origin.
|
|
282
|
+
* The TUI renders this in the status footer, not the message transcript.
|
|
281
283
|
*/
|
|
282
284
|
metrics: AgentMetricsSnapshot | null;
|
|
283
285
|
queuedCount: number;
|
|
@@ -347,6 +349,11 @@ export type BackgroundWorkInspection = Readonly<{
|
|
|
347
349
|
}>;
|
|
348
350
|
detail: JsonObject;
|
|
349
351
|
}>;
|
|
352
|
+
/** Compact ack for `cancel-background-work`; validated by `parseBackgroundWorkCancellation`. */
|
|
353
|
+
export type BackgroundWorkCancellationResult = {
|
|
354
|
+
workId: string;
|
|
355
|
+
outcome: "cancelled" | "already-terminal";
|
|
356
|
+
};
|
|
350
357
|
export type SessionSnapshot = {
|
|
351
358
|
seq: number;
|
|
352
359
|
state: SessionViewState;
|
|
@@ -402,6 +409,12 @@ export type ServerEventBody = {
|
|
|
402
409
|
type: "user-message";
|
|
403
410
|
text: string;
|
|
404
411
|
attachmentLabels?: string[];
|
|
412
|
+
/**
|
|
413
|
+
* ms epoch when a mid-turn steer was queued by the client. Present only
|
|
414
|
+
* on drained steering rows; absent on turn-opening submits and command
|
|
415
|
+
* echoes — the WorkingStatusLine turn anchor keys off it.
|
|
416
|
+
*/
|
|
417
|
+
steeredAt?: number;
|
|
405
418
|
} | {
|
|
406
419
|
type: "approval-requested";
|
|
407
420
|
approval: ApprovalDescriptor;
|
|
@@ -440,6 +453,24 @@ export type ServerEventBody = {
|
|
|
440
453
|
type: "info";
|
|
441
454
|
message: string;
|
|
442
455
|
subagentReport?: SubagentReportMeta;
|
|
456
|
+
deliveryKind?: never;
|
|
457
|
+
transcriptVisibility?: never;
|
|
458
|
+
} | {
|
|
459
|
+
type: "info";
|
|
460
|
+
message: string;
|
|
461
|
+
deliveryKind: "bash-completion";
|
|
462
|
+
transcriptVisibility: "agent-only";
|
|
463
|
+
subagentReport?: never;
|
|
464
|
+
presentation?: never;
|
|
465
|
+
noticeRole?: never;
|
|
466
|
+
} | {
|
|
467
|
+
type: "info";
|
|
468
|
+
message: string;
|
|
469
|
+
deliveryKind: "background-work-stopped";
|
|
470
|
+
transcriptVisibility: "agent-only";
|
|
471
|
+
subagentReport?: never;
|
|
472
|
+
presentation?: never;
|
|
473
|
+
noticeRole?: never;
|
|
443
474
|
} | {
|
|
444
475
|
type: "error";
|
|
445
476
|
message: string;
|
|
@@ -448,9 +479,12 @@ export type ServerEventBody = {
|
|
|
448
479
|
meta: SessionMeta;
|
|
449
480
|
} | {
|
|
450
481
|
/**
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
*
|
|
482
|
+
* Agent metrics, throttled to ~1/s with immediate request identity/retry,
|
|
483
|
+
* terminal and completed-accounting updates, plus a turn-end flush (spec §4.3).
|
|
484
|
+
* Optional liveModelRequest and currentTimeToFirstOutputMs describe only
|
|
485
|
+
* the main agent; live estimates never enter additive usage/cost totals.
|
|
486
|
+
* Timing values are elapsed durations, not raw clock origins or samples.
|
|
487
|
+
* The snapshot is the JSON-safe AgentMetricsSnapshot from @nuvin/agent-core; AgentEvent's
|
|
454
488
|
* wire-frozen rule applies here too — changes require a PROTOCOL_VERSION
|
|
455
489
|
* bump enforced by the json-safety test.
|
|
456
490
|
*/
|
|
@@ -712,12 +746,21 @@ export type ConsolidateProposalDetail = ConsolidateProposalSummary & {
|
|
|
712
746
|
memoryOps: ReadonlyArray<ConsolidateProposalOperation>;
|
|
713
747
|
/** Parsed skill ops (create_skill/update_skill/write_file). */
|
|
714
748
|
skillOps: ReadonlyArray<ConsolidateProposalOperation>;
|
|
749
|
+
applyReceipt?: ConsolidateApplyReceipt;
|
|
750
|
+
applyError?: string;
|
|
751
|
+
applicationPending?: boolean;
|
|
715
752
|
};
|
|
753
|
+
export type ConsolidateProposalStatus = "awaiting_review" | "approved" | "rejected" | "applied" | "failed";
|
|
754
|
+
export type ConsolidateApplyReceipt = Readonly<{
|
|
755
|
+
memoryOpCount: number;
|
|
756
|
+
skillOpCount: number;
|
|
757
|
+
skippedSkillOpCount: number;
|
|
758
|
+
}>;
|
|
716
759
|
/**
|
|
717
760
|
* Result of a `run-consolidate` / `run-consolidate-interactive` command. Fast
|
|
718
761
|
* terminal outcomes (noop/skipped/quick failure) are acked directly; a run
|
|
719
|
-
* still
|
|
720
|
-
* `started`, and the
|
|
762
|
+
* still generating/applying after the daemon's short ack grace is acked as
|
|
763
|
+
* `started`, and the completion notification announces completion. JSON-safe by
|
|
721
764
|
* rule (guarded by the round-trip test).
|
|
722
765
|
*/
|
|
723
766
|
export type ConsolidateRunOutcome = {
|
|
@@ -727,17 +770,25 @@ export type ConsolidateRunOutcome = {
|
|
|
727
770
|
outcome: "proposal";
|
|
728
771
|
proposalId: string;
|
|
729
772
|
memoryOpCount: number;
|
|
730
|
-
} | {
|
|
773
|
+
} | ({
|
|
774
|
+
outcome: "applied";
|
|
775
|
+
proposalId: string;
|
|
776
|
+
} & ConsolidateApplyReceipt) | {
|
|
731
777
|
outcome: "noop";
|
|
732
778
|
} | {
|
|
733
779
|
outcome: "started";
|
|
734
780
|
} | {
|
|
735
781
|
outcome: "failed";
|
|
736
782
|
reason: string;
|
|
783
|
+
proposalId?: string;
|
|
784
|
+
proposalStatus?: ConsolidateProposalStatus;
|
|
737
785
|
};
|
|
738
786
|
export type ClientCommand = {
|
|
739
787
|
id: string;
|
|
740
788
|
type: "submit";
|
|
789
|
+
submission?: never;
|
|
790
|
+
deliveryKind?: never;
|
|
791
|
+
transcriptVisibility?: never;
|
|
741
792
|
input: AgentInput;
|
|
742
793
|
displayText: string;
|
|
743
794
|
attachmentLabels?: string[];
|
|
@@ -777,6 +828,10 @@ export type ClientCommand = {
|
|
|
777
828
|
workId: string;
|
|
778
829
|
offset?: number;
|
|
779
830
|
limit?: number;
|
|
831
|
+
} | {
|
|
832
|
+
id: string;
|
|
833
|
+
type: "cancel-background-work";
|
|
834
|
+
workId: string;
|
|
780
835
|
} | {
|
|
781
836
|
id: string;
|
|
782
837
|
type: "dequeue";
|
|
@@ -1259,7 +1314,11 @@ export type ProviderConfigSummary = {
|
|
|
1259
1314
|
};
|
|
1260
1315
|
export declare const AGENT_MODEL_TIERS: readonly ["fast", "balanced", "powerful"];
|
|
1261
1316
|
export type AgentModelTier = (typeof AGENT_MODEL_TIERS)[number];
|
|
1262
|
-
export type
|
|
1317
|
+
export type AgentModelTierEntry = string | {
|
|
1318
|
+
model: string;
|
|
1319
|
+
reasoning?: string;
|
|
1320
|
+
};
|
|
1321
|
+
export type AgentModelTierMappings = Partial<Record<AgentModelTier, AgentModelTierEntry>>;
|
|
1263
1322
|
export type AgentModelSetSummary = {
|
|
1264
1323
|
name: string;
|
|
1265
1324
|
mappings: AgentModelTierMappings;
|
|
@@ -1270,6 +1329,17 @@ export type AgentModelSetReferenceSummary = {
|
|
|
1270
1329
|
name: string;
|
|
1271
1330
|
valid: boolean;
|
|
1272
1331
|
};
|
|
1332
|
+
/** Credential-free, model-specific reasoning choices for a configured provider selector. */
|
|
1333
|
+
export type ModelReasoningCapabilityView = {
|
|
1334
|
+
selector: string;
|
|
1335
|
+
modelIdentity: string;
|
|
1336
|
+
options: Array<{
|
|
1337
|
+
id: string;
|
|
1338
|
+
description?: string;
|
|
1339
|
+
}>;
|
|
1340
|
+
canDisable: boolean;
|
|
1341
|
+
defaultOption?: string;
|
|
1342
|
+
};
|
|
1273
1343
|
export type AgentModelSetsView = {
|
|
1274
1344
|
sets: AgentModelSetSummary[];
|
|
1275
1345
|
profileDefault?: AgentModelSetReferenceSummary;
|
|
@@ -1363,7 +1433,8 @@ export type PersistenceIdentity = Readonly<{
|
|
|
1363
1433
|
sessionId: string;
|
|
1364
1434
|
}>;
|
|
1365
1435
|
/**
|
|
1366
|
-
*
|
|
1436
|
+
* Catalog-backed session metadata, cold/resumable by default (spec §8).
|
|
1437
|
+
* Active user sessions are also returned when includeActive is requested.
|
|
1367
1438
|
* Display-only metadata; resuming it sends a `load-history` command after
|
|
1368
1439
|
* attaching to a (new or existing) live session.
|
|
1369
1440
|
*/
|
|
@@ -1396,12 +1467,16 @@ export type ListHistoryParams = Readonly<{
|
|
|
1396
1467
|
limit?: number;
|
|
1397
1468
|
cursor?: string;
|
|
1398
1469
|
includeExtraction?: boolean;
|
|
1470
|
+
/** Opt into active user sessions as well as cold history. Defaults to false. */
|
|
1471
|
+
includeActive?: boolean;
|
|
1399
1472
|
}>;
|
|
1400
1473
|
export type ListHistoryWorkspacesParams = Readonly<{
|
|
1401
1474
|
profile?: string;
|
|
1402
1475
|
currentCwd?: string;
|
|
1403
1476
|
query?: string;
|
|
1404
1477
|
includeExtraction?: boolean;
|
|
1478
|
+
/** Opt into active user sessions as well as cold history. Defaults to false. */
|
|
1479
|
+
includeActive?: boolean;
|
|
1405
1480
|
}>;
|
|
1406
1481
|
export type HistoryWorkspaceSummary = Readonly<{
|
|
1407
1482
|
workspace: string;
|
|
@@ -1421,6 +1496,8 @@ export type ListWorkspaceHistoryParams = Readonly<{
|
|
|
1421
1496
|
limit?: number;
|
|
1422
1497
|
cursor?: string;
|
|
1423
1498
|
includeExtraction?: boolean;
|
|
1499
|
+
/** Opt into active user sessions as well as cold history. Defaults to false. */
|
|
1500
|
+
includeActive?: boolean;
|
|
1424
1501
|
}>;
|
|
1425
1502
|
export type WorkspaceHistoryPage = Readonly<{
|
|
1426
1503
|
profile: string;
|