@medicine-wheel/mcp 4.4.12 → 4.5.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.
@@ -9,54 +9,183 @@
9
9
  * Default behavior (MW_DATA_DIR / local JSONL) is preserved.
10
10
  */
11
11
  // ── Helpers ──
12
+ /** Carries the HTTP status so callers can tell "endpoint absent" from "server broke". */
13
+ export class HttpStoreError extends Error {
14
+ status;
15
+ url;
16
+ constructor(message, url, status) {
17
+ super(message);
18
+ this.name = 'HttpStoreError';
19
+ this.url = url;
20
+ this.status = status;
21
+ }
22
+ }
23
+ const DEFAULT_TIMEOUT_MS = 15_000;
24
+ const MAX_TRACKED_FAILURES = 50;
25
+ function requestTimeoutMs() {
26
+ const parsed = Number(process.env.MW_HTTP_TIMEOUT_MS);
27
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_TIMEOUT_MS;
28
+ }
29
+ function errorMessage(error) {
30
+ return error instanceof Error ? error.message : String(error);
31
+ }
32
+ function snippet(text) {
33
+ const flat = text.replace(/\s+/g, ' ').trim();
34
+ return flat.length > 200 ? `${flat.slice(0, 200)}…` : flat;
35
+ }
36
+ function describeShape(value) {
37
+ if (value === null)
38
+ return 'null';
39
+ if (Array.isArray(value))
40
+ return 'an array';
41
+ return `a ${typeof value}`;
42
+ }
43
+ /**
44
+ * Every request carries a deadline. Without one, a server that accepts the
45
+ * connection and then never answers parks the MCP server's single thread of
46
+ * conversation forever — the tool call never returns and never errors.
47
+ */
48
+ async function httpFetch(url, init) {
49
+ const method = init?.method ?? 'GET';
50
+ const timeoutMs = requestTimeoutMs();
51
+ const controller = new AbortController();
52
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
53
+ try {
54
+ return await fetch(url, { ...init, signal: controller.signal });
55
+ }
56
+ catch (error) {
57
+ if (controller.signal.aborted) {
58
+ throw new HttpStoreError(`HTTP ${method} ${url} timed out after ${timeoutMs}ms`, url);
59
+ }
60
+ throw new HttpStoreError(`HTTP ${method} ${url} failed: ${errorMessage(error)}`, url);
61
+ }
62
+ finally {
63
+ clearTimeout(timer);
64
+ }
65
+ }
66
+ /**
67
+ * A reverse proxy or a misrouted path answers 200 with an HTML page. Left to
68
+ * res.json(), that surfaces as "Unexpected token <" — which names neither the
69
+ * endpoint that lied nor what it actually said.
70
+ */
71
+ async function readJson(res, url, method) {
72
+ const text = await res.text();
73
+ try {
74
+ return JSON.parse(text);
75
+ }
76
+ catch {
77
+ const contentType = res.headers.get('content-type') ?? 'no content-type';
78
+ throw new HttpStoreError(`HTTP ${method} ${url} returned non-JSON (${contentType}): ${snippet(text)}`, url, res.status);
79
+ }
80
+ }
81
+ /**
82
+ * The server has drifted between `[...]` and `{ nodes: [...] }` for the same
83
+ * collection. Accept either. A payload that is neither is a real failure and
84
+ * must not reach the caller disguised as an empty collection.
85
+ */
86
+ function readCollection(payload, key, url) {
87
+ if (Array.isArray(payload))
88
+ return payload;
89
+ if (payload !== null && typeof payload === 'object') {
90
+ const inner = payload[key];
91
+ if (Array.isArray(inner))
92
+ return inner;
93
+ }
94
+ throw new HttpStoreError(`HTTP GET ${url} returned ${describeShape(payload)} — expected an array or { ${key}: [...] }`, url);
95
+ }
96
+ /** True only when the endpoint itself is absent — never for a server that broke. */
97
+ function isEndpointMissing(error) {
98
+ return error instanceof HttpStoreError && error.status === 404;
99
+ }
12
100
  async function httpGet(url) {
13
- const res = await fetch(url);
101
+ const res = await httpFetch(url);
14
102
  if (!res.ok) {
15
- throw new Error(`HTTP GET ${url} failed: ${res.status} ${res.statusText}`);
103
+ const text = await res.text().catch(() => '');
104
+ throw new HttpStoreError(`HTTP GET ${url} failed: ${res.status} ${res.statusText} — ${snippet(text)}`, url, res.status);
16
105
  }
17
- return res.json();
106
+ return (await readJson(res, url, 'GET'));
18
107
  }
