@namzu/cli 26.3.0 → 27.0.0
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/CHANGELOG.md +214 -0
- package/README.md +49 -34
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -1
- package/dist/checkpoints/store.d.ts +17 -4
- package/dist/checkpoints/store.d.ts.map +1 -1
- package/dist/checkpoints/store.js +20 -5
- package/dist/checkpoints/store.js.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.d.ts +23 -1
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +41 -2
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/drain.d.ts +69 -2
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +214 -134
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/eval.js +1 -1
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/provider-wait.d.ts +5 -5
- package/dist/commands/provider-wait.d.ts.map +1 -1
- package/dist/commands/provider-wait.js +2 -2
- package/dist/commands/resident.d.ts.map +1 -1
- package/dist/commands/resident.js +2 -1
- package/dist/commands/resident.js.map +1 -1
- package/dist/commands/run-flags.d.ts +7 -7
- package/dist/commands/run-flags.js +4 -4
- package/dist/commands/run-stream.d.ts +16 -12
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +142 -98
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts +6 -4
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +129 -45
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.js +2 -2
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/state.js +8 -8
- package/dist/commands/state.js.map +1 -1
- package/dist/config/load.d.ts +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +17 -5
- package/dist/config/load.js.map +1 -1
- package/dist/config/run-limits.d.ts +20 -8
- package/dist/config/run-limits.d.ts.map +1 -1
- package/dist/config/run-limits.js +28 -46
- package/dist/config/run-limits.js.map +1 -1
- package/dist/config/schema.d.ts +44 -19
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tool-result-screens.js +1 -1
- package/dist/context/directories.d.ts +37 -0
- package/dist/context/directories.d.ts.map +1 -0
- package/dist/context/directories.js +69 -0
- package/dist/context/directories.js.map +1 -0
- package/dist/context/environment.d.ts +55 -0
- package/dist/context/environment.d.ts.map +1 -1
- package/dist/context/environment.js +96 -0
- package/dist/context/environment.js.map +1 -1
- package/dist/context/project-tracker.d.ts +3 -3
- package/dist/context/project-tracker.d.ts.map +1 -1
- package/dist/context/project-tracker.js +3 -3
- package/dist/context/project-tracker.js.map +1 -1
- package/dist/context/project.d.ts +1 -1
- package/dist/context/project.js +1 -1
- package/dist/context/sandbox.d.ts +22 -3
- package/dist/context/sandbox.d.ts.map +1 -1
- package/dist/context/sandbox.js +42 -4
- package/dist/context/sandbox.js.map +1 -1
- package/dist/doctor/checks/chain.d.ts +1 -1
- package/dist/doctor/checks/chain.js +5 -5
- package/dist/doctor/checks/chain.js.map +1 -1
- package/dist/doctor/checks/invariants.d.ts +2 -2
- package/dist/doctor/checks/invariants.js +5 -5
- package/dist/doctor/checks/invariants.js.map +1 -1
- package/dist/doctor/checks/logging.js +1 -1
- package/dist/doctor/checks/logging.js.map +1 -1
- package/dist/doctor/checks/sandbox.js +1 -1
- package/dist/doctor/checks/sandbox.js.map +1 -1
- package/dist/doctor/checks/session-export.d.ts +1 -1
- package/dist/doctor/checks/session-export.js +2 -2
- package/dist/doctor/checks/session-export.js.map +1 -1
- package/dist/doctor/checks/telemetry.d.ts +1 -1
- package/dist/doctor/checks/telemetry.js +1 -1
- package/dist/doctor/registry.js +2 -2
- package/dist/doctor/registry.js.map +1 -1
- package/dist/exit-codes.d.ts +2 -2
- package/dist/exit-codes.js +2 -2
- package/dist/integrations/mcp/servers.d.ts +1 -1
- package/dist/integrations/providers/chain-capabilities.d.ts +6 -6
- package/dist/integrations/providers/chain-capabilities.js +8 -8
- package/dist/integrations/providers/chain-capabilities.js.map +1 -1
- package/dist/integrations/providers/register.d.ts +1 -1
- package/dist/integrations/providers/register.js +1 -1
- package/dist/integrations/providers/registry.d.ts +1 -1
- package/dist/integrations/resident/inspection.d.ts +4 -1
- package/dist/integrations/resident/inspection.d.ts.map +1 -1
- package/dist/integrations/resident/inspection.js +53 -34
- package/dist/integrations/resident/inspection.js.map +1 -1
- package/dist/integrations/resident/learning-storage.d.ts +7 -2
- package/dist/integrations/resident/learning-storage.d.ts.map +1 -1
- package/dist/integrations/resident/learning-storage.js +12 -8
- package/dist/integrations/resident/learning-storage.js.map +1 -1
- package/dist/integrations/resident/runner-store.d.ts +1 -1
- package/dist/integrations/resident/runner-store.d.ts.map +1 -1
- package/dist/integrations/resident/runner-store.js +5 -2
- package/dist/integrations/resident/runner-store.js.map +1 -1
- package/dist/integrations/resident/runner-worker.js +1 -0
- package/dist/integrations/resident/runner-worker.js.map +1 -1
- package/dist/integrations/resident/session-log-reads.d.ts +37 -0
- package/dist/integrations/resident/session-log-reads.d.ts.map +1 -0
- package/dist/integrations/resident/session-log-reads.js +125 -0
- package/dist/integrations/resident/session-log-reads.js.map +1 -0
- package/dist/integrations/resident/session-step.d.ts +2 -0
- package/dist/integrations/resident/session-step.d.ts.map +1 -1
- package/dist/integrations/resident/session-step.js +15 -13
- package/dist/integrations/resident/session-step.js.map +1 -1
- package/dist/integrations/resident/storage.d.ts +23 -1
- package/dist/integrations/resident/storage.d.ts.map +1 -1
- package/dist/integrations/resident/storage.js +60 -17
- package/dist/integrations/resident/storage.js.map +1 -1
- package/dist/integrations/resident/tool-evidence.d.ts +4 -2
- package/dist/integrations/resident/tool-evidence.d.ts.map +1 -1
- package/dist/integrations/resident/tool-evidence.js +36 -30
- package/dist/integrations/resident/tool-evidence.js.map +1 -1
- package/dist/integrations/resident/verification.d.ts +2 -2
- package/dist/integrations/resident/verification.d.ts.map +1 -1
- package/dist/integrations/resident/verification.js +4 -4
- package/dist/integrations/resident/verification.js.map +1 -1
- package/dist/integrations/sessions/checkpoint-view.d.ts +13 -0
- package/dist/integrations/sessions/checkpoint-view.d.ts.map +1 -0
- package/dist/integrations/sessions/checkpoint-view.js +48 -0
- package/dist/integrations/sessions/checkpoint-view.js.map +1 -0
- package/dist/integrations/sessions/context-inventory.js +1 -1
- package/dist/integrations/sessions/context-inventory.js.map +1 -1
- package/dist/integrations/sessions/conversation-search.d.ts +16 -20
- package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
- package/dist/integrations/sessions/conversation-search.js +305 -731
- package/dist/integrations/sessions/conversation-search.js.map +1 -1
- package/dist/integrations/sessions/evidence-page-validation.d.ts +4 -4
- package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -1
- package/dist/integrations/sessions/evidence-page-validation.js +1 -1
- package/dist/integrations/sessions/evidence-page-validation.js.map +1 -1
- package/dist/integrations/sessions/evidence-recall.d.ts +40 -2
- package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -1
- package/dist/integrations/sessions/evidence-recall.js +41 -97
- package/dist/integrations/sessions/evidence-recall.js.map +1 -1
- package/dist/integrations/sessions/store.d.ts +153 -85
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +414 -484
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/task-context.d.ts +15 -2
- package/dist/integrations/sessions/task-context.d.ts.map +1 -1
- package/dist/integrations/sessions/task-context.js +34 -11
- package/dist/integrations/sessions/task-context.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts +13 -6
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.js +148 -263
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/state/home.d.ts +4 -16
- package/dist/integrations/state/home.d.ts.map +1 -1
- package/dist/integrations/state/home.js +6 -42
- package/dist/integrations/state/home.js.map +1 -1
- package/dist/integrations/state/project.d.ts +6 -7
- package/dist/integrations/state/project.d.ts.map +1 -1
- package/dist/integrations/state/project.js +7 -9
- package/dist/integrations/state/project.js.map +1 -1
- package/dist/integrations/state/report.d.ts +27 -41
- package/dist/integrations/state/report.d.ts.map +1 -1
- package/dist/integrations/state/report.js +172 -464
- package/dist/integrations/state/report.js.map +1 -1
- package/dist/integrations/state/retention.d.ts +18 -0
- package/dist/integrations/state/retention.d.ts.map +1 -0
- package/dist/integrations/state/retention.js +18 -0
- package/dist/integrations/state/retention.js.map +1 -0
- package/dist/integrations/subagents/activity.d.ts +36 -31
- package/dist/integrations/subagents/activity.d.ts.map +1 -1
- package/dist/integrations/subagents/activity.js +27 -23
- package/dist/integrations/subagents/activity.js.map +1 -1
- package/dist/integrations/subagents/batches.d.ts +91 -0
- package/dist/integrations/subagents/batches.d.ts.map +1 -0
- package/dist/integrations/subagents/batches.js +172 -0
- package/dist/integrations/subagents/batches.js.map +1 -0
- package/dist/integrations/subagents/parent.d.ts +26 -11
- package/dist/integrations/subagents/parent.d.ts.map +1 -1
- package/dist/integrations/subagents/parent.js +13 -28
- package/dist/integrations/subagents/parent.js.map +1 -1
- package/dist/integrations/subagents/policy.d.ts +2 -2
- package/dist/integrations/subagents/policy.d.ts.map +1 -1
- package/dist/integrations/subagents/policy.js +2 -2
- package/dist/integrations/subagents/policy.js.map +1 -1
- package/dist/integrations/subagents/replay.d.ts +91 -26
- package/dist/integrations/subagents/replay.d.ts.map +1 -1
- package/dist/integrations/subagents/replay.js +216 -114
- package/dist/integrations/subagents/replay.js.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +50 -26
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +132 -126
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/integrations/subagents/saved-agents.d.ts +57 -0
- package/dist/integrations/subagents/saved-agents.d.ts.map +1 -0
- package/dist/integrations/subagents/saved-agents.js +102 -0
- package/dist/integrations/subagents/saved-agents.js.map +1 -0
- package/dist/integrations/subagents/slash.d.ts +55 -0
- package/dist/integrations/subagents/slash.d.ts.map +1 -0
- package/dist/integrations/subagents/slash.js +45 -0
- package/dist/integrations/subagents/slash.js.map +1 -0
- package/dist/integrations/telemetry/session-export.d.ts +6 -6
- package/dist/integrations/telemetry/session-export.d.ts.map +1 -1
- package/dist/integrations/telemetry/session-export.js +2 -2
- package/dist/memory/presentation.d.ts +11 -0
- package/dist/memory/presentation.d.ts.map +1 -1
- package/dist/memory/presentation.js +25 -0
- package/dist/memory/presentation.js.map +1 -1
- package/dist/memory/store.d.ts +13 -7
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +37 -11
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/typed.d.ts +116 -0
- package/dist/memory/typed.d.ts.map +1 -0
- package/dist/memory/typed.js +336 -0
- package/dist/memory/typed.js.map +1 -0
- package/dist/permissions/checks.d.ts +1 -1
- package/dist/permissions/checks.js +1 -1
- package/dist/permissions/headless-trust.d.ts +2 -2
- package/dist/permissions/headless-trust.d.ts.map +1 -1
- package/dist/permissions/headless-trust.js +3 -3
- package/dist/permissions/headless-trust.js.map +1 -1
- package/dist/permissions/mode.d.ts +4 -4
- package/dist/permissions/mode.js +1 -1
- package/dist/permissions/rules.d.ts +1 -1
- package/dist/permissions/rules.js +1 -1
- package/dist/termination.d.ts +75 -0
- package/dist/termination.d.ts.map +1 -0
- package/dist/termination.js +143 -0
- package/dist/termination.js.map +1 -0
- package/dist/tui/AgentExplorer.d.ts +2 -2
- package/dist/tui/AgentExplorer.js +4 -4
- package/dist/tui/AgentExplorer.js.map +1 -1
- package/dist/tui/App.d.ts +9 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +452 -303
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/LiveActivity.d.ts +1 -1
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +8 -0
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +25 -2
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/Picker.js +1 -1
- package/dist/tui/agent.d.ts +208 -132
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +523 -313
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/conversation-evidence-view.js +3 -3
- package/dist/tui/conversation-evidence-view.js.map +1 -1
- package/dist/tui/conversation-history.d.ts +4 -21
- package/dist/tui/conversation-history.d.ts.map +1 -1
- package/dist/tui/conversation-history.js +4 -28
- package/dist/tui/conversation-history.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +27 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/log-pane.js +1 -1
- package/dist/tui/markdownParser.d.ts +1 -1
- package/dist/tui/markdownParser.js +1 -1
- package/dist/tui/permission-review.d.ts +16 -0
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/permission-review.js +25 -2
- package/dist/tui/permission-review.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +29 -40
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +70 -61
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/{run-interruption.d.ts → turn-interruption.d.ts} +4 -4
- package/dist/tui/turn-interruption.d.ts.map +1 -0
- package/dist/tui/{run-interruption.js → turn-interruption.js} +20 -20
- package/dist/tui/turn-interruption.js.map +1 -0
- package/dist/tui/turn-limits-settings.d.ts +39 -0
- package/dist/tui/turn-limits-settings.d.ts.map +1 -0
- package/dist/tui/{run-limits-settings.js → turn-limits-settings.js} +18 -18
- package/dist/tui/turn-limits-settings.js.map +1 -0
- package/dist/tui/types.d.ts +3 -3
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/user-commands/store.d.ts +1 -1
- package/dist/user-commands/store.js +1 -1
- package/package.json +7 -7
- package/dist/integrations/sessions/compaction-evidence.d.ts +0 -5
- package/dist/integrations/sessions/compaction-evidence.d.ts.map +0 -1
- package/dist/integrations/sessions/compaction-evidence.js +0 -59
- package/dist/integrations/sessions/compaction-evidence.js.map +0 -1
- package/dist/integrations/sessions/database.d.ts +0 -5
- package/dist/integrations/sessions/database.d.ts.map +0 -1
- package/dist/integrations/sessions/database.js +0 -34
- package/dist/integrations/sessions/database.js.map +0 -1
- package/dist/integrations/sessions/paths.d.ts +0 -7
- package/dist/integrations/sessions/paths.d.ts.map +0 -1
- package/dist/integrations/sessions/paths.js +0 -14
- package/dist/integrations/sessions/paths.js.map +0 -1
- package/dist/integrations/sessions/run-discovery.d.ts +0 -24
- package/dist/integrations/sessions/run-discovery.d.ts.map +0 -1
- package/dist/integrations/sessions/run-discovery.js +0 -142
- package/dist/integrations/sessions/run-discovery.js.map +0 -1
- package/dist/integrations/sessions/turn-evidence.d.ts +0 -129
- package/dist/integrations/sessions/turn-evidence.d.ts.map +0 -1
- package/dist/integrations/sessions/turn-evidence.js +0 -517
- package/dist/integrations/sessions/turn-evidence.js.map +0 -1
- package/dist/integrations/subagents/history.d.ts +0 -26
- package/dist/integrations/subagents/history.d.ts.map +0 -1
- package/dist/integrations/subagents/history.js +0 -76
- package/dist/integrations/subagents/history.js.map +0 -1
- package/dist/integrations/subagents/runs.d.ts +0 -72
- package/dist/integrations/subagents/runs.d.ts.map +0 -1
- package/dist/integrations/subagents/runs.js +0 -155
- package/dist/integrations/subagents/runs.js.map +0 -1
- package/dist/tui/run-interruption.d.ts.map +0 -1
- package/dist/tui/run-interruption.js.map +0 -1
- package/dist/tui/run-limits-settings.d.ts +0 -39
- package/dist/tui/run-limits-settings.d.ts.map +0 -1
- package/dist/tui/run-limits-settings.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-limits-settings.d.ts","sourceRoot":"","sources":["../../src/tui/turn-limits-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAqB,MAAM,yBAAyB,CAAA;AAE/F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAmBpB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,GAAG,EAAE,YAAY,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAE/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAmC1E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU;;;;IAanD"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export const
|
|
1
|
+
import { resolveTurnGuards } from '../config/run-limits.js';
|
|
2
|
+
export const TURN_LIMIT_FIELDS = [
|
|
3
3
|
{
|
|
4
4
|
name: 'tokens',
|
|
5
5
|
key: 'tokenBudget',
|
|
6
6
|
label: 'Token budget',
|
|
7
|
-
hint: 'Whole tokens across the
|
|
7
|
+
hint: 'Whole tokens across the turn and its children; 0 or unlimited removes the cap.',
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
name: 'iterations',
|
|
11
11
|
key: 'maxIterations',
|
|
12
12
|
label: 'Model turns',
|
|
13
|
-
hint: 'Whole model calls per
|
|
13
|
+
hint: 'Whole model calls per turn; 0 or unlimited removes the cap.',
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
name: 'time',
|
|
17
17
|
key: 'timeoutMs',
|
|
18
|
-
label: '
|
|
18
|
+
label: 'Turn duration',
|
|
19
19
|
hint: 'Duration such as 30m, 2h or 1500ms; a bare number is milliseconds. 0 or unlimited removes the cap.',
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
|
-
export function
|
|
22
|
+
export function turnLimitsAction(args) {
|
|
23
23
|
if (args.length === 0)
|
|
24
|
-
return { kind: '
|
|
24
|
+
return { kind: 'turn-limits-picker' };
|
|
25
25
|
if (args.length === 1 && args[0] === 'unlimited')
|
|
26
|
-
return { kind: '
|
|
27
|
-
const field =
|
|
26
|
+
return { kind: 'turn-limits-set', limits: resolveTurnGuards() };
|
|
27
|
+
const field = TURN_LIMIT_FIELDS.find((field) => field.name === args[0]);
|
|
28
28
|
if (field && args.length === 1)
|
|
29
|
-
return { kind: '
|
|
29
|
+
return { kind: 'turn-limit-editor', key: field.key };
|
|
30
30
|
if (field && args.length === 2) {
|
|
31
31
|
try {
|
|
32
32
|
const raw = (args[1] ?? '').toLowerCase();
|
|
@@ -39,8 +39,8 @@ export function runLimitsAction(args) {
|
|
|
39
39
|
: /^\d+$/.test(raw)
|
|
40
40
|
? Number(raw)
|
|
41
41
|
: Number.NaN;
|
|
42
|
-
|
|
43
|
-
return { kind: '
|
|
42
|
+
resolveTurnGuards({ [field.key]: value });
|
|
43
|
+
return { kind: 'turn-limits-set', limits: { [field.key]: value } };
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
46
46
|
return {
|
|
@@ -56,7 +56,7 @@ export function runLimitsAction(args) {
|
|
|
56
56
|
content: 'Usage: /config limits [tokens|iterations|time] [value]; /config limits unlimited removes all three caps.',
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
export function
|
|
59
|
+
export function formatTurnLimit(key, value) {
|
|
60
60
|
if (value === 0)
|
|
61
61
|
return 'Unlimited';
|
|
62
62
|
if (key === 'timeoutMs') {
|
|
@@ -71,18 +71,18 @@ export function formatRunLimit(key, value) {
|
|
|
71
71
|
}
|
|
72
72
|
return value.toLocaleString('en-US');
|
|
73
73
|
}
|
|
74
|
-
export function
|
|
74
|
+
export function turnLimitCommands(limits) {
|
|
75
75
|
return [
|
|
76
|
-
...
|
|
76
|
+
...TURN_LIMIT_FIELDS.map((field) => ({
|
|
77
77
|
name: `config limits ${field.name}`,
|
|
78
78
|
label: field.label,
|
|
79
|
-
description:
|
|
79
|
+
description: formatTurnLimit(field.key, limits[field.key]),
|
|
80
80
|
})),
|
|
81
81
|
{
|
|
82
82
|
name: 'config limits unlimited',
|
|
83
|
-
label: 'Remove all
|
|
83
|
+
label: 'Remove all turn caps',
|
|
84
84
|
description: 'Unlimited tokens, model turns and duration. Usage is still measured.',
|
|
85
85
|
},
|
|
86
86
|
];
|
|
87
87
|
}
|
|
88
|
-
//# sourceMappingURL=
|
|
88
|
+
//# sourceMappingURL=turn-limits-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-limits-settings.js","sourceRoot":"","sources":["../../src/tui/turn-limits-settings.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { AuthorizationRule } from '@namzu/sdk';
|
|
7
7
|
import type { ConfigDebugSnapshot } from '../config/debug.js';
|
|
8
|
-
import type { CompactionCliConfig, HooksConfig, MemoryCliConfig, PluginConfig,
|
|
8
|
+
import type { CompactionCliConfig, HooksConfig, MemoryCliConfig, PluginConfig, SandboxConfig, TuiConfig, TurnLimitsConfig, WebConfig } from '../config/schema.js';
|
|
9
9
|
import type { ToolResultScreenConfig } from '../config/tool-result-screens.js';
|
|
10
10
|
import type { McpServersConfig } from '../integrations/mcp/servers.js';
|
|
11
11
|
import type { ResolvedLogging } from '../logging.js';
|
|
@@ -82,8 +82,8 @@ export interface TuiContext {
|
|
|
82
82
|
readonly hooks?: HooksConfig;
|
|
83
83
|
readonly compaction?: CompactionCliConfig;
|
|
84
84
|
readonly memory?: MemoryCliConfig;
|
|
85
|
-
/** Configured per-
|
|
86
|
-
readonly limits?:
|
|
85
|
+
/** Configured per-turn limits, also applied when rebuilding a session. */
|
|
86
|
+
readonly limits?: TurnLimitsConfig;
|
|
87
87
|
/**
|
|
88
88
|
* See `NamzuCliConfig.toolResultScreens`.
|
|
89
89
|
*
|
package/dist/tui/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,7 +95,7 @@ export type HeadlessExpansion =
|
|
|
95
95
|
*
|
|
96
96
|
* `namzu run "/ozet hedef.js"` used to send that string to the model verbatim.
|
|
97
97
|
* The model, reasonably, tried to make sense of it — offering to create a file
|
|
98
|
-
* called `ozet hedef.js`. The
|
|
98
|
+
* called `ozet hedef.js`. The turn exited 0 with confident output that had
|
|
99
99
|
* nothing to do with the command. It did not fail; it quietly did something
|
|
100
100
|
* else, which is the shape worth removing.
|
|
101
101
|
*
|
|
@@ -138,7 +138,7 @@ function samePhysicalDirectory(left, right) {
|
|
|
138
138
|
*
|
|
139
139
|
* `namzu run "/ozet hedef.js"` used to send that string to the model verbatim.
|
|
140
140
|
* The model, reasonably, tried to make sense of it — offering to create a file
|
|
141
|
-
* called `ozet hedef.js`. The
|
|
141
|
+
* called `ozet hedef.js`. The turn exited 0 with confident output that had
|
|
142
142
|
* nothing to do with the command. It did not fail; it quietly did something
|
|
143
143
|
* else, which is the shape worth removing.
|
|
144
144
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namzu/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "27.0.0",
|
|
4
4
|
"description": "Interactive and headless terminal agent for Namzu, with provider discovery, durable sessions, tools and diagnostics.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"namzu",
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
"react": "19.2.6",
|
|
47
47
|
"string-width": "8.2.1",
|
|
48
48
|
"yaml": "^2.9.0",
|
|
49
|
-
"@namzu/anthropic": "6.0.
|
|
49
|
+
"@namzu/anthropic": "6.0.1",
|
|
50
50
|
"@namzu/computer-use": "1.4.3",
|
|
51
51
|
"@namzu/deepseek": "^2.0.0",
|
|
52
|
-
"@namzu/ollama": "2.2.4",
|
|
53
52
|
"@namzu/files": "1.1.1",
|
|
53
|
+
"@namzu/ollama": "2.2.4",
|
|
54
54
|
"@namzu/openai": "4.0.0",
|
|
55
|
-
"@namzu/openrouter": "3.0.
|
|
56
|
-
"@namzu/sdk": "^
|
|
55
|
+
"@namzu/openrouter": "3.0.1",
|
|
56
|
+
"@namzu/sdk": "^44.0.0",
|
|
57
57
|
"@namzu/google": "^1.0.0",
|
|
58
|
-
"@namzu/zen": "^2.
|
|
58
|
+
"@namzu/zen": "^2.4.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@biomejs/biome": "^1.9.4",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"ink-testing-library": "^4.0.0",
|
|
65
65
|
"typescript": "^5.5.0",
|
|
66
66
|
"vitest": "^4.1.11",
|
|
67
|
-
"@namzu/telemetry": "
|
|
67
|
+
"@namzu/telemetry": "3.0.0"
|
|
68
68
|
},
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=22.13.0"
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Message, type SessionId } from '@namzu/sdk';
|
|
2
|
-
import { type ConversationContext } from './store.js';
|
|
3
|
-
/** A zero-model maintenance record, separate from closed model invocations. */
|
|
4
|
-
export declare function retainManualCompaction(sessions: ConversationContext, sessionId: SessionId, messages: readonly Message[], signal?: AbortSignal): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=compaction-evidence.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-evidence.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/compaction-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAGZ,KAAK,SAAS,EAEd,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,KAAK,mBAAmB,EAA+B,MAAM,YAAY,CAAA;AAElF,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { RunPersistence, generateRunId, } from '@namzu/sdk';
|
|
2
|
-
import { cliLogger } from '../../logging.js';
|
|
3
|
-
import { ensurePrivateStateDirectory } from '../state/private-directory.js';
|
|
4
|
-
import { requireWritableConversation } from './store.js';
|
|
5
|
-
/** A zero-model maintenance record, separate from closed model invocations. */
|
|
6
|
-
export async function retainManualCompaction(sessions, sessionId, messages, signal) {
|
|
7
|
-
signal?.throwIfAborted();
|
|
8
|
-
await requireWritableConversation(sessions, sessionId, 'retain compacted history');
|
|
9
|
-
if (!messages.length)
|
|
10
|
-
return;
|
|
11
|
-
const sessionsDir = ensurePrivateStateDirectory(sessions.root, 'sessions');
|
|
12
|
-
const sessionDir = ensurePrivateStateDirectory(sessionsDir, sessionId);
|
|
13
|
-
const outputDir = ensurePrivateStateDirectory(sessionDir, 'runs');
|
|
14
|
-
const persistence = new RunPersistence({
|
|
15
|
-
runId: generateRunId(),
|
|
16
|
-
agentId: 'manual-compaction',
|
|
17
|
-
agentName: 'Manual compaction archive',
|
|
18
|
-
providerId: 'host',
|
|
19
|
-
runConfig: { model: 'none', timeoutMs: 0, tokenBudget: 0 },
|
|
20
|
-
outputDir,
|
|
21
|
-
log: cliLogger(),
|
|
22
|
-
sessionId,
|
|
23
|
-
topicId: sessions.topicId,
|
|
24
|
-
tenantId: sessions.tenantId,
|
|
25
|
-
projectId: sessions.projectId,
|
|
26
|
-
});
|
|
27
|
-
await persistence.init();
|
|
28
|
-
const store = persistence.getRunStore();
|
|
29
|
-
const append = async (event) => {
|
|
30
|
-
signal?.throwIfAborted();
|
|
31
|
-
const seq = persistence.nextEventSeq();
|
|
32
|
-
await store.appendEvent({ ...event, seq });
|
|
33
|
-
persistence.commitEventSeq(seq);
|
|
34
|
-
};
|
|
35
|
-
try {
|
|
36
|
-
await append({ type: 'run_started', runId: persistence.id });
|
|
37
|
-
// The SDK bounds large records and indexes their individual text parts.
|
|
38
|
-
// Keep the same removed-message event shape as automatic compaction.
|
|
39
|
-
await append({
|
|
40
|
-
type: 'compaction_shed',
|
|
41
|
-
runId: persistence.id,
|
|
42
|
-
iteration: 0,
|
|
43
|
-
reason: 'manual',
|
|
44
|
-
messages: [...messages],
|
|
45
|
-
});
|
|
46
|
-
await append({ type: 'run_completed', runId: persistence.id, result: '' });
|
|
47
|
-
persistence.markCompleted();
|
|
48
|
-
// No model answer, checkpoint or global run-index row: this operation
|
|
49
|
-
// archives evidence; it must not become a resumable agent invocation.
|
|
50
|
-
await store.writeRunMeta(persistence.getRun());
|
|
51
|
-
signal?.throwIfAborted();
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
persistence.markFailed('Manual compaction retention did not finish.');
|
|
55
|
-
await store.writeRunMeta(persistence.getRun()).catch(() => { });
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=compaction-evidence.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-evidence.js","sourceRoot":"","sources":["../../../src/integrations/sessions/compaction-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { SqliteSessionStore } from '@namzu/sdk';
|
|
2
|
-
export declare function sessionDatabasePath(root: string): string;
|
|
3
|
-
/** Readers never mint state. The private parent also confines SQLite's journal files. */
|
|
4
|
-
export declare function sessionStore(root: string, readOnly?: boolean): SqliteSessionStore;
|
|
5
|
-
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAG/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,kBAAkB,CAsB/E"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { lstatSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { SqliteSessionStore } from '@namzu/sdk';
|
|
4
|
-
import { ensurePrivateStateDirectory } from '../state/private-directory.js';
|
|
5
|
-
export function sessionDatabasePath(root) {
|
|
6
|
-
return join(root, 'state', 'sessions.sqlite');
|
|
7
|
-
}
|
|
8
|
-
/** Readers never mint state. The private parent also confines SQLite's journal files. */
|
|
9
|
-
export function sessionStore(root, readOnly = false) {
|
|
10
|
-
if (!readOnly)
|
|
11
|
-
ensurePrivateStateDirectory(root, 'state');
|
|
12
|
-
const path = sessionDatabasePath(root);
|
|
13
|
-
if (readOnly) {
|
|
14
|
-
const parent = lstatSync(join(root, 'state'));
|
|
15
|
-
if (!parent.isDirectory() || parent.isSymbolicLink())
|
|
16
|
-
throw new Error('Session database requires a real state directory');
|
|
17
|
-
}
|
|
18
|
-
for (const file of [path, `${path}-wal`, `${path}-shm`, `${path}-journal`]) {
|
|
19
|
-
let entry;
|
|
20
|
-
try {
|
|
21
|
-
entry = lstatSync(file);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
if (error.code === 'ENOENT')
|
|
25
|
-
continue;
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
28
|
-
if (!entry.isFile() || entry.isSymbolicLink() || entry.nlink !== 1) {
|
|
29
|
-
throw new Error(`Session database requires a private regular file: ${file}`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return new SqliteSessionStore({ databasePath: path, readOnly });
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=database.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/integrations/sessions/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAA;AAC9C,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAQ,GAAG,KAAK;IAC1D,IAAI,CAAC,QAAQ;QAAE,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,cAAc,EAAE;YACnD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;QAC5E,IAAI,KAAmC,CAAA;QACvC,IAAI,CAAC;YACJ,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAQ;YAChE,MAAM,KAAK,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAA;QAC7E,CAAC;IACF,CAAC;IAED,OAAO,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DefaultPathBuilder, type ProjectId, type SessionId } from '@namzu/sdk';
|
|
2
|
-
/** Application artifacts are keyed by conversation; workspace membership lives in SQLite. */
|
|
3
|
-
export declare class CliPathBuilder extends DefaultPathBuilder {
|
|
4
|
-
projectDir(projectId: ProjectId): string;
|
|
5
|
-
sessionDir(projectId: ProjectId, sessionId: SessionId): string;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/paths.ts"],"names":[],"mappings":"AACA,OAAO,EACN,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EAGd,MAAM,YAAY,CAAA;AAEnB,6FAA6F;AAC7F,qBAAa,cAAe,SAAQ,kBAAkB;IAC5C,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAKxC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;CAIvE"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { DefaultPathBuilder, asProjectId, asSessionId, } from '@namzu/sdk';
|
|
3
|
-
/** Application artifacts are keyed by conversation; workspace membership lives in SQLite. */
|
|
4
|
-
export class CliPathBuilder extends DefaultPathBuilder {
|
|
5
|
-
projectDir(projectId) {
|
|
6
|
-
asProjectId(projectId);
|
|
7
|
-
return this.rootDir();
|
|
8
|
-
}
|
|
9
|
-
sessionDir(projectId, sessionId) {
|
|
10
|
-
asProjectId(projectId);
|
|
11
|
-
return join(this.projectDir(projectId), 'sessions', asSessionId(sessionId));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/integrations/sessions/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACN,kBAAkB,EAGlB,WAAW,EACX,WAAW,GACX,MAAM,YAAY,CAAA;AAEnB,6FAA6F;AAC7F,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAC5C,UAAU,CAAC,SAAoB;QACvC,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAEQ,UAAU,CAAC,SAAoB,EAAE,SAAoB;QAC7D,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5E,CAAC;CACD"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
interface DiscoveryPage {
|
|
2
|
-
runIds: string[];
|
|
3
|
-
next?: string;
|
|
4
|
-
}
|
|
5
|
-
/** Process-local, bounded directory continuations. No output or authorization is cached here. */
|
|
6
|
-
export declare class RunDiscovery {
|
|
7
|
-
private readonly now;
|
|
8
|
-
private streams;
|
|
9
|
-
private pages;
|
|
10
|
-
private tail;
|
|
11
|
-
constructor(now?: () => number);
|
|
12
|
-
private serialize;
|
|
13
|
-
private stamp;
|
|
14
|
-
private close;
|
|
15
|
-
private forget;
|
|
16
|
-
private slot;
|
|
17
|
-
/** The host checks ancestor paths and conversation membership before every call. */
|
|
18
|
-
read(scope: string, path: string, cursor?: string, signal?: AbortSignal): Promise<DiscoveryPage>;
|
|
19
|
-
private releaseStream;
|
|
20
|
-
/** Closing a conversation (or a test host) releases its directory handles and tokens. */
|
|
21
|
-
release(scope?: string): Promise<void>;
|
|
22
|
-
}
|
|
23
|
-
export {};
|
|
24
|
-
//# sourceMappingURL=run-discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-discovery.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/run-discovery.ts"],"names":[],"mappings":"AAUA,UAAU,aAAa;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAeD,iGAAiG;AACjG,qBAAa,YAAY;IAIZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,IAAI,CAAmC;gBAClB,GAAG,GAAE,MAAM,MAAiB;IAEzD,OAAO,CAAC,SAAS;YASH,KAAK;YAML,KAAK;YAML,MAAM;IAOpB,OAAO,CAAC,IAAI;IAWZ,oFAAoF;IACpF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAmEhG,OAAO,CAAC,aAAa;IAIrB,yFAAyF;IACzF,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMtC"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { randomBytes } from 'node:crypto';
|
|
2
|
-
import { lstat, opendir } from 'node:fs/promises';
|
|
3
|
-
import { isEntityId } from '@namzu/sdk';
|
|
4
|
-
const PAGE_ENTRIES = 100;
|
|
5
|
-
const MAX_STREAMS = 32;
|
|
6
|
-
const MAX_PAGES = 128;
|
|
7
|
-
const TTL_MS = 10 * 60_000;
|
|
8
|
-
/** Process-local, bounded directory continuations. No output or authorization is cached here. */
|
|
9
|
-
export class RunDiscovery {
|
|
10
|
-
now;
|
|
11
|
-
streams = new Set();
|
|
12
|
-
pages = new Map();
|
|
13
|
-
tail = Promise.resolve();
|
|
14
|
-
constructor(now = Date.now) {
|
|
15
|
-
this.now = now;
|
|
16
|
-
}
|
|
17
|
-
serialize(operation) {
|
|
18
|
-
const next = this.tail.then(operation);
|
|
19
|
-
this.tail = next.then(() => { }, () => { });
|
|
20
|
-
return next;
|
|
21
|
-
}
|
|
22
|
-
async stamp(path) {
|
|
23
|
-
const stat = await lstat(path);
|
|
24
|
-
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
25
|
-
throw new Error('Invalid run directory.');
|
|
26
|
-
return [stat.dev, stat.ino, stat.size, stat.mtimeMs, stat.ctimeMs].join(':');
|
|
27
|
-
}
|
|
28
|
-
async close(stream) {
|
|
29
|
-
if (stream.closed)
|
|
30
|
-
return;
|
|
31
|
-
await stream.directory.close();
|
|
32
|
-
stream.closed = true;
|
|
33
|
-
}
|
|
34
|
-
async forget(stream) {
|
|
35
|
-
clearTimeout(stream.timer);
|
|
36
|
-
await this.close(stream);
|
|
37
|
-
this.streams.delete(stream);
|
|
38
|
-
for (const [token, slot] of this.pages)
|
|
39
|
-
if (slot.stream === stream)
|
|
40
|
-
this.pages.delete(token);
|
|
41
|
-
}
|
|
42
|
-
slot(stream) {
|
|
43
|
-
while (this.pages.size >= MAX_PAGES) {
|
|
44
|
-
const oldest = this.pages.keys().next().value;
|
|
45
|
-
if (oldest === undefined)
|
|
46
|
-
throw new Error('Missing discovery page.');
|
|
47
|
-
this.pages.delete(oldest);
|
|
48
|
-
}
|
|
49
|
-
const token = randomBytes(24).toString('hex');
|
|
50
|
-
this.pages.set(token, { stream });
|
|
51
|
-
return token;
|
|
52
|
-
}
|
|
53
|
-
/** The host checks ancestor paths and conversation membership before every call. */
|
|
54
|
-
read(scope, path, cursor, signal) {
|
|
55
|
-
return this.serialize(async () => {
|
|
56
|
-
signal?.throwIfAborted();
|
|
57
|
-
for (const stream of this.streams)
|
|
58
|
-
if (stream.expires <= this.now())
|
|
59
|
-
await this.forget(stream);
|
|
60
|
-
let slot;
|
|
61
|
-
if (cursor) {
|
|
62
|
-
const found = this.pages.get(cursor);
|
|
63
|
-
if (!found)
|
|
64
|
-
throw new Error('Run discovery expired or was evicted; restart the search.');
|
|
65
|
-
if (found.stream.scope !== scope || found.stream.path !== path)
|
|
66
|
-
throw new Error('Run discovery scope changed.');
|
|
67
|
-
slot = found;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
while (this.streams.size >= MAX_STREAMS) {
|
|
71
|
-
const oldest = this.streams.values().next().value;
|
|
72
|
-
if (!oldest)
|
|
73
|
-
throw new Error('Missing discovery stream.');
|
|
74
|
-
await this.forget(oldest);
|
|
75
|
-
}
|
|
76
|
-
const stamp = await this.stamp(path);
|
|
77
|
-
const directory = await opendir(path, { bufferSize: PAGE_ENTRIES });
|
|
78
|
-
const stream = {
|
|
79
|
-
scope,
|
|
80
|
-
path,
|
|
81
|
-
stamp,
|
|
82
|
-
directory,
|
|
83
|
-
closed: false,
|
|
84
|
-
expires: this.now() + TTL_MS,
|
|
85
|
-
timer: setTimeout(() => {
|
|
86
|
-
void this.releaseStream(stream).catch(() => { });
|
|
87
|
-
}, TTL_MS),
|
|
88
|
-
};
|
|
89
|
-
stream.timer.unref();
|
|
90
|
-
this.streams.add(stream);
|
|
91
|
-
slot = { stream };
|
|
92
|
-
}
|
|
93
|
-
const { stream } = slot;
|
|
94
|
-
try {
|
|
95
|
-
if ((await this.stamp(path)) !== stream.stamp)
|
|
96
|
-
throw new Error('Run directory changed; restart the search.');
|
|
97
|
-
signal?.throwIfAborted();
|
|
98
|
-
if (slot.page)
|
|
99
|
-
return structuredClone(slot.page);
|
|
100
|
-
const runIds = [];
|
|
101
|
-
let exhausted = false;
|
|
102
|
-
for (let i = 0; i < PAGE_ENTRIES; i++) {
|
|
103
|
-
signal?.throwIfAborted();
|
|
104
|
-
const entry = await stream.directory.read();
|
|
105
|
-
if (!entry) {
|
|
106
|
-
exhausted = true;
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
if (isEntityId(entry.name, 'run'))
|
|
110
|
-
runIds.push(entry.name);
|
|
111
|
-
}
|
|
112
|
-
signal?.throwIfAborted();
|
|
113
|
-
if ((await this.stamp(path)) !== stream.stamp)
|
|
114
|
-
throw new Error('Run directory changed; restart the search.');
|
|
115
|
-
signal?.throwIfAborted();
|
|
116
|
-
if (exhausted)
|
|
117
|
-
await this.close(stream);
|
|
118
|
-
if (exhausted && !cursor)
|
|
119
|
-
await this.forget(stream);
|
|
120
|
-
const page = { runIds: runIds.sort(), ...(exhausted ? {} : { next: this.slot(stream) }) };
|
|
121
|
-
slot.page = page;
|
|
122
|
-
return structuredClone(page);
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
await this.forget(stream);
|
|
126
|
-
throw error;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
releaseStream(stream) {
|
|
131
|
-
return this.serialize(() => this.forget(stream));
|
|
132
|
-
}
|
|
133
|
-
/** Closing a conversation (or a test host) releases its directory handles and tokens. */
|
|
134
|
-
release(scope) {
|
|
135
|
-
return this.serialize(async () => {
|
|
136
|
-
for (const stream of this.streams)
|
|
137
|
-
if (scope === undefined || stream.scope === scope)
|
|
138
|
-
await this.forget(stream);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=run-discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-discovery.js","sourceRoot":"","sources":["../../../src/integrations/sessions/run-discovery.ts"],"names":[],"mappings":"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"}
|