neotoma 0.22.0 → 0.22.2

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 (118) hide show
  1. package/dist/actions.d.ts +13 -0
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +236 -93
  4. package/dist/actions.js.map +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +11 -0
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/config.d.ts +13 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +90 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/docs/api/rest_api.md +81 -0
  13. package/dist/docs/developer/getting_started.md +45 -0
  14. package/dist/docs/developer/mcp/proxy.md +48 -28
  15. package/dist/docs/developer/npm_scripts.md +10 -4
  16. package/dist/docs/infrastructure/client_instance_deployment.md +50 -2
  17. package/dist/docs/operations/configuration.md +44 -1
  18. package/dist/docs/security/advisories/2026-08-26-jwt-bearer-unverified-fallback-auth-bypass.md +59 -0
  19. package/dist/docs/security/advisories/README.md +1 -0
  20. package/dist/docs/security/practices.md +5 -1
  21. package/dist/docs/subsystems/agent_session_architecture.md +69 -0
  22. package/dist/docs/subsystems/usage_digest.md +127 -0
  23. package/dist/docs/testing/automated_test_catalog.md +49 -26
  24. package/dist/docs/testing/testing_standard.md +1 -1
  25. package/dist/middleware/aauth_admission.js +1 -1
  26. package/dist/middleware/aauth_admission.js.map +1 -1
  27. package/dist/middleware/db_abort_context.d.ts +24 -0
  28. package/dist/middleware/db_abort_context.d.ts.map +1 -0
  29. package/dist/middleware/db_abort_context.js +41 -0
  30. package/dist/middleware/db_abort_context.js.map +1 -0
  31. package/dist/proxy/mcp_stdio_proxy.d.ts +134 -6
  32. package/dist/proxy/mcp_stdio_proxy.d.ts.map +1 -1
  33. package/dist/proxy/mcp_stdio_proxy.js +373 -17
  34. package/dist/proxy/mcp_stdio_proxy.js.map +1 -1
  35. package/dist/repositories/sqlite/local_db_adapter.d.ts.map +1 -1
  36. package/dist/repositories/sqlite/local_db_adapter.js +20 -0
  37. package/dist/repositories/sqlite/local_db_adapter.js.map +1 -1
  38. package/dist/repositories/sqlite/sqlite_client.d.ts.map +1 -1
  39. package/dist/repositories/sqlite/sqlite_client.js +10 -0
  40. package/dist/repositories/sqlite/sqlite_client.js.map +1 -1
  41. package/dist/repositories/worker/worker_file_database.d.ts +135 -1
  42. package/dist/repositories/worker/worker_file_database.d.ts.map +1 -1
  43. package/dist/repositories/worker/worker_file_database.js +726 -27
  44. package/dist/repositories/worker/worker_file_database.js.map +1 -1
  45. package/dist/server.d.ts.map +1 -1
  46. package/dist/server.js +182 -77
  47. package/dist/server.js.map +1 -1
  48. package/dist/services/attachment_resolution.d.ts +149 -0
  49. package/dist/services/attachment_resolution.d.ts.map +1 -0
  50. package/dist/services/attachment_resolution.js +206 -0
  51. package/dist/services/attachment_resolution.js.map +1 -0
  52. package/dist/services/attachment_resolution_sqlite.d.ts +57 -0
  53. package/dist/services/attachment_resolution_sqlite.d.ts.map +1 -0
  54. package/dist/services/attachment_resolution_sqlite.js +75 -0
  55. package/dist/services/attachment_resolution_sqlite.js.map +1 -0
  56. package/dist/services/entity_queries.d.ts.map +1 -1
  57. package/dist/services/entity_queries.js +85 -23
  58. package/dist/services/entity_queries.js.map +1 -1
  59. package/dist/services/entity_snapshot_at_time.d.ts.map +1 -1
  60. package/dist/services/entity_snapshot_at_time.js +23 -3
  61. package/dist/services/entity_snapshot_at_time.js.map +1 -1
  62. package/dist/services/file_input_diagnostics.d.ts +89 -0
  63. package/dist/services/file_input_diagnostics.d.ts.map +1 -0
  64. package/dist/services/file_input_diagnostics.js +174 -0
  65. package/dist/services/file_input_diagnostics.js.map +1 -0
  66. package/dist/services/interpretation.d.ts.map +1 -1
  67. package/dist/services/interpretation.js +22 -8
  68. package/dist/services/interpretation.js.map +1 -1
  69. package/dist/services/mcp_auth.d.ts +19 -3
  70. package/dist/services/mcp_auth.d.ts.map +1 -1
  71. package/dist/services/mcp_auth.js +23 -33
  72. package/dist/services/mcp_auth.js.map +1 -1
  73. package/dist/services/mcp_oauth.d.ts +14 -1
  74. package/dist/services/mcp_oauth.d.ts.map +1 -1
  75. package/dist/services/mcp_oauth.js +86 -1
  76. package/dist/services/mcp_oauth.js.map +1 -1
  77. package/dist/services/raw_storage.d.ts.map +1 -1
  78. package/dist/services/raw_storage.js +14 -2
  79. package/dist/services/raw_storage.js.map +1 -1
  80. package/dist/services/readiness.d.ts +85 -0
  81. package/dist/services/readiness.d.ts.map +1 -0
  82. package/dist/services/readiness.js +93 -0
  83. package/dist/services/readiness.js.map +1 -0
  84. package/dist/services/route_shadowing.d.ts +67 -0
  85. package/dist/services/route_shadowing.d.ts.map +1 -0
  86. package/dist/services/route_shadowing.js +126 -0
  87. package/dist/services/route_shadowing.js.map +1 -0
  88. package/dist/services/schema_definitions.d.ts.map +1 -1
  89. package/dist/services/schema_definitions.js +171 -0
  90. package/dist/services/schema_definitions.js.map +1 -1
  91. package/dist/services/schema_lag_repair.d.ts.map +1 -1
  92. package/dist/services/schema_lag_repair.js +32 -12
  93. package/dist/services/schema_lag_repair.js.map +1 -1
  94. package/dist/services/schema_registry.d.ts.map +1 -1
  95. package/dist/services/schema_registry.js +12 -5
  96. package/dist/services/schema_registry.js.map +1 -1
  97. package/dist/services/snapshot_computation.d.ts.map +1 -1
  98. package/dist/services/snapshot_computation.js +12 -8
  99. package/dist/services/snapshot_computation.js.map +1 -1
  100. package/dist/services/subscriptions/sse_hub.d.ts.map +1 -1
  101. package/dist/services/subscriptions/sse_hub.js +19 -1
  102. package/dist/services/subscriptions/sse_hub.js.map +1 -1
  103. package/dist/shared/action_handlers/entity_handlers.d.ts.map +1 -1
  104. package/dist/shared/action_handlers/entity_handlers.js +110 -26
  105. package/dist/shared/action_handlers/entity_handlers.js.map +1 -1
  106. package/dist/shared/action_schemas.d.ts +6 -6
  107. package/dist/shared/contract_mappings.d.ts.map +1 -1
  108. package/dist/shared/contract_mappings.js +8 -1
  109. package/dist/shared/contract_mappings.js.map +1 -1
  110. package/dist/shared/openapi_types.d.ts +108 -3
  111. package/dist/shared/openapi_types.d.ts.map +1 -1
  112. package/dist/tool_definitions.d.ts.map +1 -1
  113. package/dist/tool_definitions.js +18 -13
  114. package/dist/tool_definitions.js.map +1 -1
  115. package/openapi.yaml +83 -3
  116. package/package.json +2 -1
  117. package/skills/status/SKILL.md +0 -1
  118. package/skills/where/SKILL.md +315 -0
