@namzu/sdk 44.3.0 → 45.1.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 (271) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/authorization/command-line.d.ts +66 -19
  3. package/dist/authorization/command-line.d.ts.map +1 -1
  4. package/dist/authorization/command-line.js +130 -270
  5. package/dist/authorization/command-line.js.map +1 -1
  6. package/dist/authorization/gate.d.ts +7 -0
  7. package/dist/authorization/gate.d.ts.map +1 -1
  8. package/dist/authorization/gate.js +13 -3
  9. package/dist/authorization/gate.js.map +1 -1
  10. package/dist/authorization/rules.d.ts +10 -1
  11. package/dist/authorization/rules.d.ts.map +1 -1
  12. package/dist/authorization/rules.js +55 -8
  13. package/dist/authorization/rules.js.map +1 -1
  14. package/dist/authorization/shell-lexer.d.ts +152 -0
  15. package/dist/authorization/shell-lexer.d.ts.map +1 -0
  16. package/dist/authorization/shell-lexer.js +2156 -0
  17. package/dist/authorization/shell-lexer.js.map +1 -0
  18. package/dist/authorization/skill-grant.d.ts +182 -0
  19. package/dist/authorization/skill-grant.d.ts.map +1 -0
  20. package/dist/authorization/skill-grant.js +314 -0
  21. package/dist/authorization/skill-grant.js.map +1 -0
  22. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  23. package/dist/bridge/a2a/mapper.js +2 -0
  24. package/dist/bridge/a2a/mapper.js.map +1 -1
  25. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  26. package/dist/bridge/sse/mapper.js +1 -0
  27. package/dist/bridge/sse/mapper.js.map +1 -1
  28. package/dist/directory/types.d.ts +2 -0
  29. package/dist/directory/types.d.ts.map +1 -1
  30. package/dist/directory/types.js.map +1 -1
  31. package/dist/manager/resident/outbox.d.ts +4 -4
  32. package/dist/persona/assembler.d.ts.map +1 -1
  33. package/dist/persona/assembler.js +5 -2
  34. package/dist/persona/assembler.js.map +1 -1
  35. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  36. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  37. package/dist/prompt/coding-agent-doctrine.js +1 -0
  38. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  39. package/dist/public-runtime.d.ts +5 -1
  40. package/dist/public-runtime.d.ts.map +1 -1
  41. package/dist/public-runtime.js +15 -1
  42. package/dist/public-runtime.js.map +1 -1
  43. package/dist/public-tools.d.ts +4 -0
  44. package/dist/public-tools.d.ts.map +1 -1
  45. package/dist/public-tools.js +12 -1
  46. package/dist/public-tools.js.map +1 -1
  47. package/dist/public-types.d.ts +9 -1
  48. package/dist/public-types.d.ts.map +1 -1
  49. package/dist/runtime/jobs/registry.d.ts +2 -2
  50. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  51. package/dist/runtime/jobs/registry.js +6 -2
  52. package/dist/runtime/jobs/registry.js.map +1 -1
  53. package/dist/runtime/query/declined.d.ts +12 -0
  54. package/dist/runtime/query/declined.d.ts.map +1 -0
  55. package/dist/runtime/query/declined.js +12 -0
  56. package/dist/runtime/query/declined.js.map +1 -0
  57. package/dist/runtime/query/executor.d.ts +36 -40
  58. package/dist/runtime/query/executor.d.ts.map +1 -1
  59. package/dist/runtime/query/executor.js +95 -53
  60. package/dist/runtime/query/executor.js.map +1 -1
  61. package/dist/runtime/query/index.d.ts.map +1 -1
  62. package/dist/runtime/query/index.js +8 -0
  63. package/dist/runtime/query/index.js.map +1 -1
  64. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  65. package/dist/runtime/query/iteration/index.js +13 -0
  66. package/dist/runtime/query/iteration/index.js.map +1 -1
  67. package/dist/runtime/query/iteration/phases/context.d.ts +13 -0
  68. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  69. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  70. package/dist/runtime/query/iteration/phases/handoff.d.ts +22 -0
  71. package/dist/runtime/query/iteration/phases/handoff.d.ts.map +1 -0
  72. package/dist/runtime/query/iteration/phases/handoff.js +65 -0
  73. package/dist/runtime/query/iteration/phases/handoff.js.map +1 -0
  74. package/dist/runtime/query/iteration/phases/index.d.ts +1 -0
  75. package/dist/runtime/query/iteration/phases/index.d.ts.map +1 -1
  76. package/dist/runtime/query/iteration/phases/index.js +1 -0
  77. package/dist/runtime/query/iteration/phases/index.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 +56 -3
  80. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  81. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  82. package/dist/runtime/query/resume-pending.js +3 -2
  83. package/dist/runtime/query/resume-pending.js.map +1 -1
  84. package/dist/runtime/query/review-policy.d.ts +11 -0
  85. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  86. package/dist/runtime/query/review-policy.js +36 -3
  87. package/dist/runtime/query/review-policy.js.map +1 -1
  88. package/dist/runtime/query/tooling.d.ts +3 -0
  89. package/dist/runtime/query/tooling.d.ts.map +1 -1
  90. package/dist/runtime/query/tooling.js +1 -0
  91. package/dist/runtime/query/tooling.js.map +1 -1
  92. package/dist/schedules/cron.d.ts +21 -0
  93. package/dist/schedules/cron.d.ts.map +1 -0
  94. package/dist/schedules/cron.js +167 -0
  95. package/dist/schedules/cron.js.map +1 -0
  96. package/dist/schedules/describe.d.ts +14 -0
  97. package/dist/schedules/describe.d.ts.map +1 -0
  98. package/dist/schedules/describe.js +133 -0
  99. package/dist/schedules/describe.js.map +1 -0
  100. package/dist/schedules/errors.d.ts +11 -0
  101. package/dist/schedules/errors.d.ts.map +1 -0
  102. package/dist/schedules/errors.js +15 -0
  103. package/dist/schedules/errors.js.map +1 -0
  104. package/dist/schedules/evaluate.d.ts +35 -0
  105. package/dist/schedules/evaluate.d.ts.map +1 -0
  106. package/dist/schedules/evaluate.js +158 -0
  107. package/dist/schedules/evaluate.js.map +1 -0
  108. package/dist/schedules/index.d.ts +11 -0
  109. package/dist/schedules/index.d.ts.map +1 -0
  110. package/dist/schedules/index.js +8 -0
  111. package/dist/schedules/index.js.map +1 -0
  112. package/dist/schedules/next-fire.d.ts +50 -0
  113. package/dist/schedules/next-fire.d.ts.map +1 -0
  114. package/dist/schedules/next-fire.js +250 -0
  115. package/dist/schedules/next-fire.js.map +1 -0
  116. package/dist/schedules/spec.d.ts +30 -0
  117. package/dist/schedules/spec.d.ts.map +1 -0
  118. package/dist/schedules/spec.js +169 -0
  119. package/dist/schedules/spec.js.map +1 -0
  120. package/dist/schedules/types.d.ts +144 -0
  121. package/dist/schedules/types.d.ts.map +1 -0
  122. package/dist/schedules/types.js +11 -0
  123. package/dist/schedules/types.js.map +1 -0
  124. package/dist/schedules/tz.d.ts +44 -0
  125. package/dist/schedules/tz.d.ts.map +1 -0
  126. package/dist/schedules/tz.js +141 -0
  127. package/dist/schedules/tz.js.map +1 -0
  128. package/dist/skills/index.d.ts +1 -1
  129. package/dist/skills/index.d.ts.map +1 -1
  130. package/dist/skills/index.js +1 -1
  131. package/dist/skills/index.js.map +1 -1
  132. package/dist/skills/loader.d.ts +21 -0
  133. package/dist/skills/loader.d.ts.map +1 -1
  134. package/dist/skills/loader.js +51 -1
  135. package/dist/skills/loader.js.map +1 -1
  136. package/dist/tools/builtins/bash.d.ts.map +1 -1
  137. package/dist/tools/builtins/bash.js +18 -6
  138. package/dist/tools/builtins/bash.js.map +1 -1
  139. package/dist/tools/builtins/browser-url.d.ts +83 -0
  140. package/dist/tools/builtins/browser-url.d.ts.map +1 -0
  141. package/dist/tools/builtins/browser-url.js +240 -0
  142. package/dist/tools/builtins/browser-url.js.map +1 -0
  143. package/dist/tools/builtins/browser.d.ts +367 -0
  144. package/dist/tools/builtins/browser.d.ts.map +1 -0
  145. package/dist/tools/builtins/browser.js +704 -0
  146. package/dist/tools/builtins/browser.js.map +1 -0
  147. package/dist/tools/builtins/skill.d.ts +2 -9
  148. package/dist/tools/builtins/skill.d.ts.map +1 -1
  149. package/dist/tools/builtins/skill.js +74 -51
  150. package/dist/tools/builtins/skill.js.map +1 -1
  151. package/dist/tools/command-shell.d.ts +90 -0
  152. package/dist/tools/command-shell.d.ts.map +1 -0
  153. package/dist/tools/command-shell.js +129 -0
  154. package/dist/tools/command-shell.js.map +1 -0
  155. package/dist/tools/defineTool.d.ts +13 -0
  156. package/dist/tools/defineTool.d.ts.map +1 -1
  157. package/dist/tools/defineTool.js +30 -1
  158. package/dist/tools/defineTool.js.map +1 -1
  159. package/dist/tools/schedules/index.d.ts +5 -0
  160. package/dist/tools/schedules/index.d.ts.map +1 -0
  161. package/dist/tools/schedules/index.js +4 -0
  162. package/dist/tools/schedules/index.js.map +1 -0
  163. package/dist/tools/schedules/loop-tool.d.ts +14 -0
  164. package/dist/tools/schedules/loop-tool.d.ts.map +1 -0
  165. package/dist/tools/schedules/loop-tool.js +81 -0
  166. package/dist/tools/schedules/loop-tool.js.map +1 -0
  167. package/dist/tools/schedules/present.d.ts +16 -0
  168. package/dist/tools/schedules/present.d.ts.map +1 -0
  169. package/dist/tools/schedules/present.js +69 -0
  170. package/dist/tools/schedules/present.js.map +1 -0
  171. package/dist/tools/schedules/prompt-scan.d.ts +17 -0
  172. package/dist/tools/schedules/prompt-scan.d.ts.map +1 -0
  173. package/dist/tools/schedules/prompt-scan.js +92 -0
  174. package/dist/tools/schedules/prompt-scan.js.map +1 -0
  175. package/dist/tools/schedules/schedule-tool.d.ts +16 -0
  176. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -0
  177. package/dist/tools/schedules/schedule-tool.js +327 -0
  178. package/dist/tools/schedules/schedule-tool.js.map +1 -0
  179. package/dist/tools/schedules/types.d.ts +184 -0
  180. package/dist/tools/schedules/types.d.ts.map +1 -0
  181. package/dist/tools/schedules/types.js +11 -0
  182. package/dist/tools/schedules/types.js.map +1 -0
  183. package/dist/types/authorization/index.d.ts +86 -9
  184. package/dist/types/authorization/index.d.ts.map +1 -1
  185. package/dist/types/authorization/index.js +11 -1
  186. package/dist/types/authorization/index.js.map +1 -1
  187. package/dist/types/browser/index.d.ts +280 -0
  188. package/dist/types/browser/index.d.ts.map +1 -0
  189. package/dist/types/browser/index.js +12 -0
  190. package/dist/types/browser/index.js.map +1 -0
  191. package/dist/types/hitl/index.d.ts +23 -0
  192. package/dist/types/hitl/index.d.ts.map +1 -1
  193. package/dist/types/hitl/index.js.map +1 -1
  194. package/dist/types/session/events.d.ts +6 -0
  195. package/dist/types/session/events.d.ts.map +1 -1
  196. package/dist/types/session/events.js.map +1 -1
  197. package/dist/types/session/records.d.ts +23 -0
  198. package/dist/types/session/records.d.ts.map +1 -1
  199. package/dist/types/session/records.js +9 -0
  200. package/dist/types/session/records.js.map +1 -1
  201. package/dist/types/tool/index.d.ts +108 -5
  202. package/dist/types/tool/index.d.ts.map +1 -1
  203. package/dist/types/tool/index.js.map +1 -1
  204. package/dist/types/tool/presentation.d.ts +7 -0
  205. package/dist/types/tool/presentation.d.ts.map +1 -1
  206. package/dist/utils/frontmatter.d.ts +35 -3
  207. package/dist/utils/frontmatter.d.ts.map +1 -1
  208. package/dist/utils/frontmatter.js +45 -5
  209. package/dist/utils/frontmatter.js.map +1 -1
  210. package/dist/utils/id.d.ts +8 -0
  211. package/dist/utils/id.d.ts.map +1 -1
  212. package/dist/utils/id.js +12 -0
  213. package/dist/utils/id.js.map +1 -1
  214. package/package.json +1 -1
  215. package/src/authorization/command-line.ts +148 -293
  216. package/src/authorization/gate.ts +22 -2
  217. package/src/authorization/rules.ts +67 -8
  218. package/src/authorization/shell-lexer.ts +2349 -0
  219. package/src/authorization/skill-grant.ts +400 -0
  220. package/src/bridge/a2a/mapper.ts +2 -0
  221. package/src/bridge/sse/mapper.ts +1 -0
  222. package/src/directory/types.ts +2 -0
  223. package/src/persona/assembler.ts +5 -2
  224. package/src/prompt/coding-agent-doctrine.ts +1 -0
  225. package/src/public-runtime.ts +37 -0
  226. package/src/public-tools.ts +37 -1
  227. package/src/public-types.ts +57 -0
  228. package/src/runtime/jobs/registry.ts +19 -11
  229. package/src/runtime/query/declined.ts +12 -0
  230. package/src/runtime/query/executor.ts +116 -56
  231. package/src/runtime/query/index.ts +8 -0
  232. package/src/runtime/query/iteration/index.ts +13 -0
  233. package/src/runtime/query/iteration/phases/context.ts +13 -0
  234. package/src/runtime/query/iteration/phases/handoff.ts +74 -0
  235. package/src/runtime/query/iteration/phases/index.ts +1 -0
  236. package/src/runtime/query/iteration/phases/tool-review.ts +55 -3
  237. package/src/runtime/query/resume-pending.ts +3 -2
  238. package/src/runtime/query/review-policy.ts +57 -3
  239. package/src/runtime/query/tooling.ts +4 -0
  240. package/src/schedules/cron.ts +202 -0
  241. package/src/schedules/describe.ts +138 -0
  242. package/src/schedules/errors.ts +15 -0
  243. package/src/schedules/evaluate.ts +178 -0
  244. package/src/schedules/index.ts +18 -0
  245. package/src/schedules/next-fire.ts +257 -0
  246. package/src/schedules/spec.ts +210 -0
  247. package/src/schedules/types.ts +163 -0
  248. package/src/schedules/tz.ts +155 -0
  249. package/src/skills/index.ts +1 -1
  250. package/src/skills/loader.ts +59 -1
  251. package/src/tools/builtins/bash.ts +24 -6
  252. package/src/tools/builtins/browser-url.ts +251 -0
  253. package/src/tools/builtins/browser.ts +817 -0
  254. package/src/tools/builtins/skill.ts +92 -53
  255. package/src/tools/command-shell.ts +166 -0
  256. package/src/tools/defineTool.ts +36 -1
  257. package/src/tools/schedules/index.ts +4 -0
  258. package/src/tools/schedules/loop-tool.ts +85 -0
  259. package/src/tools/schedules/present.ts +86 -0
  260. package/src/tools/schedules/prompt-scan.ts +96 -0
  261. package/src/tools/schedules/schedule-tool.ts +376 -0
  262. package/src/tools/schedules/types.ts +197 -0
  263. package/src/types/authorization/index.ts +60 -2
  264. package/src/types/browser/index.ts +341 -0
  265. package/src/types/hitl/index.ts +21 -0
  266. package/src/types/session/events.ts +6 -0
  267. package/src/types/session/records.ts +10 -0
  268. package/src/types/tool/index.ts +109 -5
  269. package/src/types/tool/presentation.ts +7 -0
  270. package/src/utils/frontmatter.ts +81 -5
  271. package/src/utils/id.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * What the model is told when a person declines its tool calls and gave no
