@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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AAqwCA,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AAizCA,cAAc,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "52.3.0",
3
+ "version": "52.5.0",
4
4
  "description": "Open-source AI kernel for TypeScript: runs an agent the way an operating system runs a process, with an identity and a budget, scheduled tool calls and checkpointed turns.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "engines": {
@@ -64,6 +64,7 @@
64
64
  "@types/brace-expansion": "^1.1.2",
65
65
  "@types/node": "^22.19.17",
66
66
  "@types/turndown": "^5.0.6",
67
+ "@types/ws": "8.18.1",
67
68
  "@vitest/coverage-v8": "^4.1.11",
68
69
  "fast-check": "^4.7.0",
69
70
  "jsonschema": "^1.5.0",
@@ -80,7 +81,8 @@
80
81
  "minimatch": "^9.0.9",
81
82
  "pica": "^10.0.3",
82
83
  "quickjs-emscripten-core": "0.32.0",
83
- "turndown": "^7.2.4"
84
+ "turndown": "^7.2.4",
85
+ "ws": "8.21.3"
84
86
  },
85
87
  "scripts": {
86
88
  "build": "tsc --build",
@@ -305,3 +305,38 @@ export class AuthorizationGate {
305
305
  return result
306
306
  }
307
307
  }
308
+
309
+ /**
310
+ * How wide an `allow` rule is, for the review modes that must not let a broad
311
+ * rule stand in for a closer look.
312
+ *
313
+ * `tool` for a rule that names a whole tool, a category, a tier or a source, or
314
+ * a pattern that matches every input; `pattern` for any other allow, a
315
+ * predicate included (it decides some inputs only). `undefined` for a rule that
316
+ * does not allow, and for the read-only allowance, which is about what a call
317
+ * does and not about which tool it is.
318
+ */
319
+ export function allowRuleScope(rule: AuthorizationRule | null): 'tool' | 'pattern' | undefined {
320
+ if (rule === null) return undefined
321
+ switch (rule.type) {
322
+ case 'allow_by_name':
323
+ case 'allow_by_category':
324
+ case 'allow_by_tier':
325
+ return 'tool'
326
+ case 'by_source':
327
+ return rule.decision === 'allow' ? 'tool' : undefined
328
+ case 'argument_pattern':
329
+ case 'custom_pattern':
330
+ if (rule.decision !== 'allow') return undefined
331
+ return matchesEverything(rule.pattern) ? 'tool' : 'pattern'
332
+ case 'predicate':
333
+ return 'pattern'
334
+ default:
335
+ return undefined
336
+ }
337
+ }
338
+
339
+ /** Whether a pattern accepts any text at all: empty, `*`, `.*`, `^.*$` and their kin. */
340
+ function matchesEverything(pattern: string): boolean {
341
+ return /^\^?(?:\.\*|\*|\(\?:\.\*\)|\[\\s\\S\]\*)?\$?$/.test(pattern.trim())
342
+ }
@@ -234,6 +234,12 @@ function checkRemoval(removal: ShellInvocation, scope: Scope): string | undefine
234
234
  return undefined
235
235
  }
236
236
 
