@namzu/sdk 52.3.0 → 52.5.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.
Files changed (176) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/authorization/gate.d.ts +11 -0
  3. package/dist/authorization/gate.d.ts.map +1 -1
  4. package/dist/authorization/gate.js +35 -0
  5. package/dist/authorization/gate.js.map +1 -1
  6. package/dist/authorization/removal.js +11 -6
  7. package/dist/authorization/removal.js.map +1 -1
  8. package/dist/authorization/rules.d.ts.map +1 -1
  9. package/dist/authorization/rules.js +30 -2
  10. package/dist/authorization/rules.js.map +1 -1
  11. package/dist/authorization/shell-paths.d.ts +20 -0
  12. package/dist/authorization/shell-paths.d.ts.map +1 -1
  13. package/dist/authorization/shell-paths.js +254 -52
  14. package/dist/authorization/shell-paths.js.map +1 -1
  15. package/dist/bridge/acp/server.d.ts +8 -0
  16. package/dist/bridge/acp/server.d.ts.map +1 -1
  17. package/dist/bridge/acp/server.js +7 -0
  18. package/dist/bridge/acp/server.js.map +1 -1
  19. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  20. package/dist/connector/web/guarded-fetch.js +44 -0
  21. package/dist/connector/web/guarded-fetch.js.map +1 -1
  22. package/dist/manager/resident/outbox.d.ts +4 -4
  23. package/dist/process/kill-tree.d.ts +3 -2
  24. package/dist/process/kill-tree.d.ts.map +1 -1
  25. package/dist/process/kill-tree.js.map +1 -1
  26. package/dist/public-runtime.d.ts +3 -2
  27. package/dist/public-runtime.d.ts.map +1 -1
  28. package/dist/public-runtime.js +4 -1
  29. package/dist/public-runtime.js.map +1 -1
  30. package/dist/public-tools.d.ts +2 -1
  31. package/dist/public-tools.d.ts.map +1 -1
  32. package/dist/public-tools.js +1 -1
  33. package/dist/public-tools.js.map +1 -1
  34. package/dist/public-types.d.ts +1 -0
  35. package/dist/public-types.d.ts.map +1 -1
  36. package/dist/runtime/jobs/registry.d.ts +80 -2
  37. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  38. package/dist/runtime/jobs/registry.js +70 -5
  39. package/dist/runtime/jobs/registry.js.map +1 -1
  40. package/dist/runtime/jobs/websocket-source.d.ts +120 -0
  41. package/dist/runtime/jobs/websocket-source.d.ts.map +1 -0
  42. package/dist/runtime/jobs/websocket-source.js +379 -0
  43. package/dist/runtime/jobs/websocket-source.js.map +1 -0
  44. package/dist/runtime/query/auto-review/classifier.d.ts +130 -0
  45. package/dist/runtime/query/auto-review/classifier.d.ts.map +1 -0
  46. package/dist/runtime/query/auto-review/classifier.js +244 -0
  47. package/dist/runtime/query/auto-review/classifier.js.map +1 -0
  48. package/dist/runtime/query/auto-review/index.d.ts +7 -0
  49. package/dist/runtime/query/auto-review/index.d.ts.map +1 -0
  50. package/dist/runtime/query/auto-review/index.js +4 -0
  51. package/dist/runtime/query/auto-review/index.js.map +1 -0
  52. package/dist/runtime/query/auto-review/prompt.d.ts +20 -0
  53. package/dist/runtime/query/auto-review/prompt.d.ts.map +1 -0
  54. package/dist/runtime/query/auto-review/prompt.js +89 -0
  55. package/dist/runtime/query/auto-review/prompt.js.map +1 -0
  56. package/dist/runtime/query/auto-review/rules.d.ts +49 -0
  57. package/dist/runtime/query/auto-review/rules.d.ts.map +1 -0
  58. package/dist/runtime/query/auto-review/rules.js +81 -0
  59. package/dist/runtime/query/auto-review/rules.js.map +1 -0
  60. package/dist/runtime/query/auto-review/transcript.d.ts +59 -0
  61. package/dist/runtime/query/auto-review/transcript.d.ts.map +1 -0
  62. package/dist/runtime/query/auto-review/transcript.js +116 -0
  63. package/dist/runtime/query/auto-review/transcript.js.map +1 -0
  64. package/dist/runtime/query/auto-review/verdict.d.ts +21 -0
  65. package/dist/runtime/query/auto-review/verdict.d.ts.map +1 -0
  66. package/dist/runtime/query/auto-review/verdict.js +45 -0
  67. package/dist/runtime/query/auto-review/verdict.js.map +1 -0
  68. package/dist/runtime/query/executor.d.ts +7 -0
  69. package/dist/runtime/query/executor.d.ts.map +1 -1
  70. package/dist/runtime/query/executor.js +26 -2
  71. package/dist/runtime/query/executor.js.map +1 -1
  72. package/dist/runtime/query/index.js +2 -2
  73. package/dist/runtime/query/index.js.map +1 -1
  74. package/dist/runtime/query/iteration/phases/context.d.ts +0 -9
  75. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  76. package/dist/runtime/query/iteration/phases/context.js +11 -2
  77. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  78. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  79. package/dist/runtime/query/iteration/phases/tool-review.js +39 -0
  80. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  81. package/dist/runtime/query/path-escalation.d.ts.map +1 -1
  82. package/dist/runtime/query/path-escalation.js +43 -10
  83. package/dist/runtime/query/path-escalation.js.map +1 -1
  84. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  85. package/dist/runtime/query/resume-pending.js +14 -0
  86. package/dist/runtime/query/resume-pending.js.map +1 -1
  87. package/dist/runtime/query/review-policy.d.ts +88 -1
  88. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  89. package/dist/runtime/query/review-policy.js +504 -11
  90. package/dist/runtime/query/review-policy.js.map +1 -1
  91. package/dist/runtime/query/steering.d.ts +2 -2
  92. package/dist/runtime/query/steering.d.ts.map +1 -1
  93. package/dist/runtime/query/steering.js +16 -3
  94. package/dist/runtime/query/steering.js.map +1 -1
  95. package/dist/tools/builtins/bash.d.ts.map +1 -1
  96. package/dist/tools/builtins/bash.js +2 -0
  97. package/dist/tools/builtins/bash.js.map +1 -1
  98. package/dist/tools/builtins/classifier-input.d.ts +9 -0
  99. package/dist/tools/builtins/classifier-input.d.ts.map +1 -0
  100. package/dist/tools/builtins/classifier-input.js +20 -0
  101. package/dist/tools/builtins/classifier-input.js.map +1 -0
  102. package/dist/tools/builtins/code-analysis.d.ts +2 -0
  103. package/dist/tools/builtins/code-analysis.d.ts.map +1 -1
  104. package/dist/tools/builtins/code-analysis.js +196 -119
  105. package/dist/tools/builtins/code-analysis.js.map +1 -1
  106. package/dist/tools/builtins/computer-use.d.ts +10 -10
  107. package/dist/tools/builtins/edit.d.ts.map +1 -1
  108. package/dist/tools/builtins/edit.js +12 -0
  109. package/dist/tools/builtins/edit.js.map +1 -1
  110. package/dist/tools/builtins/monitor.d.ts +38 -4
  111. package/dist/tools/builtins/monitor.d.ts.map +1 -1
  112. package/dist/tools/builtins/monitor.js +239 -97
  113. package/dist/tools/builtins/monitor.js.map +1 -1
  114. package/dist/tools/builtins/web.d.ts.map +1 -1
  115. package/dist/tools/builtins/web.js +3 -0
  116. package/dist/tools/builtins/web.js.map +1 -1
  117. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  118. package/dist/tools/builtins/write-file.js +6 -0
  119. package/dist/tools/builtins/write-file.js.map +1 -1
  120. package/dist/tools/defineTool.d.ts +2 -0
  121. package/dist/tools/defineTool.d.ts.map +1 -1
  122. package/dist/tools/defineTool.js +1 -0
  123. package/dist/tools/defineTool.js.map +1 -1
  124. package/dist/types/acp/index.d.ts +7 -0
  125. package/dist/types/acp/index.d.ts.map +1 -1
  126. package/dist/types/code-analysis/index.d.ts +54 -3
  127. package/dist/types/code-analysis/index.d.ts.map +1 -1
  128. package/dist/types/hitl/index.d.ts +45 -1
  129. package/dist/types/hitl/index.d.ts.map +1 -1
  130. package/dist/types/hitl/index.js.map +1 -1
  131. package/dist/types/sandbox/index.d.ts +10 -0
  132. package/dist/types/sandbox/index.d.ts.map +1 -1
  133. package/dist/types/sandbox/index.js.map +1 -1
  134. package/dist/types/tool/index.d.ts +51 -0
  135. package/dist/types/tool/index.d.ts.map +1 -1
  136. package/dist/types/tool/index.js.map +1 -1
  137. package/package.json +4 -2
  138. package/src/authorization/gate.ts +35 -0
  139. package/src/authorization/removal.ts +12 -6
  140. package/src/authorization/rules.ts +27 -2
  141. package/src/authorization/shell-paths.ts +264 -51
  142. package/src/bridge/acp/server.ts +20 -0
  143. package/src/connector/web/guarded-fetch.ts +41 -0
  144. package/src/process/kill-tree.ts +4 -2
  145. package/src/public-runtime.ts +19 -1
  146. package/src/public-tools.ts +3 -0
  147. package/src/public-types.ts +11 -0
  148. package/src/runtime/jobs/registry.ts +162 -13
  149. package/src/runtime/jobs/websocket-source.ts +438 -0
  150. package/src/runtime/query/auto-review/classifier.ts +404 -0
  151. package/src/runtime/query/auto-review/index.ts +23 -0
  152. package/src/runtime/query/auto-review/prompt.ts +97 -0
  153. package/src/runtime/query/auto-review/rules.ts +106 -0
  154. package/src/runtime/query/auto-review/transcript.ts +159 -0
  155. package/src/runtime/query/auto-review/verdict.ts +50 -0
  156. package/src/runtime/query/executor.ts +29 -2
  157. package/src/runtime/query/index.ts +2 -2
  158. package/src/runtime/query/iteration/phases/context.ts +17 -3
  159. package/src/runtime/query/iteration/phases/tool-review.ts +41 -0
  160. package/src/runtime/query/path-escalation.ts +44 -9
  161. package/src/runtime/query/resume-pending.ts +14 -0
  162. package/src/runtime/query/review-policy.ts +591 -14
  163. package/src/runtime/query/steering.ts +32 -6
  164. package/src/tools/builtins/bash.ts +3 -0
  165. package/src/tools/builtins/classifier-input.ts +19 -0
  166. package/src/tools/builtins/code-analysis.ts +211 -119
  167. package/src/tools/builtins/edit.ts +13 -0
  168. package/src/tools/builtins/monitor.ts +297 -123
  169. package/src/tools/builtins/web.ts +3 -0
  170. package/src/tools/builtins/write-file.ts +6 -0
  171. package/src/tools/defineTool.ts +3 -0
  172. package/src/types/acp/index.ts +7 -0
  173. package/src/types/code-analysis/index.ts +51 -3
  174. package/src/types/hitl/index.ts +49 -1
  175. package/src/types/sandbox/index.ts +10 -0
  176. package/src/types/tool/index.ts +44 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # Changelog
