@hasna/mementos 0.14.88 → 0.16.0

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 (161) hide show
  1. package/README.md +119 -30
  2. package/bun.lock +4 -65
  3. package/dist/audit-contract.d.ts +87 -0
  4. package/dist/audit-contract.d.ts.map +1 -0
  5. package/dist/cli/commands/info-context.d.ts.map +1 -1
  6. package/dist/cli/commands/info-history.d.ts.map +1 -1
  7. package/dist/cli/commands/info-stale.d.ts.map +1 -1
  8. package/dist/cli/commands/io-backup.d.ts.map +1 -1
  9. package/dist/cli/commands/io-export.d.ts.map +1 -1
  10. package/dist/cli/commands/io-restore.d.ts.map +1 -1
  11. package/dist/cli/commands/memory-cmd-chain.d.ts.map +1 -1
  12. package/dist/cli/commands/memory-cmd-crud.d.ts.map +1 -1
  13. package/dist/cli/commands/memory-cmd-list.d.ts +25 -0
  14. package/dist/cli/commands/memory-cmd-list.d.ts.map +1 -1
  15. package/dist/cli/commands/memory-cmd-recall.d.ts.map +1 -1
  16. package/dist/cli/commands/memory-cmd-search.d.ts.map +1 -1
  17. package/dist/cli/commands/memory-cmd-tail.d.ts.map +1 -1
  18. package/dist/cli/commands/memory-cmd-view.d.ts.map +1 -1
  19. package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +1 -1
  20. package/dist/cli/commands/project.d.ts.map +1 -1
  21. package/dist/cli/commands/storage.d.ts.map +1 -1
  22. package/dist/cli/commands/system-doctor.d.ts.map +1 -1
  23. package/dist/cli/commands/system-session.d.ts.map +1 -1
  24. package/dist/cli/commands/system-status.d.ts +43 -0
  25. package/dist/cli/commands/system-status.d.ts.map +1 -0
  26. package/dist/cli/commands/system-synthesized-profile.d.ts.map +1 -1
  27. package/dist/cli/commands/system.d.ts.map +1 -1
  28. package/dist/cli/helpers.d.ts.map +1 -1
  29. package/dist/cli/index.js +4964 -2168
  30. package/dist/cli/register-all.d.ts +1 -1
  31. package/dist/cli/register-all.d.ts.map +1 -1
  32. package/dist/db/api-mode.d.ts +145 -37
  33. package/dist/db/api-mode.d.ts.map +1 -1
  34. package/dist/db/api-response-contract.d.ts +23 -0
  35. package/dist/db/api-response-contract.d.ts.map +1 -0
  36. package/dist/db/audit.d.ts +34 -45
  37. package/dist/db/audit.d.ts.map +1 -1
  38. package/dist/db/database.d.ts +1 -0
  39. package/dist/db/database.d.ts.map +1 -1
  40. package/dist/db/locks.d.ts.map +1 -1
  41. package/dist/db/machines.d.ts +50 -13
  42. package/dist/db/machines.d.ts.map +1 -1
  43. package/dist/db/memories.d.ts.map +1 -1
  44. package/dist/db/migrations.d.ts.map +1 -1
  45. package/dist/db/pg-migrate.d.ts.map +1 -1
  46. package/dist/db/pg-migrations.d.ts.map +1 -1
  47. package/dist/db/session-jobs.d.ts +2 -0
  48. package/dist/db/session-jobs.d.ts.map +1 -1
  49. package/dist/db/store-backend.d.ts +8 -2
  50. package/dist/db/store-backend.d.ts.map +1 -1
  51. package/dist/diagnostics/historical-project-registration-receipt.js +299 -50
  52. package/dist/generated/storage-kit/backend.d.ts +12 -2
  53. package/dist/generated/storage-kit/backend.d.ts.map +1 -1
  54. package/dist/generated/storage-kit/index.d.ts +1 -1
  55. package/dist/generated/storage-kit/index.d.ts.map +1 -1
  56. package/dist/generated/storage-kit/migrations.d.ts +21 -0
  57. package/dist/generated/storage-kit/migrations.d.ts.map +1 -1
  58. package/dist/generated/storage-kit/pool.d.ts +2 -5
  59. package/dist/generated/storage-kit/pool.d.ts.map +1 -1
  60. package/dist/generated/storage-kit/query.d.ts +1 -1
  61. package/dist/generated/storage-kit/query.d.ts.map +1 -1
  62. package/dist/index.d.ts +4 -3
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +4328 -1485
  65. package/dist/lib/built-in-hooks.d.ts.map +1 -1
  66. package/dist/lib/config.d.ts.map +1 -1
  67. package/dist/lib/env.d.ts +10 -0
  68. package/dist/lib/env.d.ts.map +1 -0
  69. package/dist/lib/gatherer.d.ts.map +1 -1
  70. package/dist/lib/injection-project.d.ts +10 -0
  71. package/dist/lib/injection-project.d.ts.map +1 -0
  72. package/dist/lib/injector.d.ts +1 -0
  73. package/dist/lib/injector.d.ts.map +1 -1
  74. package/dist/lib/local-opt-in.d.ts +114 -0
  75. package/dist/lib/local-opt-in.d.ts.map +1 -0
  76. package/dist/lib/machine-visibility.d.ts.map +1 -1
  77. package/dist/lib/memory-lock.d.ts.map +1 -1
  78. package/dist/lib/paths.d.ts +9 -0
  79. package/dist/lib/paths.d.ts.map +1 -1
  80. package/dist/lib/profile-synthesizer.d.ts +13 -2
  81. package/dist/lib/profile-synthesizer.d.ts.map +1 -1
  82. package/dist/lib/redact.d.ts +70 -10
  83. package/dist/lib/redact.d.ts.map +1 -1
  84. package/dist/lib/reflection.d.ts.map +1 -1
  85. package/dist/lib/session-queue.d.ts.map +1 -1
  86. package/dist/lib/session-registry.d.ts +38 -1
  87. package/dist/lib/session-registry.d.ts.map +1 -1
  88. package/dist/lib/storage-sync.d.ts +5 -0
  89. package/dist/lib/storage-sync.d.ts.map +1 -1
  90. package/dist/lib/synthesis/index.d.ts.map +1 -1
  91. package/dist/mcp/index.d.ts +1 -1
  92. package/dist/mcp/index.d.ts.map +1 -1
  93. package/dist/mcp/index.js +6215 -2598
  94. package/dist/mcp/profile.d.ts +23 -0
  95. package/dist/mcp/profile.d.ts.map +1 -0
  96. package/dist/mcp/tools/lock-tools.d.ts.map +1 -1
  97. package/dist/mcp/tools/memory-audit.d.ts +1 -1
  98. package/dist/mcp/tools/memory-audit.d.ts.map +1 -1
  99. package/dist/mcp/tools/memory-crud.d.ts.map +1 -1
  100. package/dist/mcp/tools/memory-inject.d.ts.map +1 -1
  101. package/dist/mcp/tools/project-tools.d.ts.map +1 -1
  102. package/dist/mcp/tools/session-tools.d.ts.map +1 -1
  103. package/dist/mcp/tools/tool-registry.d.ts +22 -19
  104. package/dist/mcp/tools/tool-registry.d.ts.map +1 -1
  105. package/dist/mcp/tools/utility-tools.d.ts +2 -1
  106. package/dist/mcp/tools/utility-tools.d.ts.map +1 -1
  107. package/dist/project-registration.js +549 -205
  108. package/dist/sdk/index.d.ts +282 -14
  109. package/dist/sdk/index.d.ts.map +1 -1
  110. package/dist/sdk/index.js +1691 -35
  111. package/dist/server/auth.d.ts +2 -0
  112. package/dist/server/auth.d.ts.map +1 -1
  113. package/dist/server/helpers.d.ts +21 -7
  114. package/dist/server/helpers.d.ts.map +1 -1
  115. package/dist/server/index.d.ts +2 -0
  116. package/dist/server/index.d.ts.map +1 -1
  117. package/dist/server/index.js +6040 -2475
  118. package/dist/server/openapi.d.ts.map +1 -1
  119. package/dist/server/routes/audit.d.ts +2 -0
  120. package/dist/server/routes/audit.d.ts.map +1 -0
  121. package/dist/server/routes/machines.d.ts +2 -0
  122. package/dist/server/routes/machines.d.ts.map +1 -0
  123. package/dist/server/routes/system-sessions.d.ts.map +1 -1
  124. package/dist/server/routes/system-synthesis.d.ts.map +1 -1
  125. package/dist/storage.d.ts.map +1 -1
  126. package/dist/storage.js +78 -129
  127. package/dist/types/index.d.ts +3 -0
  128. package/dist/types/index.d.ts.map +1 -1
  129. package/docker-entrypoint.sh +7 -0
  130. package/hasna.contract.json +19 -7
  131. package/package.json +12 -11
  132. package/postinstall.mjs +52 -1
  133. package/dashboard/bun.lock +0 -519
  134. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts +0 -2
  135. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts.map +0 -1
  136. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts +0 -2
  137. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts.map +0 -1
  138. package/dist/cli/brains.d.ts +0 -3
  139. package/dist/cli/brains.d.ts.map +0 -1
  140. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts +0 -2
  141. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts.map +0 -1
  142. package/dist/db/__fixtures__/list-filter-capture-server.d.ts +0 -2
  143. package/dist/db/__fixtures__/list-filter-capture-server.d.ts.map +0 -1
  144. package/dist/db/__fixtures__/list-filter-client-runner.d.ts +0 -2
  145. package/dist/db/__fixtures__/list-filter-client-runner.d.ts.map +0 -1
  146. package/dist/lib/retired-storage-mode.d.ts +0 -11
  147. package/dist/lib/retired-storage-mode.d.ts.map +0 -1
  148. package/dist/test-support/memories-page-stub-server.d.ts +0 -2
  149. package/dist/test-support/memories-page-stub-server.d.ts.map +0 -1
  150. package/dist/test-support/memories-page-stub.d.ts +0 -28
  151. package/dist/test-support/memories-page-stub.d.ts.map +0 -1
  152. package/dist/test-support/pg-sync-stub-worker.d.ts +0 -2
  153. package/dist/test-support/pg-sync-stub-worker.d.ts.map +0 -1
  154. package/dist/test-support/preload-local-store.d.ts +0 -2
  155. package/dist/test-support/preload-local-store.d.ts.map +0 -1
  156. package/dist/test-support/project-authority-identity.d.ts +0 -8
  157. package/dist/test-support/project-authority-identity.d.ts.map +0 -1
  158. package/dist/test-support/store-isolation.d.ts +0 -108
  159. package/dist/test-support/store-isolation.d.ts.map +0 -1
  160. package/dist/test-support/strip-ansi.d.ts +0 -3
  161. package/dist/test-support/strip-ansi.d.ts.map +0 -1