19
108
  async function httpPost(url, body) {
20
- const res = await fetch(url, {
109
+ const res = await httpFetch(url, {
21
110
  method: 'POST',
22
111
  headers: { 'Content-Type': 'application/json' },
23
112
  body: JSON.stringify(body),
24
113
  });
25
114
  if (!res.ok) {
26
115
  const text = await res.text().catch(() => '');
27
- throw new Error(`HTTP POST ${url} failed: ${res.status} ${res.statusText} — ${text}`);
116
+ throw new HttpStoreError(`HTTP POST ${url} failed: ${res.status} ${res.statusText} — ${snippet(text)}`, url, res.status);
28
117
  }
29
- return res.json();
118
+ return (await readJson(res, url, 'POST'));
30
119
  }
31
120
  // ── HttpStore ──
32
121
  export class HttpStore {
33
122
  name = 'http';
34
123
  baseUrl;
124
+ failures = [];
125
+ inFlight = new Set();
35
126
  constructor(baseUrl) {
36
127
  // Strip trailing slash for consistent URL construction
37
128
  this.baseUrl = baseUrl.replace(/\/+$/, '');
38
129
  }
130
+ // === Write accountability ===
131
+ /**
132
+ * Writes keep their statement-call shape — `store.createNode(node)` still
133
+ * compiles and still returns immediately — but the promise now comes back,
134
+ * so a caller that awaits learns the truth instead of being told "created"
135
+ * over a request that 404'd. The internal catch is what keeps a rejection
136
+ * nobody awaited from taking the server down as an unhandled rejection.
137
+ */
138
+ track(operation, url, request) {
139
+ const settled = request.then(() => undefined, (error) => {
140
+ const message = errorMessage(error);
141
+ console.error(`[http-store] ${operation} failed: ${message}`);
142
+ this.failures.push({ operation, url, message, at: new Date().toISOString() });
143
+ if (this.failures.length > MAX_TRACKED_FAILURES)
144
+ this.failures.shift();
145
+ throw error;
146
+ });
147
+ // Attaching a handler to `settled` is what marks it handled for the
148
+ // call sites that ignore the returned promise.
149
+ const quiet = settled.catch(() => undefined);
150
+ this.inFlight.add(quiet);
151
+ void quiet.then(() => { this.inFlight.delete(quiet); });
152
+ return settled;
153
+ }
154
+ /** Writes that did not land, oldest first. Non-destructive. */
155
+ getWriteFailures() {
156
+ return [...this.failures];
157
+ }
158
+ /** Drain the record — for a caller that has reported the failures onward. */
159
+ takeWriteFailures() {
160
+ return this.failures.splice(0, this.failures.length);
161
+ }
162
+ /** Wait for every in-flight write to land or fail. Never rejects. */
163
+ async settleWrites() {
164
+ while (this.inFlight.size > 0) {
165
+ await Promise.all([...this.inFlight]);
166
+ }
167
+ }
39
168
  // === Nodes ===
40
169
  createNode(node) {
41
- // Fire-and-forget; callers don't await in JsonlStore either
42
- httpPost(`${this.baseUrl}/api/nodes`, node).catch(err => console.error(`[http-store] createNode failed: ${err}`));
170
+ const url = `${this.baseUrl}/api/nodes`;
171
+ return this.track('createNode', url, httpPost(url, node));
43
172
  }
44
173
  async getNode(id) {
45
174
  const all = await this.getAllNodes();
46
175
  return all.find(n => n.id === id);
47
176
  }
48
177
  async getAllNodes(limit) {
49
- const data = await httpGet(`${this.baseUrl}/api/nodes`);
50
- const nodes = data.nodes ?? [];
178
+ const url = `${this.baseUrl}/api/nodes`;
179
+ const nodes = readCollection(await httpGet(url), 'nodes', url);
51
180
  return limit !== undefined ? nodes.slice(0, limit) : nodes;
52
181
  }
53
182
  async getNodesByType(type) {
54
- const data = await httpGet(`${this.baseUrl}/api/nodes?type=${encodeURIComponent(type)}`);
55
- return data.nodes ?? [];
183
+ const url = `${this.baseUrl}/api/nodes?type=${encodeURIComponent(type)}`;
184
+ return readCollection(await httpGet(url), 'nodes', url);
56
185
  }
57
186
  async getNodesByDirection(direction) {
58
- const data = await httpGet(`${this.baseUrl}/api/nodes?direction=${encodeURIComponent(direction)}`);
59
- return data.nodes ?? [];
187
+ const url = `${this.baseUrl}/api/nodes?direction=${encodeURIComponent(direction)}`;
188
+ return readCollection(await httpGet(url), 'nodes', url);
60
189
  }
61
190
  async searchNodes(query, opts = {}) {
62
191
  // Server has no search endpoint yet — fetch all and filter client-side
@@ -72,10 +201,12 @@ export class HttpStore {
72
201
  }
73
202
  // === Edges ===
74
203
  createEdge(edge) {
75
- httpPost(`${this.baseUrl}/api/edges`, edge).catch(err => console.error(`[http-store] createEdge failed: ${err}`));
204
+ const url = `${this.baseUrl}/api/edges`;
205
+ return this.track('createEdge', url, httpPost(url, edge));
76
206
  }
77
207
  async getAllEdges() {
78
- return httpGet(`${this.baseUrl}/api/edges`);
208
+ const url = `${this.baseUrl}/api/edges`;
209
+ return readCollection(await httpGet(url), 'edges', url);
79
210
  }
80
211
  async getEdgesForNode(nodeId) {
81
212
  const edges = await this.getAllEdges();
@@ -94,28 +225,20 @@ export class HttpStore {
94
225
  }
95
226
  updateEdgeCeremony(fromId, toId, ceremonyId) {
96
227
  // No dedicated server endpoint — fetch, update, and re-post
97
- (async () => {
98
- try {
99
- const edges = await httpGet(`${this.baseUrl}/api/edges`);
100
- for (const edge of edges) {
101
- if ((edge.from_id === fromId && edge.to_id === toId) ||
102
- (edge.from_id === toId && edge.to_id === fromId)) {
103
- await httpPost(`${this.baseUrl}/api/edges`, {
104
- ...edge,
105
- ceremony_honored: true,
106
- ceremony_id: ceremonyId,
107
- });
108
- }
228
+ const url = `${this.baseUrl}/api/edges`;
229
+ return this.track('updateEdgeCeremony', url, (async () => {
230
+ const edges = await this.getAllEdges();
231
+ for (const edge of edges) {
232
+ if ((edge.from_id === fromId && edge.to_id === toId) ||
233
+ (edge.from_id === toId && edge.to_id === fromId)) {
234
+ await httpPost(url, { ...edge, ceremony_honored: true, ceremony_id: ceremonyId });
109
235
  }
110
236
  }
111
- catch (err) {
112
- console.error(`[http-store] updateEdgeCeremony failed: ${err}`);
113
- }
114
- })();
237
+ })());
115
238
  }
116
239
  async getRelationalWeb(nodeId, depth = 2) {
117
240
  const allNodes = await this.getAllNodes();
118
- const allEdges = await httpGet(`${this.baseUrl}/api/edges`);
241
+ const allEdges = await this.getAllEdges();
119
242
  const nodeMap = new Map(allNodes.map(n => [n.id, n]));
120
243
  const visited = new Set();
121
244
  const resultNodes = [];
@@ -143,35 +266,38 @@ export class HttpStore {
143
266
  }
144
267
  // === Ceremonies ===
145
268
  logCeremony(ceremony) {
146
- httpPost(`${this.baseUrl}/api/ceremonies`, ceremony).catch(err => console.error(`[http-store] logCeremony failed: ${err}`));
269
+ const url = `${this.baseUrl}/api/ceremonies`;
270
+ return this.track('logCeremony', url, httpPost(url, ceremony));
147
271
  }
148
272
  async getCeremony(id) {
149
273
  const all = await this.getAllCeremonies();
150
274
  return all.find(c => c.id === id);
151
275
  }
152
276
  async getAllCeremonies(limit) {
153
- const data = await httpGet(`${this.baseUrl}/api/ceremonies`);
154
- const sorted = (data.ceremonies ?? []).sort((a, b) => Date.parse(b.timestamp) - Date.parse(a.timestamp));
277
+ const url = `${this.baseUrl}/api/ceremonies`;
278
+ const sorted = readCollection(await httpGet(url), 'ceremonies', url).sort((a, b) => Date.parse(b.timestamp) - Date.parse(a.timestamp));
155
279
  return limit !== undefined ? sorted.slice(0, limit) : sorted;
156
280
  }
157
281
  async getCeremoniesByDirection(direction) {
158
- const data = await httpGet(`${this.baseUrl}/api/ceremonies?direction=${encodeURIComponent(direction)}`);
159
- return data.ceremonies ?? [];
282
+ const url = `${this.baseUrl}/api/ceremonies?direction=${encodeURIComponent(direction)}`;
283
+ return readCollection(await httpGet(url), 'ceremonies', url);
160
284
  }
161
285
  async getCeremoniesByType(type) {
162
- const data = await httpGet(`${this.baseUrl}/api/ceremonies?type=${encodeURIComponent(type)}`);
163
- return data.ceremonies ?? [];
286
+ const url = `${this.baseUrl}/api/ceremonies?type=${encodeURIComponent(type)}`;
287
+ return readCollection(await httpGet(url), 'ceremonies', url);
164
288
  }
165
289
  // === Beats ===
166
290
  createBeat(beat) {
167
- httpPost(`${this.baseUrl}/api/narrative/beats`, beat).catch(err => console.error(`[http-store] createBeat failed: ${err}`));
291
+ const url = `${this.baseUrl}/api/narrative/beats`;
292
+ return this.track('createBeat', url, httpPost(url, beat));
168
293
  }
169
294
  async getBeat(id) {
170
295
  const all = await this.getAllBeats();
171
296
  return all.find(b => b.id === id);
172
297
  }
173
298
  async getAllBeats(limit) {
174
- const beats = await httpGet(`${this.baseUrl}/api/narrative/beats`);
299
+ const url = `${this.baseUrl}/api/narrative/beats`;
300
+ const beats = readCollection(await httpGet(url), 'beats', url);
175
301
  return limit !== undefined ? beats.slice(0, limit) : beats;
176
302
  }
177
303
  async getBeatsByDirection(direction) {
@@ -180,14 +306,19 @@ export class HttpStore {
180
306
  }
181
307
  // === Cycles ===
182
308
  createCycle(cycle) {
183
- httpPost(`${this.baseUrl}/api/narrative/cycles`, cycle).catch(err => console.error(`[http-store] createCycle failed: ${err}`));
309
+ const url = `${this.baseUrl}/api/narrative/cycles`;
310
+ return this.track('createCycle', url, httpPost(url, cycle));
311
+ }
312
+ async listCycles() {
313
+ const url = `${this.baseUrl}/api/narrative/cycles`;
314
+ return readCollection(await httpGet(url), 'cycles', url);
184
315
  }
185
316
  async getCycle(id) {
186
- const all = await httpGet(`${this.baseUrl}/api/narrative/cycles`);
317
+ const all = await this.listCycles();
187
318
  return all.find(c => c.id === id);
188
319
  }
189
320
  async getAllCycles() {
190
- const all = await httpGet(`${this.baseUrl}/api/narrative/cycles`);
321
+ const all = await this.listCycles();
191
322
  return {
192
323
  active: all.filter(c => !c.archived),
193
324
  archived: all.filter(c => c.archived),
@@ -195,62 +326,59 @@ export class HttpStore {
195
326
  }
196
327
  archiveCycle(id) {
197
328
  // No dedicated archive endpoint — fetch, mark archived, and re-post
198
- (async () => {
199
- try {
200
- const all = await httpGet(`${this.baseUrl}/api/narrative/cycles`);
201
- const cycle = all.find(c => c.id === id);
202
- if (cycle) {
203
- await httpPost(`${this.baseUrl}/api/narrative/cycles`, {
204
- ...cycle,
205
- archived: true,
206
- });
207
- }
208
- }
209
- catch (err) {
210
- console.error(`[http-store] archiveCycle failed: ${err}`);
211
- }
212
- })();
329
+ const url = `${this.baseUrl}/api/narrative/cycles`;
330
+ return this.track('archiveCycle', url, (async () => {
331
+ const all = await this.listCycles();
332
+ const cycle = all.find(c => c.id === id);
333
+ // An archive that found nothing to archive is a failed archive. Reported
334
+ // as success it tells the circle a cycle was closed that is still open.
335
+ if (!cycle)
336
+ throw new HttpStoreError(`archiveCycle: cycle ${id} not found`, url, 404);
337
+ await httpPost(url, { ...cycle, archived: true });
338
+ })());
213
339
  }
214
340
  // === Charts ===
215
- // No server endpoint exists yet — these use a fallback pattern
216
- // that logs a warning and returns empty results.
341
+ // A deployment may predate /api/charts. That absence (404) is a fact worth
342
+ // degrading over; a 500, a timeout or an HTML page is not, and returning []
343
+ // for those tells the caller "no charts exist" when the truth is unknown.
217
344
  saveChart(chart) {
218
- httpPost(`${this.baseUrl}/api/charts`, chart).catch(err => console.error(`[http-store] saveChart: /api/charts not available — ${err}`));
345
+ const url = `${this.baseUrl}/api/charts`;
346
+ return this.track('saveChart', url, httpPost(url, chart));
219
347
  }
220
348
  async getChart(id) {
221
- try {
222
- const all = await this.getAllCharts();
223
- return all.find(c => c.id === id);
224
- }
225
- catch {
226
- console.error(`[http-store] getChart: /api/charts not available`);
227
- return undefined;
228
- }
349
+ const all = await this.getAllCharts();
350
+ return all.find(c => c.id === id);
229
351
  }
230
352
  async getAllCharts(direction) {
353
+ const url = `${this.baseUrl}/api/charts`;
354
+ let charts;
231
355
  try {
232
- const charts = await httpGet(`${this.baseUrl}/api/charts`);
233
- let result = Array.isArray(charts) ? charts : [];
234
- if (direction)
235
- result = result.filter(c => c.direction === direction);
236
- return result.sort((a, b) => Date.parse(b.updated_at) - Date.parse(a.updated_at));
356
+ charts = readCollection(await httpGet(url), 'charts', url);
237
357
  }
238
- catch {
239
- console.error(`[http-store] getAllCharts: /api/charts not available`);
358
+ catch (error) {
359
+ if (!isEndpointMissing(error))
360
+ throw error;
361
+ console.error(`[http-store] getAllCharts: ${url} not available`);
240
362
  return [];
241
363
  }
364
+ const result = direction ? charts.filter(c => c.direction === direction) : [...charts];
365
+ return result.sort((a, b) => Date.parse(b.updated_at) - Date.parse(a.updated_at));
242
366
  }
243
367
  // === MMOT ===
244
368
  saveMmot(mmot) {
245
- httpPost(`${this.baseUrl}/api/mmots`, mmot).catch(err => console.error(`[http-store] saveMmot: /api/mmots not available — ${err}`));
369
+ const url = `${this.baseUrl}/api/mmots`;
370
+ return this.track('saveMmot', url, httpPost(url, mmot));
246
371
  }
247
372
  async getMmotsByChart(chartId) {
373
+ const url = `${this.baseUrl}/api/mmots`;
248
374
  try {
249
- const all = await httpGet(`${this.baseUrl}/api/mmots`);
250
- return (Array.isArray(all) ? all : []).filter(m => m.chart_id === chartId);
375
+ const all = readCollection(await httpGet(url), 'mmots', url);
376
+ return all.filter(m => m.chart_id === chartId);
251
377
  }
252
- catch {
253
- console.error(`[http-store] getMmotsByChart: /api/mmots not available`);
378
+ catch (error) {
379
+ if (!isEndpointMissing(error))
380
+ throw error;
381
+ console.error(`[http-store] getMmotsByChart: ${url} not available`);
254
382
  return [];
255
383
  }
256
384
  }
@@ -273,8 +401,37 @@ export class HttpStore {
273
401
  if (filters.artefact !== undefined)
274
402
  params.set('artefact', filters.artefact);
275
403
  const query = params.size > 0 ? `?${params.toString()}` : '';
276
- const data = await httpGet(`${this.baseUrl}/api/inquiry-weaves${query}`);
277
- return data.inquiry_weaves ?? [];
404
+ const url = `${this.baseUrl}/api/inquiry-weaves${query}`;
405
+ return readCollection(await httpGet(url), 'inquiry_weaves', url);
406
+ }
407
+ // === Plan Perspectives ===
408
+ async registerPlanPerspective(record) {
409
+ const data = await httpPost(`${this.baseUrl}/api/plan-perspectives`, record);
410
+ return data.record ?? record;
411
+ }
412
+ async getPlanPerspective(id) {
413
+ const url = `${this.baseUrl}/api/plan-perspectives/${encodeURIComponent(id)}`;
414
+ const res = await httpFetch(url);
415
+ if (res.status === 404)
416
+ return undefined;
417
+ if (!res.ok) {
418
+ const text = await res.text().catch(() => '');
419
+ throw new HttpStoreError(`HTTP GET ${url} failed: ${res.status} ${res.statusText} — ${snippet(text)}`, url, res.status);
420
+ }
421
+ const data = (await readJson(res, url, 'GET'));
422
+ return data.record ?? undefined;
423
+ }
424
+ async listPlanPerspectives(filters = {}) {
425
+ const params = new URLSearchParams();
426
+ if (filters.episode_path !== undefined)
427
+ params.set('episode_path', filters.episode_path);
428
+ if (filters.session_id !== undefined)
429
+ params.set('session_id', filters.session_id);
430
+ if (filters.id !== undefined)
431
+ params.set('id', filters.id);
432
+ const query = params.size > 0 ? `?${params.toString()}` : '';
433
+ const url = `${this.baseUrl}/api/plan-perspectives${query}`;
434
+ return readCollection(await httpGet(url), 'plan_perspectives', url);
278
435
  }
279
436
  }
280
437
  // ── Factory ──
@@ -1 +1 @@
1
- {"version":3,"file":"http-store.js","sourceRoot":"","sources":["../src/http-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-store.js","sourceRoot":"","sources":["../src/http-store.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,14 @@ interface StoredBeat {
54
54
  timestamp: string;
55
55
  act: number;
56
56
  relations_honored: string[];
57
+ cycle_id?: string;
58
+ parent_beat_id?: string;
59
+ sub_beats?: string[];
60
+ origin?: {
61
+ producer: string;
62
+ source_ref?: string;
63
+ method?: string;
64
+ };
57
65
  }
58
66
  interface StoredCycle {
59
67
  id: string;
@@ -129,12 +137,63 @@ interface InquiryWeaveFilters {
129
137
  issue?: string;
130
138
  artefact?: string;
131
139
  }
140
+ interface StoredPlanPerspectiveEpisode {
141
+ path: string;
142
+ number?: number;
143
+ [key: string]: unknown;
144
+ }
145
+ interface StoredPlanPerspective {
146
+ id: string;
147
+ perspective: 1;
148
+ plan: {
149
+ session_id: string;
150
+ plan_path?: string;
151
+ plan_filename: string;
152
+ plan_sha256: string;
153
+ captured_at?: string;
154
+ [key: string]: unknown;
155
+ };
156
+ narrative: {
157
+ title: string;
158
+ body_markdown: string;
159
+ mia_context?: string;
160
+ [key: string]: unknown;
161
+ };
162
+ lineage?: {
163
+ user_inputs_path?: string;
164
+ input_count?: number;
165
+ first_input_at?: string;
166
+ last_input_at?: string;
167
+ excerpts?: string[];
168
+ [key: string]: unknown;
169
+ };
170
+ episodes: StoredPlanPerspectiveEpisode[];
171
+ source: {
172
+ package?: string;
173
+ generator?: {
174
+ system?: string;
175
+ agent?: string;
176
+ model?: string;
177
+ producer_session_id?: string;
178
+ [key: string]: unknown;
179
+ };
180
+ registered_at: string;
181
+ updated_at: string;
182
+ [key: string]: unknown;
183
+ };
184
+ [key: string]: unknown;
185
+ }
186
+ interface PlanPerspectiveFilters {
187
+ episode_path?: string;
188
+ session_id?: string;
189
+ id?: string;
190
+ }
132
191
  declare class JsonlCollection<T extends {
133
192
  id?: string;
134
193
  }> {
135
194
  private items;
136
195
  private filePath;
137
- private lastMtime;
196
+ private lastStamp;
138
197
  private loaded;
139
198
  constructor(filePath: string);
140
199
  private sync;
@@ -154,7 +213,7 @@ declare class JsonlCollection<T extends {
154
213
  declare class EdgeCollection {
155
214
  private items;
156
215
  private filePath;
157
- private lastMtime;
216
+ private lastStamp;
158
217
  private loaded;
159
218
  constructor(filePath: string);
160
219
  private edgeKey;
@@ -178,6 +237,7 @@ export declare class JsonlStore {
178
237
  readonly charts: JsonlCollection<StoredChart>;
179
238
  readonly mmots: JsonlCollection<StoredMmot>;
180
239
  readonly inquiryWeaves: JsonlCollection<StoredInquiryWeave>;
240
+ readonly planPerspectives: JsonlCollection<StoredPlanPerspective>;
181
241
  constructor(dataDir?: string);
182
242
  createNode(node: StoredNode): void;
183
243
  getNode(id: string): StoredNode | undefined;
@@ -222,6 +282,9 @@ export declare class JsonlStore {
222
282
  registerInquiryWeave(record: StoredInquiryWeave): void;
223
283
  getInquiryWeave(id: string): StoredInquiryWeave | undefined;
224
284
  listInquiryWeaves(filters?: InquiryWeaveFilters): StoredInquiryWeave[];
285
+ registerPlanPerspective(record: StoredPlanPerspective): StoredPlanPerspective;
286
+ getPlanPerspective(id: string): StoredPlanPerspective | undefined;
287
+ listPlanPerspectives(filters?: PlanPerspectiveFilters): StoredPlanPerspective[];
225
288
  }
226
289
  export declare function getJsonlStore(dataDir?: string): JsonlStore;
227
290
  export {};