2
2
 
3
+ ## 52.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9521ea8: The `code_analysis` tool prints compactly and carries what `@namzu/analysis` now knows. Fifty `find_literal` hits on a 2,434-file bundle go from about 5.6k tokens to about 1k: paths are relative to the root and printed once per file, a function is `Svc.init#12 L10-40`, and text-only or `call/apply/bind` callers are labelled. **The `code_analysis` tool's text output format changed.** The one-line-per-hit form with absolute paths (`path:line:col kind "value" in name [kind, id N] path…`) is replaced by the compact form, and with more than one root in the turn the output begins with `paths are relative to <root>`. Anything that parses the old text needs the new shape; the structured `data` is unchanged except for the additions below. A path under a directory named like `..x` is now printed relative, not absolute.
8
+
9
+ Additive, but two result unions are wider, so an exhaustive `switch` over them needs a new arm: `AnalysisCallSite.kind` gains `'call-via'` and `'tagged'`, and an export `AnalysisModuleEdge.kind` gains `'type'`, `'commonjs'` and `'assign'`. New optional fields: `AnalysisFunction.qualifiedName`, `AnalysisCallSite.resolution`, `AnalysisSourceSlice.window`, `AnalysisEnclosingFunction.inClass`, `FunctionSourceRequest.around`. The tool's `function_source` takes `line` and `column` to cut a long function around that position, and `callers_of` accepts `Class.method`.
10
+
11
+ - d4a048c: Add the `bypass` and `classify` review modes, a classifier model behind `classify`, and shell file commands in `accept-edits`. `auto` keeps exactly its old meaning, so a headless host changes nothing.
12
+
13
+ - `createReviewPolicy({ mode: 'bypass' })` runs everything except what only a person may answer: a rule or hook that asked for a person (`authorization.askRule`), a catastrophic `rm`, a tool's own `requiresApproval`, a sandbox escape and a call whose safety checks threw. A `deny` rule and the dangerous-pattern floor still refuse before the policy runs. Paths outside the roots, program names nobody can read and protected writes, which `auto` still asks about, are approved. With no `prompt`, whatever would have been asked is refused with its own text.
14
+ - `createReviewPolicy({ mode: 'classify', classifier })` sends the calls `prompt` would ask about to `createAutoReviewClassifier({ provider, model, rules? })`, a two-pass model reviewer (64 then 8192 output tokens) that fails closed on any error, retries at most twice with a 2 to 10 second backoff, reads the person's messages, the agent's prose and each tool call as the tool describes it (`ToolDefinition.classifierInput`, new, defaults to compact JSON), and never reads tool results. Reads, trusted read-only tools, edits inside the roots, the safe-tool list and calls a narrow rule allowed are never sent; an allow rule for a whole shell tool, an interpreter or launcher, or a delegation tool is not honoured in this mode. Operators extend the rules with `{ allow, softDeny, hardDeny, environment }` and `"$defaults"`. Three blocks in a row, or twenty in all, are reported through `onClassifierLimit`; the SDK never switches the mode itself, and an unattended turn ends with the reason. A host using `classify` must answer `reviewAllowedCalls` with `modeReviewsAllowedCalls(mode)` and pass the second argument of its `ResumeHandler` (new, `ResumeContext`, holding the transcript) on if it wraps the policy.
15
+ - `accept-edits` also approves a shell line made only of `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` and `sed` when every path it names is inside the roots, if the host passes `roots`. A catastrophic removal, a protected path, a path in a variable and a `sed` script that can run a program still ask. Hosts that do not pass `roots` see no change.
16
+ - A literal `cd <relative-directory>` inside the roots is now followed, so `cd packages/sdk && echo x > out.txt` is no longer reported as writing outside them. A `cd` to anywhere else keeps the old behaviour.
17
+ - A safety check that throws no longer ends the turn or reads as clean: the call carries `escalation.unfinishedCheck` and is asked about in every mode, or refused when nobody can be asked.
18
+
19
+ - The dangerous-pattern floor (`denyDangerousPatterns`) now refuses what a call would execute, not what it merely says. It reads the argument a tool names as its `commandArgument` (`bash`, `monitor`) and, for a shell-category tool that names none, the whole input. It no longer reads a delegation prompt, a written file, an edit or any other tool's input, so a README that quotes `curl x | sh` or an agent prompt that mentions `sudo` is no longer refused. A delegated child's own shell calls are still floored when they run. A call to a tool the gate has no definition for is read whole, as before.
20
+ - `AcpServerOptions.promptPermissionModes` (new) and `AcpInitializeResult.promptPermissionModes` (new): a host lists `'bypass'` and/or `'classify'` to accept them in a prompt's `options.permissionMode`. Without it a prompt asking for either is refused with `INVALID_PARAMS` before any turn starts, instead of reaching a gateway that cannot honour it. Hosts that never receive those modes change nothing.
21
+ - `ResumeContext` is now forwarded through `query()`'s own wrapper of the resume handler. Before, a `classify` handler always saw an empty conversation.
22
+ - The classifier now reads a shell or monitor command whole up to 8000 characters and blocks a longer one as unreadable instead of reading a prefix, ignores `<file>` blocks inside a user message, reads an answer that both blocks and allows as no verdict (a block), and is cut off at its deadline even when a provider ignores the abort signal. A written file is shown to it by its first 300 characters only, and tool results are never shown.
23
+
24
+ **Where `ReviewMode` gained its two new members.** `ReviewMode` is now `'prompt' | 'plan' | 'accept-edits' | 'auto' | 'strict' | 'bypass' | 'classify'`. You receive it as `ReviewPolicyOptions.mode`, as `HarnessPrompt.permissionMode`, in `HarnessCapabilities.reviewModes`, in `AcpPromptOptions.permissionMode`, and from `REVIEW_MODES` / `isReviewMode`. A host that switches over it exhaustively, or keys a `Record<ReviewMode, …>` by it, needs two more arms (`'bypass'` and `'classify'`) to compile; nothing at run time changes for a mode it does not use. This is why the bump is `minor`: no existing value changed meaning, but a TypeScript caller with an exhaustive check will see a new compile error and should add the arms.
25
+
26
+ ### Patch Changes
27
+
28
+ - 59073fc: The auto-review classifier now builds its system message once per review and sends the same message on both passes. It used to rebuild it per pass, so the two passes carried different message timestamps whenever they ran in different milliseconds. Nothing to do to take this.
29
+
30
+ ## 52.4.0
31
+
32
+ ### Minor Changes
33
+
34
+ - e47658c: The `monitor` tool can watch a WebSocket. Give it `ws: { url, protocols? }` instead of `command`, and each line of each text frame the server sends reaches the model as a monitor event; binary frames are counted, and a close ends the watch. Everything after the source (batching, rationing, expiry, `job kill`) is shared with command monitors.
35
+
36
+ Nothing breaks for an existing caller: `command` is now optional in the tool's input (exactly one of `command` and `ws` is required, and a call with neither or both is refused), and every other new field is optional. `BackgroundJobRegistryRef.startMonitor` is unchanged (it still takes `{ command }`); the WebSocket form is a new, separate, optional method, `BackgroundJobRegistryRef.startWebSocketMonitor({ webSocket })`, also on `bindOwner(...)`. Keeping it apart is deliberate: a host that implements `startMonitor` for commands is never handed an input it was not written for, and one without `startWebSocketMonitor` simply refuses a `ws` call with a plain message. `StartJobParams.spawn` now receives a `JobHost` argument (a `spawn` that ignores it still fits) and may return a new `JobSource` as well as a `JobProcess`; `JobProcess.child` is still a `ChildProcess`, exactly as before, while `JobSource.child` is the structural `JobChild`, which a `ChildProcess` satisfies. `Sandbox.networkPolicy` is a new optional property.
37
+
38
+ A WebSocket monitor connects from the host, outside any sandbox, so it is guarded: it is refused unless the turn has web access (`ToolContext.web.fetch`), the host name resolves only to public addresses (all answers are checked and the socket is then pinned to them), and a sandbox that blocks the network lists the host in `networkPolicy.allowedHosts`. It always needs a person's approval (`requiresApproval`), in every mode, and a permission rule written for commands cannot allow it. A host that mounts the tool and wants WebSocket monitors available must give the turn a web capability; one that does not gets a plain refusal.
39
+
40
+ `ws@8.21.3` is a new runtime dependency of `@namzu/sdk`, loaded only when the first WebSocket monitor starts. `createMonitorTool(options)` and `MonitorToolOptions` are exported for tests that need a server on the local machine, and for a host to pass `webAccessHint`, one sentence appended to the refusal a WebSocket call gets while web access is off so the operator is told how to turn it on. What the server says (a close reason, an error message) reaches the model only inside the untrusted frame, never on an envelope's `summary:`, `source:` or `more:` line.
41
+
42
+ `web_fetch` shares the address check and now refuses more: a host that resolves to `100.64.0.0/10` (shared address space, which some clouds use for internal services), `198.18.0.0/15`, `192.0.0.0/24`, IPv4-compatible `::/96`, site-local `fec0::/10`, or to a NAT64 (`64:ff9b::/96`), 6to4 (`2002::/16`) or IPv4-translated address whose embedded IPv4 is private, is refused as an address inside the host. A fetch to a server reached only through one of those ranges needs `allowPrivateAddresses` on `GuardedFetchConfig`.
43
+
3
44
  ## 52.3.0