@@ -1 +1 @@
1
- {"version":3,"file":"local_db_adapter.js","sourceRoot":"","sources":["../../../src/repositories/sqlite/local_db_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local_db_adapter.js","sourceRoot":"","sources":["../../../src/repositories/sqlite/local_db_adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite_client.d.ts","sourceRoot":"","sources":["../../../src/repositories/sqlite/sqlite_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAkCF;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1E;AAwVD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2MtE"}
1
+ {"version":3,"file":"sqlite_client.d.ts","sourceRoot":"","sources":["../../../src/repositories/sqlite/sqlite_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAkCF;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1E;AAwVD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwNtE"}
@@ -534,6 +534,16 @@ export async function ensureSchema(database) {
534
534
  await db
535
535
  .prepare("CREATE INDEX IF NOT EXISTS idx_rel_snapshots_source_user_live ON relationship_snapshots(source_entity_id, user_id, is_live)")
536
536
  .run();
537
+ // ateles#576: the visible-entity count is a COUNT(*) over entity_snapshots
538
+ // filtered by (user_id, entity_type). Without this index that count was a
539
+ // full table SCAN of every snapshot row on every /entities/query request —
540
+ // the residual per-request cost after the count stopped re-reading the
541
+ // observation log. `entity_id` is appended so the index covers the
542
+ // deleted-entity lookups in services/entity_queries.ts too, letting SQLite
543
+ // answer both from the index without touching the table.
544
+ await db
545
+ .prepare("CREATE INDEX IF NOT EXISTS idx_entity_snapshots_user_type ON entity_snapshots(user_id, entity_type, entity_id)")
546
+ .run();
537
547
  await db
538
548
  .prepare("CREATE INDEX IF NOT EXISTS idx_rel_snapshots_target_user_live ON relationship_snapshots(target_entity_id, user_id, is_live)")
539
549
  .run();
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite_client.js","sourceRoot":"","sources":["../../../src/repositories/sqlite/sqlite_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite_client.js","sourceRoot":"","sources":["../../../src/repositories/sqlite/sqlite_client.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,26 @@
22
22
  * RETURNING via .get()) fails with SQLITE_READONLY and is retried on the
23
23
  * writer — no SQL parsing heuristics.
24
24
  *
25
+ * Two properties bound how long that pool can be tied up (issue #2217):
26
+ *
27
+ * - BUSY-AWARE DISPATCH. Reads go to the *least loaded* reader, not to the
28
+ * next one round-robin. Blind round-robin deals work onto an occupied
29
+ * worker even when siblings are idle, and since each worker runs
30
+ * statements synchronously and strictly FIFO, that query waits behind the
31
+ * slow one — measured at 271 ms for a trivial `SELECT 1` with seven idle
32
+ * workers available. Raising the pool size does not help; only choosing
33
+ * an idle worker does.
34
+ * - STATEMENT TIMEOUT. The synchronous driver cannot be interrupted
35
+ * mid-statement: the worker only reads its next message after the current
36
+ * one runs to completion, so no cancel opcode can be observed in time.
37
+ * The only real lever is `terminate()`. So a request that exceeds
38
+ * `statementTimeoutMs` (or whose caller aborts) terminates its worker and
39
+ * rejects with WorkerDbTimeoutError / WorkerDbAbortError; the next request
40
+ * lazily respawns. Readers are read-only, so tearing one down loses no
41
+ * committed state. The writer is exempt by default (killing it mid
42
+ * transaction would leave the caller unable to know whether work
43
+ * committed), and requests inside a transaction are never timed out.
44
+ *
25
45
  * Transaction semantics match the other backends: the TransactionGate
26
46
  * serializes transactions and keeps unrelated statements out of the open
27
47
  * transaction window, and AsyncLocalStorage routes statements issued on the
@@ -39,24 +59,116 @@ import { type DbConnection, type DbDatabase, type DbStatement } from "../db/driv
39
59
  export declare class WorkerDbCrashError extends Error {
40
60
  constructor(message: string);
41
61
  }
62
+ /**
63
+ * Thrown when a statement exceeds the per-statement timeout. The worker
64
+ * hosting it is terminated (the synchronous driver offers no other way to stop
65
+ * a running statement) so the pool slot is reclaimed immediately rather than
66
+ * held for the query's full natural duration — the #2217 failure, where two
67
+ * long reads made every subsequent read queue behind them indefinitely.
68
+ *
69
+ * Only ever raised for reads on the read-only reader pool, so no committed
70
+ * state is at risk: the caller knows nothing was written.
71
+ */
72
+ export declare class WorkerDbTimeoutError extends Error {
73
+ readonly timeoutMs: number;
74
+ constructor(message: string, timeoutMs: number);
75
+ }
76
+ /**
77
+ * Thrown when the caller's AbortSignal fires while a statement is in flight —
78
+ * e.g. the HTTP client hung up. Same mechanism as the timeout: the reader is
79
+ * terminated so abandoned work stops consuming a pool slot instead of running
80
+ * to completion for a response nobody will read.
81
+ */
82
+ export declare class WorkerDbAbortError extends Error {
83
+ constructor(message: string);
84
+ }
85
+ /** Options accepted per request; both bound how long a worker may be held. */
86
+ export type WorkerRequestOptions = {
87
+ /** Terminate the worker and reject if the statement outlives this. */
88
+ timeoutMs?: number;
89
+ /** Terminate the worker and reject when the caller gives up. */
90
+ signal?: AbortSignal;
91
+ };
92
+ /**
93
+ * Run `fn` with `signal` attached to every read issued inside it. When the
94
+ * signal fires — an HTTP client hanging up, a cancelled MCP call — reads in
95
+ * flight are abandoned and their reader worker reclaimed, instead of running
96
+ * to completion for a response nobody will read (#2217, suggested fix 3).
97
+ */
98
+ export declare function withDbAbortSignal<T>(signal: AbortSignal | undefined, fn: () => T): T;
42
99
  export declare class WorkerFileDatabase implements DbDatabase {
43
100
  private readonly dbPath;
44
101
  private readonly busyTimeoutMs;
45
102
  private readonly readerCount;
46
103
  private readonly driver;
104
+ private readonly statementTimeoutMs;
47
105
  private writer;
48
106
  private readers;
49
- private nextReader;
107
+ /**
108
+ * Connections that have been abandoned and left service, but whose orphaned
109
+ * worker may still be finishing a native call (#2324). Held only so
110
+ * `close()` can wait them out rather than leaking threads past shutdown.
111
+ *
112
+ * In practice these are all readers — the writer is never abandoned, since
113
+ * writes carry neither a signal nor a timeout — but the set is not typed to
114
+ * readers so that the shutdown guarantee does not depend on that invariant.
115
+ */
116
+ private retiredConnections;
117
+ private readonly orphanGraceMs;
50
118
  private closed;
119
+ private saturatedSince;
120
+ private lastSaturationLogAt;
51
121
  private readonly gate;
52
122
  private readonly txContext;
53
123
  constructor(dbPath: string, options?: {
54
124
  busyTimeoutMs?: number;
55
125
  readerWorkers?: number;
126
+ /** Per-statement budget for pool reads; `0` disables the timeout. */
127
+ statementTimeoutMs?: number;
128
+ /** Grace window for an abandoned worker before it is force-terminated. */
129
+ orphanGraceMs?: number;
56
130
  });
57
131
  private stripRowMetadata;
58
132
  private writerConnection;
133
+ private spawnReader;
134
+ /**
135
+ * Drop a retired reader from the pool (#2324). The connection object stays
136
+ * alive to manage its orphaned worker's safe termination; it is simply no
137
+ * longer a dispatch target.
138
+ */
139
+ private retireReader;
140
+ /**
141
+ * Pick the reader to serve the next read.
142
+ *
143
+ * Busy-aware, not round-robin. Each worker runs statements synchronously and
144
+ * strictly FIFO, so a query handed to an occupied worker waits out whatever
145
+ * that worker is already doing — even with idle siblings sitting right there.
146
+ * Blind round-robin did exactly that, and it is why raising the pool size
147
+ * fixed nothing in the measurements on #2217: more slots, still dealt onto a
148
+ * busy one. So: prefer any idle reader; if none is idle and the pool is not
149
+ * yet at its cap, grow it; only when every reader is loaded does the read
150
+ * queue, and then behind the reader expected to free up soonest.
151
+ *
152
+ * Queue DEPTH is not that predictor. When the pool saturates, every reader
153
+ * typically holds exactly one statement, so depth ties across the pool — and
154
+ * a tie broken by array order sends the read to whichever reader happens to
155
+ * sit at index 0, which in the measured repro is the one running the
156
+ * multi-second cross join. Depth counts statements; it cannot tell a
157
+ * 1 ms statement from a 30 s one. So ties break on how long the reader has
158
+ * been busy: the shallowest queue wins, and among equals the one that
159
+ * started most RECENTLY, since a reader that has already been working for
160
+ * seconds is the one likeliest to keep working for seconds.
161
+ */
59
162
  private readerConnection;
163
+ /**
164
+ * Log when every reader is busy, and again when the pool recovers.
165
+ *
166
+ * Saturation is otherwise invisible from outside the process — `/health`
167
+ * answers from process state without touching a reader, so a wedged instance
168
+ * and an idle one look identical (#2141, and again here). Rate-limited so a
169
+ * sustained stall does not flood the log.
170
+ */
171
+ private noteSaturation;
60
172
  /** @internal Mutating ops and everything inside a transaction → writer. */
61
173
  routeWrite(op: "run" | "exec" | "pragma", sql: string, params?: unknown[]): Promise<unknown>;
62
174
  /**
@@ -65,7 +177,29 @@ export declare class WorkerFileDatabase implements DbDatabase {
65
177
  * and retried on the writer. Inside a transaction, reads must see the
66
178
  * transaction's uncommitted state, so they go to the writer directly.
67
179
  */
180
+ /**
181
+ * Send a read to a live reader, re-choosing if the one we picked retired in
182
+ * between (#2324).
183
+ *
184
+ * The window is small but routine under saturation: `readerConnection()`
185
+ * returns the least-loaded reader, and an abort belonging to a DIFFERENT
186
+ * request sharing that reader can retire it before this one dispatches. The
187
+ * retry is bounded and re-picks from the pool each time, so it cannot spin
188
+ * on the same dead connection; the pool spawns a replacement as soon as it
189
+ * is short a reader.
190
+ */
191
+ private dispatchRead;
68
192
  routeRead(op: "get" | "all", sql: string, params: unknown[]): Promise<unknown>;
193
+ /**
194
+ * @internal Reader-pool occupancy, for tests and diagnostics. `busy` counts
195
+ * readers with at least one statement in flight; `queued` is total depth.
196
+ */
197
+ readerPoolStats(): {
198
+ size: number;
199
+ capacity: number;
200
+ busy: number;
201
+ queued: number;
202
+ };
69
203
  /**
70
204
  * @internal Test-only: force the writer or a reader worker to crash, to
71
205
  * exercise the supervised-restart path. Returns the promise that rejects with
@@ -1 +1 @@
1
- {"version":3,"file":"worker_file_database.d.ts","sourceRoot":"","sources":["../../../src/repositories/worker/worker_file_database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,UAAU,EAEf,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AA2GzB;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AA4ID,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;IAa5F,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,gBAAgB;IAsBxB,2EAA2E;IACrE,UAAU,CACd,EAAE,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,GACrB,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAepF;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAI3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIjD,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
1
+ {"version":3,"file":"worker_file_database.d.ts","sourceRoot":"","sources":["../../../src/repositories/worker/worker_file_database.ts"],"names":[],"mappings":"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"}