@shardworks/nexus-core 0.1.68 → 0.1.70

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/index.d.ts CHANGED
@@ -2,8 +2,8 @@ export declare const VERSION: string;
2
2
  export { type ToolContext, type ToolDefinition, tool, isToolDefinition, resolveToolFromExport, resolveAllToolsFromExport, } from './tool.ts';
3
3
  export { type GuildEvent, type EngineContext, type EngineDefinition, engine, isClockworkEngine, resolveEngineFromExport, } from './engine.ts';
4
4
  export { signalEvent, validateCustomEvent, isFrameworkEvent, readPendingEvents, readEvent, markEventProcessed, recordDispatch, type ListEventsOptions, type DispatchRecord, type ListDispatchesOptions, listEvents, listDispatches, } from './events.ts';
5
- export { type TickResult, type DispatchSummary, type ClockRunResult, type ClockStartOptions, type ClockStartResult, type ClockStopResult, type ClockStatus, clockTick, clockRun, clockStart, clockStop, clockStatus, } from './clockworks.ts';
6
- export { type GuildConfig, type RoleDefinition, type ToolEntry, type TrainingEntry, type WorkshopEntry, type EventDeclaration, type StandingOrder, type ClockworksConfig, type WritTypeDeclaration, createInitialGuildConfig, guildConfigPath, readGuildConfig, writeGuildConfig, } from './guild-config.ts';
5
+ export { type TickResult, type DispatchSummary, type ClockRunResult, type ClockStartOptions, type ClockStartResult, type ClockStopResult, type ClockStatus, clockTick, clockRun, clockStart, clockStop, clockStatus, desugarOrder, extractParams, } from './clockworks.ts';
6
+ export { type GuildConfig, type RoleDefinition, type ToolEntry, type TrainingEntry, type WorkshopEntry, type EventDeclaration, type StandingOrder, type ClockworksConfig, type WritTypeDeclaration, type GuildSettings, createInitialGuildConfig, guildConfigPath, readGuildConfig, writeGuildConfig, } from './guild-config.ts';
7
7
  export { findGuildRoot, nexusDir, booksPath, ledgerPath, worktreesPath, workshopsPath, workshopBarePath, clockPidPath, clockLogPath, } from './nexus-home.ts';
8
8
  export { type InstallToolOptions, type InstallResult, type SourceKind, classifySource, installTool, } from './install-tool.ts';
9
9
  export { type RemoveToolOptions, type RemoveResult, removeTool, } from './remove-tool.ts';
@@ -15,13 +15,13 @@ export { type RehydrateResult, rehydrate, } from './rehydrate.ts';
15
15
  export { type AddWorkshopOptions, type AddWorkshopResult, type RemoveWorkshopOptions, type WorkshopInfo, type WorkshopDetail, type CreateWorkshopOptions, addWorkshop, removeWorkshop, listWorkshops, showWorkshop, createWorkshop, checkGhAuth, deriveWorkshopName, } from './workshop.ts';
16
16
  export { type Precondition, type CommandPrecondition, type CommandOutputPrecondition, type EnvPrecondition, type PreconditionCheckResult, type ToolPreconditionResult, readPreconditions, checkOne, checkPreconditions, checkAllPreconditions, checkToolPreconditions, } from './preconditions.ts';
17
17
  export { type WorktreeConfig, type WorktreeResult, setupWorktree, teardownWorktree, listWorktrees, } from './worktree.ts';
18
- export { type MigrationFile, type MigrationProvenance, type MigrateResult, discoverMigrations, applyMigrations, } from './migrate.ts';
18
+ export { type MigrationFile, type MigrationProvenance, type MigrateResult, discoverMigrations, applyMigrations, applyCoreMigrations, ensureBooks, } 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 SessionChunk, type WorkspaceContext, type ResolvedWorkspace, type SessionRecord, type SessionSummary, type SessionDetail, type ListSessionsOptions, registerSessionProvider, getSessionProvider, resolveWorkspace, createTempWorktree, removeTempWorktree, launchSession, listSessions, showSession, } from './session.ts';
21
21
  export { type ConversationChunk, type CreateConversationOptions, type CreateConversationResult, type ConversationSummary, type ConversationDetail, type ListConversationsOptions, createConversation, takeTurn, endConversation, nextParticipant, listConversations, showConversation, formatConveneMessage, } from './conversation.ts';
