@jean.gnc/harness-kit 0.9.2 → 0.11.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/README.md +55 -27
- package/dist/cli.js +6 -6
- package/dist/cli.js.map +1 -1
- package/dist/compile/emit.d.ts +3 -6
- package/dist/compile/emit.d.ts.map +1 -1
- package/dist/compile/emit.js +5 -12
- package/dist/compile/emit.js.map +1 -1
- package/dist/compile/index.d.ts +10 -6
- package/dist/compile/index.d.ts.map +1 -1
- package/dist/compile/index.js +9 -37
- package/dist/compile/index.js.map +1 -1
- package/dist/compile/validators.d.ts +7 -3
- package/dist/compile/validators.d.ts.map +1 -1
- package/dist/compile/validators.js +2 -0
- package/dist/compile/validators.js.map +1 -1
- package/dist/compile.d.ts +10 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/{build.js → compile.js} +22 -11
- package/dist/compile.js.map +1 -0
- package/dist/configs/compile.d.ts +14 -0
- package/dist/configs/compile.d.ts.map +1 -0
- package/dist/configs/compile.js +80 -0
- package/dist/configs/compile.js.map +1 -0
- package/dist/configs/emit.d.ts +2 -2
- package/dist/configs/emit.d.ts.map +1 -1
- package/dist/configs/emit.js +1 -1
- package/dist/configs/manifest.d.ts +5 -4
- package/dist/configs/manifest.d.ts.map +1 -1
- package/dist/configs/manifest.js +8 -23
- package/dist/configs/manifest.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/init/index.d.ts.map +1 -1
- package/dist/init/index.js +1 -2
- package/dist/init/index.js.map +1 -1
- package/dist/install/discovery.js +3 -3
- package/dist/install/discovery.js.map +1 -1
- package/dist/install/links.js +2 -2
- package/dist/install/links.js.map +1 -1
- package/dist/plugin/index.d.ts +2 -2
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/schema.d.ts +0 -59
- package/dist/plugin/schema.d.ts.map +1 -1
- package/dist/plugin/schema.js +1 -10
- package/dist/plugin/schema.js.map +1 -1
- package/dist/vendor/schema.d.ts +1 -0
- package/dist/vendor/schema.d.ts.map +1 -1
- package/dist/vendors/claude/index.d.ts.map +1 -1
- package/dist/vendors/claude/index.js +4 -1
- package/dist/vendors/claude/index.js.map +1 -1
- package/dist/vendors/codex/index.d.ts.map +1 -1
- package/dist/vendors/codex/index.js +4 -1
- package/dist/vendors/codex/index.js.map +1 -1
- package/dist/vendors/shared.js +2 -2
- package/dist/vendors/shared.js.map +1 -1
- package/package.json +1 -1
- package/dist/build.d.ts +0 -12
- package/dist/build.d.ts.map +0 -1
- package/dist/build.js.map +0 -1
|
@@ -1,32 +1,43 @@
|
|
|
1
1
|
import { rm } from "node:fs/promises";
|
|
2
2
|
import { resolve, join, dirname } from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { compilePlugins, loadAdapter } from "./compile/index.js";
|
|
4
|
+
import { compileConfigs } from "./configs/compile.js";
|
|
4
5
|
import { emitConfigsManifest } from "./configs/emit.js";
|
|
6
|
+
import { defaultSources, discoverInstalled, indexInstalled } from "./installed.js";
|
|
7
|
+
import { collectLocalIds } from "./layout/index.js";
|
|
5
8
|
import { resolveVendorsForRepo } from "./vendor/registry.js";
|
|
6
|
-
export async function
|
|
9
|
+
export async function compile(options = {}) {
|
|
7
10
|
const srcRoot = resolve(options.srcRoot ?? "./src");
|
|
8
11
|
const outRoot = resolve(options.outRoot ?? "./dist");
|
|
9
12
|
const repoRoot = resolve(options.repoRoot ?? dirname(srcRoot));
|
|
10
13
|
const vendors = options.vendors ?? (await resolveVendorsForRepo(repoRoot));
|
|
14
|
+
const adapter = await loadAdapter(srcRoot);
|
|
15
|
+
const localIds = await collectLocalIds(adapter);
|
|
16
|
+
const installedIndex = indexInstalled(await discoverInstalled(defaultSources(vendors)));
|
|
11
17
|
for (const vendor of vendors) {
|
|
12
18
|
await rm(vendor.vendorOutDir(outRoot), { recursive: true, force: true });
|
|
13
|
-
await rm(join(outRoot, dirname(vendor.marketplaceManifestPath)), {
|
|
14
|
-
recursive: true,
|
|
15
|
-
force: true,
|
|
16
|
-
});
|
|
17
19
|
}
|
|
18
20
|
await rm(join(outRoot, "configs.json"), { force: true });
|
|
19
|
-
await
|
|
21
|
+
await compilePlugins({
|
|
20
22
|
srcRoot,
|
|
21
23
|
outRoot,
|
|
22
24
|
vendors,
|
|
23
|
-
|
|
25
|
+
adapter,
|
|
26
|
+
localIds,
|
|
27
|
+
installedIndex,
|
|
24
28
|
...(options.silent ? {} : { onWarnings: reportWarningsToStderr }),
|
|
25
29
|
});
|
|
26
|
-
await
|
|
30
|
+
await compileConfigs({
|
|
27
31
|
srcRoot,
|
|
28
32
|
outRoot,
|
|
29
|
-
vendors
|
|
33
|
+
vendors,
|
|
34
|
+
localIds,
|
|
35
|
+
installedIndex,
|
|
36
|
+
...(options.silent ? {} : { onWarnings: reportWarningsToStderr }),
|
|
37
|
+
});
|
|
38
|
+
await emitConfigsManifest({
|
|
39
|
+
outRoot,
|
|
40
|
+
vendors,
|
|
30
41
|
});
|
|
31
42
|
if (!options.silent) {
|
|
32
43
|
console.log(`compiled → ${outRoot}`);
|
|
@@ -37,4 +48,4 @@ function reportWarningsToStderr(filePath, warnings) {
|
|
|
37
48
|
console.warn(`warning: ${filePath}: ${warning}`);
|
|
38
49
|
}
|
|
39
50
|
}
|
|
40
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAW7D,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAA0B,EAAE;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAExF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,MAAM,cAAc,CAAC;QACnB,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,cAAc;QACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,cAAc,CAAC;QACnB,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,cAAc;QACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,mBAAmB,CAAC;QACxB,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,QAA2B;IAC3E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WarningSink } from "../compile/index.js";
|
|
2
|
+
import type { InstalledIndex } from "../installed.js";
|
|
3
|
+
import type { LocalIds } from "../layout/index.js";
|
|
4
|
+
import type { Vendor } from "../vendor/schema.js";
|
|
5
|
+
export interface CompileConfigsOptions {
|
|
6
|
+
readonly srcRoot: string;
|
|
7
|
+
readonly outRoot: string;
|
|
8
|
+
readonly vendors: readonly Vendor[];
|
|
9
|
+
readonly localIds?: LocalIds;
|
|
10
|
+
readonly installedIndex?: InstalledIndex;
|
|
11
|
+
readonly onWarnings?: WarningSink;
|
|
12
|
+
}
|
|
13
|
+
export declare function compileConfigs(options: CompileConfigsOptions): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/configs/compile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;CACnC;AAcD,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { copyFile, mkdir, readFile, readdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, relative } from "node:path";
|
|
3
|
+
import { throwInvariantViolations } from "../compile/discovery.js";
|
|
4
|
+
import { precomputeExistingRefs } from "../compile/frontmatter.js";
|
|
5
|
+
import { buildRegistry } from "../compile/validators.js";
|
|
6
|
+
import { pathExists } from "../fs.js";
|
|
7
|
+
import { substitute } from "../placeholders/index.js";
|
|
8
|
+
import { expandIncludes, formatIncludeError } from "../skill/index.js";
|
|
9
|
+
const CONFIGS_OWNER = { kind: "unrestricted", label: "<configs>" };
|
|
10
|
+
const EMPTY_LOCAL_IDS = {
|
|
11
|
+
skills: new Set(),
|
|
12
|
+
commands: new Set(),
|
|
13
|
+
agents: new Set(),
|
|
14
|
+
};
|
|
15
|
+
const EMPTY_INSTALLED_INDEX = {
|
|
16
|
+
skills: new Map(),
|
|
17
|
+
commands: new Map(),
|
|
18
|
+
agents: new Map(),
|
|
19
|
+
};
|
|
20
|
+
export async function compileConfigs(options) {
|
|
21
|
+
const localIds = options.localIds ?? EMPTY_LOCAL_IDS;
|
|
22
|
+
const installedIndex = options.installedIndex ?? EMPTY_INSTALLED_INDEX;
|
|
23
|
+
for (const vendor of options.vendors) {
|
|
24
|
+
const configsSrc = join(options.srcRoot, vendor.name, "configs");
|
|
25
|
+
if (!(await pathExists(configsSrc)))
|
|
26
|
+
continue;
|
|
27
|
+
await compileVendor({
|
|
28
|
+
configsSrc,
|
|
29
|
+
configsOut: vendor.configsOutDir(options.outRoot),
|
|
30
|
+
localIds,
|
|
31
|
+
installedIndex,
|
|
32
|
+
owner: CONFIGS_OWNER,
|
|
33
|
+
...(options.onWarnings ? { onWarnings: options.onWarnings } : {}),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function compileVendor(opts) {
|
|
38
|
+
for await (const absPath of walk(opts.configsSrc)) {
|
|
39
|
+
const rel = relative(opts.configsSrc, absPath);
|
|
40
|
+
const outPath = join(opts.configsOut, rel);
|
|
41
|
+
if (absPath.endsWith(".md")) {
|
|
42
|
+
await emitSubstituted(absPath, outPath, opts.configsSrc, opts);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
await mkdir(dirname(outPath), { recursive: true });
|
|
46
|
+
await copyFile(absPath, outPath);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function emitSubstituted(srcPath, outPath, baseDir, opts) {
|
|
51
|
+
const raw = await readFile(srcPath, "utf8");
|
|
52
|
+
const expanded = await expandIncludes(raw, srcPath, baseDir);
|
|
53
|
+
if (!expanded.ok) {
|
|
54
|
+
throwInvariantViolations(srcPath, expanded.error.map(formatIncludeError));
|
|
55
|
+
}
|
|
56
|
+
const body = expanded.value.body;
|
|
57
|
+
const existingRefs = await precomputeExistingRefs(body, baseDir);
|
|
58
|
+
const registry = buildRegistry(undefined, opts.localIds, opts.installedIndex, existingRefs, baseDir, opts.owner);
|
|
59
|
+
const result = substitute(body, registry);
|
|
60
|
+
if (!result.ok) {
|
|
61
|
+
throwInvariantViolations(srcPath, result.errors);
|
|
62
|
+
}
|
|
63
|
+
if (result.warnings.length > 0)
|
|
64
|
+
opts.onWarnings?.(srcPath, result.warnings);
|
|
65
|
+
await mkdir(dirname(outPath), { recursive: true });
|
|
66
|
+
await writeFile(outPath, result.rendered);
|
|
67
|
+
}
|
|
68
|
+
async function* walk(dir) {
|
|
69
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
70
|
+
for (const entry of entries) {
|
|
71
|
+
if (entry.name.startsWith("."))
|
|
72
|
+
continue;
|
|
73
|
+
const full = join(dir, entry.name);
|
|
74
|
+
if (entry.isDirectory())
|
|
75
|
+
yield* walk(full);
|
|
76
|
+
else if (entry.isFile())
|
|
77
|
+
yield full;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/configs/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/configs/emit.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Vendor } from "../vendor/schema.js";
|
|
1
2
|
export interface EmitConfigsManifestOptions {
|
|
2
|
-
readonly srcRoot: string;
|
|
3
3
|
readonly outRoot: string;
|
|
4
|
-
readonly vendors: readonly
|
|
4
|
+
readonly vendors: readonly Vendor[];
|
|
5
5
|
}
|
|
6
6
|
export declare function emitConfigsManifest(options: EmitConfigsManifestOptions): Promise<void>;
|
|
7
7
|
//# sourceMappingURL=emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/configs/emit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/configs/emit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5F"}
|
package/dist/configs/emit.js
CHANGED
|
@@ -3,7 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { buildConfigsManifest } from "./manifest.js";
|
|
4
4
|
export async function emitConfigsManifest(options) {
|
|
5
5
|
const manifest = await buildConfigsManifest({
|
|
6
|
-
|
|
6
|
+
outRoot: options.outRoot,
|
|
7
7
|
vendors: options.vendors,
|
|
8
8
|
});
|
|
9
9
|
await mkdir(options.outRoot, { recursive: true });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Vendor } from "../vendor/schema.js";
|
|
1
2
|
export type LinkKind = "file" | "dir";
|
|
2
3
|
export interface ConfigLink {
|
|
3
4
|
readonly src: string;
|
|
@@ -8,9 +9,9 @@ export interface ConfigLink {
|
|
|
8
9
|
export interface ConfigsManifest {
|
|
9
10
|
readonly links: readonly ConfigLink[];
|
|
10
11
|
}
|
|
11
|
-
export interface
|
|
12
|
-
readonly
|
|
13
|
-
readonly vendors: readonly
|
|
12
|
+
export interface ConfigsManifestOptions {
|
|
13
|
+
readonly outRoot: string;
|
|
14
|
+
readonly vendors: readonly Vendor[];
|
|
14
15
|
}
|
|
15
|
-
export declare function buildConfigsManifest(options:
|
|
16
|
+
export declare function buildConfigsManifest(options: ConfigsManifestOptions): Promise<ConfigsManifest>;
|
|
16
17
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/configs/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/configs/manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAiB1B"}
|
package/dist/configs/manifest.js
CHANGED
|
@@ -1,33 +1,18 @@
|
|
|
1
1
|
import { readdir, stat } from "node:fs/promises";
|
|
2
|
-
import {
|
|
2
|
+
import { relative } from "node:path";
|
|
3
3
|
import { pathExists } from "../fs.js";
|
|
4
|
-
const COMMON_SCOPE = "common";
|
|
5
4
|
export async function buildConfigsManifest(options) {
|
|
6
|
-
const configsRoot = join(options.srcRoot, "configs");
|
|
7
|
-
if (!(await pathExists(configsRoot)))
|
|
8
|
-
return { links: [] };
|
|
9
5
|
const links = [];
|
|
10
|
-
const commonDir = join(configsRoot, COMMON_SCOPE);
|
|
11
|
-
if (await pathExists(commonDir)) {
|
|
12
|
-
for (const entry of await listEntries(commonDir)) {
|
|
13
|
-
const kind = await kindOf(join(commonDir, entry));
|
|
14
|
-
links.push({
|
|
15
|
-
src: `configs/${COMMON_SCOPE}/${entry}`,
|
|
16
|
-
vendors: options.vendors,
|
|
17
|
-
destRel: entry,
|
|
18
|
-
kind,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
6
|
for (const vendor of options.vendors) {
|
|
23
|
-
const
|
|
24
|
-
if (!(await pathExists(
|
|
7
|
+
const configsOut = vendor.configsOutDir(options.outRoot);
|
|
8
|
+
if (!(await pathExists(configsOut)))
|
|
25
9
|
continue;
|
|
26
|
-
for (const entry of await listEntries(
|
|
27
|
-
const
|
|
10
|
+
for (const entry of await listEntries(configsOut)) {
|
|
11
|
+
const absPath = `${configsOut}/${entry}`;
|
|
12
|
+
const kind = await kindOf(absPath);
|
|
28
13
|
links.push({
|
|
29
|
-
src:
|
|
30
|
-
vendors: [vendor],
|
|
14
|
+
src: relative(options.outRoot, absPath),
|
|
15
|
+
vendors: [vendor.name],
|
|
31
16
|
destRel: entry,
|
|
32
17
|
kind,
|
|
33
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/configs/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/configs/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqBtC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA+B;IAE/B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAAE,SAAS;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBACvC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,KAAK;gBACd,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export { CompanionSchema, SkillSchema, checkCompanionFiles, defineSkill, findSkillFile, formatLoadSkillError, isReservedCompanionFilename, loadSkill, } from "./skill/index.js";
|
|
2
2
|
export type { Companion, FindSkillFileError, LoadedSkill, LoadSkillError, Skill, SkillFile, SkillSource, } from "./skill/index.js";
|
|
3
|
-
export {
|
|
4
|
-
export type {
|
|
3
|
+
export { PluginSchema, definePlugin } from "./plugin/index.js";
|
|
4
|
+
export type { Plugin } from "./plugin/index.js";
|
|
5
5
|
export { formatFrontmatterError, parseFrontmatter } from "./parsing/index.js";
|
|
6
6
|
export type { FrontmatterError, ParsedFrontmatter } from "./parsing/index.js";
|
|
7
7
|
export { err, ok } from "./result.js";
|
|
8
8
|
export type { Result } from "./result.js";
|
|
9
9
|
export { parsePlaceholders, substitute } from "./placeholders/index.js";
|
|
10
10
|
export type { Placeholder, SubstituteResult, Validator, ValidatorRegistry, ValidatorResult, } from "./placeholders/index.js";
|
|
11
|
-
export {
|
|
12
|
-
export type {
|
|
13
|
-
export {
|
|
14
|
-
export type {
|
|
11
|
+
export { compilePlugins } from "./compile/index.js";
|
|
12
|
+
export type { CompilePluginsOptions, WarningSink } from "./compile/index.js";
|
|
13
|
+
export { compile } from "./compile.js";
|
|
14
|
+
export type { CompileOptions } from "./compile.js";
|
|
15
15
|
export { lint } from "./lint.js";
|
|
16
16
|
export type { LintOptions, LintResult } from "./lint.js";
|
|
17
17
|
export { install, uninstall } from "./install/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,KAAK,EACL,SAAS,EACT,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,KAAK,EACL,SAAS,EACT,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnF,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { CompanionSchema, SkillSchema, checkCompanionFiles, defineSkill, findSkillFile, formatLoadSkillError, isReservedCompanionFilename, loadSkill, } from "./skill/index.js";
|
|
2
|
-
export {
|
|
2
|
+
export { PluginSchema, definePlugin } from "./plugin/index.js";
|
|
3
3
|
export { formatFrontmatterError, parseFrontmatter } from "./parsing/index.js";
|
|
4
4
|
export { err, ok } from "./result.js";
|
|
5
5
|
export { parsePlaceholders, substitute } from "./placeholders/index.js";
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
6
|
+
export { compilePlugins } from "./compile/index.js";
|
|
7
|
+
export { compile } from "./compile.js";
|
|
8
8
|
export { lint } from "./lint.js";
|
|
9
9
|
export { install, uninstall } from "./install/index.js";
|
|
10
10
|
export { INSTALL_MODES, isInstallMode, parseInstallMode } from "./install/mode.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,GACV,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,GACV,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AASxE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AASzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/init/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBrE"}
|
package/dist/init/index.js
CHANGED
|
@@ -9,9 +9,8 @@ export async function initHarness(options) {
|
|
|
9
9
|
}
|
|
10
10
|
const doc = yaml.dump({ marketplace: options.marketplace, vendors: [...options.vendors] }, { lineWidth: 120 });
|
|
11
11
|
await writeFile(configPath, doc);
|
|
12
|
-
await scaffoldKeep(join(options.repoRoot, "src/configs/common"));
|
|
13
12
|
for (const vendor of options.vendors) {
|
|
14
|
-
await scaffoldKeep(join(options.repoRoot, "src
|
|
13
|
+
await scaffoldKeep(join(options.repoRoot, "src", vendor, "configs"));
|
|
15
14
|
}
|
|
16
15
|
await scaffoldKeep(join(options.repoRoot, "src/plugins"));
|
|
17
16
|
await ensureGitignore(options.repoRoot);
|
package/dist/init/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAStC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC1D,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EACnE,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;IACF,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAStC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC1D,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EACnE,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;IACF,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO;QAAE,OAAO;IACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,SAAS,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -20,10 +20,10 @@ export async function readMarketplaceName(distRoot, vendor) {
|
|
|
20
20
|
return parsed.data.name;
|
|
21
21
|
}
|
|
22
22
|
export async function discoverPluginsForVendor(distRoot, vendor) {
|
|
23
|
-
const
|
|
24
|
-
if (!(await pathExists(
|
|
23
|
+
const pluginsDir = join(vendor.vendorOutDir(distRoot), "plugins");
|
|
24
|
+
if (!(await pathExists(pluginsDir)))
|
|
25
25
|
return [];
|
|
26
|
-
const entries = await readdir(
|
|
26
|
+
const entries = await readdir(pluginsDir, { withFileTypes: true });
|
|
27
27
|
const result = [];
|
|
28
28
|
for (const entry of entries) {
|
|
29
29
|
if (!entry.isDirectory())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/install/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAIH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,mCAAmC,YAAY,KAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,MAAc;IAEd,MAAM,
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/install/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/install/links.js
CHANGED
|
@@ -24,7 +24,7 @@ export async function planConfigLinks(options) {
|
|
|
24
24
|
const vendorsByName = new Map(options.vendors.map((v) => [v.name, v]));
|
|
25
25
|
const plan = [];
|
|
26
26
|
for (const link of parsed.data.links) {
|
|
27
|
-
const srcAbs = join(options.
|
|
27
|
+
const srcAbs = join(options.distRoot, link.src);
|
|
28
28
|
for (const vendorName of link.vendors) {
|
|
29
29
|
const vendor = vendorsByName.get(vendorName);
|
|
30
30
|
if (!vendor)
|
|
@@ -52,7 +52,7 @@ export async function applyConfigLinks(options) {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
async function sweepOrphanLinks(plan, options) {
|
|
55
|
-
const managedRoot = options.
|
|
55
|
+
const managedRoot = options.distRoot + "/";
|
|
56
56
|
const planned = new Set(plan.map((p) => p.destAbs));
|
|
57
57
|
const scanDirs = new Set([
|
|
58
58
|
...options.vendors.map((v) => v.home),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/install/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC9B,CAAC,CACH;CACF,CAAC,CAAC;AAeH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgC;IAEhC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,KAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/install/links.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type {
|
|
1
|
+
export { HookRequirementSchema, PluginSchema, definePlugin } from "./schema.js";
|
|
2
|
+
export type { DependencyEntry, HookRequirement, Plugin } from "./schema.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { HookRequirementSchema, PluginSchema, definePlugin } from "./schema.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/plugin/schema.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const ContextEntrySchema: z.ZodObject<{
|
|
3
|
-
file: z.ZodString;
|
|
4
|
-
summary: z.ZodString | z.ZodEffects<z.ZodString, string, string>;
|
|
5
|
-
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
file: string;
|
|
7
|
-
summary: string;
|
|
8
|
-
}, {
|
|
9
|
-
file: string;
|
|
10
|
-
summary: string;
|
|
11
|
-
}>;
|
|
12
|
-
export type ContextEntry = z.infer<typeof ContextEntrySchema>;
|
|
13
2
|
declare const DependencyEntrySchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
14
3
|
name: z.ZodString;
|
|
15
4
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -85,22 +74,6 @@ export declare const PluginSchema: z.ZodObject<{
|
|
|
85
74
|
version: z.ZodOptional<z.ZodString>;
|
|
86
75
|
marketplace: z.ZodOptional<z.ZodString>;
|
|
87
76
|
}, z.ZodTypeAny, "passthrough">>]>, "many">>;
|
|
88
|
-
context: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
89
|
-
file: z.ZodString;
|
|
90
|
-
summary: z.ZodString | z.ZodEffects<z.ZodString, string, string>;
|
|
91
|
-
}, "strip", z.ZodTypeAny, {
|
|
92
|
-
file: string;
|
|
93
|
-
summary: string;
|
|
94
|
-
}, {
|
|
95
|
-
file: string;
|
|
96
|
-
summary: string;
|
|
97
|
-
}>, "many">>, {
|
|
98
|
-
file: string;
|
|
99
|
-
summary: string;
|
|
100
|
-
}[] | undefined, {
|
|
101
|
-
file: string;
|
|
102
|
-
summary: string;
|
|
103
|
-
}[] | undefined>;
|
|
104
77
|
commands: z.ZodOptional<z.ZodString>;
|
|
105
78
|
agents: z.ZodOptional<z.ZodString>;
|
|
106
79
|
hooks: z.ZodOptional<z.ZodString>;
|
|
@@ -164,22 +137,6 @@ export declare const PluginSchema: z.ZodObject<{
|
|
|
164
137
|
version: z.ZodOptional<z.ZodString>;
|
|
165
138
|
marketplace: z.ZodOptional<z.ZodString>;
|
|
166
139
|
}, z.ZodTypeAny, "passthrough">>]>, "many">>;
|
|
167
|
-
context: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
168
|
-
file: z.ZodString;
|
|
169
|
-
summary: z.ZodString | z.ZodEffects<z.ZodString, string, string>;
|
|
170
|
-
}, "strip", z.ZodTypeAny, {
|
|
171
|
-
file: string;
|
|
172
|
-
summary: string;
|
|
173
|
-
}, {
|
|
174
|
-
file: string;
|
|
175
|
-
summary: string;
|
|
176
|
-
}>, "many">>, {
|
|
177
|
-
file: string;
|
|
178
|
-
summary: string;
|
|
179
|
-
}[] | undefined, {
|
|
180
|
-
file: string;
|
|
181
|
-
summary: string;
|
|
182
|
-
}[] | undefined>;
|
|
183
140
|
commands: z.ZodOptional<z.ZodString>;
|
|
184
141
|
agents: z.ZodOptional<z.ZodString>;
|
|
185
142
|
hooks: z.ZodOptional<z.ZodString>;
|
|
@@ -243,22 +200,6 @@ export declare const PluginSchema: z.ZodObject<{
|
|
|
243
200
|
version: z.ZodOptional<z.ZodString>;
|
|
244
201
|
marketplace: z.ZodOptional<z.ZodString>;
|
|
245
202
|
}, z.ZodTypeAny, "passthrough">>]>, "many">>;
|
|
246
|
-
context: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
247
|
-
file: z.ZodString;
|
|
248
|
-
summary: z.ZodString | z.ZodEffects<z.ZodString, string, string>;
|
|
249
|
-
}, "strip", z.ZodTypeAny, {
|
|
250
|
-
file: string;
|
|
251
|
-
summary: string;
|
|
252
|
-
}, {
|
|
253
|
-
file: string;
|
|
254
|
-
summary: string;
|
|
255
|
-
}>, "many">>, {
|
|
256
|
-
file: string;
|
|
257
|
-
summary: string;
|
|
258
|
-
}[] | undefined, {
|
|
259
|
-
file: string;
|
|
260
|
-
summary: string;
|
|
261
|
-
}[] | undefined>;
|
|
262
203
|
commands: z.ZodOptional<z.ZodString>;
|
|
263
204
|
agents: z.ZodOptional<z.ZodString>;
|
|
264
205
|
hooks: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/plugin/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/plugin/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;kCASzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAWpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAgBT,CAAC;AAEjB,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/plugin/schema.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { FQ_ID } from "../ids.js";
|
|
3
|
-
import { description, kebabName
|
|
4
|
-
export const ContextEntrySchema = z.object({
|
|
5
|
-
file: z.string().min(1).regex(/\.md$/, "file must be a .md path"),
|
|
6
|
-
summary: singleLineString("summary"),
|
|
7
|
-
});
|
|
3
|
+
import { description, kebabName } from "../schema-primitives.js";
|
|
8
4
|
const AuthorSchema = z
|
|
9
5
|
.object({
|
|
10
6
|
name: z.string().min(1),
|
|
@@ -22,10 +18,6 @@ const DependencyEntrySchema = z.union([
|
|
|
22
18
|
})
|
|
23
19
|
.passthrough(),
|
|
24
20
|
]);
|
|
25
|
-
const contextListSchema = z
|
|
26
|
-
.array(ContextEntrySchema)
|
|
27
|
-
.optional()
|
|
28
|
-
.refine((arr) => !arr || new Set(arr.map((e) => e.file)).size === arr.length, "context files must be unique");
|
|
29
21
|
const SLUG_REF = z.string().min(1).regex(FQ_ID, "must match <plugin>:<name> kebab-case");
|
|
30
22
|
const HookRequirementBase = z.object({
|
|
31
23
|
event: z.string().min(1),
|
|
@@ -54,7 +46,6 @@ export const PluginSchema = z
|
|
|
54
46
|
license: z.string().min(1).optional(),
|
|
55
47
|
keywords: z.array(z.string().min(1)).optional(),
|
|
56
48
|
dependencies: z.array(DependencyEntrySchema).optional(),
|
|
57
|
-
context: contextListSchema,
|
|
58
49
|
commands: z.string().min(1).optional(),
|
|
59
50
|
agents: z.string().min(1).optional(),
|
|
60
51
|
hooks: z.string().min(1).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/plugin/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/plugin/schema.ts"],"names":[],"mappings":"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"}
|