@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.
- package/CHANGELOG.md +94 -0
- package/dist/authorization/command-line.d.ts +66 -19
- package/dist/authorization/command-line.d.ts.map +1 -1
- package/dist/authorization/command-line.js +130 -270
- package/dist/authorization/command-line.js.map +1 -1
- package/dist/authorization/gate.d.ts +7 -0
- package/dist/authorization/gate.d.ts.map +1 -1
- package/dist/authorization/gate.js +13 -3
- package/dist/authorization/gate.js.map +1 -1
- package/dist/authorization/rules.d.ts +10 -1
- package/dist/authorization/rules.d.ts.map +1 -1
- package/dist/authorization/rules.js +55 -8
- package/dist/authorization/rules.js.map +1 -1
- package/dist/authorization/shell-lexer.d.ts +152 -0
- package/dist/authorization/shell-lexer.d.ts.map +1 -0
- package/dist/authorization/shell-lexer.js +2156 -0
- package/dist/authorization/shell-lexer.js.map +1 -0
- package/dist/authorization/skill-grant.d.ts +182 -0
- package/dist/authorization/skill-grant.d.ts.map +1 -0
- package/dist/authorization/skill-grant.js +314 -0
- package/dist/authorization/skill-grant.js.map +1 -0
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +2 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +1 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/directory/types.d.ts +2 -0
- package/dist/directory/types.d.ts.map +1 -1
- package/dist/directory/types.js.map +1 -1
- package/dist/manager/resident/outbox.d.ts +4 -4
- package/dist/persona/assembler.d.ts.map +1 -1
- package/dist/persona/assembler.js +5 -2
- package/dist/persona/assembler.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +1 -0
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/public-runtime.d.ts +5 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +15 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +4 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +12 -1
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +9 -1
- package/dist/public-types.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +2 -2
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +6 -2
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/declined.d.ts +12 -0
- package/dist/runtime/query/declined.d.ts.map +1 -0
- package/dist/runtime/query/declined.js +12 -0
- package/dist/runtime/query/declined.js.map +1 -0
- package/dist/runtime/query/executor.d.ts +36 -40
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +95 -53
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +8 -0
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +13 -0
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +13 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/handoff.d.ts +22 -0
- package/dist/runtime/query/iteration/phases/handoff.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/handoff.js +65 -0
- package/dist/runtime/query/iteration/phases/handoff.js.map +1 -0
- package/dist/runtime/query/iteration/phases/index.d.ts +1 -0
- package/dist/runtime/query/iteration/phases/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/index.js +1 -0
- package/dist/runtime/query/iteration/phases/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +56 -3
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +3 -2
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +11 -0
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +36 -3
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +3 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/schedules/cron.d.ts +21 -0
- package/dist/schedules/cron.d.ts.map +1 -0
- package/dist/schedules/cron.js +167 -0
- package/dist/schedules/cron.js.map +1 -0
- package/dist/schedules/describe.d.ts +14 -0
- package/dist/schedules/describe.d.ts.map +1 -0
- package/dist/schedules/describe.js +133 -0
- package/dist/schedules/describe.js.map +1 -0
- package/dist/schedules/errors.d.ts +11 -0
- package/dist/schedules/errors.d.ts.map +1 -0
- package/dist/schedules/errors.js +15 -0
- package/dist/schedules/errors.js.map +1 -0
- package/dist/schedules/evaluate.d.ts +35 -0
- package/dist/schedules/evaluate.d.ts.map +1 -0
- package/dist/schedules/evaluate.js +158 -0
- package/dist/schedules/evaluate.js.map +1 -0
- package/dist/schedules/index.d.ts +11 -0
- package/dist/schedules/index.d.ts.map +1 -0
- package/dist/schedules/index.js +8 -0
- package/dist/schedules/index.js.map +1 -0
- package/dist/schedules/next-fire.d.ts +50 -0
- package/dist/schedules/next-fire.d.ts.map +1 -0
- package/dist/schedules/next-fire.js +250 -0
- package/dist/schedules/next-fire.js.map +1 -0
- package/dist/schedules/spec.d.ts +30 -0
- package/dist/schedules/spec.d.ts.map +1 -0
- package/dist/schedules/spec.js +169 -0
- package/dist/schedules/spec.js.map +1 -0
- package/dist/schedules/types.d.ts +144 -0
- package/dist/schedules/types.d.ts.map +1 -0
- package/dist/schedules/types.js +11 -0
- package/dist/schedules/types.js.map +1 -0
- package/dist/schedules/tz.d.ts +44 -0
- package/dist/schedules/tz.d.ts.map +1 -0
- package/dist/schedules/tz.js +141 -0
- package/dist/schedules/tz.js.map +1 -0
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +21 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +51 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +18 -6
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/browser-url.d.ts +83 -0
- package/dist/tools/builtins/browser-url.d.ts.map +1 -0
- package/dist/tools/builtins/browser-url.js +240 -0
- package/dist/tools/builtins/browser-url.js.map +1 -0
- package/dist/tools/builtins/browser.d.ts +367 -0
- package/dist/tools/builtins/browser.d.ts.map +1 -0
- package/dist/tools/builtins/browser.js +704 -0
- package/dist/tools/builtins/browser.js.map +1 -0
- package/dist/tools/builtins/skill.d.ts +2 -9
- package/dist/tools/builtins/skill.d.ts.map +1 -1
- package/dist/tools/builtins/skill.js +74 -51
- package/dist/tools/builtins/skill.js.map +1 -1
- package/dist/tools/command-shell.d.ts +90 -0
- package/dist/tools/command-shell.d.ts.map +1 -0
- package/dist/tools/command-shell.js +129 -0
- package/dist/tools/command-shell.js.map +1 -0
- package/dist/tools/defineTool.d.ts +13 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +30 -1
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/schedules/index.d.ts +5 -0
- package/dist/tools/schedules/index.d.ts.map +1 -0
- package/dist/tools/schedules/index.js +4 -0
- package/dist/tools/schedules/index.js.map +1 -0
- package/dist/tools/schedules/loop-tool.d.ts +14 -0
- package/dist/tools/schedules/loop-tool.d.ts.map +1 -0
- package/dist/tools/schedules/loop-tool.js +81 -0
- package/dist/tools/schedules/loop-tool.js.map +1 -0
- package/dist/tools/schedules/present.d.ts +16 -0
- package/dist/tools/schedules/present.d.ts.map +1 -0
- package/dist/tools/schedules/present.js +69 -0
- package/dist/tools/schedules/present.js.map +1 -0
- package/dist/tools/schedules/prompt-scan.d.ts +17 -0
- package/dist/tools/schedules/prompt-scan.d.ts.map +1 -0
- package/dist/tools/schedules/prompt-scan.js +92 -0
- package/dist/tools/schedules/prompt-scan.js.map +1 -0
- package/dist/tools/schedules/schedule-tool.d.ts +16 -0
- package/dist/tools/schedules/schedule-tool.d.ts.map +1 -0
- package/dist/tools/schedules/schedule-tool.js +327 -0
- package/dist/tools/schedules/schedule-tool.js.map +1 -0
- package/dist/tools/schedules/types.d.ts +184 -0
- package/dist/tools/schedules/types.d.ts.map +1 -0
- package/dist/tools/schedules/types.js +11 -0
- package/dist/tools/schedules/types.js.map +1 -0
- package/dist/types/authorization/index.d.ts +86 -9
- package/dist/types/authorization/index.d.ts.map +1 -1
- package/dist/types/authorization/index.js +11 -1
- package/dist/types/authorization/index.js.map +1 -1
- package/dist/types/browser/index.d.ts +280 -0
- package/dist/types/browser/index.d.ts.map +1 -0
- package/dist/types/browser/index.js +12 -0
- package/dist/types/browser/index.js.map +1 -0
- package/dist/types/hitl/index.d.ts +23 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/session/events.d.ts +6 -0
- package/dist/types/session/events.d.ts.map +1 -1
- package/dist/types/session/events.js.map +1 -1
- package/dist/types/session/records.d.ts +23 -0
- package/dist/types/session/records.d.ts.map +1 -1
- package/dist/types/session/records.js +9 -0
- package/dist/types/session/records.js.map +1 -1
- package/dist/types/tool/index.d.ts +108 -5
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +7 -0
- package/dist/types/tool/presentation.d.ts.map +1 -1
- package/dist/utils/frontmatter.d.ts +35 -3
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +45 -5
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/id.d.ts +8 -0
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +12 -0
- package/dist/utils/id.js.map +1 -1
- package/package.json +1 -1
- package/src/authorization/command-line.ts +148 -293
- package/src/authorization/gate.ts +22 -2
- package/src/authorization/rules.ts +67 -8
- package/src/authorization/shell-lexer.ts +2349 -0
- package/src/authorization/skill-grant.ts +400 -0
- package/src/bridge/a2a/mapper.ts +2 -0
- package/src/bridge/sse/mapper.ts +1 -0
- package/src/directory/types.ts +2 -0
- package/src/persona/assembler.ts +5 -2
- package/src/prompt/coding-agent-doctrine.ts +1 -0
- package/src/public-runtime.ts +37 -0
- package/src/public-tools.ts +37 -1
- package/src/public-types.ts +57 -0
- package/src/runtime/jobs/registry.ts +19 -11
- package/src/runtime/query/declined.ts +12 -0
- package/src/runtime/query/executor.ts +116 -56
- package/src/runtime/query/index.ts +8 -0
- package/src/runtime/query/iteration/index.ts +13 -0
- package/src/runtime/query/iteration/phases/context.ts +13 -0
- package/src/runtime/query/iteration/phases/handoff.ts +74 -0
- package/src/runtime/query/iteration/phases/index.ts +1 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +55 -3
- package/src/runtime/query/resume-pending.ts +3 -2
- package/src/runtime/query/review-policy.ts +57 -3
- package/src/runtime/query/tooling.ts +4 -0
- package/src/schedules/cron.ts +202 -0
- package/src/schedules/describe.ts +138 -0
- package/src/schedules/errors.ts +15 -0
- package/src/schedules/evaluate.ts +178 -0
- package/src/schedules/index.ts +18 -0
- package/src/schedules/next-fire.ts +257 -0
- package/src/schedules/spec.ts +210 -0
- package/src/schedules/types.ts +163 -0
- package/src/schedules/tz.ts +155 -0
- package/src/skills/index.ts +1 -1
- package/src/skills/loader.ts +59 -1
- package/src/tools/builtins/bash.ts +24 -6
- package/src/tools/builtins/browser-url.ts +251 -0
- package/src/tools/builtins/browser.ts +817 -0
- package/src/tools/builtins/skill.ts +92 -53
- package/src/tools/command-shell.ts +166 -0
- package/src/tools/defineTool.ts +36 -1
- package/src/tools/schedules/index.ts +4 -0
- package/src/tools/schedules/loop-tool.ts +85 -0
- package/src/tools/schedules/present.ts +86 -0
- package/src/tools/schedules/prompt-scan.ts +96 -0
- package/src/tools/schedules/schedule-tool.ts +376 -0
- package/src/tools/schedules/types.ts +197 -0
- package/src/types/authorization/index.ts +60 -2
- package/src/types/browser/index.ts +341 -0
- package/src/types/hitl/index.ts +21 -0
- package/src/types/session/events.ts +6 -0
- package/src/types/session/records.ts +10 -0
- package/src/types/tool/index.ts +109 -5
- package/src/types/tool/presentation.ts +7 -0
- package/src/utils/frontmatter.ts +81 -5
- 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
|
-
|
|
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":"
|
|
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
|
|
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.
|
|
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`
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
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.
|
|
198
|
-
//
|
|
199
|
-
//
|
|
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
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
-
|
|
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;
|
|
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"}
|