@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.
Files changed (61) hide show
  1. package/dist/package.json +3 -1
  2. package/dist/src/cli/help.d.ts.map +1 -1
  3. package/dist/src/cli/help.js +5 -4
  4. package/dist/src/cli/help.js.map +1 -1
  5. package/dist/src/cli/route.d.ts +4 -8
  6. package/dist/src/cli/route.d.ts.map +1 -1
  7. package/dist/src/cli/route.js +26 -49
  8. package/dist/src/cli/route.js.map +1 -1
  9. package/dist/src/cli/rpc.d.ts +11 -9
  10. package/dist/src/cli/rpc.d.ts.map +1 -1
  11. package/dist/src/cli/rpc.js +19 -5
  12. package/dist/src/cli/rpc.js.map +1 -1
  13. package/dist/src/cli.d.ts +2 -0
  14. package/dist/src/cli.d.ts.map +1 -1
  15. package/dist/src/cli.js +12 -2
  16. package/dist/src/cli.js.map +1 -1
  17. package/dist/src/memory/pglite.d.ts +11 -0
  18. package/dist/src/memory/pglite.d.ts.map +1 -1
  19. package/dist/src/memory/pglite.js +77 -4
  20. package/dist/src/memory/pglite.js.map +1 -1
  21. package/dist/src/model-routing/advisor-context.d.ts +71 -0
  22. package/dist/src/model-routing/advisor-context.d.ts.map +1 -0
  23. package/dist/src/model-routing/advisor-context.js +114 -0
  24. package/dist/src/model-routing/advisor-context.js.map +1 -0
  25. package/dist/src/model-routing/advisor-lifecycle.d.ts +27 -0
  26. package/dist/src/model-routing/advisor-lifecycle.d.ts.map +1 -0
  27. package/dist/src/model-routing/advisor-lifecycle.js +61 -0
  28. package/dist/src/model-routing/advisor-lifecycle.js.map +1 -0
  29. package/dist/src/model-routing/advisor.d.ts +11 -6
  30. package/dist/src/model-routing/advisor.d.ts.map +1 -1
  31. package/dist/src/model-routing/advisor.js +16 -4
  32. package/dist/src/model-routing/advisor.js.map +1 -1
  33. package/dist/src/model-routing/prompts.d.ts +4 -0
  34. package/dist/src/model-routing/prompts.d.ts.map +1 -1
  35. package/dist/src/model-routing/prompts.js +36 -11
  36. package/dist/src/model-routing/prompts.js.map +1 -1
  37. package/dist/src/model-routing/router.d.ts +7 -1
  38. package/dist/src/model-routing/router.d.ts.map +1 -1
  39. package/dist/src/model-routing/router.js +10 -2
  40. package/dist/src/model-routing/router.js.map +1 -1
  41. package/dist/src/model-routing/table.d.ts +2 -5
  42. package/dist/src/model-routing/table.d.ts.map +1 -1
  43. package/dist/src/model-routing/table.js +0 -13
  44. package/dist/src/model-routing/table.js.map +1 -1
  45. package/dist/src/session/session.js +1 -1
  46. package/dist/src/turn-runner/prompts.js +1 -1
  47. package/dist/src/turn-runner/tools.d.ts +16 -12
  48. package/dist/src/turn-runner/tools.d.ts.map +1 -1
  49. package/dist/src/turn-runner/tools.js +39 -32
  50. package/dist/src/turn-runner/tools.js.map +1 -1
  51. package/dist/src/turn-runner/turn-runner.d.ts +22 -2
  52. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  53. package/dist/src/turn-runner/turn-runner.js +105 -15
  54. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  55. package/dist/src/types/protocol.d.ts +14 -0
  56. package/dist/src/types/protocol.d.ts.map +1 -1
  57. package/package.json +3 -1
  58. package/dist/src/model-routing/advisor-transcript.d.ts +0 -36
  59. package/dist/src/model-routing/advisor-transcript.d.ts.map +0 -1
  60. package/dist/src/model-routing/advisor-transcript.js +0 -103
  61. 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 the curated in-progress session transcript; this tool takes no parameters.
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
- Call ask_advisor BEFORE substantive work when the task involves consequential architecture
45
- choices, conflicting constraints, or important unknowns. Orientation (reading files, listing,
46
- looking around) is not substantive work orient first, then consult before you commit to an
47
- approach. Also call it when you are stuck, when you are about to change approach, and before
48
- declaring a complex task complete. Skip it for routine, local, obvious work.
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
- Give the advice serious weight: verify it with your own tools and adapt only on concrete
51
- contrary evidence.
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. Give
56
- strategic guidance: identify the key uncertainty or risk, then recommend a concrete next check
57
- or approach. Be direct and compact.
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;;;;;;;;;CASjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;CAepD,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAA;;;;;;;CAO1C,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"}
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 cap-exempt classification after an independent wire-prefix compaction. */
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 cap-exempt classification after an independent wire-prefix compaction. */
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.lastAdvisorStep = undefined;
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, cadence, and transcript budget for this tier. */
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" | "invalid_transcript_budget" | "invalid_vision_fallback_model" | "invalid_step_trigger_name" | "duplicate_step_trigger_name" | "invalid_step_trigger_keywords";
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":"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"}
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 15-minute minimum
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 15 minutes; for anything shorter, do the wait in your own turn.',
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 { AgentMessage, AgentTool } from "@earendil-works/pi-agent-core";
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
- /** Current parent transcript, read only when the tool executes. */
216
- getMessages: () => readonly AgentMessage[];
217
- /** Fully resolved executor prompt quoted into transcript content. */
218
- getSystemPrompt: () => string;
219
- /** Live local-session observation contents; empty when memory is disabled. */
220
- getObservations: () => Promise<readonly string[]>;
221
- /** Uniform transcript budget selected by the routed tier. */
222
- budgetTokens: number;
223
- /** Gateway-native advisor id, or a callback that resolves it lazily at tool execution. */
224
- modelName: string | (() => string);
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: number;
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,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,KAAK,EACX,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EAEvB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACtE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAG5E,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAI3E;AAwBD,QAAA,MAAM,qBAAqB;;;;;;;;;;EAIzB,CAAC;AAEH,KAAK,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA2BlE,QAAA,MAAM,eAAe;;;;;;;EASnB,CAAC;AAIH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CACnC;AA6OD,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,IAAI,CACF,sBAAsB,EACtB,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,KAAK,GAAG,aAAa,GAAG,aAAa,CACpF,CACF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,OAAO,CACnD,IAAI,CAAC,uBAAuB,EAAE,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC,CAChG,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,IAAI,CACF,qBAAqB,EACrB,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,aAAa,CAChF,CACF,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC,CACvE,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC;AAEhG,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,8BAA8B,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,+BAA+B,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,6BAA6B,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,8BAA8B,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,6BAA6B,CAAA;CAAE,CAAC;AAkB3D,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AAEH,KAAK,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACpE,KAAK,0BAA0B,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAoCvE,MAAM,WAAW,8BAA8B;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAOD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB,CAAC;IACC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,GAAG,qBAAqB,CAAC,GAC1B,CAAC;IACC,IAAI,EAAE,iCAAiC,CAAC;IACxC,UAAU,EAAE,0BAA0B,CAAC;CACxC,GAAG,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC,GAC/C;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAEjF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAS1F;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,oBAAoB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,sBAAsB,GAAG,SAAS,CAAC;IACzD,eAAe,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACxD,oBAAoB,CAAC,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAC3D,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAC5C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,WAAW,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC;IAC3C,qEAAqE;IACrE,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,eAAe,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClD,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC,oDAAoD;IACpD,aAAa,EAAE,aAAa,CAAC;IAC7B,uFAAuF;IACvF,WAAW,EAAE,MAAM,WAAW,CAAC;IAC/B,2FAA2F;IAC3F,kBAAkB,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,0FAA0F;IAC1F,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,2FAA2F;IAC3F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACnE;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,oBAAoB,EACjC,aAAa,CAAC,EAAE,uBAAuB,EACvC,cAAc,CAAC,EAAE,qBAAqB,GACrC,SAAS,EAAE,CAiBb;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,EAAE,CA6B9E;AAED,QAAA,MAAM,gBAAgB,kBAAkB,CAAC;AAEzC,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,SAAS,CAAC,OAAO,gBAAgB,CAAC,CA6FpC;AAkKD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,SAAS,CAAC,OAAO,eAAe,CAAC,CAsCnC;AAuCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8CAA8C,CAAC,KAAK,EAAE;IACpE,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,MAAM,CAqBT;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAc5F;AAsND,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhF;AA8CD,eAAO,MAAM,8BAA8B,QAAiB,CAAC"}
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 { buildAdvisorTranscript } from "../model-routing/advisor-transcript.js";
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
- const messages = storage.getMessages();
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
- modelName =
364
- typeof storage.modelName === "function" ? storage.modelName() : storage.modelName;
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 transcript = buildAdvisorTranscript({
383
- firstUserMessage: serializeMessageForObserver(firstUserMessage),
384
- executorSystemPrompt: storage.getSystemPrompt(),
385
- observations: await storage.getObservations(),
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
- transcriptText: transcript.text,
391
- modelName,
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
- tokens: transcript.tokens,
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
- throw error;
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 15-minute 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.
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 ≥ 15 minutes; 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.
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 = 15 * 60 * 1000;
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 ? `15 minutes (${delayMs} ms)` : "15 minutes";
1009
+ return includeMilliseconds ? `30 seconds (${delayMs} ms)` : "30 seconds";
1003
1010
  }
1004
1011
  return `${delayMs} ms`;
1005
1012
  }