@namzu/sdk 51.0.0 → 52.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 +110 -0
- package/dist/agents/QueryAgent.d.ts.map +1 -1
- package/dist/agents/QueryAgent.js +2 -0
- package/dist/agents/QueryAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/examples/SupervisorAgent.d.ts +42 -0
- package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/examples/SupervisorAgent.js +80 -4
- package/dist/agents/examples/SupervisorAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/authorization/protected-paths.d.ts +36 -0
- package/dist/authorization/protected-paths.d.ts.map +1 -0
- package/dist/authorization/protected-paths.js +107 -0
- package/dist/authorization/protected-paths.js.map +1 -0
- package/dist/authorization/readonly-commands.d.ts +39 -0
- package/dist/authorization/readonly-commands.d.ts.map +1 -0
- package/dist/authorization/readonly-commands.js +797 -0
- package/dist/authorization/readonly-commands.js.map +1 -0
- package/dist/authorization/readonly-flags.d.ts +19 -0
- package/dist/authorization/readonly-flags.d.ts.map +1 -0
- package/dist/authorization/readonly-flags.js +178 -0
- package/dist/authorization/readonly-flags.js.map +1 -0
- package/dist/authorization/removal.d.ts +52 -0
- package/dist/authorization/removal.d.ts.map +1 -0
- package/dist/authorization/removal.js +283 -0
- package/dist/authorization/removal.js.map +1 -0
- package/dist/authorization/shell-paths.d.ts +66 -0
- package/dist/authorization/shell-paths.d.ts.map +1 -0
- package/dist/authorization/shell-paths.js +697 -0
- package/dist/authorization/shell-paths.js.map +1 -0
- package/dist/bridge/acp/update.d.ts.map +1 -1
- package/dist/bridge/acp/update.js +1 -0
- package/dist/bridge/acp/update.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +1 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/compaction/context-window.d.ts +24 -0
- package/dist/compaction/context-window.d.ts.map +1 -1
- package/dist/compaction/context-window.js +34 -0
- package/dist/compaction/context-window.js.map +1 -1
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +10 -2
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/plan.d.ts +4 -0
- package/dist/compaction/plan.d.ts.map +1 -1
- package/dist/compaction/plan.js +6 -2
- package/dist/compaction/plan.js.map +1 -1
- package/dist/compaction/verifier.d.ts +11 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +19 -7
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/runtime.d.ts +55 -7
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js +23 -2
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
- package/dist/connector/web/guarded-fetch.js +24 -0
- package/dist/connector/web/guarded-fetch.js.map +1 -1
- package/dist/connector/web/index.d.ts +1 -1
- package/dist/connector/web/index.d.ts.map +1 -1
- package/dist/connector/web/page.d.ts +59 -0
- package/dist/connector/web/page.d.ts.map +1 -0
- package/dist/connector/web/page.js +112 -0
- package/dist/connector/web/page.js.map +1 -0
- package/dist/connector/web/types.d.ts +47 -0
- package/dist/connector/web/types.d.ts.map +1 -1
- package/dist/connector/web/types.js.map +1 -1
- package/dist/constants/continuation.d.ts +8 -0
- package/dist/constants/continuation.d.ts.map +1 -1
- package/dist/constants/continuation.js +8 -0
- package/dist/constants/continuation.js.map +1 -1
- package/dist/constants/plugin/index.d.ts +1 -1
- package/dist/constants/plugin/index.d.ts.map +1 -1
- package/dist/constants/plugin/index.js +1 -1
- package/dist/constants/plugin/index.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +7 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +11 -2
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/session/turn-recorder.d.ts.map +1 -1
- package/dist/manager/session/turn-recorder.js +4 -2
- package/dist/manager/session/turn-recorder.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +6 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +98 -114
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/shell-hook.d.ts +90 -22
- package/dist/plugin/shell-hook.d.ts.map +1 -1
- package/dist/plugin/shell-hook.js +434 -41
- package/dist/plugin/shell-hook.js.map +1 -1
- package/dist/provider/errors.d.ts +10 -0
- package/dist/provider/errors.d.ts.map +1 -1
- package/dist/provider/errors.js +16 -0
- package/dist/provider/errors.js.map +1 -1
- package/dist/provider/retry.d.ts +27 -0
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +19 -3
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +4 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +4 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +2 -2
- package/dist/public-types.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +21 -0
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +15 -2
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.d.ts +10 -0
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +74 -13
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +41 -2
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +190 -6
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/finalize-turn.d.ts +6 -0
- package/dist/runtime/query/finalize-turn.d.ts.map +1 -1
- package/dist/runtime/query/finalize-turn.js +1 -1
- package/dist/runtime/query/finalize-turn.js.map +1 -1
- package/dist/runtime/query/index.d.ts +29 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +15 -3
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +31 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +216 -7
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts +58 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.js +91 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.js.map +1 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +89 -7
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +165 -2
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +24 -1
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/path-escalation.d.ts +36 -0
- package/dist/runtime/query/path-escalation.d.ts.map +1 -0
- package/dist/runtime/query/path-escalation.js +184 -0
- package/dist/runtime/query/path-escalation.js.map +1 -0
- package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +8 -0
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/reminders.d.ts +35 -0
- package/dist/runtime/query/reminders.d.ts.map +1 -0
- package/dist/runtime/query/reminders.js +7 -0
- package/dist/runtime/query/reminders.js.map +1 -0
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +26 -0
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +26 -0
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +79 -5
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.d.ts +46 -0
- package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +85 -1
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +1 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +5 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/session/paths.d.ts +5 -1
- package/dist/session/paths.d.ts.map +1 -1
- package/dist/session/paths.js +8 -0
- package/dist/session/paths.js.map +1 -1
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +2 -2
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/markdown.d.ts.map +1 -1
- package/dist/store/memory/markdown.js +2 -2
- package/dist/store/memory/markdown.js.map +1 -1
- package/dist/store/memory/naming.d.ts +9 -0
- package/dist/store/memory/naming.d.ts.map +1 -1
- package/dist/store/memory/naming.js +12 -0
- package/dist/store/memory/naming.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts +30 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +170 -26
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/content-fingerprint.d.ts +2 -0
- package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
- package/dist/tools/builtins/content-fingerprint.js +4 -0
- package/dist/tools/builtins/content-fingerprint.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +60 -18
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/grep.d.ts +8 -1
- package/dist/tools/builtins/grep.d.ts.map +1 -1
- package/dist/tools/builtins/grep.js +152 -33
- package/dist/tools/builtins/grep.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +1 -0
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +44 -5
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/read-render.d.ts +52 -0
- package/dist/tools/builtins/read-render.d.ts.map +1 -1
- package/dist/tools/builtins/read-render.js +143 -0
- package/dist/tools/builtins/read-render.js.map +1 -1
- package/dist/tools/builtins/web.d.ts +13 -2
- package/dist/tools/builtins/web.d.ts.map +1 -1
- package/dist/tools/builtins/web.js +225 -32
- package/dist/tools/builtins/web.js.map +1 -1
- package/dist/tools/coordinator/ask-user-question.d.ts +2 -0
- package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
- package/dist/tools/coordinator/ask-user-question.js +256 -92
- package/dist/tools/coordinator/ask-user-question.js.map +1 -1
- package/dist/tools/coordinator/question-options.d.ts +1 -0
- package/dist/tools/coordinator/question-options.d.ts.map +1 -1
- package/dist/tools/coordinator/question-options.js +6 -1
- package/dist/tools/coordinator/question-options.js.map +1 -1
- package/dist/tools/defineTool.d.ts +4 -1
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +6 -1
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/paths.d.ts +6 -0
- package/dist/tools/paths.d.ts.map +1 -1
- package/dist/tools/paths.js +1 -1
- package/dist/tools/paths.js.map +1 -1
- package/dist/types/agent/query.d.ts +3 -0
- package/dist/types/agent/query.d.ts.map +1 -1
- package/dist/types/errors/catalog.js +1 -1
- package/dist/types/errors/catalog.js.map +1 -1
- package/dist/types/hitl/index.d.ts +104 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +1 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +2 -0
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +93 -19
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +3 -0
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/error.d.ts +6 -0
- package/dist/types/provider/error.d.ts.map +1 -1
- package/dist/types/provider/errors.d.ts +19 -0
- package/dist/types/provider/errors.d.ts.map +1 -1
- package/dist/types/provider/errors.js +39 -1
- package/dist/types/provider/errors.js.map +1 -1
- package/dist/types/provider/stream.d.ts +6 -0
- package/dist/types/provider/stream.d.ts.map +1 -1
- package/dist/types/session/events.d.ts +15 -2
- package/dist/types/session/events.d.ts.map +1 -1
- package/dist/types/session/events.js.map +1 -1
- package/dist/types/session/records.d.ts +9 -9
- package/dist/types/session/records.d.ts.map +1 -1
- package/dist/types/session/records.js +1 -0
- package/dist/types/session/records.js.map +1 -1
- package/dist/types/session/stop-reason.d.ts +5 -0
- package/dist/types/session/stop-reason.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +52 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/utils/backoff.d.ts +12 -0
- package/dist/utils/backoff.d.ts.map +1 -1
- package/dist/utils/backoff.js +15 -0
- package/dist/utils/backoff.js.map +1 -1
- package/package.json +4 -2
- package/src/agents/QueryAgent.ts +5 -1
- package/src/agents/SupervisorAgent.ts +1 -1
- package/src/agents/examples/SupervisorAgent.ts +217 -106
- package/src/agents/index.ts +1 -1
- package/src/authorization/protected-paths.ts +110 -0
- package/src/authorization/readonly-commands.ts +771 -0
- package/src/authorization/readonly-flags.ts +196 -0
- package/src/authorization/removal.ts +326 -0
- package/src/authorization/shell-paths.ts +927 -0
- package/src/bridge/acp/update.ts +1 -0
- package/src/bridge/sse/mapper.ts +1 -0
- package/src/compaction/context-window.ts +41 -0
- package/src/compaction/manual.ts +10 -2
- package/src/compaction/plan.ts +11 -2
- package/src/compaction/verifier.ts +28 -3
- package/src/config/runtime.ts +23 -2
- package/src/connector/web/guarded-fetch.ts +26 -0
- package/src/connector/web/index.ts +3 -0
- package/src/connector/web/page.ts +130 -0
- package/src/connector/web/types.ts +47 -0
- package/src/constants/continuation.ts +10 -0
- package/src/constants/plugin/index.ts +1 -1
- package/src/manager/agent/lifecycle.ts +12 -4
- package/src/manager/session/turn-recorder.ts +10 -2
- package/src/plugin/index.ts +1 -0
- package/src/plugin/lifecycle.ts +107 -119
- package/src/plugin/shell-hook.ts +477 -43
- package/src/provider/errors.ts +18 -0
- package/src/provider/retry.ts +53 -3
- package/src/public-runtime.ts +8 -0
- package/src/public-types.ts +4 -0
- package/src/runtime/jobs/registry.ts +39 -2
- package/src/runtime/query/executor/tool-call-admission.ts +79 -13
- package/src/runtime/query/executor.ts +242 -8
- package/src/runtime/query/finalize-turn.ts +7 -1
- package/src/runtime/query/index.ts +45 -3
- package/src/runtime/query/iteration/index.ts +251 -12
- package/src/runtime/query/iteration/phases/compaction-breaker.ts +106 -0
- package/src/runtime/query/iteration/phases/compaction.ts +99 -12
- package/src/runtime/query/iteration/phases/context.ts +11 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +177 -2
- package/src/runtime/query/iteration/stream-turn.ts +24 -1
- package/src/runtime/query/path-escalation.ts +204 -0
- package/src/runtime/query/plugin-hooks.ts +8 -0
- package/src/runtime/query/reminders.ts +45 -0
- package/src/runtime/query/resume-pending.ts +27 -0
- package/src/runtime/query/review-policy.ts +106 -5
- package/src/runtime/query/tool-output-budget.ts +115 -1
- package/src/runtime/query/tooling.ts +6 -0
- package/src/session/paths.ts +11 -1
- package/src/store/memory/disk.ts +2 -1
- package/src/store/memory/markdown.ts +2 -1
- package/src/store/memory/naming.ts +13 -0
- package/src/tools/builtins/bash.ts +203 -34
- package/src/tools/builtins/content-fingerprint.ts +5 -0
- package/src/tools/builtins/edit.ts +69 -19
- package/src/tools/builtins/grep.ts +159 -38
- package/src/tools/builtins/read-file.ts +48 -5
- package/src/tools/builtins/read-render.ts +193 -0
- package/src/tools/builtins/web.ts +258 -33
- package/src/tools/coordinator/ask-user-question.ts +309 -103
- package/src/tools/coordinator/question-options.ts +8 -1
- package/src/tools/defineTool.ts +11 -2
- package/src/tools/paths.ts +1 -1
- package/src/types/agent/query.ts +3 -0
- package/src/types/errors/catalog.ts +1 -1
- package/src/types/hitl/index.ts +104 -0
- package/src/types/message/index.ts +2 -0
- package/src/types/plugin/index.ts +101 -18
- package/src/types/provider/error.ts +6 -0
- package/src/types/provider/errors.ts +49 -1
- package/src/types/provider/stream.ts +6 -0
- package/src/types/session/events.ts +15 -2
- package/src/types/session/records.ts +1 -0
- package/src/types/session/stop-reason.ts +5 -0
- package/src/types/tool/index.ts +53 -2
- package/src/utils/backoff.ts +21 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a call writes or removes that no mode may approve in advance.
|
|
3
|
+
*
|
|
4
|
+
* Three questions the kernel answers about a prepared call before it runs, all
|
|
5
|
+
* of them about the call's own arguments and none about the model's intent:
|
|
6
|
+
*
|
|
7
|
+
* - does it write a protected path (a git hook, a shell rc file, editor or
|
|
8
|
+
* tool configuration, the project's `.namzu` directory)?
|
|
9
|
+
* - does its shell line remove something catastrophic?
|
|
10
|
+
* - does its shell line reach a path outside the turn's roots, through a
|
|
11
|
+
* command whose operands are paths or through a redirection?
|
|
12
|
+
*
|
|
13
|
+
* The first two are floors: they hold in every mode, the way a sandbox escape
|
|
14
|
+
* does. The third is the existing outside-root boundary, extended from the
|
|
15
|
+
* file tools' one declared argument to the paths a shell line names.
|
|
16
|
+
*/
|
|
17
|
+
import { homedir } from 'node:os';
|
|
18
|
+
import { isAbsolute, relative, resolve } from 'node:path';
|
|
19
|
+
import { isProtectedPath } from '../../authorization/protected-paths.js';
|
|
20
|
+
import { dangerousRemoval } from '../../authorization/removal.js';
|
|
21
|
+
import { readShellLine, shellPathAccess } from '../../authorization/shell-paths.js';
|
|
22
|
+
import { canonicalize, pathOutsideRoots } from '../../tools/paths.js';
|
|
23
|
+
/**
|
|
24
|
+
* The part of `absolute` that protected names are looked for in.
|
|
25
|
+
*
|
|
26
|
+
* Inside a root (the working directory or an added directory) that is the part
|
|
27
|
+
* below the root, not the whole path: the root is where the turn was put, and
|
|
28
|
+
* a root that itself sits under a protected name is not a reason to ask about
|
|
29
|
+
* every file in it. The case that matters is the managed worktree a sub-agent
|
|
30
|
+
* runs in, `~/.namzu/projects/<slug>/worktrees/<name>`, which lies under
|
|
31
|
+
* `.namzu` by construction; the reference terminal makes the same exception
|
|
32
|
+
* for its own worktrees directory. A path in no root is looked at whole.
|
|
33
|
+
*/
|
|
34
|
+
function protectedScope(absolute, roots) {
|
|
35
|
+
let best;
|
|
36
|
+
for (const root of roots) {
|
|
37
|
+
const base = resolve(root);
|
|
38
|
+
const below = relative(base, absolute);
|
|
39
|
+
if (below === '' || below.startsWith('..') || isAbsolute(below))
|
|
40
|
+
continue;
|
|
41
|
+
if (best === undefined || below.length < best.length)
|
|
42
|
+
best = below;
|
|
43
|
+
}
|
|
44
|
+
return best ?? absolute;
|
|
45
|
+
}
|
|
46
|
+
/** A write is protected when its spelling, or the place a link leads to, is. */
|
|
47
|
+
async function isProtectedWrite(spelled, absolute, roots) {
|
|
48
|
+
if (isProtectedPath(isAbsolute(spelled) ? protectedScope(absolute, roots) : spelled))
|
|
49
|
+
return true;
|
|
50
|
+
if (isProtectedPath(protectedScope(absolute, roots)))
|
|
51
|
+
return true;
|
|
52
|
+
const real = await canonicalize(absolute);
|
|
53
|
+
const realRoots = await Promise.all(roots.map((root) => canonicalize(resolve(root))));
|
|
54
|
+
return isProtectedPath(protectedScope(real, [...roots, ...realRoots]));
|
|
55
|
+
}
|
|
56
|
+
/** `{a,b}` with plain comma lists, one level at a time, bounded. */
|
|
57
|
+
export function expandBraces(value, limit = 16) {
|
|
58
|
+
const open = value.indexOf('{');
|
|
59
|
+
if (open < 0)
|
|
60
|
+
return [value];
|
|
61
|
+
let depth = 0;
|
|
62
|
+
let close = -1;
|
|
63
|
+
const commas = [];
|
|
64
|
+
for (let i = open; i < value.length; i += 1) {
|
|
65
|
+
const c = value[i];
|
|
66
|
+
if (c === '{')
|
|
67
|
+
depth += 1;
|
|
68
|
+
else if (c === '}') {
|
|
69
|
+
depth -= 1;
|
|
70
|
+
if (depth === 0) {
|
|
71
|
+
close = i;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (c === ',' && depth === 1)
|
|
76
|
+
commas.push(i);
|
|
77
|
+
}
|
|
78
|
+
if (close < 0 || commas.length === 0)
|
|
79
|
+
return [value];
|
|
80
|
+
const head = value.slice(0, open);
|
|
81
|
+
const tail = value.slice(close + 1);
|
|
82
|
+
const parts = [];
|
|
83
|
+
let start = open + 1;
|
|
84
|
+
for (const comma of [...commas, close]) {
|
|
85
|
+
parts.push(value.slice(start, comma));
|
|
86
|
+
start = comma + 1;
|
|
87
|
+
}
|
|
88
|
+
const out = [];
|
|
89
|
+
for (const part of parts) {
|
|
90
|
+
for (const rest of expandBraces(head + part + tail, limit)) {
|
|
91
|
+
out.push(rest);
|
|
92
|
+
if (out.length >= limit)
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
}
|
|
98
|
+
/** The path a use names with `~` and `$HOME` read as the home directory, or why it cannot be. */
|
|
99
|
+
function settle(value, home) {
|
|
100
|
+
if (value === '~')
|
|
101
|
+
return { path: home };
|
|
102
|
+
if (value.startsWith('~/'))
|
|
103
|
+
return { path: resolve(home, value.slice(2)) };
|
|
104
|
+
if (value.startsWith('~'))
|
|
105
|
+
return { unresolved: true };
|
|
106
|
+
const variable = /^\$(?:\{HOME\}|HOME)(?=\/|$)/.exec(value);
|
|
107
|
+
if (variable !== null)
|
|
108
|
+
return { path: resolve(home, `.${value.slice(variable[0].length)}`) };
|
|
109
|
+
if (/[$`]/.test(value))
|
|
110
|
+
return { unresolved: true };
|
|
111
|
+
return { path: value };
|
|
112
|
+
}
|
|
113
|
+
/** The part of a glob path before the first segment that holds a glob character. */
|
|
114
|
+
function beforeGlob(path) {
|
|
115
|
+
const at = path.search(/[*?[]/);
|
|
116
|
+
if (at < 0)
|
|
117
|
+
return path;
|
|
118
|
+
const cut = path.lastIndexOf('/', at);
|
|
119
|
+
return cut <= 0 ? '/' : path.slice(0, cut);
|
|
120
|
+
}
|
|
121
|
+
/** A write the file tool's own declared path argument names. */
|
|
122
|
+
export async function declaredWriteEscalation(roots, value) {
|
|
123
|
+
const [first] = roots;
|
|
124
|
+
if (first === undefined || value === '')
|
|
125
|
+
return undefined;
|
|
126
|
+
const absolute = resolve(resolve(first), value);
|
|
127
|
+
return (await isProtectedWrite(value, absolute, roots)) ? absolute : undefined;
|
|
128
|
+
}
|
|
129
|
+
/** What a shell line reaches. */
|
|
130
|
+
export async function shellEscalations(line, dialect, context) {
|
|
131
|
+
const reading = readShellLine(line, dialect);
|
|
132
|
+
const access = shellPathAccess(reading);
|
|
133
|
+
const [cwd, ...added] = context.roots;
|
|
134
|
+
const outside = new Set();
|
|
135
|
+
const protectedPaths = new Set();
|
|
136
|
+
const home = homedir();
|
|
137
|
+
if (cwd !== undefined) {
|
|
138
|
+
for (const use of access.uses) {
|
|
139
|
+
for (const spelled of expandBraces(use.path)) {
|
|
140
|
+
const settled = settle(spelled, home);
|
|
141
|
+
const unresolved = use.unresolved || 'unresolved' in settled;
|
|
142
|
+
const base = 'path' in settled ? settled.path : spelled;
|
|
143
|
+
const absolute = isAbsolute(base) ? resolve(base) : resolve(cwd, base);
|
|
144
|
+
if (use.access === 'write' && (await isProtectedWrite(spelled, absolute, context.roots))) {
|
|
145
|
+
protectedPaths.add(absolute);
|
|
146
|
+
}
|
|
147
|
+
if (!context.reviewOutside)
|
|
148
|
+
continue;
|
|
149
|
+
if (unresolved) {
|
|
150
|
+
// A write whose target is decided at runtime cannot be checked; a
|
|
151
|
+
// read of one is left, as the reference leaves it.
|
|
152
|
+
if (use.access === 'write')
|
|
153
|
+
outside.add(spelled);
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
if (access.changesDirectory &&
|
|
157
|
+
use.access === 'write' &&
|
|
158
|
+
!isAbsolute(base) &&
|
|
159
|
+
!spelled.startsWith('~')) {
|
|
160
|
+
// A `cd` earlier in the line moves a relative target somewhere the
|
|
161
|
+
// roots cannot be compared with.
|
|
162
|
+
outside.add(spelled);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
const reached = await pathOutsideRoots(context.roots, beforeGlob(absolute));
|
|
166
|
+
if (reached !== undefined)
|
|
167
|
+
outside.add(reached);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const removal = cwd === undefined
|
|
172
|
+
? undefined
|
|
173
|
+
: dangerousRemoval(reading, access.changesDirectory, {
|
|
174
|
+
cwd,
|
|
175
|
+
additionalDirectories: added,
|
|
176
|
+
home,
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
outsidePaths: [...outside],
|
|
180
|
+
protectedPaths: [...protectedPaths],
|
|
181
|
+
...(removal !== undefined ? { dangerousRemoval: removal } : {}),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=path-escalation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-escalation.js","sourceRoot":"","sources":["../../../src/runtime/query/path-escalation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-hooks.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/plugin-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEpF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAClC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-hooks.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/plugin-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEpF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAClC,MAAM,EAAE,CAsDV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9E"}
|
|
@@ -21,6 +21,14 @@ export function applyLifecycleHookResults(event, results) {
|
|
|
21
21
|
annotations.push(result.text.trim());
|
|
22
22
|
continue;
|
|
23
23
|
case 'skip':
|
|
24
|
+
// `turn_end`, `subagent_stop` and `pre_compact` answer with `skip`
|
|
25
|
+
// to keep the turn going or to cancel a pass. The sites that can act
|
|
26
|
+
// on that read the results themselves; a site that cannot (the
|
|
27
|
+
// final `turn_end` of a turn that already ended) has nothing to
|
|
28
|
+
// refuse and carries on.
|
|
29
|
+
if (event === 'turn_end' || event === 'subagent_stop' || event === 'pre_compact') {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
24
32
|
// The one lifecycle event with a verdict: a hook may refuse the
|
|
25
33
|
// prompt before the model sees it, and the turn ends there.
|
|
26
34
|
if (event === 'user_prompt_submit') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-hooks.js","sourceRoot":"","sources":["../../../src/runtime/query/plugin-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACxC,KAAsB,EACtB,OAAoC;IAEpC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,UAAU;gBACd,SAAQ;YACT,KAAK,UAAU;gBACd,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,6DAA6D,CACjF,CAAA;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvE,SAAQ;YACT,KAAK,MAAM;gBACV,gEAAgE;gBAChE,4DAA4D;gBAC5D,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBACpC,MAAM,IAAI,UAAU,CAAC;wBACpB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE;wBACnD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;qBACxD,CAAC,CAAA;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,2DAA2D,CAC/E,CAAA;YACF,KAAK,OAAO;gBACX,MAAM,IAAI,UAAU,CAAC;oBACpB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,eAAe,KAAK,oBAAoB,MAAM,CAAC,OAAO,EAAE;oBACjE,OAAO,EAAE,EAAE,KAAK,EAAE;iBAClB,CAAC,CAAA;YACH,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACb,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,iCAAiC,MAAM,CAAC,MAAM,yBAAyB,CAC3F,CAAA;YACF,OAAO,CAAC,CAAC,CAAC;gBACT,MAAM,WAAW,GAAU,MAAM,CAAA;gBACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC5E,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,MAAc;IACrE,OAAO,QAAQ,QAAQ,uBAAuB,MAAM,EAAE,CAAA;AACvD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin-hooks.js","sourceRoot":"","sources":["../../../src/runtime/query/plugin-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACxC,KAAsB,EACtB,OAAoC;IAEpC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,UAAU;gBACd,SAAQ;YACT,KAAK,UAAU;gBACd,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,6DAA6D,CACjF,CAAA;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvE,SAAQ;YACT,KAAK,MAAM;gBACV,mEAAmE;gBACnE,qEAAqE;gBACrE,+DAA+D;gBAC/D,gEAAgE;gBAChE,yBAAyB;gBACzB,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;oBAClF,SAAQ;gBACT,CAAC;gBACD,gEAAgE;gBAChE,4DAA4D;gBAC5D,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBACpC,MAAM,IAAI,UAAU,CAAC;wBACpB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE;wBACnD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;qBACxD,CAAC,CAAA;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,2DAA2D,CAC/E,CAAA;YACF,KAAK,OAAO;gBACX,MAAM,IAAI,UAAU,CAAC;oBACpB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,eAAe,KAAK,oBAAoB,MAAM,CAAC,OAAO,EAAE;oBACjE,OAAO,EAAE,EAAE,KAAK,EAAE;iBAClB,CAAC,CAAA;YACH,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACb,MAAM,IAAI,KAAK,CACd,eAAe,KAAK,iCAAiC,MAAM,CAAC,MAAM,yBAAyB,CAC3F,CAAA;YACF,OAAO,CAAC,CAAC,CAAC;gBACT,MAAM,WAAW,GAAU,MAAM,CAAA;gBACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC5E,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,MAAc;IACrE,OAAO,QAAQ,QAAQ,uBAAuB,MAAM,EAAE,CAAA;AACvD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SessionId, TurnId } from '../../types/ids/index.js';
|
|
2
|
+
import type { Message } from '../../types/message/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* What a reminder source is told when the kernel asks it for hidden reminders.
|
|
5
|
+
*/
|
|
6
|
+
export interface ReminderContext {
|
|
7
|
+
readonly sessionId: SessionId;
|
|
8
|
+
readonly turnId: TurnId;
|
|
9
|
+
/** The model request about to be made; 1 for the first of the turn. */
|
|
10
|
+
readonly iteration: number;
|
|
11
|
+
/**
|
|
12
|
+
* The conversation as it stands, reminders included. Read-only: a source
|
|
13
|
+
* derives its cadence from this (how many assistant turns since it last
|
|
14
|
+
* spoke), so a resumed or compacted conversation needs no counter of its own.
|
|
15
|
+
*/
|
|
16
|
+
readonly messages: readonly Message[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A host's hidden reminders for the next model request.
|
|
20
|
+
*
|
|
21
|
+
* The kernel calls it once at the start of every model request of a turn
|
|
22
|
+
* (never the closing one) and appends each returned text to the conversation
|
|
23
|
+
* as a user-role message with provenance `{ type: 'runtime-context', kind:
|
|
24
|
+
* 'reminder' }`. The message is part of the durable history, so it is not
|
|
25
|
+
* operator input, never counts as the latest user request, and is not shown as
|
|
26
|
+
* something the operator typed. The channel is opt-in
|
|
27
|
+
* (`QueryParams.reminders`): a turn without a source behaves as before.
|
|
28
|
+
*
|
|
29
|
+
* A source that throws is treated as having nothing to say; a reminder is
|
|
30
|
+
* context, and a fault in one must not end a turn.
|
|
31
|
+
*/
|
|
32
|
+
export type ReminderSource = (context: ReminderContext) => readonly string[] | undefined | Promise<readonly string[] | undefined>;
|
|
33
|
+
/** Whether a message is a reminder the kernel appended for a {@link ReminderSource}. */
|
|
34
|
+
export declare function isReminderMessage(message: Message): boolean;
|
|
35
|
+
//# sourceMappingURL=reminders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reminders.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/reminders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CACrC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG,CAC5B,OAAO,EAAE,eAAe,KACpB,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;AAE3E,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAM3D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Whether a message is a reminder the kernel appended for a {@link ReminderSource}. */
|
|
2
|
+
export function isReminderMessage(message) {
|
|
3
|
+
return (message.role === 'user' &&
|
|
4
|
+
message.source?.type === 'runtime-context' &&
|
|
5
|
+
message.source.kind === 'reminder');
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=reminders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reminders.js","sourceRoot":"","sources":["../../../src/runtime/query/reminders.ts"],"names":[],"mappings":"AAqCA,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IACjD,OAAO,CACN,OAAO,CAAC,IAAI,KAAK,MAAM;QACvB,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,iBAAiB;QAC1C,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAClC,CAAA;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-pending.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,KAAK,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAInD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAA;IACxC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IACpC,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IACnD,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC9C,2FAA2F;IAC3F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAkE1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,8BAA8B,CAAA;AAEtE,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAIxF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAKrF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAW5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAEnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,SAAS,EACjD,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAST;AAiED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAkC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,gBAAgB,EACxB,kBAAkB,CAAC,EAAE,SAAS,GAC5B,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"resume-pending.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -380,6 +380,24 @@ export async function applyPendingResume(plan, recorder, executor, prior, assist
|
|
|
380
380
|
reason: "the turn's review approved this call, answered across a restart",
|
|
381
381
|
});
|
|
382
382
|
}
|
|
383
|
+
for (const path of call.escalation?.protectedPaths ?? []) {
|
|
384
|
+
await recorder.recordAudit({
|
|
385
|
+
what: { action: 'protected_path_write', tool: call.name, resource: path },
|
|
386
|
+
outcome: 'approved',
|
|
387
|
+
reason: "the turn's review approved this call, answered across a restart",
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
if (call.escalation?.dangerousRemoval !== undefined) {
|
|
391
|
+
await recorder.recordAudit({
|
|
392
|
+
what: {
|
|
393
|
+
action: 'dangerous_removal',
|
|
394
|
+
tool: call.name,
|
|
395
|
+
resource: call.escalation.dangerousRemoval,
|
|
396
|
+
},
|
|
397
|
+
outcome: 'approved',
|
|
398
|
+
reason: "the turn's review approved this call, answered across a restart",
|
|
399
|
+
});
|
|
400
|
+
}
|
|
383
401
|
}
|
|
384
402
|
// The parked assistant message is already in the log: it goes back into
|
|
385
403
|
// the context under its own record id, never as a second copy.
|
|
@@ -413,6 +431,14 @@ export function escalationRefusal(escalation, reviewed, wasModified, confirmed,
|
|
|
413
431
|
if (!shown?.outsidePaths?.includes(path))
|
|
414
432
|
return refusal;
|
|
415
433
|
}
|
|
434
|
+
for (const path of escalation.protectedPaths ?? []) {
|
|
435
|
+
if (!shown?.protectedPaths?.includes(path))
|
|
436
|
+
return refusal;
|
|
437
|
+
}
|
|
438
|
+
if (escalation.dangerousRemoval !== undefined &&
|
|
439
|
+
shown?.dangerousRemoval !== escalation.dangerousRemoval) {
|
|
440
|
+
return refusal;
|
|
441
|
+
}
|
|
416
442
|
if (escalation.sandboxEscape && (!shown?.sandboxEscape || !confirmed?.includes(id))) {
|
|
417
443
|
return 'Refused after resume: running this command outside the sandbox needs a person to confirm it for this call, and the durable approval did not.';
|
|
418
444
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-pending.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resume-pending.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAgB7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAS3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAyDhD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAA8B,EAC9B,QAA4B,EAC5B,GAAW;IAEX,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,gDAAgD;IAChD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC9C,OAAO,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,+EAA+E,EAAE;YACzF,qBAAqB,EAAE,UAAU,CAAC,EAAE;YACpC,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAClD,wBAAwB,EAAE,QAAQ,CAAC,MAAM;SACzC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACrE,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAAE;YAClF,qBAAqB,EAAE,UAAU,CAAC,EAAE;SACpC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACpE,GAAG,CAAC,KAAK,CAAC,gFAAgF,EAAE;YAC3F,qBAAqB,EAAE,UAAU,CAAC,EAAE;YACpC,wBAAwB,EAAE,CAAC,GAAG,WAAW,CAAC;YAC1C,sBAAsB,EAAE,SAAS;SACjC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE1F,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,SAAS;QACT,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC;QACvC,OAAO;QACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;QACxC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC1C,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,eAAe,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC;YAC/E,QAAQ,CAAC,oBAAoB;YAC5B,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;KACN,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAA;AAEtE,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,QAAwC;IAC9E,OAAO,CACN,QAAQ,EAAE,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAC/F,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAChE,OAAO;QACN,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,GAAG,2BAA2B,mGAAmG,QAAQ,CAAC,MAAM,oBAAoB;KAC5K,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAA4B;IAClE,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,iBAAiB;YACrB,OAAO,IAAI,CAAA;QACZ;YACC,OAAO,KAAK,CAAA;IACd,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,QAA4B;IACzD,OAAO,QAAQ,CAAC,MAAM,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAA;AAC/E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC5B,QAAiD,EACjD,QAA4B;IAE5B,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,sBAAsB;YAC1B,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QACxC,KAAK,eAAe;YACnB,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC/B;YACC,OAAO,KAAK,CAAA;IACd,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,kBAAkB,CAC1B,UAA8B,EAC9B,QAA4B,EAC5B,UAAkB,EAClB,GAAW;IAEX,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACrE,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,qEAAqE,EAAE;YAC/E,qBAAqB,EAAE,UAAU,CAAC,EAAE;SACpC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,oEAAoE;IACpE,+DAA+D;IAC/D,sEAAsE;IACtE,mEAAmE;IACnE,uEAAuE;IACvE,EAAE;IACF,qEAAqE;IACrE,kEAAkE;IAClE,kDAAkD;IAClD,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,8BAA8B;IAC9B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,yEAAyE,EAAE;YACpF,qBAAqB,EAAE,UAAU,CAAC,EAAE;YACpC,2BAA2B,EAAE,UAAU;SACvC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,SAAS;QACT,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC;QACvC,+DAA+D;QAC/D,kDAAkD;QAClD,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;KACtC,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,UAA8B,EAC9B,SAAuC,EACvC,GAAW;IAEX,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACrE,MAAM,KAAK,GAAG,SAAS,EAAE,SAAS,CAAA;IAClC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3D,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAC7D,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QACvF,OAAO,IAAI,CAAA;IAEZ,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAElC,GAAG,CAAC,IAAI,CAAC,mEAAmE,EAAE;QAC7E,qBAAqB,EAAE,UAAU,CAAC,EAAE;QACpC,yBAAyB,EAAE,IAAI,CAAC,MAAM;QACtC,qBAAqB,EAAE,KAAK,CAAC,MAAM;QACnC,yBAAyB,EAAE,KAAK;aAC9B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAA;IAEF,OAAO;QACN,sEAAsE;QACtE,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,SAAS;QACT,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC;QACvC,yDAAyD;QACzD,OAAO,EAAE,IAAI,GAAG,EAAE;KAClB,CAAA;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,IAAuB,EACvB,QAAsB,EACtB,QAAsB,EACtB,KAAwB,EACxB,kBAA8B;IAE9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAEhF,6EAA6E;IAC7E,wEAAwE;IACxE,+BAA+B;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAQ;QAC7E,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,EAAE,EACP,sCAAsC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,gDAAgD,EAAE,CACrH,CAAA;IACF,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CACpE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvD,CAAA;IACD,MAAM,iBAAiB,GAA2B;QACjD,GAAG,IAAI,CAAC,QAAQ;QAChB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE;KAChE,CAAA;IACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CACzD,iBAAiB,EACjB,IAAI,CAAC,eAAe,CACpB,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;QAC/D,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9F,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,MAAM,GACX,yFAAyF,CAAA;gBAC1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBAC5B,MAAM,QAAQ,CAAC,WAAW,CAAC;oBAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBAC9C,OAAO,EAAE,SAAS;oBAClB,MAAM;iBACN,CAAC,CAAA;gBACF,SAAQ;YACT,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7E,IAAI,MAA0B,CAAA;QAC9B,IAAI,OAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClC,MAAM,GAAG,mDAAmD,OAAO,CAAC,MAAM,EAAE,CAAA;QAC7E,CAAC;aAAM,IAAI,OAAO,EAAE,QAAQ,KAAK,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,GAAG,WAAW;gBACnB,CAAC,CAAC,iHAAiH,OAAO,CAAC,MAAM,EAAE;gBACnI,CAAC,CAAC,iGAAiG,OAAO,CAAC,MAAM,EAAE,CAAA;QACrH,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACzE,MAAM;gBACL,oGAAoG,CAAA;QACtG,CAAC;QAED,MAAM,KAAK,iBAAiB,CAC3B,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,WAAW,EACX,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,EAAE,CACP,CAAA;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC5B,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACnF,OAAO,EAAE,SAAS;gBAClB,MAAM;aACN,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;YACpC,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACnD,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,mEAAmE;aAC3E,CAAC,CAAA;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC;YACxD,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,iEAAiE;aACzE,CAAC,CAAA;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC;YAC1D,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,iEAAiE;aACzE,CAAC,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE;oBACL,MAAM,EAAE,mBAAmB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;iBAC1C;gBACD,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,iEAAiE;aACzE,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,wEAAwE;IACxE,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CACxC,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,KAAK,EACL,aAAa,EACb,IAAI,CAAC,QAAQ,CACb,CAAA;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAA0C,EAC1C,QAAqC,EACrC,WAAoB,EACpB,SAAwC,EACxC,EAAU;IAEV,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,MAAM,OAAO,GACZ,4JAA4J,CAAA;IAC7J,IAAI,CAAC,QAAQ,IAAI,WAAW;QAAE,OAAO,OAAO,CAAA;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAA;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAA;IAC3D,CAAC;IACD,IACC,UAAU,CAAC,gBAAgB,KAAK,SAAS;QACzC,KAAK,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,EACtD,CAAC;QACF,OAAO,OAAO,CAAA;IACf,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,8IAA8I,CAAA;IACtJ,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc;QAAE,OAAO,IAAI,GAAG,EAAE,CAAA;IACxD,OAAO,IAAI,GAAG,CACb,QAAQ,CAAC,aAAa;SACpB,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC;SAC1D,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAChD,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,QAAsB,EACtB,SAA8B,EAC9B,GAAW,EACX,UAA8D,EAAE;IAEhE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAA;IACpD,IAAI,QAA2C,CAAA;IAC/C,IAAI,CAAC;QACJ,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,GAAG,MAAM,kBAAkB,CAClC,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,MAAM,EACf,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAChC,OAAO,CAAC,MAAM,CACd,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,KAAK,CAAA;QACxC,GAAG,CAAC,IAAI,CAAC,+DAA+D,EAAE;YACzE,mBAAmB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3E,CAAC,CAAA;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7C,IACC,QAAQ,EAAE,QAAQ;YAClB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EACpF,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,SAAQ,CAAC,4DAA4D;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;wBAC5C,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE;wBACvD,CAAC,CAAC,EAAE,CAAC;iBACN,CAAC,CAAA;gBACF,SAAQ;YACT,CAAC;QACF,CAAC;QACD,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACtF,SAAQ;QACT,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACtB,MAAM,EAAE,mFAAmF,IAAI,CAAC,QAAQ,CAAC,IAAI,sMAAsM;YACnT,OAAO,EAAE,IAAI;SACb,CAAC,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,iEAAiE,EAAE;YAC3E,yBAAyB,EAAE,SAAS,CAAC,IAAI;YACzC,wBAAwB,EAAE,SAAS,CAAC,MAAM;SAC1C,CAAC,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,uFAAuF;AACvF,SAAS,eAAe,CACvB,SAA8B,EAC9B,QAA4B,EAC5B,WAAuC,EAAE;IAEzC,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CACzB,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CACzF,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QAClC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CACjE,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACtB,SAA8B,EAC9B,QAA4B;IAE5B,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,eAAe;YACnB,OAAO,IAAI,GAAG,EAAE,CAAA;QAEjB,KAAK,cAAc,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,IAAI,2BAA2B,CAAA;YAC/D,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACrB,6DAA6D;YAC7D,+DAA+D;YAC/D,iEAAiE;YACjE,0CAA0C;YAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;YACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAA;gBACzD,CAAC;YACF,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,CAAA;oBACzD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;oBAC1D,CAAC;gBACF,CAAC;YACF,CAAC;YACD,OAAO,OAAO,CAAA;QACf,CAAC;QAED;YACC,iEAAiE;YACjE,kEAAkE;YAClE,2CAA2C;YAC3C,OAAO,IAAI,CAAA;IACb,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,SAA2B;IACtD,OAAO;QACN,EAAE,EAAE,UAAU,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,SAAS,EAAE;QACzD,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC9B;QACD,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE;YACN,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;SACnB;KACD,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAChE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE,CAAA;AAChE,CAAC;AAED,SAAS,mBAAmB,CAC3B,QAA4B;IAE5B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW;YAAE,SAAQ;QACvC,MAAM,SAAS,GAAG,GAAuB,CAAA;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAE1C,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAClC,KAAK,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;YACpC,IAAI,MAAM,EAAE,IAAI,KAAK,MAAM;gBAAE,MAAK;YAClC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;QAC3D,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC"}
|
|
@@ -147,6 +147,22 @@ export declare const REQUIRES_APPROVAL_UNATTENDED_REFUSAL = "Refused: a call in
|
|
|
147
147
|
* "unattended allow" for this.
|
|
148
148
|
*/
|
|
149
149
|
export declare const UNKNOWN_PROGRAM_UNATTENDED_REFUSAL = "Refused: a call in this batch runs a command whose own program name is decided at runtime (a substitution or a variable stands for it), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Write the program name literally; compute what needs computing in the arguments instead.";
|
|
150
|
+
/**
|
|
151
|
+
* What the model is told when a batch writes a protected path (a git hook, a
|
|
152
|
+
* shell rc file, editor or tool configuration, the project's `.namzu`
|
|
153
|
+
* directory) and nobody can be asked.
|
|
154
|
+
*
|
|
155
|
+
* Refused in every mode, `auto` included: a write there runs later, outside
|
|
156
|
+
* the turn, with the operator's rights, so an answer given before the call
|
|
157
|
+
* existed (a mode, a rule, "approve all") is not an answer about it.
|
|
158
|
+
*/
|
|
159
|
+
export declare const PROTECTED_PATH_UNATTENDED_REFUSAL = "Refused: a call in this batch writes a protected path (a git hook or config, a shell startup file, editor or tool configuration, or the project's .namzu directory), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Leave those files alone, or tell the user what change you need so they can make it.";
|
|
160
|
+
/**
|
|
161
|
+
* What the model is told when a batch removes something catastrophic (the
|
|
162
|
+
* root, the home directory, the working directory or a parent of it, a glob
|
|
163
|
+
* across directories, a target a variable may empty) and nobody can be asked.
|
|
164
|
+
*/
|
|
165
|
+
export declare const DANGEROUS_REMOVAL_UNATTENDED_REFUSAL = "Refused: a call in this batch removes something this check treats as catastrophic (the file system root, a top-level or home directory, the working directory or a parent of it, a glob across directories, or a target a variable or substitution may leave empty), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Name the exact directory to remove with a literal path.";
|
|
150
166
|
/**
|
|
151
167
|
* What the model is told when a batch would show it the operator's screen for
|
|
152
168
|
* the first time in a session and nobody can be asked.
|
|
@@ -254,6 +270,16 @@ export interface ReviewPolicyOptions {
|
|
|
254
270
|
* `capturesScreen` declaration, read from `registry`; nothing without one.
|
|
255
271
|
*/
|
|
256
272
|
readonly capturesScreen?: (name: string, input: unknown) => boolean;
|
|
273
|
+
/**
|
|
274
|
+
* The one write `plan` mode lets through: a host that gives plan mode a plan
|
|
275
|
+
* file says here which call writes it. In `plan`, a call this accepts is not
|
|
276
|
+
* a change — it is neither refused nor asked about — unless a rule asked to
|
|
277
|
+
* review it, in which case it is put to the person like a read outside the
|
|
278
|
+
* roots. Every other write stays refused. Omitted (the default), `plan`
|
|
279
|
+
* refuses every change, as it always has; the option does nothing in any
|
|
280
|
+
* other mode.
|
|
281
|
+
*/
|
|
282
|
+
readonly planModeWrite?: (call: ToolCallSummary) => boolean;
|
|
257
283
|
}
|
|
258
284
|
/** The handler behind `createReviewPolicy`, for a host that wants only the function. */
|
|
259
285
|
export declare function createReviewHandler(options?: ReviewPolicyOptions): ResumeHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-policy.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/review-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAEX,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGnE,MAAM,MAAM,UAAU;AACrB,6DAA6D;AAC3D,QAAQ;AACV,gGAAgG;GAC9F,MAAM;AACR;;;;;;;;;;GAUG;GACD,cAAc;AAChB;;;;;;;;;GASG;GACD,MAAM;AACR;;;;GAIG;GACD,QAAQ,CAAA;AAEX,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAM7C,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,6MACsK,CAAA;AAEtM,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAA8B,CAAA;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAInD,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,UAAU,CAAC,EAC/C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACZ,OAAO,CAOT;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;AAEvE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,MAAM,EAAE,eAAe,GACrB,OAAO,CAST;AAoBD;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,uQACuN,CAAA;AAErQ;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,kWACmT,CAAA;AAEhW;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,iTAC8P,CAAA;AAE/S;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,uVACsS,CAAA;AAErV;;;GAGG;AACH,eAAO,MAAM,iCAAiC,+QAC+N,CAAA;AAE7Q,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,8KAC+H,CAAA;AAE5K;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B;
|
|
1
|
+
{"version":3,"file":"review-policy.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/review-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,6 +148,22 @@ export const REQUIRES_APPROVAL_UNATTENDED_REFUSAL = "Refused: a call in this bat
|
|
|
148
148
|
* "unattended allow" for this.
|
|
149
149
|
*/
|
|
150
150
|
export const UNKNOWN_PROGRAM_UNATTENDED_REFUSAL = 'Refused: a call in this batch runs a command whose own program name is decided at runtime (a substitution or a variable stands for it), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Write the program name literally; compute what needs computing in the arguments instead.';
|
|
151
|
+
/**
|
|
152
|
+
* What the model is told when a batch writes a protected path (a git hook, a
|
|
153
|
+
* shell rc file, editor or tool configuration, the project's `.namzu`
|
|
154
|
+
* directory) and nobody can be asked.
|
|
155
|
+
*
|
|
156
|
+
* Refused in every mode, `auto` included: a write there runs later, outside
|
|
157
|
+
* the turn, with the operator's rights, so an answer given before the call
|
|
158
|
+
* existed (a mode, a rule, "approve all") is not an answer about it.
|
|
159
|
+
*/
|
|
160
|
+
export const PROTECTED_PATH_UNATTENDED_REFUSAL = "Refused: a call in this batch writes a protected path (a git hook or config, a shell startup file, editor or tool configuration, or the project's .namzu directory), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Leave those files alone, or tell the user what change you need so they can make it.";
|
|
161
|
+
/**
|
|
162
|
+
* What the model is told when a batch removes something catastrophic (the
|
|
163
|
+
* root, the home directory, the working directory or a parent of it, a glob
|
|
164
|
+
* across directories, a target a variable may empty) and nobody can be asked.
|
|
165
|
+
*/
|
|
166
|
+
export const DANGEROUS_REMOVAL_UNATTENDED_REFUSAL = 'Refused: a call in this batch removes something this check treats as catastrophic (the file system root, a top-level or home directory, the working directory or a parent of it, a glob across directories, or a target a variable or substitution may leave empty), which needs a person to approve it each time, and nobody can be asked in this session. Nothing in this batch ran. Name the exact directory to remove with a literal path.';
|
|
151
167
|
/**
|
|
152
168
|
* What the model is told when a batch would show it the operator's screen for
|
|
153
169
|
* the first time in a session and nobody can be asked.
|
|
@@ -155,6 +171,17 @@ export const UNKNOWN_PROGRAM_UNATTENDED_REFUSAL = 'Refused: a call in this batch
|
|
|
155
171
|
export const SCREEN_CONSENT_UNATTENDED_REFUSAL = "Refused: this call would send what is on the user's screen to the model provider, which a person agrees to once per session, and nobody can be asked in this session. Nothing in this batch ran. Tell the user computer use needs their consent in an interactive session.";
|
|
156
172
|
/** What the model is told when the operator declines to share the screen. */
|
|
157
173
|
export const SCREEN_CONSENT_DECLINED_FEEDBACK = 'The user declined to share their screen in this session. Nothing in this batch ran. Do not take screenshots or read windows again; ask the user how they want to proceed.';
|
|
174
|
+
/** Whether the call writes a protected path or removes something catastrophic. */
|
|
175
|
+
function reachesAFloor(tc) {
|
|
176
|
+
return ((tc.escalation?.protectedPaths?.length ?? 0) > 0 ||
|
|
177
|
+
tc.escalation?.dangerousRemoval !== undefined);
|
|
178
|
+
}
|
|
179
|
+
/** The refusal for a batch that reaches a floor and cannot be asked about it. */
|
|
180
|
+
function floorRefusal(toolCalls) {
|
|
181
|
+
return toolCalls.some((tc) => (tc.escalation?.protectedPaths?.length ?? 0) > 0)
|
|
182
|
+
? PROTECTED_PATH_UNATTENDED_REFUSAL
|
|
183
|
+
: DANGEROUS_REMOVAL_UNATTENDED_REFUSAL;
|
|
184
|
+
}
|
|
158
185
|
/**
|
|
159
186
|
* Whether a skill's `allowed-tools` grant may stand in for a person on this
|
|
160
187
|
* call: the kernel marked it, and nothing that outranks a skill is present.
|
|
@@ -169,6 +196,20 @@ function isSkillGranted(tc) {
|
|
|
169
196
|
tc.escalation === undefined &&
|
|
170
197
|
tc.requiresApproval !== true);
|
|
171
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Whether a `pre_tool_use` hook's `allow` may stand in for a person on this
|
|
201
|
+
* call. The same bar as a skill's grant, repeated here so that a mark on a
|
|
202
|
+
* persisted or host-built summary cannot carry more than the kernel gave it.
|
|
203
|
+
*/
|
|
204
|
+
function isHookGranted(tc) {
|
|
205
|
+
return (tc.hookGrant !== undefined &&
|
|
206
|
+
tc.hookPermission?.decision !== 'ask' &&
|
|
207
|
+
!tc.authorization?.explicitReview &&
|
|
208
|
+
tc.authorization?.decision !== 'deny' &&
|
|
209
|
+
!tc.isDestructive &&
|
|
210
|
+
tc.escalation === undefined &&
|
|
211
|
+
tc.requiresApproval !== true);
|
|
212
|
+
}
|
|
172
213
|
/** The handler behind `createReviewPolicy`, for a host that wants only the function. */
|
|
173
214
|
export function createReviewHandler(options = {}) {
|
|
174
215
|
const { prompt, registry } = options;
|
|
@@ -228,7 +269,13 @@ export function createReviewHandler(options = {}) {
|
|
|
228
269
|
remembered.all = true;
|
|
229
270
|
answered = answer;
|
|
230
271
|
}
|
|
231
|
-
|
|
272
|
+
// The plan file, in `plan`: the one write that is not a change. A rule
|
|
273
|
+
// that asked for review keeps the call in the batch, so it is asked.
|
|
274
|
+
const isPlanFileWrite = (tc) => mode === 'plan' &&
|
|
275
|
+
options.planModeWrite?.(tc) === true &&
|
|
276
|
+
tc.authorization?.decision !== 'deny';
|
|
277
|
+
const reviewable = request.toolCalls.filter((tc) => !(isPlanFileWrite(tc) && !tc.authorization?.explicitReview));
|
|
278
|
+
if (!batchNeedsReview(reviewable, exempt)) {
|
|
232
279
|
return { action: 'approve_tools' };
|
|
233
280
|
}
|
|
234
281
|
// A batch of nothing but non-destructive file edits is the case
|
|
@@ -251,7 +298,8 @@ export function createReviewHandler(options = {}) {
|
|
|
251
298
|
// to do, and the question such a path gets is the same in every mode that
|
|
252
299
|
// lets reads run. It goes on to that question below; `strict` still
|
|
253
300
|
// refuses it, since no rule can approve a path outside the roots.
|
|
254
|
-
if (mode === 'plan' &&
|
|
301
|
+
if (mode === 'plan' &&
|
|
302
|
+
!onlyReadsOutsideRoots(reviewable.filter((tc) => !isPlanFileWrite(tc)), exempt)) {
|
|
255
303
|
return { action: 'reject_tools', feedback: PLAN_MODE_REFUSAL };
|
|
256
304
|
}
|
|
257
305
|
if (mode === 'strict')
|
|
@@ -273,6 +321,9 @@ export function createReviewHandler(options = {}) {
|
|
|
273
321
|
// This opt-in confirms only the sandbox escape. A different call in
|
|
274
322
|
// the batch, or another boundary on this same call, still needs a
|
|
275
323
|
// person; the early return must not approve that boundary too.
|
|
324
|
+
if (request.toolCalls.some(reachesAFloor)) {
|
|
325
|
+
return { action: 'reject_tools', feedback: floorRefusal(request.toolCalls) };
|
|
326
|
+
}
|
|
276
327
|
if (request.toolCalls.some((tc) => (tc.escalation?.outsidePaths?.length ?? 0) > 0)) {
|
|
277
328
|
return { action: 'reject_tools', feedback: OUTSIDE_ROOTS_UNATTENDED_REFUSAL };
|
|
278
329
|
}
|
|
@@ -298,6 +349,26 @@ export function createReviewHandler(options = {}) {
|
|
|
298
349
|
remembered.all = true;
|
|
299
350
|
return { action: 'approve_tools', confirmedEscalations: escapes };
|
|
300
351
|
}
|
|
352
|
+
// A write to a protected path, or a removal of something catastrophic,
|
|
353
|
+
// is a question for a person, every time, in every mode that got this
|
|
354
|
+
// far: `auto` and a remembered "approve all" were answers given before
|
|
355
|
+
// the call existed. With nobody to ask it is refused, not approved.
|
|
356
|
+
if (request.toolCalls.some(reachesAFloor)) {
|
|
357
|
+
if (!prompt)
|
|
358
|
+
return { action: 'reject_tools', feedback: floorRefusal(request.toolCalls) };
|
|
359
|
+
const answer = await ask();
|
|
360
|
+
if (answer.kind === 'reject') {
|
|
361
|
+
return {
|
|
362
|
+
action: 'reject_tools',
|
|
363
|
+
feedback: answer.feedback ?? DECLINED_TOOL_CALL_FEEDBACK,
|
|
364
|
+
...(answer.declined ? { declined: answer.declined } : {}),
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
// Latches for the ordinary calls that follow, never for the next floor.
|
|
368
|
+
if (answer.kind === 'approve-all')
|
|
369
|
+
remembered.all = true;
|
|
370
|
+
return { action: 'approve_tools' };
|
|
371
|
+
}
|
|
301
372
|
// A path outside the roots is a question for a person, every time,
|
|
302
373
|
// like an escape: `auto` and a remembered "approve all" were answers
|
|
303
374
|
// given about tools, before this path was named, and neither saw it.
|
|
@@ -375,13 +446,16 @@ export function createReviewHandler(options = {}) {
|
|
|
375
446
|
tc.escalation !== undefined ||
|
|
376
447
|
!(exempt(tc.name, tc.input) ||
|
|
377
448
|
(mode === 'accept-edits' && ACCEPT_EDITS_TOOLS.has(tc.name))));
|
|
449
|
+
const skillsHonoured = options.skillGrants !== 'ignore';
|
|
378
450
|
if (answered === undefined &&
|
|
379
|
-
options.skillGrants !== 'ignore' &&
|
|
380
451
|
needsPerson.length > 0 &&
|
|
381
|
-
needsPerson.every(isSkillGranted)) {
|
|
452
|
+
needsPerson.every((tc) => isHookGranted(tc) || (skillsHonoured && isSkillGranted(tc)))) {
|
|
453
|
+
const byHook = needsPerson.filter(isHookGranted).map((tc) => tc.id);
|
|
454
|
+
const bySkill = needsPerson.filter((tc) => !isHookGranted(tc)).map((tc) => tc.id);
|
|
382
455
|
return {
|
|
383
456
|
action: 'approve_tools',
|
|
384
|
-
skillGranted:
|
|
457
|
+
...(bySkill.length > 0 ? { skillGranted: bySkill } : {}),
|
|
458
|
+
...(byHook.length > 0 ? { hookGranted: byHook } : {}),
|
|
385
459
|
};
|
|
386
460
|
}
|
|
387
461
|
const answer = await ask();
|