@cleocode/core 2026.6.10 → 2026.6.12

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.
Files changed (58) hide show
  1. package/dist/docs/export-document.js +110 -22
  2. package/dist/docs/export-document.js.map +2 -2
  3. package/dist/llm/plugin-facade.js +74 -7
  4. package/dist/llm/plugin-facade.js.map +2 -2
  5. package/dist/release/plan.d.ts +4 -6
  6. package/dist/release/plan.d.ts.map +1 -1
  7. package/dist/release/plan.js +10 -23
  8. package/dist/release/plan.js.map +1 -1
  9. package/dist/release/reconcile.d.ts +0 -2
  10. package/dist/release/reconcile.d.ts.map +1 -1
  11. package/dist/release/reconcile.js +43 -50
  12. package/dist/release/reconcile.js.map +1 -1
  13. package/dist/release/release-manifest.d.ts.map +1 -1
  14. package/dist/release/release-manifest.js +4 -1
  15. package/dist/release/release-manifest.js.map +1 -1
  16. package/dist/release/verify-provenance.js +20 -20
  17. package/dist/release/verify-provenance.js.map +1 -1
  18. package/dist/store/agent-registry-store.d.ts.map +1 -1
  19. package/dist/store/agent-registry-store.js +4 -2
  20. package/dist/store/agent-registry-store.js.map +1 -1
  21. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  22. package/dist/store/conduit-sqlite.js +4 -2
  23. package/dist/store/conduit-sqlite.js.map +1 -1
  24. package/dist/store/dual-scope-db.d.ts.map +1 -1
  25. package/dist/store/dual-scope-db.js +56 -6
  26. package/dist/store/dual-scope-db.js.map +1 -1
  27. package/dist/store/migration-manager.d.ts +26 -1
  28. package/dist/store/migration-manager.d.ts.map +1 -1
  29. package/dist/store/migration-manager.js +104 -4
  30. package/dist/store/migration-manager.js.map +1 -1
  31. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  32. package/dist/store/nexus-sqlite.js +4 -2
  33. package/dist/store/nexus-sqlite.js.map +1 -1
  34. package/dist/store/resolve-migrations-folder.d.ts +41 -0
  35. package/dist/store/resolve-migrations-folder.d.ts.map +1 -1
  36. package/dist/store/resolve-migrations-folder.js +53 -0
  37. package/dist/store/resolve-migrations-folder.js.map +1 -1
  38. package/dist/store/sqlite.d.ts.map +1 -1
  39. package/dist/store/sqlite.js +5 -3
  40. package/dist/store/sqlite.js.map +1 -1
  41. package/dist/store/tasks-schema.d.ts +4 -0
  42. package/dist/store/tasks-schema.d.ts.map +1 -1
  43. package/dist/store/tasks-schema.js +14 -0
  44. package/dist/store/tasks-schema.js.map +1 -1
  45. package/dist/store/validation-schemas.d.ts +62 -62
  46. package/dist/task-tools/describe-schema.d.ts +4 -2
  47. package/dist/task-tools/describe-schema.d.ts.map +1 -1
  48. package/dist/task-tools/describe-schema.js +9 -3
  49. package/dist/task-tools/describe-schema.js.map +1 -1
  50. package/migrations/drizzle-cleo-project/20260606000000_t11884-restore-prefixed-task-triggers/migration.sql +272 -0
  51. package/migrations/drizzle-cleo-project/20260606000000_t11884-restore-prefixed-task-triggers/revert.sql +29 -0
  52. package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/migration.sql +21 -0
  53. package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/revert.sql +4 -0
  54. package/package.json +12 -12
  55. package/dist/release/provenance-fk.d.ts +0 -74
  56. package/dist/release/provenance-fk.d.ts.map +0 -1
  57. package/dist/release/provenance-fk.js +0 -122
  58. package/dist/release/provenance-fk.js.map +0 -1
@@ -22773,7 +22773,26 @@ function probeAndMarkApplied(nativeDb, migration, logSubsystem, eliminatedTables
22773
22773
  }
22774
22774
  return false;
22775
22775
  }
