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.
- package/dist/actions.d.ts +13 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +236 -93
- package/dist/actions.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +11 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +90 -0
- package/dist/config.js.map +1 -1
- package/dist/docs/api/rest_api.md +81 -0
- package/dist/docs/developer/getting_started.md +45 -0
- package/dist/docs/developer/mcp/proxy.md +48 -28
- package/dist/docs/developer/npm_scripts.md +10 -4
- package/dist/docs/infrastructure/client_instance_deployment.md +50 -2
- package/dist/docs/operations/configuration.md +44 -1
- package/dist/docs/security/advisories/2026-08-26-jwt-bearer-unverified-fallback-auth-bypass.md +59 -0
- package/dist/docs/security/advisories/README.md +1 -0
- package/dist/docs/security/practices.md +5 -1
- package/dist/docs/subsystems/agent_session_architecture.md +69 -0
- package/dist/docs/subsystems/usage_digest.md +127 -0
- package/dist/docs/testing/automated_test_catalog.md +49 -26
- package/dist/docs/testing/testing_standard.md +1 -1
- package/dist/middleware/aauth_admission.js +1 -1
- package/dist/middleware/aauth_admission.js.map +1 -1
- package/dist/middleware/db_abort_context.d.ts +24 -0
- package/dist/middleware/db_abort_context.d.ts.map +1 -0
- package/dist/middleware/db_abort_context.js +41 -0
- package/dist/middleware/db_abort_context.js.map +1 -0
- package/dist/proxy/mcp_stdio_proxy.d.ts +134 -6
- package/dist/proxy/mcp_stdio_proxy.d.ts.map +1 -1
- package/dist/proxy/mcp_stdio_proxy.js +373 -17
- package/dist/proxy/mcp_stdio_proxy.js.map +1 -1
- package/dist/repositories/sqlite/local_db_adapter.d.ts.map +1 -1
- package/dist/repositories/sqlite/local_db_adapter.js +20 -0
- package/dist/repositories/sqlite/local_db_adapter.js.map +1 -1
- package/dist/repositories/sqlite/sqlite_client.d.ts.map +1 -1
- package/dist/repositories/sqlite/sqlite_client.js +10 -0
- package/dist/repositories/sqlite/sqlite_client.js.map +1 -1
- package/dist/repositories/worker/worker_file_database.d.ts +135 -1
- package/dist/repositories/worker/worker_file_database.d.ts.map +1 -1
- package/dist/repositories/worker/worker_file_database.js +726 -27
- package/dist/repositories/worker/worker_file_database.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +182 -77
- package/dist/server.js.map +1 -1
- package/dist/services/attachment_resolution.d.ts +149 -0
- package/dist/services/attachment_resolution.d.ts.map +1 -0
- package/dist/services/attachment_resolution.js +206 -0
- package/dist/services/attachment_resolution.js.map +1 -0
- package/dist/services/attachment_resolution_sqlite.d.ts +57 -0
- package/dist/services/attachment_resolution_sqlite.d.ts.map +1 -0
- package/dist/services/attachment_resolution_sqlite.js +75 -0
- package/dist/services/attachment_resolution_sqlite.js.map +1 -0
- package/dist/services/entity_queries.d.ts.map +1 -1
- package/dist/services/entity_queries.js +85 -23
- package/dist/services/entity_queries.js.map +1 -1
- package/dist/services/entity_snapshot_at_time.d.ts.map +1 -1
- package/dist/services/entity_snapshot_at_time.js +23 -3
- package/dist/services/entity_snapshot_at_time.js.map +1 -1
- package/dist/services/file_input_diagnostics.d.ts +89 -0
- package/dist/services/file_input_diagnostics.d.ts.map +1 -0
- package/dist/services/file_input_diagnostics.js +174 -0
- package/dist/services/file_input_diagnostics.js.map +1 -0
- package/dist/services/interpretation.d.ts.map +1 -1
- package/dist/services/interpretation.js +22 -8
- package/dist/services/interpretation.js.map +1 -1
- package/dist/services/mcp_auth.d.ts +19 -3
- package/dist/services/mcp_auth.d.ts.map +1 -1
- package/dist/services/mcp_auth.js +23 -33
- package/dist/services/mcp_auth.js.map +1 -1
- package/dist/services/mcp_oauth.d.ts +14 -1
- package/dist/services/mcp_oauth.d.ts.map +1 -1
- package/dist/services/mcp_oauth.js +86 -1
- package/dist/services/mcp_oauth.js.map +1 -1
- package/dist/services/raw_storage.d.ts.map +1 -1
- package/dist/services/raw_storage.js +14 -2
- package/dist/services/raw_storage.js.map +1 -1
- package/dist/services/readiness.d.ts +85 -0
- package/dist/services/readiness.d.ts.map +1 -0
- package/dist/services/readiness.js +93 -0
- package/dist/services/readiness.js.map +1 -0
- package/dist/services/route_shadowing.d.ts +67 -0
- package/dist/services/route_shadowing.d.ts.map +1 -0
- package/dist/services/route_shadowing.js +126 -0
- package/dist/services/route_shadowing.js.map +1 -0
- package/dist/services/schema_definitions.d.ts.map +1 -1
- package/dist/services/schema_definitions.js +171 -0
- package/dist/services/schema_definitions.js.map +1 -1
- package/dist/services/schema_lag_repair.d.ts.map +1 -1
- package/dist/services/schema_lag_repair.js +32 -12
- package/dist/services/schema_lag_repair.js.map +1 -1
- package/dist/services/schema_registry.d.ts.map +1 -1
- package/dist/services/schema_registry.js +12 -5
- package/dist/services/schema_registry.js.map +1 -1
- package/dist/services/snapshot_computation.d.ts.map +1 -1
- package/dist/services/snapshot_computation.js +12 -8
- package/dist/services/snapshot_computation.js.map +1 -1
- package/dist/services/subscriptions/sse_hub.d.ts.map +1 -1
- package/dist/services/subscriptions/sse_hub.js +19 -1
- package/dist/services/subscriptions/sse_hub.js.map +1 -1
- package/dist/shared/action_handlers/entity_handlers.d.ts.map +1 -1
- package/dist/shared/action_handlers/entity_handlers.js +110 -26
- package/dist/shared/action_handlers/entity_handlers.js.map +1 -1
- package/dist/shared/action_schemas.d.ts +6 -6
- package/dist/shared/contract_mappings.d.ts.map +1 -1
- package/dist/shared/contract_mappings.js +8 -1
- package/dist/shared/contract_mappings.js.map +1 -1
- package/dist/shared/openapi_types.d.ts +108 -3
- package/dist/shared/openapi_types.d.ts.map +1 -1
- package/dist/tool_definitions.d.ts.map +1 -1
- package/dist/tool_definitions.js +18 -13
- package/dist/tool_definitions.js.map +1 -1
- package/openapi.yaml +83 -3
- package/package.json +2 -1
- package/skills/status/SKILL.md +0 -1
- 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,
|
|
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
|
-
|
|
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
|
|
1
|
+
{"version":3,"file":"worker_file_database.d.ts","sourceRoot":"","sources":["../../../src/repositories/worker/worker_file_database.ts"],"names":[],"mappings":"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"}
|