@shardworks/nexus-core 0.1.53 → 0.1.55

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/anima.d.ts CHANGED
@@ -25,6 +25,22 @@ export interface UpdateAnimaOptions {
25
25
  status?: string;
26
26
  roles?: string[];
27
27
  }
28
+ /** Staleness info for a single training content axis (curriculum or temperament). */
29
+ export interface StalenessInfo {
30
+ /** Version baked into the anima's composition. */
31
+ composedVersion: string;
32
+ /** Version currently on disk. */
33
+ currentVersion: string;
34
+ }
35
+ /** Staleness check result for an anima. */
36
+ export interface AnimaStaleness {
37
+ /** Whether the anima has any stale content. */
38
+ stale: boolean;
39
+ /** Curriculum staleness (null if current or no curriculum). */
40
+ curriculum: StalenessInfo | null;
41
+ /** Temperament staleness (null if current or no temperament). */
42
+ temperament: StalenessInfo | null;
43
+ }
28
44
  /**
29
45
  * List animas with optional filters.
30
46
  */
@@ -37,6 +53,18 @@ export declare function showAnima(home: string, animaId: string): AnimaDetail |
37
53
  * Update an anima's status and/or roles.
38
54
  */
39
55
  export declare function updateAnima(home: string, animaId: string, opts: UpdateAnimaOptions): AnimaDetail;
56
+ /**
57
+ * Check whether an anima's composition is stale (using outdated training content).
58
+ *
59
+ * Compares the curriculum and temperament versions baked into the anima's
60
+ * composition against the versions currently on disk.
61
+ */
62
+ export declare function checkAnimaStaleness(home: string, animaId: string): AnimaStaleness | null;
63
+ /**
64
+ * Check staleness for all active animas at once.
65
+ * Returns a map of anima ID → staleness info, only including stale animas.
66
+ */
67
+ export declare function checkAllAnimaStaleness(home: string): Map<string, AnimaStaleness>;
40
68
  /**
41
69
  * Remove (retire) an anima. Sets status to 'retired' and removes roster entries.
42
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"anima.d.ts","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,YAAY,EAAE,CA2CrF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAuC3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,WAAW,CA0Eb;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA8B/D"}
1
+ {"version":3,"file":"anima.d.ts","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,iEAAiE;IACjE,WAAW,EAAE,aAAa,GAAG,IAAI,CAAC;CACnC;AAID;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,YAAY,EAAE,CA2CrF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAuC3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,WAAW,CA0Eb;AA0BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA0BxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAyDhF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA8B/D"}
package/dist/anima.js CHANGED
@@ -5,6 +5,8 @@
5
5
  * Read-by-name is handled by manifest.ts's readAnima() (used at manifest time).
6
6
  * This module provides the remaining CRUD surface.
7
7
  */
8
+ import fs from 'node:fs';
9
+ import path from 'node:path';
8
10
  import Database from 'better-sqlite3';
9
11
  import { booksPath } from "./nexus-home.js";
10
12
  import { generateId } from "./id.js";
@@ -132,6 +134,107 @@ export function updateAnima(home, animaId, opts) {
132
134
  db.close();
133
135
  }
134
136
  }
