@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/tools/builtins/browser.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
- /**
2
- * `allowed-tools` as a list.
3
- *
4
- * Comma-separated in the frontmatter because that is what authors write and
5
- * what the field has always accepted. Split here rather than at parse so
6
- * the stored metadata keeps the author's own string — the same reasoning
7
- * `invocation` uses for not defaulting at parse.
8
- */
9
- export declare function parseAllowedTools(declared: string | undefined): readonly string[] | undefined;
1
+ import { parseAllowedTools } from '../../authorization/skill-grant.js';
2
+ export { parseAllowedTools };
10
3
  export declare const SKILL_TOOL_NAME = "skill";
11
4
  export declare const SkillTool: import("../../public-types.js").ToolDefinition<{
12
5
  name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"AAyOA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAW7F;AAED,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,SAAS;;;EAmMpB,CAAA"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAItE,OAAO,EAAE,iBAAiB,EAAE,CAAA;AA2O5B,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,SAAS;;;EAiNpB,CAAA"}
@@ -1,21 +1,24 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { z } from 'zod';
3
+ import { parseAllowedTools } from '../../authorization/skill-grant.js';
3
4
  import { isInvocableBy, skillInvocation } from '../../types/skills/index.js';
4
5
  import { defineTool } from '../defineTool.js';
6
+ export { parseAllowedTools };
5
7
  /**
6
- * Load a skill's instructions, and adopt whatever it says it needs.
8
+ * Load a skill's instructions, and apply what its `allowed-tools` grants.
7
9
  *
8
10
  * The manifest in the system prompt told the model that a SKILL.md exists
9
11
  * and to "read the SKILL.md at its <location> before writing code" — which
10
12
  * is a filesystem instruction, so a turn with no filesystem tools could see
11
- * every skill it had and open none of them. The protocol text even admits
12
- * it: *"when the runtime exposes filesystem or skill-loading tools"*. There
13
- * was no skill-loading tool.
13
+ * every skill it had and open none of them. There was no skill-loading tool.
14
14
  *
15
- * `allowed-tools` had the same shape of problem from the other side. It was
16
- * parsed, carried into `SkillMetadata`, rendered into the prompt as
17
- * `<allowed_tools>…</allowed_tools>` — and read by nothing. It was advice
18
- * the model could take or ignore, phrased as a declaration.
15
+ * `allowed-tools` is a PRE-APPROVAL, as the Agent Skills format defines it:
16
+ * the listed tools skip the approval prompt for the rest of this turn, and
17
+ * every other tool stays callable under the turn's ordinary review. It was
18
+ * read here for a while as a restriction — the listed tools and nothing
19
+ * else, from the next batch — which inverted what skill authors mean by it
20
+ * and left a model that loaded `allowed-tools: Read Grep` without `bash`.
21
+ * See `authorization/skill-grant.ts` for what a grant can and cannot do.
19
22
  */
20
23
  const inputSchema = z.object({
21
24
  name: z
@@ -40,6 +43,9 @@ function snapshotDigest(snapshot) {
40
43
  name: snapshot.name,
41
44
  body: snapshot.body,
42
45
  allowedTools: snapshot.allowedTools ?? null,
46
+ ...(snapshot.skillDirectory === undefined
47
+ ? {}
48
+ : { skillDirectory: snapshot.skillDirectory }),
43
49
  invocation: snapshot.invocation,
44
50
  }))
45
51
  .digest('base64url');
@@ -166,27 +172,6 @@ function pageSkillBody(input) {
166
172
  }
167
173
  return undefined;
168
174
  }
169
- /**
170
- * `allowed-tools` as a list.
171
- *
172
- * Comma-separated in the frontmatter because that is what authors write and
173
- * what the field has always accepted. Split here rather than at parse so
174
- * the stored metadata keeps the author's own string — the same reasoning
175
- * `invocation` uses for not defaulting at parse.
176
- */
177
- export function parseAllowedTools(declared) {
178
- if (declared === undefined)
179
- return undefined;
180
- const names = declared
181
- .split(',')
182
- .map((name) => name.trim())
183
- .filter((name) => name.length > 0);
184
- // An empty result from a non-empty declaration is a real answer and not
185
- // the same as "declared nothing": `allowed-tools: ""` is an author
186
- // saying this skill needs no tools, and collapsing it to `undefined`
187
- // would silently widen that to everything.
188
- return names;
189
- }
190
175
  export const SKILL_TOOL_NAME = 'skill';
