@cleocode/core 2026.5.131 → 2026.5.133

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 (110) hide show
  1. package/dist/db/index.d.ts +36 -0
  2. package/dist/db/index.d.ts.map +1 -0
  3. package/dist/db/index.js +36 -0
  4. package/dist/db/index.js.map +1 -0
  5. package/dist/gc/daemon.d.ts +17 -8
  6. package/dist/gc/daemon.d.ts.map +1 -1
  7. package/dist/gc/daemon.js +24 -67
  8. package/dist/gc/daemon.js.map +1 -1
  9. package/dist/gc/gc-subsystem.d.ts +96 -0
  10. package/dist/gc/gc-subsystem.d.ts.map +1 -0
  11. package/dist/gc/gc-subsystem.js +186 -0
  12. package/dist/gc/gc-subsystem.js.map +1 -0
  13. package/dist/gc/index.d.ts +1 -0
  14. package/dist/gc/index.d.ts.map +1 -1
  15. package/dist/gc/index.js +1 -0
  16. package/dist/gc/index.js.map +1 -1
  17. package/dist/go/driver.d.ts +132 -0
  18. package/dist/go/driver.d.ts.map +1 -0
  19. package/dist/go/driver.js +191 -0
  20. package/dist/go/driver.js.map +1 -0
  21. package/dist/go/index.d.ts +13 -0
  22. package/dist/go/index.d.ts.map +1 -0
  23. package/dist/go/index.js +13 -0
  24. package/dist/go/index.js.map +1 -0
  25. package/dist/goal/advance-with-persist.d.ts +80 -0
  26. package/dist/goal/advance-with-persist.d.ts.map +1 -0
  27. package/dist/goal/advance-with-persist.js +105 -0
  28. package/dist/goal/advance-with-persist.js.map +1 -0
  29. package/dist/goal/arm.d.ts +61 -0
  30. package/dist/goal/arm.d.ts.map +1 -0
  31. package/dist/goal/arm.js +65 -0
  32. package/dist/goal/arm.js.map +1 -0
  33. package/dist/goal/index.d.ts +2 -0
  34. package/dist/goal/index.d.ts.map +1 -1
  35. package/dist/goal/index.js +2 -0
  36. package/dist/goal/index.js.map +1 -1
  37. package/dist/index.d.ts +3 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/orchestrate/lifecycle-ops.js +1 -1
  42. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  43. package/dist/orchestration/classify-readiness.d.ts +172 -0
  44. package/dist/orchestration/classify-readiness.d.ts.map +1 -0
  45. package/dist/orchestration/classify-readiness.js +346 -0
  46. package/dist/orchestration/classify-readiness.js.map +1 -0
  47. package/dist/orchestration/index.d.ts +2 -0
  48. package/dist/orchestration/index.d.ts.map +1 -1
  49. package/dist/orchestration/index.js +1 -0
  50. package/dist/orchestration/index.js.map +1 -1
  51. package/dist/output.d.ts +2 -0
  52. package/dist/output.d.ts.map +1 -1
  53. package/dist/output.js +59 -1
  54. package/dist/output.js.map +1 -1
  55. package/dist/release/pr-evidence.d.ts +4 -3
  56. package/dist/release/pr-evidence.d.ts.map +1 -1
  57. package/dist/release/pr-evidence.js +4 -3
  58. package/dist/release/pr-evidence.js.map +1 -1
  59. package/dist/sagas/index.d.ts +1 -0
  60. package/dist/sagas/index.d.ts.map +1 -1
  61. package/dist/sagas/index.js +1 -0
  62. package/dist/sagas/index.js.map +1 -1
  63. package/dist/sagas/next.d.ts +77 -0
  64. package/dist/sagas/next.d.ts.map +1 -0
  65. package/dist/sagas/next.js +159 -0
  66. package/dist/sagas/next.js.map +1 -0
  67. package/dist/sentient/daemon-entry.d.ts +6 -0
  68. package/dist/sentient/daemon-entry.d.ts.map +1 -1
  69. package/dist/sentient/daemon-entry.js +10 -1
  70. package/dist/sentient/daemon-entry.js.map +1 -1
  71. package/dist/sentient/daemon.d.ts +30 -0
  72. package/dist/sentient/daemon.d.ts.map +1 -1
  73. package/dist/sentient/daemon.js +12 -2
  74. package/dist/sentient/daemon.js.map +1 -1
  75. package/dist/sentient/index.d.ts +2 -0
  76. package/dist/sentient/index.d.ts.map +1 -1
  77. package/dist/sentient/index.js +5 -0
  78. package/dist/sentient/index.js.map +1 -1
  79. package/dist/sentient/propose-tick.d.ts +101 -0
  80. package/dist/sentient/propose-tick.d.ts.map +1 -1
  81. package/dist/sentient/propose-tick.js +284 -0
  82. package/dist/sentient/propose-tick.js.map +1 -1
  83. package/dist/sentient/tick.d.ts +23 -0
  84. package/dist/sentient/tick.d.ts.map +1 -1
  85. package/dist/sentient/tick.js +91 -21
  86. package/dist/sentient/tick.js.map +1 -1
  87. package/dist/store/dual-scope-db.d.ts +183 -0
  88. package/dist/store/dual-scope-db.d.ts.map +1 -0
  89. package/dist/store/dual-scope-db.js +315 -0
  90. package/dist/store/dual-scope-db.js.map +1 -0
  91. package/dist/store/open-cleo-db.d.ts +51 -4
  92. package/dist/store/open-cleo-db.d.ts.map +1 -1
  93. package/dist/store/open-cleo-db.js +56 -2
  94. package/dist/store/open-cleo-db.js.map +1 -1
  95. package/dist/store/schema/cleo-global/nexus.d.ts +1 -1
  96. package/dist/store/schema/cleo-global/signaldock.d.ts +1 -1
  97. package/dist/store/schema/cleo-shared/brain.d.ts +1 -1
  98. package/dist/tasks/add.d.ts.map +1 -1
  99. package/dist/tasks/add.js +16 -2
  100. package/dist/tasks/add.js.map +1 -1
  101. package/dist/tasks/evidence.d.ts +3 -2
  102. package/dist/tasks/evidence.d.ts.map +1 -1
  103. package/dist/tasks/evidence.js.map +1 -1
  104. package/dist/verification/verify-tools.d.ts +164 -0
  105. package/dist/verification/verify-tools.d.ts.map +1 -0
  106. package/dist/verification/verify-tools.js +236 -0
  107. package/dist/verification/verify-tools.js.map +1 -0
  108. package/package.json +16 -11
  109. package/templates/CLEO-INJECTION.md +3 -2
  110. package/templates/workflows/release-prepare.yml.tmpl +86 -7