237
+ /**
238
+ * A trailing glob that reaches every entry of a directory: `*`, and `.*` for
239
+ * the hidden ones (`rm -rf .*` takes `.git` and every dotfile with it).
240
+ */
241
+ const GLOB_TAIL = /[\\/]\.?\*$/
242
+
237
243
  function checkTarget(
238
244
  program: string,
239
245
  args: readonly ShellWord[],
@@ -253,14 +259,14 @@ function checkTarget(
253
259
  let settled = absolute
254
260
  for (let previous = ''; previous !== settled; ) {
255
261
  previous = settled
256
- const stripped = settled.replace(/([\\/]\*+)+[\\/]*$/, '') || sep
262
+ const stripped = settled.replace(/([\\/]\.?\*+)+[\\/]*$/, '') || sep
257
263
  if (stripped !== settled) settled = /[\\/]/.test(stripped) ? normalize(stripped) : stripped
258
264
  }
259
265
  // A glob suffix was stripped from the target: the removal reaches what is in it.
260
266
  const globbed = settled !== absolute
261
267
  const original = expanded
262
268
 
263
- if (scope.changesDirectory && globbed && relative && /[\\/]\*$/.test(absolute)) {
269
+ if (scope.changesDirectory && globbed && relative && GLOB_TAIL.test(absolute)) {
264
270
  return `${program} ${spelled}: a relative glob after a cd cannot be resolved before the line runs`
265
271
  }
266
272
 
@@ -277,11 +283,11 @@ function checkTarget(
277
283
  (hasParentAfterName(original) ||
278
284
  original.startsWith('~') ||
279
285
  /^[\\/]{2}/.test(original) ||
280
- (relative && /(^|[\\/])\.\.([\\/]|$)/.test(original) && /[\\/]\*$/.test(absolute)) ||
286
+ (relative && /(^|[\\/])\.\.([\\/]|$)/.test(original) && GLOB_TAIL.test(absolute)) ||
281
287
  (program === 'rmdir' &&
282
- /[\\/]\*$/.test(absolute) &&
288
+ GLOB_TAIL.test(absolute) &&
283
289
  args.some((a) => /^--p/.test(a.value) || /^-[a-z]*p/.test(a.value))) ||
284
- (relative && /\*[\\/]+$/.test(original) && /[\\/]\*$/.test(absolute)))
290
+ (relative && /\*[\\/]+$/.test(original) && GLOB_TAIL.test(absolute)))
285
291
  ) {
286
292
  return `${program} ${spelled}: the target cannot be resolved to a directory before the line runs`
287
293
  }
@@ -301,7 +307,7 @@ function checkTarget(
301
307
  }
302
308
  }
303
309
 
304
- if (globbed && /[\\/]\*$/.test(absolute)) {
310
+ if (globbed && GLOB_TAIL.test(absolute)) {
305
311
  const segments = (value: string): number =>
306
312
  value.split(/[\\/]+/).filter((s) => s !== '' && s !== '.').length
307
313
  const crossed = segments(absolute) - segments(settled)
@@ -24,6 +24,30 @@ export interface EvaluateRuleOptions {
24
24
  readonly toolSource?: ToolSourceRef
25
25
  }
26
26
 
27
+ /**
28
+ * What the dangerous-pattern floor reads of a call: the text that will be
29
+ * executed, and nothing that merely talks about it.
30
+ *
31
+ * - A tool that names its command argument (`bash`, `monitor`): that argument.
32
+ * - A shell-category tool that does not (an MCP tool that takes `cmd`): the
33
+ * whole serialized input, because there is no telling which field runs.
34
+ * - Any other tool: nothing. A delegation prompt, a file's content, an edit, a
35
+ * fetched page or a memory note can quote `sudo` or `curl … | sh` without
36
+ * running it, and a delegated child's own shell calls are floored when they
37
+ * run. A call with no definition to ask is read whole, as it always was.
38
+ */
39
+ function executedText(toolDef: ToolDefinition | undefined, toolInput: unknown): string | undefined {
40
+ if (toolDef === undefined) return JSON.stringify(toolInput) ?? ''
41
+ const argument = toolDef.commandArgument
42
+ if (argument !== undefined) {
43
+ const value = (toolInput as Record<string, unknown> | null | undefined)?.[argument]
44
+ if (value === undefined || value === null) return undefined
45
+ return typeof value === 'string' ? value : (JSON.stringify(value) ?? '')
46
+ }
47
+ if (toolDef.category === 'shell') return JSON.stringify(toolInput) ?? ''
48
+ return undefined
49
+ }
50
+
27
51
  export function evaluateRule(
28
52
  rule: AuthorizationRule,
29
53
  toolName: string,
@@ -66,9 +90,10 @@ export function evaluateRule(
66
90
  }
67
91
 
68
92
  case 'deny_dangerous_patterns': {
69
- const serialized = JSON.stringify(toolInput)
93
+ const executed = executedText(toolDef, toolInput)
94
+ if (executed === undefined) return null
70
95
  for (const pattern of DANGEROUS_PATTERNS) {
71
- if (pattern.test(serialized)) {
96
+ if (pattern.test(executed)) {
72
97
  return 'deny'
73
98
  }
74
99
  }
@@ -38,6 +38,8 @@ export interface ShellInvocation {
38
38
  readonly program: string
39
39
  /** Its arguments, as the shell passes them. */
40
40
  readonly args: readonly ShellWord[]
41
+ /** The redirections written on this command itself, when the lexer attached them. */
42
+ readonly redirections?: readonly ShellRedirection[]
41
43
  }
42
44
 
43
45
  /** What the lexer found, in the shape this module and the removal check share. */
@@ -50,13 +52,20 @@ export interface ShellReading {
50
52
 
51
53
  const EXEC_FLAGS = new Set(['-exec', '-execdir', '-ok', '-okdir'])
52
54
 
53
- function invocationOf(words: readonly ShellWord[]): ShellInvocation | undefined {
55
+ function invocationOf(
56
+ words: readonly ShellWord[],
57
+ redirections?: readonly ShellRedirection[],
58
+ ): ShellInvocation | undefined {
54
59
  if (words.length === 0) return undefined
55
60
  const step = unwrapReexecChain(words)
56
61
  if (!('rest' in step)) return undefined
57
62
  const [head, ...args] = step.rest
58
63
  if (head === undefined || head.expands) return undefined
59
- return { program: basename(head.value), args }
64
+ return {
65
+ program: basename(head.value),
66
+ args,
67
+ ...(redirections !== undefined ? { redirections } : {}),
68
+ }
60
69
  }
61
70
 
62
71
  /** Every program a line runs, and every redirection it carries. */
@@ -64,7 +73,7 @@ export function readShellLine(line: string, dialect: ShellDialect): ShellReading
64
73
  const lexed = lexShellCommandLine(line, { dialect })
65
74
  const invocations: ShellInvocation[] = []
66
75
  for (const command of lexed.commands) {
67
- const own = invocationOf(command.words.slice(command.assignments))
76
+ const own = invocationOf(command.words.slice(command.assignments), command.redirections)
68
77
  if (own === undefined) continue
69
78
  invocations.push(own)
70
79
  if (own.program !== 'find') continue
@@ -102,8 +111,20 @@ export interface ShellPathUse {
102
111
  readonly via: string
103
112
  /** True when the word is decided at runtime and `path` is not what it will be. */
104
113
  readonly unresolved: boolean
114
+ /**
115
+ * Where a relative `path` starts from, when an earlier `cd` in the line moved
116
+ * the shell. Absent: the directory the line began in. Only a `cd` to one
117
+ * literal relative directory is followed; anything else is `unknown`.
118
+ */
119
+ readonly directory?: ShellDirectory
105
120
  }
106
121
 
122
+ /** Where a `cd` earlier in the line left the shell, relative to where the line began. */
123
+ export type ShellDirectory =
124
+ | { readonly relative: string }
125
+ /** A `cd` to a runtime-decided, absolute, `~` or `-` target, or a `pushd`/`popd`/`chdir`. */
126
+ | { readonly unknown: true }
127
+
107
128
  export interface ShellPathAccess {
108
129
  readonly uses: readonly ShellPathUse[]
109
130
  /** A `cd`, `pushd`, `popd` or `chdir` runs somewhere in the line. */
@@ -150,6 +171,105 @@ function operands(args: Args): ShellWord[] {
150
171
  return out
151
172
  }
152
173
 
174
+ /** `value` as a word that keeps whether `from` will still be expanded by the shell. */
175
+ function derived(from: ShellWord, value: string): ShellWord {
176
+ return { ...from, text: value, value }
177
+ }
178
+
179
+ /**
180
+ * Operands of `cp` and `mv`. GNU lets a flag follow an operand, and the
181
+ * destination can be a flag's value: `--target-directory=D`, `--target-directory D`,
182
+ * `-tD`, `-t D`, also inside a cluster (`-at D`, `-rtD`). Reading the operands
183
+ * alone would miss the attached and the trailing forms.
184
+ */
185
+ function copyOperands(args: Args): ShellWord[] {
186
+ const out: ShellWord[] = []
187
+ let afterDashes = false
188
+ for (let i = 0; i < args.length; i += 1) {
189
+ const arg = args[i] as ShellWord
190
+ const text = arg.value
191
+ if (afterDashes || text === '-' || !text.startsWith('-')) {
192
+ out.push(arg)
193
+ continue
194
+ }
195
+ if (text === '--') {
196
+ afterDashes = true
197
+ continue
198
+ }
199
+ if (text.startsWith('--')) {
200
+ const eq = text.indexOf('=')
201
+ const name = eq >= 0 ? text.slice(0, eq) : text
202
+ if (name === '--target-directory') {
203
+ if (eq >= 0) out.push(derived(arg, text.slice(eq + 1)))
204
+ else if (args[i + 1] !== undefined) {
205
+ out.push(args[i + 1] as ShellWord)
206
+ i += 1
207
+ }
208
+ } else if (name === '--suffix' && eq < 0) i += 1
209
+ continue
210
+ }
211
+ for (let j = 1; j < text.length; j += 1) {
212
+ const letter = text[j] as string
213
+ if (letter !== 't' && letter !== 'S') continue
214
+ const rest = text.slice(j + 1)
215
+ if (letter === 't') {
216
+ if (rest !== '') out.push(derived(arg, rest))
217
+ else if (args[i + 1] !== undefined) {
218
+ out.push(args[i + 1] as ShellWord)
219
+ i += 1
220
+ }
221
+ } else if (rest === '') i += 1
222
+ break
223
+ }
224
+ }
225
+ return out
226
+ }
227
+
228
+ /**
229
+ * The files `touch` reads: `--reference=F`, `--reference F`, `-rF`, `-r F`
230
+ * (also in a cluster). They are not written, but a path outside the roots is
231
+ * the same question whichever way it is opened.
232
+ */
233
+ function touchReferences(args: Args): ShellWord[] {
234
+ const out: ShellWord[] = []
235
+ let afterDashes = false
236
+ for (let i = 0; i < args.length; i += 1) {
237
+ const arg = args[i] as ShellWord
238
+ const text = arg.value
239
+ if (afterDashes || text === '-' || !text.startsWith('-')) continue
240
+ if (text === '--') {
241
+ afterDashes = true
242
+ continue
243
+ }
244
+ if (text.startsWith('--')) {
245
+ const eq = text.indexOf('=')
246
+ const name = eq >= 0 ? text.slice(0, eq) : text
247
+ if (name === '--reference') {
248
+ if (eq >= 0) out.push(derived(arg, text.slice(eq + 1)))
249
+ else if (args[i + 1] !== undefined) {
250
+ out.push(args[i + 1] as ShellWord)
251
+ i += 1
252
+ }
253
+ }
254
+ continue
255
+ }
256
+ for (let j = 1; j < text.length; j += 1) {
257
+ const letter = text[j] as string
258
+ if (letter !== 'r' && letter !== 'd' && letter !== 't') continue
259
+ const rest = text.slice(j + 1)
260
+ if (letter === 'r') {
261
+ if (rest !== '') out.push(derived(arg, rest))
262
+ else if (args[i + 1] !== undefined) {
263
+ out.push(args[i + 1] as ShellWord)
264
+ i += 1
265
+ }
266
+ } else if (rest === '') i += 1
267
+ break
268
+ }
269
+ }
270
+ return out
271
+ }
272
+
153
273
  interface FlagTable {
154
274
  readonly booleanShort: string
155
275
  readonly valuedShort: string
@@ -681,11 +801,11 @@ const EXTRACTORS: Readonly<Record<string, (args: Args) => ShellWord[]>> = {
681
801
  ls: lsOperands,
682
802
  find: findOperands,
683
803
  mkdir: operands,
684
- touch: operands,
804
+ touch: touchOperands,
685
805
  rm: operands,
686
806
  rmdir: operands,
687
- mv: operands,
688
- cp: operands,
807
+ mv: copyOperands,
808
+ cp: copyOperands,
689
809
  cat: operands,
690
810
  head: operands,
691
811
  tail: operands,
@@ -845,6 +965,38 @@ const EXTRACTORS: Readonly<Record<string, (args: Args) => ShellWord[]>> = {
845
965
  git: gitOperands,
846
966
  }
847
967
 
968
+ /**
969
+ * Operands of `touch`: the files it changes, with the values of `-d`, `-t` and
970
+ * `-r`/`--reference` taken out (they are a date, a stamp and a file that is read).
971
+ */
972
+ function touchOperands(args: Args): ShellWord[] {
973
+ const out: ShellWord[] = []
974
+ let afterDashes = false
975
+ for (let i = 0; i < args.length; i += 1) {
976
+ const arg = args[i] as ShellWord
977
+ const text = arg.value
978
+ if (afterDashes || text === '-' || !text.startsWith('-')) {
979
+ out.push(arg)
980
+ continue
981
+ }
982
+ if (text === '--') {
983
+ afterDashes = true
984
+ continue
985
+ }
986
+ if (text.startsWith('--')) {
987
+ if (/^--(?:reference|date|time)$/.test(text)) i += 1
988
+ continue
989
+ }
990
+ for (let j = 1; j < text.length; j += 1) {
991
+ if ('rdt'.includes(text[j] as string)) {
992
+ if (j === text.length - 1) i += 1
993
+ break
994
+ }
995
+ }
996
+ }
997
+ return out
998
+ }
999
+
848
1000
  /** Commands that create or change what their operands name. `sed` is added per call when it edits in place. */
849
1001
  const WRITERS = new Set(['mkdir', 'touch', 'rm', 'rmdir', 'mv', 'cp', 'tee'])
850
1002
 
@@ -860,68 +1012,129 @@ function editsInPlace(args: Args): boolean {
860
1012
  })
861
1013
  }
862
1014
 
1015
+ /** The directory a line is in after `invocation`, given the one before it. */
1016
+ function directoryAfter(
1017
+ before: ShellDirectory | undefined,
1018
+ invocation: ShellInvocation,
1019
+ ): ShellDirectory {
1020
+ if (before !== undefined && 'unknown' in before) return before
1021
+ if (invocation.program !== 'cd') return { unknown: true }
1022
+ const operands = invocation.args.filter((a) => a.expands || !/^-[LPe@]+$/.test(a.value))
1023
+ const [target, ...extra] = operands
1024
+ if (target === undefined || extra.length > 0 || target.expands || target.value === '') {
1025
+ return { unknown: true }
1026
+ }
1027
+ const value = target.value
1028
+ if (value === '-' || value === '--' || value.startsWith('/') || value.startsWith('~')) {
1029
+ return { unknown: true }
1030
+ }
1031
+ const base = before?.relative
1032
+ return { relative: base === undefined ? value : `${base}/${value}` }
1033
+ }
1034
+
863
1035
  /**
864
1036
  * The paths `reading` names: positional arguments of the commands in the
865
1037
  * table, and the targets of its redirections.
1038
+ *
1039
+ * Each use carries the directory an earlier literal `cd` left the shell in
1040
+ * (see {@link ShellPathUse.directory}), so a caller can tell
1041
+ * `cd packages/sdk && echo x > out.txt` from `cd "$X" && echo x > out.txt`.
866
1042
  */
867
1043
  export function shellPathAccess(reading: ShellReading): ShellPathAccess {
868
1044
  const uses: ShellPathUse[] = []
869
1045
  let changesDirectory = false
870
- for (const { program, args } of reading.invocations) {
1046
+ let directory: ShellDirectory | undefined
1047
+ const covered = new Set<ShellRedirection>()
1048
+ for (const invocation of reading.invocations) {
1049
+ const { program, args } = invocation
871
1050
  if (CD_PROGRAMS.has(program)) changesDirectory = true
872
1051
  const extract = EXTRACTORS[program]
873
- if (extract === undefined) continue
874
- const access: PathAccess =
875
- WRITERS.has(program) || (program === 'sed' && editsInPlace(args)) ? 'write' : 'read'
876
- for (const arg of extract(args)) {
877
- if (arg.value === '' || isHarmlessTarget(arg.value)) continue
878
- uses.push({
879
- path: arg.value,
880
- access,
881
- via: program,
882
- unresolved: expandsAtRuntime(arg),
883
- })
1052
+ if (extract !== undefined) {
1053
+ const access: PathAccess =
1054
+ WRITERS.has(program) || (program === 'sed' && editsInPlace(args)) ? 'write' : 'read'
1055
+ for (const arg of extract(args)) {
1056
+ if (arg.value === '' || isHarmlessTarget(arg.value)) continue
1057
+ uses.push({
1058
+ path: arg.value,
1059
+ access,
1060
+ via: program,
1061
+ unresolved: expandsAtRuntime(arg),
1062
+ ...(directory !== undefined ? { directory } : {}),
1063
+ })
1064
+ }
1065
+ }
1066
+ if (program === 'touch') {
1067
+ for (const arg of touchReferences(args)) {
1068
+ if (arg.value === '' || isHarmlessTarget(arg.value)) continue
1069
+ uses.push({
1070
+ path: arg.value,
1071
+ access: 'read',
1072
+ via: program,
1073
+ unresolved: expandsAtRuntime(arg),
1074
+ ...(directory !== undefined ? { directory } : {}),
1075
+ })
1076
+ }
1077
+ }
1078
+ for (const redirection of invocation.redirections ?? []) {
1079
+ covered.add(redirection)
1080
+ pushRedirection(uses, redirection, directory)
884
1081
  }
1082
+ if (CD_PROGRAMS.has(program)) directory = directoryAfter(directory, invocation)
885
1083
  }
886
1084
  for (const redirection of reading.redirections) {
887
- const target = redirection.target
888
- if (target.value === '' || isHarmlessTarget(target.value)) continue
889
- switch (redirection.operator) {
890
- case '>':
891
- case '>>':
892
- case '>|':
893
- case '&>':
894
- case '&>>':
895
- case '<>':
1085
+ if (covered.has(redirection)) continue
1086
+ // Not tied to a command the reader saw (a compound command's own), so
1087
+ // where it runs cannot be told once a `cd` is in the line.
1088
+ pushRedirection(uses, redirection, changesDirectory ? { unknown: true } : undefined)
1089
+ }
1090
+ return { uses, changesDirectory }
1091
+ }
1092
+
1093
+ function pushRedirection(
1094
+ uses: ShellPathUse[],
1095
+ redirection: ShellRedirection,
1096
+ directory: ShellDirectory | undefined,
1097
+ ): void {
1098
+ const target = redirection.target
1099
+ if (target.value === '' || isHarmlessTarget(target.value)) return
1100
+ const where = directory !== undefined ? { directory } : {}
1101
+ switch (redirection.operator) {
1102
+ case '>':
1103
+ case '>>':
1104
+ case '>|':
1105
+ case '&>':
1106
+ case '&>>':
1107
+ case '<>':
1108
+ uses.push({
1109
+ path: target.value,
1110
+ access: 'write',
1111
+ via: 'redirect',
1112
+ unresolved: expandsAtRuntime(target),
1113
+ ...where,
1114
+ })
1115
+ break
1116
+ case '>&':
1117
+ // `>&2` and `>&-` duplicate or close a descriptor; any other word is a file.
1118
+ if (!/^(?:\d+-?|-)$/.test(target.value)) {
896
1119
  uses.push({
897
1120
  path: target.value,
898
1121
  access: 'write',
899
1122
  via: 'redirect',
900
1123
  unresolved: expandsAtRuntime(target),
1124
+ ...where,
901
1125
  })
902
- break
903
- case '>&':
904
- // `>&2` and `>&-` duplicate or close a descriptor; any other word is a file.
905
- if (!/^(?:\d+-?|-)$/.test(target.value)) {
906
- uses.push({
907
- path: target.value,
908
- access: 'write',
909
- via: 'redirect',
910
- unresolved: expandsAtRuntime(target),
911
- })
912
- }
913
- break
914
- case '<':
915
- uses.push({
916
- path: target.value,
917
- access: 'read',
918
- via: 'redirect',
919
- unresolved: expandsAtRuntime(target),
920
- })
921
- break
922
- default:
923
- break
924
- }
1126
+ }
1127
+ break
1128
+ case '<':
1129
+ uses.push({
1130
+ path: target.value,
1131
+ access: 'read',
1132
+ via: 'redirect',
1133
+ unresolved: expandsAtRuntime(target),
1134
+ ...where,
1135
+ })
1136
+ break
1137
+ default:
1138
+ break
925
1139
  }
926
- return { uses, changesDirectory }
927
1140
  }
@@ -142,6 +142,14 @@ export interface AcpServerOptions {
142
142
  readonly supportsPromptAttachments?: boolean
143
143
  /** The host applies optional effort and permission settings to the exact turn. */
144
144
  readonly supportsPromptOptions?: boolean
145
+ /**
146
+ * Which of the newer review modes, `bypass` and `classify`, the gateway
147
+ * applies when a prompt asks for one in its options. Omitted, a prompt that
148
+ * asks for either is refused with an error that says so, before any turn
149
+ * starts, rather than reaching a gateway that cannot honour it. Advertised
150
+ * as `promptPermissionModes` at initialization.
151
+ */
152
+ readonly promptPermissionModes?: readonly ('bypass' | 'classify')[]
145
153
  /** Emit planning notifications only to clients declaring namzu/tasks. */
146
154
  readonly supportsTaskNotifications?: boolean
147
155
  readonly transport: MCPTransport
@@ -465,6 +473,9 @@ export class ACPServer {
465
473
  protocolVersion: ACP_PROTOCOL_VERSION,
466
474
  ...(this.options.supportsPromptAttachments ? { promptAttachments: true } : {}),
467
475
  ...(this.options.supportsPromptOptions ? { promptOptions: true } : {}),
476
+ ...(this.options.supportsPromptOptions && this.options.promptPermissionModes?.length
477
+ ? { promptPermissionModes: [...this.options.promptPermissionModes] }
478
+ : {}),
468
479
  agentInfo: this.options.agentInfo,
469
480
  // From the registry, per call. A hard-coded list here would be a
470
481
  // second definition of the command surface.
@@ -850,6 +861,15 @@ export class ACPServer {
850
861
  (permissionMode !== undefined && !isReviewMode(permissionMode))
851
862
  )
852
863
  throw new AcpError(ACP_ERROR_CODES.INVALID_PARAMS, 'Invalid prompt settings.')
864
+ if (
865
+ (permissionMode === 'bypass' || permissionMode === 'classify') &&
866
+ this.options.promptPermissionModes?.includes(permissionMode) !== true
867
+ ) {
868
+ throw new AcpError(
869
+ ACP_ERROR_CODES.INVALID_PARAMS,
870
+ `This agent does not accept the "${permissionMode}" permission mode in prompt settings.`,
871
+ )
872
+ }
853
873
  return {
854
874
  ...(effort
855
875
  ? { effort: effort as NonNullable<AcpSessionPromptParams['options']>['effort'] }