@namzu/cli 26.2.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 +312 -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/index.d.ts +1 -1
- package/dist/integrations/providers/index.d.ts.map +1 -1
- package/dist/integrations/providers/index.js +1 -1
- package/dist/integrations/providers/index.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 +74 -1
- package/dist/integrations/providers/registry.d.ts.map +1 -1
- package/dist/integrations/providers/registry.js +75 -0
- package/dist/integrations/providers/registry.js.map +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 +458 -304
- 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.d.ts +14 -1
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +598 -132
- package/dist/tui/Picker.js.map +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/model-choices.d.ts.map +1 -1
- package/dist/tui/model-choices.js +20 -1
- package/dist/tui/model-choices.js.map +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/provider-list.d.ts +206 -41
- package/dist/tui/provider-list.d.ts.map +1 -1
- package/dist/tui/provider-list.js +248 -52
- package/dist/tui/provider-list.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/terminal-choice-text.d.ts +22 -0
- package/dist/tui/terminal-choice-text.d.ts.map +1 -1
- package/dist/tui/terminal-choice-text.js +81 -0
- package/dist/tui/terminal-choice-text.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 +8 -8
- 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
package/dist/commands/run.js
CHANGED
|
@@ -6,27 +6,30 @@
|
|
|
6
6
|
* suppressed by `--quiet`); only the answer hits stdout.
|
|
7
7
|
*
|
|
8
8
|
* Non-interactive, so there's no approval prompt — tools auto-run, but the
|
|
9
|
-
* safety gate still hard-denies catastrophic commands.
|
|
10
|
-
*
|
|
9
|
+
* safety gate still hard-denies catastrophic commands. A one-shot is a
|
|
10
|
+
* conversation like any other: its session log is kept under the project in
|
|
11
|
+
* `NAMZU_HOME`, so `--continue` picks it up and `namzu drain` can finish a
|
|
12
|
+
* turn it parked.
|
|
11
13
|
*
|
|
12
14
|
* Options are parsed, not spoken: this command joined every argument into the
|
|
13
15
|
* prompt, so the flags its streaming sibling accepts — `--cwd` above all —
|
|
14
|
-
* were read aloud to the model while the
|
|
16
|
+
* were read aloud to the model while the turn used this directory anyway. Both
|
|
15
17
|
* commands now share one parser (`./run-flags.js`), because they are the same
|
|
16
18
|
* one-shot differing only in how they print.
|
|
17
19
|
*/
|
|
18
20
|
import { relative } from 'node:path';
|
|
19
|
-
import { BOOT_EVENT_NAMES, EVENT_NAME_ATTRIBUTE,
|
|
21
|
+
import { BOOT_EVENT_NAMES, EVENT_NAME_ATTRIBUTE, TurnCancelled, asSessionId } from '@namzu/sdk';
|
|
20
22
|
import { resolveTrustedProjectContext } from '../config/trusted-project-context.js';
|
|
21
23
|
import { EXIT_UNTRUSTED, EXIT_USAGE } from '../exit-codes.js';
|
|
22
|
-
import { openSessions } from '../integrations/sessions/store.js';
|
|
24
|
+
import { closeSessions, openSessions, startConversation } from '../integrations/sessions/store.js';
|
|
23
25
|
import { attachSessionExport, } from '../integrations/telemetry/session-export.js';
|
|
24
26
|
import { cliLogger, contextLogging, createStderrSink, installCliLogging } from '../logging.js';
|
|
25
27
|
import { decideHeadlessTrust } from '../permissions/headless-trust.js';
|
|
26
28
|
import { resolvePermissionMode } from '../permissions/mode.js';
|
|
27
29
|
import { compilePermissions } from '../permissions/rules.js';
|
|
28
|
-
import {
|
|
30
|
+
import { withTerminationHandling } from '../termination.js';
|
|
29
31
|
import { hostCommandNames } from '../tui/slashCommands.js';
|
|
32
|
+
import { describeTurnInterruption, retryAfterMs } from '../tui/turn-interruption.js';
|
|
30
33
|
import { expandHeadlessCommand } from '../user-commands/store.js';
|
|
31
34
|
import { duration, pauseWait } from './provider-wait.js';
|
|
32
35
|
import { resolveResume } from './resume.js';
|
|
@@ -40,7 +43,7 @@ import { readStdin } from './stdin.js';
|
|
|
40
43
|
* cat notes.txt | namzu run "summarise this"
|
|
41
44
|
*
|
|
42
45
|
* sent the model three words and silently dropped the file. Nothing reported
|
|
43
|
-
* it: the
|
|
46
|
+
* it: the turn succeeded, and the answer was about nothing. A pipe and a
|
|
44
47
|
* question are the ordinary way to ask about a document, and taking only one
|
|
45
48
|
* of the two is the worst reading of that command.
|
|
46
49
|
*
|
|
@@ -69,6 +72,23 @@ function defaultPrefs(detected) {
|
|
|
69
72
|
}
|
|
70
73
|
: null;
|
|
71
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* What `run` prints on stderr when a termination signal stops it, worded from
|
|
77
|
+
* where the signal found the turn (`termination.ts` has already given the
|
|
78
|
+
* conversation's lease back).
|
|
79
|
+
*/
|
|
80
|
+
function stoppedBy(signal, sessionId, phase, paused) {
|
|
81
|
+
switch (phase) {
|
|
82
|
+
case 'running':
|
|
83
|
+
return `stopped by ${signal}: the turn in conversation ${sessionId} was left interrupted — close it with /abandon in the TUI, or continue it with /resume or \`namzu drain\``;
|
|
84
|
+
case 'paused':
|
|
85
|
+
return `stopped by ${signal} while the turn was paused: it keeps checkpoint ${paused?.checkpointId ?? '(unknown)'} in conversation ${sessionId} — continue it with /resume or \`namzu drain\`, or close it with /abandon in the TUI`;
|
|
86
|
+
case 'ended':
|
|
87
|
+
return `stopped by ${signal} after the turn ended; it is recorded in conversation ${sessionId}, and nothing is left to close`;
|
|
88
|
+
case 'not-started':
|
|
89
|
+
return `stopped by ${signal}; no turn was started in conversation ${sessionId}`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
72
92
|
export const runCommand = {
|
|
73
93
|
name: 'run',
|
|
74
94
|
description: 'Run a single prompt headlessly and print the reply (for scripts/CI)',
|
|
@@ -103,34 +123,34 @@ export const runCommand = {
|
|
|
103
123
|
' --permission-mode <m> prompt | accept-edits | auto | strict | plan —',
|
|
104
124
|
' what happens to a call no [permissions] rule',
|
|
105
125
|
' decided (default: auto)',
|
|
106
|
-
' --trust Accept this folder for THIS
|
|
126
|
+
' --trust Accept this folder for THIS turn',
|
|
107
127
|
' -- End of options; the rest is the prompt verbatim',
|
|
108
128
|
'',
|
|
109
129
|
'A folder has to be trusted before namzu will work in it, because namzu',
|
|
110
130
|
'reads its files, runs commands in it and executes its code. Run `namzu`',
|
|
111
131
|
'here once and accept the prompt to trust it permanently, or pass --trust',
|
|
112
|
-
'to accept it for one
|
|
132
|
+
'to accept it for one turn. --trust does not remember; that is the point.',
|
|
113
133
|
'',
|
|
114
134
|
'--yolo does NOT imply --trust: one is about which tools may run inside a',
|
|
115
135
|
'folder, the other about the folder.',
|
|
116
136
|
'',
|
|
117
137
|
'By default tools run without asking, because there is nobody to ask, and',
|
|
118
138
|
'the safety gate still refuses catastrophic commands. Use --permission-mode',
|
|
119
|
-
'strict for an unattended
|
|
139
|
+
'strict for an unattended turn that must refuse anything no rule allowed.',
|
|
120
140
|
'',
|
|
121
141
|
'A mode only decides calls no rule decided: it can never reopen a deny.',
|
|
122
142
|
'',
|
|
123
143
|
'--gate checks proposed answers with operator-supplied commands. Every',
|
|
124
144
|
'command must complete successfully; a failure returns diagnostics to the',
|
|
125
145
|
'model for correction. Repeat the flag to check several commands in order.',
|
|
126
|
-
'Budget exhaustion or cancellation may stop a
|
|
146
|
+
'Budget exhaustion or cancellation may stop a turn before verification.',
|
|
127
147
|
'',
|
|
128
148
|
'A failed gate may skip a retry when its Git change detector is unchanged.',
|
|
129
|
-
'The attempt still counts. Exhausted review attempts stop the
|
|
149
|
+
'The attempt still counts. Exhausted review attempts stop the turn with',
|
|
130
150
|
'answer_rejected and a non-zero exit.',
|
|
131
151
|
'',
|
|
132
152
|
"The working directory's AGENTS.md files — that directory and every one up",
|
|
133
|
-
'to the repository root — are loaded as standing instructions for the
|
|
153
|
+
'to the repository root — are loaded as standing instructions for the turn,',
|
|
134
154
|
'and the ones that were loaded are named on stderr.',
|
|
135
155
|
'',
|
|
136
156
|
'--continue and --resume refuse when the conversation cannot be reopened,',
|
|
@@ -145,18 +165,20 @@ export const runCommand = {
|
|
|
145
165
|
"run waits the provider's own delay when it named one (otherwise a minute,",
|
|
146
166
|
'doubling, at most fifteen) and resumes from the checkpoint in this process,',
|
|
147
167
|
'until the budget is spent. The `limits.waitForProviderMs` config key sets',
|
|
148
|
-
'the same budget for every
|
|
168
|
+
'the same budget for every turn in the folder.',
|
|
149
169
|
'',
|
|
150
|
-
'Exit codes: 0 on a reply, 1 on a failed or unfinished
|
|
170
|
+
'Exit codes: 0 on a reply, 1 on a failed or unfinished turn, 2 when no',
|
|
151
171
|
'prompt was supplied, 64 when an argument is wrong, 75 when the provider',
|
|
152
|
-
'paused the
|
|
153
|
-
'wait, then run again —
|
|
172
|
+
'paused the turn (a rate limit or an outage) and a checkpoint was kept —',
|
|
173
|
+
'wait, then run again — or when the conversation already has an active',
|
|
174
|
+
'turn (a paused one: finish it with `namzu drain`, or abandon it in the',
|
|
175
|
+
'TUI with /abandon), and 77 when the folder has not been trusted and',
|
|
154
176
|
'nothing ran.',
|
|
155
177
|
].join('\n'),
|
|
156
|
-
handler: async ({ ctx: bootstrapCtx, rawArgs }) => {
|
|
178
|
+
handler: withTerminationHandling(async ({ ctx: bootstrapCtx, rawArgs }, termination) => {
|
|
157
179
|
let ctx = bootstrapCtx;
|
|
158
180
|
const flags = parseRunFlags(rawArgs);
|
|
159
|
-
// The
|
|
181
|
+
// The turn's leash: the config file's limits, with a flag overriding each.
|
|
160
182
|
const limitsFromFlags = {
|
|
161
183
|
...(flags.maxIterations !== null ? { maxIterations: flags.maxIterations } : {}),
|
|
162
184
|
...(flags.tokenBudget !== null ? { tokenBudget: flags.tokenBudget } : {}),
|
|
@@ -255,8 +277,8 @@ export const runCommand = {
|
|
|
255
277
|
}
|
|
256
278
|
const gate = buildGate(flags, cwd);
|
|
257
279
|
// Attached BEFORE the session, and its failure is fatal. An operator who
|
|
258
|
-
// configured `telemetry.sessionExport` asked for this
|
|
259
|
-
// recorded; continuing without it means the
|
|
280
|
+
// configured `telemetry.sessionExport` asked for this turn to be
|
|
281
|
+
// recorded; continuing without it means the turn happens and the record
|
|
260
282
|
// they were counting on does not exist, which is a failure they only
|
|
261
283
|
// discover when they go looking for a session that was never written.
|
|
262
284
|
let sessionExport;
|
|
@@ -299,20 +321,37 @@ export const runCommand = {
|
|
|
299
321
|
return EXIT_USAGE;
|
|
300
322
|
}
|
|
301
323
|
const prior = resume.kind === 'resumed' ? resume.messages : [];
|
|
324
|
+
// A new one-shot is a new conversation: its log starts here, so the turn
|
|
325
|
+
// the kernel records has somewhere to go and `--continue` can find it.
|
|
326
|
+
let sessionId;
|
|
327
|
+
try {
|
|
328
|
+
sessionId =
|
|
329
|
+
resume.kind === 'resumed'
|
|
330
|
+
? asSessionId(resume.sessionId)
|
|
331
|
+
: await startConversation(sessions);
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
closeSessions(sessions);
|
|
335
|
+
await sessionExport?.shutdown();
|
|
336
|
+
ctx.formatter.error({
|
|
337
|
+
message: `could not start a conversation: ${error instanceof Error ? error.message : String(error)}`,
|
|
338
|
+
});
|
|
339
|
+
return 1;
|
|
340
|
+
}
|
|
302
341
|
const session = await createAgentSession(prefs, probe.detected, {
|
|
303
342
|
cwd,
|
|
304
343
|
scope: {
|
|
305
|
-
sessionId
|
|
344
|
+
sessionId,
|
|
306
345
|
topicId: sessions.topicId,
|
|
307
346
|
projectId: sessions.projectId,
|
|
308
347
|
tenantId: sessions.tenantId,
|
|
309
348
|
},
|
|
310
349
|
stateRoot: sessions.root,
|
|
311
|
-
|
|
350
|
+
conversationSessions: sessions,
|
|
312
351
|
rules: permissions.rules,
|
|
313
|
-
...(sessionExport ? {
|
|
352
|
+
...(sessionExport ? { onSessionEvent: sessionExport.listener } : {}),
|
|
314
353
|
// The operator's --gate commands, as a standing condition on the
|
|
315
|
-
// answer. Spread rather than passed as undefined so a
|
|
354
|
+
// answer. Spread rather than passed as undefined so a turn without
|
|
316
355
|
// gates is byte-identical to the one that shipped before them.
|
|
317
356
|
...(gate ?? {}),
|
|
318
357
|
permissionMode: modeResult.mode,
|
|
@@ -334,13 +373,14 @@ export const runCommand = {
|
|
|
334
373
|
});
|
|
335
374
|
if (!session.hasProvider) {
|
|
336
375
|
await session.close();
|
|
376
|
+
closeSessions(sessions);
|
|
337
377
|
await sessionExport?.shutdown();
|
|
338
378
|
ctx.formatter.error({
|
|
339
379
|
message: session.errorHint ?? 'agent is not ready',
|
|
340
380
|
});
|
|
341
381
|
return 1;
|
|
342
382
|
}
|
|
343
|
-
// A configured tool server that is not here means the
|
|
383
|
+
// A configured tool server that is not here means the turn cannot do what
|
|
344
384
|
// the operator set it up to do, and there is nobody watching to notice.
|
|
345
385
|
// The TUI reports and carries on, because a person can read the line and
|
|
346
386
|
// decide; a script has no such reader, so it refuses. Same principle as
|
|
@@ -352,6 +392,7 @@ export const runCommand = {
|
|
|
352
392
|
});
|
|
353
393
|
}
|
|
354
394
|
await session.close();
|
|
395
|
+
closeSessions(sessions);
|
|
355
396
|
await sessionExport?.shutdown();
|
|
356
397
|
return 1;
|
|
357
398
|
}
|
|
@@ -407,7 +448,29 @@ export const runCommand = {
|
|
|
407
448
|
const stop = {
|
|
408
449
|
failed: null,
|
|
409
450
|
paused: null,
|
|
451
|
+
busy: false,
|
|
452
|
+
};
|
|
453
|
+
// Stopped from outside (SIGTERM, SIGHUP, Ctrl+C): the conversation's
|
|
454
|
+
// lease is already given back when this runs (`termination.ts`). Stop the
|
|
455
|
+
// turn, so its tools' processes go with it, and release what the session
|
|
456
|
+
// holds. What the operator is told depends on where the signal found the
|
|
457
|
+
// turn: mid-flight it is left interrupted; waiting out a provider pause it
|
|
458
|
+
// keeps its checkpoint; after it settled (the session still closing, a
|
|
459
|
+
// slow `session_end` hook) it is recorded, and there is nothing to close.
|
|
460
|
+
const turnAbort = new AbortController();
|
|
461
|
+
let stopped = false;
|
|
462
|
+
let phase = 'running';
|
|
463
|
+
const afterPhase = () => {
|
|
464
|
+
phase = stop.busy ? 'not-started' : stop.paused ? 'paused' : 'ended';
|
|
410
465
|
};
|
|
466
|
+
termination.onTerminate(async (signal) => {
|
|
467
|
+
stopped = true;
|
|
468
|
+
ctx.formatter.error({ message: stoppedBy(signal, sessionId, phase, stop.paused) });
|
|
469
|
+
turnAbort.abort(new TurnCancelled('user'));
|
|
470
|
+
await session.close();
|
|
471
|
+
closeSessions(sessions);
|
|
472
|
+
await sessionExport?.shutdown();
|
|
473
|
+
});
|
|
411
474
|
const consume = async (stream) => {
|
|
412
475
|
stop.failed = null;
|
|
413
476
|
stop.paused = null;
|
|
@@ -423,7 +486,11 @@ export const runCommand = {
|
|
|
423
486
|
else if (event.kind === 'error' || event.kind === 'paused') {
|
|
424
487
|
if (event.budget)
|
|
425
488
|
measured.budget = event.budget;
|
|
426
|
-
stop.failed =
|
|
489
|
+
stop.failed = describeTurnInterruption(event);
|
|
490
|
+
if (event.kind === 'error' && event.turnInProgress) {
|
|
491
|
+
stop.busy = true;
|
|
492
|
+
stop.failed = `conversation ${event.turnInProgress.sessionId} already has a ${event.turnInProgress.state} turn ${event.turnInProgress.activeTurnId}; nothing was started. Finish it with \`namzu drain\`, or abandon it with /abandon in the TUI.`;
|
|
493
|
+
}
|
|
427
494
|
if (event.kind === 'paused')
|
|
428
495
|
stop.paused = event;
|
|
429
496
|
}
|
|
@@ -444,21 +511,24 @@ export const runCommand = {
|
|
|
444
511
|
}
|
|
445
512
|
}
|
|
446
513
|
};
|
|
447
|
-
await consume(session.send([...prior, { role: 'user', content: finalPrompt, timestamp: Date.now() }],
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
514
|
+
await consume(session.send([...prior, { role: 'user', content: finalPrompt, timestamp: Date.now() }], {
|
|
515
|
+
signal: turnAbort.signal,
|
|
516
|
+
...(extraSystem ? { extraSystem } : {}),
|
|
517
|
+
...(flags.effort !== null ? { effort: flags.effort } : {}),
|
|
518
|
+
}));
|
|
519
|
+
afterPhase();
|
|
453
520
|
// A provider pause is answered by waiting, when the caller gave time to
|
|
454
|
-
// wait with. The kernel kept a checkpoint; the
|
|
521
|
+
// wait with. The kernel kept a checkpoint; the turn resumes from it in
|
|
455
522
|
// this process, with its own context, rather than being re-prompted from
|
|
456
523
|
// notes by a wrapper that saw exit 75. A pause with no provider behind
|
|
457
|
-
// it is not waited on: that is a
|
|
524
|
+
// it is not waited on: that is a turn parked on something else.
|
|
458
525
|
const waitBudgetMs = flags.waitForProviderMs ?? ctx.config.limits?.waitForProviderMs ?? 0;
|
|
459
526
|
let waits = 0;
|
|
460
527
|
let waitedMs = 0;
|
|
461
|
-
while (
|
|
528
|
+
while (!stopped &&
|
|
529
|
+
stop.paused &&
|
|
530
|
+
waitBudgetMs > 0 &&
|
|
531
|
+
(stop.paused.providerError || stop.paused.failure)) {
|
|
462
532
|
const paused = stop.paused;
|
|
463
533
|
const asked = retryAfterMs(paused);
|
|
464
534
|
const decision = pauseWait({
|
|
@@ -472,23 +542,37 @@ export const runCommand = {
|
|
|
472
542
|
break;
|
|
473
543
|
}
|
|
474
544
|
waits += 1;
|
|
475
|
-
ctx.formatter.info(`provider paused the
|
|
545
|
+
ctx.formatter.info(`provider paused the turn: waiting ${duration(decision.delayMs)}, then resuming from ${paused.checkpointId} (wait ${waits}, ${duration(waitedMs)} of ${duration(waitBudgetMs)} spent)`);
|
|
476
546
|
await new Promise((resolve) => setTimeout(resolve, decision.delayMs));
|
|
547
|
+
// A signal during the wait: the process is on its way out, and the
|
|
548
|
+
// turn keeps its checkpoint for whoever resumes it next.
|
|
549
|
+
if (stopped)
|
|
550
|
+
break;
|
|
477
551
|
waitedMs += decision.delayMs;
|
|
552
|
+
phase = 'running';
|
|
478
553
|
await consume(session.resumePaused({
|
|
479
|
-
|
|
554
|
+
turnId: paused.turnId,
|
|
480
555
|
checkpointId: paused.checkpointId,
|
|
556
|
+
signal: turnAbort.signal,
|
|
481
557
|
}));
|
|
558
|
+
afterPhase();
|
|
482
559
|
}
|
|
560
|
+
// The signal handler closes the session and ends the process.
|
|
561
|
+
if (stopped)
|
|
562
|
+
return 1;
|
|
483
563
|
const failed = stop.failed;
|
|
484
|
-
|
|
564
|
+
// 75 (EX_TEMPFAIL) for both: a provider pause kept a checkpoint, and a
|
|
565
|
+
// conversation busy with another turn refused to start one. Either way
|
|
566
|
+
// running again later is the remedy, not a different invocation.
|
|
567
|
+
const paused = stop.paused !== null || stop.busy;
|
|
485
568
|
// Every exit below this point releases the session first. A stdio tool
|
|
486
569
|
// server is a child process, and a `run` that returns without closing
|
|
487
570
|
// leaves it behind.
|
|
488
571
|
await session.close();
|
|
572
|
+
closeSessions(sessions);
|
|
489
573
|
// Drained with the session, not at process exit: a buffering sink that
|
|
490
574
|
// only flushed on `beforeExit` loses its tail whenever the CLI is
|
|
491
|
-
// interrupted, which is exactly the
|
|
575
|
+
// interrupted, which is exactly the turn somebody wanted the record of.
|
|
492
576
|
await sessionExport?.shutdown();
|
|
493
577
|
if (measured.budget) {
|
|
494
578
|
ctx.formatter.info(`Tokens: ${measured.budget.ownTokens} own · ${measured.budget.treeTokens} including descendants`);
|
|
@@ -513,21 +597,21 @@ export const runCommand = {
|
|
|
513
597
|
}
|
|
514
598
|
// The text prints either way. Partial output is real output, and a
|
|
515
599
|
// caller who piped it wants what there is — but `$?` has to be able to
|
|
516
|
-
// tell them it is partial, which it could not: `
|
|
517
|
-
// only from the throw path, so a
|
|
600
|
+
// tell them it is partial, which it could not: `turn_failed` is emitted
|
|
601
|
+
// only from the throw path, so a turn stopped by its token budget, its
|
|
518
602
|
// timeout, its iteration cap, a cancellation, or a blocking output
|
|
519
|
-
// guardrail all arrived as `
|
|
603
|
+
// guardrail all arrived as `turn_completed` and exited 0. Measured: a
|
|
520
604
|
// `max_iterations` stop reports `status: 'completed'`. The sharp case is
|
|
521
605
|
// the guardrail — a REFUSED answer exited 0 with empty text, so
|
|
522
606
|
// `namzu run … > out.txt && deploy` proceeded on the empty file.
|
|
523
607
|
ctx.formatter.print(ctx.formatter.name === 'json' ? jsonResult(text.trim()) : text.trim());
|
|
524
608
|
if (stopReason && stopReason !== 'end_turn') {
|
|
525
609
|
ctx.formatter.error({
|
|
526
|
-
message: `
|
|
610
|
+
message: `turn did not finish normally: ${stopReason}${text.trim() ? ' — the output above is partial' : ''}`,
|
|
527
611
|
});
|
|
528
612
|
return 1;
|
|
529
613
|
}
|
|
530
614
|
return 0;
|
|
531
|
-
},
|
|
615
|
+
}),
|
|
532
616
|
};
|
|
533
617
|
//# sourceMappingURL=run.js.map
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAClG,OAAO,EAEN,mBAAmB,GACnB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAA0B,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACN,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,KAAa;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,YAAY,CAAA;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,QAAqC;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,KAAK;QACX,CAAC,CAAC;YACA,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACnC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACzB;QACF,CAAC,CAAC,IAAI,CAAA;AACR,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CACjB,MAAyB,EACzB,SAAiB,EACjB,KAAqD,EACrD,MAAsD;IAEtD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,SAAS;YACb,OAAO,cAAc,MAAM,8BAA8B,SAAS,2GAA2G,CAAA;QAC9K,KAAK,QAAQ;YACZ,OAAO,cAAc,MAAM,mDAAmD,MAAM,EAAE,YAAY,IAAI,WAAW,oBAAoB,SAAS,sFAAsF,CAAA;QACrO,KAAK,OAAO;YACX,OAAO,cAAc,MAAM,yDAAyD,SAAS,gCAAgC,CAAA;QAC9H,KAAK,aAAa;YACjB,OAAO,cAAc,MAAM,yCAAyC,SAAS,EAAE,CAAA;IACjF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAe;IACrC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE;QACL,wCAAwC;QACxC,oCAAoC;QACpC,kDAAkD;QAClD,EAAE;QACF,wEAAwE;QACxE,8BAA8B;QAC9B,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,EAAE;QACF,2CAA2C;QAC3C,0EAA0E;QAC1E,iDAAiD;QACjD,8CAA8C;QAC9C,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,+EAA+E;QAC/E,wEAAwE;QACxE,6EAA6E;QAC7E,0FAA0F;QAC1F,0FAA0F;QAC1F,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,wEAAwE;QACxE,sEAAsE;QACtE,iDAAiD;QACjD,0DAA0D;QAC1D,yEAAyE;QACzE,EAAE;QACF,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,qCAAqC;QACrC,EAAE;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE;QACF,wEAAwE;QACxE,EAAE;QACF,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,wEAAwE;QACxE,sCAAsC;QACtC,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,oDAAoD;QACpD,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,gCAAgC;QAChC,EAAE;QACF,qEAAqE;QACrE,iCAAiC;QACjC,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,+CAA+C;QAC/C,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,cAAc;KACd,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE;QACtF,IAAI,GAAG,GAAG,YAAY,CAAA;QACtB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QACpC,2EAA2E;QAC3E,MAAM,eAAe,GAAG;YACvB,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,sEAAsE;YACtE,mEAAmE;YACnE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACvF,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,yDAAyD;aAClE,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;YAChD,OAAO,UAAU,CAAA;QAClB,CAAC;QAED,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,KAAK,GAAG,mBAAmB,CAAC;YACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,SAAS,EAAE,KAAK,CAAC,KAAK;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,CAAA;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,GAAG,GAAG,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAErD,uEAAuE;QACvE,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE;YAC/C,GAAG;YACH,QAAQ,EAAE,gBAAgB,EAAE;SAC5B,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;YAClD,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAE7E,uEAAuE;QACvE,mEAAmE;QACnE,mEAAmE;QACnE,6DAA6D;QAC7D,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QACnC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAClE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACjF,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACvC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EACN,kGAAkG;aACnG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAExC,wEAAwE;QACxE,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,UAAU,GAAG,qBAAqB,CAAC;YACxC,IAAI,EAAE,KAAK,CAAC,cAAc;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,oEAAoE;YACpE,yDAAyD;YACzD,WAAW,EAAE,KAAK;SAClB,CAAC,CAAA;QACF,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;YAClD,OAAO,UAAU,CAAA;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC3F,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1F,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAClC,yEAAyE;QACzE,iEAAiE;QACjE,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,aAAgD,CAAA;QACpD,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACJ,aAAa,GAAG,MAAM,mBAAmB,CAAC;oBACzC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa;iBAC1C,CAAC,CAAA;gBACF,4DAA4D;gBAC5D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,qDAAqD;gBACrD,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;oBAC1C,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,CAAC,gBAAgB;oBACzD,gCAAgC,EAAE,IAAI;iBACtC,CAAC,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,CAAC,CAAA;gBACF,OAAO,CAAC,CAAA;YACT,CAAC;QACF,CAAC;QACD,IAAI,QAAkD,CAAA;QACtD,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACpG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CACjC,QAAQ,EACR,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,EAC7D,GAAG,CACH,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAChD,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,GAAuB,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QAClF,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,SAAyC,CAAA;QAC7C,IAAI,CAAC;YACJ,SAAS;gBACR,MAAM,CAAC,IAAI,KAAK,SAAS;oBACxB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC/B,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACpG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC/D,GAAG;YACH,KAAK,EAAE;gBACN,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC3B;YACD,SAAS,EAAE,QAAQ,CAAC,IAAI;YACxB,oBAAoB,EAAE,QAAQ;YAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,+DAA+D;YAC/D,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBACvE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,EAAE;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,iEAAiE;YACjE,mEAAmE;YACnE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,oBAAoB;aAClD,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,OAAO,EAAE,gBAAgB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,MAAM,EAAE;iBAChE,CAAC,CAAA;YACH,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,OAAO,CAAC,CAAA;QACT,CAAC;QACD,0EAA0E;QAC1E,qEAAqE;QACrE,0EAA0E;QAC1E,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAA;QACnE,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,WAAW,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/F,CAAA;QACD,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,yBAAyB,OAAO,CAAC,gBAAgB;iBAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAA;QACF,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,WAAW,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;aAC3E,CAAC,CAAA;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAE9D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,SAAS,MAAM,KAAK,CAAC,MAAM,WAAW,CAAC,CAAA;QAC9E,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,QAAQ,GAGV,EAAE,CAAA;QACN,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,QAAQ,CAAC,KAAK;gBACjB,CAAC,CAAC;oBACA,KAAK,EAAE;wBACN,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;wBACvC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;qBACzB;iBACD;gBACF,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAA;QACF,IAAI,UAAkC,CAAA;QACtC,wEAAwE;QACxE,sEAAsE;QACtE,wDAAwD;QACxD,MAAM,IAAI,GAKN;YACH,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,KAAK;SACX,CAAA;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,KAAK,GAAmD,SAAS,CAAA;QACrE,MAAM,UAAU,GAAG,GAAS,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;QACrE,CAAC,CAAA;QACD,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,GAAG,IAAI,CAAA;YACd,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClF,SAAS,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiC,EAAiB,EAAE;YAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;qBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oBACnC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC3D,+DAA+D;gBAC/D,4DAA4D;qBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;qBAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAChD,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;oBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;wBAChB,IAAI,CAAC,MAAM,GAAG,gBAAgB,KAAK,CAAC,cAAc,CAAC,SAAS,kBAAkB,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,KAAK,CAAC,cAAc,CAAC,YAAY,gGAAgG,CAAA;oBACnP,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,8DAA8D;oBAC9D,gEAAgE;oBAChE,2DAA2D;oBAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;wBAAE,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/C,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;oBAC7B,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBACjD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QACD,MAAM,OAAO,CACZ,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YACvF,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CACF,CAAA;QACD,UAAU,EAAE,CAAA;QAEZ,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAA;QACzF,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,OACC,CAAC,OAAO;YACR,IAAI,CAAC,MAAM;YACX,YAAY,GAAG,CAAC;YAChB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EACjD,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC;gBAC1B,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,QAAQ;gBACR,QAAQ,EAAE,YAAY;aACtB,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,kBAAkB,QAAQ,CAAC,MAAM,GAAG,CAAA;gBAChE,MAAK;YACN,CAAC;YACD,KAAK,IAAI,CAAC,CAAA;YACV,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,qCAAqC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,MAAM,CAAC,YAAY,UAAU,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,CACtL,CAAA;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3E,mEAAmE;YACnE,yDAAyD;YACzD,IAAI,OAAO;gBAAE,MAAK;YAClB,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAA;YAC5B,KAAK,GAAG,SAAS,CAAA;YACjB,MAAM,OAAO,CACZ,OAAO,CAAC,YAAY,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,SAAS,CAAC,MAAM;aACxB,CAAC,CACF,CAAA;YACD,UAAU,EAAE,CAAA;QACb,CAAC;QACD,8DAA8D;QAC9D,IAAI,OAAO;YAAE,OAAO,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAEhD,uEAAuE;QACvE,sEAAsE;QACtE,oBAAoB;QACpB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;QACvB,uEAAuE;QACvE,kEAAkE;QAClE,wEAAwE;QACxE,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;QAE/B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,WAAW,QAAQ,CAAC,MAAM,CAAC,SAAS,UAAU,QAAQ,CAAC,MAAM,CAAC,UAAU,wBAAwB,CAChG,CAAA;QACF,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACnF,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,EAAE;aACtE,CAAC,CAAA;YACF,gEAAgE;YAChE,qEAAqE;YACrE,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;QAED,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,yEAAyE;QACzE,gEAAgE;QAChE,iEAAiE;QACjE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,iCAAiC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,EAAE;aAC5G,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,OAAO,CAAC,CAAA;IACT,CAAC,CAAC;CACF,CAAA"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export const serveCommand = {
|
|
12
12
|
name: 'serve',
|
|
13
|
-
description: 'namzu has no daemon;
|
|
13
|
+
description: 'namzu has no daemon; each session is a process',
|
|
14
14
|
handler: async ({ ctx }) => {
|
|
15
|
-
ctx.formatter.info('namzu has no daemon and no cross-agent coordination surface.
|
|
15
|
+
ctx.formatter.info('namzu has no daemon and no cross-agent coordination surface. Each session is an ordinary process: start one with `namzu`, or drive the SDK directly from your own service. Nothing needs to be running first.');
|
|
16
16
|
return 0;
|
|
17
17
|
},
|
|
18
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,gDAAgD;IAC7D,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC1B,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,+MAA+M,CAC/M,CAAA;QACD,OAAO,CAAC,CAAA;IACT,CAAC;CACD,CAAA"}
|
package/dist/commands/state.js
CHANGED
|
@@ -60,17 +60,17 @@ export function renderStateReport(report) {
|
|
|
60
60
|
lines.push(` ${category}: ${formatBytes(measure.logicalBytes)} · ${measure.files} files`);
|
|
61
61
|
}
|
|
62
62
|
const inventory = root.inventory;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
lines.push(` emergency dumps ${inventory.emergencyDumpFiles.files} (${formatBytes(inventory.emergencyDumpFiles.logicalBytes)})`);
|
|
63
|
+
if (inventory.projects > 0 || inventory.sessionLogs.files > 0) {
|
|
64
|
+
lines.push(` projects ${inventory.projects} · session logs ${inventory.sessionLogs.files} (${formatBytes(inventory.sessionLogs.logicalBytes)}) · subagent logs ${inventory.subagentLogs.files} · checkpoints ${inventory.checkpointFiles.files} (${formatBytes(inventory.checkpointFiles.logicalBytes)})`);
|
|
66
65
|
}
|
|
67
66
|
if (inventory.attachments.files > 0) {
|
|
68
67
|
lines.push(` attachment files ${inventory.attachments.files} (${formatBytes(inventory.attachments.logicalBytes)}) · ${inventory.attachments.pairs} complete pairs · ${inventory.attachments.orphanedDataFiles + inventory.attachments.orphanedTypeFiles} orphan halves`);
|
|
69
68
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
if (root.legacy.length > 0) {
|
|
70
|
+
lines.push(' legacy (the layout before session logs; not read by this version, never changed here):');
|
|
71
|
+
for (const entry of root.legacy) {
|
|
72
|
+
lines.push(` ${safePath(entry.path)} — ${formatBytes(entry.logicalBytes)} · ${entry.files} files`);
|
|
73
|
+
}
|
|
74
74
|
}
|
|
75
75
|
for (const boundary of root.privacy) {
|
|
76
76
|
if (boundary.status === 'secure')
|
|
@@ -86,7 +86,7 @@ export function renderStateReport(report) {
|
|
|
86
86
|
lines.push('');
|
|
87
87
|
lines.push(`Project binding: ${report.projectBinding.status} — ${safeLine(report.projectBinding.detail)}`);
|
|
88
88
|
lines.push(`Project config: ${report.projectConfig.status}${report.projectConfig.status === 'present' ? ` · ${formatBytes(report.projectConfig.logicalBytes)}` : ''} at ${safePath(report.projectConfig.path)}`);
|
|
89
|
-
lines.push('No files were changed.
|
|
89
|
+
lines.push('No files were changed. Legacy state is reported, not declared safe to delete.');
|
|
90
90
|
return lines.join('\n');
|
|
91
91
|
}
|
|
92
92
|
function formatBytes(bytes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/commands/state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/commands/state.ts"],"names":[],"mappings":"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"}
|
package/dist/config/load.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export interface LoadConfigOptions {
|
|
|
34
34
|
*
|
|
35
35
|
* A name that no file declares is an ERROR rather than a no-op. Someone
|
|
36
36
|
* who typed `--profile revew` is running under settings they did not
|
|
37
|
-
* choose, and every reading of the
|
|
37
|
+
* choose, and every reading of the turn after that is wrong; the cost of
|
|
38
38
|
* refusing is one retyped word.
|
|
39
39
|
*/
|
|
40
40
|
readonly profile?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
|
package/dist/config/load.js
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { readFileSync } from 'node:fs';
|
|
25
25
|
import { join, resolve } from 'node:path';
|
|
26
|
-
import { SHELL_HOOK_EVENTS } from '@namzu/sdk';
|
|
26
|
+
import { RENAMED_PLUGIN_HOOK_EVENTS, SHELL_HOOK_EVENTS } from '@namzu/sdk';
|
|
27
27
|
import { parse as yamlParse } from 'yaml';
|
|
28
28
|
import { resolveNamzuHome } from '../integrations/state/home.js';
|
|
29
29
|
import { isFormatName } from '../output/index.js';
|
|
@@ -91,7 +91,7 @@ function resolveConfigWithProvenance(opts, mode) {
|
|
|
91
91
|
const projectCfg = mode.includeProject ? readJsonIfExists(projectPath) : {};
|
|
92
92
|
const managedCfg = readJsonIfExists(managedPath);
|
|
93
93
|
const { config: envCfg, variables: envVariables } = readEnv(env);
|
|
94
|
-
// The command line first, then the environment. A flag is this
|
|
94
|
+
// The command line first, then the environment. A flag is this turn; a
|
|
95
95
|
// variable is this shell — so the narrower statement wins, the way it does
|
|
96
96
|
// everywhere else here.
|
|
97
97
|
const profileName = opts.profile ?? env.NAMZU_PROFILE;
|
|
@@ -132,7 +132,7 @@ function resolveConfigWithProvenance(opts, mode) {
|
|
|
132
132
|
* profile of the same name is the ordinary case, and reporting both as "the
|
|
133
133
|
* profile" would leave an operator opening the wrong file.
|
|
134
134
|
*
|
|
135
|
-
* Refuses a name nothing declares. The alternative is a
|
|
135
|
+
* Refuses a name nothing declares. The alternative is a turn under settings
|
|
136
136
|
* nobody chose, reported as success.
|
|
137
137
|
*/
|
|
138
138
|
function profileLayers(name, files, deferUnknown = false) {
|
|
@@ -498,6 +498,12 @@ const CONFIG_READERS = {
|
|
|
498
498
|
const events = new Set(SHELL_HOOK_EVENTS);
|
|
499
499
|
const out = {};
|
|
500
500
|
for (const [event, entries] of Object.entries(v)) {
|
|
501
|
+
const renamed = Object.hasOwn(RENAMED_PLUGIN_HOOK_EVENTS, event)
|
|
502
|
+
? RENAMED_PLUGIN_HOOK_EVENTS[event]
|
|
503
|
+
: undefined;
|
|
504
|
+
if (renamed !== undefined) {
|
|
505
|
+
return invalidConfigValue(context, [event], `was renamed; name it \`${renamed}\``);
|
|
506
|
+
}
|
|
501
507
|
if (!events.has(event)) {
|
|
502
508
|
return invalidConfigValue(context, [event], `is not a hook event (${SHELL_HOOK_EVENTS.join(', ')})`);
|
|
503
509
|
}
|
|
@@ -628,8 +634,10 @@ const CONFIG_READERS = {
|
|
|
628
634
|
if (!isConfigMapping(v))
|
|
629
635
|
return invalidConfigValue(context, [], 'must be a mapping');
|
|
630
636
|
const raw = v;
|
|
631
|
-
|
|
632
|
-
|
|
637
|
+
for (const key of ['enabled', 'allowEscape', 'allowUnattendedEscape']) {
|
|
638
|
+
if (raw[key] !== undefined && typeof raw[key] !== 'boolean') {
|
|
639
|
+
return invalidConfigValue(context, [key], 'must be a boolean');
|
|
640
|
+
}
|
|
633
641
|
}
|
|
634
642
|
if (raw.requireIsolation !== undefined && !Array.isArray(raw.requireIsolation)) {
|
|
635
643
|
return invalidConfigValue(context, ['requireIsolation'], 'must be a list');
|
|
@@ -652,6 +660,10 @@ const CONFIG_READERS = {
|
|
|
652
660
|
}
|
|
653
661
|
return {
|
|
654
662
|
...(raw.enabled !== undefined ? { enabled: raw.enabled } : {}),
|
|
663
|
+
...(raw.allowEscape !== undefined ? { allowEscape: raw.allowEscape } : {}),
|
|
664
|
+
...(raw.allowUnattendedEscape !== undefined
|
|
665
|
+
? { allowUnattendedEscape: raw.allowUnattendedEscape }
|
|
666
|
+
: {}),
|
|
655
667
|
...(requireIsolation !== undefined
|
|
656
668
|
? {
|
|
657
669
|
requireIsolation: requireIsolation,
|