4
45
 
5
46
  ### Minor Changes
@@ -50,4 +50,15 @@ export declare class AuthorizationGate {
50
50
  constructor(config: AuthorizationGateConfig, log: Logger);
51
51
  evaluate(ctx: ToolCallContext): GateEvaluationResult;
52
52
  }
53
+ /**
54
+ * How wide an `allow` rule is, for the review modes that must not let a broad
55
+ * rule stand in for a closer look.
56
+ *
57
+ * `tool` for a rule that names a whole tool, a category, a tier or a source, or
58
+ * a pattern that matches every input; `pattern` for any other allow, a
59
+ * predicate included (it decides some inputs only). `undefined` for a rule that
60
+ * does not allow, and for the read-only allowance, which is about what a call
61
+ * does and not about which tool it is.
62
+ */
63
+ export declare function allowRuleScope(rule: AuthorizationRule | null): 'tool' | 'pattern' | undefined;
53
64
  //# sourceMappingURL=gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/authorization/gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAAA;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAA;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAG,MAAM,CA6D/F;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM;IAiHxD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,oBAAoB;CAqEpD"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/authorization/gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAAA;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAA;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAG,MAAM,CA6D/F;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM;IAiHxD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,oBAAoB;CAqEpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAkB7F"}
@@ -249,4 +249,39 @@ export class AuthorizationGate {
249
249
  return result;
250
250
  }