3
+ * words of their own.
4
+ *
5
+ * "Declined" alone reads to a model as an obstacle to route around: in a live
6
+ * session an operator refused a browser navigation and the model fetched the
7
+ * same page through web search instead. The refusal is about the outcome, not
8
+ * the tool, so the text says so — for every tool, since any of them can be
9
+ * swapped for another that reaches the same place.
10
+ */
11
+ export declare const DECLINED_TOOL_CALL_FEEDBACK = "The user declined this. Do not get the same content or result another way (another tool, another site or address, or a web search) unless you ask the user first and they agree. Say what you wanted to do, or carry on without it.";
12
+ //# sourceMappingURL=declined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declined.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/declined.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,wOAC8L,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * What the model is told when a person declines its tool calls and gave no
3
+ * words of their own.
4
+ *
5
+ * "Declined" alone reads to a model as an obstacle to route around: in a live
6
+ * session an operator refused a browser navigation and the model fetched the
7
+ * same page through web search instead. The refusal is about the outcome, not
8
+ * the tool, so the text says so — for every tool, since any of them can be
9
+ * swapped for another that reaches the same place.
10
+ */
11
+ export const DECLINED_TOOL_CALL_FEEDBACK = 'The user declined this. Do not get the same content or result another way (another tool, another site or address, or a web search) unless you ask the user first and they agree. Say what you wanted to do, or carry on without it.';
12
+ //# sourceMappingURL=declined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declined.js","sourceRoot":"","sources":["../../../src/runtime/query/declined.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACvC,qOAAqO,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import type { Span } from '@opentelemetry/api';
2
2
  import type { AuthorizationGate } from '../../authorization/gate.js';
