@rasensio/aidlc 1.64.0 → 1.66.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/dist/autopilot/driver.d.ts +27 -0
- package/dist/autopilot/driver.d.ts.map +1 -1
- package/dist/autopilot/driver.js +38 -0
- package/dist/autopilot/driver.js.map +1 -1
- package/dist/autopilot/presets.d.ts +2 -0
- package/dist/autopilot/presets.d.ts.map +1 -1
- package/dist/autopilot/presets.js +20 -2
- package/dist/autopilot/presets.js.map +1 -1
- package/dist/autopilot/run.d.ts.map +1 -1
- package/dist/autopilot/run.js +36 -2
- package/dist/autopilot/run.js.map +1 -1
- package/dist/autopilot/state.d.ts +5 -0
- package/dist/autopilot/state.d.ts.map +1 -1
- package/dist/autopilot/state.js +10 -1
- package/dist/autopilot/state.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/compile/adapters/claude-code.d.ts +18 -1
- package/dist/compile/adapters/claude-code.d.ts.map +1 -1
- package/dist/compile/adapters/claude-code.js +66 -3
- package/dist/compile/adapters/claude-code.js.map +1 -1
- package/dist/compile/adapters/codex.d.ts +33 -2
- package/dist/compile/adapters/codex.d.ts.map +1 -1
- package/dist/compile/adapters/codex.js +106 -17
- package/dist/compile/adapters/codex.js.map +1 -1
- package/dist/compile/agents.d.ts +53 -0
- package/dist/compile/agents.d.ts.map +1 -0
- package/dist/compile/agents.js +97 -0
- package/dist/compile/agents.js.map +1 -0
- package/dist/compile/loaders.d.ts.map +1 -1
- package/dist/compile/loaders.js +1 -0
- package/dist/compile/loaders.js.map +1 -1
- package/dist/compile/reviewer-guard.d.ts +47 -0
- package/dist/compile/reviewer-guard.d.ts.map +1 -0
- package/dist/compile/reviewer-guard.js +106 -0
- package/dist/compile/reviewer-guard.js.map +1 -0
- package/dist/core/types.d.ts +25 -0
- package/dist/core/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -6,11 +6,14 @@
|
|
|
6
6
|
* - A single `merge-block` into `AGENTS.md` at project root containing
|
|
7
7
|
* overview, state protocol, per-phase pointers to `.aidlc/skills/`, and
|
|
8
8
|
* context-doc references.
|
|
9
|
+
* - One custom agent per agent definition at `.codex/agents/<name>.toml`, with a
|
|
10
|
+
* read-only sandbox (native-reviewer-agent).
|
|
9
11
|
*
|
|
10
12
|
* Requirements: 1.1, 1.6
|
|
11
13
|
*
|
|
12
14
|
* @module
|
|
13
15
|
*/
|
|
16
|
+
import { AGENT_MARKER_TEXT, findAgent } from '../agents.js';
|
|
14
17
|
import { canonicalSkillFilename, normalizeSkillName } from '../naming.js';
|
|
15
18
|
import { formatCanonicalSkill } from '../skill-format.js';
|
|
16
19
|
/**
|
|
@@ -41,37 +44,90 @@ export function skillDirName(skill) {
|
|
|
41
44
|
*
|
|
42
45
|
* The body is the canonical skill body, not a pointer to it: a pointer is exactly
|
|
43
46
|
* what made Codex second-class.
|
|
47
|
+
*
|
|
48
|
+
* `directives` go above the body, one paragraph each, as Copilot puts its
|
|
49
|
+
* activation line. Before native-reviewer-agent a Codex skill file carried none,
|
|
50
|
+
* so the task-agents rule's condition — the skill's entry says sub-agents are
|
|
51
|
+
* available — could never hold on Codex (AC-15).
|
|
44
52
|
*/
|
|
45
|
-
export function formatCodexSkill(skill) {
|
|
53
|
+
export function formatCodexSkill(skill, directives = []) {
|
|
46
54
|
const lines = ['---'];
|
|
47
55
|
lines.push(`name: ${skillDirName(skill)}`);
|
|
48
56
|
lines.push(`description: ${skill.meta.description}`);
|
|
49
57
|
lines.push('---');
|
|
50
58
|
lines.push('');
|
|
59
|
+
for (const directive of directives) {
|
|
60
|
+
lines.push(directive);
|
|
61
|
+
lines.push('');
|
|
62
|
+
}
|
|
51
63
|
lines.push(skill.body);
|
|
52
64
|
return lines.join('\n');
|
|
53
65
|
}
|
|
54
66
|
/**
|
|
55
|
-
*
|
|
67
|
+
* Every activation directive for a skill's phase, in map order.
|
|
68
|
+
*
|
|
69
|
+
* Every match, not the first: `code-generation` and `subagents` both cover
|
|
70
|
+
* implementation, and the first-match rule would silently drop one. This is
|
|
71
|
+
* Codex's own resolver, so the change reaches Codex output and nothing else —
|
|
72
|
+
* the shared `capability-resolve.ts` stays one-per-phase for the reasons the
|
|
73
|
+
* `question-rendering-rides-capability-map` decision records
|
|
74
|
+
* (native-reviewer-agent/AC-14, DD-3). A `native_mode_hint` naming an entry
|
|
75
|
+
* still wins outright.
|
|
56
76
|
*/
|
|
57
|
-
function
|
|
77
|
+
function getCapabilityDirectives(skill, caps) {
|
|
58
78
|
if (!caps)
|
|
59
|
-
return
|
|
60
|
-
// Check skill-level native_mode_hint first
|
|
79
|
+
return [];
|
|
61
80
|
const hint = skill.meta.native_mode_hint?.codex;
|
|
62
81
|
if (hint) {
|
|
63
|
-
// Look up the named capability in the map
|
|
64
82
|
const entry = caps.capabilities[hint];
|
|
65
83
|
if (entry)
|
|
66
|
-
return entry.activation;
|
|
84
|
+
return [entry.activation];
|
|
67
85
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
86
|
+
return Object.values(caps.capabilities)
|
|
87
|
+
.filter((entry) => entry.phases.includes(skill.meta.phase))
|
|
88
|
+
.map((entry) => entry.activation);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The line that hands a skill to its agent (native-reviewer-agent/AC-16).
|
|
92
|
+
*
|
|
93
|
+
* Codex has no `context: fork`, so the hand-off is an instruction to the session
|
|
94
|
+
* that loaded the skill. The fallback is spelled out because `.codex/` loads only
|
|
95
|
+
* in a trusted project, and a review that quietly ran in the author's session
|
|
96
|
+
* would claim an independence it does not have.
|
|
97
|
+
*/
|
|
98
|
+
export function agentDirective(agent) {
|
|
99
|
+
return (`Run this skill in the \`${agent.name}\` custom agent: start it with spawn_agent, naming ` +
|
|
100
|
+
`\`${agent.name}\`, and give it the instance and artifact. If it is not available, run it in ` +
|
|
101
|
+
'a fresh sub-agent told to edit nothing, and say the review was read-only by request, not by ' +
|
|
102
|
+
'the sandbox.');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* A Codex custom agent file (native-reviewer-agent/AC-12, AC-13).
|
|
106
|
+
*
|
|
107
|
+
* `developer_instructions` is a TOML multi-line *literal* string, which
|
|
108
|
+
* processes no escapes, so markdown passes through byte for byte. The one thing
|
|
109
|
+
* it cannot hold is its own delimiter, and TOML forbids most control characters
|
|
110
|
+
* in it; for those the file is not written at all, because a half-valid TOML file
|
|
111
|
+
* is one Codex refuses to load with the agent's name on it. `description` is a
|
|
112
|
+
* basic string, and `JSON.stringify` of a one-line string is a valid one.
|
|
113
|
+
*
|
|
114
|
+
* `sandbox_mode = "read-only"` is the enforcement. Whether a child spawned from a
|
|
115
|
+
* workspace-write parent keeps it is what the live test checks
|
|
116
|
+
* (native-reviewer-agent/AC-24).
|
|
117
|
+
*/
|
|
118
|
+
export function formatCodexAgent(agent) {
|
|
119
|
+
if (agent.instructions.includes("'''") || /[\x00-\x08\x0b-\x1f\x7f]/.test(agent.instructions)) {
|
|
120
|
+
return null;
|
|
73
121
|
}
|
|
74
|
-
return
|
|
122
|
+
return [
|
|
123
|
+
`# ${AGENT_MARKER_TEXT}`,
|
|
124
|
+
`name = ${JSON.stringify(agent.name)}`,
|
|
125
|
+
`description = ${JSON.stringify(agent.description)}`,
|
|
126
|
+
'sandbox_mode = "read-only"',
|
|
127
|
+
"developer_instructions = '''",
|
|
128
|
+
`${agent.instructions}'''`,
|
|
129
|
+
'',
|
|
130
|
+
].join('\n');
|
|
75
131
|
}
|
|
76
132
|
/**
|
|
77
133
|
* Build the AGENTS.md managed block content.
|
|
@@ -107,14 +163,30 @@ function buildAgentsBlock(skills, caps, ctx) {
|
|
|
107
163
|
'Invoke one explicitly with `/skills` or `$aidlc-<name>`.');
|
|
108
164
|
lines.push('');
|
|
109
165
|
for (const skill of skills) {
|
|
110
|
-
const
|
|
166
|
+
const directives = getCapabilityDirectives(skill, caps);
|
|
111
167
|
let entry = `- **${skill.meta.phase}**: \`${skillDirName(skill)}\``;
|
|
112
|
-
if (
|
|
113
|
-
entry += ` — ${
|
|
168
|
+
if (directives.length > 0) {
|
|
169
|
+
entry += ` — ${directives.join(' ')}`;
|
|
114
170
|
}
|
|
115
171
|
lines.push(entry);
|
|
116
172
|
}
|
|
117
173
|
lines.push('');
|
|
174
|
+
// The reviewer, and what holds when Codex has not loaded it
|
|
175
|
+
// (native-reviewer-agent/AC-17).
|
|
176
|
+
for (const agent of ctx.agents ?? []) {
|
|
177
|
+
lines.push('## Reviewer Agent');
|
|
178
|
+
lines.push('');
|
|
179
|
+
lines.push(`Reviews run in the \`${agent.name}\` custom agent, defined in ` +
|
|
180
|
+
`\`.codex/agents/${agent.name}.toml\` with \`sandbox_mode = "read-only"\`: the ` +
|
|
181
|
+
'adversarial review (`aidlc-review`) and the per-task check in ' +
|
|
182
|
+
'`.aidlc/resources/rules/task-agents.md`. Start it with spawn_agent, naming ' +
|
|
183
|
+
`\`${agent.name}\`. It replies with its findings; write them unchanged.`);
|
|
184
|
+
lines.push('');
|
|
185
|
+
lines.push('Codex loads `.codex/` only in a trusted project. Where this agent is not loaded, run the ' +
|
|
186
|
+
'review in a fresh sub-agent told to edit nothing, as before — read-only by request, not ' +
|
|
187
|
+
'by the sandbox — and say so in the review.');
|
|
188
|
+
lines.push('');
|
|
189
|
+
}
|
|
118
190
|
// Context-doc references
|
|
119
191
|
const contextEntries = Object.entries(ctx.contextDocs);
|
|
120
192
|
if (contextEntries.length > 0) {
|
|
@@ -161,6 +233,11 @@ export const codexAdapter = {
|
|
|
161
233
|
// anyone who clones the repository. Instruction-only, deliberately
|
|
162
234
|
// (agent-portability/AC-1, AC-46).
|
|
163
235
|
for (const skill of skills) {
|
|
236
|
+
const agent = findAgent(ctx, skill.meta.agent);
|
|
237
|
+
const directives = [
|
|
238
|
+
...(agent ? [agentDirective(agent)] : []),
|
|
239
|
+
...getCapabilityDirectives(skill, caps),
|
|
240
|
+
];
|
|
164
241
|
ops.push({
|
|
165
242
|
kind: 'create',
|
|
166
243
|
path: `.aidlc/skills/${skillFileName(skill)}`,
|
|
@@ -169,9 +246,21 @@ export const codexAdapter = {
|
|
|
169
246
|
ops.push({
|
|
170
247
|
kind: 'create',
|
|
171
248
|
path: `.agents/skills/${skillDirName(skill)}/SKILL.md`,
|
|
172
|
-
content: formatCodexSkill(skill),
|
|
249
|
+
content: formatCodexSkill(skill, directives),
|
|
173
250
|
});
|
|
174
251
|
}
|
|
252
|
+
// 1b. One custom agent per definition. `.codex/agents/` is Codex's project
|
|
253
|
+
// agent directory; like the rest of `.codex/`, it loads only in a trusted
|
|
254
|
+
// project, which the AGENTS.md block says (native-reviewer-agent/AC-12).
|
|
255
|
+
for (const agent of ctx.agents ?? []) {
|
|
256
|
+
const content = formatCodexAgent(agent);
|
|
257
|
+
if (content === null) {
|
|
258
|
+
warnings.push(`agent '${agent.name}': its instructions cannot be a TOML literal string ` +
|
|
259
|
+
"(they contain ''' or a control character) — .codex/agents file not written");
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
ops.push({ kind: 'create', path: `.codex/agents/${agent.name}.toml`, content });
|
|
263
|
+
}
|
|
175
264
|
// 2. Generate managed block in AGENTS.md
|
|
176
265
|
const blockContent = buildAgentsBlock(skills, caps, ctx);
|
|
177
266
|
ops.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definitions, validated on their way from the content package to the
|
|
3
|
+
* adapters (native-reviewer-agent/AC-1, AC-11, DD-1).
|
|
4
|
+
*
|
|
5
|
+
* One definition per agent lives in `packages/content/agents/`. Each adapter
|
|
6
|
+
* that can enforce what the agent may do writes it in its harness's own format:
|
|
7
|
+
* Claude Code as `.claude/agents/<name>.md` plus a command guard, Codex as
|
|
8
|
+
* `.codex/agents/<name>.toml` with a read-only sandbox. They reach the adapters
|
|
9
|
+
* through `ProjectContext.agents`, which is why `plan()` did not grow a
|
|
10
|
+
* parameter — see `ProjectContext.agents` for what `undefined` means there.
|
|
11
|
+
*
|
|
12
|
+
* Validation happens here rather than in the content loader because this is
|
|
13
|
+
* where the values become something: the name a path segment in every project,
|
|
14
|
+
* the commands source text inside a script the harness runs. Both are checked
|
|
15
|
+
* against an allowlist before they become either.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import type { Agent } from '@rasensio/aidlc-content';
|
|
20
|
+
import type { AgentDefinition, ProjectContext, Skill } from '../core/types.js';
|
|
21
|
+
/**
|
|
22
|
+
* Ownership notice for every agent file and guard. Same wording as the rules'
|
|
23
|
+
* marker, so a reader meets one sentence for "generated, do not edit".
|
|
24
|
+
*/
|
|
25
|
+
export declare const AGENT_MARKER = "<!-- aidlc:generated \u2014 framework-owned. Edits are overwritten by `aidlc update`. -->";
|
|
26
|
+
/** The marker as a comment line for files whose syntax is not HTML-friendly. */
|
|
27
|
+
export declare const AGENT_MARKER_TEXT = "aidlc:generated \u2014 framework-owned. Edits are overwritten by `aidlc update`.";
|
|
28
|
+
/**
|
|
29
|
+
* Keep the agents that are safe to write, and say why each other one is not.
|
|
30
|
+
*
|
|
31
|
+
* @param raw - Definitions as the content package parsed them. A test seam;
|
|
32
|
+
* defaults to the content package's own.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveAgents(raw?: Agent[]): {
|
|
35
|
+
agents: AgentDefinition[];
|
|
36
|
+
warnings: string[];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* The agent a skill runs in, or `null` when it names none or none is supplied.
|
|
40
|
+
*
|
|
41
|
+
* Silent, so that each adapter falls back to the plain shim without repeating a
|
|
42
|
+
* warning per platform; `undefinedAgentWarnings` says it once per run.
|
|
43
|
+
*/
|
|
44
|
+
export declare function findAgent(ctx: ProjectContext, name: string | undefined): AgentDefinition | null;
|
|
45
|
+
/**
|
|
46
|
+
* One warning per skill that names an agent nobody defined (AC-11).
|
|
47
|
+
*
|
|
48
|
+
* Raised by `init` and `update` once, beside the adapter pass, rather than by
|
|
49
|
+
* each adapter: the gap is in the content, not in any platform, and two
|
|
50
|
+
* configured platforms would otherwise print it twice.
|
|
51
|
+
*/
|
|
52
|
+
export declare function undefinedAgentWarnings(skills: Skill[], agents: AgentDefinition[]): string[];
|
|
53
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/compile/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAW/E;;;GAGG;AACH,eAAO,MAAM,YAAY,8FAC+D,CAAC;AAEzF,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,qFACiD,CAAC;AAEhF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,KAAK,EAAiB,GAAG;IAC1D,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAmBA;AAcD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAG/F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAQ3F"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definitions, validated on their way from the content package to the
|
|
3
|
+
* adapters (native-reviewer-agent/AC-1, AC-11, DD-1).
|
|
4
|
+
*
|
|
5
|
+
* One definition per agent lives in `packages/content/agents/`. Each adapter
|
|
6
|
+
* that can enforce what the agent may do writes it in its harness's own format:
|
|
7
|
+
* Claude Code as `.claude/agents/<name>.md` plus a command guard, Codex as
|
|
8
|
+
* `.codex/agents/<name>.toml` with a read-only sandbox. They reach the adapters
|
|
9
|
+
* through `ProjectContext.agents`, which is why `plan()` did not grow a
|
|
10
|
+
* parameter — see `ProjectContext.agents` for what `undefined` means there.
|
|
11
|
+
*
|
|
12
|
+
* Validation happens here rather than in the content loader because this is
|
|
13
|
+
* where the values become something: the name a path segment in every project,
|
|
14
|
+
* the commands source text inside a script the harness runs. Both are checked
|
|
15
|
+
* against an allowlist before they become either.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import { loadAgents } from '@rasensio/aidlc-content';
|
|
20
|
+
/** A name that is safe as a filename on every harness. */
|
|
21
|
+
const SAFE_NAME = /^[a-z][a-z0-9-]*$/;
|
|
22
|
+
/**
|
|
23
|
+
* A command prefix the guard may embed: lowercase words separated by single
|
|
24
|
+
* spaces. Nothing here can be an operator, a quote or a path.
|
|
25
|
+
*/
|
|
26
|
+
const SAFE_COMMAND = /^[a-z][a-z0-9-]*(?: [a-z][a-z0-9-]*)*$/;
|
|
27
|
+
/**
|
|
28
|
+
* Ownership notice for every agent file and guard. Same wording as the rules'
|
|
29
|
+
* marker, so a reader meets one sentence for "generated, do not edit".
|
|
30
|
+
*/
|
|
31
|
+
export const AGENT_MARKER = '<!-- aidlc:generated — framework-owned. Edits are overwritten by `aidlc update`. -->';
|
|
32
|
+
/** The marker as a comment line for files whose syntax is not HTML-friendly. */
|
|
33
|
+
export const AGENT_MARKER_TEXT = 'aidlc:generated — framework-owned. Edits are overwritten by `aidlc update`.';
|
|
34
|
+
/**
|
|
35
|
+
* Keep the agents that are safe to write, and say why each other one is not.
|
|
36
|
+
*
|
|
37
|
+
* @param raw - Definitions as the content package parsed them. A test seam;
|
|
38
|
+
* defaults to the content package's own.
|
|
39
|
+
*/
|
|
40
|
+
export function resolveAgents(raw = loadAgents()) {
|
|
41
|
+
const agents = [];
|
|
42
|
+
const warnings = [];
|
|
43
|
+
for (const agent of raw) {
|
|
44
|
+
const problem = whyUnsafe(agent);
|
|
45
|
+
if (problem) {
|
|
46
|
+
warnings.push(`agents: skipped '${agent.name}' — ${problem}`);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
agents.push({
|
|
50
|
+
name: agent.name,
|
|
51
|
+
description: agent.description.trim(),
|
|
52
|
+
commands: [...agent.commands],
|
|
53
|
+
instructions: agent.instructions.replace(/^\n+/, '').replace(/\s+$/, '') + '\n',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return { agents, warnings };
|
|
57
|
+
}
|
|
58
|
+
function whyUnsafe(agent) {
|
|
59
|
+
if (!SAFE_NAME.test(agent.name))
|
|
60
|
+
return 'not a safe name';
|
|
61
|
+
if (agent.description.trim() === '' || /[\r\n]/.test(agent.description.trim())) {
|
|
62
|
+
return 'its description must be one non-empty line';
|
|
63
|
+
}
|
|
64
|
+
if (agent.instructions.trim() === '')
|
|
65
|
+
return 'it has no instructions';
|
|
66
|
+
if (agent.commands.length === 0)
|
|
67
|
+
return 'it lists no commands';
|
|
68
|
+
const bad = agent.commands.find((c) => !SAFE_COMMAND.test(c));
|
|
69
|
+
if (bad !== undefined)
|
|
70
|
+
return `command '${bad}' is not lowercase words`;
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The agent a skill runs in, or `null` when it names none or none is supplied.
|
|
75
|
+
*
|
|
76
|
+
* Silent, so that each adapter falls back to the plain shim without repeating a
|
|
77
|
+
* warning per platform; `undefinedAgentWarnings` says it once per run.
|
|
78
|
+
*/
|
|
79
|
+
export function findAgent(ctx, name) {
|
|
80
|
+
if (!name || !ctx.agents)
|
|
81
|
+
return null;
|
|
82
|
+
return ctx.agents.find((a) => a.name === name) ?? null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* One warning per skill that names an agent nobody defined (AC-11).
|
|
86
|
+
*
|
|
87
|
+
* Raised by `init` and `update` once, beside the adapter pass, rather than by
|
|
88
|
+
* each adapter: the gap is in the content, not in any platform, and two
|
|
89
|
+
* configured platforms would otherwise print it twice.
|
|
90
|
+
*/
|
|
91
|
+
export function undefinedAgentWarnings(skills, agents) {
|
|
92
|
+
const names = new Set(agents.map((a) => a.name));
|
|
93
|
+
return skills
|
|
94
|
+
.filter((s) => s.meta.agent !== undefined && !names.has(s.meta.agent))
|
|
95
|
+
.map((s) => `skill '${s.meta.name}' names agent '${s.meta.agent}', which is not defined — written without it`);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/compile/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,0DAA0D;AAC1D,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC;;;GAGG;AACH,MAAM,YAAY,GAAG,wCAAwC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,sFAAsF,CAAC;AAEzF,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,6EAA6E,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe,UAAU,EAAE;IAIvD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YACrC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI;SAChF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,KAAY;IAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC1D,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/E,OAAO,4CAA4C,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,wBAAwB,CAAC;IACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,YAAY,GAAG,0BAA0B,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAmB,EAAE,IAAwB;IACrE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe,EAAE,MAAyB;IAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrE,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,8CAA8C,CACpG,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/compile/loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAa,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMxE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAe3C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/compile/loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAa,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMxE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAe3C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CA2DvE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAerD;AAqFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EAAE,EACvB,cAAc,SAAoB,GACjC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA0B1C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EAAE,GACpB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB1C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA6BzC;AAqDD,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAmFtE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA8CzF"}
|
package/dist/compile/loaders.js
CHANGED
|
@@ -101,6 +101,7 @@ export function parseSkillFile(content, filePath) {
|
|
|
101
101
|
...(m.native_mode_hint && typeof m.native_mode_hint === 'object'
|
|
102
102
|
? { native_mode_hint: m.native_mode_hint }
|
|
103
103
|
: {}),
|
|
104
|
+
...(m.agent && typeof m.agent === 'string' ? { agent: m.agent } : {}),
|
|
104
105
|
};
|
|
105
106
|
return { meta: skillMeta, body };
|
|
106
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/compile/loaders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/compile/loaders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command guard a Claude Code agent's `PreToolUse` hook runs before each
|
|
3
|
+
* `Bash` call (native-reviewer-agent/AC-4..AC-8, DD-2, DD-5).
|
|
4
|
+
*
|
|
5
|
+
* Why a script and not the agent's `tools` list: Claude Code's `tools` takes
|
|
6
|
+
* tool names only, and a specifier such as `Bash(git diff *)` in
|
|
7
|
+
* `disallowedTools` removes Bash outright. A hook that inspects each command is
|
|
8
|
+
* the harness's documented way to allow some commands and not others.
|
|
9
|
+
* `permissionMode: plan` was the other candidate and loses to a parent session
|
|
10
|
+
* that bypasses permissions — which is how an unattended run starts.
|
|
11
|
+
*
|
|
12
|
+
* The rendered script is an allowlist anchored at the start of the command,
|
|
13
|
+
* never a denylist, and every way it can fail ends in a block:
|
|
14
|
+
*
|
|
15
|
+
* - the script exits 2, Claude Code's blocking code, on anything it does not
|
|
16
|
+
* positively allow — unreadable input included;
|
|
17
|
+
* - the hook command ends `|| exit 2`, so a missing script, a missing `node`, an
|
|
18
|
+
* unset `CLAUDE_PROJECT_DIR` or a crash block as well, instead of being the
|
|
19
|
+
* non-blocking hook error any other exit code is.
|
|
20
|
+
*
|
|
21
|
+
* Commands reach `renderGuard` already validated by `compile/agents.ts` as
|
|
22
|
+
* lowercase words, so embedding them as JSON cannot inject source.
|
|
23
|
+
*
|
|
24
|
+
* @module
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Long options refused even on an allowed command, because each can write a
|
|
28
|
+
* file or run a program: `git diff --output=<file>` writes, and the other two
|
|
29
|
+
* run whatever a config names. Git accepts any unambiguous abbreviation of a
|
|
30
|
+
* long option, so the guard refuses abbreviations too (`--outp=x`).
|
|
31
|
+
*/
|
|
32
|
+
export declare const DANGEROUS_OPTIONS: readonly ["output", "ext-diff", "textconv"];
|
|
33
|
+
/** Repo-relative path of an agent's guard. */
|
|
34
|
+
export declare function guardPath(agentName: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* The hook's shell command. `$CLAUDE_PROJECT_DIR` rather than a relative path:
|
|
37
|
+
* a hook's working directory is the session's, which need not be the root.
|
|
38
|
+
*/
|
|
39
|
+
export declare function guardHookCommand(agentName: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Render the guard script for one agent.
|
|
42
|
+
*
|
|
43
|
+
* @param agentName - Used only in the refusal message.
|
|
44
|
+
* @param commands - Allowed command prefixes, validated by `resolveAgents`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function renderGuard(agentName: string, commands: string[]): string;
|
|
47
|
+
//# sourceMappingURL=reviewer-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer-guard.d.ts","sourceRoot":"","sources":["../../src/compile/reviewer-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,6CAA8C,CAAC;AAE7E,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAsDzE"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command guard a Claude Code agent's `PreToolUse` hook runs before each
|
|
3
|
+
* `Bash` call (native-reviewer-agent/AC-4..AC-8, DD-2, DD-5).
|
|
4
|
+
*
|
|
5
|
+
* Why a script and not the agent's `tools` list: Claude Code's `tools` takes
|
|
6
|
+
* tool names only, and a specifier such as `Bash(git diff *)` in
|
|
7
|
+
* `disallowedTools` removes Bash outright. A hook that inspects each command is
|
|
8
|
+
* the harness's documented way to allow some commands and not others.
|
|
9
|
+
* `permissionMode: plan` was the other candidate and loses to a parent session
|
|
10
|
+
* that bypasses permissions — which is how an unattended run starts.
|
|
11
|
+
*
|
|
12
|
+
* The rendered script is an allowlist anchored at the start of the command,
|
|
13
|
+
* never a denylist, and every way it can fail ends in a block:
|
|
14
|
+
*
|
|
15
|
+
* - the script exits 2, Claude Code's blocking code, on anything it does not
|
|
16
|
+
* positively allow — unreadable input included;
|
|
17
|
+
* - the hook command ends `|| exit 2`, so a missing script, a missing `node`, an
|
|
18
|
+
* unset `CLAUDE_PROJECT_DIR` or a crash block as well, instead of being the
|
|
19
|
+
* non-blocking hook error any other exit code is.
|
|
20
|
+
*
|
|
21
|
+
* Commands reach `renderGuard` already validated by `compile/agents.ts` as
|
|
22
|
+
* lowercase words, so embedding them as JSON cannot inject source.
|
|
23
|
+
*
|
|
24
|
+
* @module
|
|
25
|
+
*/
|
|
26
|
+
import { AGENT_MARKER_TEXT } from './agents.js';
|
|
27
|
+
/**
|
|
28
|
+
* Long options refused even on an allowed command, because each can write a
|
|
29
|
+
* file or run a program: `git diff --output=<file>` writes, and the other two
|
|
30
|
+
* run whatever a config names. Git accepts any unambiguous abbreviation of a
|
|
31
|
+
* long option, so the guard refuses abbreviations too (`--outp=x`).
|
|
32
|
+
*/
|
|
33
|
+
export const DANGEROUS_OPTIONS = ['output', 'ext-diff', 'textconv'];
|
|
34
|
+
/** Repo-relative path of an agent's guard. */
|
|
35
|
+
export function guardPath(agentName) {
|
|
36
|
+
return `.claude/hooks/${agentName}-guard.mjs`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The hook's shell command. `$CLAUDE_PROJECT_DIR` rather than a relative path:
|
|
40
|
+
* a hook's working directory is the session's, which need not be the root.
|
|
41
|
+
*/
|
|
42
|
+
export function guardHookCommand(agentName) {
|
|
43
|
+
return `node "$CLAUDE_PROJECT_DIR/${guardPath(agentName)}" || exit 2`;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Render the guard script for one agent.
|
|
47
|
+
*
|
|
48
|
+
* @param agentName - Used only in the refusal message.
|
|
49
|
+
* @param commands - Allowed command prefixes, validated by `resolveAgents`.
|
|
50
|
+
*/
|
|
51
|
+
export function renderGuard(agentName, commands) {
|
|
52
|
+
return `#!/usr/bin/env node
|
|
53
|
+
// ${AGENT_MARKER_TEXT}
|
|
54
|
+
//
|
|
55
|
+
// PreToolUse guard for the ${agentName} agent. Claude Code runs it before every
|
|
56
|
+
// Bash call the agent makes: exit 0 lets the command run, exit 2 blocks it and
|
|
57
|
+
// shows stderr to the agent. The hook command ends \`|| exit 2\`, so a guard that
|
|
58
|
+
// cannot run blocks too.
|
|
59
|
+
|
|
60
|
+
import { readFileSync } from 'node:fs';
|
|
61
|
+
|
|
62
|
+
const AGENT = ${JSON.stringify(agentName)};
|
|
63
|
+
const ALLOWED = ${JSON.stringify(commands)};
|
|
64
|
+
const DANGEROUS = ${JSON.stringify(DANGEROUS_OPTIONS)};
|
|
65
|
+
|
|
66
|
+
// Operators, substitutions and expansions: anything that could turn one allowed
|
|
67
|
+
// command into two, redirect its output, or build an option the checks below
|
|
68
|
+
// never see.
|
|
69
|
+
const SHELL = /[;&|<>\`$\\\\{}\\n\\r]/;
|
|
70
|
+
|
|
71
|
+
function refuse(reason) {
|
|
72
|
+
process.stderr.write(
|
|
73
|
+
\`\${AGENT}: \${reason}. This agent may run only \${ALLOWED.join(', ')}, with literal arguments.\\n\`,
|
|
74
|
+
);
|
|
75
|
+
process.exit(2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
let command;
|
|
79
|
+
try {
|
|
80
|
+
command = JSON.parse(readFileSync(0, 'utf8'))?.tool_input?.command;
|
|
81
|
+
} catch {
|
|
82
|
+
refuse('the hook input could not be read');
|
|
83
|
+
}
|
|
84
|
+
if (typeof command !== 'string') refuse('the hook input carried no command');
|
|
85
|
+
|
|
86
|
+
const text = command.trim();
|
|
87
|
+
if (SHELL.test(text)) refuse('shell operators, substitutions and expansions are refused');
|
|
88
|
+
|
|
89
|
+
// Quotes are removed before looking for options, because the shell removes them
|
|
90
|
+
// before git sees the word: "--out"put=x reaches git as --output=x.
|
|
91
|
+
for (const word of text.replace(/['"]/g, '').split(/\\s+/)) {
|
|
92
|
+
if (!word.startsWith('--')) continue;
|
|
93
|
+
const name = word.slice(2).split('=')[0];
|
|
94
|
+
if (name.length >= 2 && DANGEROUS.some((d) => d.startsWith(name) || name.startsWith(d))) {
|
|
95
|
+
refuse(\`--\${name} can write a file or run a program\`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!ALLOWED.some((allowed) => text === allowed || text.startsWith(\`\${allowed} \`))) {
|
|
100
|
+
refuse('that command is not allowed');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
process.exit(0);
|
|
104
|
+
`;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=reviewer-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer-guard.js","sourceRoot":"","sources":["../../src/compile/reviewer-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAE7E,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,iBAAiB,SAAS,YAAY,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,6BAA6B,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,QAAkB;IAC/D,OAAO;KACJ,iBAAiB;;8BAEQ,SAAS;;;;;;;gBAOvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;kBACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCpD,CAAC;AACF,CAAC"}
|