251
251
  }
252
+ /**
253
+ * How wide an `allow` rule is, for the review modes that must not let a broad
254
+ * rule stand in for a closer look.
255
+ *
256
+ * `tool` for a rule that names a whole tool, a category, a tier or a source, or
257
+ * a pattern that matches every input; `pattern` for any other allow, a
258
+ * predicate included (it decides some inputs only). `undefined` for a rule that
259
+ * does not allow, and for the read-only allowance, which is about what a call
260
+ * does and not about which tool it is.
261
+ */
262
+ export function allowRuleScope(rule) {
263
+ if (rule === null)
264
+ return undefined;
265
+ switch (rule.type) {
266
+ case 'allow_by_name':
267
+ case 'allow_by_category':
268
+ case 'allow_by_tier':
269
+ return 'tool';
270
+ case 'by_source':
271
+ return rule.decision === 'allow' ? 'tool' : undefined;
272
+ case 'argument_pattern':
273
+ case 'custom_pattern':
274
+ if (rule.decision !== 'allow')
275
+ return undefined;
276
+ return matchesEverything(rule.pattern) ? 'tool' : 'pattern';
277
+ case 'predicate':
278
+ return 'pattern';
279
+ default:
280
+ return undefined;
281
+ }
282
+ }
283
+ /** Whether a pattern accepts any text at all: empty, `*`, `.*`, `^.*$` and their kin. */
284
+ function matchesEverything(pattern) {
285
+ return /^\^?(?:\.\*|\*|\(\?:\.\*\)|\[\\s\\S\]\*)?\$?$/.test(pattern.trim());
286
+ }
252
287
  //# sourceMappingURL=gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/authorization/gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAQvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAsBzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAuB,EAAE,IAAiC;IACtF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,yBAAyB;YAC7B,OAAO,kFAAkF,CAAA;QAC1F,KAAK,iBAAiB;YACrB,OAAO,yCAAyC,CAAA;QACjD,KAAK,eAAe;YACnB,OAAO,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACxD,KAAK,cAAc;YAClB,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF,CAAA;QACrI,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GACT,IAAI,CAAC,QAAQ,KAAK,MAAM;gBACvB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC3B,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAA;YACd,OAAO,GAAG,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACxD,CAAC;QACD,KAAK,mBAAmB;YACvB,OAAO,wBAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC7D,KAAK,eAAe;YACnB,OAAO,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACpD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACzB,iEAAiE;YACjE,mEAAmE;YACnE,2DAA2D;YAC3D,MAAM,IAAI,GACT,IAAI,CAAC,QAAQ,KAAK,MAAM;gBACvB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC3B,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAA;YACd,OAAO,GAAG,IAAI,kBAAkB,IAAI,CAAC,QAAQ,uBAAuB,IAAI,CAAC,OAAO,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACvI,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;YACxE,MAAM,IAAI,GACT,IAAI,CAAC,QAAQ,KAAK,MAAM;gBACvB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC3B,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAA;YACd,OAAO,GAAG,IAAI,mCAAmC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1E,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,WAAW,CAAA;YAC9E,4DAA4D;YAC5D,sDAAsD;YACtD,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAA;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC,WAAW,CAAA;YACxB,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAU,IAAI,CAAA;YAC9B,OAAO,iCAAiC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAA;QACrE,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,OAAO,iBAAiB;IACZ,KAAK,CAAqB;IAC1B,gBAAgB,CAAqB;IACrC,QAAQ,CAA0B;IAClC,GAAG,CAAQ;IACX,YAAY,CAAS;IACrB,OAAO,CAAS;IAEjC,YAAY,MAA+B,EAAE,GAAW;QACvD,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE7B,MAAM,aAAa,GAAwB,EAAE,CAAA;QAE7C,qEAAqE;QACrE,mDAAmD;QACnD,EAAE;QACF,qEAAqE;QACrE,uEAAuE;QACvE,EAAE;QACF,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,sDAAsD;QACtD,EAAE;QACF,qEAAqE;QACrE,uEAAuE;QACvE,mDAAmD;QACnD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACxD,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAEnC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/B,aAAa,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,iBAAiB;gBACvB,GAAG,CAAC,MAAM,CAAC,8BAA8B;oBACxC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,8BAA8B,EAAE;oBAC9D,CAAC,CAAC,EAAE,CAAC;aACN,CAAC,CAAA;QACH,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,aAAa,CAAA;QAE1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAEnB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;oBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE;wBAC5D,2BAA2B,EAAE,CAAC;wBAC9B,4BAA4B,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBACjD,gCAAgC,EAAE,yBAAyB;qBAC3D,CAAC,CAAA;oBACF,SAAQ;gBACT,CAAC;gBACD,IAAI,CAAC;oBACJ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;gBACvD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBACvD,2BAA2B,EAAE,CAAC;wBAC9B,6BAA6B,EAAE,IAAI,CAAC,OAAO;wBAC3C,mBAAmB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACrE,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,sDAAsD;gBACtD,EAAE;gBACF,+DAA+D;gBAC/D,8DAA8D;gBAC9D,gEAAgE;gBAChE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,gEAAgE;gBAChE,8DAA8D;gBAC9D,wCAAwC;gBACxC,EAAE;gBACF,gEAAgE;gBAChE,4DAA4D;gBAC5D,+DAA+D;gBAC/D,MAAM;gBACN,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;oBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAE;wBAC9D,2BAA2B,EAAE,CAAC;wBAC9B,4BAA4B,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBACjD,gCAAgC,EAAE,yBAAyB;qBAC3D,CAAC,CAAA;oBACF,SAAQ;gBACT,CAAC;gBACD,IAAI,CAAC;oBACJ,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;oBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC9C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE;wBACzD,2BAA2B,EAAE,CAAC;wBAC9B,6BAA6B,EAAE,IAAI,CAAC,OAAO;wBAC3C,mBAAmB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACrE,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;QACF,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,GAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACN,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,eAAe;aACvB,CAAA;QACF,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,MAAM,QAAQ,GAAG,YAAY,CAC5B,IAAI,EACJ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,OAAO,EACX,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EACpB;gBACC,GAAG,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CACD,CAAA;YAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAyB;oBACpC,QAAQ;oBACR,WAAW,EAAE,IAAI;oBACjB,MAAM,EACL,IAAI,CAAC,IAAI,KAAK,WAAW;wBACxB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE;4BACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;4BACtB,SAAS,EAAE,GAAG,CAAC,SAAS;4BACxB,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,qCAAqC;4BACrC,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;yBAC1C,CAAC;wBACH,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;iBACtB,CAAA;gBAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE;wBAC/B,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ;wBAC/B,8BAA8B,EAAE,QAAQ;wBACxC,+BAA+B,EAAE,IAAI,CAAC,IAAI;wBAC1C,gCAAgC,EAAE,CAAC;qBACnC,CAAC,CAAA;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACd,CAAC;QACF,CAAC;QAED,MAAM,MAAM,GAAyB;YACpC,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,wBAAwB;SAChC,CAAA;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACzC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ;gBAC/B,8BAA8B,EAAE,QAAQ;aACxC,CAAC,CAAA;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACd,CAAC;CACD"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/authorization/gate.ts"],"names":[],"mappings":"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"}