3
+ import { type SkillGrantSet } from '../../authorization/skill-grant.js';
3
4
  import type { WorkingStateManager } from '../../compaction/manager.js';
4
5
  import type { PluginLifecycleManager } from '../../plugin/lifecycle.js';
5
6
  import type { ProbeEnforcement } from '../../probe/registry.js';
@@ -14,7 +15,7 @@ import type { ChatCompletionResponse } from '../../types/provider/index.js';
14
15
  import type { Sandbox } from '../../types/sandbox/index.js';
15
16
  import type { AuditEventInput } from '../../types/session/audit.js';
16
17
  import type { SessionRecord } from '../../types/session/records.js';
17
- import type { FileReadTracker, PreparedToolExecution, RequestToolPause, SkillRegistryRef, ToolContext, ToolRegistryContract } from '../../types/tool/index.js';
18
+ import type { FileReadTracker, PreparedToolExecution, RequestToolPause, ShellDialect, SkillRegistryRef, ToolContext, ToolHandoff, ToolRegistryContract } from '../../types/tool/index.js';
18
19
  import type { RepairToolCall } from '../../types/tool/repair.js';
19
20
  import { type BackoffPolicy } from '../../utils/backoff.js';
20
21
  import type { Logger } from '../../utils/logger.js';
@@ -253,6 +254,12 @@ export interface ToolExecutorConfig {
253
254
  authorizationGate?: AuthorizationGate;
254
255
  /** Durable refusal sink paired with {@link authorizationGate}. */
255
256
  recordAudit?: (input: AuditEventInput) => Promise<unknown>;
257
+ /**
258
+ * Where the `skill` tool's `allowed-tools` pre-approvals are recorded for
259
+ * this turn. The review phase reads the same set. Absent: a loaded skill
260
+ * grants nothing, and its tool says so.
261
+ */
262
+ skillGrants?: SkillGrantSet;
256
263
  }
