@hasna/mementos 0.15.2 → 0.17.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 (130) hide show
  1. package/README.md +83 -22
  2. package/dist/audit-contract.d.ts +87 -0
  3. package/dist/audit-contract.d.ts.map +1 -0
  4. package/dist/cli/commands/agent.d.ts.map +1 -1
  5. package/dist/cli/commands/consolidation.d.ts.map +1 -1
  6. package/dist/cli/commands/info-context.d.ts.map +1 -1
  7. package/dist/cli/commands/info-history.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-crud.d.ts.map +1 -1
  12. package/dist/cli/commands/memory-cmd-list.d.ts +25 -0
  13. package/dist/cli/commands/memory-cmd-list.d.ts.map +1 -1
  14. package/dist/cli/commands/memory-cmd-recall.d.ts.map +1 -1
  15. package/dist/cli/commands/memory-cmd-remove.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-view.d.ts.map +1 -1
  18. package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +1 -1
  19. package/dist/cli/commands/project.d.ts.map +1 -1
  20. package/dist/cli/commands/system-session.d.ts.map +1 -1
  21. package/dist/cli/commands/system-status.d.ts.map +1 -1
  22. package/dist/cli/commands/system-synthesized-profile.d.ts.map +1 -1
  23. package/dist/cli/helpers.d.ts +3 -1
  24. package/dist/cli/helpers.d.ts.map +1 -1
  25. package/dist/cli/index.js +2482 -823
  26. package/dist/cli/structured-json.d.ts +54 -0
  27. package/dist/cli/structured-json.d.ts.map +1 -0
  28. package/dist/db/api-mode.d.ts +10 -0
  29. package/dist/db/api-mode.d.ts.map +1 -1
  30. package/dist/db/api-response-contract.d.ts +23 -0
  31. package/dist/db/api-response-contract.d.ts.map +1 -0
  32. package/dist/db/audit.d.ts +34 -45
  33. package/dist/db/audit.d.ts.map +1 -1
  34. package/dist/db/database.d.ts +1 -0
  35. package/dist/db/database.d.ts.map +1 -1
  36. package/dist/db/locks.d.ts.map +1 -1
  37. package/dist/db/machines.d.ts +50 -13
  38. package/dist/db/machines.d.ts.map +1 -1
  39. package/dist/db/memories.d.ts.map +1 -1
  40. package/dist/db/migrations.d.ts.map +1 -1
  41. package/dist/db/pg-migrate.d.ts.map +1 -1
  42. package/dist/db/pg-migrations.d.ts.map +1 -1
  43. package/dist/db/session-jobs.d.ts +2 -0
  44. package/dist/db/session-jobs.d.ts.map +1 -1
  45. package/dist/diagnostics/historical-project-registration-receipt.js +215 -1
  46. package/dist/index.d.ts +4 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1523 -206
  49. package/dist/lib/built-in-hooks.d.ts.map +1 -1
  50. package/dist/lib/conversations-transport.d.ts +21 -0
  51. package/dist/lib/conversations-transport.d.ts.map +1 -0
  52. package/dist/lib/export-v1.d.ts +2 -0
  53. package/dist/lib/export-v1.d.ts.map +1 -1
  54. package/dist/lib/injection-project.d.ts +10 -0
  55. package/dist/lib/injection-project.d.ts.map +1 -0
  56. package/dist/lib/injector.d.ts +1 -0
  57. package/dist/lib/injector.d.ts.map +1 -1
  58. package/dist/lib/machine-visibility.d.ts.map +1 -1
  59. package/dist/lib/memory-lock.d.ts.map +1 -1
  60. package/dist/lib/profile-synthesizer.d.ts +13 -2
  61. package/dist/lib/profile-synthesizer.d.ts.map +1 -1
  62. package/dist/lib/session-queue.d.ts.map +1 -1
  63. package/dist/lib/session-registry.d.ts +38 -1
  64. package/dist/lib/session-registry.d.ts.map +1 -1
  65. package/dist/lib/storage-sync.d.ts +5 -0
  66. package/dist/lib/storage-sync.d.ts.map +1 -1
  67. package/dist/lib/synthesis/index.d.ts.map +1 -1
  68. package/dist/mcp/index.d.ts +1 -1
  69. package/dist/mcp/index.d.ts.map +1 -1
  70. package/dist/mcp/index.js +3857 -1600
  71. package/dist/mcp/memory-broadcast.d.ts +6 -8
  72. package/dist/mcp/memory-broadcast.d.ts.map +1 -1
  73. package/dist/mcp/profile.d.ts +23 -0
  74. package/dist/mcp/profile.d.ts.map +1 -0
  75. package/dist/mcp/tools/bounded-output.d.ts +27 -0
  76. package/dist/mcp/tools/bounded-output.d.ts.map +1 -0
  77. package/dist/mcp/tools/lock-tools.d.ts.map +1 -1
  78. package/dist/mcp/tools/memory-audit.d.ts +1 -1
  79. package/dist/mcp/tools/memory-audit.d.ts.map +1 -1
  80. package/dist/mcp/tools/memory-crud.d.ts.map +1 -1
  81. package/dist/mcp/tools/memory-inject.d.ts.map +1 -1
  82. package/dist/mcp/tools/memory-io.d.ts.map +1 -1
  83. package/dist/mcp/tools/project-tools.d.ts.map +1 -1
  84. package/dist/mcp/tools/session-tools.d.ts.map +1 -1
  85. package/dist/mcp/tools/tool-registry.d.ts +22 -19
  86. package/dist/mcp/tools/tool-registry.d.ts.map +1 -1
  87. package/dist/mcp/tools/utility-tools.d.ts +2 -1
  88. package/dist/mcp/tools/utility-tools.d.ts.map +1 -1
  89. package/dist/project-registration.js +276 -20
  90. package/dist/sdk/index.d.ts +110 -7
  91. package/dist/sdk/index.d.ts.map +1 -1
  92. package/dist/sdk/index.js +746 -28
  93. package/dist/server/index.d.ts +2 -0
  94. package/dist/server/index.d.ts.map +1 -1
  95. package/dist/server/index.js +3195 -1134
  96. package/dist/server/openapi.d.ts.map +1 -1
  97. package/dist/server/routes/audit.d.ts +2 -0
  98. package/dist/server/routes/audit.d.ts.map +1 -0
  99. package/dist/server/routes/machines.d.ts +2 -0
  100. package/dist/server/routes/machines.d.ts.map +1 -0
  101. package/dist/server/routes/system-sessions.d.ts.map +1 -1
  102. package/dist/server/routes/system-synthesis.d.ts.map +1 -1
  103. package/dist/types/index.d.ts +3 -0
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/hasna.contract.json +2 -2
  106. package/package.json +8 -5
  107. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts +0 -2
  108. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts.map +0 -1
  109. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts +0 -2
  110. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts.map +0 -1
  111. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts +0 -2
  112. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts.map +0 -1
  113. package/dist/db/__fixtures__/list-filter-capture-server.d.ts +0 -2
  114. package/dist/db/__fixtures__/list-filter-capture-server.d.ts.map +0 -1
  115. package/dist/db/__fixtures__/list-filter-client-runner.d.ts +0 -2
  116. package/dist/db/__fixtures__/list-filter-client-runner.d.ts.map +0 -1
  117. package/dist/test-support/memories-page-stub-server.d.ts +0 -2
  118. package/dist/test-support/memories-page-stub-server.d.ts.map +0 -1
  119. package/dist/test-support/memories-page-stub.d.ts +0 -28
  120. package/dist/test-support/memories-page-stub.d.ts.map +0 -1
  121. package/dist/test-support/pg-sync-stub-worker.d.ts +0 -2
  122. package/dist/test-support/pg-sync-stub-worker.d.ts.map +0 -1
  123. package/dist/test-support/preload-local-store.d.ts +0 -2
  124. package/dist/test-support/preload-local-store.d.ts.map +0 -1
  125. package/dist/test-support/project-authority-identity.d.ts +0 -8
  126. package/dist/test-support/project-authority-identity.d.ts.map +0 -1
  127. package/dist/test-support/store-isolation.d.ts +0 -147
  128. package/dist/test-support/store-isolation.d.ts.map +0 -1
  129. package/dist/test-support/strip-ansi.d.ts +0 -3
  130. package/dist/test-support/strip-ansi.d.ts.map +0 -1
