@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
package/README.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # @hasna/mementos
2
2
 
3
3
  Persistent memory for AI agents, available as a CLI, MCP server, REST service,
4
- and TypeScript library. Mementos stores memories in local SQLite by default and
5
- can route clients to a self-hosted PostgreSQL-backed service over an authenticated
6
- HTTP API.
4
+ and TypeScript library. Hosted clients use the authenticated Mementos HTTP API;
5
+ local SQLite is available only through an explicit local-mode opt-in.
7
6
 
8
7
  [![npm](https://img.shields.io/npm/v/@hasna/mementos)](https://www.npmjs.com/package/@hasna/mementos)
9
8
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
@@ -24,14 +23,15 @@ The package installs three binaries:
24
23
  | --- | --- |
25
24
  | `mementos` | Memory, agent, project, graph, session, and maintenance CLI |
26
25
  | `mementos-mcp` | MCP server; Streamable HTTP by default, stdio on request |
27
- | `mementos-serve` | REST API and dashboard server |
26
+ | `mementos-serve` | REST API server |
28
27
 
29
28
  ## Quick start
30
29
 
31
- Local mode needs no service or database configuration. The first command creates
30
+ Local mode must be selected explicitly. The first command after the opt-in creates
32
31
  and migrates `~/.hasna/mementos/mementos.db`.
33
32
 
34
33
  ```bash
34
+ export HASNA_MEMENTOS_LOCAL=1
35
35
  mementos save project-stack "Bun, TypeScript, SQLite" \
36
36
  --scope shared --category fact
37
37
  mementos recall project-stack
@@ -51,6 +51,28 @@ Memory scopes are `global`, `shared`, `private`, and `working`. `working` is
51
51
  transient session scratch space and defaults to a one-hour lifetime. Categories
52
52
  are `preference`, `fact`, `knowledge`, `history`, `procedural`, and `resource`.
53
53
 
54
+ For CLI `context` and `inject`, an explicit `--project` must resolve to a registered
55
+ project and restricts every included scope to that exact project. SDK
56
+ `getContext({ project_id })` uses the same exact-project rule. Unknown explicit
57
+ projects fail before memories are selected or touched; omitting the project keeps
58
+ the existing scope selection.
59
+
60
+ The library and MCP injection strategies retain unassigned agent-private context
61
+ alongside the selected project's private memories. They exclude private memories
62
+ assigned to another project. Their existing global/shared policies remain:
63
+ library strategies include global memories across projects and project-scoped
64
+ shared memories; direct MCP injection also scopes global memories to the project,
65
+ while its full smart pipeline uses the library policy.
66
+
67
+ Injection project references may be a stable project ID, registered name, or
68
+ registered path. Library, MCP, and HTTP/SDK injection resolve that reference once
69
+ and use the stable project ID for every downstream profile, search, filter, hook,
70
+ and touch path.
71
+
72
+ The list API and SDK expose `include_unassigned_project: true` with `project_id`
73
+ for this union. The filter applies before pagination and also governs `total`;
74
+ without a project it has no effect. Omitting it keeps an exact project match.
75
+
54
76
  ## CLI
55
77
 
56
78
  ```bash
@@ -60,13 +82,28 @@ mementos <command> --help
60
82
 
61
83
  Human-readable list and search commands are compact and paginated by default.
62
84
  Use `--limit` with `--cursor` or `--offset`, `--verbose` for wider snippets, and
63
- `mementos show <id>` for a full record. Use global `--json` or a supported
64
- `--format json|csv|yaml` option for structured output.
85
+ `mementos show <id>` for a full record.
86
+
87
+ Historical `--json` and `--format json` collection reads remain compatible:
88
+ they emit full bare arrays and, without `--limit`, traverse the complete result.
89
+ Use explicit `--agent-json` when a token-bounded page receipt is wanted. Agent
90
+ JSON defaults to 20 compact list rows or 10 compact history rows, includes
91
+ `_meta.next_cursor`, and has a 32 KiB byte budget. `--full`, `--all`, and
92
+ `--max-bytes` are receipt-mode controls and require `--agent-json`; exhaustive
93
+ mode fails closed above 5,000 rows or 1 MiB.
94
+
95
+ Agent JSON uses offset pagination. Stable ID tie-breakers prevent overlap for
96
+ equal timestamps and importance while the result set is unchanged; writes
97
+ between page requests can shift offsets, so restart traversal when a stable
98
+ snapshot is required.
65
99
 
66
100
  ```bash
67
- mementos list --limit 20 --cursor 20
101
+ mementos list --json # compatible full bare array
102
+ mementos list --agent-json # bounded receipt page
103
+ mementos list --agent-json --cursor 20
104
+ mementos list --agent-json --full --limit 5
105
+ mementos history --agent-json --all
68
106
  mementos search "deploy" --verbose
69
- mementos --json list
70
107
  mementos storage mode --json
71
108
  ```
72
109
 
@@ -95,11 +132,19 @@ mementos-mcp --stdio
95
132
  Cursor, Codex, Claude, and other command-based MCP host entries should use
96
133
  `command = "mementos-mcp"` with `args = ["--stdio"]`.
97
134
 
98
- The server exposes its live tools plus `mementos://memories`,
99
- `mementos://agents`, and `mementos://projects`. MCP `tools/list` is the complete
100
- schema source; the convenience `search_tools` and `describe_tools` calls cover
101
- the smaller registered utility discovery catalog. See the [MCP
102
- reference](docs/MCP.md) for installation examples and the full tool inventory.
135
+ The default `core` MCP profile exposes a bounded 23-tool agent surface. Select
136
+ additional comma-separated profiles with `--mcp-profile`,
137
+ `HASNA_MEMENTOS_MCP_PROFILE`, or the compatibility alias
138
+ `MEMENTOS_MCP_PROFILE`: `search`, `graph`, `automation`, `admin`, `storage`,
139
+ `hooks`, and `full`. The explicit `full` profile preserves all 124 tools and the
140
+ legacy unpaged `mementos://memories`, `mementos://agents`, and
141
+ `mementos://projects` resources; reduced profiles omit those resources and use
142
+ bounded list/get tools instead.
143
+
144
+ MCP `tools/list` remains the authoritative schema source. `search_tools` returns
145
+ a bounded names-only page for active-profile tools, and `describe_tools`
146
+ requires one to ten explicit names. See the [MCP reference](docs/MCP.md) for
147
+ profile membership and compatibility details.
103
148
 
104
149
  ## REST API
105
150
 
@@ -123,17 +168,26 @@ API routes use bearer/API-key authentication when configured. See the
123
168
 
124
169
  ## Storage
125
170
 
126
- ### Local clients
171
+ ### Client storage selection
127
172
 
128
- SQLite is authoritative by default. Database selection order is:
173
+ The hosted Mementos API is the ordinary client default. The CLI, MCP server,
174
+ and SDK resolve the hosted credential and authority chain described below; if
175
+ no hosted credential resolves, client data commands fail closed rather than
176
+ opening or creating SQLite automatically.
129
177
 
130
- 1. `HASNA_MEMENTOS_DB_PATH` or `MEMENTOS_DB_PATH`.
131
- 2. The nearest existing `.mementos/mementos.db` walking up from the current directory.
132
- 3. Git-root `.mementos/mementos.db` when `MEMENTOS_DB_SCOPE=project`.
133
- 4. `~/.hasna/mementos/mementos.db`.
178
+ SQLite is available only through an explicit local opt-in:
134
179
 
135
- Legacy `~/.mementos` data is copied to `~/.hasna/mementos` when the new directory
136
- does not yet exist.
180
+ ```bash
181
+ # Use the standard local data root (~/.hasna/mementos/mementos.db).
182
+ export HASNA_MEMENTOS_LOCAL=1
183
+
184
+ # Or select one exact SQLite file explicitly.
185
+ export HASNA_MEMENTOS_DB_PATH=/absolute/path/to/mementos.db
186
+ ```
187
+
188
+ `MEMENTOS_LOCAL=1` and `MEMENTOS_DB_PATH` are compatibility aliases. Legacy
189
+ `~/.mementos` data is considered for migration only after local mode has been
190
+ selected explicitly; it is never an automatic client fallback.
137
191
 
138
192
  ### Server backend and HTTP clients
139
193
 
@@ -152,11 +206,47 @@ HASNA_MEMENTOS_API_URL=https://mementos.example.com
152
206
  HASNA_MEMENTOS_API_KEY=...
153
207
  ```
154
208
 
155
- Both API variables must be present to select the HTTP client transport, and
156
- exactly one of them set is an error naming the missing variable.
209
+ ### Hosted clients one credential chain
210
+
211
+ The CLI, the MCP server and the `./sdk` client resolve their credential and
212
+ service authority through the ONE resolver in `@hasna/contracts`
213
+ (`@hasna/contracts/client`), fresh on every call so a key rotation heals a
214
+ long-lived shell or MCP server without a restart:
215
+
216
+ | Tier | Source |
217
+ | --- | --- |
218
+ | 1 | explicit arguments (`--api-key` / `--profile`, or `baseUrl` / `apiKey` in the SDK) |
219
+ | 2 | deliberate env pointer: `HASNA_MEMENTOS_API_KEY_OVERRIDE`, `HASNA_PROFILE`, `HASNA_MEMENTOS_API_KEY_REF` (a secrets-vault item key, never a value) |
220
+ | 3 | macOS Keychain: generic password `hasna.credentials.mementos.api-key`, account `HASNA_STATION` → `hostname -s` → `USER` |
221
+ | 4 | disk: `~/.hasna/mementos/config/credentials`, owner-only `0400`/`0600` (`HASNA_HOME` / `HASNA_CONFIG_HOME` move the root) |
222
+ | 5 | environment: `HASNA_MEMENTOS_API_KEY` |
223
+
224
+ The authority follows `HASNA_MEMENTOS_API_URL`, the Keychain `api-url` item,
225
+ the credentials file, and finally the fleet gateway
226
+ `https://api.hasna.com/mementos` — a credential ALONE is a complete
227
+ configuration. The legacy unprefixed `MEMENTOS_API_URL` / `MEMENTOS_API_KEY`
228
+ spellings survive only as the resolver's silent alias fallback for one
229
+ release. Writing a key to the disk tier:
230
+
231
+ ```bash
232
+ mkdir -p ~/.hasna/mementos/config
233
+ printf 'HASNA_MEMENTOS_API_KEY=%s\n' "$KEY" > ~/.hasna/mementos/config/credentials
234
+ chmod 600 ~/.hasna/mementos/config/credentials
235
+ ```
236
+
237
+ FAIL LOUD (owner ruling 2026-09-04): a hosted run with no credential anywhere
238
+ exits non-zero naming every tier it consulted; there is no SQLite fallback and
239
+ no local-fallback event. The on-box SQLite store is reachable ONLY through the
240
+ deliberate opt-ins `HASNA_MEMENTOS_DB_PATH` / `MEMENTOS_DB_PATH` (an explicit
241
+ file) or `HASNA_MEMENTOS_LOCAL=1` (alias `MEMENTOS_LOCAL=1`, honoured only when
242
+ nothing configures an authority) — and every local run prints one line saying
243
+ it is local on stderr. Retired locations (`~/.hasna/fleet-env/`,
244
+ `~/.hasna/cloud/`, `~/.config/hasna/`, `$XDG_CONFIG_HOME`) and retired
245
+ `*_MODE` / `*_STORAGE_MODE` variables are inputs nowhere.
246
+
157
247
  `mementos storage mode` reports the chosen transport without opening a
158
- database or making a network request. Any retired storage-mode variable
159
- (`HASNA_MEMENTOS_STORAGE_MODE` or an alias) is an error: delete it.
248
+ database or making a network request; `mementos status` prints the resolved
249
+ `API:` line (hasna/apps#1588).
160
250
 
161
251
  The old `storage push`, `pull`, and `sync` commands remain for compatibility;
162
252
  they are not the cutover architecture. See [Configuration and
@@ -165,10 +255,9 @@ storage](docs/CONFIGURATION.md) and the [cloud cutover runbook](docs/CUTOVER-RUN
165
255
  ## TypeScript APIs
166
256
 
167
257
  The main package exports the synchronous database/domain API from
168
- `@hasna/mementos` and an authenticated fetch client from `@hasna/mementos/sdk`.
169
- The repository also contains the separately published zero-dependency
170
- `@hasna/mementos-sdk` client. See [Library and SDK APIs](docs/LIBRARY.md) and
171
- the [standalone SDK README](sdk/README.md).
258
+ `@hasna/mementos` and an authenticated fetch client from `@hasna/mementos/sdk`
259
+ one package carries every surface (CLI, MCP server, REST server, SDK); there
260
+ is no separate `-sdk` or `-mcp` package. See [Library and SDK APIs](docs/LIBRARY.md).
172
261
 
173
262
  ## Shared event webhooks
174
263
 
package/bun.lock CHANGED
@@ -8,9 +8,8 @@
8
8
  "@ai-sdk/anthropic": "^3.0.82",
9
9
  "@ai-sdk/openai": "^3.0.69",
10
10
  "@ai-sdk/openai-compatible": "^2.0.48",
11
- "@hasna/contracts": "0.10.6",
11
+ "@hasna/contracts": "1.0.2",
12
12
  "@hasna/events": "0.1.6",
13
- "@hasna/paths": "0.1.0",
14
13
  "@modelcontextprotocol/sdk": "^1.12.1",
15
14
  "ai": "^6.0.199",
16
15
  "chalk": "^5.4.1",
@@ -23,7 +22,7 @@
23
22
  "zod": "^3.24.2",
24
23
  },
25
24
  "devDependencies": {
26
- "@types/bun": "^1.2.4",
25
+ "@types/bun": "1.3.14",
27
26
  "@types/pg": "^8.11.11",
28
27
  "@types/react": "^18.3.18",
29
28
  "bun-types": "1.3.14",
@@ -47,52 +46,12 @@
47
46
 
48
47
  "@alcalzone/ansi-tokenize": ["@alcalzone/ansi-tokenize@0.1.3", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw=="],
49
48
 
50
- "@aws-sdk/client-secrets-manager": ["@aws-sdk/client-secrets-manager@3.1110.0", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/credential-provider-node": "^3.972.79", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/fetch-http-handler": "^5.6.13", "@smithy/node-http-handler": "^4.9.13", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-MqiRAhiFa9Ywqb7RP1Mtd34iOGpSIbvnCyzsG3qDyvP+txrrtAaSW3P/R7Plm6a+n3oE0GYIYpKh1OrSyAnbEw=="],
51
-
52
- "@aws-sdk/core": ["@aws-sdk/core@3.977.7", "", { "dependencies": { "@aws-sdk/types": "^3.974.3", "@aws-sdk/xml-builder": "^3.972.38", "@aws/lambda-invoke-store": "^0.3.0", "@smithy/core": "^3.31.1", "@smithy/signature-v4": "^5.6.12", "@smithy/types": "^4.16.1", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-I88Iov89NVmjSmJLKSv7Cn9M2J+a2942OkA8nZCbz+sl4ZeY4zEOcoLOrbt1GRfQ8zEQKnjAJdXixA3J/p1fDQ=="],
53
-
54
- "@aws-sdk/credential-provider-cognito-identity": ["@aws-sdk/credential-provider-cognito-identity@3.972.67", "", { "dependencies": { "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-0NKxn0U3I9qAxou30RlaezVnrhOzCYOkBqBethp8PmHJ7f1dep6AVMQVTrGUchB8bRjubi3MiVVql9+lyDOzBQ=="],
55
-
56
- "@aws-sdk/credential-provider-env": ["@aws-sdk/credential-provider-env@3.972.68", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-2a20A/IdNOwUvaDq91iqqS7BA0XlNMfW3iLGZGZLJv0EbUqhSxB0PIx4rQQqssvWj1uXImb3/UCCdHz/+1dOiA=="],
57
-
58
- "@aws-sdk/credential-provider-http": ["@aws-sdk/credential-provider-http@3.972.70", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/fetch-http-handler": "^5.6.13", "@smithy/node-http-handler": "^4.9.13", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-0yRem2Fs52r/Nn6UAqIlpjexfaYj8ziEozOe9tamtAVT/5bzFLKx8O2r7MaRqgS3hGKHIa1Jij9nKHSsNnb04A=="],
59
-
60
- "@aws-sdk/credential-provider-ini": ["@aws-sdk/credential-provider-ini@3.973.13", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/credential-provider-env": "^3.972.68", "@aws-sdk/credential-provider-http": "^3.972.70", "@aws-sdk/credential-provider-login": "^3.972.75", "@aws-sdk/credential-provider-process": "^3.972.68", "@aws-sdk/credential-provider-sso": "^3.973.12", "@aws-sdk/credential-provider-web-identity": "^3.972.74", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/credential-provider-imds": "^4.4.16", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-2M39DE02XpYYaSWYk/4AsImXYUU/1L2xmTMLUpMMWq7DfLv191/vCRy3baKtdr45AkJQyVgSjmuVOLm15SwrRQ=="],
61
-
62
- "@aws-sdk/credential-provider-login": ["@aws-sdk/credential-provider-login@3.972.75", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-jaTESuJlQsoUZ44f/i2puyPt8VlF/dMMJ9HM3cStYtk7eKX4N9UWi83OLixUkoOJH3BwWlPLCq9YIK9nfWhVBg=="],
63
-
64
- "@aws-sdk/credential-provider-node": ["@aws-sdk/credential-provider-node@3.972.79", "", { "dependencies": { "@aws-sdk/credential-provider-env": "^3.972.68", "@aws-sdk/credential-provider-http": "^3.972.70", "@aws-sdk/credential-provider-ini": "^3.973.13", "@aws-sdk/credential-provider-process": "^3.972.68", "@aws-sdk/credential-provider-sso": "^3.973.12", "@aws-sdk/credential-provider-web-identity": "^3.972.74", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/credential-provider-imds": "^4.4.16", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-RIw5dof1EHkWubrZzPC941CDtnFG1iAXsxbFgLkhdYZXHc4icU13c/uxSMI0J5eUx9bxa7LjfpdjfClBB1QsDA=="],
65
-
66
- "@aws-sdk/credential-provider-process": ["@aws-sdk/credential-provider-process@3.972.68", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-nLP3Pda2MQTFJ25hKBMmUuB9Uv+bTZQNlufbeCwklP549Vwnkd8bRLJoCKp5k6xjmdyptrPrOfGOhN0mKuca8A=="],
67
-
68
- "@aws-sdk/credential-provider-sso": ["@aws-sdk/credential-provider-sso@3.973.12", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/token-providers": "3.1108.0", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-EmgyyHn+f9WCcelp3L/vci+LGbX8GigWaVphRArjVo5Pktkr9YnLy/mQ6VDkDyBD72dtfRNTgHmD2ts4rTDXKQ=="],
69
-
70
- "@aws-sdk/credential-provider-web-identity": ["@aws-sdk/credential-provider-web-identity@3.972.74", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-0YfczxGXF3RjGj8z7QG/Ho2HnLGKDHfPSHiTs47UU1U/+mmwISDN+rvGKt2zh+3FX8NdT4xd95LGBGyhQw2dgQ=="],
71
-
72
- "@aws-sdk/credential-providers": ["@aws-sdk/credential-providers@3.1110.0", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/credential-provider-cognito-identity": "^3.972.67", "@aws-sdk/credential-provider-env": "^3.972.68", "@aws-sdk/credential-provider-http": "^3.972.70", "@aws-sdk/credential-provider-ini": "^3.973.13", "@aws-sdk/credential-provider-login": "^3.972.75", "@aws-sdk/credential-provider-node": "^3.972.79", "@aws-sdk/credential-provider-process": "^3.972.68", "@aws-sdk/credential-provider-sso": "^3.973.12", "@aws-sdk/credential-provider-web-identity": "^3.972.74", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/credential-provider-imds": "^4.4.16", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-3OTthomq7fDGRAYW8wbidTAkkKUOk9WQaXi3b16Lawy/pOGC0Dlg+vha5S99SV/hP48MJzXxiIGrRcE/ShaFIA=="],
73
-
74
- "@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.997.42", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/signature-v4-multi-region": "^3.996.44", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/fetch-http-handler": "^5.6.13", "@smithy/node-http-handler": "^4.9.13", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-XWRyon2MTHXD/zMoo0Mbge6Vwf+iE0qQaM/RyGO6NfZ9WukCFiQL27nQVZjYy2JwSIg+iXZxKOX95OBXqlSM4w=="],
75
-
76
- "@aws-sdk/signature-v4-multi-region": ["@aws-sdk/signature-v4-multi-region@3.996.44", "", { "dependencies": { "@aws-sdk/types": "^3.974.3", "@smithy/signature-v4": "^5.6.12", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-ZSfQ35Qn4MhSY+A0Whyr+KBx+wJKZUyBsOrjB2pSHOafRzbFe47T8XcXM8hZqUAC69qnqIy0C9ArxTuud0CC2w=="],
77
-
78
- "@aws-sdk/token-providers": ["@aws-sdk/token-providers@3.1108.0", "", { "dependencies": { "@aws-sdk/core": "^3.977.7", "@aws-sdk/nested-clients": "^3.997.42", "@aws-sdk/types": "^3.974.3", "@smithy/core": "^3.31.1", "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-rI80zxDxGJ6904eC/YbjkdjY6JdaZvQ01kOmrMvw7cFQGIHo27fhnIVbMSVDS4T6foQImjxYSRoOu/uSJscXDw=="],
79
-
80
- "@aws-sdk/types": ["@aws-sdk/types@3.974.3", "", { "dependencies": { "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-ECAqfpNsef+7MO8qtR0h9KcFIBAygaE7Cm6UOiQl+ft+uVap+1G7bNEjs4mdJE2OnA4m6k7i8peH8uGIAsOMGw=="],
81
-
82
- "@aws-sdk/xml-builder": ["@aws-sdk/xml-builder@3.972.38", "", { "dependencies": { "@smithy/types": "^4.16.1", "tslib": "^2.6.2" } }, "sha512-grf7mzfVxBS5AlsuTvBN7uDpzqohFww9fRPCO+EBSUdvtsYMcPSKdz54h/7XiscqNcUM1Ae1MF7JLHmiYYuzbQ=="],
83
-
84
- "@aws/lambda-invoke-store": ["@aws/lambda-invoke-store@0.3.0", "", {}, "sha512-sl4Bm6yiMNYrZKkqqDFWN0UfnWhlS8ivKxrYl+6t0gCLrqr8y3B2IqZZbFRkfaVVp7C/baApyh71P+LeE1A2sQ=="],
85
-
86
49
  "@gar/promise-retry": ["@gar/promise-retry@1.0.3", "", {}, "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA=="],
87
50
 
88
- "@hasna/contracts": ["@hasna/contracts@0.10.6", "", { "dependencies": { "@hasna/secrets": "^0.2.22", "commander": "^13.1.0", "zod": "^3.25.76", "zod-to-json-schema": "^3.24.6" }, "bin": { "contracts": "dist/cli/index.js", "contracts-cli": "dist/cli/contracts-cli.js" } }, "sha512-lHGwSjCAJof2868o3xAHbWbq8WR675MNQMnRVaRPHvX0LeSLsEWfV5nqE4KjhDJfDRhXhiSo4pmvI03AW4cMnQ=="],
51
+ "@hasna/contracts": ["@hasna/contracts@1.0.2", "", { "dependencies": { "commander": "^13.1.0", "zod": "^3.25.76", "zod-to-json-schema": "^3.24.6" }, "peerDependencies": { "@hasna/secrets": "^0.3.10 || ^0.4.0" }, "optionalPeers": ["@hasna/secrets"], "bin": { "contracts": "dist/cli/index.js", "contracts-cli": "dist/cli/contracts-cli.js" } }, "sha512-Wq6ma5qR+ozmMabPZ1EyHb3TVRi37jYkrjiEmIpd6ZpTQY5H2gRept/e8kxlA/xOyxFN6bPhKcFQ7FmhuCpnwQ=="],
89
52
 
90
53
  "@hasna/events": ["@hasna/events@0.1.6", "", { "dependencies": { "commander": "^13.1.0" }, "bin": { "events": "dist/cli/index.js", "hasna-events": "dist/cli/index.js" } }, "sha512-rKLxjBIat45UxciUwh9hKM63l/mcurJXAhgVkYHvrsGnOK9HwExrwgOlylNzDBDb+huiQw9DWdLb31q5oWDfIw=="],
91
54
 
92
- "@hasna/paths": ["@hasna/paths@0.1.0", "", { "bin": { "paths": "dist/cli/index.js" } }, "sha512-ZBoj/h8zJ5t0JRMp19SfbiACdIsEi952UXmK7QwvIcsD4OhN4dONuuDslw+FE80rM1PVApdhMzoaHp+XEW189Q=="],
93
-
94
- "@hasna/secrets": ["@hasna/secrets@0.2.22", "", { "dependencies": { "@aws-sdk/client-secrets-manager": "^3.1008.0", "@aws-sdk/credential-providers": "^3.1008.0", "@hasna/events": "^0.1.13", "@modelcontextprotocol/sdk": "^1.27.1", "@smithy/core": "^3.25.1", "commander": "^13.1.0", "pg": "^8.20.0" }, "bin": { "secrets": "dist/index.js", "secrets-mcp": "dist/mcp-server.js", "secrets-serve": "dist/server/index.js" } }, "sha512-WMX9dstmNmbjkN49WH9kh1TPApAIsTz2qU9wwX8I0Sy7zrpJJvTTyHU41Ih8P5NIi8AU/Bo1g4T1Z7VU2b5gjQ=="],
95
-
96
55
  "@hono/node-server": ["@hono/node-server@1.19.11", "", { "peerDependencies": { "hono": "^4" } }, "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g=="],
97
56
 
98
57
  "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.27.1", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA=="],
@@ -117,25 +76,13 @@
117
76
 
118
77
  "@sigstore/verify": ["@sigstore/verify@4.1.0", "", { "dependencies": { "@sigstore/bundle": "^5.0.0", "@sigstore/core": "^4.0.1", "@sigstore/protobuf-specs": "^0.5.0" } }, "sha512-p/s720RiWxLG8XtmfdPfEJOlATA6H/2knFqmtQbFkHKN3IrhWGUwPfpQAf1UnQIEES9IaH6zzhfjkrhTfeSdZw=="],
119
78
 
120
- "@smithy/core": ["@smithy/core@3.33.0", "", { "dependencies": { "@smithy/types": "^4.17.0", "tslib": "^2.6.2" } }, "sha512-uKbkxgqLyepQDZoq8aRSdUqD1ID//rOqG96ixBhp++O7vBtmwYM6fwldGhr9HJP0iYrdc7GP/AlgzPWEZIrNRg=="],
121
-
122
- "@smithy/credential-provider-imds": ["@smithy/credential-provider-imds@4.5.0", "", { "dependencies": { "@smithy/core": "^3.32.0", "@smithy/types": "^4.17.0", "tslib": "^2.6.2" } }, "sha512-2jsPi+7Zv2hSzD9IXR9D7DTqSn7mv4XalzRm+bESh53jiaUS3NKEUbpQFTJP0HhQy9qzZvluxQ3yS24zdRrqsA=="],
123
-
124
- "@smithy/fetch-http-handler": ["@smithy/fetch-http-handler@5.7.0", "", { "dependencies": { "@smithy/core": "^3.32.0", "@smithy/types": "^4.17.0", "tslib": "^2.6.2" } }, "sha512-W/exA8T0LEzCQtJ02w4IzaEQPIspgarqZprb7W8FwnYiDowgCrjl2fTQ6FvuSSUnJORuepBF81abmBJwqh+0XQ=="],
125
-
126
- "@smithy/node-http-handler": ["@smithy/node-http-handler@4.11.0", "", { "dependencies": { "@smithy/core": "^3.33.0", "@smithy/types": "^4.17.0", "tslib": "^2.6.2" } }, "sha512-ssHIZsadPUA3lGdnoByxfnjtb9xPYQLvdfJRLKIwxOoa6tO1suG4sLFSsgd7D/CsvYd8QbBIuKTImuJha5l6aQ=="],
127
-
128
- "@smithy/signature-v4": ["@smithy/signature-v4@5.7.0", "", { "dependencies": { "@smithy/core": "^3.32.0", "@smithy/types": "^4.17.0", "tslib": "^2.6.2" } }, "sha512-hCynhm22wMJ8wTF9crcwu8mxggtUrSLLJgDcGUvYFBqpofxycYJCGKOMYg4xtPPFtgNiDJSYmhsWLTrcU/g59Q=="],
129
-
130
- "@smithy/types": ["@smithy/types@4.17.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Aw4joiM0ZdErpo39lCj8phT2lxoiKZV+KZzBxnnQhWVtU2Is/WffQSL04uUWRcXUse9Ln8vXZK6V/FwqRVnQpg=="],
131
-
132
79
  "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="],
133
80
 
134
81
  "@tufjs/canonical-json": ["@tufjs/canonical-json@2.0.0", "", {}, "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA=="],
135
82
 
136
83
  "@tufjs/models": ["@tufjs/models@5.0.0", "", { "dependencies": { "@tufjs/canonical-json": "2.0.0", "minimatch": "^10.2.1" } }, "sha512-U4mVcdFGOi6pt8n38LdWZp67Svn7ppnU1Pj8SGOVaBi1X4gm+G4ztQlLfkoJbKSHfjA6WeaiJp2A4V83AJF6nQ=="],
137
84
 
138
- "@types/bun": ["@types/bun@1.3.10", "", { "dependencies": { "bun-types": "1.3.10" } }, "sha512-0+rlrUrOrTSskibryHbvQkDOWRJwJZqZlxrUs1u4oOoTln8+WIXBPmAuCF35SWB2z4Zl3E84Nl/D0P7803nigQ=="],
85
+ "@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="],
139
86
 
140
87
  "@types/node": ["@types/node@25.4.0", "", { "dependencies": { "undici-types": "~7.18.0" } }, "sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw=="],
141
88
 
@@ -171,8 +118,6 @@
171
118
 
172
119
  "body-parser": ["body-parser@2.2.2", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.3", "http-errors": "^2.0.0", "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" } }, "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA=="],
173
120
 
174
- "bowser": ["bowser@2.14.1", "", {}, "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg=="],
175
-
176
121
  "brace-expansion": ["brace-expansion@5.0.9", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg=="],
177
122
 
178
123
  "bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="],
@@ -497,8 +442,6 @@
497
442
 
498
443
  "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],
499
444
 
500
- "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
501
-
502
445
  "tuf-js": ["tuf-js@6.0.0", "", { "dependencies": { "@gar/promise-retry": "^1.0.3", "@tufjs/models": "5.0.0", "debug": "^4.4.3" } }, "sha512-zlJVOIO68hmgo1//X4ENEcTGfuOTAtDPi8PsTsG+FyxD85E/ww1ZnwBbWo/yCEExGpI+Kilg7Z3qCdHX2BoJTQ=="],
503
446
 
504
447
  "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
@@ -543,10 +486,6 @@
543
486
 
544
487
  "@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.1.0", "", {}, "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg=="],
545
488
 
546
- "@hasna/secrets/@hasna/events": ["@hasna/events@0.1.16", "", { "dependencies": { "commander": "^13.1.0" }, "bin": { "events": "dist/cli/index.js", "hasna-events": "dist/cli/index.js" } }, "sha512-HX66T8JljVOoE/Li8WKLUFVozg0GIdZmgBalScfBFW5Vru4IcVSTNs07TmYH3kIJUe5tylItTqwzc02nvjqbfw=="],
547
-
548
- "@types/bun/bun-types": ["bun-types@1.3.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-tcpfCCl6XWo6nCVnpcVrxQ+9AYN1iqMIzgrSKYMB/fjLtV2eyAVEg7AxQJuCq/26R6HpKWykQXuSOq/21RYcbg=="],
549
-
550
489
  "cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="],
551
490
 
552
491
  "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Pure public contract for the immutable Mementos audit log.
3
+ *
4
+ * This module deliberately has no storage, credential, transport, filesystem,
5
+ * or server dependencies so the SDK and hosted client can validate the exact
6
+ * same versioned receipts without pulling SQLite into client bundles.
7
+ */
8
+ export declare const AUDIT_TRAIL_CONTRACT: "mementos.audit.trail.v1";
9
+ export declare const AUDIT_EXPORT_CONTRACT: "mementos.audit.export.v1";
10
+ export declare const AUDIT_STATS_CONTRACT: "mementos.audit.stats.v1";
11
+ export declare const AUDIT_CURSOR_VERSION: 1;
12
+ export declare const AUDIT_DEFAULT_LIMIT: 50;
13
+ export declare const AUDIT_OPERATIONS: readonly ["create", "update", "delete", "archive", "restore", "read"];
14
+ export type AuditOperation = (typeof AUDIT_OPERATIONS)[number];
15
+ export type AuditPageContract = typeof AUDIT_TRAIL_CONTRACT | typeof AUDIT_EXPORT_CONTRACT;
16
+ export interface AuditEntry {
17
+ id: string;
18
+ memory_id: string;
19
+ memory_key: string | null;
20
+ operation: AuditOperation;
21
+ agent_id: string | null;
22
+ /** md5 hex digest of the value before the operation, or null when unavailable. */
23
+ old_value_hash: string | null;
24
+ /** md5 hex digest of the value after the operation, or null when unavailable. */
25
+ new_value_hash: string | null;
26
+ changes: Record<string, unknown>;
27
+ created_at: string;
28
+ }
29
+ export interface AuditFilters {
30
+ memory_id: string | null;
31
+ since: string | null;
32
+ until: string | null;
33
+ operation: AuditOperation | null;
34
+ agent_id: string | null;
35
+ }
36
+ export interface AuditPage {
37
+ contract: AuditPageContract;
38
+ entries: AuditEntry[];
39
+ count: number;
40
+ total: number;
41
+ limit: number;
42
+ cursor: string | null;
43
+ next_cursor: string | null;
44
+ consumed: number;
45
+ has_more: boolean;
46
+ complete: boolean;
47
+ snapshot_at: string;
48
+ filters: AuditFilters;
49
+ sort: {
50
+ field: "created_at";
51
+ direction: "desc";
52
+ tie_breaker: "id";
53
+ };
54
+ }
55
+ export interface AuditStats {
56
+ contract: typeof AUDIT_STATS_CONTRACT;
57
+ total_entries: number;
58
+ by_operation: Record<AuditOperation, number>;
59
+ recent_24h: number;
60
+ snapshot_at: string;
61
+ }
62
+ export interface AuditCursorPayload {
63
+ v: typeof AUDIT_CURSOR_VERSION;
64
+ contract: AuditPageContract;
65
+ snapshot_created_at: string | null;
66
+ snapshot_id: string | null;
67
+ after_created_at: string | null;
68
+ after_id: string | null;
69
+ snapshot_total: number;
70
+ consumed: number;
71
+ filter_fingerprint: string;
72
+ }
73
+ export declare class AuditContractError extends Error {
74
+ readonly code = "MEMENTOS_AUDIT_CONTRACT";
75
+ constructor(message: string);
76
+ }
77
+ export declare function canonicalAuditTimestamp(value: unknown, label: string): string;
78
+ export declare function auditOperation(value: unknown, label?: string): AuditOperation;
79
+ export declare function validateAuditEntry(value: unknown, label?: string): AuditEntry;
80
+ export declare function validateAuditPage(value: unknown, expected: {
81
+ contract: AuditPageContract;
82
+ cursor: string | null;
83
+ filters: AuditFilters;
84
+ limit: number;
85
+ }): AuditPage;
86
+ export declare function validateAuditStats(value: unknown): AuditStats;
87
+ //# sourceMappingURL=audit-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-contract.d.ts","sourceRoot":"","sources":["../src/audit-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-context.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6I7D"}
1
+ {"version":3,"file":"info-context.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgJ7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF7D"}
1
+ {"version":3,"file":"info-history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoI7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-stale.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-stale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG3D"}
1
+ {"version":3,"file":"info-stale.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info-stale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsH3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"io-backup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-backup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG5D"}
1
+ {"version":3,"file":"io-backup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-backup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiI5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"io-export.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC5D"}
1
+ {"version":3,"file":"io-export.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiD5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"io-restore.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4N7D"}
1
+ {"version":3,"file":"io-restore.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/io-restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6FzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsN7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-chain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC3D"}
1
+ {"version":3,"file":"memory-cmd-chain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-crud.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-crud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0qB3D"}
1
+ {"version":3,"file":"memory-cmd-crud.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-crud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAosB3D"}
@@ -1,3 +1,28 @@
1
1
  import type { Command } from "commander";
2
+ import type { Memory } from "../../types/index.js";
3
+ export declare const STRUCTURED_PAGE_MAX_ROWS = 1000;
4
+ export declare const STRUCTURED_ALL_MAX_ROWS = 5000;
5
+ export declare const STRUCTURED_DEFAULT_MAX_BYTES: number;
6
+ export declare const STRUCTURED_FULL_MAX_BYTES: number;
7
+ export declare const STRUCTURED_ALL_MAX_BYTES: number;
8
+ export type StructuredMemoryDetail = "compact" | "full";
9
+ export declare function structuredMaxBytes(value: unknown, opts: {
10
+ all: boolean;
11
+ detail: StructuredMemoryDetail;
12
+ }): number;
13
+ export declare function compactMemoryForStructuredOutput(memory: Memory, opts?: {
14
+ history?: boolean;
15
+ }): Record<string, unknown>;
16
+ export declare function structuredMemoryOutput(args: {
17
+ memories: Memory[];
18
+ receipt: string;
19
+ offset: number;
20
+ limit: number;
21
+ sourceHasMore: boolean;
22
+ all: boolean;
23
+ detail: StructuredMemoryDetail;
24
+ maxBytes: number;
25
+ history?: boolean;
26
+ }): string;
2
27
  export declare function registerListCommand(program: Command): void;
3
28
  //# sourceMappingURL=memory-cmd-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6I1D"}
1
+ {"version":3,"file":"memory-cmd-list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,MAAM,EAA2D,MAAM,sBAAsB,CAAC;AAkB5G,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,4BAA4B,QAAY,CAAC;AACtD,eAAO,MAAM,yBAAyB,QAAY,CAAC;AACnD,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAGpD,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC;AA2BxD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GACrD,MAAM,CAkBR;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAiED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAkDT;AAkBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqK1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-recall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF5D"}
1
+ {"version":3,"file":"memory-cmd-recall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8F5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgJ5D"}
1
+ {"version":3,"file":"memory-cmd-search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyJ5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-tail.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D"}
1
+ {"version":3,"file":"memory-cmd-tail.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-view.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiL3D"}
1
+ {"version":3,"file":"memory-cmd-view.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsM3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-cmd-when-to-use.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-when-to-use.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC/D"}
1
+ {"version":3,"file":"memory-cmd-when-to-use.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory-cmd-when-to-use.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2C/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsb9D"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyb9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6UzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAK9D"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwVzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAK9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwP5D"}
1
+ {"version":3,"file":"system-doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0Q5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwH7D"}
1
+ {"version":3,"file":"system-session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmI7D"}