191
176
  export const SkillTool = defineTool({
192
177
  name: SKILL_TOOL_NAME,
@@ -194,12 +179,27 @@ export const SkillTool = defineTool({
194
179
  inputSchema,
195
180
  category: 'analysis',
196
181
  permissions: [],
197
- // Reads instructions and changes nothing. It is the one tool whose
198
- // availability a narrowed skill scope must never remove, or a model
199
- // inside one skill could not reach for another.
182
+ // Reads instructions and changes nothing on disk. What it does change is
183
+ // the turn's approvals, through `grantSkillTools`, and only ever towards
184
+ // fewer prompts for calls the operator's policy already leaves to review.
200
185
  readOnly: true,
201
186
  destructive: false,
202
187
  concurrencySafe: true,
188
+ // The body is instructions for the model, often a hundred lines; the
189
+ // person needs the row that says which skill was read, not the text.
190
+ presentCall(input) {
191
+ const name = typeof input?.name === 'string' ? input.name : undefined;
192
+ return {
193
+ kind: 'generic',
194
+ presentation: 'activity',
195
+ label: name === undefined
196
+ ? input?.cursor === undefined
197
+ ? 'List skills'
198
+ : 'List more skills'
199
+ : `Read skill ${name}${input.cursor === undefined ? '' : ' (continued)'}`,
200
+ };
201
+ },
202
+ presentResult: (_input, result) => result.success ? { kind: 'generic', label: 'read', visibility: 'hidden' } : undefined,
203
203
  async execute(input, context) {
204
204
  if (!context.skills) {
205
205
  return {
@@ -299,6 +299,7 @@ export const SkillTool = defineTool({
299
299
  name: input.name,
300
300
  body: skill.body ?? '(this skill has no body)',
301
301
  allowedTools: allowed,
302
+ skillDirectory: skill.dirPath,
302
303
  invocation,
303
304
  };
304
305
  const digest = snapshotDigest(snapshot);
@@ -317,9 +318,20 @@ export const SkillTool = defineTool({
317
318
  }
318
319
  start = parsed.offset;
319
320
  }
320
- const notice = allowed === undefined
321
- ? ''
322
- : `\n\n[While following this skill, restrict yourself to: ${allowed.length > 0 ? allowed.join(', ') : '(no tools)'}. This takes effect from your next turn.]`;
321
+ // Compiled before paging so the notice can say what the grant is, and
322
+ // committed only after paging succeeded: a load that fails here gave
323
+ // the model no instructions, so it must not have approved anything.
324
+ // Idempotent: a continuation call grants the same entries again, and
325
+ // the turn's set keeps one copy.
326
+ let grant;
327
+ if (allowed !== undefined && allowed.length > 0 && context.grantSkillTools) {
328
+ grant = context.grantSkillTools({
329
+ skill: skill.metadata.name,
330
+ allowedTools: allowed,
331
+ ...(snapshot.skillDirectory ? { skillDirectory: snapshot.skillDirectory } : {}),
332
+ });
333
+ }
334
+ const notice = grantNotice(allowed, grant, context.grantSkillTools !== undefined);
323
335
  const page = pageSkillBody({
324
336
  snapshot,
325
337
  digest,
@@ -334,31 +346,42 @@ export const SkillTool = defineTool({
334
346
  error: `The model-visible tool-output budget is too small to read "${input.name}" safely. Increase maxToolOutputChars and retry.`,
335
347
  };
336
348
  }
337
- // Cursor and policy validation must finish before this mutation. A
338
- // continuation is bound to the body AND its effective authorization
339
- // metadata, so an edit to allowed-tools or invocation cannot widen the
340
- // next batch under an old cursor.
341
- if (allowed !== undefined) {
342
- // Adopted, not merely announced. The notice below tells the model
343
- // what happened; this is what makes it true whether or not the
344
- // model reads it — the difference between the field as it was and
345
- // the field as a declaration.
346
- //
347
- // Absent `adoptSkillScope`, the notice still goes out and is all
348
- // there is: a host driving this tool outside a turn has no executor
349
- // to enforce anything, and saying nothing would be worse than
350
- // advice.
351
- context.adoptSkillScope?.({ skill: skill.metadata.name, allowedTools: allowed });
352
- }
349
+ grant?.commit();
353
350
  return {
354
351
  success: true,
355
352
  output: page.output,
356
353
  data: {
357
354
  skill: skill.metadata.name,
358
355
  ...(allowed === undefined ? {} : { allowedTools: allowed }),
356
+ ...(grant ? { granted: grant.granted, ignored: grant.ignored } : {}),
359
357
  ...(page.nextCursor === undefined ? {} : { nextCursor: page.nextCursor }),
360
358
  },
361
359
  };
362
360
  },
363
361
  });
362
+ /**
363
+ * What the model is told about `allowed-tools`.
364
+ *
365
+ * The sentence that matters most is the second one. The old notice said
366
+ * "restrict yourself to", and a model told that does exactly what the owner
367
+ * reported: it stops using `bash` and tries to do the work through the skill.
368
+ * So the notice says, every time, that nothing was taken away.
369
+ */
370
+ function grantNotice(allowed, grant, canGrant) {
371
+ if (allowed === undefined || allowed.length === 0)
372
+ return '';
373
+ const unchanged = 'Every other tool remains available and is reviewed as usual; this skill does not limit which tools you may use.';
374
+ if (!canGrant || !grant) {
375
+ return `\n\n[This skill lists allowed-tools (${allowed.join(', ')}), but this host applies no pre-approval, so those calls are reviewed as usual. ${unchanged}]`;
376
+ }
377
+ const lines = [];
378
+ lines.push(grant.granted.length > 0
379
+ ? `Pre-approved for the rest of this turn: ${grant.granted.join(', ')}. Deny and ask rules, plan and strict mode, and review of destructive calls still apply.`
380
+ : 'Nothing in allowed-tools could be pre-approved.');
381
+ for (const { entry, reason } of grant.ignored) {
382
+ lines.push(`Ignored allowed-tools entry "${entry}": ${reason}.`);
383
+ }
384
+ lines.push(unchanged);
385
+ return `\n\n[${lines.join(' ')}]`;
386
+ }
364
387
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Which shell runs a `bash` tool command, and in what dialect it must be read.
3
+ *
4
+ * ## Why this is one decision
5
+ *
6
+ * The permission rules read a command line before it runs
7
+ * (`authorization/shell-lexer.ts`), and a reading is only as good as its
8
+ * match with the shell that runs the line afterwards. The tool is called
9
+ * `bash` and its description says bash, but it used to spawn `/bin/sh -c`:
10
+ * bash on some hosts, `dash` on Debian and Ubuntu, `busybox sh` in small
11
+ * images. `$'\x3b'`, `|&`, `&>` and `<<<` mean different things in those,
12
+ * so a line the rules read as bash could run as something else.
13
+ *
14
+ * So the host path now runs bash wherever bash exists, and the reading
15
+ * follows what was actually chosen:
16
+ *
17
+ * - bash found (or named by `NAMZU_BASH_SHELL`) → `bash -c`, read in the
18
+ * `bash` dialect;
19
+ * - no bash → `/bin/sh -c`, read in the conservative `sh` dialect, in which
20
+ * every construct whose meaning differs between bash and a POSIX shell
21
+ * makes a line opaque;
22
+ * - inside a sandbox the guest image decides, and the rules cannot see it,
23
+ * so a small launcher runs bash when the guest has it and `/bin/sh`
24
+ * otherwise, and the line is always read in the `sh` dialect, which is
25
+ * right for either.
26
+ *
27
+ * ## Equivalent to what ran before
28
+ *
29
+ * `/bin/sh -c` read no startup file. `bash -c` reads none either, except
30
+ * the file `BASH_ENV` names, and it imports shell functions (`BASH_FUNC_*`)
31
+ * and parser options (`SHELLOPTS`, `BASHOPTS`) from its environment. Any of
32
+ * those would change what a command line means after the rules read it, so
33
+ * they are removed from the environment of the spawned bash.
34
+ * `NAMZU_BASH_SHELL=/bin/sh` restores the old shell exactly.
35
+ */
36
+ import type { ShellDialect } from '../types/tool/index.js';
37
+ /** The shell a host-side command runs in. */
38
+ export interface CommandShell {
39
+ /** The executable, run as `<path> -c <command>`. Undefined: Node's platform shell (Windows). */
40
+ readonly path: string | undefined;
41
+ /** How the permission rules read a line this shell runs. */
42
+ readonly dialect: ShellDialect;
43
+ /** Where the choice came from, for diagnostics. */
44
+ readonly source: 'override' | 'bash' | 'sh' | 'platform';
45
+ }
46
+ /** What resolution looks at. Injected by tests to simulate a host without bash. */
47
+ export interface CommandShellProbe {
48
+ readonly env: NodeJS.ProcessEnv;
49
+ readonly platform: NodeJS.Platform;
50
+ readonly isExecutable: (path: string) => boolean;
51
+ }
52
+ export declare function findCommandShell(probe: CommandShellProbe): CommandShell;
53
+ /**
54
+ * The host's command shell, resolved once per process. The same value serves
55
+ * the permission rules and the spawn, so the two cannot disagree.
56
+ */
57
+ export declare function hostCommandShell(): CommandShell;
58
+ /** Replace the resolved host shell; `undefined` resolves again on next use. For tests. */
59
+ export declare function setHostCommandShellForTesting(shell: CommandShell | undefined): void;
60
+ /**
61
+ * The spawn for one command on the host: executable, arguments, environment.
62
+ * For bash, the variables that would change the line's meaning are dropped.
63
+ */
64
+ export declare function hostShellSpawn(command: string, env: NodeJS.ProcessEnv, shell?: CommandShell): {
65
+ readonly file: string | undefined;
66
+ readonly args: readonly string[];
67
+ readonly env: NodeJS.ProcessEnv;
68
+ };
69
+ export declare function withoutBashStartup<T extends Readonly<Record<string, string | undefined>>>(env: T): T;
70
+ /**
71
+ * The command a sandbox runs for one command line: bash when the guest has
72
+ * it, `/bin/sh` otherwise. The rules read a sandboxed line in the `sh`
73
+ * dialect, which holds for both. The command is passed as an argument, never
74
+ * spliced into the launcher's text.
75
+ *
76
+ * The launcher does not `unset` the startup variables: where `/bin/sh` is
77
+ * bash, `SHELLOPTS` arriving in the environment is readonly and `unset`
78
+ * fails. The guest's environment is an allowlist plus the host's `env`, so
79
+ * callers drop them from that `env` with {@link withoutBashStartup}.
80
+ */
81
+ export declare const SANDBOX_SHELL_LAUNCHER = "if command -v bash >/dev/null 2>&1; then exec bash -c \"$1\"; fi; exec /bin/sh -c \"$1\"";
82
+ export declare function sandboxShellSpawn(command: string): {
83
+ readonly file: string;
84
+ readonly args: string[];
85
+ };
86
+ /** The dialect a `bash` tool command is read in. */
87
+ export declare function bashToolDialect(context: {
88
+ readonly sandboxed: boolean;
89
+ }): ShellDialect;
90
+ //# sourceMappingURL=command-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-shell.d.ts","sourceRoot":"","sources":["../../src/tools/command-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;CACxD;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAChD;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAoBvE;AAaD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAK/C;AAED,0FAA0F;AAC1F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAEnF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,GAAE,YAAiC,GACtC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAC/B,CAIA;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACxF,GAAG,EAAE,CAAC,GACJ,CAAC,CAOH;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,6FACoD,CAAA;AAEvF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CACvB,CAEA;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAEtF"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Which shell runs a `bash` tool command, and in what dialect it must be read.
3
+ *
4
+ * ## Why this is one decision
5
+ *
6
+ * The permission rules read a command line before it runs
7
+ * (`authorization/shell-lexer.ts`), and a reading is only as good as its
8
+ * match with the shell that runs the line afterwards. The tool is called
9
+ * `bash` and its description says bash, but it used to spawn `/bin/sh -c`:
10
+ * bash on some hosts, `dash` on Debian and Ubuntu, `busybox sh` in small
11
+ * images. `$'\x3b'`, `|&`, `&>` and `<<<` mean different things in those,
12
+ * so a line the rules read as bash could run as something else.
13
+ *
14
+ * So the host path now runs bash wherever bash exists, and the reading
15
+ * follows what was actually chosen:
16
+ *
17
+ * - bash found (or named by `NAMZU_BASH_SHELL`) → `bash -c`, read in the
18
+ * `bash` dialect;
19
+ * - no bash → `/bin/sh -c`, read in the conservative `sh` dialect, in which
20
+ * every construct whose meaning differs between bash and a POSIX shell
21
+ * makes a line opaque;
22
+ * - inside a sandbox the guest image decides, and the rules cannot see it,
23
+ * so a small launcher runs bash when the guest has it and `/bin/sh`
24
+ * otherwise, and the line is always read in the `sh` dialect, which is
25
+ * right for either.
26
+ *
27
+ * ## Equivalent to what ran before
28
+ *
29
+ * `/bin/sh -c` read no startup file. `bash -c` reads none either, except
30
+ * the file `BASH_ENV` names, and it imports shell functions (`BASH_FUNC_*`)
31
+ * and parser options (`SHELLOPTS`, `BASHOPTS`) from its environment. Any of
32
+ * those would change what a command line means after the rules read it, so
33
+ * they are removed from the environment of the spawned bash.
34
+ * `NAMZU_BASH_SHELL=/bin/sh` restores the old shell exactly.
35
+ */
36
+ import { constants, accessSync } from 'node:fs';
37
+ import { delimiter, join } from 'node:path';
38
+ const WELL_KNOWN_BASH = ['/bin/bash', '/usr/bin/bash'];
39
+ /** Environment variables that change what a bash command line means. */
40
+ const BASH_STARTUP_VARIABLES = new Set(['BASH_ENV', 'ENV', 'SHELLOPTS', 'BASHOPTS']);
41
+ export function findCommandShell(probe) {
42
+ const override = probe.env.NAMZU_BASH_SHELL;
43
+ if (override !== undefined && override !== '') {
44
+ // Read as bash only when it is bash; anything else gets the reading
45
+ // that holds for every POSIX shell.
46
+ const name = override.slice(override.lastIndexOf('/') + 1);
47
+ return { path: override, dialect: name === 'bash' ? 'bash' : 'sh', source: 'override' };
48
+ }
49
+ // Windows keeps Node's platform shell. Looking `bash` up on its PATH can
50
+ // find WSL's launcher, which runs the command in another system.
51
+ if (probe.platform === 'win32')
52
+ return { path: undefined, dialect: 'sh', source: 'platform' };
53
+ for (const directory of (probe.env.PATH ?? '').split(delimiter)) {
54
+ if (directory === '' || !directory.startsWith('/'))
55
+ continue;
56
+ const candidate = join(directory, 'bash');
57
+ if (probe.isExecutable(candidate))
58
+ return { path: candidate, dialect: 'bash', source: 'bash' };
59
+ }
60
+ for (const candidate of WELL_KNOWN_BASH) {
61
+ if (probe.isExecutable(candidate))
62
+ return { path: candidate, dialect: 'bash', source: 'bash' };
63
+ }
64
+ return { path: '/bin/sh', dialect: 'sh', source: 'sh' };
65
+ }
66
+ function isExecutable(path) {
67
+ try {
68
+ accessSync(path, constants.X_OK);
69
+ return true;
70
+ }
71
+ catch {
72
+ return false;
73
+ }
74
+ }
75
+ let resolved;
76
+ /**
77
+ * The host's command shell, resolved once per process. The same value serves
78
+ * the permission rules and the spawn, so the two cannot disagree.
79
+ */
80
+ export function hostCommandShell() {
81
+ if (resolved === undefined) {
82
+ resolved = findCommandShell({ env: process.env, platform: process.platform, isExecutable });
83
+ }
84
+ return resolved;
85
+ }
86
+ /** Replace the resolved host shell; `undefined` resolves again on next use. For tests. */
87
+ export function setHostCommandShellForTesting(shell) {
88
+ resolved = shell;
89
+ }
90
+ /**
91
+ * The spawn for one command on the host: executable, arguments, environment.
92
+ * For bash, the variables that would change the line's meaning are dropped.
93
+ */
94
+ export function hostShellSpawn(command, env, shell = hostCommandShell()) {
95
+ if (shell.path === undefined)
96
+ return { file: undefined, args: [command], env };
97
+ if (shell.dialect !== 'bash')
98
+ return { file: shell.path, args: ['-c', command], env };
99
+ return { file: shell.path, args: ['-c', command], env: withoutBashStartup(env) };
100
+ }
101
+ export function withoutBashStartup(env) {
102
+ const out = {};
103
+ for (const [name, value] of Object.entries(env)) {
104
+ if (BASH_STARTUP_VARIABLES.has(name) || name.startsWith('BASH_FUNC_'))
105
+ continue;
106
+ out[name] = value;
107
+ }
108
+ return out;
109
+ }
110
+ /**
111
+ * The command a sandbox runs for one command line: bash when the guest has
112
+ * it, `/bin/sh` otherwise. The rules read a sandboxed line in the `sh`
113
+ * dialect, which holds for both. The command is passed as an argument, never
114
+ * spliced into the launcher's text.
115
+ *
116
+ * The launcher does not `unset` the startup variables: where `/bin/sh` is
117
+ * bash, `SHELLOPTS` arriving in the environment is readonly and `unset`
118
+ * fails. The guest's environment is an allowlist plus the host's `env`, so
119
+ * callers drop them from that `env` with {@link withoutBashStartup}.
120
+ */
121
+ export const SANDBOX_SHELL_LAUNCHER = 'if command -v bash >/dev/null 2>&1; then exec bash -c "$1"; fi; exec /bin/sh -c "$1"';
122
+ export function sandboxShellSpawn(command) {
123
+ return { file: '/bin/sh', args: ['-c', SANDBOX_SHELL_LAUNCHER, 'sh', command] };
124
+ }
125
+ /** The dialect a `bash` tool command is read in. */
126
+ export function bashToolDialect(context) {
127
+ return context.sandboxed ? 'sh' : hostCommandShell().dialect;
128
+ }
129
+ //# sourceMappingURL=command-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-shell.js","sourceRoot":"","sources":["../../src/tools/command-shell.ts"],"names":[],"mappings":"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"}
@@ -54,11 +54,24 @@ export interface DefineToolOptions<S extends z.ZodType> {
54
54
  * hand-written definitions can use.
55
55
  */
56
56
  commandArgument?: string;
57
+ /** The shell the command argument runs in; see {@link ToolDefinition.commandDialect}. */
58
+ commandDialect?: ToolDefinition['commandDialect'];
57
59
  /** The argument holding a filesystem path; see {@link ToolDefinition.pathArgument}. */
58
60
  pathArgument?: string;
61
+ /** The argument holding a canonical URL; see {@link ToolDefinition.urlArgument}. */
62
+ urlArgument?: string;
59
63
  /** The argument asking to leave the sandbox; see {@link ToolDefinition.sandboxEscapeArgument}. */
60
64
  sandboxEscapeArgument?: string;
61
65
  execute(input: z.infer<S>, context: ToolContext): Promise<ToolResult>;
62
66
  }
67
+ /**
68
+ * Whether a tool declares every call destructive, whatever the input.
69
+ *
70
+ * Known only for a tool built by {@link defineTool} with `destructive: true`.
71
+ * A hand-written definition, or one whose flag depends on the input, answers
72
+ * `false`: its calls are still judged one by one, so nothing is lost but an
73
+ * early warning.
74
+ */
75
+ export declare function isAlwaysDestructive(tool: Pick<ToolDefinition, 'isDestructive'>): boolean;
63
76
  export declare function defineTool<S extends z.ZodType>(options: DefineToolOptions<S>): ToolDefinition<z.infer<S>>;
64
77
  //# sourceMappingURL=defineTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kGAAkG;IAClG,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAgD5B"}
1
+ {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yFAAyF;IACzF,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACjD,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAaD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,OAAO,CAExF;AAQD,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAkD5B"}