@@ -0,0 +1,54 @@
1
+ import type { Agent, Memory, Project, MemorySearchResult } from "../types/index.js";
2
+ export declare const STRUCTURED_PAGE_MAX_ROWS = 1000;
3
+ export declare const STRUCTURED_ALL_MAX_ROWS = 100000;
4
+ export declare const STRUCTURED_DEFAULT_MAX_BYTES: number;
5
+ export declare const STRUCTURED_FULL_MAX_BYTES: number;
6
+ export declare const STRUCTURED_ALL_MAX_BYTES: number;
7
+ export declare const STRUCTURED_MIN_MAX_BYTES = 1024;
8
+ export type StructuredDetail = "compact" | "full";
9
+ export interface StructuredCollectionMeta {
10
+ receipt: string;
11
+ count: number;
12
+ limit: number | null;
13
+ offset: number;
14
+ next_cursor: number | null;
15
+ has_more: boolean;
16
+ complete: boolean;
17
+ all: boolean;
18
+ detail: StructuredDetail;
19
+ max_rows: number;
20
+ max_bytes: number;
21
+ response_bytes: number;
22
+ truncated: boolean;
23
+ truncation_reason: "limit" | "cursor" | "max_bytes" | null;
24
+ omitted_from_page: number;
25
+ next_arguments: Record<string, unknown> | null;
26
+ continuation_scope: "unchanged_snapshot";
27
+ }
28
+ export declare function structuredMaxBytes(value: unknown, opts: {
29
+ all: boolean;
30
+ detail: StructuredDetail;
31
+ }): number;
32
+ export declare function structuredPageLimit(value: unknown, fallback: number): number;
33
+ export declare function compactMemory(memory: Memory, opts?: {
34
+ history?: boolean;
35
+ }): Record<string, unknown>;
36
+ export declare function compactProject(project: Project): Record<string, unknown>;
37
+ export declare function compactAgent(agent: Agent): Record<string, unknown>;
38
+ export declare function compactSearchResult(result: MemorySearchResult): Record<string, unknown>;
39
+ interface CollectionArgs<T> {
40
+ collection: string;
41
+ receipt: string;
42
+ items: T[];
43
+ offset: number;
44
+ limit: number;
45
+ sourceHasMore: boolean;
46
+ all: boolean;
47
+ detail: StructuredDetail;
48
+ maxBytes: number;
49
+ nextArguments?: Record<string, unknown>;
50
+ includeDetailInNextArguments?: boolean;
51
+ }
52
+ export declare function structuredCollectionOutput<T>(args: CollectionArgs<T>): string;
53
+ export {};
54
+ //# sourceMappingURL=structured-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-json.d.ts","sourceRoot":"","sources":["../../src/cli/structured-json.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAC/C,eAAO,MAAM,4BAA4B,QAAY,CAAC;AACtD,eAAO,MAAM,yBAAyB,QAAY,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAmB,CAAC;AACzD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC/C,MAAM,CAkBR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBvG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASlE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAavF;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAsDD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CA6B7E"}
@@ -87,6 +87,16 @@ export declare function getApiConfig(env?: Env, options?: MementosClientResolveO
87
87
  * True when the client should route memory operations to the cloud API.
88
88
  * Fail-closed against a client-side DSN: if DATABASE_URL is present, API mode
89
89
  * refuses to engage so the two transports never mix.
90
+ *
91
+ * The SERVER PROCESS never routes through the client transport
92
+ * (`isApiMode()` is false there): mementos-serve selects its own backend via
93
+ * its storage configuration (HASNA_MEMENTOS_DATABASE_URL for PostgreSQL, or
94
+ * the on-box store), and the client API vars its operator shell may inherit
95
+ * (the fleet resolver's aliases are deliberately permissive) must not re-route
96
+ * server domain calls to the shared cloud — that would make a local serve read
97
+ * and write the fleet store. markServerContext() at server startup makes the
98
+ * distinction, and the same gate keeps the split-brain guard and every domain
99
+ * module's api arm inert inside the server process.
90
100
  */
91
101
  export declare function isApiMode(): boolean;
92
102
  /** WHERE the API transport came from, for operator reports. Never a value. */
@@ -1 +1 @@
1
- {"version":3,"file":"api-mode.d.ts","sourceRoot":"","sources":["../../src/db/api-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-mode.d.ts","sourceRoot":"","sources":["../../src/db/api-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Strict decoders for hosted 2xx responses.
3
+ *
4
+ * The synchronous HTTP transport only proves that the response was JSON. These
5
+ * helpers prove the small shape each caller relies on so a proxy/server drift
6
+ * can never be converted into an authoritative empty list, zero count, or
7
+ * successful mutation receipt.
8
+ */
9
+ export declare class MementosApiProtocolError extends Error {
10
+ readonly code = "MEMENTOS_API_PROTOCOL";
11
+ constructor(operation: string, detail: string);
12
+ }
13
+ export type JsonObject = Record<string, unknown>;
14
+ export declare function expectObject(value: unknown, operation: string): JsonObject;
15
+ export declare function expectArray(value: unknown, operation: string, field?: string): unknown[];
16
+ export declare function expectString(object: JsonObject, field: string, operation: string, options?: {
17
+ allowEmpty?: boolean;
18
+ }): string;
19
+ export declare function expectNullableString(object: JsonObject, field: string, operation: string): string | null;
20
+ export declare function expectBoolean(object: JsonObject, field: string, operation: string): boolean;
21
+ export declare function expectNonNegativeInteger(object: JsonObject, field: string, operation: string): number;
22
+ export declare function expectRecord(object: JsonObject, field: string, operation: string): JsonObject;
23
+ //# sourceMappingURL=api-response-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-response-contract.d.ts","sourceRoot":"","sources":["../../src/db/api-response-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,2BAA2B;gBAE5B,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI9C;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAK1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAQxF;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,MAAM,CASR;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAM3F;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CASR;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,UAAU,CASZ"}
@@ -1,53 +1,42 @@
1
1
  /**
2
- * Immutable audit log queries.
3
- * The audit_log table is append-only — never UPDATE or DELETE from it.
2
+ * Immutable audit-log queries.
3
+ *
4
+ * The audit table is append-only. Hosted clients use versioned, strictly
5
+ * validated /v1 receipts; local/server callers use the same page contract over
6
+ * SQLite or PostgreSQL. No client path may fall through to local storage.
4
7
  */
5
- import { SqliteAdapter as Database } from "../storage.js";
6
- export interface AuditEntry {
7
- id: string;
8
- memory_id: string;
9
- memory_key: string | null;
10
- operation: "create" | "update" | "delete" | "archive" | "restore" | "read";
11
- agent_id: string | null;
12
- /**
13
- * md5 hex digest of the value the row held BEFORE the operation, or `null`.
14
- *
15
- * `null` means the digest is UNAVAILABLE, never that the value was empty. It is
16
- * the honest answer on SQLite, which has no `md5()` and whose driver
17
- * (`bun:sqlite`) exposes no user-defined-function API, so a trigger cannot
18
- * compute one. Postgres computes `md5(COALESCE(...))` natively and populates it.
19
- *
20
- * So: compare `md5(candidate)` against a NON-NULL value to prove what a row
21
- * held. A `null` is a statement about the BACKEND and must never be read as
22
- * evidence about the content — treating it as a failed match is the confident
23
- * wrong answer migration 37 exists to prevent.
24
- */
25
- old_value_hash: string | null;
26
- /** md5 hex digest of the value AFTER the operation, or `null`. See `old_value_hash`. */
27
- new_value_hash: string | null;
28
- changes: Record<string, unknown>;
29
- created_at: string;
8
+ import { type DbAdapter } from "../storage.js";
9
+ import { type AuditEntry, type AuditFilters, type AuditOperation, type AuditPage, type AuditStats } from "../audit-contract.js";
10
+ export type { AuditEntry, AuditFilters, AuditOperation, AuditPage, AuditStats } from "../audit-contract.js";
11
+ export { AUDIT_EXPORT_CONTRACT, AUDIT_OPERATIONS, AUDIT_STATS_CONTRACT, AUDIT_TRAIL_CONTRACT } from "../audit-contract.js";
12
+ export interface AuditPageOptions {
13
+ limit?: number;
14
+ cursor?: string;
30
15
  }
31
- /**
32
- * Get audit trail for a specific memory.
33
- */
34
- export declare function getMemoryAuditTrail(memoryId: string, limit?: number, db?: Database): AuditEntry[];
35
- /**
36
- * Export full audit log for compliance reporting.
37
- */
38
- export declare function exportAuditLog(options?: {
16
+ export interface AuditExportOptions extends AuditPageOptions {
39
17
  since?: string;
40
18
  until?: string;
41
- operation?: string;
19
+ operation?: AuditOperation | string;
42
20
  agent_id?: string;
43
- limit?: number;
44
- }, db?: Database): AuditEntry[];
45
- /**
46
- * Get audit stats — operation counts, most active agents, etc.
47
- */
48
- export declare function getAuditStats(db?: Database): {
49
- total_entries: number;
50
- by_operation: Record<string, number>;
51
- recent_24h: number;
21
+ }
22
+ type AuditDatabase = DbAdapter & {
23
+ query(sql: string): {
24
+ get(...params: unknown[]): unknown;
25
+ all(...params: unknown[]): unknown[];
26
+ };
52
27
  };
28
+ export declare function normalizeAuditFilters(input: {
29
+ memory_id?: string;
30
+ since?: string;
31
+ until?: string;
32
+ operation?: string;
33
+ agent_id?: string;
34
+ }): AuditFilters;
35
+ export declare function getMemoryAuditTrailPage(memoryId: string, options?: AuditPageOptions, db?: AuditDatabase): AuditPage;
36
+ export declare function exportAuditLogPage(options?: AuditExportOptions, db?: AuditDatabase): AuditPage;
37
+ /** Backward-compatible first-page helper. Prefer getMemoryAuditTrailPage. */
38
+ export declare function getMemoryAuditTrail(memoryId: string, limit?: number, db?: AuditDatabase): AuditEntry[];
39
+ /** Backward-compatible first-page helper. Prefer exportAuditLogPage. */
40
+ export declare function exportAuditLog(options?: AuditExportOptions, db?: AuditDatabase): AuditEntry[];
41
+ export declare function getAuditStats(db?: AuditDatabase): AuditStats;
53
42
  //# sourceMappingURL=audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/db/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG1D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wFAAwF;IACxF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAgBD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAW,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,EAAE,CAMd;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,EAAE,CA6Bd;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB,CAkBA"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/db/audit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1D,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE3H,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,aAAa,GAAG,SAAS,GAAG;IAAE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAgCtI,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,YAAY,CAYf;AA+RD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,gBAAqB,EAC9B,EAAE,CAAC,EAAE,aAAa,GACjB,SAAS,CAaX;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,kBAAuB,EAChC,EAAE,CAAC,EAAE,aAAa,GACjB,SAAS,CAeX;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAA4B,EAAE,EAAE,CAAC,EAAE,aAAa,GAAG,UAAU,EAAE,CAE3H;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,EAAE,EAAE,CAAC,EAAE,aAAa,GAAG,UAAU,EAAE,CAEjG;AAiCD,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,aAAa,GAAG,UAAU,CAQ5D"}
@@ -1,6 +1,7 @@
1
1
  import { SqliteAdapter as Database } from "../storage.js";
2
2
  export declare function getDbPath(): string;
3
3
  export declare function getDatabase(dbPath?: string): Database;
4
+ export declare function applyMachineIdentityMigration(db: Database): void;
4
5
  export declare function closeDatabase(): void;
5
6
  export declare function resetDatabase(): void;
6
7
  export declare function now(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,QAAQ,EAK1B,MAAM,eAAe,CAAC;AAiEvB,wBAAgB,SAAS,IAAI,MAAM,CA6BlC;AAqDD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CA+GrD;AAgDD,wBAAgB,aAAa,IAAI,IAAI,CASpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AASD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAuBf"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,QAAQ,EAK1B,MAAM,eAAe,CAAC;AAiEvB,wBAAgB,SAAS,IAAI,MAAM,CA6BlC;AAqDD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAmHrD;AAsCD,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA8ChE;AAgBD,wBAAgB,aAAa,IAAI,IAAI,CASpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AASD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAuBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../src/db/locks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI1D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAC5F,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,QAAsB,EAChC,UAAU,SAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,GAAG,IAAI,CAuErB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAgBnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAW3E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,EAAE,CAqBhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,GAAG,IAAI,CAcrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAa7E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,eAAe,EAAE,CAS1E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAQvD"}
1
+ {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../src/db/locks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAY1D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAC5F,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAwCD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,QAAsB,EAChC,UAAU,SAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,GAAG,IAAI,CAuErB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAkBnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAS3E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,EAAE,CAqBhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,GAAG,IAAI,CAsBrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAc7E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,eAAe,EAAE,CAU1E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CASvD"}
@@ -1,3 +1,9 @@
1
+ import { getDatabase } from "./database.js";
2
+ export declare const MACHINE_REGISTRATION_CONTRACT: "mementos.machine-registration.v1";
3
+ export declare const MACHINE_LIST_CONTRACT: "mementos.machines.v1";
4
+ export declare const MACHINE_MUTATION_CONTRACT: "mementos.machine-mutation.v1";
5
+ export declare const MACHINE_TOUCH_CONTRACT: "mementos.machine-touch.v1";
6
+ type MachineDatabase = ReturnType<typeof getDatabase>;
1
7
  export interface Machine {
2
8
  id: string;
3
9
  name: string;
@@ -7,17 +13,48 @@ export interface Machine {
7
13
  created_at: string;
8
14
  last_seen_at: string;
9
15
  }
10
- export declare function registerMachine(name?: string, db?: import("../storage.js").SqliteAdapter): Machine;
11
- export declare function listMachines(db?: import("../storage.js").SqliteAdapter): Machine[];
12
- export declare function getMachine(id: string, db?: import("../storage.js").SqliteAdapter): Machine | null;
13
- export declare function renameMachine(id: string, newName: string, db?: import("../storage.js").SqliteAdapter): Machine;
14
- export declare function getPrimaryMachine(db?: import("../storage.js").SqliteAdapter): Machine | null;
15
- export declare function getPrimaryMachineCandidate(db?: import("../storage.js").SqliteAdapter): Machine | null;
16
- export declare function setPrimaryMachine(id: string, db?: import("../storage.js").SqliteAdapter): Machine;
17
- export declare function deleteMachine(id: string, db?: import("../storage.js").SqliteAdapter): void;
18
- export declare function getFallbackSyncTargetMachine(db?: import("../storage.js").SqliteAdapter): Machine | null;
19
- export declare function getPrimaryMachineStartupWarning(db?: import("../storage.js").SqliteAdapter): string | null;
20
- export declare function touchMachine(id: string, db?: import("../storage.js").SqliteAdapter): void;
21
- /** Get or auto-register the current machine and return its ID. */
22
- export declare function getCurrentMachineId(db?: import("../storage.js").SqliteAdapter): string;
16
+ export interface RegisterMachineInput {
17
+ name?: string;
18
+ hostname: string;
19
+ platform: string;
20
+ }
21
+ export interface MachineRegistrationResult {
22
+ machine: Machine;
23
+ created: boolean;
24
+ }
25
+ export declare class MachineRegistryError extends Error {
26
+ readonly code: "MACHINE_INVALID_INPUT" | "MACHINE_NOT_FOUND" | "MACHINE_NAME_CONFLICT" | "MACHINE_PRIMARY_DELETE_REFUSED" | "MACHINE_REGISTRATION_CONFLICT";
27
+ constructor(code: "MACHINE_INVALID_INPUT" | "MACHINE_NOT_FOUND" | "MACHINE_NAME_CONFLICT" | "MACHINE_PRIMARY_DELETE_REFUSED" | "MACHINE_REGISTRATION_CONFLICT", message: string);
28
+ }
29
+ /**
30
+ * Hostname is the account-local registration idempotency key, not an
31
+ * authorization boundary. The server-assigned machine `id` is the stable
32
+ * identity used by mutations and memory attribution. Renaming changes only the
33
+ * human display name; re-registering the same normalized hostname never takes
34
+ * over or renames an existing row.
35
+ */
36
+ export declare function normalizeMachineHostname(host: string): string;
37
+ export declare function getMachineById(id: string, db: MachineDatabase): Machine | null;
38
+ /**
39
+ * Atomically register a machine using the database-enforced unique hostname
40
+ * invariant. The insert happens before any lookup; concurrent callers either
41
+ * create one row or observe/update that same row after `ON CONFLICT` resolves.
42
+ */
43
+ export declare function registerMachineRecord(input: RegisterMachineInput, db?: MachineDatabase): MachineRegistrationResult;
44
+ export declare function registerMachine(name?: string, db?: MachineDatabase): Machine;
45
+ export declare function listMachines(db?: MachineDatabase): Machine[];
46
+ /** Read by stable id or display name for backward-compatible discovery only. */
47
+ export declare function getMachine(idOrName: string, db?: MachineDatabase): Machine | null;
48
+ export declare function renameMachine(id: string, newName: string, db?: MachineDatabase): Machine;
49
+ export declare function getPrimaryMachine(db?: MachineDatabase): Machine | null;
50
+ export declare function getPrimaryMachineCandidate(db?: MachineDatabase): Machine | null;
51
+ export declare function setPrimaryMachine(id: string, db?: MachineDatabase): Machine;
52
+ export declare function deleteMachine(id: string, db?: MachineDatabase): void;
53
+ export declare function getFallbackSyncTargetMachine(db?: MachineDatabase): Machine | null;
54
+ export declare function getPrimaryMachineStartupWarning(db?: MachineDatabase): string | null;
55
+ export declare function touchMachine(id: string, db?: MachineDatabase): Machine;
56
+ export declare function resetCurrentMachineIdCache(): void;
57
+ /** Get or auto-register the current machine and return its stable server id. */
58
+ export declare function getCurrentMachineId(db?: MachineDatabase): string;
59
+ export {};
23
60
  //# sourceMappingURL=machines.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/db/machines.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAmBD,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,OAAO,CAgC1E;AAED,wBAAgB,YAAY,CAAC,EAAE,wCAAgB,GAAG,OAAO,EAAE,CAK1D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,OAAO,GAAG,IAAI,CAIzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,OAAO,CAWtF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,wCAAgB,GAAG,OAAO,GAAG,IAAI,CAIpE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,wCAAgB,GAAG,OAAO,GAAG,IAAI,CAK7E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,OAAO,CAezE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,IAAI,CAOlE;AAED,wBAAgB,4BAA4B,CAAC,EAAE,wCAAgB,GAAG,OAAO,GAAG,IAAI,CAE/E;AAED,wBAAgB,+BAA+B,CAAC,EAAE,wCAAgB,GAAG,MAAM,GAAG,IAAI,CASjF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,wCAAgB,GAAG,IAAI,CAEjE;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,EAAE,wCAAgB,GAAG,MAAM,CAQ9D"}
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/db/machines.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/db/memories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AA2D3B,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAqCnE;AA6BD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAW1F;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,UAAU,GAAE,UAAoB,EAChC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAgRR;AAMD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,EAAE,CAAC,EAAE,QAAQ,GACZ,gBAAgB,CAuKlB;AAiED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAkBlE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,EACb,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAuCf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CA8BV;AAsID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CA8DrF;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE3E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,YAAK,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,CA6CnB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAS1E;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,EAAE,CAAC,EAAE,QAAQ,GACZ,oBAAoB,CAoDtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EACvF,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAsBV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EAC9C,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,CAgCnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EAC9C,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAEV;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAQxD;AAED,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAwBV;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAkBvF;AAMD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iBAAiB,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAuMR;AAMD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAoB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CA6BvE;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAQ3D;AAUD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAuBpE;AAMD,wBAAgB,oBAAoB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAqB1D;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,EAAE,CA4BlF;AAMD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA4DjC"}
1
+ {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/db/memories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AA2D3B,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAqCnE;AA6BD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAW1F;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,UAAU,GAAE,UAAoB,EAChC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAgRR;AAMD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,EAAE,CAAC,EAAE,QAAQ,GACZ,gBAAgB,CAuKlB;AAiED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAkBlE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,EACb,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAuCf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CA8BV;AAwID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAiErF;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE3E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,YAAK,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,CA6CnB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAS1E;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,EAAE,CAAC,EAAE,QAAQ,GACZ,oBAAoB,CAoDtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EACvF,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAsBV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EAC9C,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,CAkCnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,EAC9C,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAEV;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAQxD;AAED,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAwBV;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAkBvF;AAMD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iBAAiB,EACxB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAuMR;AAMD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAoB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CA6BvE;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAQ3D;AAUD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAuBpE;AAMD,wBAAgB,oBAAoB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAqB1D;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,EAAE,CA4BlF;AAMD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA4DjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,+BAA+B,wqBAiB3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,EA0iC9B,CAAC"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,+BAA+B,wqBAiB3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,EAswC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-migrate.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrate.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,IAAI,CAAC;IAC9B,8BAA8B,EAAE,IAAI,CAAC;IACrC,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CACvC,gBAAgB,CAAC,EAAE,MAAM,GACxB,sBAAsB,CAsCxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,iBAAiB,CAAC,CA8D5B"}
1
+ {"version":3,"file":"pg-migrate.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrate.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,IAAI,CAAC;IAC9B,8BAA8B,EAAE,IAAI,CAAC;IACrC,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CACvC,gBAAgB,CAAC,EAAE,MAAM,GACxB,sBAAsB,CAsCxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAiE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa,EAAE,MAAM,EA+1BjC,CAAC"}
1
+ {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa,EAAE,MAAM,EA66BjC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { SqliteAdapter as Database } from "../storage.js";
2
2
  export type SessionJobSource = "claude-code" | "codex" | "manual" | "open-sessions";
3
3
  export type SessionJobStatus = "pending" | "processing" | "completed" | "failed";
4
+ export declare const SESSION_JOBS_PAGE_CONTRACT: "mementos.sessions.jobs.v2";
5
+ export declare const SESSION_INGEST_CONTRACT: "mementos.sessions.ingest.v2";
4
6
  export interface SessionMemoryJob {
5
7
  id: string;
6
8
  session_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"session-jobs.d.ts","sourceRoot":"","sources":["../../src/db/session-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-jobs.d.ts","sourceRoot":"","sources":["../../src/db/session-jobs.ts"],"names":[],"mappings":"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"}
@@ -265,7 +265,7 @@ var SECRET_QUERY_PARAMS = new Set([
265
265
  "apikey"
266
266
  ]);
267
267
 
268
- // ../contracts/dist/client/transport.js
268
+ // ../../node_modules/.bun/@hasna+contracts@1.0.2+e8014c875821e0be/node_modules/@hasna/contracts/dist/client/transport.js
269
269
  import { createRequire } from "module";
270
270
  function envToken(name) {
271
271
  return name.toUpperCase().replace(/-/g, "_");
@@ -1456,6 +1456,220 @@ INSERT OR IGNORE INTO _migrations (id) VALUES (38);
1456
1456
  `
1457
1457
  ${sqliteMementosMemoryProjectLinkSchemaSql()}
1458
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);
1459
1673
  `
1460
1674
  ];
1461
1675