137
+ /**
138
+ * Read the version from a training content descriptor on disk.
139
+ * Returns 'unknown' if the descriptor is missing or has no version.
140
+ */
141
+ function readTrainingVersion(home, category, name) {
142
+ const descriptorFile = category === 'curricula'
143
+ ? 'nexus-curriculum.json'
144
+ : 'nexus-temperament.json';
145
+ const parentDir = category === 'curricula' ? 'training/curricula' : 'training/temperaments';
146
+ const descriptorPath = path.join(home, parentDir, name, descriptorFile);
147
+ if (!fs.existsSync(descriptorPath))
148
+ return null;
149
+ try {
150
+ const descriptor = JSON.parse(fs.readFileSync(descriptorPath, 'utf-8'));
151
+ return descriptor.version || 'unknown';
152
+ }
153
+ catch {
154
+ return null;
155
+ }
156
+ }
157
+ /**
158
+ * Check whether an anima's composition is stale (using outdated training content).
159
+ *
160
+ * Compares the curriculum and temperament versions baked into the anima's
161
+ * composition against the versions currently on disk.
162
+ */
163
+ export function checkAnimaStaleness(home, animaId) {
164
+ const detail = showAnima(home, animaId);
165
+ if (!detail)
166
+ return null;
167
+ let curriculum = null;
168
+ let temperament = null;
169
+ if (detail.curriculumName) {
170
+ const currentVersion = readTrainingVersion(home, 'curricula', detail.curriculumName);
171
+ if (currentVersion && currentVersion !== detail.curriculumVersion) {
172
+ curriculum = { composedVersion: detail.curriculumVersion, currentVersion };
173
+ }
174
+ }
175
+ if (detail.temperamentName) {
176
+ const currentVersion = readTrainingVersion(home, 'temperaments', detail.temperamentName);
177
+ if (currentVersion && currentVersion !== detail.temperamentVersion) {
178
+ temperament = { composedVersion: detail.temperamentVersion, currentVersion };
179
+ }
180
+ }
181
+ return {
182
+ stale: curriculum !== null || temperament !== null,
183
+ curriculum,
184
+ temperament,
185
+ };
186
+ }
187
+ /**
188
+ * Check staleness for all active animas at once.
189
+ * Returns a map of anima ID → staleness info, only including stale animas.
190
+ */
191
+ export function checkAllAnimaStaleness(home) {
192
+ const result = new Map();
193
+ // Build the current version map once (avoid repeated disk reads)
194
+ const versionCache = new Map();
195
+ function getCachedVersion(category, name) {
196
+ const key = `${category}:${name}`;
197
+ if (!versionCache.has(key)) {
198
+ versionCache.set(key, readTrainingVersion(home, category, name));
199
+ }
200
+ return versionCache.get(key);
201
+ }
202
+ const db = new Database(booksPath(home));
203
+ db.pragma('foreign_keys = ON');
204
+ try {
205
+ const animas = db.prepare(`
206
+ SELECT a.id, a.name,
207
+ c.curriculum_name, c.curriculum_version,
208
+ c.temperament_name, c.temperament_version
209
+ FROM animas a
210
+ LEFT JOIN anima_compositions c ON c.anima_id = a.id
211
+ WHERE a.status = 'active'
212
+ `).all();
213
+ for (const anima of animas) {
214
+ let curriculum = null;
215
+ let temperament = null;
216
+ if (anima.curriculum_name && anima.curriculum_version) {
217
+ const currentVersion = getCachedVersion('curricula', anima.curriculum_name);
218
+ if (currentVersion && currentVersion !== anima.curriculum_version) {
219
+ curriculum = { composedVersion: anima.curriculum_version, currentVersion };
220
+ }
221
+ }
222
+ if (anima.temperament_name && anima.temperament_version) {
223
+ const currentVersion = getCachedVersion('temperaments', anima.temperament_name);
224
+ if (currentVersion && currentVersion !== anima.temperament_version) {
225
+ temperament = { composedVersion: anima.temperament_version, currentVersion };
226
+ }
227
+ }
228
+ if (curriculum || temperament) {
229
+ result.set(anima.id, { stale: true, curriculum, temperament });
230
+ }
231
+ }
232
+ }
233
+ finally {
234
+ db.close();
235
+ }
236
+ return result;
237
+ }
135
238
  /**
136
239
  * Remove (retire) an anima. Sets status to 'retired' and removes roster entries.
137
240
  */
package/dist/anima.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"anima.js","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anima.js","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,8 +18,9 @@ export { type WorktreeConfig, type WorktreeResult, setupWorktree, teardownWorktr
18
18
  export { type MigrationFile, type MigrationProvenance, type MigrateResult, discoverMigrations, applyMigrations, } from './migrate.ts';
19
19
  export { type AnimaRecord, type ResolvedTool, type UnavailableTool, type ManifestResult, readAnima, resolveTools, readCodex, readRoleInstructions, assembleSystemPrompt, manifest, } from './manifest.ts';
20
20
  export { type SessionProvider, type SessionProviderLaunchOptions, type SessionProviderResult, type SessionLaunchOptions, type SessionResult, type WorkspaceContext, type ResolvedWorkspace, type SessionRecord, type SessionSummary, type SessionDetail, type ListSessionsOptions, registerSessionProvider, getSessionProvider, resolveWorkspace, createTempWorktree, removeTempWorktree, launchSession, listSessions, showSession, } from './session.ts';
21
+ export { type UpgradePlan, type UpgradeResult, type ApplyUpgradeOptions, type MigrationPlanEntry, type ContentUpdateEntry, type StaleAnimaEntry, planUpgrade, applyUpgrade, } from './upgrade.ts';
21
22
  export { generateId } from './id.ts';