@@ -197,6 +197,11 @@ function checkRemoval(removal, scope) {
197
197
  }
198
198
  return undefined;
199
199
  }
200
+ /**
201
+ * A trailing glob that reaches every entry of a directory: `*`, and `.*` for
202
+ * the hidden ones (`rm -rf .*` takes `.git` and every dotfile with it).
203
+ */
204
+ const GLOB_TAIL = /[\\/]\.?\*$/;
200
205
  function checkTarget(program, args, spelled, word, scope) {
201
206
  const expanded = expandTilde(spelled, scope.home);
202
207
  const relative = !isAbsolute(expanded);
@@ -210,14 +215,14 @@ function checkTarget(program, args, spelled, word, scope) {
210
215
  let settled = absolute;
211
216
  for (let previous = ''; previous !== settled;) {
212
217
  previous = settled;
213
- const stripped = settled.replace(/([\\/]\*+)+[\\/]*$/, '') || sep;
218
+ const stripped = settled.replace(/([\\/]\.?\*+)+[\\/]*$/, '') || sep;
214
219
  if (stripped !== settled)
215
220
  settled = /[\\/]/.test(stripped) ? normalize(stripped) : stripped;
216
221
  }
217
222
  // A glob suffix was stripped from the target: the removal reaches what is in it.
218
223
  const globbed = settled !== absolute;
219
224
  const original = expanded;
220
- if (scope.changesDirectory && globbed && relative && /[\\/]\*$/.test(absolute)) {
225
+ if (scope.changesDirectory && globbed && relative && GLOB_TAIL.test(absolute)) {
221
226
  return `${program} ${spelled}: a relative glob after a cd cannot be resolved before the line runs`;
222
227
  }
223
228
  // Where the target sits under the working directory, for the glob depth below.
@@ -233,11 +238,11 @@ function checkTarget(program, args, spelled, word, scope) {
233
238
  (hasParentAfterName(original) ||
234
239
  original.startsWith('~') ||
235
240
  /^[\\/]{2}/.test(original) ||
236
- (relative && /(^|[\\/])\.\.([\\/]|$)/.test(original) && /[\\/]\*$/.test(absolute)) ||
241
+ (relative && /(^|[\\/])\.\.([\\/]|$)/.test(original) && GLOB_TAIL.test(absolute)) ||
237
242
  (program === 'rmdir' &&
238
- /[\\/]\*$/.test(absolute) &&
243
+ GLOB_TAIL.test(absolute) &&
239
244
  args.some((a) => /^--p/.test(a.value) || /^-[a-z]*p/.test(a.value))) ||
240
- (relative && /\*[\\/]+$/.test(original) && /[\\/]\*$/.test(absolute)))) {
245
+ (relative && /\*[\\/]+$/.test(original) && GLOB_TAIL.test(absolute)))) {
241
246
  return `${program} ${spelled}: the target cannot be resolved to a directory before the line runs`;
242
247
  }
243
248
  if (!globbed || !/[*?[]/.test(below)) {
@@ -255,7 +260,7 @@ function checkTarget(program, args, spelled, word, scope) {
255
260
  }
256
261
  }
257
262
  }
258
- if (globbed && /[\\/]\*$/.test(absolute)) {
263
+ if (globbed && GLOB_TAIL.test(absolute)) {
259
264
  const segments = (value) => value.split(/[\\/]+/).filter((s) => s !== '' && s !== '.').length;
260
265
  const crossed = segments(absolute) - segments(settled);
261
266
  const inside = below.split(/[\\/]+/).filter((s) => /[*?[]/.test(s)).length;
@@ -1 +1 @@
1
- {"version":3,"file":"removal.js","sourceRoot":"","sources":["../../src/authorization/removal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"removal.js","sourceRoot":"","sources":["../../src/authorization/removal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/authorization/rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAA;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CACnC;AAED,wBAAgB,YAAY,CAC3B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,OAAO,GAAE,mBAAwB,GAC/B,YAAY,GAAG,IAAI,CAiMrB"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/authorization/rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAA;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CACnC;AA0BD,wBAAgB,YAAY,CAC3B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,OAAO,GAAE,mBAAwB,GAC/B,YAAY,GAAG,IAAI,CAkMrB"}
@@ -2,6 +2,32 @@ import { DANGEROUS_PATTERNS } from '../constants/tools/index.js';
2
2
  import { isTrustedReadOnly } from '../tools/trusted-read-only.js';
3
3
  import { matchesSourceIdGlob } from '../toolsets/source-glob.js';
4
4
  import { decodedCommands, decomposeCommandLine } from './command-line.js';
5
+ /**
6
+ * What the dangerous-pattern floor reads of a call: the text that will be
7
+ * executed, and nothing that merely talks about it.
8
+ *
9
+ * - A tool that names its command argument (`bash`, `monitor`): that argument.
10
+ * - A shell-category tool that does not (an MCP tool that takes `cmd`): the
11
+ * whole serialized input, because there is no telling which field runs.
12
+ * - Any other tool: nothing. A delegation prompt, a file's content, an edit, a
13
+ * fetched page or a memory note can quote `sudo` or `curl … | sh` without
14
+ * running it, and a delegated child's own shell calls are floored when they
15
+ * run. A call with no definition to ask is read whole, as it always was.
16
+ */
17
+ function executedText(toolDef, toolInput) {
18
+ if (toolDef === undefined)
19
+ return JSON.stringify(toolInput) ?? '';
20
+ const argument = toolDef.commandArgument;
21
+ if (argument !== undefined) {
22
+ const value = toolInput?.[argument];
23
+ if (value === undefined || value === null)
24
+ return undefined;
25
+ return typeof value === 'string' ? value : (JSON.stringify(value) ?? '');
26
+ }
27
+ if (toolDef.category === 'shell')
28
+ return JSON.stringify(toolInput) ?? '';
29
+ return undefined;
30
+ }
5
31
  export function evaluateRule(rule, toolName, toolInput, toolDef, compiledPattern, nameSet, options = {}) {
6
32
  // A command line is read for the shell that will run it. Not knowing
7
33
  // which, the reading that holds for every POSIX shell is the safe one.
@@ -35,9 +61,11 @@ export function evaluateRule(rule, toolName, toolInput, toolDef, compiledPattern
35
61
  return 'allow';
36
62
  }
37
63
  case 'deny_dangerous_patterns': {
38
- const serialized = JSON.stringify(toolInput);
64
+ const executed = executedText(toolDef, toolInput);
65
+ if (executed === undefined)
66
+ return null;
39
67
  for (const pattern of DANGEROUS_PATTERNS) {
40
- if (pattern.test(serialized)) {
68
+ if (pattern.test(executed)) {
41
69
  return 'deny';
42
70
  }
43
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/authorization/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/authorization/rules.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export interface ShellInvocation {
29
29
  readonly program: string;
30
30
  /** Its arguments, as the shell passes them. */
31
31
  readonly args: readonly ShellWord[];
32
+ /** The redirections written on this command itself, when the lexer attached them. */
33
+ readonly redirections?: readonly ShellRedirection[];
32
34
  }
33
35
  /** What the lexer found, in the shape this module and the removal check share. */
34
36
  export interface ShellReading {
@@ -50,7 +52,21 @@ export interface ShellPathUse {
50
52
  readonly via: string;
51
53
  /** True when the word is decided at runtime and `path` is not what it will be. */
52
54
  readonly unresolved: boolean;
55
+ /**
56
+ * Where a relative `path` starts from, when an earlier `cd` in the line moved
57
+ * the shell. Absent: the directory the line began in. Only a `cd` to one
58
+ * literal relative directory is followed; anything else is `unknown`.
59
+ */
60
+ readonly directory?: ShellDirectory;
53
61
  }
62
+ /** Where a `cd` earlier in the line left the shell, relative to where the line began. */
63
+ export type ShellDirectory = {
64
+ readonly relative: string;
65
+ }
66
+ /** A `cd` to a runtime-decided, absolute, `~` or `-` target, or a `pushd`/`popd`/`chdir`. */
67
+ | {
68
+ readonly unknown: true;
69
+ };
54
70
  export interface ShellPathAccess {
55
71
  readonly uses: readonly ShellPathUse[];
56
72
  /** A `cd`, `pushd`, `popd` or `chdir` runs somewhere in the line. */
@@ -61,6 +77,10 @@ export declare function expandsAtRuntime(word: ShellWord): boolean;
61
77
  /**
62
78
  * The paths `reading` names: positional arguments of the commands in the
63
79
  * table, and the targets of its redirections.
80
+ *
81
+ * Each use carries the directory an earlier literal `cd` left the shell in
82
+ * (see {@link ShellPathUse.directory}), so a caller can tell
83
+ * `cd packages/sdk && echo x > out.txt` from `cd "$X" && echo x > out.txt`.
64
84
  */
65
85
  export declare function shellPathAccess(reading: ShellReading): ShellPathAccess;
66
86
  //# sourceMappingURL=shell-paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-paths.d.ts","sourceRoot":"","sources":["../../src/authorization/shell-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAGd,MAAM,kBAAkB,CAAA;AAEzB,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CACnC;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClD,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAaD,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CA4B/E;AAED,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzC,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;IACtC,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;CAClC;AAmBD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzD;AA0tBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CA4DtE"}
1
+ {"version":3,"file":"shell-paths.d.ts","sourceRoot":"","sources":["../../src/authorization/shell-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAGd,MAAM,kBAAkB,CAAA;AAEzB,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;IACnC,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;CACnD;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClD,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AAoBD,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CA4B/E;AAED,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzC,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAA;CACnC;AAED,yFAAyF;AACzF,MAAM,MAAM,cAAc,GACvB;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC/B,6FAA6F;GAC3F;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAE7B,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;IACtC,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;CAClC;AAmBD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzD;AAi3BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAgDtE"}