@shardworks/nexus-core 0.1.99 → 0.1.101
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 +95 -166
- package/dist/guild-config.d.ts +14 -52
- package/dist/guild-config.d.ts.map +1 -1
- package/dist/guild-config.js +7 -10
- package/dist/guild-config.js.map +1 -1
- package/dist/guild.d.ts +83 -0
- package/dist/guild.d.ts.map +1 -0
- package/dist/guild.js +45 -0
- package/dist/guild.js.map +1 -0
- package/dist/id.d.ts +14 -0
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +19 -0
- package/dist/id.js.map +1 -0
- package/dist/index.d.ts +6 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -32
- package/dist/index.js.map +1 -1
- package/dist/nexus-home.d.ts +0 -4
- package/dist/nexus-home.d.ts.map +1 -1
- package/dist/nexus-home.js +1 -9
- package/dist/nexus-home.js.map +1 -1
- package/dist/plugin.d.ts +115 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +39 -0
- package/dist/plugin.js.map +1 -0
- package/dist/resolve-package.d.ts +58 -0
- package/dist/resolve-package.d.ts.map +1 -0
- package/dist/resolve-package.js +123 -0
- package/dist/resolve-package.js.map +1 -0
- package/package.json +5 -14
- package/dist/book.d.ts +0 -110
- package/dist/book.d.ts.map +0 -1
- package/dist/book.js +0 -16
- package/dist/book.js.map +0 -1
- package/dist/legacy/1/anima.d.ts +0 -79
- package/dist/legacy/1/anima.d.ts.map +0 -1
- package/dist/legacy/1/anima.js +0 -285
- package/dist/legacy/1/anima.js.map +0 -1
- package/dist/legacy/1/audit.d.ts +0 -23
- package/dist/legacy/1/audit.d.ts.map +0 -1
- package/dist/legacy/1/audit.js +0 -61
- package/dist/legacy/1/audit.js.map +0 -1
- package/dist/legacy/1/bundle.d.ts +0 -111
- package/dist/legacy/1/bundle.d.ts.map +0 -1
- package/dist/legacy/1/bundle.js +0 -452
- package/dist/legacy/1/bundle.js.map +0 -1
- package/dist/legacy/1/clock-daemon.d.ts +0 -2
- package/dist/legacy/1/clock-daemon.d.ts.map +0 -1
- package/dist/legacy/1/clock-daemon.js +0 -72
- package/dist/legacy/1/clock-daemon.js.map +0 -1
- package/dist/legacy/1/clockworks.d.ts +0 -98
- package/dist/legacy/1/clockworks.d.ts.map +0 -1
- package/dist/legacy/1/clockworks.js +0 -359
- package/dist/legacy/1/clockworks.js.map +0 -1
- package/dist/legacy/1/conversation.d.ts +0 -165
- package/dist/legacy/1/conversation.d.ts.map +0 -1
- package/dist/legacy/1/conversation.js +0 -457
- package/dist/legacy/1/conversation.js.map +0 -1
- package/dist/legacy/1/engine.d.ts +0 -90
- package/dist/legacy/1/engine.d.ts.map +0 -1
- package/dist/legacy/1/engine.js +0 -89
- package/dist/legacy/1/engine.js.map +0 -1
- package/dist/legacy/1/events.d.ts +0 -88
- package/dist/legacy/1/events.d.ts.map +0 -1
- package/dist/legacy/1/events.js +0 -239
- package/dist/legacy/1/events.js.map +0 -1
- package/dist/legacy/1/guild-config.d.ts +0 -74
- package/dist/legacy/1/guild-config.d.ts.map +0 -1
- package/dist/legacy/1/guild-config.js +0 -51
- package/dist/legacy/1/guild-config.js.map +0 -1
- package/dist/legacy/1/id.d.ts +0 -8
- package/dist/legacy/1/id.d.ts.map +0 -1
- package/dist/legacy/1/id.js +0 -27
- package/dist/legacy/1/id.js.map +0 -1
- package/dist/legacy/1/index.d.ts +0 -28
- package/dist/legacy/1/index.d.ts.map +0 -1
- package/dist/legacy/1/index.js +0 -32
- package/dist/legacy/1/index.js.map +0 -1
- package/dist/legacy/1/init-guild.d.ts +0 -24
- package/dist/legacy/1/init-guild.d.ts.map +0 -1
- package/dist/legacy/1/init-guild.js +0 -230
- package/dist/legacy/1/init-guild.js.map +0 -1
- package/dist/legacy/1/install-tool.d.ts +0 -73
- package/dist/legacy/1/install-tool.d.ts.map +0 -1
- package/dist/legacy/1/install-tool.js +0 -436
- package/dist/legacy/1/install-tool.js.map +0 -1
- package/dist/legacy/1/instantiate.d.ts +0 -33
- package/dist/legacy/1/instantiate.d.ts.map +0 -1
- package/dist/legacy/1/instantiate.js +0 -137
- package/dist/legacy/1/instantiate.js.map +0 -1
- package/dist/legacy/1/manifest.d.ts +0 -132
- package/dist/legacy/1/manifest.d.ts.map +0 -1
- package/dist/legacy/1/manifest.js +0 -321
- package/dist/legacy/1/manifest.js.map +0 -1
- package/dist/legacy/1/migrate.d.ts +0 -84
- package/dist/legacy/1/migrate.d.ts.map +0 -1
- package/dist/legacy/1/migrate.js +0 -228
- package/dist/legacy/1/migrate.js.map +0 -1
- package/dist/legacy/1/nexus-home.d.ts +0 -11
- package/dist/legacy/1/nexus-home.d.ts.map +0 -1
- package/dist/legacy/1/nexus-home.js +0 -16
- package/dist/legacy/1/nexus-home.js.map +0 -1
- package/dist/legacy/1/plugin-descriptor.d.ts +0 -3
- package/dist/legacy/1/plugin-descriptor.d.ts.map +0 -1
- package/dist/legacy/1/plugin-descriptor.js +0 -2
- package/dist/legacy/1/plugin-descriptor.js.map +0 -1
- package/dist/legacy/1/preconditions.d.ts +0 -100
- package/dist/legacy/1/preconditions.d.ts.map +0 -1
- package/dist/legacy/1/preconditions.js +0 -189
- package/dist/legacy/1/preconditions.js.map +0 -1
- package/dist/legacy/1/rehydrate.d.ts +0 -22
- package/dist/legacy/1/rehydrate.d.ts.map +0 -1
- package/dist/legacy/1/rehydrate.js +0 -109
- package/dist/legacy/1/rehydrate.js.map +0 -1
- package/dist/legacy/1/remove-tool.d.ts +0 -19
- package/dist/legacy/1/remove-tool.d.ts.map +0 -1
- package/dist/legacy/1/remove-tool.js +0 -105
- package/dist/legacy/1/remove-tool.js.map +0 -1
- package/dist/legacy/1/session.d.ts +0 -343
- package/dist/legacy/1/session.d.ts.map +0 -1
- package/dist/legacy/1/session.js +0 -499
- package/dist/legacy/1/session.js.map +0 -1
- package/dist/legacy/1/tool-registry.d.ts +0 -12
- package/dist/legacy/1/tool-registry.d.ts.map +0 -1
- package/dist/legacy/1/tool-registry.js +0 -28
- package/dist/legacy/1/tool-registry.js.map +0 -1
- package/dist/legacy/1/tool.d.ts +0 -10
- package/dist/legacy/1/tool.d.ts.map +0 -1
- package/dist/legacy/1/tool.js +0 -2
- package/dist/legacy/1/tool.js.map +0 -1
- package/dist/legacy/1/upgrade.d.ts +0 -129
- package/dist/legacy/1/upgrade.d.ts.map +0 -1
- package/dist/legacy/1/upgrade.js +0 -355
- package/dist/legacy/1/upgrade.js.map +0 -1
- package/dist/legacy/1/workshop.d.ts +0 -95
- package/dist/legacy/1/workshop.d.ts.map +0 -1
- package/dist/legacy/1/workshop.js +0 -229
- package/dist/legacy/1/workshop.js.map +0 -1
- package/dist/legacy/1/worktree.d.ts +0 -67
- package/dist/legacy/1/worktree.d.ts.map +0 -1
- package/dist/legacy/1/worktree.js +0 -117
- package/dist/legacy/1/worktree.js.map +0 -1
- package/dist/legacy/1/writ.d.ts +0 -130
- package/dist/legacy/1/writ.d.ts.map +0 -1
- package/dist/legacy/1/writ.js +0 -599
- package/dist/legacy/1/writ.js.map +0 -1
- package/dist/rig-context.d.ts +0 -47
- package/dist/rig-context.d.ts.map +0 -1
- package/dist/rig-context.js +0 -11
- package/dist/rig-context.js.map +0 -1
- package/dist/rig-descriptor.d.ts +0 -39
- package/dist/rig-descriptor.d.ts.map +0 -1
- package/dist/rig-descriptor.js +0 -12
- package/dist/rig-descriptor.js.map +0 -1
- package/dist/rig.d.ts +0 -70
- package/dist/rig.d.ts.map +0 -1
- package/dist/rig.js +0 -14
- package/dist/rig.js.map +0 -1
- package/dist/tool.d.ts +0 -136
- package/dist/tool.d.ts.map +0 -1
- package/dist/tool.js +0 -135
- package/dist/tool.js.map +0 -1
- package/migrations/001-schema.sql +0 -177
- package/migrations/002-writs.sql +0 -44
- package/migrations/003-conversations.sql +0 -43
- package/migrations/004-remove-commissions.sql +0 -24
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bundle — a manifest that delivers multiple installable artifacts to a guild.
|
|
3
|
-
*
|
|
4
|
-
* A bundle is a recipe, not a dependency. The installer reads the manifest,
|
|
5
|
-
* installs each artifact individually (via installTool), and discards the
|
|
6
|
-
* bundle itself. Each artifact becomes an independent guild dependency.
|
|
7
|
-
*
|
|
8
|
-
* ## Manifest: `nexus-bundle.json`
|
|
9
|
-
*
|
|
10
|
-
* The manifest has explicit top-level arrays for each artifact category:
|
|
11
|
-
* - `tools` and `engines` require a `package` specifier (runtime code)
|
|
12
|
-
* - `curricula` and `temperaments` support `package` OR `path` (content-only)
|
|
13
|
-
*
|
|
14
|
-
* ## Transitive bundles
|
|
15
|
-
*
|
|
16
|
-
* A package entry can itself contain a `nexus-bundle.json`. The installer
|
|
17
|
-
* recurses, so bundles can compose other bundles.
|
|
18
|
-
*/
|
|
19
|
-
/** A package-based artifact entry (tools and engines). */
|
|
20
|
-
export interface BundlePackageEntry {
|
|
21
|
-
/** npm package specifier or git URL. */
|
|
22
|
-
package: string;
|
|
23
|
-
/** Override the artifact name in the guild. */
|
|
24
|
-
name?: string;
|
|
25
|
-
/** Roles this tool should be assigned to (used during upgrade to add missing tools to roles). */
|
|
26
|
-
roles?: string[];
|
|
27
|
-
}
|
|
28
|
-
/** A content artifact entry (curricula and temperaments). */
|
|
29
|
-
export interface BundleContentEntry {
|
|
30
|
-
/** npm package specifier or git URL. */
|
|
31
|
-
package?: string;
|
|
32
|
-
/** Path relative to the bundle root for inline content. */
|
|
33
|
-
path?: string;
|
|
34
|
-
/** Override the artifact name in the guild. */
|
|
35
|
-
name?: string;
|
|
36
|
-
}
|
|
37
|
-
/** A migration entry (always inline via `path`). */
|
|
38
|
-
export interface BundleMigrationEntry {
|
|
39
|
-
/** Path relative to the bundle root for the .sql file. */
|
|
40
|
-
path: string;
|
|
41
|
-
}
|
|
42
|
-
/** The `nexus-bundle.json` manifest shape. */
|
|
43
|
-
export interface BundleManifest {
|
|
44
|
-
/** Human-readable description of the bundle. */
|
|
45
|
-
description?: string;
|
|
46
|
-
/** Tools to install (require `package`). */
|
|
47
|
-
tools?: BundlePackageEntry[];
|
|
48
|
-
/** Engines to install (require `package`). */
|
|
49
|
-
engines?: BundlePackageEntry[];
|
|
50
|
-
/** Curricula to install (`package` or `path`). */
|
|
51
|
-
curricula?: BundleContentEntry[];
|
|
52
|
-
/** Temperaments to install (`package` or `path`). */
|
|
53
|
-
temperaments?: BundleContentEntry[];
|
|
54
|
-
/** Migrations to install (always inline, renumbered on install). */
|
|
55
|
-
migrations?: BundleMigrationEntry[];
|
|
56
|
-
}
|
|
57
|
-
export interface InstallBundleOptions {
|
|
58
|
-
/** Absolute path to the guild root directory. */
|
|
59
|
-
home: string;
|
|
60
|
-
/** Absolute path to the bundle directory (contains nexus-bundle.json). */
|
|
61
|
-
bundleDir: string;
|
|
62
|
-
/** Bundle provenance string, e.g. "@shardworks/guild-starter-kit@0.1.0". */
|
|
63
|
-
bundleSource?: string;
|
|
64
|
-
/** Whether to create a git commit after installing. Defaults to true. */
|
|
65
|
-
commit?: boolean;
|
|
66
|
-
}
|
|
67
|
-
export interface InstallBundleResult {
|
|
68
|
-
/** Number of artifacts installed. */
|
|
69
|
-
installed: number;
|
|
70
|
-
/** Names of installed artifacts, grouped by category. */
|
|
71
|
-
artifacts: {
|
|
72
|
-
tools: string[];
|
|
73
|
-
engines: string[];
|
|
74
|
-
curricula: string[];
|
|
75
|
-
temperaments: string[];
|
|
76
|
-
migrations: string[];
|
|
77
|
-
};
|
|
78
|
-
/** Provenance map for installed migrations: guild filename → { bundle, originalName }. */
|
|
79
|
-
migrationProvenance?: Record<string, {
|
|
80
|
-
bundle: string;
|
|
81
|
-
originalName: string;
|
|
82
|
-
}>;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Check if a directory contains a nexus-bundle.json manifest.
|
|
86
|
-
*/
|
|
87
|
-
export declare function isBundleDir(dir: string): boolean;
|
|
88
|
-
/**
|
|
89
|
-
* Read and validate a nexus-bundle.json manifest.
|
|
90
|
-
*
|
|
91
|
-
* Enforces schema rules:
|
|
92
|
-
* - tools/engines must use `package`, not `path`
|
|
93
|
-
* - curricula/temperaments must have either `package` or `path`
|
|
94
|
-
*/
|
|
95
|
-
export declare function readBundleManifest(bundleDir: string): BundleManifest;
|
|
96
|
-
/**
|
|
97
|
-
* Install a bundle into a guild.
|
|
98
|
-
*
|
|
99
|
-
* Reads the bundle manifest, installs all referenced artifacts individually,
|
|
100
|
-
* and optionally commits the result. The bundle itself is NOT retained as
|
|
101
|
-
* a guild dependency — each artifact is installed independently.
|
|
102
|
-
*
|
|
103
|
-
* Package artifacts (tools, engines, and packaged content) are installed
|
|
104
|
-
* via npm. Inline content artifacts (curricula/temperaments with `path`) are
|
|
105
|
-
* copied directly from the bundle directory.
|
|
106
|
-
*
|
|
107
|
-
* If an installed package contains its own `nexus-bundle.json`, the installer
|
|
108
|
-
* recurses to install the transitive bundle's artifacts.
|
|
109
|
-
*/
|
|
110
|
-
export declare function installBundle(opts: InstallBundleOptions): InstallBundleResult;
|
|
111
|
-
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/legacy/1/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,kDAAkD;IAClD,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,qDAAqD;IACrD,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAID,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAkCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CA+DpE;AAyED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CA+Q7E"}
|
package/dist/legacy/1/bundle.js
DELETED
|
@@ -1,452 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bundle — a manifest that delivers multiple installable artifacts to a guild.
|
|
3
|
-
*
|
|
4
|
-
* A bundle is a recipe, not a dependency. The installer reads the manifest,
|
|
5
|
-
* installs each artifact individually (via installTool), and discards the
|
|
6
|
-
* bundle itself. Each artifact becomes an independent guild dependency.
|
|
7
|
-
*
|
|
8
|
-
* ## Manifest: `nexus-bundle.json`
|
|
9
|
-
*
|
|
10
|
-
* The manifest has explicit top-level arrays for each artifact category:
|
|
11
|
-
* - `tools` and `engines` require a `package` specifier (runtime code)
|
|
12
|
-
* - `curricula` and `temperaments` support `package` OR `path` (content-only)
|
|
13
|
-
*
|
|
14
|
-
* ## Transitive bundles
|
|
15
|
-
*
|
|
16
|
-
* A package entry can itself contain a `nexus-bundle.json`. The installer
|
|
17
|
-
* recurses, so bundles can compose other bundles.
|
|
18
|
-
*/
|
|
19
|
-
import fs from 'node:fs';
|
|
20
|
-
import path from 'node:path';
|
|
21
|
-
import { execFileSync } from 'node:child_process';
|
|
22
|
-
import { installTool } from "./install-tool.js";
|
|
23
|
-
import { readGuildConfig, writeGuildConfig } from "./guild-config.js";
|
|
24
|
-
// ── Helpers ─────────────────────────────────────────────────────────────
|
|
25
|
-
const BUNDLE_MANIFEST = 'nexus-bundle.json';
|
|
26
|
-
function git(args, cwd) {
|
|
27
|
-
execFileSync('git', args, { cwd, stdio: 'pipe' });
|
|
28
|
-
}
|
|
29
|
-
function npm(args, cwd) {
|
|
30
|
-
return execFileSync('npm', args, { cwd, stdio: 'pipe', encoding: 'utf-8' });
|
|
31
|
-
}
|
|
32
|
-
function readJson(filePath) {
|
|
33
|
-
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
34
|
-
}
|
|
35
|
-
// ── Descriptor types for each category ──────────────────────────────────
|
|
36
|
-
const DESCRIPTOR_MAP = {
|
|
37
|
-
tools: 'nexus-tool.json',
|
|
38
|
-
engines: 'nexus-engine.json',
|
|
39
|
-
curricula: 'nexus-curriculum.json',
|
|
40
|
-
temperaments: 'nexus-temperament.json',
|
|
41
|
-
};
|
|
42
|
-
const DIR_MAP = {
|
|
43
|
-
tools: 'tools',
|
|
44
|
-
engines: 'engines',
|
|
45
|
-
curricula: 'training/curricula',
|
|
46
|
-
temperaments: 'training/temperaments',
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Check if a directory contains a nexus-bundle.json manifest.
|
|
50
|
-
*/
|
|
51
|
-
export function isBundleDir(dir) {
|
|
52
|
-
return fs.existsSync(path.join(dir, BUNDLE_MANIFEST));
|
|
53
|
-
}
|
|
54
|
-
// ── Validation ──────────────────────────────────────────────────────────
|
|
55
|
-
/**
|
|
56
|
-
* Read and validate a nexus-bundle.json manifest.
|
|
57
|
-
*
|
|
58
|
-
* Enforces schema rules:
|
|
59
|
-
* - tools/engines must use `package`, not `path`
|
|
60
|
-
* - curricula/temperaments must have either `package` or `path`
|
|
61
|
-
*/
|
|
62
|
-
export function readBundleManifest(bundleDir) {
|
|
63
|
-
const manifestPath = path.join(bundleDir, BUNDLE_MANIFEST);
|
|
64
|
-
if (!fs.existsSync(manifestPath)) {
|
|
65
|
-
throw new Error(`No ${BUNDLE_MANIFEST} found in ${bundleDir}`);
|
|
66
|
-
}
|
|
67
|
-
const manifest = readJson(manifestPath);
|
|
68
|
-
// Validate tools: must have package, no path allowed
|
|
69
|
-
for (const entry of manifest.tools ?? []) {
|
|
70
|
-
if (!entry.package) {
|
|
71
|
-
throw new Error('Tools must have a "package" specifier. ' +
|
|
72
|
-
'Tools have runtime code and potential npm dependencies — they cannot be inline.');
|
|
73
|
-
}
|
|
74
|
-
if ('path' in entry) {
|
|
75
|
-
throw new Error('Tools must be npm packages or git URLs. Use a "package" specifier instead of "path".');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Validate engines: must have package, no path allowed
|
|
79
|
-
for (const entry of manifest.engines ?? []) {
|
|
80
|
-
if (!entry.package) {
|
|
81
|
-
throw new Error('Engines must have a "package" specifier. ' +
|
|
82
|
-
'Engines have runtime code and potential npm dependencies — they cannot be inline.');
|
|
83
|
-
}
|
|
84
|
-
if ('path' in entry) {
|
|
85
|
-
throw new Error('Engines must be npm packages or git URLs. Use a "package" specifier instead of "path".');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Validate content entries: must have package or path
|
|
89
|
-
for (const entry of manifest.curricula ?? []) {
|
|
90
|
-
if (!entry.package && !entry.path) {
|
|
91
|
-
throw new Error('Curriculum entries must have either a "package" or "path" specifier.');
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
for (const entry of manifest.temperaments ?? []) {
|
|
95
|
-
if (!entry.package && !entry.path) {
|
|
96
|
-
throw new Error('Temperament entries must have either a "package" or "path" specifier.');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// Validate migrations: must have path, no package allowed
|
|
100
|
-
for (const entry of manifest.migrations ?? []) {
|
|
101
|
-
if (!entry.path) {
|
|
102
|
-
throw new Error('Migration entries must have a "path" specifier.');
|
|
103
|
-
}
|
|
104
|
-
if ('package' in entry) {
|
|
105
|
-
throw new Error('Migrations must be inline SQL files. Use a "path" specifier instead of "package".');
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return manifest;
|
|
109
|
-
}
|
|
110
|
-
// ── Inline content installation ─────────────────────────────────────────
|
|
111
|
-
/**
|
|
112
|
-
* Install an inline content artifact (curriculum or temperament) from a
|
|
113
|
-
* path relative to the bundle directory.
|
|
114
|
-
*
|
|
115
|
-
* Copies the full directory to the guild and registers in guild.json.
|
|
116
|
-
*/
|
|
117
|
-
function installInlineContent(home, bundleDir, category, entry, bundleSource) {
|
|
118
|
-
const contentDir = path.resolve(bundleDir, entry.path);
|
|
119
|
-
if (!fs.existsSync(contentDir)) {
|
|
120
|
-
throw new Error(`Inline content path not found: ${contentDir}`);
|
|
121
|
-
}
|
|
122
|
-
// Read descriptor to get version
|
|
123
|
-
const descriptorFile = DESCRIPTOR_MAP[category];
|
|
124
|
-
const descriptorPath = path.join(contentDir, descriptorFile);
|
|
125
|
-
if (!fs.existsSync(descriptorPath)) {
|
|
126
|
-
throw new Error(`No ${descriptorFile} found in ${contentDir}`);
|
|
127
|
-
}
|
|
128
|
-
const descriptor = readJson(descriptorPath);
|
|
129
|
-
const name = entry.name || path.basename(contentDir);
|
|
130
|
-
// Copy full directory to guild
|
|
131
|
-
const parentDir = DIR_MAP[category];
|
|
132
|
-
const targetDir = path.join(home, parentDir, name);
|
|
133
|
-
if (fs.existsSync(targetDir)) {
|
|
134
|
-
fs.rmSync(targetDir, { recursive: true });
|
|
135
|
-
}
|
|
136
|
-
fs.mkdirSync(targetDir, { recursive: true });
|
|
137
|
-
copyDir(contentDir, targetDir);
|
|
138
|
-
// Register in guild.json
|
|
139
|
-
const config = readGuildConfig(home);
|
|
140
|
-
config[category][name] = {
|
|
141
|
-
upstream: null,
|
|
142
|
-
installedAt: new Date().toISOString(),
|
|
143
|
-
...(bundleSource ? { bundle: bundleSource } : {}),
|
|
144
|
-
};
|
|
145
|
-
writeGuildConfig(home, config);
|
|
146
|
-
return name;
|
|
147
|
-
}
|
|
148
|
-
/** Recursively copy a directory, skipping node_modules and .git. */
|
|
149
|
-
const SKIP_DIRS = new Set(['node_modules', '.git']);
|
|
150
|
-
function copyDir(src, dest) {
|
|
151
|
-
fs.mkdirSync(dest, { recursive: true });
|
|
152
|
-
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
|
|
153
|
-
const srcPath = path.join(src, entry.name);
|
|
154
|
-
const destPath = path.join(dest, entry.name);
|
|
155
|
-
if (entry.isDirectory()) {
|
|
156
|
-
if (!SKIP_DIRS.has(entry.name)) {
|
|
157
|
-
copyDir(srcPath, destPath);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
fs.copyFileSync(srcPath, destPath);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// ── Main ────────────────────────────────────────────────────────────────
|
|
166
|
-
/**
|
|
167
|
-
* Install a bundle into a guild.
|
|
168
|
-
*
|
|
169
|
-
* Reads the bundle manifest, installs all referenced artifacts individually,
|
|
170
|
-
* and optionally commits the result. The bundle itself is NOT retained as
|
|
171
|
-
* a guild dependency — each artifact is installed independently.
|
|
172
|
-
*
|
|
173
|
-
* Package artifacts (tools, engines, and packaged content) are installed
|
|
174
|
-
* via npm. Inline content artifacts (curricula/temperaments with `path`) are
|
|
175
|
-
* copied directly from the bundle directory.
|
|
176
|
-
*
|
|
177
|
-
* If an installed package contains its own `nexus-bundle.json`, the installer
|
|
178
|
-
* recurses to install the transitive bundle's artifacts.
|
|
179
|
-
*/
|
|
180
|
-
export function installBundle(opts) {
|
|
181
|
-
const { home, bundleDir, commit = true } = opts;
|
|
182
|
-
// Auto-detect bundle provenance from package.json if not provided
|
|
183
|
-
let bundleSource = opts.bundleSource;
|
|
184
|
-
if (!bundleSource) {
|
|
185
|
-
const bundlePkgPath = path.join(bundleDir, 'package.json');
|
|
186
|
-
if (fs.existsSync(bundlePkgPath)) {
|
|
187
|
-
const bundlePkg = readJson(bundlePkgPath);
|
|
188
|
-
const name = bundlePkg['name'];
|
|
189
|
-
const version = bundlePkg['version'];
|
|
190
|
-
if (name && version) {
|
|
191
|
-
bundleSource = `${name}@${version}`;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
const manifest = readBundleManifest(bundleDir);
|
|
196
|
-
const result = {
|
|
197
|
-
installed: 0,
|
|
198
|
-
artifacts: { tools: [], engines: [], curricula: [], temperaments: [], migrations: [] },
|
|
199
|
-
};
|
|
200
|
-
// ── Collect all package specifiers for batch npm install ──────────────
|
|
201
|
-
const packageSpecs = [];
|
|
202
|
-
for (const entry of manifest.tools ?? []) {
|
|
203
|
-
packageSpecs.push(entry.package);
|
|
204
|
-
}
|
|
205
|
-
for (const entry of manifest.engines ?? []) {
|
|
206
|
-
packageSpecs.push(entry.package);
|
|
207
|
-
}
|
|
208
|
-
for (const entry of manifest.curricula ?? []) {
|
|
209
|
-
if (entry.package)
|
|
210
|
-
packageSpecs.push(entry.package);
|
|
211
|
-
}
|
|
212
|
-
for (const entry of manifest.temperaments ?? []) {
|
|
213
|
-
if (entry.package)
|
|
214
|
-
packageSpecs.push(entry.package);
|
|
215
|
-
}
|
|
216
|
-
// ── Install inline content BEFORE npm install ──────────────────────
|
|
217
|
-
// The bundle may have been fetched with --no-save. The batch npm install
|
|
218
|
-
// below can prune unsaved packages from node_modules, destroying the
|
|
219
|
-
// bundle directory. Extract all inline content while it still exists.
|
|
220
|
-
// Install inline curricula
|
|
221
|
-
for (const entry of manifest.curricula ?? []) {
|
|
222
|
-
if (!entry.package) {
|
|
223
|
-
const name = installInlineContent(home, bundleDir, 'curricula', entry, bundleSource);
|
|
224
|
-
result.artifacts.curricula.push(name);
|
|
225
|
-
result.installed++;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
// Install inline temperaments
|
|
229
|
-
for (const entry of manifest.temperaments ?? []) {
|
|
230
|
-
if (!entry.package) {
|
|
231
|
-
const name = installInlineContent(home, bundleDir, 'temperaments', entry, bundleSource);
|
|
232
|
-
result.artifacts.temperaments.push(name);
|
|
233
|
-
result.installed++;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
// Install migrations (inline only, renumbered into guild sequence)
|
|
237
|
-
if (manifest.migrations && manifest.migrations.length > 0) {
|
|
238
|
-
const migrationsDir = path.join(home, 'nexus', 'migrations');
|
|
239
|
-
fs.mkdirSync(migrationsDir, { recursive: true });
|
|
240
|
-
// Find current highest sequence in guild
|
|
241
|
-
const existing = fs.readdirSync(migrationsDir);
|
|
242
|
-
const MIGRATION_PATTERN = /^(\d{3})-(.+)\.sql$/;
|
|
243
|
-
let maxSeq = 0;
|
|
244
|
-
for (const file of existing) {
|
|
245
|
-
const match = file.match(MIGRATION_PATTERN);
|
|
246
|
-
if (match) {
|
|
247
|
-
maxSeq = Math.max(maxSeq, parseInt(match[1], 10));
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
const provenance = {};
|
|
251
|
-
for (const entry of manifest.migrations) {
|
|
252
|
-
const srcPath = path.resolve(bundleDir, entry.path);
|
|
253
|
-
if (!fs.existsSync(srcPath)) {
|
|
254
|
-
throw new Error(`Migration file not found: ${srcPath}`);
|
|
255
|
-
}
|
|
256
|
-
const originalName = path.basename(srcPath);
|
|
257
|
-
maxSeq++;
|
|
258
|
-
const seq = String(maxSeq).padStart(3, '0');
|
|
259
|
-
// Derive description from original filename (strip sequence prefix if present)
|
|
260
|
-
const descMatch = originalName.match(/^\d{3}-(.+)$/);
|
|
261
|
-
const description = descMatch ? descMatch[1] : originalName;
|
|
262
|
-
const guildFilename = `${seq}-${description}`;
|
|
263
|
-
fs.copyFileSync(srcPath, path.join(migrationsDir, guildFilename));
|
|
264
|
-
if (bundleSource) {
|
|
265
|
-
provenance[guildFilename] = { bundle: bundleSource, originalName };
|
|
266
|
-
}
|
|
267
|
-
result.artifacts.migrations.push(guildFilename);
|
|
268
|
-
result.installed++;
|
|
269
|
-
}
|
|
270
|
-
if (Object.keys(provenance).length > 0) {
|
|
271
|
-
result.migrationProvenance = provenance;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
// ── Batch npm install all package dependencies ────────────────────────
|
|
275
|
-
// Safe to run now — all inline content has been extracted from bundleDir.
|
|
276
|
-
if (packageSpecs.length > 0) {
|
|
277
|
-
npm(['install', '--save', ...packageSpecs], home);
|
|
278
|
-
}
|
|
279
|
-
// ── Install package-based artifacts ───────────────────────────────────
|
|
280
|
-
// Helper to install a single package artifact via installTool
|
|
281
|
-
const installPackageArtifact = (entry, category) => {
|
|
282
|
-
const spec = entry.package;
|
|
283
|
-
// Resolve package name from the specifier
|
|
284
|
-
const packageName = resolvePackageName(spec, home);
|
|
285
|
-
const packageDir = path.join(home, 'node_modules', packageName);
|
|
286
|
-
// Check for transitive bundle
|
|
287
|
-
const nestedBundlePath = path.join(packageDir, BUNDLE_MANIFEST);
|
|
288
|
-
if (fs.existsSync(nestedBundlePath)) {
|
|
289
|
-
const nestedResult = installBundle({
|
|
290
|
-
home,
|
|
291
|
-
bundleDir: packageDir,
|
|
292
|
-
bundleSource: spec,
|
|
293
|
-
commit: false,
|
|
294
|
-
});
|
|
295
|
-
// Merge nested results
|
|
296
|
-
result.installed += nestedResult.installed;
|
|
297
|
-
for (const cat of ['tools', 'engines', 'curricula', 'temperaments']) {
|
|
298
|
-
result.artifacts[cat].push(...nestedResult.artifacts[cat]);
|
|
299
|
-
}
|
|
300
|
-
return packageName;
|
|
301
|
-
}
|
|
302
|
-
// Find descriptor to determine artifact type.
|
|
303
|
-
// For collection packages (exporting arrays), the descriptor may not exist
|
|
304
|
-
// at the package root — that's fine, the name comes from the bundle manifest.
|
|
305
|
-
const descriptorFile = DESCRIPTOR_MAP[category];
|
|
306
|
-
const descriptorPath = path.join(packageDir, descriptorFile);
|
|
307
|
-
const hasDescriptor = fs.existsSync(descriptorPath);
|
|
308
|
-
const descriptor = hasDescriptor ? readJson(descriptorPath) : {};
|
|
309
|
-
// Determine artifact name — bundle manifest name takes priority
|
|
310
|
-
const name = entry.name || packageName.replace(/^@[^/]+\//, '');
|
|
311
|
-
if (!hasDescriptor && !entry.name) {
|
|
312
|
-
throw new Error(`Package "${packageName}" does not contain ${descriptorFile} and no "name" ` +
|
|
313
|
-
`was specified in the bundle manifest. Collection packages must declare ` +
|
|
314
|
-
`a "name" for each artifact in the bundle manifest.`);
|
|
315
|
-
}
|
|
316
|
-
// Copy metadata to guild directory
|
|
317
|
-
const parentDir = DIR_MAP[category];
|
|
318
|
-
const targetDir = path.join(home, parentDir, name);
|
|
319
|
-
if (fs.existsSync(targetDir)) {
|
|
320
|
-
fs.rmSync(targetDir, { recursive: true });
|
|
321
|
-
}
|
|
322
|
-
fs.mkdirSync(targetDir, { recursive: true });
|
|
323
|
-
if (hasDescriptor) {
|
|
324
|
-
// Copy descriptor
|
|
325
|
-
fs.copyFileSync(descriptorPath, path.join(targetDir, descriptorFile));
|
|
326
|
-
// Copy instructions if referenced
|
|
327
|
-
const instructionsFile = descriptor['instructions'];
|
|
328
|
-
if (instructionsFile) {
|
|
329
|
-
const instrPath = path.join(packageDir, instructionsFile);
|
|
330
|
-
if (fs.existsSync(instrPath)) {
|
|
331
|
-
fs.copyFileSync(instrPath, path.join(targetDir, instructionsFile));
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
// Copy content file if referenced (for curricula/temperaments)
|
|
335
|
-
const contentFile = descriptor['content'];
|
|
336
|
-
if (contentFile) {
|
|
337
|
-
const contentPath = path.join(packageDir, contentFile);
|
|
338
|
-
if (fs.existsSync(contentPath)) {
|
|
339
|
-
fs.copyFileSync(contentPath, path.join(targetDir, contentFile));
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
// For collection packages without a per-tool descriptor: no files to copy.
|
|
344
|
-
// Instructions come from the tool() definition at runtime (manifest engine
|
|
345
|
-
// imports the module and reads the `instructions` field).
|
|
346
|
-
// Register in guild.json
|
|
347
|
-
const config = readGuildConfig(home);
|
|
348
|
-
const now = new Date().toISOString();
|
|
349
|
-
const version = descriptor['version'];
|
|
350
|
-
const upstreamVersion = version ? `${packageName}@${version}` : packageName;
|
|
351
|
-
if (category === 'tools' || category === 'engines') {
|
|
352
|
-
config[category][name] = {
|
|
353
|
-
upstream: upstreamVersion,
|
|
354
|
-
installedAt: now,
|
|
355
|
-
package: packageName,
|
|
356
|
-
...(bundleSource ? { bundle: bundleSource } : {}),
|
|
357
|
-
};
|
|
358
|
-
// Bundle-installed tools are registered in the catalog only.
|
|
359
|
-
// Role assignment is handled by the caller (e.g. init-guild.ts
|
|
360
|
-
// sets up roles with explicit tool lists). Tools not assigned to
|
|
361
|
-
// any role or baseTools are installed but not accessible to animas.
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
364
|
-
config[category][name] = {
|
|
365
|
-
upstream: upstreamVersion,
|
|
366
|
-
installedAt: now,
|
|
367
|
-
...(bundleSource ? { bundle: bundleSource } : {}),
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
writeGuildConfig(home, config);
|
|
371
|
-
return name;
|
|
372
|
-
};
|
|
373
|
-
// Install tools
|
|
374
|
-
for (const entry of manifest.tools ?? []) {
|
|
375
|
-
const name = installPackageArtifact(entry, 'tools');
|
|
376
|
-
result.artifacts.tools.push(name);
|
|
377
|
-
result.installed++;
|
|
378
|
-
}
|
|
379
|
-
// Install engines
|
|
380
|
-
for (const entry of manifest.engines ?? []) {
|
|
381
|
-
const name = installPackageArtifact(entry, 'engines');
|
|
382
|
-
result.artifacts.engines.push(name);
|
|
383
|
-
result.installed++;
|
|
384
|
-
}
|
|
385
|
-
// Install package-based curricula
|
|
386
|
-
for (const entry of manifest.curricula ?? []) {
|
|
387
|
-
if (entry.package) {
|
|
388
|
-
const name = installPackageArtifact(entry, 'curricula');
|
|
389
|
-
result.artifacts.curricula.push(name);
|
|
390
|
-
result.installed++;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
// Install package-based temperaments
|
|
394
|
-
for (const entry of manifest.temperaments ?? []) {
|
|
395
|
-
if (entry.package) {
|
|
396
|
-
const name = installPackageArtifact(entry, 'temperaments');
|
|
397
|
-
result.artifacts.temperaments.push(name);
|
|
398
|
-
result.installed++;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
// Commit all changes in one batch
|
|
402
|
-
if (commit) {
|
|
403
|
-
git(['add', '-A'], home);
|
|
404
|
-
const bundleLabel = bundleSource || path.basename(bundleDir);
|
|
405
|
-
git(['commit', '-m', `Install bundle ${bundleLabel}`], home);
|
|
406
|
-
}
|
|
407
|
-
return result;
|
|
408
|
-
}
|
|
409
|
-
// ── Package name resolution ─────────────────────────────────────────────
|
|
410
|
-
/**
|
|
411
|
-
* Resolve a package specifier to a package name.
|
|
412
|
-
*
|
|
413
|
-
* - Local paths: reads name from the source's package.json
|
|
414
|
-
* - Git URLs: finds the package in guild's package.json deps
|
|
415
|
-
* - Registry specifiers: parses name from "name@version" or "@scope/name@version"
|
|
416
|
-
*/
|
|
417
|
-
function resolvePackageName(spec, guildRoot) {
|
|
418
|
-
// Local path: read package.json directly
|
|
419
|
-
const isLocalPath = spec.startsWith('/') || spec.startsWith('./') || spec.startsWith('../');
|
|
420
|
-
if (isLocalPath) {
|
|
421
|
-
const pkgJsonPath = path.join(path.resolve(spec), 'package.json');
|
|
422
|
-
if (!fs.existsSync(pkgJsonPath)) {
|
|
423
|
-
throw new Error(`No package.json found at ${pkgJsonPath}`);
|
|
424
|
-
}
|
|
425
|
-
const pkg = readJson(pkgJsonPath);
|
|
426
|
-
const name = pkg['name'];
|
|
427
|
-
if (!name) {
|
|
428
|
-
throw new Error(`No "name" field in ${pkgJsonPath}`);
|
|
429
|
-
}
|
|
430
|
-
return name;
|
|
431
|
-
}
|
|
432
|
-
// Git URL: find the package in node_modules by reading package.json deps
|
|
433
|
-
if (spec.startsWith('git+')) {
|
|
434
|
-
const guildPkg = readJson(path.join(guildRoot, 'package.json'));
|
|
435
|
-
const deps = guildPkg['dependencies'] ?? {};
|
|
436
|
-
for (const [name, value] of Object.entries(deps)) {
|
|
437
|
-
if (value === spec || value.includes(spec.replace(/^git\+/, ''))) {
|
|
438
|
-
return name;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
throw new Error(`Could not resolve package name for git URL: ${spec}`);
|
|
442
|
-
}
|
|
443
|
-
// Registry specifier: parse name from "name@version" or "@scope/name@version"
|
|
444
|
-
if (spec.startsWith('@') && spec.lastIndexOf('@') > 0) {
|
|
445
|
-
return spec.substring(0, spec.lastIndexOf('@'));
|
|
446
|
-
}
|
|
447
|
-
if (spec.includes('@')) {
|
|
448
|
-
return spec.split('@')[0];
|
|
449
|
-
}
|
|
450
|
-
return spec;
|
|
451
|
-
}
|
|
452
|
-
//# sourceMappingURL=bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/legacy/1/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clock-daemon.d.ts","sourceRoot":"","sources":["../../../src/legacy/1/clock-daemon.ts"],"names":[],"mappings":""}
|