22776
- function reconcileJournal(nativeDb, migrationsFolder, existenceTable2, logSubsystem) {
22776
+ function readSiblingMigrationHashes(siblingFolder) {
22777
+ try {
22778
+ return new Set(readMigrationFiles({ migrationsFolder: siblingFolder }).map((m) => m.hash));
22779
+ } catch {
22780
+ return /* @__PURE__ */ new Set();
22781
+ }
22782
+ }
22783
+ function ensureJournalHashUnique(nativeDb) {
22784
+ if (!tableExists(nativeDb, "__drizzle_migrations")) return;
22785
+ try {
22786
+ nativeDb.exec(
22787
+ 'DELETE FROM "__drizzle_migrations" WHERE id NOT IN (SELECT MIN(id) FROM "__drizzle_migrations" GROUP BY hash)'
22788
+ );
22789
+ nativeDb.exec(
22790
+ 'CREATE UNIQUE INDEX IF NOT EXISTS "idx_drizzle_migrations_hash" ON "__drizzle_migrations" ("hash")'
22791
+ );
22792
+ } catch {
22793
+ }
22794
+ }
22795
+ function reconcileJournal(nativeDb, migrationsFolder, existenceTable2, logSubsystem, siblingMigrationsFolders = []) {
22777
22796
  const eliminatedTables = computeEliminatedTables(readMigrationFiles({ migrationsFolder }));
22778
22797
  const cutoverPrefix = resolveConsolidationCutoverPrefix(migrationsFolder);
22779
22798
  if (tableExists(nativeDb, existenceTable2) && !tableExists(nativeDb, "__drizzle_migrations")) {
@@ -22792,11 +22811,19 @@ function reconcileJournal(nativeDb, migrationsFolder, existenceTable2, logSubsys
22792
22811
  insertJournalEntry(nativeDb, baseline.hash, baseline.folderMillis, baseline.name ?? "");
22793
22812
  }
22794
22813
  }
22814
+ ensureJournalHashUnique(nativeDb);
22795
22815
  if (tableExists(nativeDb, "__drizzle_migrations") && tableExists(nativeDb, existenceTable2)) {
22796
22816
  const localMigrations = readMigrationFiles({ migrationsFolder });
22797
22817
  const localHashes = new Set(localMigrations.map((m) => m.hash));
22818
+ const knownHashes = new Set(localHashes);
22819
+ for (const siblingFolder of siblingMigrationsFolders) {
22820
+ if (siblingFolder === migrationsFolder) continue;
22821
+ for (const m of readSiblingMigrationHashes(siblingFolder)) {
22822
+ knownHashes.add(m);
22823
+ }
22824
+ }
22798
22825
  const dbEntries = nativeDb.prepare('SELECT id, hash FROM "__drizzle_migrations"').all();
22799
- const orphanedEntries = dbEntries.filter((e) => !localHashes.has(e.hash));
22826
+ const orphanedEntries = dbEntries.filter((e) => !knownHashes.has(e.hash));
22800
22827
  const hasOrphanedEntries = orphanedEntries.length > 0;
22801
22828
  if (hasOrphanedEntries) {
22802
22829
  const dbHashes = new Set(dbEntries.map((e) => e.hash));
@@ -23116,6 +23143,11 @@ import { fileURLToPath } from "node:url";
23116
23143
  function coreRootFromEntry(entryPath) {
23117
23144
  return dirname2(dirname2(entryPath));
23118
23145
  }
23146
+ function resolveConsolidatedJournalSiblings(ownSetName) {
23147
+ return CONSOLIDATED_JOURNAL_LINEAGES.filter((name2) => name2 !== ownSetName).map(
23148
+ (name2) => resolveCorePackageMigrationsFolder(name2)
23149
+ );
23150
+ }
23119
23151
  function resolveCorePackageMigrationsFolder(setName) {
23120
23152
  try {
23121
23153
  const resolved = import.meta.resolve("@cleocode/core", import.meta.url);
@@ -23133,9 +23165,21 @@ function resolveCorePackageMigrationsFolder(setName) {
23133
23165
  );
23134
23166
  }
23135
23167
  }
23168
+ var CONSOLIDATED_JOURNAL_LINEAGES;
23136
23169
  var init_resolve_migrations_folder = __esm({
23137
23170
  "packages/core/src/store/resolve-migrations-folder.ts"() {
23138
23171
  "use strict";
23172
+ CONSOLIDATED_JOURNAL_LINEAGES = [
23173
+ "drizzle-tasks",
23174
+ "drizzle-cleo-project",
23175
+ "drizzle-nexus",
23176
+ "drizzle-brain",
23177
+ "drizzle-conduit",
23178
+ "drizzle-cleo-global",
23179
+ "drizzle-agent-registry",
23180
+ "drizzle-skills",
23181
+ "drizzle-telemetry"
23182
+ ];
23139
23183
  }
23140
23184
  });
23141
23185
 
@@ -34388,6 +34432,11 @@ async function loadGlobalSchema() {
34388
34432
  function existenceTable(scope) {
34389
34433
  return scope === "project" ? "tasks_tasks" : "nexus_project_registry";
34390
34434
  }
34435
+ function memoryBoundedPragmaOverrides() {
34436
+ if (process.env.CLEO_SENTIENT_DAEMON === "1") return {};
34437
+ if (process.env.CLEO_DB_FULL_MEM === "1") return {};
34438
+ return { mmapSizeBytes: 0, cacheSizeKb: 8e3 };
34439
+ }
34391
34440
  async function openDualScopeDb(scope, cwd) {
34392
34441
  const dbPath = resolveDualScopeDbPath(scope, cwd);
34393
34442
  return scope === "project" ? openDualScopeDbAtPath("project", dbPath, cwd) : openDualScopeDbAtPath("global", dbPath, cwd);
@@ -34400,12 +34449,18 @@ async function openDedicatedDualScopeDb(scope, dbPath, log10) {
34400
34449
  }
34401
34450
  const DatabaseSyncCtor = getDatabaseSyncCtor();
34402
34451
  const nativeDb = new DatabaseSyncCtor(dbPath, { allowExtension: true });
34403
- applyPerfPragmas(nativeDb);
34452
+ applyPerfPragmas(nativeDb, memoryBoundedPragmaOverrides());
34404
34453
  const schema = scope === "project" ? await loadProjectSchema() : await loadGlobalSchema();
34405
34454
  const drizzle2 = getDrizzle();
34406
34455
  const db = drizzle2({ client: nativeDb, schema });
34407
34456
  const migrationsFolder = resolveCorePackageMigrationsFolder(migrationsSetName(scope));
34408
- reconcileJournal(nativeDb, migrationsFolder, existenceTable(scope), `dual-scope-db[${scope}]`);
34457
+ reconcileJournal(
34458
+ nativeDb,
34459
+ migrationsFolder,
34460
+ existenceTable(scope),
34461
+ `dual-scope-db[${scope}]`,
34462
+ resolveConsolidatedJournalSiblings(migrationsSetName(scope))
34463
+ );
34409
34464
  migrateWithRetry(
34410
34465
  db,
34411
34466
  migrationsFolder,
@@ -34450,12 +34505,18 @@ async function openDualScopeDbAtPath(scope, dbPath, exodusCwd, options) {
34450
34505
  }
34451
34506
  const DatabaseSyncCtor = getDatabaseSyncCtor();
34452
34507
  const nativeDb = new DatabaseSyncCtor(dbPath, { allowExtension: true });
34453
- applyPerfPragmas(nativeDb);
34508
+ applyPerfPragmas(nativeDb, memoryBoundedPragmaOverrides());
34454
34509
  const schema = scope === "project" ? await loadProjectSchema() : await loadGlobalSchema();
34455
34510
  const drizzle2 = getDrizzle();
34456
34511
  const db = drizzle2({ client: nativeDb, schema });
34457
34512
  const migrationsFolder = resolveCorePackageMigrationsFolder(migrationsSetName(scope));
34458
- reconcileJournal(nativeDb, migrationsFolder, existenceTable(scope), `dual-scope-db[${scope}]`);
34513
+ reconcileJournal(
34514
+ nativeDb,
34515
+ migrationsFolder,
34516
+ existenceTable(scope),
34517
+ `dual-scope-db[${scope}]`,
34518
+ resolveConsolidatedJournalSiblings(migrationsSetName(scope))
34519
+ );
34459
34520
  migrateWithRetry(
34460
34521
  db,
34461
34522
  migrationsFolder,
@@ -35327,7 +35388,13 @@ function runNexusMigrations(nativeDb, db) {
35327
35388
  }
35328
35389
  }
35329
35390
  }
35330
- reconcileJournal(nativeDb, migrationsFolder, "_nexus_meta", "nexus");
35391
+ reconcileJournal(
35392
+ nativeDb,
35393
+ migrationsFolder,
35394
+ "_nexus_meta",
35395
+ "nexus",
35396
+ resolveConsolidatedJournalSiblings("drizzle-nexus")
35397
+ );
35331
35398
  const MAX_RETRIES = 5;
35332
35399
  const BASE_DELAY_MS = 100;
35333
35400
  const MAX_DELAY_MS = 2e3;
@@ -37101,9 +37168,9 @@ __export(tasks_schema_exports, {
37101
37168
  attachments: () => attachments,
37102
37169
  auditLog: () => auditLog,
37103
37170
  backgroundJobs: () => backgroundJobs,
37104
- brainReleaseLinks: () => brainReleaseLinks,
37105
- commitFiles: () => commitFiles,
37106
- commits: () => commits,
37171
+ brainReleaseLinks: () => tasksBrainReleaseLinks,
37172
+ commitFiles: () => tasksCommitFiles,
37173
+ commits: () => tasksCommits,
37107
37174
  docsWikilinks: () => docsWikilinks,
37108
37175
  evidenceAcBindings: () => tasksEvidenceAcBindings,
37109
37176
  experiments: () => experiments,
@@ -37120,21 +37187,21 @@ __export(tasks_schema_exports, {
37120
37187
  makeSchemaMetaTable: () => makeSchemaMetaTable,
37121
37188
  manifestEntries: () => manifestEntries,
37122
37189
  pipelineManifest: () => pipelineManifest,
37123
- prCommits: () => prCommits,
37124
- prTasks: () => prTasks,
37125
- pullRequests: () => pullRequests,
37126
- releaseArtifacts: () => releaseArtifacts,
37127
- releaseChanges: () => releaseChanges,
37128
- releaseChangesets: () => releaseChangesets,
37129
- releaseCommits: () => releaseCommits,
37130
- releases: () => releases,
37190
+ prCommits: () => tasksPrCommits,
37191
+ prTasks: () => tasksPrTasks,
37192
+ pullRequests: () => tasksPullRequests,
37193
+ releaseArtifacts: () => tasksReleaseArtifacts,
37194
+ releaseChanges: () => tasksReleaseChanges,
37195
+ releaseChangesets: () => tasksReleaseChangesets,
37196
+ releaseCommits: () => tasksReleaseCommits,
37197
+ releases: () => tasksReleases,
37131
37198
  schemaMeta: () => schemaMeta,
37132
37199
  sessionHandoffEntries: () => tasksSessionHandoffEntries,
37133
37200
  sessions: () => tasksSessions,
37134
37201
  statusRegistryTable: () => statusRegistryTable,
37135
37202
  taskAcceptanceCriteria: () => tasksTaskAcceptanceCriteria,
37136
37203
  taskAcceptanceCriteriaHistory: () => tasksTaskAcceptanceCriteriaHistory,
37137
- taskCommits: () => taskCommits,
37204
+ taskCommits: () => tasksTaskCommits,
37138
37205
  taskDependencies: () => tasksTaskDependencies,
37139
37206
  taskLabels: () => tasksTaskLabels,
37140
37207
  taskRelations: () => tasksTaskRelations,
@@ -37150,6 +37217,9 @@ var init_tasks_schema = __esm({
37150
37217
  "use strict";
37151
37218
  init_agent_schema();
37152
37219
  init_chain_schema();
37220
+ init_provenance_commits();
37221
+ init_provenance_orphans();
37222
+ init_provenance_rest();
37153
37223
  init_tasks_core();
37154
37224
  init_tasks_core_batch2();
37155
37225
  init_schema();
@@ -37514,7 +37584,13 @@ function resolveAgentRegistryMigrationsFolder() {
37514
37584
  }
37515
37585
  function runAgentRegistryMigrations(nativeDb) {
37516
37586
  const migrationsFolder = resolveAgentRegistryMigrationsFolder();
37517
- reconcileJournal(nativeDb, migrationsFolder, "_agent_registry_meta", "agent-registry");
37587
+ reconcileJournal(
37588
+ nativeDb,
37589
+ migrationsFolder,
37590
+ "_agent_registry_meta",
37591
+ "agent-registry",
37592
+ resolveConsolidatedJournalSiblings("drizzle-agent-registry")
37593
+ );
37518
37594
  const db = drizzle({ client: nativeDb, schema: agent_registry_exports });
37519
37595
  migrateSanitized(db, { migrationsFolder });
37520
37596
  }
@@ -37608,7 +37684,13 @@ function resolveConduitMigrationsFolder() {
37608
37684
  }
37609
37685
  function runConduitMigrations(nativeDb) {
37610
37686
  const migrationsFolder = resolveConduitMigrationsFolder();
37611
- reconcileJournal(nativeDb, migrationsFolder, "_conduit_meta", "conduit");
37687
+ reconcileJournal(
37688
+ nativeDb,
37689
+ migrationsFolder,
37690
+ "_conduit_meta",
37691
+ "conduit",
37692
+ resolveConsolidatedJournalSiblings("drizzle-conduit")
37693
+ );
37612
37694
  const db = _getDrizzle2()({ client: nativeDb, schema: conduit_exports });
37613
37695
  migrateSanitized(db, { migrationsFolder });
37614
37696
  }
@@ -38472,7 +38554,13 @@ function runMigrations(nativeDb, db) {
38472
38554
  if (tableExists(nativeDb, "tasks") && _dbPath3) {
38473
38555
  createSafetyBackup(_dbPath3);
38474
38556
  }
38475
- reconcileJournal(nativeDb, migrationsFolder, "tasks", "sqlite");
38557
+ reconcileJournal(
38558
+ nativeDb,
38559
+ migrationsFolder,
38560
+ "tasks",
38561
+ "sqlite",
38562
+ resolveConsolidatedJournalSiblings("drizzle-tasks")
38563
+ );
38476
38564
  ensureColumns(nativeDb, "sessions", REQUIRED_SESSION_COLUMNS, "sqlite");
38477
38565
  migrateWithRetry(db, migrationsFolder, nativeDb, "tasks", "sqlite");
38478
38566
  ensureColumns(nativeDb, "tasks", REQUIRED_TASK_COLUMNS, "sqlite");