@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":"shell-lexer.js","sourceRoot":"","sources":["../../src/authorization/shell-lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A skill's `allowed-tools`, as what it is everywhere else: a pre-approval.
|
|
3
|
+
*
|
|
4
|
+
* The field comes from the Agent Skills format, and the runtime that made it
|
|
5
|
+
* popular documents it plainly: the listed tools may be used without asking
|
|
6
|
+
* for the rest of the turn that loaded the skill, and "it does not restrict
|
|
7
|
+
* which tools are available: every tool remains callable, and your permission
|
|
8
|
+
* settings still govern tools that are not listed."
|
|
9
|
+
*
|
|
10
|
+
* This kernel read it the other way round, as a RESTRICTION. A skill written
|
|
11
|
+
* for that ecosystem says `allowed-tools: Read Grep` to mean "these two are
|
|
12
|
+
* fine without a prompt", and a turn that loaded it here lost `bash` on its
|
|
13
|
+
* next batch and was told to "restrict yourself to" two tools — so the model
|
|
14
|
+
* stopped doing the work and tried to do everything through whatever the
|
|
15
|
+
* skill described. The field was never meant to take anything away.
|
|
16
|
+
*
|
|
17
|
+
* What it grants, and what it does not:
|
|
18
|
+
*
|
|
19
|
+
* - **Grants**: a call that matches an entry skips the approval PROMPT for the
|
|
20
|
+
* rest of the turn, on the same footing as a person answering "allow" for
|
|
21
|
+
* the turn. The turn ends, the grant ends; loading the skill again in a
|
|
22
|
+
* later turn grants again.
|
|
23
|
+
* - **Never overrides**: an operator `deny` rule, an operator `ask` rule, plan
|
|
24
|
+
* mode, `strict` mode, an escalation (a path argument outside the working
|
|
25
|
+
* directory, a sandbox escape), or a call the tool itself declares
|
|
26
|
+
* destructive. Those are all statements by the operator or the tool; a
|
|
27
|
+
* skill is repository content and cannot outrank either. `bash` has no path
|
|
28
|
+
* argument, so a pattern entry refuses output redirection itself (see
|
|
29
|
+
* `coveringSkill`); a whole-tool `Bash` entry grants what any line does.
|
|
30
|
+
* - **Ends early**: when the operator sends another message into the running
|
|
31
|
+
* turn, the iteration clears the set.
|
|
32
|
+
* - **Never adds a tool**: an entry names a tool this turn already has, or it
|
|
33
|
+
* is ignored and the model is told so. An unknown name widens nothing.
|
|
34
|
+
*
|
|
35
|
+
* Granting is equivalent to the operator trusting that skill's commands,
|
|
36
|
+
* which is why only a skill the host chose to load can grant anything; see
|
|
37
|
+
* `docs/` for the CLI's folder-trust story.
|
|
38
|
+
*/
|
|
39
|
+
import type { ToolDefinition } from '../types/tool/index.js';
|
|
40
|
+
import type { ShellDialect } from './shell-lexer.js';
|
|
41
|
+
/**
|
|
42
|
+
* Split an `allowed-tools` value into entries.
|
|
43
|
+
*
|
|
44
|
+
* Accepts every spelling the format uses: space-separated (`Read Grep Bash`),
|
|
45
|
+
* comma-separated (`Read, Grep`), and — once the frontmatter reader has turned
|
|
46
|
+
* a YAML list into one line — the items of a list. Separators inside
|
|
47
|
+
* parentheses belong to the entry, so `Bash(git add *)` stays one entry.
|
|
48
|
+
*
|
|
49
|
+
* `undefined` means the skill declared nothing. An empty array means it
|
|
50
|
+
* declared the field empty. Neither grants anything, and neither restricts
|
|
51
|
+
* anything, so the distinction survives only for a host that wants to show
|
|
52
|
+
* what the author wrote.
|
|
53
|
+
*/
|
|
54
|
+
export declare function parseAllowedTools(declared: string | undefined): readonly string[] | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* The tool names the Agent Skills ecosystem writes, and what they are here.
|
|
57
|
+
*
|
|
58
|
+
* Keyed lower-case: names are matched without regard to case, because a skill
|
|
59
|
+
* author writes `Read` and this kernel's tool is `read`, and a grant lost to
|
|
60
|
+
* capitalisation is a prompt nobody can explain.
|
|
61
|
+
*/
|
|
62
|
+
export declare const SKILL_TOOL_NAME_ALIASES: Readonly<Record<string, string>>;
|
|
63
|
+
/**
|
|
64
|
+
* How a grant compiler learns what a name means in this turn: the registered
|
|
65
|
+
* tool a name refers to, or `undefined` for one this turn does not have.
|
|
66
|
+
* `commandArgument` is what lets a `Bash(<pattern>)` entry be matched against
|
|
67
|
+
* the command line rather than the serialised input.
|
|
68
|
+
*/
|
|
69
|
+
export type SkillGrantToolResolver = (name: string) => {
|
|
70
|
+
readonly name: string;
|
|
71
|
+
readonly commandArgument?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Every call of this tool is destructive, whatever its input (the
|
|
74
|
+
* shipped `write` and `run_code`). A destructive call is always
|
|
75
|
+
* reviewed, so an entry naming such a tool can grant nothing and is
|
|
76
|
+
* reported as ignored rather than listed as pre-approved.
|
|
77
|
+
*/
|
|
78
|
+
readonly alwaysDestructive?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* The tool is registered but withheld from this turn or step by
|
|
81
|
+
* `allowedTools`. The model cannot call it, so an entry naming it is
|
|
82
|
+
* reported as ignored rather than listed as pre-approved.
|
|
83
|
+
*/
|
|
84
|
+
readonly unavailable?: boolean;
|
|
85
|
+
} | undefined;
|
|
86
|
+
/** One compiled entry: a whole tool, or one tool's command line matching a pattern. */
|
|
87
|
+
export interface SkillGrantEntry {
|
|
88
|
+
/** The registered tool name. */
|
|
89
|
+
readonly tool: string;
|
|
90
|
+
/** Present for a pattern entry: the argument holding the command line. */
|
|
91
|
+
readonly argument?: string;
|
|
92
|
+
/** Present for a pattern entry: an anchored regular-expression source. */
|
|
93
|
+
readonly pattern?: string;
|
|
94
|
+
/** The entry as the author wrote it, for messages. */
|
|
95
|
+
readonly declared: string;
|
|
96
|
+
}
|
|
97
|
+
export interface CompiledSkillGrant {
|
|
98
|
+
readonly entries: readonly SkillGrantEntry[];
|
|
99
|
+
/** Entries that granted nothing, with the reason, for the model and the log. */
|
|
100
|
+
readonly ignored: readonly {
|
|
101
|
+
readonly entry: string;
|
|
102
|
+
readonly reason: string;
|
|
103
|
+
}[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Turn a permission glob into an anchored regular-expression source.
|
|
107
|
+
*
|
|
108
|
+
* The one glob dialect for command permissions, shared with the CLI's
|
|
109
|
+
* `[permissions]` table so that `Bash(git status *)` in a skill and
|
|
110
|
+
* `bash = { "git status *" = "allow" }` in config mean the same commands:
|
|
111
|
+
*
|
|
112
|
+
* - `*` matches any run of characters, `?` exactly one, everything else is
|
|
113
|
+
* literal;
|
|
114
|
+
* - backslashes become forward slashes, so one pattern works on every platform;
|
|
115
|
+
* - a pattern ending in `<space>*` also matches the bare command, so
|
|
116
|
+
* `git status *` covers `git status` as well as `git status -s`, and does
|
|
117
|
+
* not cover `git statusx`.
|
|
118
|
+
*/
|
|
119
|
+
export declare function permissionPatternToRegExpSource(pattern: string): string;
|
|
120
|
+
/**
|
|
121
|
+
* Compile a skill's parsed `allowed-tools` into grant entries.
|
|
122
|
+
*
|
|
123
|
+
* Pure: the resolver supplies everything the turn knows. An entry that cannot
|
|
124
|
+
* be honoured exactly is ignored and reported, never approximated — the only
|
|
125
|
+
* safe approximation of a permission is a narrower one, and "ignored" is the
|
|
126
|
+
* narrowest.
|
|
127
|
+
*/
|
|
128
|
+
export declare function compileSkillGrant(declared: readonly string[], options: {
|
|
129
|
+
readonly resolveTool: SkillGrantToolResolver;
|
|
130
|
+
/** The skill's directory, for `${CLAUDE_SKILL_DIR}` / `${NAMZU_SKILL_DIR}`. */
|
|
131
|
+
readonly skillDirectory?: string;
|
|
132
|
+
}): CompiledSkillGrant;
|
|
133
|
+
/**
|
|
134
|
+
* The skill grants in force for one turn.
|
|
135
|
+
*
|
|
136
|
+
* Turn-scoped for the reason `ToolGrantSet` is: a grant is a statement about
|
|
137
|
+
* this turn's work. It is created with the turn and dropped with it, so it
|
|
138
|
+
* never reaches the next message, and a delegated child — which runs its own
|
|
139
|
+
* turn — starts with an empty one of its own rather than its parent's.
|
|
140
|
+
*/
|
|
141
|
+
export declare class SkillGrantSet {
|
|
142
|
+
private readonly held;
|
|
143
|
+
/** Record a skill's compiled entries. Loading the same skill twice is harmless. */
|
|
144
|
+
grant(skill: string, compiled: CompiledSkillGrant): void;
|
|
145
|
+
/**
|
|
146
|
+
* The skill whose grant covers this call, or `undefined`.
|
|
147
|
+
*
|
|
148
|
+
* A pattern entry is matched the way an operator's `allow` pattern is: per
|
|
149
|
+
* command, every command in the line must match, and a line the reader
|
|
150
|
+
* cannot see through (a substitution, `eval`, a line that does not parse)
|
|
151
|
+
* matches nothing. So
|
|
152
|
+
* `Bash(git status *)` covers `git status -s` and not
|
|
153
|
+
* `git status && git push`.
|
|
154
|
+
*
|
|
155
|
+
* A pattern entry also never covers a line that redirects output into a
|
|
156
|
+
* file (`git status > ~/.bashrc`). The pattern names a command; where its
|
|
157
|
+
* output lands is not part of that command, and the shell's redirection
|
|
158
|
+
* writes wherever the line says without the tool reporting a path.
|
|
159
|
+
* `/dev/null` and descriptor duplication (`2>&1`) are not writes and stay
|
|
160
|
+
* covered. A whole-tool entry (`Bash`) grants the tool as it is, which
|
|
161
|
+
* includes redirection.
|
|
162
|
+
*/
|
|
163
|
+
coveringSkill(call: {
|
|
164
|
+
readonly name: string;
|
|
165
|
+
readonly input: unknown;
|
|
166
|
+
}, toolDef?: ToolDefinition, options?: {
|
|
167
|
+
readonly commandDialect?: ShellDialect;
|
|
168
|
+
}): string | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* Drop every grant. Called when the operator speaks again inside a running
|
|
171
|
+
* turn: the grant belonged to the request that loaded the skill, and a new
|
|
172
|
+
* message is a new request, even when it reaches the same `query()`.
|
|
173
|
+
*/
|
|
174
|
+
clear(): void;
|
|
175
|
+
get size(): number;
|
|
176
|
+
/** What is granted, by skill, as the authors wrote it. */
|
|
177
|
+
list(): {
|
|
178
|
+
readonly skill: string;
|
|
179
|
+
readonly entry: string;
|
|
180
|
+
}[];
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=skill-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-grant.d.ts","sourceRoot":"","sources":["../../src/authorization/skill-grant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAqB7F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BnE,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,KAC/C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC7B,GACD,SAAS,CAAA;AAEZ,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC/B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACvB,EAAE,CAAA;CACH;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE;IACR,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAA;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC,GACC,kBAAkB,CA2EpB;AASD;;;;;;;GAOG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IAEvC,mFAAmF;IACnF,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAmBxD;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CACZ,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EACxD,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,GAAE;QAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAA;KAAO,GACtD,MAAM,GAAG,SAAS;IAgCrB;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0DAA0D;IAC1D,IAAI,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;CAM5D"}
|