opencode-flema-engram-sidebar 0.1.7 → 0.2.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 (53) hide show
  1. package/README.md +183 -33
  2. package/dist/adapters/cloud.js +1 -1
  3. package/dist/adapters/cloud.js.map +1 -1
  4. package/dist/adapters/factory.d.ts +2 -0
  5. package/dist/adapters/factory.d.ts.map +1 -1
  6. package/dist/adapters/factory.js +14 -3
  7. package/dist/adapters/factory.js.map +1 -1
  8. package/dist/adapters/local.d.ts.map +1 -1
  9. package/dist/adapters/local.js +5 -4
  10. package/dist/adapters/local.js.map +1 -1
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/maintenance/cli.d.ts +21 -0
  16. package/dist/maintenance/cli.d.ts.map +1 -0
  17. package/dist/maintenance/cli.js +571 -0
  18. package/dist/maintenance/cli.js.map +1 -0
  19. package/dist/maintenance.d.ts +3 -0
  20. package/dist/maintenance.d.ts.map +1 -0
  21. package/dist/maintenance.js +4 -0
  22. package/dist/maintenance.js.map +1 -0
  23. package/dist/mcp/server.js +4 -4
  24. package/dist/mcp/server.js.map +1 -1
  25. package/dist/mcp/tools/get-project-state.d.ts +3 -0
  26. package/dist/mcp/tools/get-project-state.d.ts.map +1 -1
  27. package/dist/mcp/tools/get-project-state.js +11 -6
  28. package/dist/mcp/tools/get-project-state.js.map +1 -1
  29. package/dist/schemas/odd-state.d.ts +401 -0
  30. package/dist/schemas/odd-state.d.ts.map +1 -0
  31. package/dist/schemas/odd-state.js +41 -0
  32. package/dist/schemas/odd-state.js.map +1 -0
  33. package/dist/sidebar/components/odd-progress.d.ts +13 -0
  34. package/dist/sidebar/components/odd-progress.d.ts.map +1 -0
  35. package/dist/sidebar/components/odd-progress.js +26 -0
  36. package/dist/sidebar/components/odd-progress.js.map +1 -0
  37. package/dist/sidebar/hooks/use-engram.d.ts +7 -0
  38. package/dist/sidebar/hooks/use-engram.d.ts.map +1 -1
  39. package/dist/sidebar/hooks/use-engram.js +53 -15
  40. package/dist/sidebar/hooks/use-engram.js.map +1 -1
  41. package/dist/sidebar/plugin.d.ts +72 -3
  42. package/dist/sidebar/plugin.d.ts.map +1 -1
  43. package/dist/sidebar/plugin.js +168 -79
  44. package/dist/sidebar/plugin.js.map +1 -1
  45. package/dist/utils/odd-detector.d.ts +8 -0
  46. package/dist/utils/odd-detector.d.ts.map +1 -0
  47. package/dist/utils/odd-detector.js +137 -0
  48. package/dist/utils/odd-detector.js.map +1 -0
  49. package/dist/utils/timeout.d.ts +4 -0
  50. package/dist/utils/timeout.d.ts.map +1 -0
  51. package/dist/utils/timeout.js +31 -0
  52. package/dist/utils/timeout.js.map +1 -0
  53. package/package.json +6 -4
@@ -8,15 +8,20 @@ const { version: PACKAGE_VERSION } = require("../../package.json");
8
8
  import { resolveProject } from "../utils/project-resolver.js";
9
9
  import { activityLines } from "./components/activity-feed.js";
10
10
  import { blockerLines } from "./components/blockers.js";
11
+ import { oddProgressLines } from "./components/odd-progress.js";
11
12
  import { phaseProgressLines } from "./components/phase-progress.js";
12
13
  import { projectLines } from "./components/project-list.js";
13
- import { useEngram } from "./hooks/use-engram.js";
14
+ import { useEngram, withStageTimeout } from "./hooks/use-engram.js";
14
15
  export const REFRESH_SHORTCUT = "alt+r";
