@duetso/agent 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -11
- package/dist/package.json +4 -4
- package/dist/src/cli/config.d.ts +10 -0
- package/dist/src/cli/config.d.ts.map +1 -0
- package/dist/src/cli/config.js +24 -0
- package/dist/src/cli/config.js.map +1 -0
- package/dist/src/cli/help.d.ts.map +1 -1
- package/dist/src/cli/help.js +13 -10
- package/dist/src/cli/help.js.map +1 -1
- package/dist/src/cli/inline-slash.d.ts +2 -1
- package/dist/src/cli/inline-slash.d.ts.map +1 -1
- package/dist/src/cli/inline-slash.js +14 -5
- package/dist/src/cli/inline-slash.js.map +1 -1
- package/dist/src/cli/memory-db.d.ts.map +1 -1
- package/dist/src/cli/memory-db.js +9 -5
- package/dist/src/cli/memory-db.js.map +1 -1
- package/dist/src/cli/memory-query.d.ts +1 -1
- package/dist/src/cli/model.d.ts +1 -1
- package/dist/src/cli/model.d.ts.map +1 -1
- package/dist/src/cli/model.js +1 -1
- package/dist/src/cli/model.js.map +1 -1
- package/dist/src/cli/route.d.ts +84 -0
- package/dist/src/cli/route.d.ts.map +1 -0
- package/dist/src/cli/route.js +261 -0
- package/dist/src/cli/route.js.map +1 -0
- package/dist/src/cli/rpc.d.ts +43 -2
- package/dist/src/cli/rpc.d.ts.map +1 -1
- package/dist/src/cli/rpc.js +176 -23
- package/dist/src/cli/rpc.js.map +1 -1
- package/dist/src/cli/run.d.ts +8 -1
- package/dist/src/cli/run.d.ts.map +1 -1
- package/dist/src/cli/run.js +24 -7
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/cli/shared.d.ts +4 -3
- package/dist/src/cli/shared.d.ts.map +1 -1
- package/dist/src/cli/shared.js +3 -4
- package/dist/src/cli/shared.js.map +1 -1
- package/dist/src/cli/shutdown.d.ts +4 -2
- package/dist/src/cli/shutdown.d.ts.map +1 -1
- package/dist/src/cli/shutdown.js +4 -2
- package/dist/src/cli/shutdown.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 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/core/structured-output.d.ts +2 -0
- package/dist/src/core/structured-output.d.ts.map +1 -1
- package/dist/src/core/structured-output.js +1 -0
- package/dist/src/core/structured-output.js.map +1 -1
- package/dist/src/lib/system-reminder.d.ts +14 -0
- package/dist/src/lib/system-reminder.d.ts.map +1 -0
- package/dist/src/lib/system-reminder.js +53 -0
- package/dist/src/lib/system-reminder.js.map +1 -0
- package/dist/src/lib/walk-ancestors.d.ts +9 -0
- package/dist/src/lib/walk-ancestors.d.ts.map +1 -0
- package/dist/src/lib/walk-ancestors.js +28 -0
- package/dist/src/lib/walk-ancestors.js.map +1 -0
- package/dist/src/memory/observational-prompts.d.ts.map +1 -1
- package/dist/src/memory/observational-prompts.js +2 -1
- package/dist/src/memory/observational-prompts.js.map +1 -1
- package/dist/src/memory/observational.d.ts +31 -4
- package/dist/src/memory/observational.d.ts.map +1 -1
- package/dist/src/memory/observational.js +43 -4
- package/dist/src/memory/observational.js.map +1 -1
- package/dist/src/model-resolution/catalog.d.ts +2 -2
- package/dist/src/model-resolution/catalog.d.ts.map +1 -1
- package/dist/src/model-resolution/catalog.js +61 -33
- package/dist/src/model-resolution/catalog.js.map +1 -1
- package/dist/src/model-resolution/duet-gateway.d.ts +3 -3
- package/dist/src/model-resolution/duet-gateway.d.ts.map +1 -1
- package/dist/src/model-resolution/duet-gateway.js +119 -19
- package/dist/src/model-resolution/duet-gateway.js.map +1 -1
- package/dist/src/model-resolution/model-gateway.d.ts.map +1 -0
- package/dist/src/{cli → model-resolution}/model-gateway.js +10 -6
- package/dist/src/model-resolution/model-gateway.js.map +1 -0
- package/dist/src/model-resolution/resolver.d.ts +11 -4
- package/dist/src/model-resolution/resolver.d.ts.map +1 -1
- package/dist/src/model-resolution/resolver.js +39 -8
- package/dist/src/model-resolution/resolver.js.map +1 -1
- package/dist/src/model-routing/advisor-transcript.d.ts +36 -0
- package/dist/src/model-routing/advisor-transcript.d.ts.map +1 -0
- package/dist/src/model-routing/advisor-transcript.js +103 -0
- package/dist/src/model-routing/advisor-transcript.js.map +1 -0
- package/dist/src/model-routing/advisor.d.ts +27 -0
- package/dist/src/model-routing/advisor.d.ts.map +1 -0
- package/dist/src/model-routing/advisor.js +20 -0
- package/dist/src/model-routing/advisor.js.map +1 -0
- package/dist/src/model-routing/classifier.d.ts +57 -0
- package/dist/src/model-routing/classifier.d.ts.map +1 -0
- package/dist/src/model-routing/classifier.js +63 -0
- package/dist/src/model-routing/classifier.js.map +1 -0
- package/dist/src/model-routing/loader.d.ts +48 -0
- package/dist/src/model-routing/loader.d.ts.map +1 -0
- package/dist/src/model-routing/loader.js +79 -0
- package/dist/src/model-routing/loader.js.map +1 -0
- package/dist/src/model-routing/prompts.d.ts +22 -0
- package/dist/src/model-routing/prompts.d.ts.map +1 -0
- package/dist/src/model-routing/prompts.js +87 -0
- package/dist/src/model-routing/prompts.js.map +1 -0
- package/dist/src/model-routing/resolve.d.ts +40 -0
- package/dist/src/model-routing/resolve.d.ts.map +1 -0
- package/dist/src/model-routing/resolve.js +76 -0
- package/dist/src/model-routing/resolve.js.map +1 -0
- package/dist/src/model-routing/router.d.ts +149 -0
- package/dist/src/model-routing/router.d.ts.map +1 -0
- package/dist/src/model-routing/router.js +235 -0
- package/dist/src/model-routing/router.js.map +1 -0
- package/dist/src/model-routing/step-triggers.d.ts +27 -0
- package/dist/src/model-routing/step-triggers.d.ts.map +1 -0
- package/dist/src/model-routing/step-triggers.js +20 -0
- package/dist/src/model-routing/step-triggers.js.map +1 -0
- package/dist/src/model-routing/table.d.ts +126 -0
- package/dist/src/model-routing/table.d.ts.map +1 -0
- package/dist/src/model-routing/table.js +351 -0
- package/dist/src/model-routing/table.js.map +1 -0
- package/dist/src/session/session.d.ts +40 -23
- package/dist/src/session/session.d.ts.map +1 -1
- package/dist/src/session/session.js +173 -97
- package/dist/src/session/session.js.map +1 -1
- package/dist/src/tasks/quiescence.d.ts +13 -0
- package/dist/src/tasks/quiescence.d.ts.map +1 -0
- package/dist/src/tasks/quiescence.js +11 -0
- package/dist/src/tasks/quiescence.js.map +1 -0
- package/dist/src/tasks/task-manager.d.ts +101 -0
- package/dist/src/tasks/task-manager.d.ts.map +1 -0
- package/dist/src/tasks/task-manager.js +311 -0
- package/dist/src/tasks/task-manager.js.map +1 -0
- package/dist/src/tasks/types.d.ts +85 -0
- package/dist/src/tasks/types.d.ts.map +1 -0
- package/dist/src/tasks/types.js +2 -0
- package/dist/src/tasks/types.js.map +1 -0
- package/dist/src/train/archive.d.ts +3 -0
- package/dist/src/train/archive.d.ts.map +1 -1
- package/dist/src/train/archive.js +7 -3
- package/dist/src/train/archive.js.map +1 -1
- package/dist/src/train/types.d.ts +7 -2
- package/dist/src/train/types.d.ts.map +1 -1
- package/dist/src/tui/app.d.ts +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +12 -2
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/initial-prompt.d.ts.map +1 -1
- package/dist/src/tui/initial-prompt.js +0 -3
- package/dist/src/tui/initial-prompt.js.map +1 -1
- package/dist/src/tui/session-subscription.d.ts +3 -0
- package/dist/src/tui/session-subscription.d.ts.map +1 -1
- package/dist/src/tui/session-subscription.js +29 -5
- package/dist/src/tui/session-subscription.js.map +1 -1
- package/dist/src/tui/sidebar.d.ts +3 -0
- package/dist/src/tui/sidebar.d.ts.map +1 -1
- package/dist/src/tui/sidebar.js +19 -3
- package/dist/src/tui/sidebar.js.map +1 -1
- package/dist/src/tui/slash-commands.d.ts +12 -9
- package/dist/src/tui/slash-commands.d.ts.map +1 -1
- package/dist/src/tui/slash-commands.js +48 -10
- package/dist/src/tui/slash-commands.js.map +1 -1
- package/dist/src/tui/status-controller.d.ts +14 -9
- package/dist/src/tui/status-controller.d.ts.map +1 -1
- package/dist/src/tui/status-controller.js +26 -7
- package/dist/src/tui/status-controller.js.map +1 -1
- package/dist/src/tui/task-lane-renderer.d.ts +30 -0
- package/dist/src/tui/task-lane-renderer.d.ts.map +1 -0
- package/dist/src/tui/task-lane-renderer.js +93 -0
- package/dist/src/tui/task-lane-renderer.js.map +1 -0
- package/dist/src/tui/task-tree.d.ts +47 -0
- package/dist/src/tui/task-tree.d.ts.map +1 -0
- package/dist/src/tui/task-tree.js +190 -0
- package/dist/src/tui/task-tree.js.map +1 -0
- package/dist/src/tui/tool-formatters.js +3 -0
- package/dist/src/tui/tool-formatters.js.map +1 -1
- package/dist/src/turn-runner/agent-events.d.ts.map +1 -1
- package/dist/src/turn-runner/agent-events.js +1 -0
- package/dist/src/turn-runner/agent-events.js.map +1 -1
- package/dist/src/turn-runner/duration.d.ts +2 -2
- package/dist/src/turn-runner/duration.js +3 -3
- package/dist/src/turn-runner/duration.js.map +1 -1
- package/dist/src/turn-runner/prompts.d.ts +5 -1
- package/dist/src/turn-runner/prompts.d.ts.map +1 -1
- package/dist/src/turn-runner/prompts.js +30 -6
- package/dist/src/turn-runner/prompts.js.map +1 -1
- package/dist/src/turn-runner/runtime-clock.d.ts +20 -0
- package/dist/src/turn-runner/runtime-clock.d.ts.map +1 -0
- package/dist/src/turn-runner/runtime-clock.js +38 -0
- package/dist/src/turn-runner/runtime-clock.js.map +1 -0
- package/dist/src/turn-runner/shell-state-handle.d.ts +0 -3
- package/dist/src/turn-runner/shell-state-handle.d.ts.map +1 -1
- package/dist/src/turn-runner/shell-state-handle.js +5 -55
- package/dist/src/turn-runner/shell-state-handle.js.map +1 -1
- package/dist/src/turn-runner/skill-context.d.ts +6 -7
- package/dist/src/turn-runner/skill-context.d.ts.map +1 -1
- package/dist/src/turn-runner/skill-context.js +10 -10
- package/dist/src/turn-runner/skill-context.js.map +1 -1
- package/dist/src/turn-runner/skills.d.ts.map +1 -1
- package/dist/src/turn-runner/skills.js +2 -22
- package/dist/src/turn-runner/skills.js.map +1 -1
- package/dist/src/turn-runner/state-compaction.d.ts +7 -5
- package/dist/src/turn-runner/state-compaction.d.ts.map +1 -1
- package/dist/src/turn-runner/state-compaction.js +69 -10
- package/dist/src/turn-runner/state-compaction.js.map +1 -1
- package/dist/src/turn-runner/state-machine-decisions.d.ts +135 -0
- package/dist/src/turn-runner/state-machine-decisions.d.ts.map +1 -0
- package/dist/src/turn-runner/state-machine-decisions.js +443 -0
- package/dist/src/turn-runner/state-machine-decisions.js.map +1 -0
- package/dist/src/turn-runner/state-machine-session.d.ts +13 -28
- package/dist/src/turn-runner/state-machine-session.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-session.js +18 -55
- package/dist/src/turn-runner/state-machine-session.js.map +1 -1
- package/dist/src/turn-runner/subagent.d.ts +156 -0
- package/dist/src/turn-runner/subagent.d.ts.map +1 -0
- package/dist/src/turn-runner/subagent.js +164 -0
- package/dist/src/turn-runner/subagent.js.map +1 -0
- package/dist/src/turn-runner/task-tools.d.ts +76 -0
- package/dist/src/turn-runner/task-tools.d.ts.map +1 -0
- package/dist/src/turn-runner/task-tools.js +370 -0
- package/dist/src/turn-runner/task-tools.js.map +1 -0
- package/dist/src/turn-runner/tools.d.ts +65 -17
- package/dist/src/turn-runner/tools.d.ts.map +1 -1
- package/dist/src/turn-runner/tools.js +173 -59
- package/dist/src/turn-runner/tools.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +198 -134
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +1302 -713
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/dist/src/turn-runner/usage-accounting.d.ts +4 -0
- package/dist/src/turn-runner/usage-accounting.d.ts.map +1 -1
- package/dist/src/turn-runner/usage-accounting.js +19 -0
- package/dist/src/turn-runner/usage-accounting.js.map +1 -1
- package/dist/src/types/config.d.ts +9 -1
- package/dist/src/types/config.d.ts.map +1 -1
- package/dist/src/types/config.js +2 -1
- package/dist/src/types/config.js.map +1 -1
- package/dist/src/types/protocol.d.ts +110 -30
- package/dist/src/types/protocol.d.ts.map +1 -1
- package/dist/src/types/state-machine.d.ts +10 -12
- package/dist/src/types/state-machine.d.ts.map +1 -1
- package/dist/src/types/state-machine.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/cli/model-gateway.d.ts.map +0 -1
- package/dist/src/cli/model-gateway.js.map +0 -1
- package/dist/src/turn-runner/state-machine-controller.d.ts +0 -140
- package/dist/src/turn-runner/state-machine-controller.d.ts.map +0 -1
- package/dist/src/turn-runner/state-machine-controller.js +0 -501
- package/dist/src/turn-runner/state-machine-controller.js.map +0 -1
- /package/dist/src/{cli → model-resolution}/model-gateway.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-context.js","sourceRoot":"","sources":["../../../src/turn-runner/skill-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-context.js","sourceRoot":"","sources":["../../../src/turn-runner/skill-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQhE,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AA4ED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,KAAK,EAAE,CAEvE;AAED,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,qBAAqB,GAAG,SAAS,EACnD,GAAG,EAAE,MAAM,GACV,sBAAsB,CAQxB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAM3E;AAkBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,GAAG,KAAK,EAAE,CASjG;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQ1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAa9C"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import {
|
|
4
|
+
import { join, resolve, sep } from "node:path";
|
|
5
5
|
import { loadSkills } from "@earendil-works/pi-coding-agent";
|
|
6
|
+
import { walkAncestors } from "../lib/walk-ancestors.js";
|
|
6
7
|
import { getBuiltInSkillInstructions, isBuiltInSkill, listBuiltInSkills, } from "./built-in-skills.js";
|
|
7
8
|
const SKILL_SHELL_EXPANSION_PATTERN = /!`([\s\S]*?)`/g;
|
|
8
9
|
const DEFAULT_SKILL_DIR_NAMES = [".duet", ".agents", ".claude"];
|
|
@@ -37,27 +38,6 @@ function defaultSkillPaths(globalSkillRoots, cwd) {
|
|
|
37
38
|
}
|
|
38
39
|
return [...ancestorPaths, ...globalSkillRoots.map((root) => join(root, "skills"))];
|
|
39
40
|
}
|
|
40
|
-
// Yields cwd, its parent, grandparent, ... up to the filesystem root. The
|
|
41
|
-
// home directory is excluded so global skills do not get double-counted as
|
|
42
|
-
// project skills when cwd lives somewhere inside $HOME.
|
|
43
|
-
function walkAncestors(cwd) {
|
|
44
|
-
const home = resolve(homedir());
|
|
45
|
-
const seen = new Set();
|
|
46
|
-
const result = [];
|
|
47
|
-
let current = resolve(cwd);
|
|
48
|
-
while (true) {
|
|
49
|
-
if (seen.has(current))
|
|
50
|
-
break;
|
|
51
|
-
seen.add(current);
|
|
52
|
-
if (current !== home)
|
|
53
|
-
result.push(current);
|
|
54
|
-
const parent = dirname(current);
|
|
55
|
-
if (parent === current)
|
|
56
|
-
break;
|
|
57
|
-
current = parent;
|
|
58
|
-
}
|
|
59
|
-
return result;
|
|
60
|
-
}
|
|
61
41
|
function uniquePaths(paths) {
|
|
62
42
|
return Array.from(new Set(paths));
|
|
63
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/turn-runner/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/turn-runner/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,14 +43,16 @@ export declare const COMPACT_MESSAGE_TOKENS_RATIO = 0.2;
|
|
|
43
43
|
* leading `toolResult` or `assistant` message until the head is `user` — the
|
|
44
44
|
* only role every provider accepts at position 0.
|
|
45
45
|
*
|
|
46
|
-
* Front-eviction preserves tool-call / tool-result pairing by construction
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
46
|
+
* Front-eviction preserves tool-call / tool-result pairing by construction.
|
|
47
|
+
* When a result carries a live task id, both sides of that pair are pinned:
|
|
48
|
+
* the full invalid-head cascade is inspected before removal, and compaction
|
|
49
|
+
* stops at the preceding valid boundary rather than split or evict the pair.
|
|
50
|
+
* `TurnState.tasks` remains authoritative if no transcript pair can be found.
|
|
50
51
|
*
|
|
51
52
|
* Preserves the original state reference (no mutation) and every non-message
|
|
52
53
|
* field on `TurnState` and `state.agent` (`status`, `mode`, `options`,
|
|
53
|
-
* `stateMachine`, `todos`, `followUpQueue`, `queuedCommands`
|
|
54
|
+
* `stateMachine`, `todos`, `followUpQueue`, `queuedCommands`, `tasks`, and
|
|
55
|
+
* `nextTaskId`).
|
|
54
56
|
*
|
|
55
57
|
* Stops once `messages.length <= MIN_RETAINED_MESSAGES`. If the remainder
|
|
56
58
|
* still exceeds `maxBytes`, the caller persists/emits the oversize state: a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-compaction.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-compaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state-compaction.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-compaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAwEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,0BAA+B,GACvC,gBAAgB,CAoClB"}
|
|
@@ -37,20 +37,74 @@ function isInvalidHead(message) {
|
|
|
37
37
|
return false;
|
|
38
38
|
return message.role === "toolResult" || message.role === "assistant";
|
|
39
39
|
}
|
|
40
|
+
function taskIdsReferencedBy(message) {
|
|
41
|
+
return new Set(JSON.stringify(message).match(/\bt\d+\b/g) ?? []);
|
|
42
|
+
}
|
|
43
|
+
function toolCallIds(message) {
|
|
44
|
+
if (!("role" in message) || message.role !== "assistant" || !("content" in message)) {
|
|
45
|
+
return new Set();
|
|
46
|
+
}
|
|
47
|
+
const content = Array.isArray(message.content) ? message.content : [];
|
|
48
|
+
return new Set(content.flatMap((block) => {
|
|
49
|
+
if (!block || typeof block !== "object" || !("type" in block) || block.type !== "toolCall") {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
const candidate = block;
|
|
53
|
+
const id = candidate.id ?? candidate.toolCallId;
|
|
54
|
+
return typeof id === "string" ? [id] : [];
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Find both messages in every tool-call/result pair whose result carries a
|
|
59
|
+
* live task id. A result can be separated from its assistant call by sibling
|
|
60
|
+
* results, so match the structural tool-call id rather than adjacency.
|
|
61
|
+
*/
|
|
62
|
+
function findLiveTaskPairMessages(state, messages) {
|
|
63
|
+
const liveTaskIds = new Set((state.tasks ?? [])
|
|
64
|
+
.filter(({ status }) => status === "running" || status === "scheduled")
|
|
65
|
+
.map(({ id }) => id));
|
|
66
|
+
const pinned = new Set();
|
|
67
|
+
if (liveTaskIds.size === 0)
|
|
68
|
+
return pinned;
|
|
69
|
+
for (let resultIndex = 0; resultIndex < messages.length; resultIndex += 1) {
|
|
70
|
+
const result = messages[resultIndex];
|
|
71
|
+
if (!result || !("role" in result) || result.role !== "toolResult")
|
|
72
|
+
continue;
|
|
73
|
+
const referencesLiveTask = [...taskIdsReferencedBy(result)].some((id) => liveTaskIds.has(id));
|
|
74
|
+
if (!referencesLiveTask)
|
|
75
|
+
continue;
|
|
76
|
+
const resultCallId = "toolCallId" in result ? result.toolCallId : undefined;
|
|
77
|
+
if (typeof resultCallId !== "string")
|
|
78
|
+
continue;
|
|
79
|
+
for (let callIndex = resultIndex - 1; callIndex >= 0; callIndex -= 1) {
|
|
80
|
+
const call = messages[callIndex];
|
|
81
|
+
if (!call)
|
|
82
|
+
continue;
|
|
83
|
+
if (toolCallIds(call).has(resultCallId)) {
|
|
84
|
+
pinned.add(call);
|
|
85
|
+
pinned.add(result);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return pinned;
|
|
91
|
+
}
|
|
40
92
|
/**
|
|
41
93
|
* Returns a new `TurnState` whose serialized size is at most `maxBytes`,
|
|
42
94
|
* evicting the oldest agent messages first. After each eviction, drops any
|
|
43
95
|
* leading `toolResult` or `assistant` message until the head is `user` — the
|
|
44
96
|
* only role every provider accepts at position 0.
|
|
45
97
|
*
|
|
46
|
-
* Front-eviction preserves tool-call / tool-result pairing by construction
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
98
|
+
* Front-eviction preserves tool-call / tool-result pairing by construction.
|
|
99
|
+
* When a result carries a live task id, both sides of that pair are pinned:
|
|
100
|
+
* the full invalid-head cascade is inspected before removal, and compaction
|
|
101
|
+
* stops at the preceding valid boundary rather than split or evict the pair.
|
|
102
|
+
* `TurnState.tasks` remains authoritative if no transcript pair can be found.
|
|
50
103
|
*
|
|
51
104
|
* Preserves the original state reference (no mutation) and every non-message
|
|
52
105
|
* field on `TurnState` and `state.agent` (`status`, `mode`, `options`,
|
|
53
|
-
* `stateMachine`, `todos`, `followUpQueue`, `queuedCommands`
|
|
106
|
+
* `stateMachine`, `todos`, `followUpQueue`, `queuedCommands`, `tasks`, and
|
|
107
|
+
* `nextTaskId`).
|
|
54
108
|
*
|
|
55
109
|
* Stops once `messages.length <= MIN_RETAINED_MESSAGES`. If the remainder
|
|
56
110
|
* still exceeds `maxBytes`, the caller persists/emits the oversize state: a
|
|
@@ -69,15 +123,20 @@ export function compactTurnState(state, options = {}) {
|
|
|
69
123
|
return { state, evicted: 0, bytes: serialized.length };
|
|
70
124
|
}
|
|
71
125
|
const trimmed = [...messages];
|
|
126
|
+
const pinned = findLiveTaskPairMessages(state, messages);
|
|
72
127
|
let current = state;
|
|
73
128
|
let evicted = 0;
|
|
74
129
|
while (serialized.length > maxBytes && trimmed.length > MIN_RETAINED_MESSAGES) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
evicted += 1;
|
|
130
|
+
let removeCount = 1;
|
|
131
|
+
while (trimmed.length - removeCount > MIN_RETAINED_MESSAGES &&
|
|
132
|
+
isInvalidHead(trimmed[removeCount])) {
|
|
133
|
+
removeCount += 1;
|
|
80
134
|
}
|
|
135
|
+
const removal = trimmed.slice(0, removeCount);
|
|
136
|
+
if (removal.some((message) => pinned.has(message)))
|
|
137
|
+
break;
|
|
138
|
+
trimmed.splice(0, removeCount);
|
|
139
|
+
evicted += removeCount;
|
|
81
140
|
current = { ...current, agent: { ...current.agent, messages: trimmed } };
|
|
82
141
|
serialized = JSON.stringify(current);
|
|
83
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-compaction.js","sourceRoot":"","sources":["../../../src/turn-runner/state-compaction.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAcvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAiC;IACtD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;AACvE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"state-compaction.js","sourceRoot":"","sources":["../../../src/turn-runner/state-compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { TurnQuestion } from "../types/protocol.js";
|
|
2
|
+
import type { StateMachineDefinition, StateMachineSession, StateMachineState, StateMachineTerminalResult } from "../types/state-machine.js";
|
|
3
|
+
import type { ShellCommandOutput, ShellPartialOutput } from "./shell-state-handle.js";
|
|
4
|
+
import type { SubagentResult, SubagentSpec } from "./subagent.js";
|
|
5
|
+
import type { StateMachineRunnerDecision, StateMachineStateOverride } from "./tools.js";
|
|
6
|
+
export { consecutivePollGateSuccesses, MISCONFIGURED_POLL_GATE_THRESHOLD, repeatedSelectionLoopCount, repeatedStateSelectionStreak, REPEATED_SELECTION_LOOP_THRESHOLD, REPEATED_SELECTION_LOOP_WINDOW_MS, } from "./state-machine-session.js";
|
|
7
|
+
type StateCompletedOutcome = {
|
|
8
|
+
type: "state_completed";
|
|
9
|
+
stateName: string;
|
|
10
|
+
output?: unknown;
|
|
11
|
+
};
|
|
12
|
+
type TerminalOutcome = {
|
|
13
|
+
type: "terminal";
|
|
14
|
+
status: StateMachineTerminalResult["status"];
|
|
15
|
+
result?: string;
|
|
16
|
+
error?: string;
|
|
17
|
+
};
|
|
18
|
+
type AskOutcome = {
|
|
19
|
+
type: "ask";
|
|
20
|
+
questions: TurnQuestion[];
|
|
21
|
+
};
|
|
22
|
+
type SleepOutcome = {
|
|
23
|
+
type: "sleep";
|
|
24
|
+
wakeAt: number;
|
|
25
|
+
};
|
|
26
|
+
type InterruptedOutcome = {
|
|
27
|
+
type: "interrupted";
|
|
28
|
+
};
|
|
29
|
+
/** Serializable shell work selected by state-machine policy. */
|
|
30
|
+
export interface ShellSpec {
|
|
31
|
+
/** Rendered command for this state attempt. */
|
|
32
|
+
command: string;
|
|
33
|
+
/** State-local working directory; the turn loop resolves it against its base cwd. */
|
|
34
|
+
cwd?: string;
|
|
35
|
+
/** Hard runtime limit for script states; polls use their timeout as a session-level policy. */
|
|
36
|
+
timeoutMs?: number;
|
|
37
|
+
/** Exit codes that settle the shell attempt successfully. */
|
|
38
|
+
successCodes?: number[];
|
|
39
|
+
}
|
|
40
|
+
/** Policy needed to fold a non-successful shell attempt back into a scheduled poll. */
|
|
41
|
+
export interface PollPolicy {
|
|
42
|
+
/** Delay before the next poll attempt. */
|
|
43
|
+
intervalMs: number | string;
|
|
44
|
+
}
|
|
45
|
+
/** Execution-free work description produced by a state-machine decision. */
|
|
46
|
+
export type PlannedWork = {
|
|
47
|
+
park: {
|
|
48
|
+
stateName: string;
|
|
49
|
+
};
|
|
50
|
+
} | {
|
|
51
|
+
run: {
|
|
52
|
+
subagent: SubagentSpec;
|
|
53
|
+
stateName: string;
|
|
54
|
+
};
|
|
55
|
+
} | {
|
|
56
|
+
run: {
|
|
57
|
+
shell: ShellSpec;
|
|
58
|
+
stateName: string;
|
|
59
|
+
pollPolicy?: PollPolicy;
|
|
60
|
+
};
|
|
61
|
+
} | {
|
|
62
|
+
schedule: {
|
|
63
|
+
wakeAt: number;
|
|
64
|
+
stateName: string;
|
|
65
|
+
};
|
|
66
|
+
} | {
|
|
67
|
+
terminal: Omit<TerminalOutcome, "type"> & {
|
|
68
|
+
stateName: string;
|
|
69
|
+
ledger: "recorded" | "failed" | "completed";
|
|
70
|
+
notifyStarted: boolean;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export interface PlannedDecision {
|
|
74
|
+
/** Updated durable ledger after applying and recording the decision. */
|
|
75
|
+
session: StateMachineSession;
|
|
76
|
+
/** Execution or scheduling work the turn loop performs. */
|
|
77
|
+
work: PlannedWork;
|
|
78
|
+
}
|
|
79
|
+
export type SettledDecision = {
|
|
80
|
+
session: StateMachineSession;
|
|
81
|
+
outcome: StateCompletedOutcome;
|
|
82
|
+
} | {
|
|
83
|
+
session: StateMachineSession;
|
|
84
|
+
outcome: TerminalOutcome;
|
|
85
|
+
} | {
|
|
86
|
+
session: StateMachineSession;
|
|
87
|
+
outcome: AskOutcome;
|
|
88
|
+
} | {
|
|
89
|
+
session: StateMachineSession;
|
|
90
|
+
outcome: SleepOutcome;
|
|
91
|
+
} | {
|
|
92
|
+
session: StateMachineSession;
|
|
93
|
+
outcome: InterruptedOutcome;
|
|
94
|
+
};
|
|
95
|
+
export type ShellSettlement = {
|
|
96
|
+
type: "completed";
|
|
97
|
+
output: ShellCommandOutput;
|
|
98
|
+
} | {
|
|
99
|
+
type: "failed";
|
|
100
|
+
error: string;
|
|
101
|
+
} | {
|
|
102
|
+
type: "interrupted";
|
|
103
|
+
reason?: string;
|
|
104
|
+
};
|
|
105
|
+
export type TimerSettlement = {
|
|
106
|
+
type: "completed";
|
|
107
|
+
output: {
|
|
108
|
+
elapsedMs: number;
|
|
109
|
+
timestamp: number;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
export declare function hydrate(stateMachine: StateMachineSession | undefined): StateMachineSession | undefined;
|
|
113
|
+
export declare function getSession(stateMachine: StateMachineSession | undefined): StateMachineSession | undefined;
|
|
114
|
+
export declare function startSession(input: {
|
|
115
|
+
prompt: string;
|
|
116
|
+
definition: StateMachineDefinition;
|
|
117
|
+
currentState: string;
|
|
118
|
+
}): StateMachineSession;
|
|
119
|
+
export declare function markTerminalAcknowledged(session: StateMachineSession): StateMachineSession;
|
|
120
|
+
export declare function failActiveSession(session: StateMachineSession, state: string, error: string): SettledDecision;
|
|
121
|
+
export declare function supersede(session: StateMachineSession, reason: string): StateMachineSession;
|
|
122
|
+
export declare function planDecision(stateMachine: StateMachineSession, decision: StateMachineRunnerDecision, now?: number): PlannedDecision;
|
|
123
|
+
export declare function planWake(stateMachine: StateMachineSession | undefined, now?: number): PlannedDecision | undefined;
|
|
124
|
+
export declare function recordScheduled(stateMachine: StateMachineSession, stateName: string, wakeAt: number): SettledDecision;
|
|
125
|
+
export declare function recordPlannedTerminal(stateMachine: StateMachineSession, terminal: Extract<PlannedWork, {
|
|
126
|
+
terminal: unknown;
|
|
127
|
+
}>["terminal"]): SettledDecision;
|
|
128
|
+
export declare function recordSettled(stateMachine: StateMachineSession, stateName: string, kind: "agent" | "script" | "poll" | "timer", result: SubagentResult | ShellSettlement | TimerSettlement, partial?: {
|
|
129
|
+
assistantText?: string;
|
|
130
|
+
} | ShellPartialOutput, now?: number): SettledDecision;
|
|
131
|
+
export declare function applyStateOverride(state: StateMachineState, override: StateMachineStateOverride | undefined): StateMachineState;
|
|
132
|
+
export declare function renderTemplate(template: string, input: Record<string, unknown>): string;
|
|
133
|
+
export declare function parseStructuredOutput(stdout: string): Record<string, unknown>;
|
|
134
|
+
export declare function parseJsonObject(text: string): Record<string, unknown>;
|
|
135
|
+
//# sourceMappingURL=state-machine-decisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-machine-decisions.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-decisions.ts"],"names":[],"mappings":"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"}
|