@jean.gnc/harness-kit 0.12.6 → 0.12.8
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/compile/emit.d.ts +1 -0
- package/dist/compile/emit.d.ts.map +1 -1
- package/dist/compile/emit.js +6 -2
- package/dist/compile/emit.js.map +1 -1
- package/dist/compile/index.d.ts +1 -0
- package/dist/compile/index.d.ts.map +1 -1
- package/dist/compile/index.js +3 -0
- package/dist/compile/index.js.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +4 -0
- package/dist/compile.js.map +1 -1
- package/dist/config/harness.d.ts +5 -0
- package/dist/config/harness.d.ts.map +1 -1
- package/dist/config/harness.js +11 -1
- package/dist/config/harness.js.map +1 -1
- package/dist/configs/compile.d.ts +1 -0
- package/dist/configs/compile.d.ts.map +1 -1
- package/dist/configs/compile.js +3 -1
- package/dist/configs/compile.js.map +1 -1
- package/dist/marketplace/schema.d.ts +144 -144
- package/dist/skill/includes.d.ts +15 -3
- package/dist/skill/includes.d.ts.map +1 -1
- package/dist/skill/includes.js +59 -26
- package/dist/skill/includes.js.map +1 -1
- package/dist/skill/index.d.ts +1 -1
- package/dist/skill/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/skill/includes.d.ts
CHANGED
|
@@ -7,9 +7,17 @@ export type IncludeError = {
|
|
|
7
7
|
readonly path: string;
|
|
8
8
|
readonly from: string;
|
|
9
9
|
} | {
|
|
10
|
-
readonly tag: "include-escapes-
|
|
10
|
+
readonly tag: "include-escapes-roots";
|
|
11
11
|
readonly path: string;
|
|
12
|
-
readonly
|
|
12
|
+
readonly roots: readonly string[];
|
|
13
|
+
} | {
|
|
14
|
+
readonly tag: "include-unknown-root";
|
|
15
|
+
readonly raw: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
} | {
|
|
18
|
+
readonly tag: "include-anchor-without-path";
|
|
19
|
+
readonly raw: string;
|
|
20
|
+
readonly name: string;
|
|
13
21
|
} | {
|
|
14
22
|
readonly tag: "include-not-md";
|
|
15
23
|
readonly path: string;
|
|
@@ -20,10 +28,14 @@ export type IncludeError = {
|
|
|
20
28
|
readonly tag: "include-empty";
|
|
21
29
|
readonly raw: string;
|
|
22
30
|
};
|
|
31
|
+
export interface IncludeRoots {
|
|
32
|
+
readonly self: string;
|
|
33
|
+
readonly named: Readonly<Record<string, string>>;
|
|
34
|
+
}
|
|
23
35
|
export interface ExpandedBody {
|
|
24
36
|
readonly body: string;
|
|
25
37
|
readonly resolvedIncludes: ReadonlySet<string>;
|
|
26
38
|
}
|
|
27
|
-
export declare function expandIncludes(body: string, fromFile: string,
|
|
39
|
+
export declare function expandIncludes(body: string, fromFile: string, roots: IncludeRoots): Promise<Result<ExpandedBody, readonly IncludeError[]>>;
|
|
28
40
|
export declare function formatIncludeError(error: IncludeError): string;
|
|
29
41
|
//# sourceMappingURL=includes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"includes.d.ts","sourceRoot":"","sources":["../../src/skill/includes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjF;
|
|
1
|
+
{"version":3,"file":"includes.d.ts","sourceRoot":"","sources":["../../src/skill/includes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjF;IACE,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,GAAG,EAAE,6BAA6B,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC,CAAC,CAMxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAmB9D"}
|
package/dist/skill/includes.js
CHANGED
|
@@ -2,10 +2,10 @@ import { readFile } from "node:fs/promises";
|
|
|
2
2
|
import { dirname, isAbsolute, relative, resolve } from "node:path";
|
|
3
3
|
import { parsePlaceholders } from "../placeholders/index.js";
|
|
4
4
|
import { err, ok } from "../result.js";
|
|
5
|
-
export async function expandIncludes(body, fromFile,
|
|
5
|
+
export async function expandIncludes(body, fromFile, roots) {
|
|
6
6
|
const errors = [];
|
|
7
7
|
const resolved = new Set();
|
|
8
|
-
const expanded = await expand(body, fromFile,
|
|
8
|
+
const expanded = await expand(body, fromFile, roots, [resolve(fromFile)], errors, resolved);
|
|
9
9
|
if (errors.length > 0)
|
|
10
10
|
return err(errors);
|
|
11
11
|
return ok({ body: expanded, resolvedIncludes: resolved });
|
|
@@ -16,8 +16,12 @@ export function formatIncludeError(error) {
|
|
|
16
16
|
return `include cycle: ${error.chain.join(" → ")}`;
|
|
17
17
|
case "include-missing":
|
|
18
18
|
return `include target not found: ${error.path} (from ${error.from})`;
|
|
19
|
-
case "include-escapes-
|
|
20
|
-
return `include path "${error.path}" escapes
|
|
19
|
+
case "include-escapes-roots":
|
|
20
|
+
return `include path "${error.path}" escapes all allowed roots (${error.roots.join(", ")})`;
|
|
21
|
+
case "include-unknown-root":
|
|
22
|
+
return `include references unknown root "@${error.name}" in ${error.raw}`;
|
|
23
|
+
case "include-anchor-without-path":
|
|
24
|
+
return `include "@${error.name}" is missing a path (expected @${error.name}/<file>.md) in ${error.raw}`;
|
|
21
25
|
case "include-not-md":
|
|
22
26
|
return `include only supports .md files (got ${error.path})`;
|
|
23
27
|
case "include-absolute":
|
|
@@ -26,38 +30,67 @@ export function formatIncludeError(error) {
|
|
|
26
30
|
return `expected {{include:<relative-path>.md}} (got ${error.raw})`;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
|
-
|
|
33
|
+
function resolveTarget(rel, fromFile, roots) {
|
|
34
|
+
if (!rel.startsWith("@")) {
|
|
35
|
+
return { kind: "target", target: resolve(dirname(fromFile), rel) };
|
|
36
|
+
}
|
|
37
|
+
const slash = rel.indexOf("/");
|
|
38
|
+
const [name, sub] = slash === -1 ? [rel.slice(1), ""] : [rel.slice(1, slash), rel.slice(slash + 1)];
|
|
39
|
+
const root = roots.named[name];
|
|
40
|
+
if (root === undefined) {
|
|
41
|
+
return { kind: "unknown-root", name };
|
|
42
|
+
}
|
|
43
|
+
if (sub === "") {
|
|
44
|
+
return { kind: "anchor-without-path", name };
|
|
45
|
+
}
|
|
46
|
+
return { kind: "target", target: resolve(root, sub) };
|
|
47
|
+
}
|
|
48
|
+
function isInsideAnyRoot(target, allowed) {
|
|
49
|
+
return allowed.some((root) => {
|
|
50
|
+
const rel = relative(root, target);
|
|
51
|
+
return rel !== "" && !rel.startsWith("..") && !isAbsolute(rel);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function resolveInclude(token, fromFile, roots, allowed) {
|
|
55
|
+
if (token.value === null) {
|
|
56
|
+
return err({ tag: "include-empty", raw: token.raw });
|
|
57
|
+
}
|
|
58
|
+
const rel = token.value.trim();
|
|
59
|
+
if (isAbsolute(rel)) {
|
|
60
|
+
return err({ tag: "include-absolute", raw: token.raw });
|
|
61
|
+
}
|
|
62
|
+
const resolution = resolveTarget(rel, fromFile, roots);
|
|
63
|
+
if (resolution.kind === "unknown-root") {
|
|
64
|
+
return err({ tag: "include-unknown-root", raw: token.raw, name: resolution.name });
|
|
65
|
+
}
|
|
66
|
+
if (resolution.kind === "anchor-without-path") {
|
|
67
|
+
return err({ tag: "include-anchor-without-path", raw: token.raw, name: resolution.name });
|
|
68
|
+
}
|
|
69
|
+
if (!rel.endsWith(".md")) {
|
|
70
|
+
return err({ tag: "include-not-md", path: rel });
|
|
71
|
+
}
|
|
72
|
+
if (!isInsideAnyRoot(resolution.target, allowed)) {
|
|
73
|
+
return err({ tag: "include-escapes-roots", path: rel, roots: allowed });
|
|
74
|
+
}
|
|
75
|
+
return ok({ target: resolution.target, rel });
|
|
76
|
+
}
|
|
77
|
+
async function expand(body, fromFile, roots, chain, errors, resolved) {
|
|
30
78
|
const tokens = parsePlaceholders(body).filter((t) => t.prefix === "include");
|
|
31
79
|
if (tokens.length === 0)
|
|
32
80
|
return body;
|
|
81
|
+
const allowed = [roots.self, ...Object.values(roots.named)];
|
|
33
82
|
let out = "";
|
|
34
83
|
let cursor = 0;
|
|
35
84
|
for (const token of tokens) {
|
|
36
85
|
out += body.slice(cursor, token.start);
|
|
37
86
|
cursor = token.end;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
const rel = token.value.trim();
|
|
44
|
-
if (isAbsolute(rel)) {
|
|
45
|
-
errors.push({ tag: "include-absolute", raw: token.raw });
|
|
46
|
-
out += token.raw;
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
if (!rel.endsWith(".md")) {
|
|
50
|
-
errors.push({ tag: "include-not-md", path: rel });
|
|
51
|
-
out += token.raw;
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
const target = resolve(dirname(fromFile), rel);
|
|
55
|
-
const fromSkill = relative(skillDir, target);
|
|
56
|
-
if (fromSkill.startsWith("..") || isAbsolute(fromSkill)) {
|
|
57
|
-
errors.push({ tag: "include-escapes-skill", path: rel, skillDir });
|
|
87
|
+
const resolution = resolveInclude(token, fromFile, roots, allowed);
|
|
88
|
+
if (!resolution.ok) {
|
|
89
|
+
errors.push(resolution.error);
|
|
58
90
|
out += token.raw;
|
|
59
91
|
continue;
|
|
60
92
|
}
|
|
93
|
+
const { target, rel } = resolution.value;
|
|
61
94
|
if (chain.includes(target)) {
|
|
62
95
|
errors.push({ tag: "include-cycle", chain: [...chain, target] });
|
|
63
96
|
out += token.raw;
|
|
@@ -73,7 +106,7 @@ async function expand(body, fromFile, skillDir, chain, errors, resolved) {
|
|
|
73
106
|
continue;
|
|
74
107
|
}
|
|
75
108
|
resolved.add(target);
|
|
76
|
-
const expanded = await expand(raw, target,
|
|
109
|
+
const expanded = await expand(raw, target, roots, [...chain, target], errors, resolved);
|
|
77
110
|
out += expanded.endsWith("\n") ? expanded.slice(0, -1) : expanded;
|
|
78
111
|
}
|
|
79
112
|
out += body.slice(cursor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"includes.js","sourceRoot":"","sources":["../../src/skill/includes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"includes.js","sourceRoot":"","sources":["../../src/skill/includes.ts"],"names":[],"mappings":"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"}
|
package/dist/skill/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export { findSkillFile, formatLoadSkillError, loadSkill } from "./source.js";
|
|
|
4
4
|
export type { FindSkillFileError, LoadSkillError, LoadedSkill, SkillFile, SkillSource, } from "./source.js";
|
|
5
5
|
export { checkCompanionFiles } from "./invariants.js";
|
|
6
6
|
export { expandIncludes, formatIncludeError } from "./includes.js";
|
|
7
|
-
export type { ExpandedBody, IncludeError } from "./includes.js";
|
|
7
|
+
export type { ExpandedBody, IncludeError, IncludeRoots } from "./includes.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jean.gnc/harness-kit",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Build your own multi-agent harness: typed toolkit for authoring plugins (skills, agents, commands, hooks) and shipping them to Claude Code and Codex from a single source tree.",
|
|
6
6
|
"license": "MIT",
|