@duetso/agent 0.1.168 → 0.1.170
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 +1 -1
- package/dist/src/turn-runner/prompts.d.ts.map +1 -1
- package/dist/src/turn-runner/prompts.js +3 -0
- package/dist/src/turn-runner/prompts.js.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.d.ts +24 -3
- package/dist/src/turn-runner/state-machine-controller.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.js +64 -5
- package/dist/src/turn-runner/state-machine-controller.js.map +1 -1
- package/dist/src/turn-runner/state-machine-session.d.ts +23 -0
- package/dist/src/turn-runner/state-machine-session.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-session.js +47 -1
- package/dist/src/turn-runner/state-machine-session.js.map +1 -1
- package/dist/src/turn-runner/tools.d.ts +1 -0
- package/dist/src/turn-runner/tools.d.ts.map +1 -1
- package/dist/src/turn-runner/tools.js +55 -9
- package/dist/src/turn-runner/tools.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +9 -0
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +59 -34
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/dist/src/types/state-machine.d.ts +16 -3
- package/dist/src/types/state-machine.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkChE,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnC,GAAG,MAAM,CAYT;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkChE,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnC,GAAG,MAAM,CAYT;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG,MAAM,CAqDT;AAED;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAW5D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oCAAoC,IAAI,MAAM,CAS7D"}
|
|
@@ -76,8 +76,11 @@ export function createStateMachineSystemPromptLayer(input) {
|
|
|
76
76
|
"You are responsible for every sub-agent's output. A sub-agent's response is a claim, not ground truth — it may have hallucinated success, skipped a step, misread a file, swallowed an error, or declared the work done while leaving the repo broken. When a state finishes, review what it actually produced before transitioning: read the result it returned, spot-check the files it claims to have changed, run the build/test/lint it claims to have passed, and confirm any IDs, paths, or numbers it asserts. If the sub-agent's output is wrong, incomplete, or unverifiable, re-select the same state with a corrected prompt or input, or select a different state — do not propagate an unverified claim into the next state's prompt as if it were fact, and do not relay it to the user as a finished result. The orchestrator owns correctness; the sub-agent only owns effort. The same rule applies after the state machine has finished: when the user contradicts a sub-agent claim you previously relayed (“it didn’t work”, “that file isn’t there”, “nothing changed”), the user is the source of truth and the sub-agent was wrong. Do not just verbally agree, do not blame an “isolated container” or invent an environment excuse, and do not offer to do the work yourself outside the state machine. Take corrective action via the state-machine tools: call create_state_machine_definition to restart the work with a tuned sub-agent prompt that prevents the same hallucination.",
|
|
77
77
|
"select_state_machine_state overrides persist into the active definition by default. When you tune a sub-agent prompt, fix a script command, or adjust a poll/timer cadence via `override`, the merged state is written back into the definition so every future run of that state uses the tuned version — you do not have to re-pass the override on each transition. Set `persistOverride: false` only when you want a one-shot variation that should not commit (probing a different prompt before deciding whether to keep it). The default is what you want when the goal is durable correction; opt out only for exploration.",
|
|
78
78
|
"Each agent state runs in a fresh sub-agent context. It does not see the prior sub-agent's transcript, tool output, or output value — only the rendered prompt and the input you pass when selecting it. So when a previous state discovered concrete facts the next state will need (file paths, IDs, error messages, decisions, summaries, root causes), you must carry them forward yourself: pass them as `input` when the next state has an inputSchema with matching fields, or use `override.prompt` to inline the findings into that state's prompt before selecting it. Vague references like \"using the findings from the previous step\" in a static prompt will not work — the sub-agent has no way to read those findings. Treat every transition as a chance to update the next state's prompt or input with whatever the orchestrator now knows that the sub-agent will need.",
|
|
79
|
+
'The working directory is part of what you carry forward, and the most common thing orchestrators get wrong. The moment a state\'s work happens anywhere other than the session cwd — a git worktree a prior state created, a clone, a sub-package, or a scratch directory whose path an earlier state returned — set that path as `cwd` (agent states) or the script/poll `cwd`, aggressively and by default, rather than waiting for the sub-agent to orient itself. Never convey the location by writing "cd into /path" or "work in the worktree at /path" in the prompt: a sub-agent\'s coding tools (bash, read, write, edit) start in the `cwd` you set, not wherever the prompt mentions, so an inlined path silently leaves the tools in the wrong tree while the narration reads correct. The path almost always comes from a previous state\'s output (e.g. a worktree path an implement step printed) — capture it and pass it as `override.cwd` when you select the next state.',
|
|
79
80
|
'Poll states run recurring script checks and must set intervalMs. Timer states are separate: use kind "timer" with wakeAt (absolute) or wakeAfterMs (relative) to pause until a future time. Schedule fields accept human-readable strings like "3h" or "5d" parsed by the `ms` package, and wakeAt also accepts ISO 8601 timestamps like "2026-05-24T18:00:00Z"; raw millisecond numbers still work as a fallback. Poll states fail the state machine when timeoutMs is exceeded.',
|
|
80
81
|
'Wait-then-do promises must be backed by a sleeping primitive. If your reply to the user commits to anything shaped like "I\'ll wait N minutes/hours and then X", "give it a moment then check Y", "after CI finishes I\'ll triage Z", or "I\'ll keep an eye on Q", the wait itself must live in a timer state (single future wake) or a poll state (recurring check) on a state machine, with a follow-up agent or script state that does the X/Y/Z work when the wait completes. A pure-agent state machine is not actually waiting — agent states run immediately, so the wait would be skipped. Never make a wait-then-act promise as a bare reply or as a pure-agent state machine: set up the timer/poll mechanism before the turn ends, or do not make the promise.',
|
|
82
|
+
'A poll\'s `command` decides success purely by its exit code being in `successCodes` (default [0]); `intervalMs` ONLY spaces out UNSATISFIED (non-success exit) re-checks. A command that exits 0 on every tick — e.g. `echo waiting for user review` — is read as "condition met, result found", so the poll returns to the orchestrator immediately and the interval is never consulted; if the orchestrator re-selects the same poll it hot-loops every few seconds instead of respecting intervalMs. A poll command must exit success ONLY when the awaited condition is actually met, and exit non-success otherwise so the interval engages. `echo`/always-exit-0 is fine only when every tick genuinely means done.',
|
|
83
|
+
"Never model a human-approval or human-reply gate as a poll. A human verdict is an event, not a pollable condition, and the poll command cannot see the thread anyway. Use an agent state that asks the user with ask_user_question and stops — but understand why that specific call is required, not just any message-then-stop state. An agent state's plain text output is not visible to the user; only a compact result returns to you, the parent orchestrator. So a state that merely posts a message and stops leaves the user seeing nothing and the card silently parked, waiting on a reply it never actually requested. ask_user_question is the only primitive that BOTH surfaces the prompt to the user AND suspends the state until they answer — which is exactly why a human-gated wait needs it. The reply then wakes the card and you route to the matching next state. Polls are for external machine-observable conditions; human waits are agent states.",
|
|
81
84
|
"Poll intervalMs must be at least 15 minutes and timer wakeAt must be at least 15 minutes in the future. If the work needs anything shorter-term, run it directly in your turn instead of through a state machine — orchestration overhead is not worth it for sub-15-minute waits.",
|
|
82
85
|
'Every state-machine definition must include at least one terminal state with status "completed" for the happy-path exit. The runner auto-injects "failed" and "cancelled" terminal states when missing, so you always have escape hatches without writing boilerplate terminals.',
|
|
83
86
|
"Use allowedSkills on agent states only when that sub-agent should receive a restricted skill set.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/turn-runner/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/turn-runner/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TurnQuestion
|
|
2
|
-
import type { StateMachineAgentState, StateMachineDefinition, StateMachineSession } from "../types/state-machine.js";
|
|
1
|
+
import type { TurnQuestion } from "../types/protocol.js";
|
|
2
|
+
import type { StateMachineAgentState, StateMachineDefinition, StateMachineSession, StateMachineTerminalResult } from "../types/state-machine.js";
|
|
3
3
|
import { type ShellPartialOutput } from "./shell-state-handle.js";
|
|
4
4
|
import { type StateMachineRunnerDecision } from "./tools.js";
|
|
5
5
|
export type StateMachineExecutionResult = {
|
|
@@ -8,7 +8,7 @@ export type StateMachineExecutionResult = {
|
|
|
8
8
|
output?: unknown;
|
|
9
9
|
} | {
|
|
10
10
|
type: "terminal";
|
|
11
|
-
status:
|
|
11
|
+
status: StateMachineTerminalResult["status"];
|
|
12
12
|
result?: string;
|
|
13
13
|
error?: string;
|
|
14
14
|
} | {
|
|
@@ -96,6 +96,16 @@ export declare class StateMachineController {
|
|
|
96
96
|
* when it terminates.
|
|
97
97
|
*/
|
|
98
98
|
markTerminalAcknowledged(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Records a runtime failure on the active session and returns the matching
|
|
101
|
+
* `error` terminal. Used by the turn runner when a protocol violation cannot
|
|
102
|
+
* be recovered (e.g. the parent exhausted its re-prompt budget without
|
|
103
|
+
* calling select_state_machine_state). Recording it here — rather than
|
|
104
|
+
* returning a terminal the runner never persists — keeps the failure on
|
|
105
|
+
* `session.terminal.reason` so the terminal acknowledgment turn and the
|
|
106
|
+
* board/relay see the same outcome the turn event reports.
|
|
107
|
+
*/
|
|
108
|
+
failActiveSession(state: string, error: string): StateMachineExecutionResult;
|
|
99
109
|
hasActiveWork(): boolean;
|
|
100
110
|
getActiveOutput(): ActiveStateOutput | undefined;
|
|
101
111
|
startSession(input: {
|
|
@@ -103,6 +113,17 @@ export declare class StateMachineController {
|
|
|
103
113
|
definition: StateMachineDefinition;
|
|
104
114
|
currentState: string;
|
|
105
115
|
}): void;
|
|
116
|
+
/**
|
|
117
|
+
* Supersedes the active session because the parent is replacing it with a
|
|
118
|
+
* brand-new state machine (a create_state_machine_definition with
|
|
119
|
+
* replaceActive: true issued while a machine is still running). Records a
|
|
120
|
+
* `cancelled` terminal and broadcasts the final snapshot so the superseded
|
|
121
|
+
* machine's board/relay card resolves instead of dangling at its last running
|
|
122
|
+
* state; the caller follows with `startSession` to install the replacement.
|
|
123
|
+
* Any in-flight state work is aborted first. No-op when there is no active,
|
|
124
|
+
* non-terminal session.
|
|
125
|
+
*/
|
|
126
|
+
supersedeActiveSession(reason: string): void;
|
|
106
127
|
interrupt(reason?: string): void;
|
|
107
128
|
runDecision(decision: StateMachineRunnerDecision): Promise<StateMachineExecutionResult>;
|
|
108
129
|
wake(): Promise<StateMachineExecutionResult | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-controller.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"state-machine-controller.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INTERRUPTED_STATE_MACHINE_STATE } from "../types/state-machine.js";
|
|
2
2
|
import { parseDurationToMs, parseWakeAtToMs } from "./duration.js";
|
|
3
|
-
import { currentScheduledState, elapsedSinceStateStarted, findState, recordRunnerDecision, recordStateAskedUser, recordStateCompleted, recordStateFailed, recordStateInterrupted, recordStateMachineCompleted, recordStateStarted, recordStateSleep, createStateMachineSession, persistStateDefinition, } from "./state-machine-session.js";
|
|
3
|
+
import { consecutivePollGateSuccesses, currentScheduledState, elapsedSinceStateStarted, findState, MISCONFIGURED_POLL_GATE_THRESHOLD, recordRunnerDecision, recordStateAskedUser, recordStateCompleted, recordStateFailed, recordStateInterrupted, recordStateMachineCompleted, recordStateStarted, recordStateSleep, createStateMachineSession, persistStateDefinition, } from "./state-machine-session.js";
|
|
4
4
|
import { createShellStateHandle, parseJsonObject, parseStructuredOutput, renderTemplate, ShellCommandError, } from "./shell-state-handle.js";
|
|
5
5
|
import { applyStateOverride } from "./tools.js";
|
|
6
6
|
export class StateMachineController {
|
|
@@ -39,6 +39,19 @@ export class StateMachineController {
|
|
|
39
39
|
updatedAt: Date.now(),
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Records a runtime failure on the active session and returns the matching
|
|
44
|
+
* `error` terminal. Used by the turn runner when a protocol violation cannot
|
|
45
|
+
* be recovered (e.g. the parent exhausted its re-prompt budget without
|
|
46
|
+
* calling select_state_machine_state). Recording it here — rather than
|
|
47
|
+
* returning a terminal the runner never persists — keeps the failure on
|
|
48
|
+
* `session.terminal.reason` so the terminal acknowledgment turn and the
|
|
49
|
+
* board/relay see the same outcome the turn event reports.
|
|
50
|
+
*/
|
|
51
|
+
failActiveSession(state, error) {
|
|
52
|
+
this.session = recordStateFailed(this.requireSession(), state, error);
|
|
53
|
+
return { type: "terminal", status: "error", error };
|
|
54
|
+
}
|
|
42
55
|
hasActiveWork() {
|
|
43
56
|
return Boolean(this.activeRun);
|
|
44
57
|
}
|
|
@@ -66,6 +79,32 @@ export class StateMachineController {
|
|
|
66
79
|
startSession(input) {
|
|
67
80
|
this.session = createStateMachineSession(input.prompt, input.definition, input.currentState);
|
|
68
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Supersedes the active session because the parent is replacing it with a
|
|
84
|
+
* brand-new state machine (a create_state_machine_definition with
|
|
85
|
+
* replaceActive: true issued while a machine is still running). Records a
|
|
86
|
+
* `cancelled` terminal and broadcasts the final snapshot so the superseded
|
|
87
|
+
* machine's board/relay card resolves instead of dangling at its last running
|
|
88
|
+
* state; the caller follows with `startSession` to install the replacement.
|
|
89
|
+
* Any in-flight state work is aborted first. No-op when there is no active,
|
|
90
|
+
* non-terminal session.
|
|
91
|
+
*/
|
|
92
|
+
supersedeActiveSession(reason) {
|
|
93
|
+
const session = this.session;
|
|
94
|
+
if (!session || session.terminal)
|
|
95
|
+
return;
|
|
96
|
+
// interrupt() may rewrite this.session (recording an interrupted state for
|
|
97
|
+
// in-flight work), so read the current session after it, not the captured
|
|
98
|
+
// pre-interrupt reference.
|
|
99
|
+
this.interrupt("Replaced by a new state machine.");
|
|
100
|
+
const current = this.requireSession();
|
|
101
|
+
this.session = recordStateMachineCompleted(current, {
|
|
102
|
+
state: current.currentState ?? "",
|
|
103
|
+
status: "cancelled",
|
|
104
|
+
reason,
|
|
105
|
+
});
|
|
106
|
+
this.config.onSessionChanged?.(this.session);
|
|
107
|
+
}
|
|
69
108
|
interrupt(reason = "Interrupted") {
|
|
70
109
|
const run = this.activeRun;
|
|
71
110
|
if (!run)
|
|
@@ -104,7 +143,7 @@ export class StateMachineController {
|
|
|
104
143
|
const validStates = this.session.definition.states.map((state) => state.name);
|
|
105
144
|
const message = `Unknown state: ${decision.state}. Valid states: ${validStates.join(", ")}`;
|
|
106
145
|
this.session = recordStateFailed(this.session, this.session.currentState ?? decision.state, message);
|
|
107
|
-
return { type: "terminal", status: "
|
|
146
|
+
return { type: "terminal", status: "error", error: message };
|
|
108
147
|
}
|
|
109
148
|
// Terminal states ignore overrides/inputs — they just record their
|
|
110
149
|
// status and any caller-supplied reason. Every other state kind
|
|
@@ -171,7 +210,7 @@ export class StateMachineController {
|
|
|
171
210
|
}
|
|
172
211
|
if (terminal.type === "failed") {
|
|
173
212
|
this.session = recordStateFailed(this.requireSession(), state.name, terminal.error);
|
|
174
|
-
return { type: "terminal", status: "
|
|
213
|
+
return { type: "terminal", status: "error", error: terminal.error };
|
|
175
214
|
}
|
|
176
215
|
const output = { result: terminal.result };
|
|
177
216
|
this.session = recordStateCompleted(this.requireSession(), state.name, output);
|
|
@@ -212,7 +251,7 @@ export class StateMachineController {
|
|
|
212
251
|
}
|
|
213
252
|
const message = error instanceof Error ? error.message : String(error);
|
|
214
253
|
this.session = recordStateFailed(this.requireSession(), state.name, message);
|
|
215
|
-
return { type: "terminal", status: "
|
|
254
|
+
return { type: "terminal", status: "error", error: message };
|
|
216
255
|
}
|
|
217
256
|
finally {
|
|
218
257
|
if (this.activeRun === run)
|
|
@@ -225,7 +264,7 @@ export class StateMachineController {
|
|
|
225
264
|
if (state.timeoutMs !== undefined && elapsedMs >= state.timeoutMs) {
|
|
226
265
|
const message = `Poll state "${state.name}" timed out after ${elapsedMs}ms.`;
|
|
227
266
|
this.session = recordStateFailed(this.requireSession(), state.name, message);
|
|
228
|
-
return { type: "terminal", status: "
|
|
267
|
+
return { type: "terminal", status: "error", error: message };
|
|
229
268
|
}
|
|
230
269
|
const command = renderTemplate(state.command, this.session?.currentInput ?? {});
|
|
231
270
|
const shell = createShellStateHandle({
|
|
@@ -245,6 +284,20 @@ export class StateMachineController {
|
|
|
245
284
|
// that parse does NOT affect whether the poll completes.
|
|
246
285
|
const shellOutput = await shell.run();
|
|
247
286
|
const rawOutput = normalizePollShellOutput(shellOutput);
|
|
287
|
+
// Guard against a misconfigured poll gate that exits success on every
|
|
288
|
+
// tick: it is read as "condition met" and handed back to the orchestrator,
|
|
289
|
+
// which re-selects it and hot-loops without ever honoring intervalMs.
|
|
290
|
+
// Enough back-to-back successes of the same poll is the signature of an
|
|
291
|
+
// always-true gate (the `echo`/`exit 0` human-wait footgun), so fail fast
|
|
292
|
+
// with an actionable message instead of spinning. See
|
|
293
|
+
// consecutivePollGateSuccesses for why healthy polls cannot reach the
|
|
294
|
+
// threshold. The current success is not recorded yet, hence the +1.
|
|
295
|
+
const successStreak = consecutivePollGateSuccesses(this.requireSession(), state.name) + 1;
|
|
296
|
+
if (successStreak >= MISCONFIGURED_POLL_GATE_THRESHOLD) {
|
|
297
|
+
const message = misconfiguredPollGateMessage(state.name, successStreak);
|
|
298
|
+
this.session = recordStateFailed(this.requireSession(), state.name, message);
|
|
299
|
+
return { type: "terminal", status: "error", error: message };
|
|
300
|
+
}
|
|
248
301
|
this.session = recordStateCompleted(this.requireSession(), state.name, rawOutput);
|
|
249
302
|
return { type: "state_completed", stateName: state.name, output: rawOutput };
|
|
250
303
|
}
|
|
@@ -364,6 +417,12 @@ function normalizePollShellOutput(shellOutput) {
|
|
|
364
417
|
parsed: parseJsonObject(shellOutput.stdout),
|
|
365
418
|
};
|
|
366
419
|
}
|
|
420
|
+
function misconfiguredPollGateMessage(stateName, successStreak) {
|
|
421
|
+
return (`Poll state "${stateName}" completed successfully ${successStreak} times in a row with no state change in between. ` +
|
|
422
|
+
"A poll's command must exit success ONLY when the awaited condition is actually met and exit non-success otherwise, so intervalMs can space out re-checks; " +
|
|
423
|
+
'a command that exits 0 on every tick (e.g. `echo waiting for review`) is read as "condition met" and hot-loops the relay instead of waiting. ' +
|
|
424
|
+
"If this gate is waiting on a human approval or reply, model it as an agent state that asks the user a question and stops — the reply wakes the relay — rather than as a poll.");
|
|
425
|
+
}
|
|
367
426
|
function shellPartialOutput(error) {
|
|
368
427
|
if (!(error instanceof ShellCommandError))
|
|
369
428
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-controller.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-machine-controller.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,29 @@ export declare function persistStateDefinition(stateMachine: StateMachineSession
|
|
|
29
29
|
export declare function recordStateStarted(stateMachine: StateMachineSession, state: StateMachineState, input?: Record<string, unknown>): StateMachineSession;
|
|
30
30
|
export declare function recordStateCompleted(stateMachine: StateMachineSession, state: string, output: unknown): StateMachineSession;
|
|
31
31
|
export declare function recordStateSleep(stateMachine: StateMachineSession, state: StateMachineScheduledState, wakeAt: number): StateMachineSession;
|
|
32
|
+
/**
|
|
33
|
+
* Threshold for the misconfigured poll-gate heuristic: how many back-to-back
|
|
34
|
+
* successful completions of the same poll state — with no other state running
|
|
35
|
+
* in between — we treat as a runaway always-succeeds poll rather than
|
|
36
|
+
* legitimate fast polling. Kept small but >1 so a poll that genuinely
|
|
37
|
+
* completes once and is re-selected once does not trip the guard.
|
|
38
|
+
*/
|
|
39
|
+
export declare const MISCONFIGURED_POLL_GATE_THRESHOLD = 3;
|
|
40
|
+
/**
|
|
41
|
+
* Count how many times in a row the given poll state has already completed
|
|
42
|
+
* successfully with no *other* state running in between.
|
|
43
|
+
*
|
|
44
|
+
* Why this shape catches the footgun without false positives: a healthy poll
|
|
45
|
+
* either exits non-success — which records a sleep in `progress`, never a
|
|
46
|
+
* `state_completed` in `history`, so it cannot inflate this count — or it
|
|
47
|
+
* eventually drives the machine into a different state, whose event breaks the
|
|
48
|
+
* streak. The only way to accumulate consecutive same-poll completions is an
|
|
49
|
+
* always-exit-0 command (e.g. `echo waiting for review`) being re-selected as
|
|
50
|
+
* the same gate, which is exactly the hot-loop we want to surface. The
|
|
51
|
+
* current in-flight success is not yet recorded when the controller calls
|
|
52
|
+
* this, so the returned count reflects only prior completions.
|
|
53
|
+
*/
|
|
54
|
+
export declare function consecutivePollGateSuccesses(stateMachine: StateMachineSession, pollName: string): number;
|
|
32
55
|
export declare function elapsedSinceStateStarted(stateMachine: StateMachineSession | undefined, state: string): number;
|
|
33
56
|
export declare function recordStateFailed(stateMachine: StateMachineSession, state: string, error: string): StateMachineSession;
|
|
34
57
|
export declare function recordStateInterrupted(stateMachine: StateMachineSession, state: string, reason?: string, output?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-session.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EAErB,mBAAmB,EAGnB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAY/C,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,GACnB,mBAAmB,CAUrB;AAED,wBAAgB,SAAS,CACvB,YAAY,EAAE,mBAAmB,EACjC,IAAI,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAE/B;AAED,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAExF,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,mBAAmB,GAAG,SAAS,GAC5C,0BAA0B,GAAG,SAAS,CAOxC;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAEhG;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,0BAA0B,GACnC,mBAAmB,CAUrB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,mBAAmB,EACjC,YAAY,EAAE,iBAAiB,GAC9B,mBAAmB,CAgBrB;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,iBAAiB,EACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,mBAAmB,CA4BrB;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,mBAAmB,CAiBrB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,0BAA0B,EACjC,MAAM,EAAE,MAAM,GACb,mBAAmB,CAWrB;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,GACZ,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAkBrB;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvE,mBAAmB,CAoBrB;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,YAAY,EAAE,GACxB,mBAAmB,CAYrB;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzF,mBAAmB,CAYrB"}
|
|
1
|
+
{"version":3,"file":"state-machine-session.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,13 +129,59 @@ export function recordStateSleep(stateMachine, state, wakeAt) {
|
|
|
129
129
|
updatedAt: now,
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Threshold for the misconfigured poll-gate heuristic: how many back-to-back
|
|
134
|
+
* successful completions of the same poll state — with no other state running
|
|
135
|
+
* in between — we treat as a runaway always-succeeds poll rather than
|
|
136
|
+
* legitimate fast polling. Kept small but >1 so a poll that genuinely
|
|
137
|
+
* completes once and is re-selected once does not trip the guard.
|
|
138
|
+
*/
|
|
139
|
+
export const MISCONFIGURED_POLL_GATE_THRESHOLD = 3;
|
|
140
|
+
/**
|
|
141
|
+
* Count how many times in a row the given poll state has already completed
|
|
142
|
+
* successfully with no *other* state running in between.
|
|
143
|
+
*
|
|
144
|
+
* Why this shape catches the footgun without false positives: a healthy poll
|
|
145
|
+
* either exits non-success — which records a sleep in `progress`, never a
|
|
146
|
+
* `state_completed` in `history`, so it cannot inflate this count — or it
|
|
147
|
+
* eventually drives the machine into a different state, whose event breaks the
|
|
148
|
+
* streak. The only way to accumulate consecutive same-poll completions is an
|
|
149
|
+
* always-exit-0 command (e.g. `echo waiting for review`) being re-selected as
|
|
150
|
+
* the same gate, which is exactly the hot-loop we want to surface. The
|
|
151
|
+
* current in-flight success is not yet recorded when the controller calls
|
|
152
|
+
* this, so the returned count reflects only prior completions.
|
|
153
|
+
*/
|
|
154
|
+
export function consecutivePollGateSuccesses(stateMachine, pollName) {
|
|
155
|
+
let streak = 0;
|
|
156
|
+
for (let i = stateMachine.history.length - 1; i >= 0; i--) {
|
|
157
|
+
const event = stateMachine.history[i];
|
|
158
|
+
if (event.type === "state_completed") {
|
|
159
|
+
if (event.state !== pollName)
|
|
160
|
+
break;
|
|
161
|
+
streak++;
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
// Events naming this same poll (its own selection/run cycle) are noise
|
|
165
|
+
// between two of its completions; an event naming a *different* state
|
|
166
|
+
// means the machine actually moved on, so the streak is over.
|
|
167
|
+
if ((event.type === "state_started" ||
|
|
168
|
+
event.type === "state_failed" ||
|
|
169
|
+
event.type === "state_interrupted" ||
|
|
170
|
+
event.type === "state_asked_user" ||
|
|
171
|
+
event.type === "state_definition_updated") &&
|
|
172
|
+
event.state !== pollName) {
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return streak;
|
|
177
|
+
}
|
|
132
178
|
export function elapsedSinceStateStarted(stateMachine, state) {
|
|
133
179
|
const startedAt = stateMachine?.progress?.states[state]?.startedAt;
|
|
134
180
|
return startedAt === undefined ? 0 : Math.max(0, Date.now() - startedAt);
|
|
135
181
|
}
|
|
136
182
|
export function recordStateFailed(stateMachine, state, error) {
|
|
137
183
|
const now = Date.now();
|
|
138
|
-
const terminal = { state, status: "
|
|
184
|
+
const terminal = { state, status: "error", reason: error };
|
|
139
185
|
const kind = findState(stateMachine, state)?.kind;
|
|
140
186
|
return {
|
|
141
187
|
...stateMachine,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-session.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state-machine-session.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,6 +110,7 @@ declare const createDefinitionSchema: Type.TObject<{
|
|
|
110
110
|
}>]>>;
|
|
111
111
|
}>;
|
|
112
112
|
firstState: Type.TOptional<Type.TString>;
|
|
113
|
+
replaceActive: Type.TOptional<Type.TBoolean>;
|
|
113
114
|
}>;
|
|
114
115
|
type CreateDefinitionParams = Static<typeof createDefinitionSchema>;
|
|
115
116
|
type ToolStateMachineDefinition = CreateDefinitionParams["definition"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,KAAK,EACX,MAAM,iCAAiC,CAAC;AAGzC,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,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,EACpB,qBAAqB,GAAE,MAAqC,GAC3D,cAAc,CAQhB;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;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"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"}
|