15
16
  export const TOGGLE_SHORTCUT = "alt+c";
17
+ export const LEGACY_SDD_COMMAND = "engram.workflow.legacy-sdd";
18
+ export const ODD_COMMAND = "engram.workflow.odd";
16
19
  const REFRESH_STAGE_TIMEOUT_HINT = "5s per request";
17
20
  export function createSidebarActionRegistry() {
18
21
  const defaultSession = "engram-default-session";
19
22
  const instances = new Map();
23
+ // Session choices outlive mounts, but never outlive this plugin-owned registry.
24
+ const workflowModes = new Map();
20
25
  let routePendingOwner;
21
26
  const createMount = (requestedSession) => {
22
27
  const sessionId = requestedSession ?? defaultSession;
@@ -33,8 +38,10 @@ export function createSidebarActionRegistry() {
33
38
  return {
34
39
  activate(dependencies) {
35
40
  const active = instances.get(sessionId);
36
- if (active?.token === token)
41
+ if (active?.token === token) {
37
42
  active.dependencies = dependencies;
43
+ dependencies.setWorkflowMode?.(workflowModes.get(sessionId) ?? "odd");
44
+ }
38
45
  return dispose;
39
46
  },
40
47
  scheduleInitialRefresh(visibleSession) {
@@ -60,6 +67,14 @@ export function createSidebarActionRegistry() {
60
67
  return false;
61
68
  if (visibleSession() !== sessionId)
62
69
  return false;
70
+ if (key === LEGACY_SDD_COMMAND || key === ODD_COMMAND) {
71
+ if (!active.dependencies.setWorkflowMode)
72
+ return false;
73
+ const mode = key === LEGACY_SDD_COMMAND ? "legacy-sdd" : "odd";
74
+ workflowModes.set(sessionId, mode);
75
+ active.dependencies.setWorkflowMode(mode);
76
+ return true;
77
+ }
63
78
  return handleSidebarKey(key, {
64
79
  ...active.dependencies,
65
80
  isCurrent: () => instances.get(sessionId)?.token === active.token && visibleSession() === sessionId,
@@ -98,7 +113,8 @@ export function describeSidebar(state, actionStatus, collapsed = false) {
98
113
  project: state.project,
99
114
  resolution: state.resolution,
100
115
  }),
101
- ...phaseProgressLines(state.changes),
116
+ ` Workflow: ${state.workflowMode === "legacy-sdd" ? "Legacy SDD (session only)" : "ODD"}`,
117
+ ...(state.workflowMode === "legacy-sdd" ? phaseProgressLines(state.changes) : oddProgressLines(state.odd)),
102
118
  ...blockerLines(state.blockers),
103
119
  ...activityLines(state.recentActivity),
104
120
  refreshLine,
@@ -189,6 +205,11 @@ function asOptions(input) {
189
205
  pollInterval: typeof input?.pollInterval === "number" && input.pollInterval > 0
190
206
  ? input.pollInterval
191
207
  : undefined,
208
+ timeoutMs: typeof input?.timeoutMs === "number"
209
+ && Number.isFinite(input.timeoutMs)
210
+ && input.timeoutMs > 0
211
+ ? input.timeoutMs
212
+ : undefined,
192
213
  cloudUrl: typeof input?.cloudUrl === "string" ? input.cloudUrl : undefined,
193
214
  baseUrl: typeof input?.baseUrl === "string" ? input.baseUrl : undefined,
194
215
  token: typeof input?.token === "string" ? input.token : undefined,
@@ -216,6 +237,7 @@ export function EngramSidebar(props) {
216
237
  resolution: props.projectResolution,
217
238
  initialError: props.initialError,
218
239
  pollInterval: props.pollInterval,
240
+ stageTimeoutMs: props.stageTimeoutMs,
219
241
  resolveProject: props.resolveProject,
220
242
  autoRefresh: false,
221
243
  });
@@ -229,12 +251,13 @@ export function EngramSidebar(props) {
229
251
  setStatus: setActionStatus,
230
252
  state: engram.state,
231
253
  toggleCollapsed,
254
+ setWorkflowMode: engram.setWorkflowMode,
232
255
  };
233
256
  const deactivate = props.actionMount
234
257
  ? props.actionMount.activate(actionDependencies)
235
258
  : props.actionRegistry.activate(actionDependencies, props.sessionId);
236
259
  onCleanup(deactivate);
237
- return (_jsx(ErrorBoundary, { fallback: (error) => _jsx("text", { children: `Engram sidebar unavailable: ${String(error)}` }), children: _jsxs("box", { flexDirection: "column", children: [_jsx("text", { fg: props.theme?.current.text, onMouseDown: toggleCollapsed, children: asOpenTUIReactiveTextChild(header) }), _jsx("text", { fg: props.theme?.current.text, children: asOpenTUIReactiveTextChild(body) })] }) }));
260
+ return (_jsx(ErrorBoundary, { fallback: (error) => _jsx("text", { children: `Engram sidebar unavailable: ${String(error)}` }), children: _jsxs("box", { flexDirection: "column", children: [_jsx("text", { fg: props.textColor ?? props.theme?.current.text, onMouseDown: toggleCollapsed, children: asOpenTUIReactiveTextChild(header) }), _jsx("text", { fg: props.textColor ?? props.theme?.current.text, children: asOpenTUIReactiveTextChild(body) })] }) }));
238
261
  }
239
262
  export function createSidebarTextAccessor(state, actionStatus, collapsed) {
240
263
  return () => describeSidebar(state(), actionStatus(), collapsed?.() ?? false).join("\n");
@@ -252,6 +275,7 @@ export function createSidebarSectionAccessors(state) {
252
275
  project: () => state().project,
253
276
  resolution: () => state().resolution,
254
277
  },
278
+ odd: () => state().odd,
255
279
  changes: () => state().changes,
256
280
  blockers: () => state().blockers,
257
281
  activity: () => state().recentActivity,
@@ -260,95 +284,110 @@ export function createSidebarSectionAccessors(state) {
260
284
  function failureMessage(error) {
261
285
  return error instanceof Error ? error.message : String(error);
262
286
  }
287
+ const DEFAULT_STAGE_TIMEOUT_MS = 5_000;
288
+ async function prepareSidebar(dependencies, rawOptions, getActiveCwd) {
289
+ const options = asOptions(rawOptions);
290
+ if (options.enabled === false)
291
+ return { status: "disabled" };
292
+ let adapter;
293
+ try {
294
+ adapter = dependencies.adapter ?? createConfiguredAdapter(options);
295
+ }
296
+ catch (error) {
297
+ return { status: "error", message: `Engram sidebar unavailable: ${failureMessage(error)}` };
298
+ }
299
+ let projectResolution;
300
+ let initialError;
301
+ try {
302
+ projectResolution = await withStageTimeout(resolveProject(adapter, getActiveCwd(), { explicitProject: options.project }), "project resolution", options.timeoutMs ?? DEFAULT_STAGE_TIMEOUT_MS);
303
+ if (projectResolution.validation === "offline") {
304
+ initialError = "Engram project validation was unavailable during startup";
305
+ }
306
+ }
307
+ catch (error) {
308
+ projectResolution = { validation: "offline" };
309
+ initialError = `Initial project resolution failed: ${failureMessage(error)}`;
310
+ }
311
+ return {
312
+ status: "ready",
313
+ sidebar: { options, adapter, projectResolution, initialError, getActiveCwd },
314
+ };
315
+ }
316
+ function createSharedSidebarCommands(actionRegistry, visibleSession) {
317
+ const command = (id, title, action, bind) => ({
318
+ id,
319
+ title,
320
+ bind,
321
+ run: () => {
322
+ const sessionId = visibleSession();
323
+ return sessionId ? actionRegistry.run(action, sessionId, visibleSession) : false;
324
+ },
325
+ });
326
+ return [
327
+ command(LEGACY_SDD_COMMAND, "Enable legacy SDD for this session", LEGACY_SDD_COMMAND),
328
+ command(ODD_COMMAND, "Return this session to ODD", ODD_COMMAND),
329
+ command("engram.refresh", "Refresh Engram sidebar", REFRESH_SHORTCUT, REFRESH_SHORTCUT),
330
+ command("engram.toggle-collapse", "Collapse/expand Engram sidebar", TOGGLE_SHORTCUT, TOGGLE_SHORTCUT),
331
+ ];
332
+ }
333
+ function renderPreparedSidebar(sidebar, renderSidebar, actionRegistry, sessionId, visibleSession, theme, textColor) {
334
+ const actionMount = actionRegistry.createMount(sessionId);
335
+ const result = renderSidebarSafely(renderSidebar, {
336
+ adapter: sidebar.adapter,
337
+ projectName: sidebar.projectResolution.projectName,
338
+ projectResolution: sidebar.projectResolution,
339
+ initialError: sidebar.initialError,
340
+ pollInterval: sidebar.options.pollInterval,
341
+ stageTimeoutMs: sidebar.options.timeoutMs,
342
+ theme,
343
+ textColor,
344
+ actionRegistry,
345
+ actionMount,
346
+ sessionId,
347
+ resolveProject: () => resolveProject(sidebar.adapter, sidebar.getActiveCwd(), {
348
+ explicitProject: sidebar.options.project,
349
+ }),
350
+ });
351
+ if (result.ok)
352
+ actionMount.scheduleInitialRefresh(visibleSession);
353
+ else
354
+ actionMount.dispose();
355
+ return result;
356
+ }
263
357
  export function createEngramTuiPlugin(dependencies = {}) {
264
- const cwd = dependencies.cwd ?? process.cwd();
265
358
  const renderSidebar = dependencies.renderSidebar ?? ((props) => _jsx(EngramSidebar, { ...props }));
359
+ const renderFallback = dependencies.renderFallback ?? ((message) => _jsx("text", { children: message }));
266
360
  const actionRegistry = dependencies.actionRegistry ?? createSidebarActionRegistry();
267
361
  return {
268
362
  id: "engram-sidebar",
269
363
  tui: async (api, rawOptions) => {
270
- const options = asOptions(rawOptions);
271
- if (options.enabled === false)
364
+ const getActiveCwd = () => api.state?.path?.directory
365
+ || api.state?.path?.worktree
366
+ || dependencies.cwd
367
+ || process.cwd();
368
+ const prepared = await prepareSidebar(dependencies, rawOptions, getActiveCwd);
369
+ if (prepared.status === "disabled")
370
+ return;
371
+ if (prepared.status === "error") {
372
+ api.slots.register({ slots: { sidebar_content: () => renderFallback(prepared.message) } });
272
373
  return;
273
- const adapter = dependencies.adapter ?? createConfiguredAdapter(options);
274
- const getActiveCwd = () => {
275
- return (api.state?.path?.directory ||
276
- api.state?.path?.worktree ||
277
- dependencies.cwd ||
278
- process.cwd());
279
- };
280
- let projectResolution;
281
- let initialError;
282
- try {
283
- projectResolution = await resolveProject(adapter, getActiveCwd(), {
284
- explicitProject: options.project,
285
- });
286
- if (projectResolution.validation === "offline") {
287
- initialError = "Engram project validation was unavailable during startup";
288
- }
289
- }
290
- catch (error) {
291
- projectResolution = { validation: "offline" };
292
- initialError = `Initial project resolution failed: ${failureMessage(error)}`;
293
374
  }
375
+ const visibleSession = () => currentRouteSession(api.route.current);
376
+ const commands = createSharedSidebarCommands(actionRegistry, visibleSession);
294
377
  api.keymap.registerLayer({
295
378
  mode: "base",
296
- commands: [
297
- {
298
- name: "engram.refresh",
299
- title: "Refresh Engram sidebar",
300
- category: "Engram",
301
- run: () => {
302
- const sessionId = currentRouteSession(api.route.current);
303
- return sessionId
304
- ? actionRegistry.run(REFRESH_SHORTCUT, sessionId, () => currentRouteSession(api.route.current))
305
- : false;
306
- },
307
- },
308
- {
309
- name: "engram.toggle-collapse",
310
- title: "Collapse/expand Engram sidebar",
311
- category: "Engram",
312
- run: () => {
313
- const sessionId = currentRouteSession(api.route.current);
314
- return sessionId
315
- ? actionRegistry.run(TOGGLE_SHORTCUT, sessionId, () => currentRouteSession(api.route.current))
316
- : false;
317
- },
318
- },
319
- ],
320
- bindings: [
321
- { key: REFRESH_SHORTCUT, cmd: "engram.refresh", desc: "Refresh Engram sidebar" },
322
- { key: TOGGLE_SHORTCUT, cmd: "engram.toggle-collapse", desc: "Collapse/expand Engram sidebar" },
323
- ],
379
+ commands: commands.map(({ id: name, title, run }) => ({ name, title, category: "Engram", run })),
380
+ bindings: commands.flatMap(({ id, title, bind }) => bind
381
+ ? [{ key: bind, cmd: id, desc: title }]
382
+ : []),
324
383
  });
325
384
  const slot = {
326
385
  slots: {
327
- sidebar_content(context, _props) {
328
- const actionMount = actionRegistry.createMount(_props.session_id);
329
- const result = renderSidebarSafely(renderSidebar, {
330
- adapter,
331
- projectName: projectResolution.projectName,
332
- projectResolution,
333
- initialError,
334
- pollInterval: options.pollInterval,
335
- theme: context.theme,
336
- actionRegistry,
337
- actionMount,
338
- sessionId: _props.session_id,
339
- resolveProject: () => resolveProject(adapter, getActiveCwd(), {
340
- explicitProject: options.project,
341
- }),
342
- });
343
- if (result.ok) {
344
- actionMount.scheduleInitialRefresh(() => currentRouteSession(api.route.current));
345
- }
346
- else {
347
- actionMount.dispose();
348
- }
386
+ sidebar_content(context, { session_id }) {
387
+ const result = renderPreparedSidebar(prepared.sidebar, renderSidebar, actionRegistry, session_id, visibleSession, context.theme);
349
388
  return result.ok
350
389
  ? result.element
351
- : _jsx("text", { children: `Engram sidebar unavailable: ${result.error}` });
390
+ : renderFallback(`Engram sidebar unavailable: ${result.error}`);
352
391
  },
353
392
  },
354
393
  };
@@ -356,10 +395,60 @@ export function createEngramTuiPlugin(dependencies = {}) {
356
395
  },
357
396
  };
358
397
  }
359
- const plugin = createEngramTuiPlugin();
398
+ export function createEngramV2TuiPlugin(dependencies = {}) {
399
+ const renderSidebar = dependencies.renderSidebar ?? ((props) => _jsx(EngramSidebar, { ...props }));
400
+ const renderFallback = dependencies.renderFallback ?? ((message) => _jsx("text", { children: message }));
401
+ const actionRegistry = dependencies.actionRegistry ?? createSidebarActionRegistry();
402
+ return {
403
+ id: "engram-sidebar",
404
+ async setup(context) {
405
+ const getActiveCwd = () => context.location?.directory
406
+ || context.data?.location?.default?.().directory
407
+ || dependencies.cwd
408
+ || process.cwd();
409
+ const prepared = await prepareSidebar(dependencies, context.options, getActiveCwd);
410
+ if (prepared.status === "disabled")
411
+ return;
412
+ if (prepared.status === "error") {
413
+ context.ui.slot({
414
+ append: "sidebar.content",
415
+ render: () => renderFallback(prepared.message),
416
+ });
417
+ return;
418
+ }
419
+ const visibleSession = () => currentV2RouteSession(context.ui.router.current());
420
+ const commands = createSharedSidebarCommands(actionRegistry, visibleSession);
421
+ context.keymap.layer(() => ({
422
+ mode: "global",
423
+ commands: commands.map(({ id, title, bind, run }) => ({
424
+ id, title, bind, run, group: "Engram", palette: true,
425
+ })),
426
+ bindings: commands.flatMap(({ id, bind }) => bind ? [id] : []),
427
+ }));
428
+ context.ui.slot({
429
+ append: "sidebar.content",
430
+ render: ({ sessionID }) => {
431
+ const result = renderPreparedSidebar(prepared.sidebar, renderSidebar, actionRegistry, sessionID, visibleSession, undefined, context.theme.text.base);
432
+ return result.ok
433
+ ? result.element
434
+ : renderFallback(`Engram sidebar unavailable: ${result.error}`);
435
+ },
436
+ });
437
+ },
438
+ };
439
+ }
440
+ function currentV2RouteSession(route) {
441
+ return route.type === "session" && typeof route.sessionID === "string"
442
+ ? route.sessionID
443
+ : undefined;
444
+ }
445
+ const v1Plugin = createEngramTuiPlugin();
446
+ const v2Plugin = createEngramV2TuiPlugin();
447
+ const plugin = { ...v1Plugin, setup: v2Plugin.setup };
360
448
  export default plugin;
361
449
  export { ActivityFeed } from "./components/activity-feed.js";
362
450
  export { Blockers } from "./components/blockers.js";
451
+ export { ODDProgress } from "./components/odd-progress.js";
363
452
  export { PhaseProgress } from "./components/phase-progress.js";
364
453
  export { ProjectList } from "./components/project-list.js";
365
454
  export { useEngram } from "./hooks/use-engram.js";
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/sidebar/plugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/sidebar/plugin.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Observation } from "../adapters/types.js";
2
+ import type { ODDState } from "../schemas/odd-state.js";
3
+ export declare function parseODDTopicKey(topicKey: string): {
4
+ featureId: string;
5
+ } | null;
6
+ /** Derive only from supplied observations; no history fetch, SDD fallback or inferred progress. */
7
+ export declare function deriveODDState(observations: readonly Observation[]): ODDState;
8
+ //# sourceMappingURL=odd-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odd-detector.d.ts","sourceRoot":"","sources":["../../src/utils/odd-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAA4C,QAAQ,EAAW,MAAM,yBAAyB,CAAC;AAG3G,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG/E;AAwFD,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,QAAQ,CAyC7E"}
@@ -0,0 +1,137 @@
1
+ import { oddTaskSchema } from "../schemas/odd-state.js";
2
+ import { engramTimestampSchema } from "../schemas/timestamp.js";
3
+ export function parseODDTopicKey(topicKey) {
4
+ const match = /^odd\/([^/\s]+)\/tasks$/.exec(topicKey);
5
+ return match && match[0] === topicKey ? { featureId: match[1] } : null;
6
+ }
7
+ const TASK_LINE = /^- \[([ x])\] `([^`]+)` \*\*([^*]+)\*\* — (\S.*)$/;
8
+ function orderingTimestamp(original, normalized) {
9
+ // Validation normalizes SQLite timestamps without their fraction; Date.parse
10
+ // also truncates ISO sub-millisecond digits. Keep the original digits separately.
11
+ return {
12
+ wholeSecond: Date.parse(normalized.replace(/\.\d+(?=Z$)/, "")),
13
+ fraction: /\.(\d+)/.exec(original)?.[1] ?? "",
14
+ };
15
+ }
16
+ function compareTimestamps(a, b) {
17
+ if (a.wholeSecond !== b.wholeSecond)
18
+ return a.wholeSecond - b.wholeSecond;
19
+ const precision = Math.max(a.fraction.length, b.fraction.length);
20
+ const left = a.fraction.padEnd(precision, "0");
21
+ const right = b.fraction.padEnd(precision, "0");
22
+ return left === right ? 0 : left > right ? 1 : -1;
23
+ }
24
+ function parseDocument(observation, featureId, provenance) {
25
+ const diagnostics = [];
26
+ const report = (code, message, line) => {
27
+ diagnostics.push({ code, message, provenance, ...(line ? { line } : {}) });
28
+ };
29
+ const tasks = [];
30
+ const ids = new Set();
31
+ const titles = [];
32
+ let sections = 0;
33
+ let inTasks = false;
34
+ let fence;
35
+ for (const [index, raw] of observation.content.split(/\r?\n/).entries()) {
36
+ const line = index + 1;
37
+ const fenceMatch = /^ {0,3}(`{3,}|~{3,})(.*)$/.exec(raw);
38
+ if (fence) {
39
+ if (fenceMatch && fenceMatch[1][0] === fence.marker &&
40
+ fenceMatch[1].length >= fence.length && !fenceMatch[2].trim())
41
+ fence = undefined;
42
+ continue;
43
+ }
44
+ if (fenceMatch) {
45
+ fence = { marker: fenceMatch[1][0], length: fenceMatch[1].length };
46
+ continue;
47
+ }
48
+ const heading = /^# ODD Feature: (\S.*)$/.exec(raw);
49
+ if (heading)
50
+ titles.push(heading[1].trim());
51
+ if (/^#{1,2}(?:\s|$)/.test(raw)) {
52
+ inTasks = /^## Tasks\s*$/.test(raw);
53
+ if (inTasks)
54
+ sections++;
55
+ continue;
56
+ }
57
+ if (!inTasks || !/^\s*[-*+]\s+\[/.test(raw))
58
+ continue;
59
+ const match = TASK_LINE.exec(raw);
60
+ const parsed = oddTaskSchema.safeParse(match && {
61
+ id: match[2], status: match[3], title: match[4].trim(),
62
+ });
63
+ if (!match || !parsed.success) {
64
+ report("invalid_task", "Expected a canonical task checklist line with stable ID, status and title.", line);
65
+ continue;
66
+ }
67
+ const task = parsed.data;
68
+ if ((match[1] === "x") !== (task.status === "done" || task.status === "cancelled")) {
69
+ report("checkbox_status_mismatch", "Checkbox must agree with explicit task status.", line);
70
+ }
71
+ if (ids.has(task.id))
72
+ report("duplicate_task_id", `Duplicate task ID: ${task.id}.`, line);
73
+ ids.add(task.id);
74
+ tasks.push(task);
75
+ }
76
+ if (fence)
77
+ report("unclosed_fence", "Markdown fence must be closed.");
78
+ if (titles.length !== 1)
79
+ report("invalid_heading", "Expected exactly one top-level ODD Feature heading.");
80
+ if (sections !== 1)
81
+ report("invalid_tasks_section", "Expected exactly one Tasks section.");
82
+ if (sections === 1 && tasks.length === 0 && diagnostics.length === 0) {
83
+ report("empty_tasks", "Tasks section must contain at least one canonical task.");
84
+ }
85
+ if (diagnostics.length)
86
+ return { diagnostics };
87
+ const progress = {
88
+ total: tasks.length, pending: 0, in_progress: 0, blocked: 0, done: 0, cancelled: 0,
89
+ };
90
+ for (const task of tasks)
91
+ progress[task.status]++;
92
+ return { diagnostics, feature: { version: 1, featureId, title: titles[0], tasks, progress, provenance } };
93
+ }
94
+ /** Derive only from supplied observations; no history fetch, SDD fallback or inferred progress. */
95
+ export function deriveODDState(observations) {
96
+ const diagnostics = [];
97
+ const latest = new Map();
98
+ for (const observation of observations) {
99
+ if (!observation.topic_key.startsWith("odd/"))
100
+ continue;
101
+ const provenance = {
102
+ observationId: observation.id, topicKey: observation.topic_key,
103
+ project: observation.project, updatedAt: observation.updated_at,
104
+ };
105
+ const topic = parseODDTopicKey(observation.topic_key);
106
+ if (!topic) {
107
+ diagnostics.push({ code: "invalid_topic", message: "Expected odd/<feature-id>/tasks.", provenance });
108
+ continue;
109
+ }
110
+ const timestamp = engramTimestampSchema.safeParse(observation.updated_at);
111
+ if (!timestamp.success) {
112
+ diagnostics.push({ code: "invalid_timestamp", message: "Expected a valid Engram timestamp.", provenance });
113
+ continue;
114
+ }
115
+ const parsed = parseDocument(observation, topic.featureId, provenance);
116
+ diagnostics.push(...parsed.diagnostics);
117
+ if (!parsed.feature)
118
+ continue;
119
+ const key = JSON.stringify([observation.project, topic.featureId]);
120
+ const current = latest.get(key);
121
+ const time = orderingTimestamp(observation.updated_at, timestamp.data);
122
+ const comparison = current ? compareTimestamps(time, current.timestamp) : 1;
123
+ if (!current || comparison > 0 ||
124
+ (comparison === 0 && observation.id > current.feature.provenance.observationId)) {
125
+ latest.set(key, { feature: parsed.feature, timestamp: time });
126
+ }
127
+ }
128
+ return {
129
+ bounded: true,
130
+ features: [...latest.values()].map(({ feature }) => feature).sort((a, b) => a.provenance.project.localeCompare(b.provenance.project) || a.featureId.localeCompare(b.featureId)),
131
+ diagnostics: diagnostics.sort((a, b) => a.provenance.project.localeCompare(b.provenance.project) ||
132
+ a.provenance.topicKey.localeCompare(b.provenance.topicKey) ||
133
+ a.provenance.observationId - b.provenance.observationId || (a.line ?? 0) - (b.line ?? 0) ||
134
+ a.code.localeCompare(b.code)),
135
+ };
136
+ }
137
+ //# sourceMappingURL=odd-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odd-detector.js","sourceRoot":"","sources":["../../src/utils/odd-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const MAX_TIMER_DELAY_MS = 2147483647;
2
+ /** Schedule any positive finite delay without triggering the platform timer overflow clamp. */
3
+ export declare function scheduleLongTimeout(callback: () => void, delayMs: number): () => void;
4
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/utils/timeout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,aAAgB,CAAC;AAEhD,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CA4BrF"}
@@ -0,0 +1,31 @@
1
+ export const MAX_TIMER_DELAY_MS = 2_147_483_647;
2
+ /** Schedule any positive finite delay without triggering the platform timer overflow clamp. */
3
+ export function scheduleLongTimeout(callback, delayMs) {
4
+ if (!Number.isFinite(delayMs) || delayMs <= 0) {
5
+ throw new Error(`Invalid delayMs: ${delayMs}`);
6
+ }
7
+ let remainingMs = delayMs;
8
+ let timeoutId;
9
+ let cancelled = false;
10
+ const scheduleNextChunk = () => {
11
+ const chunkMs = Math.min(remainingMs, MAX_TIMER_DELAY_MS);
12
+ timeoutId = setTimeout(() => {
13
+ if (cancelled)
14
+ return;
15
+ const nextRemainingMs = remainingMs - chunkMs;
16
+ if (nextRemainingMs <= 0) {
17
+ callback();
18
+ return;
19
+ }
20
+ remainingMs = nextRemainingMs;
21
+ scheduleNextChunk();
22
+ }, chunkMs);
23
+ };
24
+ scheduleNextChunk();
25
+ return () => {
26
+ cancelled = true;
27
+ if (timeoutId !== undefined)
28
+ clearTimeout(timeoutId);
29
+ };
30
+ }
31
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/utils/timeout.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,UAAU,mBAAmB,CAAC,QAAoB,EAAE,OAAe;IACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC;IAC1B,IAAI,SAAoD,CAAC;IACzD,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC1D,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;YAC9C,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;gBACzB,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,WAAW,GAAG,eAAe,CAAC;YAC9B,iBAAiB,EAAE,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAC;IAEF,iBAAiB,EAAE,CAAC;IACpB,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC"}