@@ -8,87 +8,76 @@ import { createHash } from "crypto";
8
8
 
9
9
  // src/storage.ts
10
10
  import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "fs";
11
- import { join as join3 } from "path";
11
+ import { join as join2 } from "path";
12
12
  import { fileURLToPath } from "url";
13
13
  import { Worker } from "worker_threads";
14
14
  import pg from "pg";
15
15
 
16
16
  // src/lib/paths.ts
17
17
  import { existsSync } from "fs";
18
- import { homedir as homedir2 } from "os";
19
- import { join as join2, resolve } from "path";
20
-
21
- // ../../node_modules/.bun/@hasna+paths@0.1.0/node_modules/@hasna/paths/dist/index.js
22
18
  import { homedir } from "os";
23
- import { join } from "path";
24
- var KIND_ENV = {
25
- config: "HASNA_CONFIG_HOME",
19
+ import { join, resolve } from "path";
20
+ import { homedir as pathsResolverHomedir } from "os";
21
+ import { join as pathsResolverJoin } from "path";
22
+ var PATHS_RESOLVER_KIND_ENV = {
26
23
  data: "HASNA_DATA_HOME",
27
24
  state: "HASNA_STATE_HOME",
28
25
  cache: "HASNA_CACHE_HOME"
29
26
  };
30
- var APP_SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
31
- function assertApp(app) {
27
+ var PATHS_RESOLVER_APP_SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
28
+ function pathsResolverAssertApp(app) {
32
29
  if (typeof app !== "string" || app.length === 0) {
33
30
  throw new TypeError("paths: app must be a non-empty string");
34
31
  }
35
- if (!APP_SLUG_RE.test(app)) {
32
+ if (!PATHS_RESOLVER_APP_SLUG_RE.test(app)) {
36
33
  throw new TypeError(`paths: invalid app slug "${app}" \u2014 expected lowercase kebab-case ([a-z0-9]+(-[a-z0-9]+)*)`);
37
34
  }
38
35
  }
39
- function envOf(options) {
40
- return options.env ?? process.env;
41
- }
42
- function envValue(options, kind) {
43
- const value = envOf(options)[KIND_ENV[kind]];
44
- return typeof value === "string" && value.length > 0 ? value : undefined;
45
- }
46
- function isMacOS(platform) {
47
- return platform === "darwin";
36
+ function pathsResolverAssertKind(kind) {
37
+ if (!Object.keys(PATHS_RESOLVER_KIND_ENV).includes(kind)) {
38
+ throw new TypeError(`paths: invalid path kind "${kind}" \u2014 expected one of ${Object.keys(PATHS_RESOLVER_KIND_ENV).join(", ")}`);
39
+ }
48
40
  }
49
- function baseDir(kind, options) {
50
- const override = envValue(options, kind);
51
- if (override)
41
+ function pathsResolverBaseDir(kind, options) {
42
+ pathsResolverAssertKind(kind);
43
+ const env = options.env ?? process.env;
44
+ const override = env[PATHS_RESOLVER_KIND_ENV[kind]];
45
+ if (typeof override === "string" && override.length > 0)
52
46
  return override;
53
- const home = options.home ?? homedir();
47
+ const home = options.home ?? pathsResolverHomedir();
54
48
  const platform = options.platform ?? process.platform;
55
- if (isMacOS(platform)) {
49
+ if (platform === "darwin") {
56
50
  switch (kind) {
57
- case "config":
58
51
  case "data":
59
- return join(home, "Library", "Application Support", "Hasna");
52
+ return pathsResolverJoin(home, "Library", "Application Support", "Hasna");
60
53
  case "cache":
61
- return join(home, "Library", "Caches", "Hasna");
54
+ return pathsResolverJoin(home, "Library", "Caches", "Hasna");
62
55
  case "state":
63
- return join(home, "Library", "Logs", "Hasna");
56
+ return pathsResolverJoin(home, "Library", "Logs", "Hasna");
64
57
  }
65
58
  }
66
59
  switch (kind) {
67
- case "config":
68
- return join(home, ".config", "hasna");
69
60
  case "data":
70
- return join(home, ".local", "share", "hasna");
61
+ return pathsResolverJoin(home, ".local", "share", "hasna");
71
62
  case "state":
72
- return join(home, ".local", "state", "hasna");
63
+ return pathsResolverJoin(home, ".local", "state", "hasna");
73
64
  case "cache":
74
- return join(home, ".cache", "hasna");
65
+ return pathsResolverJoin(home, ".cache", "hasna");
75
66
  }
76
67
  }
77
- function resolvePath(kind, options) {
78
- assertApp(options.app);
79
- const appSegment = options.internal === true ? join("internal", options.app) : options.app;
80
- return join(baseDir(kind, options), appSegment);
68
+ function pathsResolverResolve(kind, options) {
69
+ pathsResolverAssertApp(options.app);
70
+ const appSegment = options.internal === true ? pathsResolverJoin("internal", options.app) : options.app;
71
+ return pathsResolverJoin(pathsResolverBaseDir(kind, options), appSegment);
81
72
  }
82
73
  function dataDir(options) {
83
- return resolvePath("data", options);
74
+ return pathsResolverResolve("data", options);
84
75
  }
85
-
86
- // src/lib/paths.ts
87
76
  function effectiveHome() {
88
- return process.env["HOME"] || process.env["USERPROFILE"] || homedir2() || "/tmp";
77
+ return process.env["HOME"] || process.env["USERPROFILE"] || homedir() || "/tmp";
89
78
  }
90
79
  function legacyDataRoot() {
91
- return join2(effectiveHome(), ".hasna", "mementos");
80
+ return join(effectiveHome(), ".hasna", "mementos");
92
81
  }
93
82
  function resolverDataRoot() {
94
83
  return dataDir({
@@ -100,7 +89,7 @@ function adoptResolverDataRoot(resolved, env = process.env) {
100
89
  const dataOverride = env.HASNA_DATA_HOME;
101
90
  if (typeof dataOverride === "string" && dataOverride.trim().length > 0)
102
91
  return true;
103
- return existsSync(join2(resolved, "mementos.db"));
92
+ return existsSync(join(resolved, "mementos.db"));
104
93
  }
105
94
  function exactDataRoot() {
106
95
  for (const key of ["HASNA_MEMENTOS_HOME", "MEMENTOS_HOME"]) {
@@ -118,6 +107,18 @@ function getDataRoot() {
118
107
  return adoptResolverDataRoot(resolved) ? resolve(resolved) : resolve(legacyDataRoot());
119
108
  }
120
109
 
110
+ // src/lib/env.ts
111
+ var alias = (canonical, legacy) => process.env[canonical] ?? process.env[legacy];
112
+ var env = {
113
+ apiKey: () => alias("HASNA_MEMENTOS_API_KEY", "MEMENTOS_API_KEY"),
114
+ defaultScope: () => alias("HASNA_MEMENTOS_DEFAULT_SCOPE", "MEMENTOS_DEFAULT_SCOPE"),
115
+ defaultCategory: () => alias("HASNA_MEMENTOS_DEFAULT_CATEGORY", "MEMENTOS_DEFAULT_CATEGORY"),
116
+ defaultImportance: () => alias("HASNA_MEMENTOS_DEFAULT_IMPORTANCE", "MEMENTOS_DEFAULT_IMPORTANCE"),
117
+ pgsyncQueryTimeoutMs: () => alias("HASNA_MEMENTOS_PGSYNC_QUERY_TIMEOUT_MS", "MEMENTOS_PGSYNC_QUERY_TIMEOUT_MS"),
118
+ reflectProvider: () => alias("HASNA_MEMENTOS_REFLECT_PROVIDER", "MEMENTOS_REFLECT_PROVIDER"),
119
+ reflectModel: () => alias("HASNA_MEMENTOS_REFLECT_MODEL", "MEMENTOS_REFLECT_MODEL")
120
+ };
121
+
121
122
  // src/storage.ts
122
123
  function shouldUsePgSsl(connectionString) {
123
124
  let params;
@@ -163,7 +164,7 @@ class PgSyncPool {
163
164
  generation = 0;
164
165
  static DATA_BYTES = 128 * 1024 * 1024;
165
166
  static queryTimeoutMs() {
166
- const raw = process.env["MEMENTOS_PGSYNC_QUERY_TIMEOUT_MS"]?.trim();
167
+ const raw = env.pgsyncQueryTimeoutMs()?.trim();
167
168
  const parsed = raw ? Number(raw) : Number.NaN;
168
169
  return Number.isFinite(parsed) && parsed > 0 ? parsed : 60000;
169
170
  }
@@ -171,9 +172,9 @@ class PgSyncPool {
171
172
  const ext = import.meta.url.endsWith(".ts") ? ".ts" : ".js";
172
173
  const here = fileURLToPath(new URL(".", import.meta.url));
173
174
  const candidates = [
174
- join3(here, `pg-sync-worker${ext}`),
175
- join3(here, "..", `pg-sync-worker${ext}`),
176
- join3(here, "..", "..", `pg-sync-worker${ext}`)
175
+ join2(here, `pg-sync-worker${ext}`),
176
+ join2(here, "..", `pg-sync-worker${ext}`),
177
+ join2(here, "..", "..", `pg-sync-worker${ext}`)
177
178
  ];
178
179
  for (const candidate of candidates) {
179
180
  if (existsSync2(candidate))
@@ -248,8 +249,8 @@ var MEMENTOS_STORAGE_FALLBACK_ENV = {
248
249
  databaseUrl: "MEMENTOS_DATABASE_URL"
249
250
  };
250
251
  var LOCAL_DATA_DIR = getDataRoot();
251
- var STORAGE_CONFIG_DIR = join3(LOCAL_DATA_DIR, "storage");
252
- var STORAGE_CONFIG_PATH = join3(STORAGE_CONFIG_DIR, "config.json");
252
+ var STORAGE_CONFIG_DIR = join2(LOCAL_DATA_DIR, "storage");
253
+ var STORAGE_CONFIG_PATH = join2(STORAGE_CONFIG_DIR, "config.json");
253
254
  var DATABASE_ENV_NAMES = [
254
255
  { name: MEMENTOS_STORAGE_ENV.databaseUrl, deprecated: false },
255
256
  { name: MEMENTOS_STORAGE_FALLBACK_ENV.databaseUrl, deprecated: false }
@@ -264,6 +265,40 @@ var SECRET_QUERY_PARAMS = new Set([
264
265
  "apikey"
265
266
  ]);
266
267
 
268
+ // ../../node_modules/.bun/@hasna+contracts@1.0.2+e8014c875821e0be/node_modules/@hasna/contracts/dist/client/transport.js
269
+ import { createRequire } from "module";
270
+ function envToken(name) {
271
+ return name.toUpperCase().replace(/-/g, "_");
272
+ }
273
+ function clientTransportEnvKeys(name) {
274
+ const envSegment = envToken(name);
275
+ return {
276
+ apiUrlKeys: [`HASNA_${envSegment}_API_URL`, `${envSegment}_API_URL`],
277
+ apiKeyKeys: [`HASNA_${envSegment}_API_KEY`, `${envSegment}_API_KEY`]
278
+ };
279
+ }
280
+ var MAX_CREDENTIAL_FILE_BYTES = 64 * 1024;
281
+ var INSPECT_CUSTOM = Symbol.for("nodejs.util.inspect.custom");
282
+ var CREDENTIAL_SEAL = Symbol.for("hasna:contracts:sealedCredential");
283
+ var AMBIENT_ENVIRONMENT = Symbol.for("hasna:contracts:ambientClientEnvironment");
284
+ var SECRETS_PACKAGE_SPECIFIER = "@hasna/" + "secrets";
285
+ var requireSecretsSdk = createRequire(import.meta.url);
286
+ var IDEMPOTENT_METHODS = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]);
287
+ var AUTHORITY_OVERRIDE_HEADERS = new Set([
288
+ "host",
289
+ ":authority",
290
+ "forwarded",
291
+ "x-forwarded-host",
292
+ "x-original-host"
293
+ ]);
294
+
295
+ // src/lib/local-opt-in.ts
296
+ var CONTRACTS_AMBIENT_ENVIRONMENT = Symbol.for("hasna:contracts:ambientClientEnvironment");
297
+
298
+ // src/db/api-mode.ts
299
+ var API_URL_ENV_KEYS = clientTransportEnvKeys("mementos").apiUrlKeys;
300
+ var API_KEY_ENV_KEYS = clientTransportEnvKeys("mementos").apiKeyKeys;
301
+
267
302
  // src/project-registration/schema.ts
268
303
  function sqliteMementosProjectRegistrationSchemaSql() {
269
304
  return `
@@ -1421,6 +1456,220 @@ INSERT OR IGNORE INTO _migrations (id) VALUES (38);
1421
1456
  `
1422
1457
  ${sqliteMementosMemoryProjectLinkSchemaSql()}
1423
1458
  INSERT OR IGNORE INTO _migrations (id) VALUES (40);
1459
+ `,
1460
+ `
1461
+ DROP TABLE IF EXISTS temp.mementos_m41_machine_preflight;
1462
+ CREATE TEMP TABLE mementos_m41_machine_preflight (
1463
+ id TEXT PRIMARY KEY,
1464
+ name TEXT NOT NULL CHECK(
1465
+ length(name) BETWEEN 1 AND 128
1466
+ AND instr(name, char(0)) = 0
1467
+ AND instr(name, char(1)) = 0
1468
+ AND instr(name, char(2)) = 0
1469
+ AND instr(name, char(3)) = 0
1470
+ AND instr(name, char(4)) = 0
1471
+ AND instr(name, char(5)) = 0
1472
+ AND instr(name, char(6)) = 0
1473
+ AND instr(name, char(7)) = 0
1474
+ AND instr(name, char(8)) = 0
1475
+ AND instr(name, char(9)) = 0
1476
+ AND instr(name, char(10)) = 0
1477
+ AND instr(name, char(11)) = 0
1478
+ AND instr(name, char(12)) = 0
1479
+ AND instr(name, char(13)) = 0
1480
+ AND instr(name, char(14)) = 0
1481
+ AND instr(name, char(15)) = 0
1482
+ AND instr(name, char(16)) = 0
1483
+ AND instr(name, char(17)) = 0
1484
+ AND instr(name, char(18)) = 0
1485
+ AND instr(name, char(19)) = 0
1486
+ AND instr(name, char(20)) = 0
1487
+ AND instr(name, char(21)) = 0
1488
+ AND instr(name, char(22)) = 0
1489
+ AND instr(name, char(23)) = 0
1490
+ AND instr(name, char(24)) = 0
1491
+ AND instr(name, char(25)) = 0
1492
+ AND instr(name, char(26)) = 0
1493
+ AND instr(name, char(27)) = 0
1494
+ AND instr(name, char(28)) = 0
1495
+ AND instr(name, char(29)) = 0
1496
+ AND instr(name, char(30)) = 0
1497
+ AND instr(name, char(31)) = 0
1498
+ AND instr(name, char(127)) = 0
1499
+ ),
1500
+ hostname TEXT NOT NULL UNIQUE CHECK(
1501
+ length(hostname) BETWEEN 1 AND 253
1502
+ AND hostname = lower(rtrim(trim(hostname), '.'))
1503
+ AND instr(hostname, ' ') = 0
1504
+ AND instr(hostname, char(9)) = 0
1505
+ AND instr(hostname, char(10)) = 0
1506
+ AND instr(hostname, char(13)) = 0
1507
+ AND instr(hostname, '/') = 0
1508
+ AND instr(hostname, char(92)) = 0
1509
+ ),
1510
+ platform TEXT NOT NULL CHECK(
1511
+ length(platform) BETWEEN 1 AND 64
1512
+ AND platform = lower(trim(platform))
1513
+ AND platform NOT GLOB '*[^a-z0-9._-]*'
1514
+ ),
1515
+ is_primary INTEGER NOT NULL CHECK(is_primary IN (0, 1)),
1516
+ created_at TEXT NOT NULL CHECK(julianday(created_at) IS NOT NULL),
1517
+ last_seen_at TEXT NOT NULL CHECK(
1518
+ julianday(last_seen_at) IS NOT NULL
1519
+ AND julianday(last_seen_at) >= julianday(created_at)
1520
+ )
1521
+ );
1522
+ INSERT INTO mementos_m41_machine_preflight
1523
+ (id, name, hostname, platform, is_primary, created_at, last_seen_at)
1524
+ SELECT
1525
+ id,
1526
+ name,
1527
+ lower(rtrim(trim(hostname), '.')),
1528
+ platform,
1529
+ is_primary,
1530
+ created_at,
1531
+ last_seen_at
1532
+ FROM machines;
1533
+
1534
+ UPDATE machines
1535
+ SET hostname = (
1536
+ SELECT preflight.hostname
1537
+ FROM mementos_m41_machine_preflight preflight
1538
+ WHERE preflight.id = machines.id
1539
+ );
1540
+
1541
+ DROP TABLE mementos_m41_machine_preflight;
1542
+ DROP TRIGGER IF EXISTS machines_single_primary_insert;
1543
+ DROP TRIGGER IF EXISTS machines_single_primary_update;
1544
+ DROP INDEX IF EXISTS idx_machines_hostname;
1545
+ CREATE UNIQUE INDEX idx_machines_hostname ON machines(hostname);
1546
+ DROP INDEX IF EXISTS idx_machines_single_primary;
1547
+ CREATE UNIQUE INDEX idx_machines_single_primary
1548
+ ON machines(is_primary) WHERE is_primary = 1;
1549
+
1550
+ CREATE TRIGGER IF NOT EXISTS machines_hostname_canonical_insert
1551
+ BEFORE INSERT ON machines
1552
+ WHEN NEW.hostname != lower(rtrim(trim(NEW.hostname), '.'))
1553
+ OR length(NEW.hostname) NOT BETWEEN 1 AND 253
1554
+ OR instr(NEW.hostname, ' ') > 0
1555
+ OR instr(NEW.hostname, char(9)) > 0
1556
+ OR instr(NEW.hostname, char(10)) > 0
1557
+ OR instr(NEW.hostname, char(13)) > 0
1558
+ OR instr(NEW.hostname, '/') > 0
1559
+ OR instr(NEW.hostname, char(92)) > 0
1560
+ BEGIN
1561
+ SELECT RAISE(ABORT, 'machines.hostname must be canonical');
1562
+ END;
1563
+
1564
+ CREATE TRIGGER IF NOT EXISTS machines_hostname_canonical_update
1565
+ BEFORE UPDATE OF hostname ON machines
1566
+ WHEN NEW.hostname != lower(rtrim(trim(NEW.hostname), '.'))
1567
+ OR length(NEW.hostname) NOT BETWEEN 1 AND 253
1568
+ OR instr(NEW.hostname, ' ') > 0
1569
+ OR instr(NEW.hostname, char(9)) > 0
1570
+ OR instr(NEW.hostname, char(10)) > 0
1571
+ OR instr(NEW.hostname, char(13)) > 0
1572
+ OR instr(NEW.hostname, '/') > 0
1573
+ OR instr(NEW.hostname, char(92)) > 0
1574
+ BEGIN
1575
+ SELECT RAISE(ABORT, 'machines.hostname must be canonical');
1576
+ END;
1577
+
1578
+ CREATE TRIGGER IF NOT EXISTS machines_runtime_contract_insert
1579
+ BEFORE INSERT ON machines
1580
+ WHEN length(NEW.name) NOT BETWEEN 1 AND 128
1581
+ OR instr(NEW.name, char(0)) > 0
1582
+ OR instr(NEW.name, char(1)) > 0
1583
+ OR instr(NEW.name, char(2)) > 0
1584
+ OR instr(NEW.name, char(3)) > 0
1585
+ OR instr(NEW.name, char(4)) > 0
1586
+ OR instr(NEW.name, char(5)) > 0
1587
+ OR instr(NEW.name, char(6)) > 0
1588
+ OR instr(NEW.name, char(7)) > 0
1589
+ OR instr(NEW.name, char(8)) > 0
1590
+ OR instr(NEW.name, char(9)) > 0
1591
+ OR instr(NEW.name, char(10)) > 0
1592
+ OR instr(NEW.name, char(11)) > 0
1593
+ OR instr(NEW.name, char(12)) > 0
1594
+ OR instr(NEW.name, char(13)) > 0
1595
+ OR instr(NEW.name, char(14)) > 0
1596
+ OR instr(NEW.name, char(15)) > 0
1597
+ OR instr(NEW.name, char(16)) > 0
1598
+ OR instr(NEW.name, char(17)) > 0
1599
+ OR instr(NEW.name, char(18)) > 0
1600
+ OR instr(NEW.name, char(19)) > 0
1601
+ OR instr(NEW.name, char(20)) > 0
1602
+ OR instr(NEW.name, char(21)) > 0
1603
+ OR instr(NEW.name, char(22)) > 0
1604
+ OR instr(NEW.name, char(23)) > 0
1605
+ OR instr(NEW.name, char(24)) > 0
1606
+ OR instr(NEW.name, char(25)) > 0
1607
+ OR instr(NEW.name, char(26)) > 0
1608
+ OR instr(NEW.name, char(27)) > 0
1609
+ OR instr(NEW.name, char(28)) > 0
1610
+ OR instr(NEW.name, char(29)) > 0
1611
+ OR instr(NEW.name, char(30)) > 0
1612
+ OR instr(NEW.name, char(31)) > 0
1613
+ OR instr(NEW.name, char(127)) > 0
1614
+ OR length(NEW.platform) NOT BETWEEN 1 AND 64
1615
+ OR NEW.platform != lower(trim(NEW.platform))
1616
+ OR NEW.platform GLOB '*[^a-z0-9._-]*'
1617
+ OR NEW.is_primary NOT IN (0, 1)
1618
+ OR julianday(NEW.created_at) IS NULL
1619
+ OR julianday(NEW.last_seen_at) IS NULL
1620
+ OR julianday(NEW.last_seen_at) < julianday(NEW.created_at)
1621
+ BEGIN
1622
+ SELECT RAISE(ABORT, 'machines row violates the persisted runtime contract');
1623
+ END;
1624
+
1625
+ CREATE TRIGGER IF NOT EXISTS machines_runtime_contract_update
1626
+ BEFORE UPDATE OF name, platform, is_primary, created_at, last_seen_at ON machines
1627
+ WHEN length(NEW.name) NOT BETWEEN 1 AND 128
1628
+ OR instr(NEW.name, char(0)) > 0
1629
+ OR instr(NEW.name, char(1)) > 0
1630
+ OR instr(NEW.name, char(2)) > 0
1631
+ OR instr(NEW.name, char(3)) > 0
1632
+ OR instr(NEW.name, char(4)) > 0
1633
+ OR instr(NEW.name, char(5)) > 0
1634
+ OR instr(NEW.name, char(6)) > 0
1635
+ OR instr(NEW.name, char(7)) > 0
1636
+ OR instr(NEW.name, char(8)) > 0
1637
+ OR instr(NEW.name, char(9)) > 0
1638
+ OR instr(NEW.name, char(10)) > 0
1639
+ OR instr(NEW.name, char(11)) > 0
1640
+ OR instr(NEW.name, char(12)) > 0
1641
+ OR instr(NEW.name, char(13)) > 0
1642
+ OR instr(NEW.name, char(14)) > 0
1643
+ OR instr(NEW.name, char(15)) > 0
1644
+ OR instr(NEW.name, char(16)) > 0
1645
+ OR instr(NEW.name, char(17)) > 0
1646
+ OR instr(NEW.name, char(18)) > 0
1647
+ OR instr(NEW.name, char(19)) > 0
1648
+ OR instr(NEW.name, char(20)) > 0
1649
+ OR instr(NEW.name, char(21)) > 0
1650
+ OR instr(NEW.name, char(22)) > 0
1651
+ OR instr(NEW.name, char(23)) > 0
1652
+ OR instr(NEW.name, char(24)) > 0
1653
+ OR instr(NEW.name, char(25)) > 0
1654
+ OR instr(NEW.name, char(26)) > 0
1655
+ OR instr(NEW.name, char(27)) > 0
1656
+ OR instr(NEW.name, char(28)) > 0
1657
+ OR instr(NEW.name, char(29)) > 0
1658
+ OR instr(NEW.name, char(30)) > 0
1659
+ OR instr(NEW.name, char(31)) > 0
1660
+ OR instr(NEW.name, char(127)) > 0
1661
+ OR length(NEW.platform) NOT BETWEEN 1 AND 64
1662
+ OR NEW.platform != lower(trim(NEW.platform))
1663
+ OR NEW.platform GLOB '*[^a-z0-9._-]*'
1664
+ OR NEW.is_primary NOT IN (0, 1)
1665
+ OR julianday(NEW.created_at) IS NULL
1666
+ OR julianday(NEW.last_seen_at) IS NULL
1667
+ OR julianday(NEW.last_seen_at) < julianday(NEW.created_at)
1668
+ BEGIN
1669
+ SELECT RAISE(ABORT, 'machines row violates the persisted runtime contract');
1670
+ END;
1671
+
1672
+ INSERT OR IGNORE INTO _migrations (id) VALUES (41);
1424
1673
  `
1425
1674
  ];
1426
1675
 
@@ -7,14 +7,24 @@ export interface ServerDataBackendEnvKeys {
7
7
  databaseUrlKeys: string[];
8
8
  }
9
9
  export declare function serverDataBackendEnvKeys(name: string): ServerDataBackendEnvKeys;
10
- export declare function assertNoLegacyStorageMode(name: string, env?: Env): void;
11
10
  export interface ServerDataBackendResolution {
12
11
  backend: ServerDataBackend;
13
12
  source: string;
14
13
  databaseUrlPresent: boolean;
15
14
  databaseUrlSource: string | null;
16
15
  }
16
+ /**
17
+ * Resolve the server data backend: `postgresql` when a (canonical-first, see
18
+ * `serverDataBackendEnvKeys`) DSN is configured, `sqlite` otherwise.
19
+ *
20
+ * LOCAL DEVIATION (see the header): the stock 1.0.2 generator requires a
21
+ * validated DSN in every case; mementos's server contract pairs `sqlite` with
22
+ * the ABSENCE of a DSN, so that absence resolves to `sqlite` (source
23
+ * "default"). Validation of the DSN's shape is mementos's own storage-status
24
+ * layer (src/storage.ts), which reports a fail-closed issue list instead of
25
+ * throwing. Retired mode variables are inert and never select anything.
26
+ */
17
27
  export declare function resolveServerDataBackend(name: string, env?: Env): ServerDataBackendResolution;
18
- /** Resolve the database URL without logging it. Returns `null` when unset. */
28
+ /** Resolve the configured database URL without logging it. Returns `null` when unset. */
19
29
  export declare function resolveDatabaseUrl(name: string, env?: Env): string | null;
20
30
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/backend.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,oBAAoB,mCAAoC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAErD,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAK/E;AA+BD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,GAAiB,GAAG,IAAI,CASpF;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,GAAiB,GACrB,2BAA2B,CAiB7B;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,GAAiB,GAAG,MAAM,GAAG,IAAI,CAItF"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/backend.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,oBAAoB,mCAAoC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAErD,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAK/E;AAmBD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,GAAiB,GACrB,2BAA2B,CAgB7B;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,GAAiB,GAAG,MAAM,GAAG,IAAI,CAEtF"}
@@ -1,4 +1,4 @@
1
- export declare const KIT_VERSION = "0.10.6";
1
+ export declare const KIT_VERSION = "1.0.2";
2
2
  export * from "./backend.js";
3
3
  export * from "./tls.js";
4
4
  export * from "./query.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
@@ -27,11 +27,32 @@ export declare function checksumSql(sql: string): string;
27
27
  export declare function defineMigration(id: string, sql: string): Migration;
28
28
  export interface MigrationRunnerOptions {
29
29
  ledgerTable?: string;
30
+ /**
31
+ * Applied-ledger rows whose ids the build ACKNOWLEDGES as non-reproducible
32
+ * history: a migration that was applied to the ledger by an out-of-band
33
+ * operation or by a build whose id scheme no longer exists, so no current
34
+ * source can reproduce its id or its SQL.
35
+ *
36
+ * An acknowledged id:
37
+ * - passes the downgrade guard (it IS recognized — as history),
38
+ * - is never checksum-compared (its SQL is gone, so no checksum can be
39
+ * computed for it; storing an arbitrary placeholder in `checksum` is
40
+ * what the prod ledger already holds for such rows),
41
+ * - is never re-applied and never re-inserted (it is already in the
42
+ * ledger; the plan covers declared migrations only).
43
+ *
44
+ * The list is EXPLICIT and OPT-IN: an acknowledged id may not also be a
45
+ * declared migration (enforced at construction), and any OTHER applied row
46
+ * unknown to the build still fails the downgrade guard. Every declared
47
+ * migration keeps its checksum bind unchanged.
48
+ */
49
+ acknowledgedLegacyIds?: readonly string[];
30
50
  }
31
51
  export declare class MigrationLedger {
32
52
  private readonly client;
33
53
  private readonly migrations;
34
54
  private readonly ledgerTable;
55
+ private readonly acknowledgedLegacyIds;
35
56
  constructor(client: TypedQueryClient, migrations: readonly Migration[], options?: MigrationRunnerOptions);
36
57
  ensureLedger(): Promise<void>;
37
58
  listApplied(): Promise<AppliedMigration[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/migrations.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAElE;AAQD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGlB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,SAAS,SAAS,EAAE,EACjD,OAAO,GAAE,sBAA2B;IAahC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAKlC,WAAW;IAWzB,oEAAoE;IACpE,OAAO,CAAC,SAAS;IAsBjB,yEAAyE;IACnE,OAAO,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;CAmBzE;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAEjB"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/migrations.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuEnD,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAElE;AAQD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;gBAGzC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,SAAS,SAAS,EAAE,EACjD,OAAO,GAAE,sBAA2B;IA2BhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAKlC,WAAW;IAWzB,oEAAoE;IACpE,OAAO,CAAC,SAAS;IA0BjB,yEAAyE;IACnE,OAAO,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;CAqBzE;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAEjB"}
@@ -25,11 +25,8 @@ export interface ServerPoolFromEnv {
25
25
  connectionSource: string;
26
26
  }
27
27
  /**
28
- * Resolve backend + database URL from the environment and build the server's
29
- * PostgreSQL pool.
30
- *
31
- * Throws when no database URL selects the `postgresql` backend. Never logs the
32
- * URL.
28
+ * Resolve the required database URL and build the server's PostgreSQL pool.
29
+ * Missing or invalid configuration throws without logging the URL.
33
30
  */
34
31
  export declare function createServerPoolFromEnv(appName: string, options?: CreateServerPoolFromEnvOptions): ServerPoolFromEnv;
35
32
  //# sourceMappingURL=pool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/pool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAE3C,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAgDrE,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAmC/D;AAED,MAAM,WAAW,8BAA+B,SAAQ,iBAAiB;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,8BAAmC,GAC3C,iBAAiB,CAoBnB"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/pool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAE3C,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAgDrE,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAmC/D;AAED,MAAM,WAAW,8BAA+B,SAAQ,iBAAiB;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,8BAAmC,GAC3C,iBAAiB,CAwBnB"}
@@ -17,7 +17,7 @@ export interface PgExecutor {
17
17
  export interface TypedQueryClient {
18
18
  query<T extends QueryResultRow>(sql: string, params?: readonly unknown[]): Promise<QueryResult<T>>;
19
19
  many<T extends QueryResultRow>(sql: string, params?: readonly unknown[]): Promise<T[]>;
20
- /** First row or `null`. Restored here after open-knowledge dropped it. */
20
+ /** First row or `null`. Restored here after knowledge dropped it. */
21
21
  get<T extends QueryResultRow>(sql: string, params?: readonly unknown[]): Promise<T | null>;
22
22
  /** Exactly one row; throws if zero or more than one row is returned. */
23
23
  one<T extends QueryResultRow>(sql: string, params?: readonly unknown[]): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/query.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,IAAI,EAAc,cAAc,EAAE,MAAM,IAAI,CAAC;AAE3D,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,cAAc;IACnD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,CAAC,SAAS,cAAc,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,0EAA0E;IAC1E,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3F,wEAAwE;IACxE,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,CAyBnE;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CA2B7D"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/generated/storage-kit/query.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,IAAI,EAAc,cAAc,EAAE,MAAM,IAAI,CAAC;AAE3D,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,cAAc;IACnD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,CAAC,SAAS,cAAc,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,qEAAqE;IACrE,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3F,wEAAwE;IACxE,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,CAyBnE;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CA2B7D"}
package/dist/index.d.ts CHANGED
@@ -7,12 +7,14 @@ export * from "./memory-project-link/index.js";
7
7
  export { registerAgent, getAgent, listAgents, listAgentsByProject, updateAgent, touchAgent, } from "./db/agents.js";
8
8
  export { acquireLock, releaseLock, releaseResourceLocks, releaseAllAgentLocks, checkLock, agentHoldsLock, listAgentLocks, cleanExpiredLocks, } from "./db/locks.js";
9
9
  export type { ResourceLock, ResourceType, LockType } from "./db/locks.js";
10
+ export { getMemoryAuditTrail, getMemoryAuditTrailPage, exportAuditLog, exportAuditLogPage, getAuditStats, AUDIT_TRAIL_CONTRACT, AUDIT_EXPORT_CONTRACT, AUDIT_STATS_CONTRACT, AUDIT_OPERATIONS, } from "./db/audit.js";
11
+ export type { AuditEntry, AuditFilters, AuditOperation, AuditPage, AuditStats } from "./db/audit.js";
10
12
  export { acquireMemoryWriteLock, releaseMemoryWriteLock, checkMemoryWriteLock, withMemoryLock, MemoryLockConflictError, memoryLockId, } from "./lib/memory-lock.js";
11
13
  export { setFocus, getFocus, unfocus, resolveProjectId, buildFocusFilter, focusFilterSQL, } from "./lib/focus.js";
12
14
  export { registerProject, getProject, listProjects, previewProjectUpdate, applyProjectUpdate, rollbackProjectUpdate, getProjectUpdateReceipt, ProjectGuardedUpdateError, ProjectCollisionError, } from "./db/projects.js";
13
15
  export * from "./project-registration/index.js";
14
- export { registerMachine, listMachines, getMachine, renameMachine, deleteMachine, touchMachine, getCurrentMachineId, getPrimaryMachine, getPrimaryMachineCandidate, setPrimaryMachine, getFallbackSyncTargetMachine, getPrimaryMachineStartupWarning, } from "./db/machines.js";
15
- export type { Machine } from "./db/machines.js";
16
+ export { registerMachine, listMachines, getMachine, renameMachine, deleteMachine, touchMachine, getCurrentMachineId, getPrimaryMachine, getPrimaryMachineCandidate, setPrimaryMachine, getFallbackSyncTargetMachine, getPrimaryMachineStartupWarning, MACHINE_REGISTRATION_CONTRACT, MACHINE_LIST_CONTRACT, MACHINE_MUTATION_CONTRACT, MACHINE_TOUCH_CONTRACT, MachineRegistryError, } from "./db/machines.js";
17
+ export type { Machine, RegisterMachineInput, MachineRegistrationResult } from "./db/machines.js";
16
18
  export { searchMemories } from "./lib/search.js";
17
19
  export { createMementosProjectPanel, formatMementosProjectPanel, type MementosProjectPanelOptions, } from "./lib/project-panel.js";
18
20
  export { loadConfig, DEFAULT_CONFIG, getActiveProfile, setActiveProfile, listProfiles, deleteProfile, } from "./lib/config.js";
@@ -22,7 +24,6 @@ export { enforceQuotas, archiveStale, archiveUnused, deprioritizeStale, runClean
22
24
  export { syncMemories, defaultSyncAgents } from "./lib/sync.js";
23
25
  export { pushStorageChanges, pullStorageChanges, getStorageSyncStatus, type MementosStorageStatus, type MementosStorageSyncResult, type MemoryStorageSyncMeta, type MemoryStorageSyncStats, } from "./lib/storage-sync.js";
24
26
  export { SqliteAdapter, PgAdapter, PgAdapterAsync, MEMENTOS_STORAGE_ENV, MEMENTOS_STORAGE_FALLBACK_ENV, MEMENTOS_STORAGE_TABLES, STORAGE_TABLES, getStorageConfig, getStorageBackend, getStorageBackendDatabaseUrl, getStorageStatus, getMementosStorageStatus, saveStorageConfig, getStorageDatabaseEnv, getStorageDatabaseEnvName, getStorageDatabaseUrl, getStorageConnectionString, getStorageConnectionStringForOperator, listSqliteTables, type DbAdapter, type StorageConfig, type StorageEnv, type StorageEnvStatus, type NativeStorageStatus, type MementosStorageTable, type SyncMeta, type IncrementalSyncStats, } from "./storage.js";
25
- export { assertNoLegacyStorageMode, LEGACY_STORAGE_MODE_KEYS } from "./lib/retired-storage-mode.js";
26
27
  export { redactSecrets, containsSecrets } from "./lib/redact.js";
27
28
  export { createEntity, getEntity, getEntityByName, listEntities, updateEntity, deleteEntity, mergeEntities, parseEntityRow, } from "./db/entities.js";
28
29
  export { createRelation, getRelation, listRelations, deleteRelation, getRelatedEntities, getEntityGraph, findPath, parseRelationRow, } from "./db/relations.js";
@@ -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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"}