@cairn-tool/cairn 3.5.0 → 4.0.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/agent/conditionals.d.ts +39 -4
- package/dist/agent/conditionals.js +107 -18
- package/dist/agent/conditionals.js.map +1 -1
- package/dist/agent/import/normalize.js +34 -10
- package/dist/agent/import/normalize.js.map +1 -1
- package/dist/agent/manifest.d.ts +7 -0
- package/dist/agent/manifest.js +36 -1
- package/dist/agent/manifest.js.map +1 -1
- package/dist/agent/naming.d.ts +24 -0
- package/dist/agent/naming.js +48 -0
- package/dist/agent/naming.js.map +1 -0
- package/dist/agent/parser.js +292 -17
- package/dist/agent/parser.js.map +1 -1
- package/dist/agent/render.d.ts +9 -4
- package/dist/agent/render.js +107 -29
- package/dist/agent/render.js.map +1 -1
- package/dist/agent/targets/antigravity.js +14 -2
- package/dist/agent/targets/antigravity.js.map +1 -1
- package/dist/agent/targets/claude-code.js +15 -2
- package/dist/agent/targets/claude-code.js.map +1 -1
- package/dist/agent/targets/codex.js +14 -2
- package/dist/agent/targets/codex.js.map +1 -1
- package/dist/agent/targets/cursor.js +14 -2
- package/dist/agent/targets/cursor.js.map +1 -1
- package/dist/agent/targets/opencode.js +14 -2
- package/dist/agent/targets/opencode.js.map +1 -1
- package/dist/agent/targets/schema.d.ts +37 -3
- package/dist/agent/targets/schema.js +40 -1
- package/dist/agent/targets/schema.js.map +1 -1
- package/dist/agent/types.d.ts +9 -0
- package/dist/agent/types.js +9 -0
- package/dist/agent/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AgentProfile, AgentTarget } from "./types.js";
|
|
2
|
+
import type { ReferenceKind } from "./targets/schema.js";
|
|
3
|
+
/** What a component is called in the rendered tree — its path and its `name:`. */
|
|
4
|
+
export declare function emittedName(kind: "skill" | "agent", name: string, target: AgentTarget, profile: AgentProfile, bundleName: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* The exact inverse of {@link emittedName}.
|
|
7
|
+
*
|
|
8
|
+
* Removes **one** occurrence, never a repeated one: a skill legitimately named
|
|
9
|
+
* `cr-review` in a bundle named `cr` renders as `cr-cr-review`, and stripping
|
|
10
|
+
* greedily would import it as `review`. A remainder that is empty or is not a
|
|
11
|
+
* component name means the text was never this prefix, so it is left alone.
|
|
12
|
+
*/
|
|
13
|
+
export declare function stripEmittedPrefix(kind: "skill" | "agent", name: string, target: AgentTarget, profile: AgentProfile, bundleName: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* What another document writes to name this component on this host.
|
|
16
|
+
*
|
|
17
|
+
* `exact: false` says the host has no such surface and the bare name was used.
|
|
18
|
+
* The caller turns that into `AB303`; returning a boolean rather than pushing a
|
|
19
|
+
* diagnostic is what keeps this module free of the diagnostic vocabulary.
|
|
20
|
+
*/
|
|
21
|
+
export declare function referenceIdentifier(kind: ReferenceKind, name: string, target: AgentTarget, profile: AgentProfile, bundleName: string): {
|
|
22
|
+
text: string;
|
|
23
|
+
exact: boolean;
|
|
24
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { profileFor } from "./targets/index.js";
|
|
2
|
+
const PLURAL = { skill: "skills", agent: "agents" };
|
|
3
|
+
function prefixFor(kind, target, profile, bundleName) {
|
|
4
|
+
const { namespace } = profileFor(target).naming;
|
|
5
|
+
if (!namespace.prefixed[PLURAL[kind]].includes(profile))
|
|
6
|
+
return "";
|
|
7
|
+
return `${bundleName}${namespace.separator}`;
|
|
8
|
+
}
|
|
9
|
+
/** What a component is called in the rendered tree — its path and its `name:`. */
|
|
10
|
+
export function emittedName(kind, name, target, profile, bundleName) {
|
|
11
|
+
return `${prefixFor(kind, target, profile, bundleName)}${name}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The exact inverse of {@link emittedName}.
|
|
15
|
+
*
|
|
16
|
+
* Removes **one** occurrence, never a repeated one: a skill legitimately named
|
|
17
|
+
* `cr-review` in a bundle named `cr` renders as `cr-cr-review`, and stripping
|
|
18
|
+
* greedily would import it as `review`. A remainder that is empty or is not a
|
|
19
|
+
* component name means the text was never this prefix, so it is left alone.
|
|
20
|
+
*/
|
|
21
|
+
export function stripEmittedPrefix(kind, name, target, profile, bundleName) {
|
|
22
|
+
const prefix = prefixFor(kind, target, profile, bundleName);
|
|
23
|
+
if (!prefix || !name.startsWith(prefix))
|
|
24
|
+
return name;
|
|
25
|
+
const remainder = name.slice(prefix.length);
|
|
26
|
+
return remainder.length ? remainder : name;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* What another document writes to name this component on this host.
|
|
30
|
+
*
|
|
31
|
+
* `exact: false` says the host has no such surface and the bare name was used.
|
|
32
|
+
* The caller turns that into `AB303`; returning a boolean rather than pushing a
|
|
33
|
+
* diagnostic is what keeps this module free of the diagnostic vocabulary.
|
|
34
|
+
*/
|
|
35
|
+
export function referenceIdentifier(kind, name, target, profile, bundleName) {
|
|
36
|
+
const { namespace, references } = profileFor(target).naming;
|
|
37
|
+
const form = references.forms[kind]?.[profile];
|
|
38
|
+
if (!form)
|
|
39
|
+
return { text: name, exact: false };
|
|
40
|
+
return {
|
|
41
|
+
text: form
|
|
42
|
+
.replace(/\{bundle\}/g, bundleName)
|
|
43
|
+
.replace(/\{separator\}/g, namespace.separator)
|
|
44
|
+
.replace(/\{name\}/g, name),
|
|
45
|
+
exact: true,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/agent/naming.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqBhD,MAAM,MAAM,GAA8C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAE/F,SAAS,SAAS,CAChB,IAAuB,EACvB,MAAmB,EACnB,OAAqB,EACrB,UAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACnE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CACzB,IAAuB,EACvB,IAAY,EACZ,MAAmB,EACnB,OAAqB,EACrB,UAAkB;IAElB,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,IAAY,EACZ,MAAmB,EACnB,OAAqB,EACrB,UAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAmB,EACnB,IAAY,EACZ,MAAmB,EACnB,OAAqB,EACrB,UAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/C,OAAO;QACL,IAAI,EAAE,IAAI;aACP,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;aAClC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,SAAS,CAAC;aAC9C,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;QAC7B,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/agent/parser.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { parse as parseYaml } from "yaml";
|
|
4
|
-
import { diagnostic, TARGETS } from "./types.js";
|
|
4
|
+
import { COMPONENT_NAME, diagnostic, TARGETS } from "./types.js";
|
|
5
5
|
import { CONDITIONAL_TEXT, validateConditionals } from "./conditionals.js";
|
|
6
6
|
import { configuredPath, normalizeManifest } from "./manifest.js";
|
|
7
7
|
import { loadOverlays } from "./overlays.js";
|
|
8
|
-
const NAME =
|
|
8
|
+
const NAME = COMPONENT_NAME;
|
|
9
9
|
function record(value, label) {
|
|
10
10
|
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
11
11
|
throw new Error(`${label} must be an object`);
|
|
@@ -51,6 +51,88 @@ function relativeSafe(root, candidate, label) {
|
|
|
51
51
|
throw new Error(`${label} resolves through a symlink outside the bundle: ${candidate}`);
|
|
52
52
|
return resolved;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether `resolved` sits inside `root`, both lexically and after resolving
|
|
56
|
+
* symlinks. Same two checks as `relativeSafe`, reported rather than thrown,
|
|
57
|
+
* because a resource may legitimately sit outside its component and the caller
|
|
58
|
+
* has several roots to try before it knows anything is wrong.
|
|
59
|
+
*/
|
|
60
|
+
function within(root, resolved) {
|
|
61
|
+
const relative = path.relative(root, resolved);
|
|
62
|
+
if (relative.startsWith("..") || path.isAbsolute(relative))
|
|
63
|
+
return "outside";
|
|
64
|
+
if (!fs.existsSync(root))
|
|
65
|
+
return "outside";
|
|
66
|
+
let existing = resolved;
|
|
67
|
+
while (!fs.existsSync(existing) && existing !== path.dirname(existing))
|
|
68
|
+
existing = path.dirname(existing);
|
|
69
|
+
const real = path.resolve(fs.realpathSync(existing), path.relative(existing, resolved));
|
|
70
|
+
const realRelative = path.relative(fs.realpathSync(root), real);
|
|
71
|
+
return realRelative.startsWith("..") || path.isAbsolute(realRelative)
|
|
72
|
+
? "symlink-escape"
|
|
73
|
+
: "inside";
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Absolute paths of the extra resource roots a bundle declared, dropping any
|
|
77
|
+
* that does not exist. A declared root that is missing is an error rather than
|
|
78
|
+
* a silent no-op: it means every resource meant to live under it will be
|
|
79
|
+
* reported as escaping, and the root is the actual mistake.
|
|
80
|
+
*/
|
|
81
|
+
function resolveResourceRoots(bundleRoot, declared, manifestPath, diagnostics) {
|
|
82
|
+
const roots = [];
|
|
83
|
+
for (const entry of declared) {
|
|
84
|
+
const resolved = path.resolve(bundleRoot, entry);
|
|
85
|
+
if (!fs.existsSync(resolved)) {
|
|
86
|
+
diagnostics.push({
|
|
87
|
+
...diagnostic("AB155", `Declared resourceRoot '${entry}' does not exist`, "unsupported", {
|
|
88
|
+
path: manifestPath,
|
|
89
|
+
remediation: "Create the directory or remove it from resourceRoots.",
|
|
90
|
+
}),
|
|
91
|
+
severity: "error",
|
|
92
|
+
});
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (!fs.statSync(resolved).isDirectory()) {
|
|
96
|
+
diagnostics.push({
|
|
97
|
+
...diagnostic("AB155", `Declared resourceRoot '${entry}' is not a directory`, "unsupported", {
|
|
98
|
+
path: manifestPath,
|
|
99
|
+
}),
|
|
100
|
+
severity: "error",
|
|
101
|
+
});
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
roots.push(resolved);
|
|
105
|
+
}
|
|
106
|
+
return roots;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A resource's landing path inside its component, normalized to POSIX, or null
|
|
110
|
+
* if it could escape. Enforced at the output boundary rather than inferred from
|
|
111
|
+
* the filesystem, the same rule native overlay paths follow.
|
|
112
|
+
*/
|
|
113
|
+
function safeLanding(candidate) {
|
|
114
|
+
const normalized = candidate.split(path.sep).join("/");
|
|
115
|
+
if (!normalized || normalized.startsWith("/") || /^[A-Za-z]:/.test(normalized))
|
|
116
|
+
return null;
|
|
117
|
+
if (normalized.includes("\\"))
|
|
118
|
+
return null;
|
|
119
|
+
if (normalized.split("/").some((segment) => segment === ".." || segment === "." || !segment))
|
|
120
|
+
return null;
|
|
121
|
+
return normalized;
|
|
122
|
+
}
|
|
123
|
+
function parseResourceEntry(raw) {
|
|
124
|
+
if (typeof raw === "string") {
|
|
125
|
+
const declared = raw.trim();
|
|
126
|
+
return declared ? { declared, as: "" } : undefined;
|
|
127
|
+
}
|
|
128
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
129
|
+
return undefined;
|
|
130
|
+
const entry = raw;
|
|
131
|
+
if (typeof entry.path !== "string" || !entry.path.trim())
|
|
132
|
+
return undefined;
|
|
133
|
+
const as = typeof entry.as === "string" ? entry.as.trim() : "";
|
|
134
|
+
return { declared: entry.path.trim(), as };
|
|
135
|
+
}
|
|
54
136
|
/**
|
|
55
137
|
* Every file under `directory`, with root-relative paths in the platform's
|
|
56
138
|
* separator. Refuses a symlink that resolves outside `directory`, which is why
|
|
@@ -91,7 +173,7 @@ export function allFiles(directory) {
|
|
|
91
173
|
visit(root);
|
|
92
174
|
return result;
|
|
93
175
|
}
|
|
94
|
-
function loadMarkdownComponents(root, relative, kind, diagnostics) {
|
|
176
|
+
function loadMarkdownComponents(root, relative, kind, diagnostics, resourceRoots = [], refs = []) {
|
|
95
177
|
const directory = relativeSafe(root, relative, `${kind} path`);
|
|
96
178
|
if (!fs.existsSync(directory))
|
|
97
179
|
return [];
|
|
@@ -138,7 +220,12 @@ function loadMarkdownComponents(root, relative, kind, diagnostics) {
|
|
|
138
220
|
}),
|
|
139
221
|
severity: "error",
|
|
140
222
|
});
|
|
141
|
-
validateConditionals(body, full, diagnostics);
|
|
223
|
+
refs.push(...validateConditionals(body, full, diagnostics));
|
|
224
|
+
// `description` and `argumentHint` are resolved by the renderer too, so a
|
|
225
|
+
// reference in one has to be validated like a reference in the body.
|
|
226
|
+
for (const key of ["description", "argumentHint", "argument-hint"])
|
|
227
|
+
if (typeof metadata[key] === "string")
|
|
228
|
+
refs.push(...validateConditionals(metadata[key], full, diagnostics, { markdown: false }));
|
|
142
229
|
const componentRoot = kind === "skill" ? path.dirname(full) : directory;
|
|
143
230
|
if (metadata.targets &&
|
|
144
231
|
typeof metadata.targets === "object" &&
|
|
@@ -193,14 +280,17 @@ function loadMarkdownComponents(root, relative, kind, diagnostics) {
|
|
|
193
280
|
}),
|
|
194
281
|
severity: "error",
|
|
195
282
|
});
|
|
196
|
-
|
|
197
|
-
|
|
283
|
+
// `scripts:` stays strictly component-local. Widening it would let a bundle
|
|
284
|
+
// declare an executable from outside its own tree, which is a supply-chain
|
|
285
|
+
// question rather than a documentation-sharing one.
|
|
286
|
+
{
|
|
287
|
+
const references = Array.isArray(metadata.scripts) ? metadata.scripts : [];
|
|
198
288
|
for (const reference of references.map(String)) {
|
|
199
289
|
try {
|
|
200
|
-
const resolved = relativeSafe(componentRoot, reference, `${kind}
|
|
290
|
+
const resolved = relativeSafe(componentRoot, reference, `${kind} scripts reference`);
|
|
201
291
|
if (!fs.existsSync(resolved))
|
|
202
292
|
diagnostics.push({
|
|
203
|
-
...diagnostic("AB151", `Missing
|
|
293
|
+
...diagnostic("AB151", `Missing scripts reference '${reference}'`, "unsupported", {
|
|
204
294
|
component: name,
|
|
205
295
|
path: full,
|
|
206
296
|
}),
|
|
@@ -218,7 +308,120 @@ function loadMarkdownComponents(root, relative, kind, diagnostics) {
|
|
|
218
308
|
}
|
|
219
309
|
}
|
|
220
310
|
}
|
|
221
|
-
|
|
311
|
+
// A `resources:` entry may sit outside its own component -- elsewhere in the
|
|
312
|
+
// bundle, or under a declared resourceRoot -- so that one reference document
|
|
313
|
+
// can serve several skills, or several bundles. Anything resolving outside
|
|
314
|
+
// the component is *copied into* it under its landing path, because
|
|
315
|
+
// `${SKILL_DIR}` is the only per-skill placeholder and it collapses to a
|
|
316
|
+
// bare relative path off Claude Code: there is no way to point at a sibling
|
|
317
|
+
// skill's rendered directory. Materializing keeps the rendered plugin
|
|
318
|
+
// self-contained.
|
|
319
|
+
const materialized = [];
|
|
320
|
+
const landings = new Map();
|
|
321
|
+
if (metadata.resources !== undefined && !Array.isArray(metadata.resources))
|
|
322
|
+
diagnostics.push({
|
|
323
|
+
...diagnostic("AB110", "resources must be an array", "unsupported", {
|
|
324
|
+
component: name,
|
|
325
|
+
path: full,
|
|
326
|
+
}),
|
|
327
|
+
severity: "error",
|
|
328
|
+
});
|
|
329
|
+
for (const raw of Array.isArray(metadata.resources) ? metadata.resources : []) {
|
|
330
|
+
const entry = parseResourceEntry(raw);
|
|
331
|
+
if (!entry) {
|
|
332
|
+
diagnostics.push({
|
|
333
|
+
...diagnostic("AB152", "Each resources entry must be a path or { path, as }", "unsupported", { component: name, path: full }),
|
|
334
|
+
severity: "error",
|
|
335
|
+
});
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
const resolved = path.resolve(componentRoot, entry.declared);
|
|
339
|
+
const componentPlacement = within(componentRoot, resolved);
|
|
340
|
+
if (componentPlacement === "symlink-escape") {
|
|
341
|
+
diagnostics.push({
|
|
342
|
+
...diagnostic("AB152", `${kind} resources reference resolves through a symlink outside the component: ${entry.declared}`, "unsupported", { component: name, path: full }),
|
|
343
|
+
severity: "error",
|
|
344
|
+
});
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
if (componentPlacement === "inside") {
|
|
348
|
+
// Already travels with the component directory; nothing to materialize.
|
|
349
|
+
if (!fs.existsSync(resolved))
|
|
350
|
+
diagnostics.push({
|
|
351
|
+
...diagnostic("AB151", `Missing resources reference '${entry.declared}'`, "unsupported", { component: name, path: full }),
|
|
352
|
+
severity: "error",
|
|
353
|
+
});
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
const roots = [root, ...resourceRoots];
|
|
357
|
+
const host = roots.find((candidate) => within(candidate, resolved) === "inside");
|
|
358
|
+
if (!host) {
|
|
359
|
+
const escaped = roots.some((candidate) => within(candidate, resolved) === "symlink-escape");
|
|
360
|
+
diagnostics.push({
|
|
361
|
+
...diagnostic(escaped ? "AB152" : "AB153", escaped
|
|
362
|
+
? `${kind} resources reference resolves through a symlink outside the bundle: ${entry.declared}`
|
|
363
|
+
: `Resource '${entry.declared}' resolves outside the bundle and no declared resourceRoot covers it`, "unsupported", {
|
|
364
|
+
component: name,
|
|
365
|
+
path: full,
|
|
366
|
+
remediation: escaped
|
|
367
|
+
? undefined
|
|
368
|
+
: "Add its directory to resourceRoots in agent-bundle.yaml.",
|
|
369
|
+
}),
|
|
370
|
+
severity: "error",
|
|
371
|
+
});
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
if (!fs.existsSync(resolved) || !fs.statSync(resolved).isFile()) {
|
|
375
|
+
diagnostics.push({
|
|
376
|
+
...diagnostic("AB151", `Missing resources reference '${entry.declared}'`, "unsupported", {
|
|
377
|
+
component: name,
|
|
378
|
+
path: full,
|
|
379
|
+
}),
|
|
380
|
+
severity: "error",
|
|
381
|
+
});
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
const landing = entry.as || path.basename(resolved);
|
|
385
|
+
const safe = safeLanding(landing);
|
|
386
|
+
if (!safe) {
|
|
387
|
+
diagnostics.push({
|
|
388
|
+
...diagnostic("AB152", `Resource landing path '${landing}' must be a relative path inside the component`, "unsupported", { component: name, path: full }),
|
|
389
|
+
severity: "error",
|
|
390
|
+
});
|
|
391
|
+
continue;
|
|
392
|
+
}
|
|
393
|
+
const prior = landings.get(safe);
|
|
394
|
+
if (prior !== undefined) {
|
|
395
|
+
diagnostics.push({
|
|
396
|
+
...diagnostic("AB154", `Resources '${prior}' and '${entry.declared}' both land at '${safe}'`, "unsupported", { component: name, path: full, remediation: "Give one of them a distinct 'as' path." }),
|
|
397
|
+
severity: "error",
|
|
398
|
+
});
|
|
399
|
+
continue;
|
|
400
|
+
}
|
|
401
|
+
landings.set(safe, entry.declared);
|
|
402
|
+
materialized.push({
|
|
403
|
+
path: safe.split("/").join(path.sep),
|
|
404
|
+
content: fs.readFileSync(resolved),
|
|
405
|
+
mode: fs.statSync(resolved).mode & 0o777,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
const own = allFiles(componentRoot);
|
|
409
|
+
for (const file of materialized) {
|
|
410
|
+
const clash = own.find((candidate) => candidate.path === file.path);
|
|
411
|
+
if (clash)
|
|
412
|
+
diagnostics.push({
|
|
413
|
+
...diagnostic("AB154", `Resource lands at '${file.path.split(path.sep).join("/")}', which the component already contains`, "unsupported", { component: name, path: full, remediation: "Give it a distinct 'as' path." }),
|
|
414
|
+
severity: "error",
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
return {
|
|
418
|
+
name,
|
|
419
|
+
description,
|
|
420
|
+
path: full,
|
|
421
|
+
metadata,
|
|
422
|
+
body,
|
|
423
|
+
files: [...own, ...materialized.filter((file) => !own.some((o) => o.path === file.path))],
|
|
424
|
+
};
|
|
222
425
|
});
|
|
223
426
|
}
|
|
224
427
|
function findStructured(root, relative) {
|
|
@@ -390,8 +593,10 @@ export function loadBundle(source) {
|
|
|
390
593
|
}),
|
|
391
594
|
severity: "error",
|
|
392
595
|
});
|
|
393
|
-
const
|
|
394
|
-
const
|
|
596
|
+
const extraResourceRoots = resolveResourceRoots(root, normalized.resourceRoots, legacy ? legacyPath : neutralPath, diagnostics);
|
|
597
|
+
const refs = [];
|
|
598
|
+
const skills = loadMarkdownComponents(root, configuredPath(manifest, "skills", "skills"), "skill", diagnostics, extraResourceRoots, refs);
|
|
599
|
+
const agents = loadMarkdownComponents(root, configuredPath(manifest, "agents", "agents"), "agent", diagnostics, extraResourceRoots, refs);
|
|
395
600
|
if (!legacy)
|
|
396
601
|
for (const component of [...skills, ...agents])
|
|
397
602
|
if (component.metadata.name === undefined)
|
|
@@ -402,7 +607,7 @@ export function loadBundle(source) {
|
|
|
402
607
|
}),
|
|
403
608
|
severity: "error",
|
|
404
609
|
});
|
|
405
|
-
const rawRules = loadMarkdownComponents(root, configuredPath(manifest, "rules", "rules"), "rule", diagnostics);
|
|
610
|
+
const rawRules = loadMarkdownComponents(root, configuredPath(manifest, "rules", "rules"), "rule", diagnostics, extraResourceRoots, refs);
|
|
406
611
|
const rules = rawRules.map((rule) => ({
|
|
407
612
|
...rule,
|
|
408
613
|
activation: String(rule.metadata.activation ?? "always"),
|
|
@@ -421,9 +626,9 @@ export function loadBundle(source) {
|
|
|
421
626
|
const content = file.content;
|
|
422
627
|
if (content.includes(0))
|
|
423
628
|
continue;
|
|
424
|
-
validateConditionals(content.toString("utf8"), full, diagnostics, {
|
|
629
|
+
refs.push(...validateConditionals(content.toString("utf8"), full, diagnostics, {
|
|
425
630
|
markdown: file.path.endsWith(".md"),
|
|
426
|
-
});
|
|
631
|
+
}));
|
|
427
632
|
}
|
|
428
633
|
for (const rule of rules)
|
|
429
634
|
if (!["always", "files", "model", "manual"].includes(rule.activation))
|
|
@@ -455,11 +660,17 @@ export function loadBundle(source) {
|
|
|
455
660
|
const skillNames = new Set(skills.map((skill) => skill.name));
|
|
456
661
|
const graph = {};
|
|
457
662
|
for (const component of [...skills, ...agents]) {
|
|
458
|
-
const
|
|
663
|
+
const declared = Array.isArray(component.metadata.skills)
|
|
459
664
|
? component.metadata.skills.map(String)
|
|
460
665
|
: [];
|
|
461
|
-
|
|
462
|
-
for
|
|
666
|
+
// Only the frontmatter list feeds the cycle check. An inline reference is
|
|
667
|
+
// prose -- "for more, see X" -- and two documents pointing at each other for
|
|
668
|
+
// further reading is normal rather than a cycle: this project's own
|
|
669
|
+
// `portability-triage` and `target-portability` skills do exactly that.
|
|
670
|
+
// `skills:` is different because it composes content, which is the thing a
|
|
671
|
+
// cycle actually breaks.
|
|
672
|
+
graph[component.name] = declared;
|
|
673
|
+
for (const ref of declared)
|
|
463
674
|
if (!skillNames.has(ref))
|
|
464
675
|
diagnostics.push({
|
|
465
676
|
...diagnostic("AB150", `Missing referenced skill '${ref}'`, "unsupported", {
|
|
@@ -480,6 +691,70 @@ export function loadBundle(source) {
|
|
|
480
691
|
const hookFiles = !legacy && hooks && fs.existsSync(hookDirectory)
|
|
481
692
|
? allFiles(hookDirectory).filter((file) => path.join(hookDirectory, file.path) !== hooks.path)
|
|
482
693
|
: [];
|
|
694
|
+
// Inline references, resolved against the components that now exist. This is
|
|
695
|
+
// the `AB150` job for the reference family, and it has to happen here rather
|
|
696
|
+
// than in `validateConditionals`, which runs before any component list does.
|
|
697
|
+
const agentNames = new Set(agents.map((agent) => agent.name));
|
|
698
|
+
const explicitSkills = new Set(skills
|
|
699
|
+
.filter((skill) => ["explicit", "manual"].includes(String(skill.metadata.invocationPolicy ?? skill.metadata.invocation ?? "auto")))
|
|
700
|
+
.map((skill) => skill.name));
|
|
701
|
+
const componentRoots = [
|
|
702
|
+
...skills.map((skill) => path.dirname(skill.path)),
|
|
703
|
+
...agents.map((agent) => path.dirname(agent.path)),
|
|
704
|
+
...rules.map((rule) => path.dirname(rule.path)),
|
|
705
|
+
];
|
|
706
|
+
const under = (file, directory) => file === directory || file.startsWith(`${directory}${path.sep}`);
|
|
707
|
+
/**
|
|
708
|
+
* Whether the renderer actually expands references in this file.
|
|
709
|
+
*
|
|
710
|
+
* Validation is deliberately wider than expansion — a broken marker in a hook
|
|
711
|
+
* script used to be mangled silently — so a reference somewhere the renderer
|
|
712
|
+
* copies verbatim would otherwise ship as a literal comment. Widening what the
|
|
713
|
+
* renderer transforms instead would change rendered bytes for every existing
|
|
714
|
+
* bundle, so it is reported rather than fixed.
|
|
715
|
+
*/
|
|
716
|
+
const expanded = (file) => {
|
|
717
|
+
if (primaryMarkdown.has(file))
|
|
718
|
+
return true;
|
|
719
|
+
if (hooks && file === hooks.path)
|
|
720
|
+
return false;
|
|
721
|
+
if (hookFiles.length && under(file, hookDirectory))
|
|
722
|
+
return false;
|
|
723
|
+
if (under(file, assetsDir))
|
|
724
|
+
return true;
|
|
725
|
+
return file.endsWith(".md") && componentRoots.some((directory) => under(file, directory));
|
|
726
|
+
};
|
|
727
|
+
for (const use of refs) {
|
|
728
|
+
const pool = use.kind === "agent" ? agentNames : skillNames;
|
|
729
|
+
if (!pool.has(use.name)) {
|
|
730
|
+
diagnostics.push({
|
|
731
|
+
...diagnostic("AB156", `Missing referenced ${use.kind === "agent" ? "agent" : "skill"} '${use.name}' on line ${use.line}`, "unsupported", {
|
|
732
|
+
path: use.file,
|
|
733
|
+
remediation: use.kind === "command"
|
|
734
|
+
? "A command reference names a skill. Add the skill or correct the reference."
|
|
735
|
+
: "Add the component or correct the reference.",
|
|
736
|
+
}),
|
|
737
|
+
severity: "error",
|
|
738
|
+
});
|
|
739
|
+
continue;
|
|
740
|
+
}
|
|
741
|
+
if (use.kind === "command" && !explicitSkills.has(use.name))
|
|
742
|
+
diagnostics.push({
|
|
743
|
+
...diagnostic("AB161", `Command reference '${use.name}' on line ${use.line} names a skill the model may invoke on its own`, "approximate", {
|
|
744
|
+
path: use.file,
|
|
745
|
+
remediation: `Set invocationPolicy: explicit on '${use.name}', or reference it with ref:skill instead.`,
|
|
746
|
+
}),
|
|
747
|
+
severity: "warning",
|
|
748
|
+
});
|
|
749
|
+
if (!expanded(use.file))
|
|
750
|
+
diagnostics.push({
|
|
751
|
+
...diagnostic("AB157", `Reference to '${use.name}' on line ${use.line} is in a file the renderer does not expand`, "unsupported", {
|
|
752
|
+
path: use.file,
|
|
753
|
+
remediation: "Move the reference into a component body, a Markdown resource, or an asset; elsewhere it ships as a literal comment.",
|
|
754
|
+
}),
|
|
755
|
+
severity: "warning",
|
|
756
|
+
});
|
|
757
|
+
}
|
|
483
758
|
const legacyAssets = legacy
|
|
484
759
|
? allFiles(root).filter((file) => {
|
|
485
760
|
const normalized = file.path.split(path.sep).join("/");
|
package/dist/agent/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/agent/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/agent/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/render.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import type { AgentBundle, AgentDiagnostic, AgentProfile, AgentTarget, Artifact, MarkdownComponent } from "./types.js";
|
|
2
|
+
import type { RefResolver } from "./conditionals.js";
|
|
2
3
|
/**
|
|
3
|
-
* Resolves target-conditional regions. Kept as a
|
|
4
|
-
* seam the unit tests
|
|
5
|
-
* `./conditionals.js`, shared with the parser's validator so the
|
|
6
|
-
* disagree about what a document means.
|
|
4
|
+
* Resolves target-conditional regions and inline component references. Kept as a
|
|
5
|
+
* named export because it is the seam the unit tests reach for; the grammar
|
|
6
|
+
* itself lives in `./conditionals.js`, shared with the parser's validator so the
|
|
7
|
+
* two cannot disagree about what a document means.
|
|
8
|
+
*
|
|
9
|
+
* Omitting `resolve` leaves reference markers verbatim, which is what a caller
|
|
10
|
+
* that only wants conditional regions resolved should get.
|
|
7
11
|
*/
|
|
8
12
|
export declare function processTargetBlocks(content: string, target: AgentTarget, options?: {
|
|
9
13
|
markdown?: boolean;
|
|
14
|
+
resolve?: RefResolver;
|
|
10
15
|
}): string;
|
|
11
16
|
/**
|
|
12
17
|
* Whether a component reaches a target at all.
|