257
264
  export type PreToolHookOutcome = {
258
265
  kind: 'continue';
@@ -277,6 +284,8 @@ export interface ToolCallOutcome {
277
284
  /** Rich form for the model, when the tool supplied one. */
278
285
  content?: ToolResultContent;
279
286
  isError?: boolean;
287
+ /** The tool asked for a person; see `ToolResult.handoff`. */
288
+ handoff?: ToolHandoff;
280
289
  }
281
290
  export interface ToolExecutionBatch {
282
291
  messages: Message[];
@@ -418,51 +427,38 @@ export declare class ToolExecutor {
418
427
  */
419
428
  private batchMode?;
420
429
  /**
421
- * The tool scope a loaded skill declared, and the batch it applies from.
422
- *
423
- * `allowed-tools` was parsed, stored and rendered into the prompt, and
424
- * read by nothing — advice phrased as a declaration. This is what makes
425
- * it a restriction, on the same line that already enforces the step's
426
- * list, because a narrowing the model can decline is not one.
427
- *
428
- * Two fields rather than one, and the second is the point: a skill
429
- * loaded MID-batch must not retroactively refuse the calls the model
430
- * issued alongside it. The model chose that batch under the old scope,
431
- * and refusing half of it teaches nothing except that tools fail at
432
- * random. `adoptedInBatch` is compared against the batch counter, so the
433
- * scope takes effect from the next one.
434
- *
435
- * **`adoptedInBatch` is redundant TODAY and kept deliberately**, the same
436
- * bargain `batchMode` above documents. `buildToolContext()` runs once per
437
- * batch, so every call in a batch already shares one `allowedTools` array
438
- * computed before any of them could adopt anything — remove this
439
- * comparison and no test changes, because the guarantee currently comes
440
- * from where the context happens to be built rather than from here.
441
- * Moving the context into the per-call spread is a plausible refactor,
442
- * and it would silently produce a batch whose second half is refused for
443
- * a scope its first half installed. That is precisely the incoherent
444
- * batch this line exists to make impossible.
430
+ * The step's list where it has one; the turn's is the default.
431
+ *
432
+ * A loaded skill no longer narrows this. Its `allowed-tools` used to be
433
+ * intersected in here from the next batch on, which read the field as a
434
+ * restriction when it is a pre-approval; see `grantSkillTools`.
445
435
  */
446
- private skillScope?;
447
- private batchCounter;
436
+ private effectiveAllowedTools;
448
437
  /**
449
- * The step's list, narrowed by any skill scope in force.
450
- *
451
- * An INTERSECTION, never a replacement: a skill cannot hand the model a
452
- * tool the step withheld. Widening has to be unexpressible rather than
453
- * discouraged — the same rule `CreateTaskOptions.toolScope` states for
454
- * delegation, and for the same reason: a skill file is content, and
455
- * content that can grant tools is a privilege-escalation surface wearing
456
- * the word "scope".
457
- *
458
- * The `skill` tool itself always survives. A skill that narrowed the
459
- * model out of reaching for another skill would be a one-way door, and
460
- * the tool reads instructions and changes nothing.
438
+ * Compile a skill's `allowed-tools` into pre-approvals for the rest of the
439
+ * turn, say what they would be, and record them only on `commit()`.
440
+ *
441
+ * Names resolve against THIS turn's registry, case-insensitively and
442
+ * through the Agent Skills aliases (`Read` is `read`, `WebFetch` is
443
+ * `web_fetch`), so a grant can only ever name a tool the turn already has.
444
+ * An entry that resolves to nothing, or to a tool every call of which is
445
+ * destructive (and therefore always reviewed), is reported and grants
446
+ * nothing.
447
+ *
448
+ * Two steps because the `skill` tool can still fail after it knows what
449
+ * to say — its instructions may not fit the output budget — and a skill
450
+ * the model never received must not have approved anything.
461
451
  */
462
- private effectiveAllowedTools;
452
+ private grantSkillTools;
463
453
  private resolvePermissionMode;
464
454
  /** Evaluate the turn's operator policy against one already-prepared value. */
465
455
  evaluatePreparedAuthorization(toolName: string, input: unknown): import("../../public-types.js").GateEvaluationResult | undefined;
456
+ /**
457
+ * The shell a tool's command line will run in this turn, for the
458
+ * permission rules to read it in. A tool that does not say is `sh`, the
459
+ * reading that holds for any POSIX shell.
460
+ */
461
+ commandDialect(toolName: string): ShellDialect;
466
462
  /**
467
463
  * Resolve repairs and pre-tool hooks, then decode each call exactly once.
468
464
  * The returned projection is what policy and a human review; execution later
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/executor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { join } from 'node:path';
2
+ import { compileSkillGrant } from '../../authorization/skill-grant.js';
2
3
  import { extractFromToolCall, extractFromToolResult } from '../../compaction/extractor.js';
3
4
  import { GENAI, NAMZU } from '../../constants/telemetry/index.js';
4
5
  import { buildProbeContext } from '../../probe/context.js';
5
6
  import { ProbeVetoError } from '../../probe/errors.js';
6
7
  import { probe as defaultProbeRegistry } from '../../probe/registry.js';
7
- import { SKILL_TOOL_NAME } from '../../tools/builtins/skill.js';
8
+ import { sandboxShellSpawn, withoutBashStartup } from '../../tools/command-shell.js';
9
+ import { isAlwaysDestructive } from '../../tools/defineTool.js';
8
10
  import { createFileReadTracker } from '../../tools/file-read-tracker.js';
9
11
  import { pathOutsideRoots, toolRoots } from '../../tools/paths.js';
10
12
  import { createToolMessage, } from '../../types/message/index.js';
@@ -330,54 +332,72 @@ export class ToolExecutor {
330
332
  */
331
333
  batchMode;
332
334
  /**
333
- * The tool scope a loaded skill declared, and the batch it applies from.
335
+ * The step's list where it has one; the turn's is the default.
334
336
  *
335
- * `allowed-tools` was parsed, stored and rendered into the prompt, and
336
- * read by nothing — advice phrased as a declaration. This is what makes
337
- * it a restriction, on the same line that already enforces the step's
338
- * list, because a narrowing the model can decline is not one.
339
- *
340
- * Two fields rather than one, and the second is the point: a skill
341
- * loaded MID-batch must not retroactively refuse the calls the model
342
- * issued alongside it. The model chose that batch under the old scope,
343
- * and refusing half of it teaches nothing except that tools fail at
344
- * random. `adoptedInBatch` is compared against the batch counter, so the
345
- * scope takes effect from the next one.
346
- *
347
- * **`adoptedInBatch` is redundant TODAY and kept deliberately**, the same
348
- * bargain `batchMode` above documents. `buildToolContext()` runs once per
349
- * batch, so every call in a batch already shares one `allowedTools` array
350
- * computed before any of them could adopt anything — remove this
351
- * comparison and no test changes, because the guarantee currently comes
352
- * from where the context happens to be built rather than from here.
353
- * Moving the context into the per-call spread is a plausible refactor,
354
- * and it would silently produce a batch whose second half is refused for
355
- * a scope its first half installed. That is precisely the incoherent
356
- * batch this line exists to make impossible.
337
+ * A loaded skill no longer narrows this. Its `allowed-tools` used to be
338
+ * intersected in here from the next batch on, which read the field as a
339
+ * restriction when it is a pre-approval; see `grantSkillTools`.
357
340
  */
358
- skillScope;
359
- batchCounter = 0;
341
+ effectiveAllowedTools() {
342
+ return this.stepAllowedTools ?? this.config.allowedTools;
343
+ }
360
344
  /**
361
- * The step's list, narrowed by any skill scope in force.
345
+ * Compile a skill's `allowed-tools` into pre-approvals for the rest of the
346
+ * turn, say what they would be, and record them only on `commit()`.
362
347
  *
363
- * An INTERSECTION, never a replacement: a skill cannot hand the model a
364
- * tool the step withheld. Widening has to be unexpressible rather than
365
- * discouraged — the same rule `CreateTaskOptions.toolScope` states for
366
- * delegation, and for the same reason: a skill file is content, and
367
- * content that can grant tools is a privilege-escalation surface wearing
368
- * the word "scope".
348
+ * Names resolve against THIS turn's registry, case-insensitively and
349
+ * through the Agent Skills aliases (`Read` is `read`, `WebFetch` is
350
+ * `web_fetch`), so a grant can only ever name a tool the turn already has.
351
+ * An entry that resolves to nothing, or to a tool every call of which is
352
+ * destructive (and therefore always reviewed), is reported and grants
353
+ * nothing.
369
354
  *
370
- * The `skill` tool itself always survives. A skill that narrowed the
371
- * model out of reaching for another skill would be a one-way door, and
372
- * the tool reads instructions and changes nothing.
355
+ * Two steps because the `skill` tool can still fail after it knows what
356
+ * to say — its instructions may not fit the output budget — and a skill
357
+ * the model never received must not have approved anything.
373
358
  */
374
- effectiveAllowedTools() {
375
- const base = this.stepAllowedTools ?? this.config.allowedTools;
376
- const scope = this.skillScope;
377
- if (!scope || scope.adoptedInBatch >= this.batchCounter)
378
- return base;
379
- const narrowed = new Set([...scope.allowedTools, SKILL_TOOL_NAME]);
380
- return base === undefined ? [...narrowed] : base.filter((name) => narrowed.has(name));
359
+ grantSkillTools(grant) {
360
+ const grants = this.config.skillGrants;
361
+ if (!grants)
362
+ return { granted: [], ignored: [], commit: () => { } };
363
+ const tools = this.config.tools;
364
+ const byLowerName = new Map();
365
+ for (const name of tools.listNames())
366
+ byLowerName.set(name.toLowerCase(), name);
367
+ // A grant can only ever name a tool this turn — or this step — can call.
368
+ // The registry holds more than that when `allowedTools` withholds some,
369
+ // and telling the model a withheld tool is pre-approved is a promise the
370
+ // executor will refuse to keep.
371
+ const allowed = this.effectiveAllowedTools();
372
+ const compiled = compileSkillGrant(grant.allowedTools, {
373
+ resolveTool: (name) => {
374
+ const registered = byLowerName.get(name.toLowerCase());
375
+ if (registered === undefined)
376
+ return undefined;
377
+ const definition = tools.get(registered);
378
+ const commandArgument = definition?.commandArgument;
379
+ return {
380
+ name: registered,
381
+ ...(allowed !== undefined && !allowed.includes(registered) ? { unavailable: true } : {}),
382
+ ...(commandArgument === undefined ? {} : { commandArgument }),
383
+ ...(definition && isAlwaysDestructive(definition) ? { alwaysDestructive: true } : {}),
384
+ };
385
+ },
386
+ ...(grant.skillDirectory ? { skillDirectory: grant.skillDirectory } : {}),
387
+ });
388
+ return {
389
+ granted: compiled.entries.map((entry) => entry.pattern === undefined ? entry.tool : entry.declared),
390
+ ignored: compiled.ignored,
391
+ commit: () => {
392
+ grants.grant(grant.skill, compiled);
393
+ if (compiled.ignored.length > 0) {
394
+ this.log.warn('Skill allowed-tools entries were ignored', {
395
+ 'namzu.skill.name': grant.skill,
396
+ 'namzu.skill.ignored': compiled.ignored.map((item) => item.entry),
397
+ });
398
+ }
399
+ },
400
+ };
381
401
  }
382
402
  resolvePermissionMode() {
383
403
  const configured = this.config.permissionMode;
@@ -389,8 +409,18 @@ export class ToolExecutor {
389
409
  toolName,
390
410
  toolInput: input,
391
411
  toolDef: this.config.tools.get(toolName),
412
+ commandDialect: this.commandDialect(toolName),
392
413
  });
393
414
  }
415
+ /**
416
+ * The shell a tool's command line will run in this turn, for the
417
+ * permission rules to read it in. A tool that does not say is `sh`, the
418
+ * reading that holds for any POSIX shell.
419
+ */
420
+ commandDialect(toolName) {
421
+ const tool = this.config.tools.get(toolName);
422
+ return tool?.commandDialect?.({ sandboxed: this.config.sandbox !== undefined }) ?? 'sh';
423
+ }
394
424
  /**
395
425
  * Resolve repairs and pre-tool hooks, then decode each call exactly once.
396
426
  * The returned projection is what policy and a human review; execution later
@@ -498,7 +528,6 @@ export class ToolExecutor {
498
528
  return { messages: [], results: [], observations: [] };
499
529
  }
500
530
  assertUniqueToolCallIds(toolCalls);
501
- this.batchCounter += 1;
502
531
  // Sampled here, once, and held for every call below. See the note on
503
532
  // `permissionMode` in the config type.
504
533
  this.batchMode = this.resolvePermissionMode();
@@ -798,6 +827,7 @@ export class ToolExecutor {
798
827
  toolName: name,
799
828
  toolInput: preparedInput,
800
829
  toolDef: this.config.tools.get(name),
830
+ commandDialect: this.commandDialect(name),
801
831
  });
802
832
  if (gateResult && gateResult.decision !== 'allow') {
803
833
  const reason = gateResult.decision === 'deny'
@@ -956,10 +986,16 @@ export class ToolExecutor {
956
986
  return visibleResult;
957
987
  }
958
988
  resultPresentation(name, input, result) {
959
- if (!result.success)
960
- return {};
961
989
  try {
962
990
  const view = this.config.tools.get(name)?.presentResult?.(input, result);
991
+ // A failed call carries one view only: the person's No on the tool's
992
+ // own screen, which a host draws as cancelled rather than failed and
993
+ // cannot tell apart from the result text alone.
994
+ if (!result.success) {
995
+ return view?.kind === 'generic' && view.outcome === 'cancelled'
996
+ ? { presentation: { kind: 'generic', label: view.label, outcome: 'cancelled' } }
997
+ : {};
998
+ }
963
999
  if (view?.kind !== 'diff')
964
1000
  return {};
965
1001
  const serialized = JSON.stringify(view);
@@ -996,11 +1032,11 @@ export class ToolExecutor {
996
1032
  // Same precedence the request already uses when it decides which
997
1033
  // schemas to send, so the menu and the kitchen agree.
998
1034
  allowedTools: this.effectiveAllowedTools(),
999
- // Recorded, not applied here: a skill loaded during this batch
1000
- // narrows the NEXT one. See `skillScope`.
1001
- adoptSkillScope: (scope) => {
1002
- this.skillScope = { ...scope, adoptedInBatch: this.batchCounter };
1003
- },
1035
+ // A skill loaded during this batch pre-approves calls from the NEXT
1036
+ // review on; this batch was already reviewed. See `grantSkillTools`.
1037
+ ...(this.config.skillGrants
1038
+ ? { grantSkillTools: (grant) => this.grantSkillTools(grant) }
1039
+ : {}),
1004
1040
  maxToolOutputChars: this.config.maxToolOutputChars ?? DEFAULT_MAX_TOOL_OUTPUT_CHARS,
1005
1041
  // The turn's screens, defaulted HERE rather than on the registry: a
1006
1042
  // host builds the registry and hands it over, so a registry-side
@@ -1042,9 +1078,9 @@ export class ToolExecutor {
1042
1078
  env: this.config.env,
1043
1079
  ...(this.config.sandbox?.spawnDetached
1044
1080
  ? {
1045
- spawn: (job) => this.config.sandbox.spawnDetached?.('/bin/sh', ['-c', job.command], {
1081
+ spawn: (job) => this.config.sandbox.spawnDetached?.(sandboxShellSpawn(job.command).file, sandboxShellSpawn(job.command).args, {
1046
1082
  cwd: job.workingDirectory,
1047
- ...(job.env ? { env: job.env } : {}),
1083
+ ...(job.env ? { env: withoutBashStartup(job.env) } : {}),
1048
1084
  }),
1049
1085
  }
1050
1086
  : {}),
@@ -1468,6 +1504,12 @@ export class ToolExecutor {
1468
1504
  // a result whose image is unaffected — and a hook that needs it gone
1469
1505
  // says so with `content`, which wins over both.
1470
1506
  ...(modelContent !== undefined ? { content: modelContent } : {}),
1507
+ // Carried whatever a post-tool hook did to the text: the request is
1508
+ // the tool's statement about the world, not about its output, and a
1509
+ // hook that redacts a sign-in page has not signed anyone in.
1510
+ ...(result.handoff !== undefined && !this.config.abortSignal.aborted
1511
+ ? { handoff: result.handoff }
1512
+ : {}),
1471
1513
  };
1472
1514
  }
1473
1515
  /**