@@ -103,29 +103,77 @@ function pruneStuckWindow(timestamps, now) {
103
103
  * Default SDK-backed task picker. Delegates to the orchestration domain via
104
104
  * the @cleocode/core/sdk facade.
105
105
  *
106
- * Tier-1 scope: we pick any unblocked, non-proposed task regardless of which
107
- * epic it belongs to the picker walks the full task set to find the next
108
- * actionable item.
106
+ * Tier-1 scope: picks the first ready task in dependency-wave order. When a
107
+ * `scopeEpicId` or `scopeSagaId` is supplied the candidate set is restricted
108
+ * to tasks within that Epic or Saga respectively, enabling the headless /
109
+ * walk-away daemon variant (T11497 E5-HEADLESS AC1).
110
+ *
111
+ * Ordering: wave 0 (no unmet deps) is preferred; within a wave tasks are
112
+ * sorted alphabetically by ID for determinism (reproducible for tests).
113
+ *
114
+ * @param projectRoot - Absolute path to the project root.
115
+ * @param scope - Optional saga or epic scope filter.
109
116
  */
110
- async function defaultPickTask(projectRoot) {
117
+ async function defaultPickTask(projectRoot, scope) {
111
118
  // Lazy import so unit tests that inject `pickTask` never trigger the SDK
112
119
  // load (which pulls in the full @cleocode/core graph).
113
120
  const { Cleo } = await import('@cleocode/core/sdk');
114
121
  const { getReadyTasks } = await import('@cleocode/core/tasks');
122
+ // graph-ops is an intra-package import (not part of the @cleocode/core/tasks barrel).
123
+ const { computeDependencyWaves } = await import('../tasks/graph-ops.js');
115
124
  const cleo = await Cleo.init(projectRoot);
125
+ // Resolve the allowed parent IDs when a scope filter is active.
126
+ let allowedParentIds = null;
127
+ if (scope?.epicId) {
128
+ // Epic scope: only tasks directly under this epic.
129
+ allowedParentIds = new Set([scope.epicId]);
130
+ }
131
+ else if (scope?.sagaId) {
132
+ // Saga scope: resolve member epic IDs via parent_id containment (T10638).
133
+ // Lazy import keeps the happy-path test surface tight.
134
+ const { resolveSagaMemberIds } = await import('../sagas/storage.js');
135
+ const { getTaskAccessor } = await import('../store/data-accessor.js');
136
+ const accessor = await getTaskAccessor(projectRoot);
137
+ try {
138
+ const memberIds = await resolveSagaMemberIds(accessor, scope.sagaId);
139
+ if (memberIds === null || memberIds.length === 0) {
140
+ // Saga not found or has no members — nothing to pick.
141
+ return null;
142
+ }
143
+ allowedParentIds = new Set(memberIds);
144
+ }
145
+ finally {
146
+ await accessor.close();
147
+ }
148
+ }
116
149
  // Use find() to get candidate tasks. We specifically avoid 'proposed' by
117
150
  // only filtering on pending/active/blocked. getReadyTasks() from the
118
151
  // dependency-check module is authoritative for "unblocked".
119
152
  const pending = (await cleo.tasks.find({ status: 'pending', limit: 500 }));
120
- const candidates = Array.isArray(pending?.data?.tasks) ? pending.data.tasks : [];
153
+ const allCandidates = Array.isArray(pending?.data?.tasks) ? pending.data.tasks : [];
154
+ // Apply scope filter when active.
155
+ const candidates = allowedParentIds !== null
156
+ ? allCandidates.filter((t) => t.parentId != null && allowedParentIds.has(t.parentId))
157
+ : allCandidates;
121
158
  if (candidates.length === 0)
122
159
  return null;
123
160
  const ready = getReadyTasks(candidates);
124
161
  if (ready.length === 0)
125
162
  return null;
126
- // Deterministic pick: lowest id wins (reproducible for tests).
163
+ // Dependency-wave ordering: wave 0 (no unmet deps) is picked first.
164
+ // Within a wave, tasks are sorted alphabetically by ID for determinism.
165
+ // This replaces the previous lowest-id-first global sort (T11497 AC1).
166
+ const waves = computeDependencyWaves(ready);
167
+ if (waves.length > 0 && waves[0].taskIds.length > 0) {
168
+ const waveZeroIds = waves[0].taskIds; // already sorted alphabetically by computeDependencyWaves
169
+ const taskMap = new Map(ready.map((t) => [t.id, t]));
170
+ const first = taskMap.get(waveZeroIds[0]);
171
+ if (first)
172
+ return first;
173
+ }
174
+ // Fallback: alphabetical sort (cycle-safe, no wave computed).
127
175
  ready.sort((a, b) => a.id.localeCompare(b.id));
128
- return ready[0];
176
+ return ready[0] ?? null;
129
177
  }
130
178
  /**
131
179
  * Default spawn implementation. Shells out to
@@ -354,7 +402,14 @@ export async function runTick(options) {
354
402
  return { kind: 'killed', taskId: null, detail: 'killSwitch active before pick' };
355
403
  }
356
404
  // -- Pick next unblocked task ---------------------------------------------
357
- const picker = options.pickTask ?? defaultPickTask;
405
+ // When options.pickTask is injected (tests / custom pickers), use it directly.
406
+ // Otherwise delegate to defaultPickTask, forwarding the scope filter (T11497 AC1).
407
+ const scope = options.scopeEpicId !== undefined || options.scopeSagaId !== undefined
408
+ ? { epicId: options.scopeEpicId, sagaId: options.scopeSagaId }
409
+ : undefined;
410
+ const picker = options.pickTask
411
+ ? (pr) => options.pickTask(pr)
412
+ : (pr) => defaultPickTask(pr, scope);
358
413
  let task;
359
414
  try {
360
415
  task = await picker(projectRoot);
@@ -425,29 +480,48 @@ export async function runTick(options) {
425
480
  }
426
481
  // -- Classify + record -----------------------------------------------------
427
482
  if (spawnResult.exitCode === 0) {
428
- // T1589: orchestrator-side re-verification gate. Worker self-reports
429
- // exit=0 but we MUST NOT trust it without re-running gates against
430
- // ground truth (lie #4 in HONEST-HANDOFF-2026-04-28.md). The gate is
431
- // skipped under --dry-run and when explicitly disabled; tests inject
432
- // an `options.reVerify` stub instead of spawning real subprocesses.
483
+ // T1589 / T11498 (E6-TRUSTWORTHY-COMPLETION): orchestrator-side
484
+ // re-verification gate. Worker self-reports exit=0 but we MUST NOT trust
485
+ // it without re-running gates against ground truth (lie #4 in
486
+ // HONEST-HANDOFF-2026-04-28.md).
487
+ //
488
+ // REQUIRED (AC1): this gate is ALWAYS active in production unless the tick
489
+ // is running under `--dry-run` or `skipReVerify` is explicitly set to true.
490
+ // `options.reVerify` overrides the verifier for tests; production callers
491
+ // leave it unset and the real `reVerifyWorkerReport` fills in as the default.
492
+ // The previous conditional `options.reVerify !== undefined` made the gate a
493
+ // no-op when callers omitted the override — the `?? reVerifyWorkerReport`
494
+ // default makes it unconditional (T11498 AC1).
433
495
  const skipReVerify = options.skipReVerify === true || options.dryRun === true;
434
- if (!skipReVerify && options.reVerify !== undefined) {
496
+ if (!skipReVerify) {
497
+ const verifier = options.reVerify ?? reVerifyWorkerReport;
435
498
  const report = {
436
499
  taskId: task.id,
437
500
  selfReportSuccess: true,
438
501
  evidenceAtoms: ['tool:test'],
439
502
  touchedFiles: [],
440
503
  };
441
- const verdict = await options.reVerify(report, { projectRoot });
504
+ const verdict = await verifier(report, { projectRoot });
442
505
  if (!verdict.accepted) {
443
506
  const currentAttempts = existingStuck?.attempts ?? 0;
444
507
  const nextAttempts = currentAttempts + 1;
445
- const failureReason = `worker re-verify rejected (T1589): exit=0 but gates failed`;
508
+ const failureReason = `worker re-verify rejected (T1589/T11498): exit=0 but gates failed`;
446
509
  await writeFailureReceipt(projectRoot, task.id, nextAttempts, spawnResult.exitCode, failureReason);
447
510
  await incrementStats(statePath, { tasksFailed: 1, ticksExecuted: 1 });
511
+ // Record backoff / stuck entry exactly like the normal failure path so
512
+ // the re-verify gate integrates into the existing retry machinery.
513
+ const backoff = RETRY_BACKOFF_MS[nextAttempts - 1] ?? RETRY_BACKOFF_MS[RETRY_BACKOFF_MS.length - 1];
514
+ const stuckRecord = {
515
+ attempts: nextAttempts,
516
+ lastFailureAt: new Date(now).toISOString(),
517
+ nextRetryAt: nextAttempts >= MAX_TASK_ATTEMPTS ? Number.MAX_SAFE_INTEGER : now + backoff,
518
+ lastReason: failureReason,
519
+ };
520
+ const postReject = await readSentientState(statePath);
448
521
  await patchSentientState(statePath, {
522
+ stuckTasks: { ...postReject.stuckTasks, [task.id]: stuckRecord },
449
523
  activeTaskId: null,
450
- lastTickAt: new Date(Date.now()).toISOString(),
524
+ lastTickAt: new Date(now).toISOString(),
451
525
  });
452
526
  return {
453
527
  kind: 'failure',
@@ -456,10 +530,6 @@ export async function runTick(options) {
456
530
  };
457
531
  }
458
532
  }
459
- // Reference reVerifyWorkerReport so the import is retained even when
460
- // tests inject a stub via options.reVerify (production callers can
461
- // assign options.reVerify = reVerifyWorkerReport).
462
- void reVerifyWorkerReport;
463
533
  await writeSuccessReceipt(projectRoot, task.id, spawnResult.exitCode);
464
534
  // Clear stuck entry on success.
465
535
  const post = await readSentientState(statePath);
@@ -1 +1 @@
1
- {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/sentient/tick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/sentient/tick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Dual-scope SQLite DB open chokepoint for the SG-DB-SUBSTRATE-V2 consolidated schema.
3
+ *
4
+ * ## Overview (D1″ lifecycle split · T11246/E3 + T11247/E4)
5
+ *
6
+ * The owner-ratified D1″ decision (2026-05-30) collapses the CLEO SQLite fleet
7
+ * into exactly **two `cleo.db` files per machine view**:
8
+ *
9
+ * - **Project scope** — `<projectRoot>/.cleo/cleo.db`
10
+ * Contains every project-tier domain: `tasks_*` / `brain_*` (project-local
11
+ * memory) / `conduit_*` / `docs_*` / `telemetry_*` / lifecycle / provenance /
12
+ * chain / playbooks / agents (87 tables / 903 columns, T11360 count).
13
+ *
14
+ * - **Global scope** — `$XDG_DATA_HOME/cleo/cleo.db`
15
+ * Contains every cross-project domain: `nexus_*` / `skills_*` /
16
+ * `signaldock_*` / `brain_*` (global cross-project memory)
17
+ * (49 tables / 555 columns, T11361 count).
18
+ *
19
+ * ## Lifecycle
20
+ *
21
+ * `openDualScopeDb` is the **single chokepoint** for all opens of the
22
+ * consolidated schema. It:
23
+ * 1. Resolves the DB file path from scope + `cwd` (project) or `getCleoHome()`
24
+ * (global).
25
+ * 2. Opens a `node:sqlite` `DatabaseSync` handle.
26
+ * 3. Applies the canonical pragma set from `specs/sqlite-pragmas.json` via
27
+ * {@link applyPerfPragmas}.
28
+ * 4. Runs the drizzle-kit migrate step against the scope-appropriate
29
+ * migrations folder (`drizzle-cleo-project` or `drizzle-cleo-global`).
30
+ * 5. Returns a cached, typed `NodeSQLiteDatabase<TSchema>` handle.
31
+ * Subsequent calls for the same (scope, cwd) return the cached handle.
32
+ *
33
+ * ## Note on co-existence with legacy openCleoDb
34
+ *
35
+ * During the E3/E4 → E6 exodus transition, `openCleoDb` (the existing
36
+ * 8-role chokepoint) and `openDualScopeDb` (this module) co-exist. `openCleoDb`
37
+ * will be updated by E3 to delegate to this function for the consolidated
38
+ * schema. Until the E6 store rewrite, individual store modules still open their
39
+ * own legacy DBs via `openCleoDb`. The E6 milestone removes the legacy opens.
40
+ *
41
+ * @module
42
+ * @task T11512 (E4-T1)
43
+ * @task T11513 (E4-T2 — idempotent write helpers in this same file)
44
+ * @epic T11247 (E4)
45
+ * @saga T11242 (SG-DB-SUBSTRATE-V2)
46
+ * @adr ADR-068, ADR-069
47
+ * @see packages/core/src/store/schema/cleo-project/index.ts — project schema
48
+ * @see packages/core/src/store/schema/cleo-global/index.ts — global schema
49
+ * @see packages/core/migrations/drizzle-cleo-project — project migrations
50
+ * @see packages/core/migrations/drizzle-cleo-global — global migrations
51
+ */
52
+ import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
53
+ import type * as CleoGlobalSchemaTypes from './schema/cleo-global/index.js';
54
+ import type * as CleoProjectSchemaTypes from './schema/cleo-project/index.js';
55
+ /**
56
+ * The two canonical scopes for the consolidated dual-scope `cleo.db` substrate.
57
+ *
58
+ * - `'project'` — per-project DB at `<projectRoot>/.cleo/cleo.db`
59
+ * - `'global'` — per-user DB at `$XDG_DATA_HOME/cleo/cleo.db`
60
+ */
61
+ export type DualScope = 'project' | 'global';
62
+ /** Typed Drizzle handle for the project-scope `cleo.db`. */
63
+ export type CleoProjectDb = NodeSQLiteDatabase<typeof CleoProjectSchemaTypes>;
64
+ /** Typed Drizzle handle for the global-scope `cleo.db`. */
65
+ export type CleoGlobalDb = NodeSQLiteDatabase<typeof CleoGlobalSchemaTypes>;
66
+ /**
67
+ * Handle returned by {@link openDualScopeDb}.
68
+ *
69
+ * `TScope extends DualScope` narrows `db` to the correct schema type:
70
+ * - `openDualScopeDb('project')` → `DualScopeDbHandle<'project'>` with `db: CleoProjectDb`
71
+ * - `openDualScopeDb('global')` → `DualScopeDbHandle<'global'>` with `db: CleoGlobalDb`
72
+ */
73
+ export interface DualScopeDbHandle<TScope extends DualScope = DualScope> {
74
+ /** The Drizzle ORM handle typed against the consolidated schema for `scope`. */
75
+ readonly db: TScope extends 'project' ? CleoProjectDb : CleoGlobalDb;
76
+ /** The scope this handle was opened against. */
77
+ readonly scope: TScope;
78
+ /** Absolute path to the underlying SQLite file. */
79
+ readonly dbPath: string;
80
+ /**
81
+ * Close the underlying native handle and evict this entry from the
82
+ * singleton cache. Safe to call multiple times (idempotent).
83
+ */
84
+ close(): void;
85
+ }
86
+ /**
87
+ * Resolve the absolute path to the dual-scope `cleo.db` for the given scope.
88
+ *
89
+ * - `project`: `resolveCleoDir(cwd)` + `'cleo.db'` (falls under `<root>/.cleo/`)
90
+ * - `global`: `getCleoHome()` + `'cleo.db'` (falls under XDG data home `/cleo/`)
91
+ */
92
+ export declare function resolveDualScopeDbPath(scope: DualScope, cwd?: string): string;
93
+ /**
94
+ * Open (or re-use) the consolidated dual-scope `cleo.db` for the given scope.
95
+ *
96
+ * @param scope - `'project'` for the per-project DB; `'global'` for the
97
+ * per-user cross-project DB.
98
+ * @param cwd - Optional working directory used to resolve the project root for
99
+ * the `'project'` scope. Ignored for `'global'`.
100
+ * @returns A typed {@link DualScopeDbHandle} wrapping the Drizzle ORM instance
101
+ * bound to the consolidated schema for the requested scope. The handle is
102
+ * cached per (scope, dbPath) — subsequent calls return the same instance.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const proj = await openDualScopeDb('project', process.cwd());
107
+ * const global = await openDualScopeDb('global');
108
+ * ```
109
+ *
110
+ * @task T11512
111
+ * @epic T11247 (E4)
112
+ * @saga T11242
113
+ */
114
+ export declare function openDualScopeDb(scope: 'project', cwd?: string): Promise<DualScopeDbHandle<'project'>>;
115
+ export declare function openDualScopeDb(scope: 'global', cwd?: string): Promise<DualScopeDbHandle<'global'>>;
116
+ /**
117
+ * Reset all cached handles. Primarily for use in tests between test cases.
118
+ * Closes all open handles before evicting from the cache.
119
+ *
120
+ * @internal
121
+ */
122
+ export declare function _resetDualScopeDbCache(): void;
123
+ import type { InferInsertModel } from 'drizzle-orm';
124
+ import type { SQLiteTableWithColumns, TableConfig } from 'drizzle-orm/sqlite-core';
125
+ /**
126
+ * Attempt to insert `row` into `table`. If a row with the same value for
127
+ * `keyColumn` already exists (UNIQUE conflict), the insert is silently skipped.
128
+ *
129
+ * Wraps Drizzle v1's `.onConflictDoNothing()` to provide a type-safe,
130
+ * retry-safe idempotent insert for tables that carry an `idempotency_key`
131
+ * column or any other UNIQUE column.
132
+ *
133
+ * @param db - The Drizzle database handle (project or global scope).
134
+ * @param table - The Drizzle table reference from the consolidated schema.
135
+ * @param row - The row data to insert (all required columns).
136
+ * @param _keyColumn - The column name to conflict on (informational; the
137
+ * conflict resolution is applied table-wide via `.onConflictDoNothing()`).
138
+ * Pass the column name as a hint for documentation purposes.
139
+ * @returns The number of rows actually inserted (0 or 1).
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * import { tasksTasksTable } from '@cleocode/core/store/schema/cleo-project';
144
+ * const inserted = await insertIdempotent(db, tasksTasksTable, newTask, 'idempotencyKey');
145
+ * ```
146
+ *
147
+ * @task T11513 (E4-T2)
148
+ * @epic T11247 (E4)
149
+ * @saga T11242
150
+ */
151
+ export declare function insertIdempotent<TTable extends SQLiteTableWithColumns<TableConfig>>(db: NodeSQLiteDatabase<any>, table: TTable, row: InferInsertModel<TTable>, _keyColumn: string): Promise<number>;
152
+ /**
153
+ * Upsert `row` into `table`, updating all non-key columns when a row with
154
+ * the same `keyColumn` value already exists.
155
+ *
156
+ * Wraps Drizzle v1's `.onConflictDoUpdate()` for retry-safe upsert semantics.
157
+ *
158
+ * @param db - The Drizzle database handle.
159
+ * @param table - The Drizzle table reference.
160
+ * @param row - The row data to insert or update.
161
+ * @param keyColumn - The conflict-target column name (must be a UNIQUE or
162
+ * PRIMARY KEY column on the table).
163
+ * @param conflictTarget - The column reference used as the `.target` for
164
+ * `.onConflictDoUpdate()`. Pass the Drizzle column reference (e.g.
165
+ * `table.idempotencyKey`).
166
+ * @param set - The columns to update on conflict. If omitted, all columns
167
+ * in `row` are used as the update set.
168
+ * @returns The number of rows inserted or updated (always 1).
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * await upsertIdempotent(db, tasksTasksTable, updatedTask, 'idempotencyKey',
173
+ * tasksTasksTable.idempotencyKey);
174
+ * ```
175
+ *
176
+ * @task T11513 (E4-T2)
177
+ * @epic T11247 (E4)
178
+ * @saga T11242
179
+ */
180
+ export declare function upsertIdempotent<TTable extends SQLiteTableWithColumns<TableConfig>>(db: NodeSQLiteDatabase<any>, table: TTable, row: InferInsertModel<TTable>,
181
+ /** The conflict-target column name (informational hint for callers). */
182
+ _keyColumn: string, conflictTarget: any, set?: Partial<InferInsertModel<TTable>>): Promise<number>;
183
+ //# sourceMappingURL=dual-scope-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dual-scope-db.d.ts","sourceRoot":"","sources":["../../src/store/dual-scope-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,KAAK,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AAK9E;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS;IACrE,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,SAAS,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC;IACrE,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAyBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7E;AAmFD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,wBAAsB,eAAe,CACnC,KAAK,EAAE,QAAQ,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAgGxC;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAc7C;AAID,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,SAAS,sBAAsB,CAAC,WAAW,CAAC,EAEvF,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAE7B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,SAAS,sBAAsB,CAAC,WAAW,CAAC,EAEvF,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC;AAC7B,wEAAwE;AACxE,UAAU,EAAE,MAAM,EAElB,cAAc,EAAE,GAAG,EACnB,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CAYjB"}