@melra/storage-sqlite 0.3.0-alpha.14 → 0.3.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,7 +36,7 @@ running server.
36
36
  Schema changes need a new migration rather than an edit to an existing one.
37
37
 
38
38
  Uses `node:sqlite`, which emits an experimental warning on Node 22 and 24.
39
- Requires Node.js 22 or newer. Full documentation:
39
+ Requires Node.js 22.13 or newer, or 23.4 or newer. Full documentation:
40
40
  [github.com/XAGI-Lab/melra](https://github.com/XAGI-Lab/melra)
41
41
 
42
42
  Apache-2.0
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DatabaseSync } from "node:sqlite";
2
2
  import type { MemoryScope, TaskRecord } from "./types.js";
3
- import { type EncryptedPayload, type ApprovalDecision, type WorkflowDefinition, type WorkflowEvent, type WorkflowRun, type WorkflowSnapshot } from "@melra/protocol";
3
+ import { type EncryptedPayload, type ApprovalDecision, type WorkflowEvent, type WorkflowRun, type WorkflowSnapshot } from "@melra/protocol";
4
4
  import type { ActionReceipt, ExecutionCertificate } from "@melra/receipt-schema";
5
5
  export interface MemoryRecord {
6
6
  id: string;
@@ -24,6 +24,17 @@ interface IdempotencyCommitRow {
24
24
  attempt: number;
25
25
  committedAt: string;
26
26
  }
27
+ /**
28
+ * The redacted copy of a workflow definition, kept for reading. Redaction
29
+ * rewrites any string shaped like a credential, so a node id or a URL in it
30
+ * may no longer match the definition schema; only the identity it is stored
31
+ * under is checked. The sealed payload is the definition that runs.
32
+ */
33
+ declare const RedactedWorkflowDefinitionSchema: import("zod").ZodObject<{
34
+ id: import("zod").ZodString;
35
+ version: import("zod").ZodNumber;
36
+ }, import("zod/v4/core").$loose>;
37
+ export type RedactedWorkflowDefinition = ReturnType<typeof RedactedWorkflowDefinitionSchema.parse>;
27
38
  export declare class SqliteStore {
28
39
  readonly path: string;
29
40
  readonly database: DatabaseSync;
@@ -46,10 +57,22 @@ export declare class SqliteStore {
46
57
  });
47
58
  private migrate;
48
59
  private applyMigration;
49
- private transaction;
60
+ /**
61
+ * Runs `action` as one write transaction: another process sharing the
62
+ * database waits, so nothing it read changes before it writes, and a throw
63
+ * undoes every write it made. `action` must not call a method that opens a
64
+ * transaction of its own.
65
+ */
66
+ transaction<T>(action: () => T): T;
50
67
  private addColumnIfMissing;
51
68
  /** Without `owner`, a save keeps whichever owner the row already has. */
52
69
  saveTask(task: TaskRecord, owner?: string): void;
70
+ /**
71
+ * `saveTask` only while the stored status is one of `expected`, saying
72
+ * whether it wrote: a compare-and-set, so of two processes moving one task
73
+ * out of a status (an execute and a deny, or two executes) exactly one does.
74
+ */
75
+ saveTaskIf(task: TaskRecord, expected: readonly TaskRecord["status"][], owner?: string): boolean;
53
76
  /**
54
77
  * This store's owner id, created on first use. "Alive" means someone holds
55
78
  * an exclusive SQLite lock on `<db>-owners/<id>`; the kernel drops that lock
@@ -74,6 +97,16 @@ export declare class SqliteStore {
74
97
  claimInterruptedTask(id: string): TaskRecord | undefined;
75
98
  getTask(id: string): TaskRecord | undefined;
76
99
  listTasks(limit?: number, status?: TaskRecord["status"]): TaskRecord[];
100
+ /**
101
+ * Tasks waiting on a semantic judgement (#54) whose wait is over, oldest
102
+ * first, and only those: the sweep that settles them should neither parse
103
+ * every waiting row nor let newer ones crowd out the oldest. A task's
104
+ * judgements share one `expiresAt`, which the kernel writes as an ISO
105
+ * string, so the comparison is a string one; a row with none is due.
106
+ */
107
+ listExpiredJudgements(now: string): TaskRecord[];
108
+ /** Every task planned under one idempotency key, any status, found by its index. */
109
+ listTasksByKey(idempotencyKey: string): TaskRecord[];
77
110
  /** Counted in SQL so a summary does not have to load every task to add them up. */
78
111
  taskStatusCounts(): Record<string, number>;
79
112
  saveTaskPayload(taskId: string, payload: EncryptedPayload, at: string): void;
@@ -88,8 +121,8 @@ export declare class SqliteStore {
88
121
  * stored under this id and version (the caller has checked it is the same
89
122
  * one), so only the run and its events are written.
90
123
  */
91
- createWorkflow(redactedDefinition: WorkflowDefinition, payload: EncryptedPayload | undefined, run: WorkflowRun, events: WorkflowEvent[]): void;
92
- getWorkflowDefinition(id: string, version: number): WorkflowDefinition | undefined;
124
+ createWorkflow(redactedDefinition: unknown, payload: EncryptedPayload | undefined, run: WorkflowRun, events: WorkflowEvent[]): void;
125
+ getWorkflowDefinition(id: string, version: number): RedactedWorkflowDefinition | undefined;
93
126
  getWorkflowRun(id: string): WorkflowRun | undefined;
94
127
  listWorkflowRuns(statuses?: WorkflowRun["status"][]): WorkflowRun[];
95
128
  listWorkflowEvents(id: string, afterSequence?: number): WorkflowEvent[];
@@ -128,6 +161,13 @@ export declare class SqliteStore {
128
161
  recordApprovalDecision(decision: ApprovalDecision): boolean;
129
162
  getApprovalDecision(approvalId: string): ApprovalDecision | undefined;
130
163
  recordCapabilityUse(grantId: string, taskId: string, amount: number, at: string): void;
164
+ /**
165
+ * Whether a task has drawn any grant.
166
+ *
167
+ * ponytail: scans capability_usage, whose key leads with grant_id; asked
168
+ * only when settling a task after the fact. Index task_id if that changes.
169
+ */
170
+ hasCapabilityUse(taskId: string): boolean;
131
171
  /**
132
172
  * What a grant has spent: every operation ever, and the declared amounts
133
173
  * committed at or after `since`.
@@ -141,13 +181,33 @@ export declare class SqliteStore {
141
181
  saveReceipt(receipt: ActionReceipt): void;
142
182
  getReceipt(id: string): ActionReceipt | undefined;
143
183
  getReceiptsForTask(taskId: string): ActionReceipt[];
144
- saveCertificate(certificate: ExecutionCertificate): void;
184
+ /**
185
+ * Stores a task's certificate in place of the one it had, and returns what
186
+ * is stored. With `ifAbsent` one already there stays instead, so two
187
+ * processes certifying the same outcome hand out the same certificate.
188
+ */
189
+ saveCertificate(certificate: ExecutionCertificate, { ifAbsent }?: {
190
+ ifAbsent?: boolean;
191
+ }): ExecutionCertificate;
145
192
  getCertificateForTask(taskId: string): ExecutionCertificate | undefined;
146
193
  putMemory(memory: MemoryRecord): void;
147
194
  getMemory(id: string): MemoryRecord | undefined;
148
195
  listMemories(scope: MemoryScope, limit: number, includeSuperseded?: boolean): MemoryRecord[];
149
196
  memoryCandidates(scope: MemoryScope, limit: number, includeSuperseded?: boolean): MemoryRecord[];
150
197
  supersedeMemory(id: string, scope: MemoryScope, supersededBy: string): boolean;
198
+ /**
199
+ * Make `id` live again if `supersededBy` is what retired it, for when the
200
+ * record that replaced it is deleted or stops claiming to replace it.
201
+ * Otherwise it stayed hidden with nothing live pointing at it, so it could
202
+ * be neither read, edited nor superseded, and compaction later deleted it.
203
+ */
204
+ unsupersedeMemory(id: string, scope: MemoryScope, supersededBy: string): boolean;
205
+ /**
206
+ * Deleting a live correction undoes it: what it replaced is live again.
207
+ * Deleting one in the middle of a chain links the records on either side of
208
+ * it, so the latest stays the only live one. An expired correction leaves
209
+ * what it replaced retired, as it does once compaction has removed it.
210
+ */
151
211
  deleteMemory(id: string, scope: MemoryScope): boolean;
152
212
  clearMemories(scope: MemoryScope): number;
153
213
  /**
@@ -162,9 +222,8 @@ export declare class SqliteStore {
162
222
  * memories, which is data the caller stored and can still read. An operator
163
223
  * who wants a hard ceiling opts into one.
164
224
  *
165
- * A superseded row is only dropped once nothing live points at it, so
166
- * `supersedes_id` never dangles and a chain is removed from its tail
167
- * inwards across successive compactions.
225
+ * A superseded row is only dropped once nothing live points at it, so a
226
+ * chain is removed from its tail inwards across successive compactions.
168
227
  */
169
228
  compactMemories(scope: MemoryScope, retention: {
170
229
  maxAgeDays: number;
@@ -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
@@ -1,7 +1,7 @@
1
1
  // Copyright 2026 XAGI Labs Private Limited
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { randomUUID } from "node:crypto";
4
- import { existsSync, mkdirSync, readdirSync, rmSync, statSync } from "node:fs";
4
+ import { chmodSync, closeSync, existsSync, mkdirSync, openSync, readdirSync, rmSync, statSync } from "node:fs";
5
5
  import { dirname, join } from "node:path";
6
6
  import { DatabaseSync } from "node:sqlite";
7
7
  import { EncryptedPayloadSchema, WorkflowDefinitionSchema, WorkflowEventSchema, WorkflowRunSchema, WorkflowSnapshotSchema, } from "@melra/protocol";
@@ -32,6 +32,32 @@ function parseStored(data, schema, error) {
32
32
  throw new Error(error);
33
33
  }
34
34
  }
35
+ /**
36
+ * The redacted copy of a workflow definition, kept for reading. Redaction
37
+ * rewrites any string shaped like a credential, so a node id or a URL in it
38
+ * may no longer match the definition schema; only the identity it is stored
39
+ * under is checked. The sealed payload is the definition that runs.
40
+ */
41
+ const RedactedWorkflowDefinitionSchema = WorkflowDefinitionSchema.pick({ id: true, version: true }).loose();
42
+ /**
43
+ * Task records, events and receipts are for the user running MELRA alone:
44
+ * the database, and the WAL and shared-memory files SQLite gives the same
45
+ * mode, are made private if anything left them wider. `chmod`, never an open:
46
+ * closing any descriptor to the file would drop the locks SQLite holds on it.
47
+ */
48
+ function keepPrivate(path) {
49
+ if (process.platform === "win32")
50
+ return;
51
+ for (const file of [path, `${path}-wal`, `${path}-shm`]) {
52
+ try {
53
+ if ((statSync(file).mode & 0o077) !== 0)
54
+ chmodSync(file, 0o600);
55
+ }
56
+ catch {
57
+ // Not there yet, or not ours to change: SQLite creates the WAL files later, from the database's mode.
58
+ }
59
+ }
60
+ }
35
61
  export class SqliteStore {
36
62
  path;
37
63
  database;
@@ -58,9 +84,21 @@ export class SqliteStore {
58
84
  this.database.exec("PRAGMA busy_timeout = 5000");
59
85
  return;
60
86
  }
61
- if (path !== ":memory:")
62
- mkdirSync(dirname(path), { recursive: true });
87
+ if (path !== ":memory:") {
88
+ mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
89
+ // A new database is created private, not made so after SQLite has
90
+ // created it at its default mode. `wx` opens only a file it creates,
91
+ // never one this process may already hold SQLite locks on.
92
+ try {
93
+ closeSync(openSync(path, "wx", 0o600));
94
+ }
95
+ catch {
96
+ // Already there (kept private below), or SQLite says why it cannot be.
97
+ }
98
+ }
63
99
  this.database = new DatabaseSync(path);
100
+ if (path !== ":memory:")
101
+ keepPrivate(path);
64
102
  this.database.exec("PRAGMA busy_timeout = 5000");
65
103
  this.database.exec("PRAGMA journal_mode = WAL");
66
104
  this.database.exec("PRAGMA foreign_keys = ON");
@@ -239,6 +277,13 @@ export class SqliteStore {
239
277
  approver TEXT NOT NULL,
240
278
  decided_at TEXT NOT NULL
241
279
  );
280
+ `);
281
+ // Migration 6 indexes tasks by idempotency key, so a workflow step finds
282
+ // the tasks under its key without reading every task. As for migration 4,
283
+ // the expression must match listTasksByKey's text exactly.
284
+ this.applyMigration(6, `
285
+ CREATE INDEX IF NOT EXISTS tasks_idempotency_key
286
+ ON tasks(json_extract(data, '$.idempotencyKey'));
242
287
  `);
243
288
  }
244
289
  applyMigration(version, statements) {
@@ -254,6 +299,12 @@ export class SqliteStore {
254
299
  .run(version, new Date().toISOString());
255
300
  });
256
301
  }
302
+ /**
303
+ * Runs `action` as one write transaction: another process sharing the
304
+ * database waits, so nothing it read changes before it writes, and a throw
305
+ * undoes every write it made. `action` must not call a method that opens a
306
+ * transaction of its own.
307
+ */
257
308
  transaction(action) {
258
309
  this.database.exec("BEGIN IMMEDIATE");
259
310
  try {
@@ -287,6 +338,20 @@ export class SqliteStore {
287
338
  `)
288
339
  .run(task.id, JSON.stringify(task), task.createdAt, task.updatedAt, owner ?? null);
289
340
  }
341
+ /**
342
+ * `saveTask` only while the stored status is one of `expected`, saying
343
+ * whether it wrote: a compare-and-set, so of two processes moving one task
344
+ * out of a status (an execute and a deny, or two executes) exactly one does.
345
+ */
346
+ saveTaskIf(task, expected, owner) {
347
+ const result = this.database
348
+ .prepare(`
349
+ UPDATE tasks SET data = ?, updated_at = ?, owner = COALESCE(?, owner)
350
+ WHERE id = ? AND json_extract(data, '$.status') IN (SELECT value FROM json_each(?))
351
+ `)
352
+ .run(JSON.stringify(task), task.updatedAt, owner ?? null, task.id, JSON.stringify(expected));
353
+ return Number(result.changes) === 1;
354
+ }
290
355
  /**
291
356
  * This store's owner id, created on first use. "Alive" means someone holds
292
357
  * an exclusive SQLite lock on `<db>-owners/<id>`; the kernel drops that lock
@@ -301,7 +366,7 @@ export class SqliteStore {
301
366
  if (this.path === ":memory:")
302
367
  return (this.owner = { id }).id;
303
368
  const directory = `${this.path}-owners`;
304
- mkdirSync(directory, { recursive: true });
369
+ mkdirSync(directory, { recursive: true, mode: 0o700 });
305
370
  this.pruneOwners(directory);
306
371
  const file = join(directory, id);
307
372
  const lock = new DatabaseSync(file);
@@ -398,6 +463,31 @@ export class SqliteStore {
398
463
  .all(status, limit));
399
464
  return rows.map((row) => JSON.parse(row.data));
400
465
  }
466
+ /**
467
+ * Tasks waiting on a semantic judgement (#54) whose wait is over, oldest
468
+ * first, and only those: the sweep that settles them should neither parse
469
+ * every waiting row nor let newer ones crowd out the oldest. A task's
470
+ * judgements share one `expiresAt`, which the kernel writes as an ISO
471
+ * string, so the comparison is a string one; a row with none is due.
472
+ */
473
+ listExpiredJudgements(now) {
474
+ const rows = this.database
475
+ .prepare(`
476
+ SELECT data FROM tasks
477
+ WHERE json_extract(data, '$.status') = 'waiting_user'
478
+ AND coalesce(json_extract(data, '$.judgements[0].expiresAt'), '') <= ?
479
+ ORDER BY updated_at ASC
480
+ `)
481
+ .all(now);
482
+ return rows.map((row) => JSON.parse(row.data));
483
+ }
484
+ /** Every task planned under one idempotency key, any status, found by its index. */
485
+ listTasksByKey(idempotencyKey) {
486
+ const rows = this.database
487
+ .prepare("SELECT data FROM tasks WHERE json_extract(data, '$.idempotencyKey') = ?")
488
+ .all(idempotencyKey);
489
+ return rows.map((row) => JSON.parse(row.data));
490
+ }
401
491
  /** Counted in SQL so a summary does not have to load every task to add them up. */
402
492
  taskStatusCounts() {
403
493
  const rows = this.database
@@ -483,7 +573,7 @@ export class SqliteStore {
483
573
  * one), so only the run and its events are written.
484
574
  */
485
575
  createWorkflow(redactedDefinition, payload, run, events) {
486
- const definition = WorkflowDefinitionSchema.parse(redactedDefinition);
576
+ const definition = RedactedWorkflowDefinitionSchema.parse(redactedDefinition);
487
577
  const sealed = payload === undefined ? undefined : EncryptedPayloadSchema.parse(payload);
488
578
  if (sealed === undefined && this.getWorkflowPayload(definition.id, definition.version) === undefined) {
489
579
  throw new Error("workflow_payload_not_found");
@@ -533,7 +623,7 @@ export class SqliteStore {
533
623
  .get(id, version);
534
624
  return row === undefined
535
625
  ? undefined
536
- : parseStored(row.data, WorkflowDefinitionSchema, "stored_workflow_definition_invalid");
626
+ : parseStored(row.data, RedactedWorkflowDefinitionSchema, "stored_workflow_definition_invalid");
537
627
  }
538
628
  getWorkflowRun(id) {
539
629
  const row = this.database
@@ -762,6 +852,17 @@ export class SqliteStore {
762
852
  `)
763
853
  .run(grantId, taskId, amount, at);
764
854
  }
855
+ /**
856
+ * Whether a task has drawn any grant.
857
+ *
858
+ * ponytail: scans capability_usage, whose key leads with grant_id; asked
859
+ * only when settling a task after the fact. Index task_id if that changes.
860
+ */
861
+ hasCapabilityUse(taskId) {
862
+ return (this.database
863
+ .prepare("SELECT 1 FROM capability_usage WHERE task_id = ? LIMIT 1")
864
+ .get(taskId) !== undefined);
865
+ }
765
866
  /**
766
867
  * What a grant has spent: every operation ever, and the declared amounts
767
868
  * committed at or after `since`.
@@ -820,17 +921,23 @@ export class SqliteStore {
820
921
  .all(taskId);
821
922
  return rows.map((row) => JSON.parse(row.data));
822
923
  }
823
- saveCertificate(certificate) {
924
+ /**
925
+ * Stores a task's certificate in place of the one it had, and returns what
926
+ * is stored. With `ifAbsent` one already there stays instead, so two
927
+ * processes certifying the same outcome hand out the same certificate.
928
+ */
929
+ saveCertificate(certificate, { ifAbsent = false } = {}) {
824
930
  this.database
825
931
  .prepare(`
826
932
  INSERT INTO certificates(id, task_id, data, created_at)
827
933
  VALUES (?, ?, ?, ?)
828
- ON CONFLICT(task_id) DO UPDATE SET
934
+ ON CONFLICT(task_id) DO ${ifAbsent ? "NOTHING" : `UPDATE SET
829
935
  id = excluded.id,
830
936
  data = excluded.data,
831
- created_at = excluded.created_at
937
+ created_at = excluded.created_at`}
832
938
  `)
833
939
  .run(certificate.certificateId, certificate.taskId, JSON.stringify(certificate), certificate.createdAt);
940
+ return ifAbsent ? this.getCertificateForTask(certificate.taskId) : certificate;
834
941
  }
835
942
  getCertificateForTask(taskId) {
836
943
  const row = this.database
@@ -925,12 +1032,59 @@ export class SqliteStore {
925
1032
  .run(supersededBy, new Date().toISOString(), id, scope);
926
1033
  return Number(result.changes) > 0;
927
1034
  }
928
- deleteMemory(id, scope) {
1035
+ /**
1036
+ * Make `id` live again if `supersededBy` is what retired it, for when the
1037
+ * record that replaced it is deleted or stops claiming to replace it.
1038
+ * Otherwise it stayed hidden with nothing live pointing at it, so it could
1039
+ * be neither read, edited nor superseded, and compaction later deleted it.
1040
+ */
1041
+ unsupersedeMemory(id, scope, supersededBy) {
929
1042
  const result = this.database
930
- .prepare("DELETE FROM memories WHERE id = ? AND scope = ?")
931
- .run(id, scope);
1043
+ .prepare(`
1044
+ UPDATE memories
1045
+ SET superseded_by = NULL, updated_at = ?
1046
+ WHERE id = ? AND scope = ? AND superseded_by = ?
1047
+ `)
1048
+ .run(new Date().toISOString(), id, scope, supersededBy);
932
1049
  return Number(result.changes) > 0;
933
1050
  }
1051
+ /**
1052
+ * Deleting a live correction undoes it: what it replaced is live again.
1053
+ * Deleting one in the middle of a chain links the records on either side of
1054
+ * it, so the latest stays the only live one. An expired correction leaves
1055
+ * what it replaced retired, as it does once compaction has removed it.
1056
+ */
1057
+ deleteMemory(id, scope) {
1058
+ return this.transaction(() => {
1059
+ const row = this.database
1060
+ .prepare(`
1061
+ SELECT supersedes_id AS supersedesId, superseded_by AS supersededBy, expires_at AS expiresAt
1062
+ FROM memories WHERE id = ? AND scope = ?
1063
+ `)
1064
+ .get(id, scope);
1065
+ const result = this.database
1066
+ .prepare("DELETE FROM memories WHERE id = ? AND scope = ?")
1067
+ .run(id, scope);
1068
+ const replaced = row?.supersedesId;
1069
+ // An expired correction changes nothing, spliced or not, so deleting it
1070
+ // does what compaction removing it does, whichever comes first.
1071
+ const live = row !== undefined && (row.expiresAt === null || row.expiresAt > new Date().toISOString());
1072
+ if (live && replaced != null) {
1073
+ if (row.supersededBy != null) {
1074
+ this.database
1075
+ .prepare("UPDATE memories SET superseded_by = ? WHERE id = ? AND scope = ? AND superseded_by = ?")
1076
+ .run(row.supersededBy, replaced, scope, id);
1077
+ this.database
1078
+ .prepare("UPDATE memories SET supersedes_id = ? WHERE id = ? AND scope = ? AND supersedes_id = ?")
1079
+ .run(replaced, row.supersededBy, scope, id);
1080
+ }
1081
+ else {
1082
+ this.unsupersedeMemory(replaced, scope, id);
1083
+ }
1084
+ }
1085
+ return Number(result.changes) > 0;
1086
+ });
1087
+ }
934
1088
  clearMemories(scope) {
935
1089
  const result = this.database
936
1090
  .prepare("DELETE FROM memories WHERE scope = ?")
@@ -949,9 +1103,8 @@ export class SqliteStore {
949
1103
  * memories, which is data the caller stored and can still read. An operator
950
1104
  * who wants a hard ceiling opts into one.
951
1105
  *
952
- * A superseded row is only dropped once nothing live points at it, so
953
- * `supersedes_id` never dangles and a chain is removed from its tail
954
- * inwards across successive compactions.
1106
+ * A superseded row is only dropped once nothing live points at it, so a
1107
+ * chain is removed from its tail inwards across successive compactions.
955
1108
  */
956
1109
  compactMemories(scope, retention, now = new Date()) {
957
1110
  const nowIso = now.toISOString();
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melra/storage-sqlite",
3
- "version": "0.3.0-alpha.14",
3
+ "version": "0.3.0-alpha.15",
4
4
  "description": "Transactional SQLite task, workflow, event, payload, and evidence storage for MELRA.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -11,6 +11,9 @@
11
11
  "homepage": "https://github.com/XAGI-Lab/melra#readme",
12
12
  "bugs": "https://github.com/XAGI-Lab/melra/issues",
13
13
  "type": "module",
14
+ "engines": {
15
+ "node": "^22.13.0 || >=23.4.0"
16
+ },
14
17
  "exports": {
15
18
  ".": {
16
19
  "types": "./dist/index.d.ts",
@@ -21,8 +24,8 @@
21
24
  "dist"
22
25
  ],
23
26
  "dependencies": {
24
- "@melra/protocol": "0.3.0-alpha.14",
25
- "@melra/receipt-schema": "0.3.0-alpha.14"
27
+ "@melra/protocol": "0.3.0-alpha.15",
28
+ "@melra/receipt-schema": "0.3.0-alpha.15"
26
29
  },
27
30
  "scripts": {
28
31
  "build": "tsc -p tsconfig.json",