22
- export { type AnimaSummary, type AnimaDetail, type ListAnimasOptions, type UpdateAnimaOptions, listAnimas, showAnima, updateAnima, removeAnima, } from './anima.ts';
23
+ export { type AnimaSummary, type AnimaDetail, type ListAnimasOptions, type UpdateAnimaOptions, type AnimaStaleness, type StalenessInfo, listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from './anima.ts';
23
24
  export { type ToolSummary, listTools, } from './tool-registry.ts';
24
25
  export { type WorkRecord, type CreateWorkOptions, type ListWorksOptions, type UpdateWorkOptions, createWork, listWorks, showWork, updateWork, checkWorkCompletion, completeWorkIfReady, } from './work.ts';
25
26
  export { type PieceRecord, type CreatePieceOptions, type ListPiecesOptions, type UpdatePieceOptions, createPiece, listPieces, showPiece, updatePiece, checkPieceCompletion, completePieceIfReady, } from './piece.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,8 +22,9 @@ export { setupWorktree, teardownWorktree, listWorktrees, } from "./worktree.js";
22
22
  export { discoverMigrations, applyMigrations, } from "./migrate.js";
23
23
  export { readAnima, resolveTools, readCodex, readRoleInstructions, assembleSystemPrompt, manifest, } from "./manifest.js";
24
24
  export { registerSessionProvider, getSessionProvider, resolveWorkspace, createTempWorktree, removeTempWorktree, launchSession, listSessions, showSession, } from "./session.js";
25
+ export { planUpgrade, applyUpgrade, } from "./upgrade.js";
25
26
  export { generateId } from "./id.js";
26
- export { listAnimas, showAnima, updateAnima, removeAnima, } from "./anima.js";
27
+ export { listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from "./anima.js";
27
28
  export { listTools, } from "./tool-registry.js";
28
29
  export { createWork, listWorks, showWork, updateWork, checkWorkCompletion, completeWorkIfReady, } from "./work.js";
29
30
  export { createPiece, listPieces, showPiece, updatePiece, checkPieceCompletion, completePieceIfReady, } from "./piece.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-guild.d.ts","sourceRoot":"","sources":["../src/init-guild.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAwLzE"}
1
+ {"version":3,"file":"init-guild.d.ts","sourceRoot":"","sources":["../src/init-guild.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAyMzE"}
@@ -89,11 +89,28 @@ export function initGuild(home, name, model) {
89
89
  '- **Manage work status** — update work item statuses (cancel stuck work, adjust piece/job state).',
90
90
  '- **Signal events** — signal custom guild events when meaningful things happen.',
91
91
  '',
92
+ '### Upgrades & Staleness',
93
+ '',
94
+ 'When the Nexus framework is upgraded, the guild receives new database migrations, updated curricula, and updated temperaments. The patron runs `nsg upgrade` from the CLI to apply these changes. **You cannot trigger an upgrade** — that is the patron\'s responsibility.',
95
+ '',
96
+ 'However, you **can and should** manage stale animas. An anima is "stale" when its composition was created with an older version of its curriculum or temperament than what is currently installed in the guild. Stale animas continue using their original training content and will not benefit from updated instructions, procedures, or tool lists until they are recomposed.',
97
+ '',
98
+ '**Detecting staleness:** The `anima-list` and `anima-show` tools report staleness. When you see `stale: true` on an anima, check the `staleness` field for details on which curriculum or temperament version is outdated.',
99
+ '',
100
+ '**Fixing stale animas:** To recompose a stale anima, note its name, roles, curriculum, and temperament from `anima-show`, then:',
101
+ '1. Remove the stale anima (`anima-remove`)',
102
+ '2. Create a fresh anima with the same name, roles, curriculum, and temperament (`anima-create`)',
103
+ '',
104
+ 'The new anima will pick up the latest training content. The old anima\'s history (commissions, sessions) remains in the Books under its original ID.',
105
+ '',
106
+ 'When you notice stale animas during routine status checks, proactively inform the patron and offer to recompose them.',
107
+ '',
92
108
  '## What You Don\'t Do',
93
109
  '',
94
110
  '- **You do not build works.** You don\'t write code, implement features, or work in workshop worktrees. That\'s the artificer\'s job.',
95
111
  '- **You do not plan work decomposition.** You don\'t create works, pieces, or jobs — that\'s sage territory. You manage their *status* when needed.',
96
- '- **You do not act unilaterally.** Administrative actions require the patron\'s direction. You advise, then execute on instruction.',
112
+ '- **You do not trigger upgrades.** The patron runs `nsg upgrade` from the CLI. You manage the aftermath (stale animas, status checks).',
113
+ '- **You do not act unilaterally.** Administrative actions require the patron\'s direction. You advise, then execute on instruction. The exception is when the patron has already directed you to fix stale animas — you may proceed without re-asking.',
97
114
  '- **You do not speak for other animas.** Report what the Books say, not what you imagine another anima would think.',
98
115
  '',
99
116
  ].join('\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"init-guild.js","sourceRoot":"","sources":["../src/init-guild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-guild.js","sourceRoot":"","sources":["../src/init-guild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Upgrade — plan and apply framework upgrades to an existing guild.
3
+ *
4
+ * Compares the guild's current state against a bundle (typically the
5
+ * guild-starter-kit at a newer version) and produces a plan describing:
6
+ *
7
+ * - New database migrations to apply
8
+ * - Updated curricula and temperaments
9
+ * - Stale anima compositions (using outdated training content)
10
+ *
11
+ * The plan can be inspected (dry-run) or applied. Migrations are
12
+ * renumbered into the guild's existing sequence. Content artifacts
13
+ * are overwritten with the newer version. Stale animas are reported
14
+ * but not automatically recomposed — the operator decides.
15
+ */
16
+ /** A migration that the bundle wants to deliver but the guild doesn't have. */
17
+ export interface MigrationPlanEntry {
18
+ /** Original filename in the bundle (e.g. "002-clockworks.sql"). */
19
+ bundleFilename: string;
20
+ /** The sequence number it will get in the guild. */
21
+ guildSequence: number;
22
+ /** The filename it will have in the guild (e.g. "005-clockworks.sql"). */
23
+ guildFilename: string;
24
+ }
25
+ /** A content artifact (curriculum or temperament) that has a newer version available. */
26
+ export interface ContentUpdateEntry {
27
+ /** Category: 'curricula' or 'temperaments'. */
28
+ category: 'curricula' | 'temperaments';
29
+ /** Name of the content artifact. */
30
+ name: string;
31
+ /** Currently installed version (from guild.json entry or disk descriptor). */
32
+ installedVersion: string;
33
+ /** Version in the bundle. */
34
+ bundleVersion: string;
35
+ /** Path in the bundle to the content directory. */
36
+ bundlePath: string;
37
+ }
38
+ /** An anima whose composition references an outdated curriculum or temperament. */
39
+ export interface StaleAnimaEntry {
40
+ /** Anima ID. */
41
+ id: string;
42
+ /** Anima name. */
43
+ name: string;
44
+ /** Roles held by the anima. */
45
+ roles: string[];
46
+ /** Curriculum staleness (null if current or no curriculum). */
47
+ curriculum: {
48
+ composedVersion: string;
49
+ currentVersion: string;
50
+ } | null;
51
+ /** Temperament staleness (null if current or no temperament). */
52
+ temperament: {
53
+ composedVersion: string;
54
+ currentVersion: string;
55
+ } | null;
56
+ }
57
+ /** The full upgrade plan. */
58
+ export interface UpgradePlan {
59
+ /** Bundle source identifier (e.g. "@shardworks/guild-starter-kit@0.1.55"). */
60
+ bundleSource: string;
61
+ /** New migrations to install and apply. */
62
+ migrations: MigrationPlanEntry[];
63
+ /** Content artifacts with newer versions available. */
64
+ contentUpdates: ContentUpdateEntry[];
65
+ /** Animas running on outdated compositions. */
66
+ staleAnimas: StaleAnimaEntry[];
67
+ /** Whether there is anything to do. */
68
+ isEmpty: boolean;
69
+ }
70
+ /** Options for applying an upgrade plan. */
71
+ export interface ApplyUpgradeOptions {
72
+ /** If true, retire stale animas and recreate them with fresh compositions. */
73
+ recompose?: boolean;
74
+ }
75
+ /** Result of applying an upgrade plan. */
76
+ export interface UpgradeResult {
77
+ /** Migrations that were installed and applied. */
78
+ migrationsApplied: string[];
79
+ /** Content artifacts that were updated. */
80
+ contentUpdated: string[];
81
+ /** Number of stale animas (reported, not changed). */
82
+ staleAnimaCount: number;
83
+ /** Animas that were recomposed (retired + recreated). */
84
+ recomposedAnimas: string[];
85
+ }
86
+ /**
87
+ * Plan an upgrade by diffing the guild's current state against a bundle.
88
+ *
89
+ * This is a read-only operation — it inspects the guild and bundle but
90
+ * makes no changes. The returned plan describes everything that would
91
+ * happen if the upgrade were applied.
92
+ *
93
+ * @param home - Absolute path to the guild root.
94
+ * @param bundleDir - Absolute path to the bundle directory.
95
+ * @param bundleSource - Provenance string (e.g. "@shardworks/guild-starter-kit@0.1.55").
96
+ */
97
+ export declare function planUpgrade(home: string, bundleDir: string, bundleSource?: string): UpgradePlan;
98
+ /**
99
+ * Apply an upgrade plan to the guild.
100
+ *
101
+ * Installs new migrations, updates content artifacts, and bumps the
102
+ * nexus version in guild.json. Optionally recomposes stale animas
103
+ * (retires each one and recreates with the same name, roles, curriculum,
104
+ * and temperament — picking up the latest training content).
105
+ *
106
+ * @param home - Absolute path to the guild root.
107
+ * @param bundleDir - Absolute path to the bundle directory.
108
+ * @param plan - The upgrade plan to apply (from planUpgrade).
109
+ * @param opts - Options (e.g. recompose).
110
+ */
111
+ export declare function applyUpgrade(home: string, bundleDir: string, plan: UpgradePlan, opts?: ApplyUpgradeOptions): UpgradeResult;
112
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,QAAQ,EAAE,WAAW,GAAG,cAAc,CAAC;IACvC,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,iEAAiE;IACjE,WAAW,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzE;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,uDAAuD;IACvD,cAAc,EAAE,kBAAkB,EAAE,CAAC;IACrC,+CAA+C;IAC/C,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,WAAW,CA4Cb;AA+OD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,mBAAwB,GAC7B,aAAa,CA6Hf"}
@@ -0,0 +1,421 @@
1
+ /**
2
+ * Upgrade — plan and apply framework upgrades to an existing guild.
3
+ *
4
+ * Compares the guild's current state against a bundle (typically the
5
+ * guild-starter-kit at a newer version) and produces a plan describing:
6
+ *
7
+ * - New database migrations to apply
8
+ * - Updated curricula and temperaments
9
+ * - Stale anima compositions (using outdated training content)
10
+ *
11
+ * The plan can be inspected (dry-run) or applied. Migrations are
12
+ * renumbered into the guild's existing sequence. Content artifacts
13
+ * are overwritten with the newer version. Stale animas are reported
14
+ * but not automatically recomposed — the operator decides.
15
+ */
16
+ import fs from 'node:fs';
17
+ import path from 'node:path';
18
+ import Database from 'better-sqlite3';
19
+ import { booksPath } from "./nexus-home.js";
20
+ import { readGuildConfig, writeGuildConfig } from "./guild-config.js";
21
+ import { readBundleManifest } from "./bundle.js";
22
+ import { discoverMigrations, applyMigrations } from "./migrate.js";
23
+ import { listAnimas, checkAllAnimaStaleness } from "./anima.js";
24
+ import { removeAnima } from "./anima.js";
25
+ import { instantiate } from "./instantiate.js";
26
+ // ── Helpers ─────────────────────────────────────────────────────────────
27
+ const MIGRATION_PATTERN = /^(\d{3})-(.+)\.sql$/;
28
+ function readJson(filePath) {
29
+ return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
30
+ }
31
+ /** Recursively copy a directory, skipping node_modules and .git. */
32
+ const SKIP_DIRS = new Set(['node_modules', '.git']);
33
+ function copyDir(src, dest) {
34
+ fs.mkdirSync(dest, { recursive: true });
35
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
36
+ const srcPath = path.join(src, entry.name);
37
+ const destPath = path.join(dest, entry.name);
38
+ if (entry.isDirectory()) {
39
+ if (!SKIP_DIRS.has(entry.name)) {
40
+ copyDir(srcPath, destPath);
41
+ }
42
+ }
43
+ else {
44
+ fs.copyFileSync(srcPath, destPath);
45
+ }
46
+ }
47
+ }
48
+ /**
49
+ * Read a content descriptor (nexus-curriculum.json or nexus-temperament.json)
50
+ * and return its version string.
51
+ */
52
+ function readContentVersion(dir, category) {
53
+ const descriptorFile = category === 'curricula'
54
+ ? 'nexus-curriculum.json'
55
+ : 'nexus-temperament.json';
56
+ const descriptorPath = path.join(dir, descriptorFile);
57
+ if (!fs.existsSync(descriptorPath))
58
+ return 'unknown';
59
+ const descriptor = readJson(descriptorPath);
60
+ return descriptor.version || 'unknown';
61
+ }
62
+ // ── Plan ────────────────────────────────────────────────────────────────
63
+ /**
64
+ * Plan an upgrade by diffing the guild's current state against a bundle.
65
+ *
66
+ * This is a read-only operation — it inspects the guild and bundle but
67
+ * makes no changes. The returned plan describes everything that would
68
+ * happen if the upgrade were applied.
69
+ *
70
+ * @param home - Absolute path to the guild root.
71
+ * @param bundleDir - Absolute path to the bundle directory.
72
+ * @param bundleSource - Provenance string (e.g. "@shardworks/guild-starter-kit@0.1.55").
73
+ */
74
+ export function planUpgrade(home, bundleDir, bundleSource) {
75
+ // Auto-detect bundle provenance if not provided
76
+ if (!bundleSource) {
77
+ const bundlePkgPath = path.join(bundleDir, 'package.json');
78
+ if (fs.existsSync(bundlePkgPath)) {
79
+ const pkg = readJson(bundlePkgPath);
80
+ const name = pkg.name;
81
+ const version = pkg.version;
82
+ if (name && version)
83
+ bundleSource = `${name}@${version}`;
84
+ }
85
+ }
86
+ bundleSource = bundleSource || path.basename(bundleDir);
87
+ const manifest = readBundleManifest(bundleDir);
88
+ const plan = {
89
+ bundleSource,
90
+ migrations: [],
91
+ contentUpdates: [],
92
+ staleAnimas: [],
93
+ isEmpty: true,
94
+ };
95
+ // ── Migration diff ──────────────────────────────────────────────────
96
+ planMigrations(home, bundleDir, manifest, bundleSource, plan);
97
+ // ── Content diff ────────────────────────────────────────────────────
98
+ planContentUpdates(home, bundleDir, manifest, 'curricula', plan);
99
+ planContentUpdates(home, bundleDir, manifest, 'temperaments', plan);
100
+ // ── Stale anima detection ───────────────────────────────────────────
101
+ // This detects staleness based on what's *currently* on disk, plus
102
+ // any content updates the plan would apply. So if the plan updates
103
+ // curriculum v1.0 → v1.1, animas on v1.0 will show as stale.
104
+ detectStaleAnimas(home, plan);
105
+ plan.isEmpty = plan.migrations.length === 0
106
+ && plan.contentUpdates.length === 0
107
+ && plan.staleAnimas.length === 0;
108
+ return plan;
109
+ }
110
+ /**
111
+ * Diff bundle migrations against what the guild already has.
112
+ *
113
+ * Strategy: read the guild's _migrations table for provenance data.
114
+ * For each bundle migration, check if a migration with the same original
115
+ * name from the same bundle (or a prior version of it) has already been
116
+ * applied. If not, it's new and needs to be installed.
117
+ */
118
+ function planMigrations(home, bundleDir, manifest, bundleSource, plan) {
119
+ if (!manifest.migrations || manifest.migrations.length === 0)
120
+ return;
121
+ // Read applied migrations from the _migrations table
122
+ const dbPath = booksPath(home);
123
+ let appliedOriginals = new Set();
124
+ if (fs.existsSync(dbPath)) {
125
+ const db = new Database(dbPath);
126
+ try {
127
+ // Check if _migrations table exists
128
+ const tableExists = db.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='_migrations'`).get();
129
+ if (tableExists) {
130
+ // Get all original_name values from migrations delivered by any version
131
+ // of this bundle's package. Compare by package name, not full version.
132
+ const bundlePackage = bundleSource.replace(/@[^@]+$/, '');
133
+ const rows = db.prepare(`SELECT original_name, filename FROM _migrations WHERE bundle LIKE ? OR bundle IS NULL`).all(`${bundlePackage}%`);
134
+ for (const row of rows) {
135
+ if (row.original_name) {
136
+ appliedOriginals.add(row.original_name);
137
+ }
138
+ }
139
+ // Also check by content: for migrations installed before provenance
140
+ // tracking existed, compare the actual SQL content
141
+ if (rows.some(r => r.original_name === null)) {
142
+ // Fall back to filename-based matching for legacy migrations
143
+ const allApplied = db.prepare(`SELECT filename FROM _migrations`).all();
144
+ for (const row of allApplied) {
145
+ // Extract description part (strip sequence prefix)
146
+ const match = row.filename.match(MIGRATION_PATTERN);
147
+ if (match) {
148
+ appliedOriginals.add(row.filename);
149
+ // Also add just the description part for fuzzy matching
150
+ appliedOriginals.add(match[2]);
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ finally {
157
+ db.close();
158
+ }
159
+ }
160
+ // Find the current highest sequence in the guild's migrations dir
161
+ const migrationsDir = path.join(home, 'nexus', 'migrations');
162
+ let maxSeq = 0;
163
+ if (fs.existsSync(migrationsDir)) {
164
+ for (const file of fs.readdirSync(migrationsDir)) {
165
+ const match = file.match(MIGRATION_PATTERN);
166
+ if (match)
167
+ maxSeq = Math.max(maxSeq, parseInt(match[1], 10));
168
+ }
169
+ }
170
+ // Check each bundle migration against what's already applied
171
+ for (const entry of manifest.migrations) {
172
+ const srcPath = path.resolve(bundleDir, entry.path);
173
+ const originalName = path.basename(srcPath);
174
+ // Extract description from the bundle filename
175
+ const descMatch = originalName.match(/^\d{3}-(.+)$/);
176
+ const description = descMatch ? descMatch[1] : originalName;
177
+ // Check if this migration (by original name or description) is already applied
178
+ const alreadyApplied = appliedOriginals.has(originalName)
179
+ || appliedOriginals.has(description);
180
+ if (!alreadyApplied) {
181
+ maxSeq++;
182
+ const seq = String(maxSeq).padStart(3, '0');
183
+ const guildFilename = `${seq}-${description}`;
184
+ plan.migrations.push({
185
+ bundleFilename: originalName,
186
+ guildSequence: maxSeq,
187
+ guildFilename,
188
+ });
189
+ }
190
+ }
191
+ }
192
+ /**
193
+ * Diff bundle content (curricula or temperaments) against guild versions.
194
+ */
195
+ function planContentUpdates(home, bundleDir, manifest, category, plan) {
196
+ const entries = manifest[category];
197
+ if (!entries)
198
+ return;
199
+ for (const entry of entries) {
200
+ // Only handle inline content (path-based). Package content is handled
201
+ // by npm update and doesn't need special upgrade logic.
202
+ if (!entry.path)
203
+ continue;
204
+ const contentDir = path.resolve(bundleDir, entry.path);
205
+ if (!fs.existsSync(contentDir))
206
+ continue;
207
+ const name = entry.name || path.basename(contentDir);
208
+ const bundleVersion = readContentVersion(contentDir, category);
209
+ // Read installed version from disk
210
+ const parentDir = category === 'curricula' ? 'training/curricula' : 'training/temperaments';
211
+ const installedDir = path.join(home, parentDir, name);
212
+ const installedVersion = fs.existsSync(installedDir)
213
+ ? readContentVersion(installedDir, category)
214
+ : 'not installed';
215
+ if (bundleVersion !== installedVersion) {
216
+ plan.contentUpdates.push({
217
+ category,
218
+ name,
219
+ installedVersion,
220
+ bundleVersion,
221
+ bundlePath: entry.path,
222
+ });
223
+ }
224
+ }
225
+ }
226
+ /**
227
+ * Detect animas whose compositions reference outdated training content.
228
+ *
229
+ * Uses the shared checkAllAnimaStaleness function, then enriches with
230
+ * planned content update versions (so animas are flagged as stale even
231
+ * if the content hasn't been written to disk yet).
232
+ */
233
+ function detectStaleAnimas(home, plan) {
234
+ const dbPath = booksPath(home);
235
+ if (!fs.existsSync(dbPath))
236
+ return;
237
+ // Check that the animas table exists
238
+ const db = new Database(dbPath);
239
+ try {
240
+ const hasAnimas = db.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='animas'`).get();
241
+ if (!hasAnimas)
242
+ return;
243
+ }
244
+ finally {
245
+ db.close();
246
+ }
247
+ // Get all active animas for enrichment
248
+ const activeAnimas = listAnimas(home, { status: 'active' });
249
+ // Use the shared staleness check for current on-disk state
250
+ const currentStaleness = checkAllAnimaStaleness(home);
251
+ // Also check against planned content updates (content not yet on disk)
252
+ // Build a map of what versions will be current after upgrade
253
+ const plannedVersions = new Map();
254
+ for (const update of plan.contentUpdates) {
255
+ plannedVersions.set(`${update.category}:${update.name}`, update.bundleVersion);
256
+ }
257
+ // For each active anima, check both current staleness and planned staleness
258
+ const db2 = new Database(booksPath(home));
259
+ db2.pragma('foreign_keys = ON');
260
+ try {
261
+ for (const anima of activeAnimas) {
262
+ // Get composition data
263
+ const comp = db2.prepare(`
264
+ SELECT curriculum_name, curriculum_version,
265
+ temperament_name, temperament_version
266
+ FROM anima_compositions WHERE anima_id = ?
267
+ `).get(anima.id);
268
+ if (!comp)
269
+ continue;
270
+ // Start with current staleness
271
+ const existing = currentStaleness.get(anima.id);
272
+ let curriculum = existing?.curriculum ?? null;
273
+ let temperament = existing?.temperament ?? null;
274
+ // Check planned curriculum update
275
+ if (!curriculum && comp.curriculum_name && comp.curriculum_version) {
276
+ const plannedVersion = plannedVersions.get(`curricula:${comp.curriculum_name}`);
277
+ if (plannedVersion && plannedVersion !== comp.curriculum_version) {
278
+ curriculum = { composedVersion: comp.curriculum_version, currentVersion: plannedVersion };
279
+ }
280
+ }
281
+ // Check planned temperament update
282
+ if (!temperament && comp.temperament_name && comp.temperament_version) {
283
+ const plannedVersion = plannedVersions.get(`temperaments:${comp.temperament_name}`);
284
+ if (plannedVersion && plannedVersion !== comp.temperament_version) {
285
+ temperament = { composedVersion: comp.temperament_version, currentVersion: plannedVersion };
286
+ }
287
+ }
288
+ if (curriculum || temperament) {
289
+ plan.staleAnimas.push({
290
+ id: anima.id,
291
+ name: anima.name,
292
+ roles: anima.roles,
293
+ curriculum,
294
+ temperament,
295
+ });
296
+ }
297
+ }
298
+ }
299
+ finally {
300
+ db2.close();
301
+ }
302
+ }
303
+ // ── Apply ───────────────────────────────────────────────────────────────
304
+ /**
305
+ * Apply an upgrade plan to the guild.
306
+ *
307
+ * Installs new migrations, updates content artifacts, and bumps the
308
+ * nexus version in guild.json. Optionally recomposes stale animas
309
+ * (retires each one and recreates with the same name, roles, curriculum,
310
+ * and temperament — picking up the latest training content).
311
+ *
312
+ * @param home - Absolute path to the guild root.
313
+ * @param bundleDir - Absolute path to the bundle directory.
314
+ * @param plan - The upgrade plan to apply (from planUpgrade).
315
+ * @param opts - Options (e.g. recompose).
316
+ */
317
+ export function applyUpgrade(home, bundleDir, plan, opts = {}) {
318
+ const result = {
319
+ migrationsApplied: [],
320
+ contentUpdated: [],
321
+ staleAnimaCount: plan.staleAnimas.length,
322
+ recomposedAnimas: [],
323
+ };
324
+ // ── Install new migrations ────────────────────────────────────────
325
+ if (plan.migrations.length > 0) {
326
+ const migrationsDir = path.join(home, 'nexus', 'migrations');
327
+ fs.mkdirSync(migrationsDir, { recursive: true });
328
+ const manifest = readBundleManifest(bundleDir);
329
+ const provenance = {};
330
+ for (const entry of plan.migrations) {
331
+ // Find the matching bundle migration entry
332
+ const bundleEntry = manifest.migrations.find(m => {
333
+ const name = path.basename(path.resolve(bundleDir, m.path));
334
+ return name === entry.bundleFilename;
335
+ });
336
+ if (!bundleEntry)
337
+ continue;
338
+ const srcPath = path.resolve(bundleDir, bundleEntry.path);
339
+ const destPath = path.join(migrationsDir, entry.guildFilename);
340
+ fs.copyFileSync(srcPath, destPath);
341
+ provenance[entry.guildFilename] = {
342
+ bundle: plan.bundleSource,
343
+ originalName: entry.bundleFilename,
344
+ };
345
+ }
346
+ // Apply the new migrations
347
+ const migrateResult = applyMigrations(home, provenance);
348
+ result.migrationsApplied = migrateResult.applied;
349
+ }
350
+ // ── Update content artifacts ──────────────────────────────────────
351
+ for (const update of plan.contentUpdates) {
352
+ const parentDir = update.category === 'curricula'
353
+ ? 'training/curricula'
354
+ : 'training/temperaments';
355
+ const targetDir = path.join(home, parentDir, update.name);
356
+ const sourceDir = path.resolve(bundleDir, update.bundlePath);
357
+ // Remove old content and copy new
358
+ if (fs.existsSync(targetDir)) {
359
+ fs.rmSync(targetDir, { recursive: true });
360
+ }
361
+ fs.mkdirSync(targetDir, { recursive: true });
362
+ copyDir(sourceDir, targetDir);
363
+ // Update guild.json entry
364
+ const config = readGuildConfig(home);
365
+ if (config[update.category][update.name]) {
366
+ config[update.category][update.name].installedAt = new Date().toISOString();
367
+ if (plan.bundleSource) {
368
+ config[update.category][update.name].bundle = plan.bundleSource;
369
+ }
370
+ }
371
+ writeGuildConfig(home, config);
372
+ result.contentUpdated.push(`${update.category}/${update.name}`);
373
+ }
374
+ // ── Recompose stale animas ─────────────────────────────────────────
375
+ if (opts.recompose && plan.staleAnimas.length > 0) {
376
+ for (const staleAnima of plan.staleAnimas) {
377
+ // Read the full detail before retiring (need curriculum/temperament names)
378
+ const db = new Database(booksPath(home));
379
+ db.pragma('foreign_keys = ON');
380
+ let curriculumName;
381
+ let temperamentName;
382
+ try {
383
+ const comp = db.prepare(`
384
+ SELECT curriculum_name, temperament_name
385
+ FROM anima_compositions WHERE anima_id = ?
386
+ `).get(staleAnima.id);
387
+ curriculumName = comp?.curriculum_name || undefined;
388
+ temperamentName = comp?.temperament_name || undefined;
389
+ }
390
+ finally {
391
+ db.close();
392
+ }
393
+ // Retire the old anima and rename it to free up the name.
394
+ // The retired anima keeps a timestamped name for audit trail.
395
+ removeAnima(home, staleAnima.id);
396
+ const retiredName = `${staleAnima.name} (retired ${new Date().toISOString().slice(0, 19)})`;
397
+ const renameDb = new Database(booksPath(home));
398
+ renameDb.prepare(`UPDATE animas SET name = ? WHERE id = ?`).run(retiredName, staleAnima.id);
399
+ renameDb.close();
400
+ // Recreate with the same name, roles, curriculum, and temperament
401
+ instantiate({
402
+ home,
403
+ name: staleAnima.name,
404
+ roles: staleAnima.roles,
405
+ curriculum: curriculumName,
406
+ temperament: temperamentName,
407
+ });
408
+ result.recomposedAnimas.push(staleAnima.name);
409
+ }
410
+ }
411
+ // ── Update nexus version in guild.json ────────────────────────────
412
+ const config = readGuildConfig(home);
413
+ // Extract version from bundleSource (e.g. "@shardworks/guild-starter-kit@0.1.55" → "0.1.55")
414
+ const versionMatch = plan.bundleSource.match(/@(\d+\.\d+\.\d+.*)$/);
415
+ if (versionMatch) {
416
+ config.nexus = versionMatch[1];
417
+ writeGuildConfig(home, config);
418
+ }
419
+ return result;
420
+ }
421
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/nexus-core",
3
- "version": "0.1.53",
3
+ "version": "0.1.55",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",