22
22
  export { type UpgradePlan, type UpgradeResult, type ApplyUpgradeOptions, type MigrationPlanEntry, type ContentUpdateEntry, type ToolPlanEntry, type StaleAnimaEntry, planUpgrade, applyUpgrade, } from './upgrade.ts';
23
23
  export { generateId } from './id.ts';
24
- export { type AnimaSummary, type AnimaDetail, type ListAnimasOptions, type UpdateAnimaOptions, type AnimaStaleness, type StalenessInfo, listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from './anima.ts';
24
+ export { type AnimaSummary, type AnimaDetail, type ListAnimasOptions, type UpdateAnimaOptions, type AnimaStaleness, type StalenessInfo, resolveAnimaByRole, listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from './anima.ts';
25
25
  export { type ToolSummary, listTools, } from './tool-registry.ts';
26
26
  export { type WritRecord, type WritStatus, type CreateWritOptions, type ListWritsOptions, type WritChildSummary, BUILTIN_WRIT_TYPES, validateWritType, createWrit, readWrit, listWrits, activateWrit, completeWrit, failWrit, cancelWrit, interruptWrit, rollupParent, getWritChildren, buildProgressAppendix, hydratePromptTemplate, } from './writ.ts';
27
27
  export { type AuditEntry, type ListAuditLogOptions, listAuditLog, } from './audit.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
@@ -6,7 +6,7 @@ export const VERSION = _pkg.version;
6
6
  export { tool, isToolDefinition, resolveToolFromExport, resolveAllToolsFromExport, } from "./tool.js";
7
7
  export { engine, isClockworkEngine, resolveEngineFromExport, } from "./engine.js";
8
8
  export { signalEvent, validateCustomEvent, isFrameworkEvent, readPendingEvents, readEvent, markEventProcessed, recordDispatch, listEvents, listDispatches, } from "./events.js";
9
- export { clockTick, clockRun, clockStart, clockStop, clockStatus, } from "./clockworks.js";
9
+ export { clockTick, clockRun, clockStart, clockStop, clockStatus, desugarOrder, extractParams, } from "./clockworks.js";
10
10
  export { createInitialGuildConfig, guildConfigPath, readGuildConfig, writeGuildConfig, } from "./guild-config.js";
11
11
  export { findGuildRoot, nexusDir, booksPath, ledgerPath, worktreesPath, workshopsPath, workshopBarePath, clockPidPath, clockLogPath, } from "./nexus-home.js";
12
12
  export { classifySource, installTool, } from "./install-tool.js";
@@ -19,13 +19,13 @@ export { rehydrate, } from "./rehydrate.js";
19
19
  export { addWorkshop, removeWorkshop, listWorkshops, showWorkshop, createWorkshop, checkGhAuth, deriveWorkshopName, } from "./workshop.js";
20
20
  export { readPreconditions, checkOne, checkPreconditions, checkAllPreconditions, checkToolPreconditions, } from "./preconditions.js";
21
21
  export { setupWorktree, teardownWorktree, listWorktrees, } from "./worktree.js";
22
- export { discoverMigrations, applyMigrations, } from "./migrate.js";
22
+ export { discoverMigrations, applyMigrations, applyCoreMigrations, ensureBooks, } 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
25
  export { createConversation, takeTurn, endConversation, nextParticipant, listConversations, showConversation, formatConveneMessage, } from "./conversation.js";
26
26
  export { planUpgrade, applyUpgrade, } from "./upgrade.js";
27
27
  export { generateId } from "./id.js";
28
- export { listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from "./anima.js";
28
+ export { resolveAnimaByRole, listAnimas, showAnima, updateAnima, removeAnima, checkAnimaStaleness, checkAllAnimaStaleness, } from "./anima.js";
29
29
  export { listTools, } from "./tool-registry.js";
30
30
  export { BUILTIN_WRIT_TYPES, validateWritType, createWrit, readWrit, listWrits, activateWrit, completeWrit, failWrit, cancelWrit, interruptWrit, rollupParent, getWritChildren, buildProgressAppendix, hydratePromptTemplate, } from "./writ.js";
31
31
  export { listAuditLog, } from "./audit.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC;AAE5C,OAAO,EAGL,IAAI,EACJ,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAIL,MAAM,EACN,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,EAId,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAQL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAUL,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAOL,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAOL,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAOL,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAaL,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAQL,WAAW,EACX,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAOL,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAML,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAGL,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/migrate.d.ts CHANGED
@@ -1,22 +1,24 @@
1
1
  /**
2
2
  * Database migration — applies pending SQL migrations to the guild's Books.
3
3
  *
4
- * Runs at guild bootstrap, before dispatch, and on demand after framework
5
- * upgrades. Absorbed from the former `engine-ledger-migrate` package.
4
+ * Core framework migrations ship with the `@shardworks/nexus-core` package
5
+ * and are applied automatically when the Books are opened (unless the guild
6
+ * opts out via `settings.autoMigrate: false` in guild.json).
6
7
  *
7
- * Migrations are numbered sequentially (001-initial-schema.sql, etc.) and
8
- * applied in order. The module tracks which migrations have been applied in
9
- * a `_migrations` table and only runs new ones.
8
+ * Migrations are numbered sequentially (001-schema.sql, etc.) and applied in
9
+ * order. The module tracks which migrations have been applied in a
10
+ * `_migrations` table and only runs new ones.
11
+ *
12
+ * ## Migration sources
13
+ *
14
+ * 1. **Core migrations** — bundled with nexus-core, define the framework schema.
15
+ * 2. **Guild migrations** — in the guild's `nexus/migrations/` directory, for
16
+ * guild-specific schema extensions delivered by bundles.
10
17
  *
11
18
  * ## Migration file naming
12
19
  *
13
20
  * Files must match the pattern: NNN-description.sql
14
21
  * where NNN is a zero-padded sequence number.
15
- *
16
- * Examples:
17
- * 001-initial-schema.sql
18
- * 002-add-priority-to-commissions.sql
19
- * 003-add-sessions-table.sql
20
22
  */
21
23
  /** A migration file discovered on disk. */
22
24
  export interface MigrationFile {
@@ -44,20 +46,39 @@ export interface MigrateResult {
44
46
  total: number;
45
47
  }
46
48
  /**
47
- * Discover migration files in the migrations directory, sorted by sequence.
49
+ * Discover migration files in a directory, sorted by sequence.
48
50
  */
49
51
  export declare function discoverMigrations(migrationsDir: string): MigrationFile[];
50
52
  /**
51
- * Apply pending migrations to the guild's Books database.
53
+ * Apply pending core framework migrations to the guild's Books.
54
+ *
55
+ * Core migrations are bundled with the nexus-core package and define
56
+ * the framework's required schema (sessions, commissions, writs, etc.).
57
+ *
58
+ * @param home - Absolute path to the guild root.
59
+ * @returns Summary of what was applied and skipped.
60
+ */
61
+ export declare function applyCoreMigrations(home: string): MigrateResult;
62
+ /**
63
+ * Apply pending guild-local migrations to the guild's Books.
52
64
  *
53
- * Reads migration files from the guild's nexus/migrations/ directory, compares
54
- * against the _migrations tracking table, and applies any that haven't been
55
- * run yet. Each migration runs in its own transaction.
65
+ * Guild-local migrations live in `nexus/migrations/` within the guild
66
+ * directory and are delivered by bundles for guild-specific schema extensions.
56
67
  *
57
68
  * @param home - Absolute path to the guild root.
58
- * @param provenance - Optional map of guild filename → bundle provenance,
59
- * supplied by the bundle installer for migrations it copied into the guild.
69
+ * @param provenance - Optional map of guild filename → bundle provenance.
60
70
  * @returns Summary of what was applied and skipped.
61
71
  */
62
72
  export declare function applyMigrations(home: string, provenance?: Record<string, MigrationProvenance>): MigrateResult;
73
+ /**
74
+ * Ensure the guild's Books database has all pending core migrations applied.
75
+ *
76
+ * Called automatically before database access. Reads `settings.autoMigrate`
77
+ * from guild.json (defaults to `true`). Skips if auto-migration is disabled
78
+ * or if this guild was already migrated in the current process.
79
+ *
80
+ * @param home - Absolute path to the guild root.
81
+ * @returns The migrations that were applied, or null if skipped.
82
+ */
83
+ export declare function ensureBooks(home: string): MigrateResult | null;
63
84
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAkCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,CAoBzE;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC/C,aAAa,CA8Df"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AA0DD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,CAoBzE;AAmED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAmB/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC/C,aAAa,CAqBf;AAOD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsB9D"}
package/dist/migrate.js CHANGED
@@ -1,29 +1,55 @@
1
1
  /**
2
2
  * Database migration — applies pending SQL migrations to the guild's Books.
3
3
  *
4
- * Runs at guild bootstrap, before dispatch, and on demand after framework
5
- * upgrades. Absorbed from the former `engine-ledger-migrate` package.
4
+ * Core framework migrations ship with the `@shardworks/nexus-core` package
5
+ * and are applied automatically when the Books are opened (unless the guild
6
+ * opts out via `settings.autoMigrate: false` in guild.json).
6
7
  *
7
- * Migrations are numbered sequentially (001-initial-schema.sql, etc.) and
8
- * applied in order. The module tracks which migrations have been applied in
9
- * a `_migrations` table and only runs new ones.
8
+ * Migrations are numbered sequentially (001-schema.sql, etc.) and applied in
9
+ * order. The module tracks which migrations have been applied in a
10
+ * `_migrations` table and only runs new ones.
11
+ *
12
+ * ## Migration sources
13
+ *
14
+ * 1. **Core migrations** — bundled with nexus-core, define the framework schema.
15
+ * 2. **Guild migrations** — in the guild's `nexus/migrations/` directory, for
16
+ * guild-specific schema extensions delivered by bundles.
10
17
  *
11
18
  * ## Migration file naming
12
19
  *
13
20
  * Files must match the pattern: NNN-description.sql
14
21
  * where NNN is a zero-padded sequence number.
15
- *
16
- * Examples:
17
- * 001-initial-schema.sql
18
- * 002-add-priority-to-commissions.sql
19
- * 003-add-sessions-table.sql
20
22
  */
21
23
  import fs from 'node:fs';
22
24
  import path from 'node:path';
25
+ import { fileURLToPath } from 'node:url';
23
26
  import Database from 'better-sqlite3';
24
- import { ledgerPath } from "./nexus-home.js";
27
+ import { booksPath } from "./nexus-home.js";
28
+ import { readGuildConfig } from "./guild-config.js";
25
29
  /** Pattern for migration filenames: NNN-description.sql */
26
30
  const MIGRATION_PATTERN = /^(\d{3})-(.+)\.sql$/;
31
+ /**
32
+ * Resolve the path to core's bundled migrations directory.
33
+ *
34
+ * In development (running from src/), this is `../../migrations/` relative
35
+ * to this file. When published (running from dist/), it's `../migrations/`.
36
+ * We check both locations.
37
+ */
38
+ function coreMigrationsDir() {
39
+ const thisFile = fileURLToPath(import.meta.url);
40
+ const thisDir = path.dirname(thisFile);
41
+ // Published layout: dist/migrate.js → ../migrations/
42
+ const fromDist = path.resolve(thisDir, '..', 'migrations');
43
+ if (fs.existsSync(fromDist))
44
+ return fromDist;
45
+ // Dev layout: src/migrate.ts → ../migrations/
46
+ const fromSrc = path.resolve(thisDir, '..', 'migrations');
47
+ if (fs.existsSync(fromSrc))
48
+ return fromSrc;
49
+ // Shouldn't happen, but don't crash — return a nonexistent path
50
+ // and let discoverMigrations() handle it gracefully.
51
+ return fromDist;
52
+ }
27
53
  /**
28
54
  * Ensure the _migrations tracking table exists.
29
55
  *
@@ -52,7 +78,7 @@ function ensureMigrationsTable(db) {
52
78
  }
53
79
  }
54
80
  /**
55
- * Discover migration files in the migrations directory, sorted by sequence.
81
+ * Discover migration files in a directory, sorted by sequence.
56
82
  */
57
83
  export function discoverMigrations(migrationsDir) {
58
84
  if (!fs.existsSync(migrationsDir))
@@ -81,20 +107,81 @@ function getAppliedSequences(db) {
81
107
  return new Set(rows.map(r => r.sequence));
82
108
  }
83
109
  /**
84
- * Apply pending migrations to the guild's Books database.
110
+ * Apply pending migrations from a list of migration files.
111
+ *
112
+ * Low-level function that applies migrations to an already-open database.
113
+ * Used by both `applyCoreMigrations` and `applyMigrations`.
114
+ */
115
+ function applyMigrationFiles(db, migrations, applied, provenance) {
116
+ const result = {
117
+ applied: [],
118
+ skipped: [],
119
+ total: migrations.length,
120
+ };
121
+ for (const migration of migrations) {
122
+ if (applied.has(migration.sequence)) {
123
+ result.skipped.push(migration.filename);
124
+ continue;
125
+ }
126
+ // Read and apply the migration.
127
+ // PRAGMAs can't run inside transactions, so extract them and run separately.
128
+ const sql = fs.readFileSync(migration.path, 'utf-8');
129
+ const pragmaPattern = /^\s*PRAGMA\s+[^;]+;\s*$/gmi;
130
+ const pragmas = sql.match(pragmaPattern) || [];
131
+ const body = sql.replace(pragmaPattern, '').trim();
132
+ for (const pragma of pragmas) {
133
+ db.exec(pragma);
134
+ }
135
+ const prov = provenance?.[migration.filename];
136
+ db.transaction(() => {
137
+ if (body)
138
+ db.exec(body);
139
+ db.prepare(`INSERT INTO _migrations (sequence, filename, bundle, original_name) VALUES (?, ?, ?, ?)`).run(migration.sequence, migration.filename, prov?.bundle ?? null, prov?.originalName ?? null);
140
+ })();
141
+ result.applied.push(migration.filename);
142
+ }
143
+ return result;
144
+ }
145
+ /**
146
+ * Apply pending core framework migrations to the guild's Books.
85
147
  *
86
- * Reads migration files from the guild's nexus/migrations/ directory, compares
87
- * against the _migrations tracking table, and applies any that haven't been
88
- * run yet. Each migration runs in its own transaction.
148
+ * Core migrations are bundled with the nexus-core package and define
149
+ * the framework's required schema (sessions, commissions, writs, etc.).
89
150
  *
90
151
  * @param home - Absolute path to the guild root.
91
- * @param provenance - Optional map of guild filename bundle provenance,
92
- * supplied by the bundle installer for migrations it copied into the guild.
152
+ * @returns Summary of what was applied and skipped.
153
+ */
154
+ export function applyCoreMigrations(home) {
155
+ const migrations = discoverMigrations(coreMigrationsDir());
156
+ if (migrations.length === 0) {
157
+ return { applied: [], skipped: [], total: 0 };
158
+ }
159
+ const dbPath = booksPath(home);
160
+ fs.mkdirSync(path.dirname(dbPath), { recursive: true });
161
+ const db = new Database(dbPath);
162
+ db.pragma('foreign_keys = ON');
163
+ try {
164
+ ensureMigrationsTable(db);
165
+ const applied = getAppliedSequences(db);
166
+ return applyMigrationFiles(db, migrations, applied);
167
+ }
168
+ finally {
169
+ db.close();
170
+ }
171
+ }
172
+ /**
173
+ * Apply pending guild-local migrations to the guild's Books.
174
+ *
175
+ * Guild-local migrations live in `nexus/migrations/` within the guild
176
+ * directory and are delivered by bundles for guild-specific schema extensions.
177
+ *
178
+ * @param home - Absolute path to the guild root.
179
+ * @param provenance - Optional map of guild filename → bundle provenance.
93
180
  * @returns Summary of what was applied and skipped.
94
181
  */
95
182
  export function applyMigrations(home, provenance) {
96
183
  const migrationsDir = path.join(home, 'nexus', 'migrations');
97
- const dbPath = ledgerPath(home);
184
+ const dbPath = booksPath(home);
98
185
  // Discover available migrations
99
186
  const migrations = discoverMigrations(migrationsDir);
100
187
  if (migrations.length === 0) {
@@ -105,37 +192,40 @@ export function applyMigrations(home, provenance) {
105
192
  try {
106
193
  ensureMigrationsTable(db);
107
194
  const applied = getAppliedSequences(db);
108
- const result = {
109
- applied: [],
110
- skipped: [],
111
- total: migrations.length,
112
- };
113
- for (const migration of migrations) {
114
- if (applied.has(migration.sequence)) {
115
- result.skipped.push(migration.filename);
116
- continue;
117
- }
118
- // Read and apply the migration.
119
- // PRAGMAs can't run inside transactions, so extract them and run separately.
120
- const sql = fs.readFileSync(migration.path, 'utf-8');
121
- const pragmaPattern = /^\s*PRAGMA\s+[^;]+;\s*$/gmi;
122
- const pragmas = sql.match(pragmaPattern) || [];
123
- const body = sql.replace(pragmaPattern, '').trim();
124
- for (const pragma of pragmas) {
125
- db.exec(pragma);
126
- }
127
- const prov = provenance?.[migration.filename];
128
- db.transaction(() => {
129
- if (body)
130
- db.exec(body);
131
- db.prepare(`INSERT INTO _migrations (sequence, filename, bundle, original_name) VALUES (?, ?, ?, ?)`).run(migration.sequence, migration.filename, prov?.bundle ?? null, prov?.originalName ?? null);
132
- })();
133
- result.applied.push(migration.filename);
134
- }
135
- return result;
195
+ return applyMigrationFiles(db, migrations, applied, provenance);
136
196
  }
137
197
  finally {
138
198
  db.close();
139
199
  }
140
200
  }
201
+ // ── Auto-migration ──────────────────────────────────────────────────────
202
+ /** Track which guild roots have been auto-migrated this process. */
203
+ const migratedThisProcess = new Set();
204
+ /**
205
+ * Ensure the guild's Books database has all pending core migrations applied.
206
+ *
207
+ * Called automatically before database access. Reads `settings.autoMigrate`
208
+ * from guild.json (defaults to `true`). Skips if auto-migration is disabled
209
+ * or if this guild was already migrated in the current process.
210
+ *
211
+ * @param home - Absolute path to the guild root.
212
+ * @returns The migrations that were applied, or null if skipped.
213
+ */
214
+ export function ensureBooks(home) {
215
+ const resolved = path.resolve(home);
216
+ if (migratedThisProcess.has(resolved))
217
+ return null;
218
+ const config = readGuildConfig(home);
219
+ const autoMigrate = config.settings?.autoMigrate ?? true;
220
+ if (!autoMigrate) {
221
+ migratedThisProcess.add(resolved);
222
+ return null;
223
+ }
224
+ const result = applyCoreMigrations(home);
225
+ migratedThisProcess.add(resolved);
226
+ if (result.applied.length > 0) {
227
+ console.error(`Books: applied ${result.applied.length} pending migration(s): ${result.applied.join(', ')}`);
228
+ }
229
+ return result;
230
+ }
141
231
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
package/dist/upgrade.d.ts CHANGED
@@ -4,13 +4,14 @@
4
4
  * Compares the guild's current state against a bundle (typically the
5
5
  * guild-starter-kit at a newer version) and produces a plan describing:
6
6
  *
7
- * - New database migrations to apply
8
7
  * - New tools and engines to register (with role assignments)
9
8
  * - Updated curricula and temperaments
10
9
  * - Stale anima compositions (using outdated training content)
11
10
  *
12
- * The plan can be inspected (dry-run) or applied. Migrations are
13
- * renumbered into the guild's existing sequence. Content artifacts
11
+ * Database migrations are handled separately by nexus-core and applied
12
+ * automatically on database open (see `ensureBooks()` in migrate.ts).
13
+ *
14
+ * The plan can be inspected (dry-run) or applied. Content artifacts
14
15
  * are overwritten with the newer version. Stale animas are reported
15
16
  * but not automatically recomposed — the operator decides.
16
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;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,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;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,wEAAwE;IACxE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,+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,8CAA8C;IAC9C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,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,CAmDb;AA8QD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,mBAAwB,GAC7B,aAAa,CAqJf"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAcH,+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,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;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,wEAAwE;IACxE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,+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,8CAA8C;IAC9C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,WAAW,CA8Cb;AAuKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,mBAAwB,GAC7B,aAAa,CAgHf"}