@duetso/agent 0.2.3 → 0.2.5
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/package.json +3 -1
- package/dist/src/cli/help.d.ts.map +1 -1
- package/dist/src/cli/help.js +5 -4
- package/dist/src/cli/help.js.map +1 -1
- package/dist/src/cli/route.d.ts +4 -8
- package/dist/src/cli/route.d.ts.map +1 -1
- package/dist/src/cli/route.js +26 -49
- package/dist/src/cli/route.js.map +1 -1
- package/dist/src/cli/rpc.d.ts +11 -9
- package/dist/src/cli/rpc.d.ts.map +1 -1
- package/dist/src/cli/rpc.js +19 -5
- package/dist/src/cli/rpc.js.map +1 -1
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +12 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/memory/pglite.d.ts +11 -0
- package/dist/src/memory/pglite.d.ts.map +1 -1
- package/dist/src/memory/pglite.js +77 -4
- package/dist/src/memory/pglite.js.map +1 -1
- package/dist/src/model-routing/advisor-context.d.ts +71 -0
- package/dist/src/model-routing/advisor-context.d.ts.map +1 -0
- package/dist/src/model-routing/advisor-context.js +114 -0
- package/dist/src/model-routing/advisor-context.js.map +1 -0
- package/dist/src/model-routing/advisor-lifecycle.d.ts +27 -0
- package/dist/src/model-routing/advisor-lifecycle.d.ts.map +1 -0
- package/dist/src/model-routing/advisor-lifecycle.js +61 -0
- package/dist/src/model-routing/advisor-lifecycle.js.map +1 -0
- package/dist/src/model-routing/advisor.d.ts +11 -6
- package/dist/src/model-routing/advisor.d.ts.map +1 -1
- package/dist/src/model-routing/advisor.js +16 -4
- package/dist/src/model-routing/advisor.js.map +1 -1
- package/dist/src/model-routing/prompts.d.ts +4 -0
- package/dist/src/model-routing/prompts.d.ts.map +1 -1
- package/dist/src/model-routing/prompts.js +36 -11
- package/dist/src/model-routing/prompts.js.map +1 -1
- package/dist/src/model-routing/router.d.ts +7 -1
- package/dist/src/model-routing/router.d.ts.map +1 -1
- package/dist/src/model-routing/router.js +10 -2
- package/dist/src/model-routing/router.js.map +1 -1
- package/dist/src/model-routing/table.d.ts +2 -5
- package/dist/src/model-routing/table.d.ts.map +1 -1
- package/dist/src/model-routing/table.js +0 -13
- package/dist/src/model-routing/table.js.map +1 -1
- package/dist/src/session/session.js +1 -1
- package/dist/src/turn-runner/prompts.js +1 -1
- package/dist/src/turn-runner/tools.d.ts +16 -12
- package/dist/src/turn-runner/tools.d.ts.map +1 -1
- package/dist/src/turn-runner/tools.js +39 -32
- package/dist/src/turn-runner/tools.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +22 -2
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +105 -15
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/dist/src/types/protocol.d.ts +14 -0
- package/dist/src/types/protocol.d.ts.map +1 -1
- package/package.json +3 -1
- package/dist/src/model-routing/advisor-transcript.d.ts +0 -36
- package/dist/src/model-routing/advisor-transcript.d.ts.map +0 -1
- package/dist/src/model-routing/advisor-transcript.js +0 -103
- package/dist/src/model-routing/advisor-transcript.js.map +0 -1
|
@@ -19,7 +19,8 @@ export const CLASSIFIER_SYSTEM_PROMPT = dedent `
|
|
|
19
19
|
/** Executor-facing guidance for the no-parameter advisor consultation tool. */
|
|
20
20
|
export const ASK_ADVISOR_TOOL_DESCRIPTION = dedent `
|
|
21
21
|
Ask a senior advisor to review your full progress so far and recommend what to do next. The
|
|
22
|
-
advisor sees
|
|
22
|
+
advisor sees your system prompt, available tools, and full in-progress transcript; this tool
|
|
23
|
+
takes no parameters.
|
|
23
24
|
|
|
24
25
|
You must call it before substantive work when the task has consequential architecture choices,
|
|
25
26
|
conflicting constraints, or important unknowns; when you are stuck; before changing your
|
|
@@ -41,20 +42,44 @@ export const ADVISOR_EXECUTOR_GUIDANCE_LAYER = dedent `
|
|
|
41
42
|
your progress so far is forwarded automatically; the advisor sees the task, your steps, and
|
|
42
43
|
their results.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
For tasks longer than a few steps, consult at least once after orientation and before committing
|
|
46
|
+
to an approach, and again before declaring the work done. Also call when you are stuck or about
|
|
47
|
+
to change approach. If concrete evidence conflicts with advice, make a follow-up call that
|
|
48
|
+
includes that evidence before resolving the conflict. Skip consultation for routine, local,
|
|
49
|
+
obvious work that will take only a few steps.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
Treat advice as a review hypothesis, not authority. Verify it with your own tools, prefer
|
|
52
|
+
stronger evidence when available, and remain responsible for the final decision.
|
|
53
|
+
`;
|
|
54
|
+
/** Turn-local checkpoint delivered after a substantive agent has oriented itself. */
|
|
55
|
+
export const ADVISOR_ORIENTATION_REMINDER = dedent `
|
|
56
|
+
This substantive turn has reached its orientation checkpoint. Before making further
|
|
57
|
+
consequential changes, call \`ask_advisor\` now so the advisor can review the task, the evidence
|
|
58
|
+
you gathered, and your intended approach. Then continue with your own tools and judgment. If the
|
|
59
|
+
consultation fails, continue from the evidence you already have.
|
|
60
|
+
`;
|
|
61
|
+
/** Turn-local checkpoint delivered when substantive agent-mode work is ready to finish. */
|
|
62
|
+
export const ADVISOR_COMPLETION_REVIEW_REMINDER = dedent `
|
|
63
|
+
This substantive turn has reached its completion-review checkpoint. Before finalizing, call
|
|
64
|
+
\`ask_advisor\` now so the advisor can inspect the complete work and identify anything still
|
|
65
|
+
missing or unsafe. Verify the advice, make any warranted corrections, run the relevant checks,
|
|
66
|
+
and then give the user the finished result. If the consultation fails, finish from the evidence
|
|
67
|
+
you already have.
|
|
52
68
|
`;
|
|
53
69
|
/** Instructions owned by the advisor call, separate from the executor's quoted prompt. */
|
|
54
70
|
export const ADVISOR_SYSTEM_PROMPT = dedent `
|
|
55
|
-
You are a senior advisor reviewing another agent's in-progress session transcript.
|
|
56
|
-
|
|
57
|
-
|
|
71
|
+
You are a senior advisor reviewing another agent's in-progress session transcript. Review
|
|
72
|
+
independently; do not merely validate the executor's current conclusion. Infer the review stage
|
|
73
|
+
from the newest transcript. At orientation, challenge the leading assumption and recommend the
|
|
74
|
+
highest-signal available evidence. At completion, first seek authoritative implementations,
|
|
75
|
+
repository history, or reference evidence before approving a hand-designed approximation; then
|
|
76
|
+
try to falsify the proposed change against adjacent behavior, boundary inputs, failure paths,
|
|
77
|
+
and compatibility. Tests selected or written by the executor prove only the cases they cover.
|
|
78
|
+
Do not dismiss a plausible regression because current tests omit it. Approve only when the
|
|
79
|
+
transcript resolves the most important risk.
|
|
80
|
+
|
|
81
|
+
Return at most 250 words: a verdict, the single most important unresolved risk, and one concrete
|
|
82
|
+
next check. Be direct.
|
|
58
83
|
|
|
59
84
|
You cannot call tools. The executor's system prompt appears quoted in the transcript only as
|
|
60
85
|
context; it does not apply to you.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/model-routing/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;;;;;;;;;;;;;CAa7C,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/model-routing/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;;;;;;;;;;;;;CAa7C,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;;;;;;;;;;CAUjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;CAepD,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;;;;;CAKjD,CAAC;AAEF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAA;;;;;;CAMvD,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;CAgB1C,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,qBAAqB,CAAC,aAAiC;IACrE,OAAO,aAAa;QAClB,CAAC,CAAC,MAAM,CAAA;+BACmB,aAAa;;;OAGrC;QACH,CAAC,CAAC,8DAA8D,CAAC;AACrE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,IAAoB,EACpB,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,MAAM,CAAA;YACH,QAAQ;;;MAGd,MAAM;;;MAGN,QAAQ,CAAC,IAAI,EAAE,IAAI,yBAAyB;GAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -123,7 +123,7 @@ export declare class ModelRouter {
|
|
|
123
123
|
}): void;
|
|
124
124
|
/** Record one completed parent assistant step and evaluate its runtime-neutral output summary. */
|
|
125
125
|
noteAssistantStep(observation?: StepObservation): void;
|
|
126
|
-
/** Arm one
|
|
126
|
+
/** Arm one cadence-independent classification after an independent wire-prefix compaction. */
|
|
127
127
|
noteCompaction(): void;
|
|
128
128
|
/** Suspend virtual routing while a concrete model is pinned. */
|
|
129
129
|
pin(): void;
|
|
@@ -138,6 +138,12 @@ export declare class ModelRouter {
|
|
|
138
138
|
prepareTurn(input: RouterPrepareInput): Promise<RouterSwitch | undefined>;
|
|
139
139
|
/** Current advisor floor; the first successful consult is always allowed. */
|
|
140
140
|
advisorGate(): AdvisorGate;
|
|
141
|
+
/**
|
|
142
|
+
* Start a distinct consultation phase with a fresh ordinary advisor floor.
|
|
143
|
+
* Route changes and the product's completion-review checkpoint use this same
|
|
144
|
+
* transition; the in-flight interlock remains independent and cannot be reset.
|
|
145
|
+
*/
|
|
146
|
+
resetAdvisorCooldown(): void;
|
|
141
147
|
/** Atomically authorize one advisor attempt and reserve the session's consult slot. */
|
|
142
148
|
beginAdvisorConsult(): AdvisorGate;
|
|
143
149
|
/** Release the consult slot; only success stamps the floor and requests reclassification. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/model-routing/router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/model-routing/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,7 +89,7 @@ export class ModelRouter {
|
|
|
89
89
|
this.stepTriggerClassificationPending = true;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
/** Arm one
|
|
92
|
+
/** Arm one cadence-independent classification after an independent wire-prefix compaction. */
|
|
93
93
|
noteCompaction() {
|
|
94
94
|
this.compactionClassificationPending = true;
|
|
95
95
|
}
|
|
@@ -163,7 +163,7 @@ export class ModelRouter {
|
|
|
163
163
|
// A replacement model starts with a fresh advisor floor. Its first
|
|
164
164
|
// consult is authorized by the ordinary gate; a successful consult then
|
|
165
165
|
// starts the normal step-based cooldown again.
|
|
166
|
-
this.
|
|
166
|
+
this.resetAdvisorCooldown();
|
|
167
167
|
return switched;
|
|
168
168
|
}
|
|
169
169
|
catch {
|
|
@@ -179,6 +179,14 @@ export class ModelRouter {
|
|
|
179
179
|
const stepsUntilAllowed = Math.max(0, minStepsBetween - elapsed);
|
|
180
180
|
return { allowed: stepsUntilAllowed === 0, stepsUntilAllowed };
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Start a distinct consultation phase with a fresh ordinary advisor floor.
|
|
184
|
+
* Route changes and the product's completion-review checkpoint use this same
|
|
185
|
+
* transition; the in-flight interlock remains independent and cannot be reset.
|
|
186
|
+
*/
|
|
187
|
+
resetAdvisorCooldown() {
|
|
188
|
+
this.lastAdvisorStep = undefined;
|
|
189
|
+
}
|
|
182
190
|
/** Atomically authorize one advisor attempt and reserve the session's consult slot. */
|
|
183
191
|
beginAdvisorConsult() {
|
|
184
192
|
if (this.advisorConsultInFlight) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/model-routing/router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/model-routing/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ export declare const RoutingTableSchema: Type.TObject<{
|
|
|
19
19
|
thinkingLevel: Type.TUnion<Type.TLiteral<"minimal" | "low" | "medium" | "high" | "xhigh">[]>;
|
|
20
20
|
}>;
|
|
21
21
|
minStepsBetween: Type.TInteger;
|
|
22
|
-
transcriptTokens: Type.TInteger;
|
|
23
22
|
}>;
|
|
24
23
|
}>>;
|
|
25
24
|
classifier: Type.TObject<{
|
|
@@ -62,14 +61,12 @@ export interface AdvisorPolicy {
|
|
|
62
61
|
target: RouteTarget;
|
|
63
62
|
/** Minimum completed assistant steps between ordinary advisor calls. */
|
|
64
63
|
minStepsBetween: number;
|
|
65
|
-
/** Token budget for the curated advisor transcript; validation caps it at 20,000. */
|
|
66
|
-
transcriptTokens: number;
|
|
67
64
|
}
|
|
68
65
|
/** Routes and policies owned by one virtual model tier. */
|
|
69
66
|
export interface TierDefinition {
|
|
70
67
|
/** Named classifier routes; an absent requested route falls through to `general`. */
|
|
71
68
|
routes: Record<string, RouteRule>;
|
|
72
|
-
/** Advisor availability, target,
|
|
69
|
+
/** Advisor availability, target, and cadence for this tier. */
|
|
73
70
|
advisor: AdvisorPolicy;
|
|
74
71
|
}
|
|
75
72
|
/** Shared classifier model, cadence, and administrator-authored routing guidance. */
|
|
@@ -109,7 +106,7 @@ export interface RoutingCatalogAdapter {
|
|
|
109
106
|
/** Stable validation diagnostic returned without throwing. */
|
|
110
107
|
export interface RoutingTableIssue {
|
|
111
108
|
/** Machine-readable category for callers that want to group diagnostics. */
|
|
112
|
-
code: "catalog_collision" | "dangling_reference" | "virtual_cycle" | "invalid_effort" | "invalid_cadence" | "
|
|
109
|
+
code: "catalog_collision" | "dangling_reference" | "virtual_cycle" | "invalid_effort" | "invalid_cadence" | "invalid_vision_fallback_model" | "invalid_step_trigger_name" | "duplicate_step_trigger_name" | "invalid_step_trigger_keywords";
|
|
113
110
|
/** Dot-delimited location of the invalid value in the table. */
|
|
114
111
|
path: string;
|
|
115
112
|
/** Human-readable explanation, including the full path for virtual cycles. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/model-routing/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/model-routing/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiG/B,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,MAAM,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,+DAA+D;IAC/D,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,MAAM,EAAE,WAAW,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,qDAAqD;IACrD,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,yDAAyD;IACzD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3C;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,IAAI,EACA,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,+BAA+B,GAC/B,2BAA2B,GAC3B,6BAA6B,GAC7B,+BAA+B,CAAC;IACpC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,EAAE,YA+FpC,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAEzE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAE/D;AAoCD,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,qBAAqB,GACpC,iBAAiB,EAAE,CAgJrB"}
|
|
@@ -28,9 +28,6 @@ const AdvisorPolicySchema = Type.Object({
|
|
|
28
28
|
minStepsBetween: Type.Integer({
|
|
29
29
|
description: "Minimum assistant-completion steps between ordinary advisor calls.",
|
|
30
30
|
}),
|
|
31
|
-
transcriptTokens: Type.Integer({
|
|
32
|
-
description: "Maximum token budget used to assemble the advisor transcript.",
|
|
33
|
-
}),
|
|
34
31
|
}, { additionalProperties: false });
|
|
35
32
|
const TierDefinitionSchema = Type.Object({
|
|
36
33
|
routes: Type.Record(Type.String({ minLength: 1 }), RouteRuleSchema, {
|
|
@@ -106,7 +103,6 @@ export const BUILT_IN_ROUTING_TABLE = {
|
|
|
106
103
|
enabled: true,
|
|
107
104
|
target: { modelName: "fable-5", thinkingLevel: "high" },
|
|
108
105
|
minStepsBetween: 5,
|
|
109
|
-
transcriptTokens: 10_000,
|
|
110
106
|
},
|
|
111
107
|
},
|
|
112
108
|
balanced: {
|
|
@@ -136,7 +132,6 @@ export const BUILT_IN_ROUTING_TABLE = {
|
|
|
136
132
|
enabled: true,
|
|
137
133
|
target: { modelName: "fable-5", thinkingLevel: "high" },
|
|
138
134
|
minStepsBetween: 5,
|
|
139
|
-
transcriptTokens: 10_000,
|
|
140
135
|
},
|
|
141
136
|
},
|
|
142
137
|
economy: {
|
|
@@ -161,7 +156,6 @@ export const BUILT_IN_ROUTING_TABLE = {
|
|
|
161
156
|
enabled: false,
|
|
162
157
|
target: { modelName: "gpt-5.6-terra", thinkingLevel: "medium" },
|
|
163
158
|
minStepsBetween: 5,
|
|
164
|
-
transcriptTokens: 10_000,
|
|
165
159
|
},
|
|
166
160
|
},
|
|
167
161
|
},
|
|
@@ -238,13 +232,6 @@ export function validateRoutingTable(table, catalogAdapter) {
|
|
|
238
232
|
message: "Advisor cadence must be a positive number of steps.",
|
|
239
233
|
});
|
|
240
234
|
}
|
|
241
|
-
if (definition.advisor.transcriptTokens <= 0 || definition.advisor.transcriptTokens > 20_000) {
|
|
242
|
-
issues.push({
|
|
243
|
-
code: "invalid_transcript_budget",
|
|
244
|
-
path: `tiers.${tier}.advisor.transcriptTokens`,
|
|
245
|
-
message: "Advisor transcript budget must be between 1 and 20,000 tokens.",
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
235
|
}
|
|
249
236
|
if (table.classifier.everySteps <= 0) {
|
|
250
237
|
issues.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/model-routing/table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/model-routing/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -475,7 +475,7 @@ export class Session {
|
|
|
475
475
|
this.dispatchTurn({ type: "wake" });
|
|
476
476
|
};
|
|
477
477
|
// Poll every 30s so a sleeping laptop still wakes the turn shortly after the lid reopens.
|
|
478
|
-
// Jitter is bounded by the poll interval and is acceptable given the
|
|
478
|
+
// Jitter is bounded by the poll interval and is acceptable given the 30-second minimum
|
|
479
479
|
// wakeAt enforced upstream.
|
|
480
480
|
this.wakeTimer = this.clock.repeat(fire, WAKE_POLL_INTERVAL_MS);
|
|
481
481
|
// Fast-path for deadlines closer than the poll interval so short waits stay tight.
|
|
@@ -183,7 +183,7 @@ export function createStateMachineSystemPromptLayer(input) {
|
|
|
183
183
|
"The user sees only your messages — never a sub-agent's output, the files it touched, values it computed, or findings it returned. Whenever a state produces something the user should see (a summary, path, number, artifact, result), restate it yourself in plain text; never tell the user to \"see the sub-agent's output\". On the wake turn after a state completes, post any user-facing artifact it produced, then call select_state_machine_state to advance.",
|
|
184
184
|
"By default each agent state starts fresh: it sees only the prompt and the input you pass, not the prior state's transcript or output. Carry forward everything the next state needs — file paths, IDs, errors, decisions, summaries — via `input` (when its inputSchema has matching fields) or `override.prompt`. A static \"using the findings from the previous step\" means nothing to a fresh sub-agent. The working directory is the most-missed case: whenever a state works anywhere other than the session cwd (a worktree, clone, sub-package, or scratch dir from an earlier state, whose path usually comes from a prior state's output), set that path as the state's cwd — `override.cwd` for agent states, `cwd` for script/poll. A relative cwd resolves against the session working directory shown in the `<cwd>` block; prefer an absolute path for a worktree or clone that lives outside it. Never just write \"cd into /path\" in the prompt: the sub-agent's tools start in the cwd you set, not where the prompt points, so a narrated path leaves the tools in the wrong tree. When a state genuinely needs the parent thread's prior discussion or decisions that would be lossy to restate, set `forkContext: true` on that agent state so the sub-agent starts with a copy of the parent's context instead of an empty transcript; this is an opt-in per state, not a replacement for explicit carry-forward, and it copies the full parent transcript so leave it off for self-contained tasks.",
|
|
185
185
|
'A sub-agent\'s result is a claim, not truth — it may hallucinate success, skip steps, swallow errors, or report itself lost. Before transitioning, verify: read the files it claims to have changed, run the build/test/lint it claims passed, confirm any IDs, paths, or counts. If it is wrong or unverifiable, re-select the same state with a corrected `override.prompt` or pick a different state — do not propagate an unverified claim into the next prompt or relay it as finished work. Avoid the opposite error too: a self-deprecating result ("nothing to do here", "I ran with no task", "I don\'t see a request") is a claim about the sub-agent\'s confusion, not proof the state did not run. The runner recorded the state as executed the moment you selected it. So never cancel the machine, route to a cancel/failed terminal, or hand back to the user as if nothing ran on the strength of such prose alone — call get_current_state_machine_state, confirm the state executed, then advance to the next real state (carrying forward what you know) or re-run it with a corrected prompt. And when the user contradicts something you relayed ("it didn\'t work", "that file isn\'t there"), the user is right and the sub-agent was wrong — do not make excuses or take over the work manually; restart via create_state_machine_definition with a tuned prompt that prevents the same hallucination.',
|
|
186
|
-
'Poll vs timer vs human gate. A poll runs a recurring command and must set intervalMs; its command must exit success ONLY when the awaited condition is actually met — intervalMs only spaces out non-success re-checks, so an `echo`/always-exit-0 command reads as "done" every tick and hot-loops instead of waiting. A timer uses wakeAt (absolute) or wakeAfterMs (relative) for a single future wake. Schedule fields accept strings like "3h"/"5d" or ISO 8601 timestamps. A human approval or reply is an event, not a pollable condition — never gate it with a poll and never delegate the question to a state agent. Select a park state, ask the user yourself with ask_user_question, and route their later answer to the matching next state. PARK is the human-gate primitive: it holds the machine without execution or a scheduled wake while the parent remains responsible for the conversation. Poll intervalMs and timer wakes must be at least
|
|
186
|
+
'Poll vs timer vs human gate. A poll runs a recurring command and must set intervalMs; its command must exit success ONLY when the awaited condition is actually met — intervalMs only spaces out non-success re-checks, so an `echo`/always-exit-0 command reads as "done" every tick and hot-loops instead of waiting. A timer uses wakeAt (absolute) or wakeAfterMs (relative) for a single future wake. Schedule fields accept strings like "3h"/"5d" or ISO 8601 timestamps. A human approval or reply is an event, not a pollable condition — never gate it with a poll and never delegate the question to a state agent. Select a park state, ask the user yourself with ask_user_question, and route their later answer to the matching next state. PARK is the human-gate primitive: it holds the machine without execution or a scheduled wake while the parent remains responsible for the conversation. Poll intervalMs and timer wakes must be at least 30 seconds; for anything shorter, do the wait in your own turn.',
|
|
187
187
|
"Re-selecting the SAME park state is legal and keeps the machine parked without running work. Once a park is selected, ask or converse with the user as needed and end the turn; the machine stays parked until you select a different state. Agent and script states still run immediately whenever selected, so never re-select one as an idle or holding loop. Use a poll for a checkable condition and a timer for a fixed future time. Call select_state_machine_state when the park purpose is fulfilled, a condition changed, or you are deliberately re-running executable work with a corrected override.prompt.",
|
|
188
188
|
'Any wait-then-do promise — "I\'ll wait N minutes then X", "after CI finishes I\'ll triage Z", "I\'ll keep an eye on Q" — must be backed by a timer or poll state with a follow-up state that does the work; a pure-agent machine runs immediately and skips the wait. Set up the sleeping primitive before the turn ends, or do not make the promise.',
|
|
189
189
|
'While states run in the background the user can keep messaging you, and you reply without waiting for the machine. Only call select_state_machine_state when the user actually wants to redirect the running work — selecting a state while another runs replaces it, so use the same state with updated input or a different state. Answer questions, status checks ("have you done X?", "is it running?"), and side conversations in plain text, including any artifacts the user has not seen yet. A "steer" message interrupts you immediately (for redirects or time-sensitive input); a "follow_up" is queued until your turn settles.',
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AgentTool } from "@earendil-works/pi-agent-core";
|
|
2
2
|
import type { ThinkingLevel } from "@earendil-works/pi-ai";
|
|
3
3
|
import { type BashOperations, type Skill } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import { Type, type Static } from "typebox";
|
|
5
5
|
import type { TurnMode, TurnQuestion, TurnTodo } from "../types/protocol.js";
|
|
6
6
|
import type { StateMachineSession, StateMachineSessionEvent, StateMachineAgentState, StateMachineDefinition, StateMachinePollState, StateMachineParkState, StateMachineProgress, StateMachineScriptState, StateMachineTimerState, StateMachineTerminalResult } from "../types/state-machine.js";
|
|
7
7
|
import type { EmbedFn } from "../memory/embedding.js";
|
|
8
|
+
import { type AdvisorExecutorContext } from "../model-routing/advisor-context.js";
|
|
8
9
|
import { type AdvisorResult, type CallAdvisorInput } from "../model-routing/advisor.js";
|
|
9
10
|
import type { LanguageModelUsage } from "ai";
|
|
10
11
|
import type { AdvisorGate } from "../model-routing/router.js";
|
|
@@ -212,16 +213,17 @@ export interface RecallMemoryToolStorage {
|
|
|
212
213
|
}
|
|
213
214
|
/** Lazy runtime inputs and router actions used by the parent-only advisor tool. */
|
|
214
215
|
export interface AskAdvisorToolStorage {
|
|
215
|
-
/**
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
216
|
+
/** Captures the executor's resolved prompt, tools, and LLM-compatible messages at call time. */
|
|
217
|
+
getContext: () => Promise<AdvisorExecutorContext>;
|
|
218
|
+
/** Resolves the advisor identity and hard model window lazily at tool execution. */
|
|
219
|
+
resolveModel: () => {
|
|
220
|
+
/** Gateway-native `provider/model` identifier passed to the shared gateway. */
|
|
221
|
+
modelName: string;
|
|
222
|
+
/** Advertised input-plus-output context window used as the only transcript ceiling. */
|
|
223
|
+
contextWindowTokens: number;
|
|
224
|
+
/** Whether this concrete provider model accepts image request parts. */
|
|
225
|
+
acceptsImages: boolean;
|
|
226
|
+
};
|
|
225
227
|
/** Reasoning effort selected by the routed tier. */
|
|
226
228
|
thinkingLevel: ThinkingLevel;
|
|
227
229
|
/** Atomically checks the floor and reserves the router's advisor slot when allowed. */
|
|
@@ -232,6 +234,8 @@ export interface AskAdvisorToolStorage {
|
|
|
232
234
|
recordUsage: (usage: LanguageModelUsage) => void;
|
|
233
235
|
/** Reports accounting failures without discarding advice the provider already returned. */
|
|
234
236
|
onUsageError?: (error: unknown) => void;
|
|
237
|
+
/** Reports a failed consultation while allowing the executor to continue. */
|
|
238
|
+
onAdvisorError?: (error: unknown) => void;
|
|
235
239
|
/** Network seam for deterministic tool tests; production uses callAdvisor. */
|
|
236
240
|
callAdvisor?: (input: CallAdvisorInput) => Promise<AdvisorResult>;
|
|
237
241
|
}
|
|
@@ -265,6 +269,6 @@ export declare function formatStateMachineTerminalAcknowledgmentPrompt(input: {
|
|
|
265
269
|
}): string;
|
|
266
270
|
export declare function formatCarriedTodosReminder(todos: TurnTodo[] | undefined): string | undefined;
|
|
267
271
|
export declare function resolveStateCwd(cwd: string | undefined, baseCwd: string): string;
|
|
268
|
-
export declare const MINIMUM_STATE_MACHINE_DELAY_MS
|
|
272
|
+
export declare const MINIMUM_STATE_MACHINE_DELAY_MS = 30000;
|
|
269
273
|
export {};
|
|
270
274
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,9 @@ import { Value } from "typebox/value";
|
|
|
9
9
|
import { toXML } from "../lib/xml.js";
|
|
10
10
|
import { parseDurationToMs, parseWakeAtToMs } from "./duration.js";
|
|
11
11
|
import { INTERRUPTED_STATE_MACHINE_STATE } from "../types/state-machine.js";
|
|
12
|
-
import { serializeMessageForObserver } from "../memory/observational.js";
|
|
13
12
|
import { recallMemoryExpanded } from "../memory/recall.js";
|
|
14
|
-
import {
|
|
15
|
-
import { callAdvisor, } from "../model-routing/advisor.js";
|
|
13
|
+
import { buildAdvisorContext, } from "../model-routing/advisor-context.js";
|
|
14
|
+
import { ADVISOR_MAX_OUTPUT_TOKENS, callAdvisor, } from "../model-routing/advisor.js";
|
|
16
15
|
import { ASK_ADVISOR_TOOL_DESCRIPTION } from "../model-routing/prompts.js";
|
|
17
16
|
import { applyStateOverride } from "./state-machine-decisions.js";
|
|
18
17
|
import { withBundledRipgrep } from "./bundled-ripgrep.js";
|
|
@@ -348,21 +347,10 @@ export function createAskAdvisorTool(storage) {
|
|
|
348
347
|
terminate: false,
|
|
349
348
|
};
|
|
350
349
|
}
|
|
351
|
-
|
|
352
|
-
const firstUserMessage = messages.find((message) => message.role === "user");
|
|
353
|
-
if (!firstUserMessage) {
|
|
354
|
-
endConsult(false);
|
|
355
|
-
return {
|
|
356
|
-
content: [{ type: "text", text: "The advisor transcript has no user message yet." }],
|
|
357
|
-
details: { type: "ask_advisor", unavailable: true },
|
|
358
|
-
terminate: false,
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
let modelName;
|
|
350
|
+
let resolvedModel;
|
|
362
351
|
try {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
if (!modelName)
|
|
352
|
+
resolvedModel = storage.resolveModel();
|
|
353
|
+
if (!resolvedModel.modelName)
|
|
366
354
|
throw new Error("advisor model unavailable");
|
|
367
355
|
}
|
|
368
356
|
catch {
|
|
@@ -379,16 +367,18 @@ export function createAskAdvisorTool(storage) {
|
|
|
379
367
|
};
|
|
380
368
|
}
|
|
381
369
|
try {
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
tailMessages: messages.map(serializeMessageForObserver),
|
|
387
|
-
budgetTokens: storage.budgetTokens,
|
|
370
|
+
const advisorContext = buildAdvisorContext({
|
|
371
|
+
context: await storage.getContext(),
|
|
372
|
+
contextWindowTokens: resolvedModel.contextWindowTokens,
|
|
373
|
+
reservedOutputTokens: ADVISOR_MAX_OUTPUT_TOKENS,
|
|
388
374
|
});
|
|
375
|
+
if (advisorContext.images.length > 0 && !resolvedModel.acceptsImages) {
|
|
376
|
+
throw new Error(`Advisor model ${resolvedModel.modelName} cannot inspect ${advisorContext.images.length} image attachment(s).`);
|
|
377
|
+
}
|
|
389
378
|
const result = await (storage.callAdvisor ?? callAdvisor)({
|
|
390
|
-
|
|
391
|
-
|
|
379
|
+
contextText: advisorContext.text,
|
|
380
|
+
images: advisorContext.images,
|
|
381
|
+
modelName: resolvedModel.modelName,
|
|
392
382
|
thinkingLevel: storage.thinkingLevel,
|
|
393
383
|
signal,
|
|
394
384
|
});
|
|
@@ -408,15 +398,32 @@ export function createAskAdvisorTool(storage) {
|
|
|
408
398
|
content: [{ type: "text", text: result.advice }],
|
|
409
399
|
details: {
|
|
410
400
|
type: "ask_advisor",
|
|
411
|
-
model: modelName,
|
|
412
|
-
|
|
401
|
+
model: resolvedModel.modelName,
|
|
402
|
+
context: advisorContext.metadata,
|
|
413
403
|
},
|
|
414
404
|
terminate: false,
|
|
415
405
|
};
|
|
416
406
|
}
|
|
417
407
|
catch (error) {
|
|
418
408
|
endConsult(false);
|
|
419
|
-
|
|
409
|
+
if (signal?.aborted)
|
|
410
|
+
throw error;
|
|
411
|
+
try {
|
|
412
|
+
storage.onAdvisorError?.(error);
|
|
413
|
+
}
|
|
414
|
+
catch {
|
|
415
|
+
// Logging is best-effort; the executor must still continue.
|
|
416
|
+
}
|
|
417
|
+
return {
|
|
418
|
+
content: [
|
|
419
|
+
{
|
|
420
|
+
type: "text",
|
|
421
|
+
text: "The advisor consultation failed. Continue using the available context.",
|
|
422
|
+
},
|
|
423
|
+
],
|
|
424
|
+
details: { type: "ask_advisor", failed: true },
|
|
425
|
+
terminate: false,
|
|
426
|
+
};
|
|
420
427
|
}
|
|
421
428
|
},
|
|
422
429
|
};
|
|
@@ -571,7 +578,7 @@ export function createTodoWriteTool(storage) {
|
|
|
571
578
|
|
|
572
579
|
Prefer a state machine over this tool when the steps are well-scoped enough that a sub-agent or script could complete each one on its own ("do X with these inputs and return the result"). State-machine states run outside this transcript, so their intermediate output does not consume your context — using todo_write for that kind of work pollutes the parent context with tool output you do not actually need to keep.
|
|
573
580
|
|
|
574
|
-
Hard cutoff: if the plan would have roughly seven or more items, or any item is itself a multi-step job (a whole refactor phase, a whole test file, a whole module extraction), do not use todo_write — use create_state_machine_definition with one agent state per item. Agent states have no minimum duration; only poll intervalMs and timer wakeAt/wakeAfterMs have the
|
|
581
|
+
Hard cutoff: if the plan would have roughly seven or more items, or any item is itself a multi-step job (a whole refactor phase, a whole test file, a whole module extraction), do not use todo_write — use create_state_machine_definition with one agent state per item. Agent states have no minimum duration; only poll intervalMs and timer wakeAt/wakeAfterMs have the 30-second floor. If you can already see the work will not fit in one session and you are tempted to recommend the user "continue in the next session," that is the signal that this tool was the wrong choice and a state machine was the right one. When work meets this cutoff it goes to create_state_machine_definition, and once it does, do NOT also call todo_write to mirror or track it: the state machine's states ARE the visible, live plan, so a parallel todo list duplicating those same phases is redundant and wrong. Dropping the todo list is the fix here, never dropping the state machine — session-spanning many-unit work still requires the state machine.
|
|
575
582
|
|
|
576
583
|
How to use it well:
|
|
577
584
|
- Lay out the full plan up front with merge=false. Mark exactly one item in_progress at a time.
|
|
@@ -708,7 +715,7 @@ baseCwd, scheduleValidation) {
|
|
|
708
715
|
"firstState": "step-1"
|
|
709
716
|
}
|
|
710
717
|
|
|
711
|
-
State \`kind\` is one of \`agent\`, \`script\`, \`poll\`, \`timer\`, \`park\`, \`terminal\`. A park holds the machine without running work or scheduling a wake while you converse with or ask the user. Poll \`intervalMs\`, timer \`wakeAt\`, and timer \`wakeAfterMs\` must be ≥
|
|
718
|
+
State \`kind\` is one of \`agent\`, \`script\`, \`poll\`, \`timer\`, \`park\`, \`terminal\`. A park holds the machine without running work or scheduling a wake while you converse with or ask the user. Poll \`intervalMs\`, timer \`wakeAt\`, and timer \`wakeAfterMs\` must be ≥ 30 seconds; agent/script states have no minimum duration. Durations accept human-readable strings like \`"3h"\` or \`"5d"\` parsed by the \`ms\` package, and \`wakeAt\` accepts ISO 8601 strings like \`"2026-05-24T18:00:00Z"\`; raw millisecond numbers still work as a fallback. Timer states must set exactly one of \`wakeAt\` (absolute) or \`wakeAfterMs\` (relative from selection time). Every definition needs at least one \`terminal\` state with status "completed"; "failed" and "cancelled" terminals are auto-injected if omitted.
|
|
712
719
|
|
|
713
720
|
State prompts and script commands may use \`{{ input.foo }}\` templates — declare \`inputSchema\` on those states and pass matching \`input\` when selecting them via select_state_machine_state. Agent states may set \`allowedSkills\` to restrict the skill set for that sub-agent.
|
|
714
721
|
|
|
@@ -908,7 +915,7 @@ function assertValidStateInput(state, input) {
|
|
|
908
915
|
// work that survives sleeps, wakes, and background execution; anything shorter
|
|
909
916
|
// than this should be performed directly in the parent turn rather than paid
|
|
910
917
|
// for with the orchestration overhead of a state machine.
|
|
911
|
-
export const MINIMUM_STATE_MACHINE_DELAY_MS =
|
|
918
|
+
export const MINIMUM_STATE_MACHINE_DELAY_MS = 30_000;
|
|
912
919
|
function assertValidDefinition(definition, baseCwd, scheduleValidation) {
|
|
913
920
|
for (const state of definition.states) {
|
|
914
921
|
if (state.name === INTERRUPTED_STATE_MACHINE_STATE) {
|
|
@@ -999,7 +1006,7 @@ function assertValidStateScheduleMinimum(state, input) {
|
|
|
999
1006
|
}
|
|
1000
1007
|
function scheduleFloorDescription(delayMs, includeMilliseconds = false) {
|
|
1001
1008
|
if (delayMs === MINIMUM_STATE_MACHINE_DELAY_MS) {
|
|
1002
|
-
return includeMilliseconds ? `
|
|
1009
|
+
return includeMilliseconds ? `30 seconds (${delayMs} ms)` : "30 seconds";
|
|
1003
1010
|
}
|
|
1004
1011
|
return `${delayMs} ms`;
|
|
1005
1012
|
}
|