ai-memory-layer 2.0.0 → 3.0.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 (186) hide show
  1. package/CHANGELOG.md +19 -12
  2. package/README.md +435 -320
  3. package/bin/memory-server.mjs +0 -0
  4. package/dist/adapters/memory/embeddings.d.ts.map +1 -1
  5. package/dist/adapters/memory/embeddings.js +12 -1
  6. package/dist/adapters/memory/embeddings.js.map +1 -1
  7. package/dist/adapters/memory/index.d.ts.map +1 -1
  8. package/dist/adapters/memory/index.js +1281 -48
  9. package/dist/adapters/memory/index.js.map +1 -1
  10. package/dist/adapters/postgres/index.d.ts +1 -0
  11. package/dist/adapters/postgres/index.d.ts.map +1 -1
  12. package/dist/adapters/postgres/index.js +1770 -42
  13. package/dist/adapters/postgres/index.js.map +1 -1
  14. package/dist/adapters/sqlite/embeddings.d.ts.map +1 -1
  15. package/dist/adapters/sqlite/embeddings.js +49 -12
  16. package/dist/adapters/sqlite/embeddings.js.map +1 -1
  17. package/dist/adapters/sqlite/index.d.ts.map +1 -1
  18. package/dist/adapters/sqlite/index.js +1720 -38
  19. package/dist/adapters/sqlite/index.js.map +1 -1
  20. package/dist/adapters/sqlite/mappers.d.ts +39 -4
  21. package/dist/adapters/sqlite/mappers.d.ts.map +1 -1
  22. package/dist/adapters/sqlite/mappers.js +87 -0
  23. package/dist/adapters/sqlite/mappers.js.map +1 -1
  24. package/dist/adapters/sqlite/schema.d.ts +1 -1
  25. package/dist/adapters/sqlite/schema.d.ts.map +1 -1
  26. package/dist/adapters/sqlite/schema.js +297 -1
  27. package/dist/adapters/sqlite/schema.js.map +1 -1
  28. package/dist/adapters/sync-to-async.d.ts.map +1 -1
  29. package/dist/adapters/sync-to-async.js +54 -0
  30. package/dist/adapters/sync-to-async.js.map +1 -1
  31. package/dist/contracts/async-storage.d.ts +61 -1
  32. package/dist/contracts/async-storage.d.ts.map +1 -1
  33. package/dist/contracts/cognitive.d.ts +37 -0
  34. package/dist/contracts/cognitive.d.ts.map +1 -0
  35. package/dist/contracts/cognitive.js +24 -0
  36. package/dist/contracts/cognitive.js.map +1 -0
  37. package/dist/contracts/coordination.d.ts +101 -0
  38. package/dist/contracts/coordination.d.ts.map +1 -0
  39. package/dist/contracts/coordination.js +26 -0
  40. package/dist/contracts/coordination.js.map +1 -0
  41. package/dist/contracts/embedding.d.ts +1 -1
  42. package/dist/contracts/embedding.d.ts.map +1 -1
  43. package/dist/contracts/errors.d.ts +28 -0
  44. package/dist/contracts/errors.d.ts.map +1 -0
  45. package/dist/contracts/errors.js +41 -0
  46. package/dist/contracts/errors.js.map +1 -0
  47. package/dist/contracts/identity.d.ts +2 -0
  48. package/dist/contracts/identity.d.ts.map +1 -1
  49. package/dist/contracts/identity.js +26 -1
  50. package/dist/contracts/identity.js.map +1 -1
  51. package/dist/contracts/observability.d.ts +2 -1
  52. package/dist/contracts/observability.d.ts.map +1 -1
  53. package/dist/contracts/observability.js +11 -0
  54. package/dist/contracts/observability.js.map +1 -1
  55. package/dist/contracts/profile.d.ts +29 -0
  56. package/dist/contracts/profile.d.ts.map +1 -0
  57. package/dist/contracts/profile.js +2 -0
  58. package/dist/contracts/profile.js.map +1 -0
  59. package/dist/contracts/session-state.d.ts +10 -0
  60. package/dist/contracts/session-state.d.ts.map +1 -0
  61. package/dist/contracts/session-state.js +2 -0
  62. package/dist/contracts/session-state.js.map +1 -0
  63. package/dist/contracts/storage.d.ts +73 -1
  64. package/dist/contracts/storage.d.ts.map +1 -1
  65. package/dist/contracts/storage.js +16 -1
  66. package/dist/contracts/storage.js.map +1 -1
  67. package/dist/contracts/temporal.d.ts +112 -0
  68. package/dist/contracts/temporal.d.ts.map +1 -0
  69. package/dist/contracts/temporal.js +31 -0
  70. package/dist/contracts/temporal.js.map +1 -0
  71. package/dist/contracts/types.d.ts +135 -0
  72. package/dist/contracts/types.d.ts.map +1 -1
  73. package/dist/contracts/types.js +27 -0
  74. package/dist/contracts/types.js.map +1 -1
  75. package/dist/core/associations.d.ts +18 -0
  76. package/dist/core/associations.d.ts.map +1 -0
  77. package/dist/core/associations.js +185 -0
  78. package/dist/core/associations.js.map +1 -0
  79. package/dist/core/circuit-breaker.d.ts +9 -0
  80. package/dist/core/circuit-breaker.d.ts.map +1 -1
  81. package/dist/core/circuit-breaker.js +13 -1
  82. package/dist/core/circuit-breaker.js.map +1 -1
  83. package/dist/core/cognitive.d.ts +5 -0
  84. package/dist/core/cognitive.d.ts.map +1 -0
  85. package/dist/core/cognitive.js +120 -0
  86. package/dist/core/cognitive.js.map +1 -0
  87. package/dist/core/context.d.ts +72 -1
  88. package/dist/core/context.d.ts.map +1 -1
  89. package/dist/core/context.js +471 -45
  90. package/dist/core/context.js.map +1 -1
  91. package/dist/core/episodic.d.ts +28 -0
  92. package/dist/core/episodic.d.ts.map +1 -0
  93. package/dist/core/episodic.js +371 -0
  94. package/dist/core/episodic.js.map +1 -0
  95. package/dist/core/formatter.d.ts +4 -0
  96. package/dist/core/formatter.d.ts.map +1 -1
  97. package/dist/core/formatter.js +103 -0
  98. package/dist/core/formatter.js.map +1 -1
  99. package/dist/core/maintenance.d.ts +1 -0
  100. package/dist/core/maintenance.d.ts.map +1 -1
  101. package/dist/core/maintenance.js +75 -0
  102. package/dist/core/maintenance.js.map +1 -1
  103. package/dist/core/manager.d.ts +159 -7
  104. package/dist/core/manager.d.ts.map +1 -1
  105. package/dist/core/manager.js +740 -31
  106. package/dist/core/manager.js.map +1 -1
  107. package/dist/core/orchestrator.d.ts.map +1 -1
  108. package/dist/core/orchestrator.js +210 -178
  109. package/dist/core/orchestrator.js.map +1 -1
  110. package/dist/core/playbook.d.ts +35 -0
  111. package/dist/core/playbook.d.ts.map +1 -0
  112. package/dist/core/playbook.js +184 -0
  113. package/dist/core/playbook.js.map +1 -0
  114. package/dist/core/profile.d.ts +8 -0
  115. package/dist/core/profile.d.ts.map +1 -0
  116. package/dist/core/profile.js +103 -0
  117. package/dist/core/profile.js.map +1 -0
  118. package/dist/core/quick.d.ts +5 -0
  119. package/dist/core/quick.d.ts.map +1 -1
  120. package/dist/core/quick.js +10 -1
  121. package/dist/core/quick.js.map +1 -1
  122. package/dist/core/runtime.d.ts +17 -1
  123. package/dist/core/runtime.d.ts.map +1 -1
  124. package/dist/core/runtime.js +88 -5
  125. package/dist/core/runtime.js.map +1 -1
  126. package/dist/core/streaming.d.ts +1 -1
  127. package/dist/core/streaming.d.ts.map +1 -1
  128. package/dist/core/temporal.d.ts +29 -0
  129. package/dist/core/temporal.d.ts.map +1 -0
  130. package/dist/core/temporal.js +447 -0
  131. package/dist/core/temporal.js.map +1 -0
  132. package/dist/core/validation.d.ts +3 -0
  133. package/dist/core/validation.d.ts.map +1 -1
  134. package/dist/core/validation.js +25 -10
  135. package/dist/core/validation.js.map +1 -1
  136. package/dist/core/workspace-detect.d.ts +17 -0
  137. package/dist/core/workspace-detect.d.ts.map +1 -0
  138. package/dist/core/workspace-detect.js +55 -0
  139. package/dist/core/workspace-detect.js.map +1 -0
  140. package/dist/embeddings/resilience.d.ts.map +1 -1
  141. package/dist/embeddings/resilience.js +19 -8
  142. package/dist/embeddings/resilience.js.map +1 -1
  143. package/dist/index.d.ts +21 -4
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +9 -0
  146. package/dist/index.js.map +1 -1
  147. package/dist/integrations/claude-agent.d.ts +6 -0
  148. package/dist/integrations/claude-agent.d.ts.map +1 -1
  149. package/dist/integrations/claude-agent.js +5 -1
  150. package/dist/integrations/claude-agent.js.map +1 -1
  151. package/dist/integrations/claude-tools.d.ts +5 -4
  152. package/dist/integrations/claude-tools.d.ts.map +1 -1
  153. package/dist/integrations/claude-tools.js +155 -2
  154. package/dist/integrations/claude-tools.js.map +1 -1
  155. package/dist/integrations/middleware.d.ts +6 -0
  156. package/dist/integrations/middleware.d.ts.map +1 -1
  157. package/dist/integrations/middleware.js +11 -1
  158. package/dist/integrations/middleware.js.map +1 -1
  159. package/dist/integrations/openai-tools.d.ts +5 -4
  160. package/dist/integrations/openai-tools.d.ts.map +1 -1
  161. package/dist/integrations/openai-tools.js +170 -2
  162. package/dist/integrations/openai-tools.js.map +1 -1
  163. package/dist/integrations/vercel-ai.d.ts +6 -0
  164. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  165. package/dist/integrations/vercel-ai.js +4 -0
  166. package/dist/integrations/vercel-ai.js.map +1 -1
  167. package/dist/server/http-server.d.ts +8 -0
  168. package/dist/server/http-server.d.ts.map +1 -1
  169. package/dist/server/http-server.js +976 -58
  170. package/dist/server/http-server.js.map +1 -1
  171. package/dist/server/mcp-server.d.ts +8 -0
  172. package/dist/server/mcp-server.d.ts.map +1 -1
  173. package/dist/server/mcp-server.js +1157 -37
  174. package/dist/server/mcp-server.js.map +1 -1
  175. package/dist/server/parsing.d.ts +12 -0
  176. package/dist/server/parsing.d.ts.map +1 -0
  177. package/dist/server/parsing.js +42 -0
  178. package/dist/server/parsing.js.map +1 -0
  179. package/dist/summarizers/prompts.d.ts +4 -0
  180. package/dist/summarizers/prompts.d.ts.map +1 -1
  181. package/dist/summarizers/prompts.js +42 -0
  182. package/dist/summarizers/prompts.js.map +1 -1
  183. package/docs/ULTIMATE_MEMORY_LAYER_ROADMAP.md +291 -0
  184. package/docs/prd.json +1498 -0
  185. package/openapi.yaml +1945 -112
  186. package/package.json +7 -5
@@ -1,4 +1,4 @@
1
- export const CURRENT_SCHEMA_VERSION = 9;
1
+ export const CURRENT_SCHEMA_VERSION = 14;
2
2
  export function createSQLiteSchema(database) {
3
3
  database.pragma('journal_mode = WAL');
4
4
  database.pragma('foreign_keys = ON');
@@ -281,7 +281,9 @@ export function createSQLiteSchema(database) {
281
281
  title TEXT NOT NULL,
282
282
  detail TEXT,
283
283
  status TEXT NOT NULL DEFAULT 'open',
284
+ visibility_class TEXT NOT NULL DEFAULT 'private',
284
285
  source_working_memory_id INTEGER REFERENCES working_memory(id),
286
+ version INTEGER NOT NULL DEFAULT 1,
285
287
  created_at INTEGER NOT NULL,
286
288
  updated_at INTEGER NOT NULL
287
289
  );
@@ -364,6 +366,25 @@ export function createSQLiteSchema(database) {
364
366
  // Column already exists on upgraded databases.
365
367
  }
366
368
  }
369
+ const coordinationAlterStatements = [
370
+ "ALTER TABLE knowledge_memory ADD COLUMN visibility_class TEXT NOT NULL DEFAULT 'private'",
371
+ "ALTER TABLE work_items ADD COLUMN visibility_class TEXT NOT NULL DEFAULT 'private'",
372
+ 'ALTER TABLE work_items ADD COLUMN version INTEGER NOT NULL DEFAULT 1',
373
+ "ALTER TABLE playbooks ADD COLUMN visibility_class TEXT NOT NULL DEFAULT 'private'",
374
+ "ALTER TABLE associations ADD COLUMN visibility_class TEXT NOT NULL DEFAULT 'private'",
375
+ 'ALTER TABLE memory_event_log ADD COLUMN actor_kind TEXT',
376
+ 'ALTER TABLE memory_event_log ADD COLUMN actor_system_id TEXT',
377
+ 'ALTER TABLE memory_event_log ADD COLUMN actor_display_name TEXT',
378
+ 'ALTER TABLE memory_event_log ADD COLUMN actor_metadata TEXT',
379
+ ];
380
+ for (const statement of coordinationAlterStatements) {
381
+ try {
382
+ database.exec(statement);
383
+ }
384
+ catch {
385
+ // Column already exists on upgraded databases.
386
+ }
387
+ }
367
388
  const collaborationBackfills = [
368
389
  'UPDATE turns SET collaboration_id = "" WHERE collaboration_id IS NULL OR collaboration_id = "default"',
369
390
  'UPDATE working_memory SET collaboration_id = "" WHERE collaboration_id IS NULL OR collaboration_id = "default"',
@@ -383,6 +404,224 @@ export function createSQLiteSchema(database) {
383
404
  // Best-effort backfill for upgraded databases.
384
405
  }
385
406
  }
407
+ try {
408
+ database.exec('ALTER TABLE working_memory ADD COLUMN episode_recap TEXT');
409
+ }
410
+ catch {
411
+ // Column already exists on upgraded databases.
412
+ }
413
+ database.exec(`
414
+ CREATE TABLE IF NOT EXISTS playbooks (
415
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
416
+ tenant_id TEXT NOT NULL,
417
+ system_id TEXT NOT NULL,
418
+ workspace_id TEXT NOT NULL DEFAULT 'default',
419
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
420
+ scope_id TEXT NOT NULL,
421
+ title TEXT NOT NULL,
422
+ description TEXT NOT NULL,
423
+ instructions TEXT NOT NULL,
424
+ references_json TEXT NOT NULL DEFAULT '[]',
425
+ templates TEXT NOT NULL DEFAULT '[]',
426
+ scripts TEXT NOT NULL DEFAULT '[]',
427
+ assets TEXT NOT NULL DEFAULT '[]',
428
+ tags TEXT NOT NULL DEFAULT '[]',
429
+ status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'active', 'deprecated', 'archived')),
430
+ source_session_id TEXT,
431
+ source_working_memory_id INTEGER REFERENCES working_memory(id),
432
+ revision_count INTEGER NOT NULL DEFAULT 0,
433
+ last_used_at INTEGER,
434
+ use_count INTEGER NOT NULL DEFAULT 0,
435
+ created_at INTEGER NOT NULL,
436
+ updated_at INTEGER NOT NULL,
437
+ schema_version INTEGER NOT NULL DEFAULT 1
438
+ );
439
+
440
+ CREATE INDEX IF NOT EXISTS idx_pb_scope ON playbooks(tenant_id, system_id, workspace_id, collaboration_id, scope_id);
441
+
442
+ CREATE VIRTUAL TABLE IF NOT EXISTS playbooks_fts USING fts5(
443
+ title, description, instructions, content=playbooks, content_rowid=id
444
+ );
445
+
446
+ CREATE TRIGGER IF NOT EXISTS pb_ai AFTER INSERT ON playbooks BEGIN
447
+ INSERT INTO playbooks_fts(rowid, title, description, instructions) VALUES (new.id, new.title, new.description, new.instructions);
448
+ END;
449
+
450
+ CREATE TRIGGER IF NOT EXISTS pb_au AFTER UPDATE ON playbooks BEGIN
451
+ INSERT INTO playbooks_fts(playbooks_fts, rowid, title, description, instructions) VALUES ('delete', old.id, old.title, old.description, old.instructions);
452
+ INSERT INTO playbooks_fts(rowid, title, description, instructions) VALUES (new.id, new.title, new.description, new.instructions);
453
+ END;
454
+
455
+ CREATE TRIGGER IF NOT EXISTS pb_ad AFTER DELETE ON playbooks BEGIN
456
+ INSERT INTO playbooks_fts(playbooks_fts, rowid, title, description, instructions) VALUES ('delete', old.id, old.title, old.description, old.instructions);
457
+ END;
458
+
459
+ CREATE TABLE IF NOT EXISTS playbook_revisions (
460
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
461
+ tenant_id TEXT NOT NULL,
462
+ system_id TEXT NOT NULL,
463
+ workspace_id TEXT NOT NULL DEFAULT 'default',
464
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
465
+ scope_id TEXT NOT NULL,
466
+ playbook_id INTEGER NOT NULL REFERENCES playbooks(id) ON DELETE CASCADE,
467
+ instructions TEXT NOT NULL,
468
+ revision_reason TEXT NOT NULL,
469
+ source_session_id TEXT,
470
+ created_at INTEGER NOT NULL
471
+ );
472
+
473
+ CREATE INDEX IF NOT EXISTS idx_pbr_playbook ON playbook_revisions(playbook_id, created_at DESC);
474
+
475
+ CREATE TABLE IF NOT EXISTS associations (
476
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
477
+ tenant_id TEXT NOT NULL,
478
+ system_id TEXT NOT NULL,
479
+ workspace_id TEXT NOT NULL DEFAULT 'default',
480
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
481
+ scope_id TEXT NOT NULL,
482
+ source_kind TEXT NOT NULL,
483
+ source_id INTEGER NOT NULL,
484
+ target_kind TEXT NOT NULL,
485
+ target_id INTEGER NOT NULL,
486
+ association_type TEXT NOT NULL,
487
+ confidence REAL NOT NULL DEFAULT 0.5,
488
+ auto_generated INTEGER NOT NULL DEFAULT 0,
489
+ created_at INTEGER NOT NULL,
490
+ UNIQUE(source_kind, source_id, target_kind, target_id, association_type)
491
+ );
492
+
493
+ CREATE INDEX IF NOT EXISTS idx_assoc_source ON associations(source_kind, source_id);
494
+ CREATE INDEX IF NOT EXISTS idx_assoc_target ON associations(target_kind, target_id);
495
+ CREATE INDEX IF NOT EXISTS idx_assoc_scope ON associations(tenant_id, system_id, workspace_id, collaboration_id, scope_id);
496
+
497
+ CREATE TABLE IF NOT EXISTS memory_event_log (
498
+ event_id INTEGER PRIMARY KEY AUTOINCREMENT,
499
+ tenant_id TEXT NOT NULL,
500
+ system_id TEXT NOT NULL,
501
+ workspace_id TEXT NOT NULL DEFAULT 'default',
502
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
503
+ scope_id TEXT NOT NULL,
504
+ session_id TEXT,
505
+ actor_id TEXT,
506
+ actor_kind TEXT,
507
+ actor_system_id TEXT,
508
+ actor_display_name TEXT,
509
+ actor_metadata TEXT,
510
+ entity_kind TEXT NOT NULL,
511
+ entity_id TEXT NOT NULL,
512
+ event_type TEXT NOT NULL,
513
+ payload TEXT NOT NULL DEFAULT '{}',
514
+ causation_id TEXT,
515
+ correlation_id TEXT,
516
+ created_at INTEGER NOT NULL
517
+ );
518
+
519
+ CREATE INDEX IF NOT EXISTS idx_memory_event_scope_created
520
+ ON memory_event_log(tenant_id, system_id, workspace_id, collaboration_id, scope_id, created_at, event_id);
521
+ CREATE INDEX IF NOT EXISTS idx_memory_event_entity_created
522
+ ON memory_event_log(entity_kind, entity_id, created_at, event_id);
523
+ CREATE INDEX IF NOT EXISTS idx_memory_event_session_created
524
+ ON memory_event_log(session_id, created_at, event_id);
525
+ CREATE INDEX IF NOT EXISTS idx_memory_event_correlation
526
+ ON memory_event_log(correlation_id);
527
+
528
+ CREATE TABLE IF NOT EXISTS session_state_current (
529
+ tenant_id TEXT NOT NULL,
530
+ system_id TEXT NOT NULL,
531
+ workspace_id TEXT NOT NULL DEFAULT 'default',
532
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
533
+ scope_id TEXT NOT NULL,
534
+ session_id TEXT NOT NULL,
535
+ current_objective TEXT,
536
+ blockers TEXT NOT NULL DEFAULT '[]',
537
+ assumptions TEXT NOT NULL DEFAULT '[]',
538
+ pending_decisions TEXT NOT NULL DEFAULT '[]',
539
+ active_tools TEXT NOT NULL DEFAULT '[]',
540
+ recent_outputs TEXT NOT NULL DEFAULT '[]',
541
+ updated_at INTEGER NOT NULL,
542
+ source_event_id INTEGER,
543
+ PRIMARY KEY (tenant_id, system_id, workspace_id, collaboration_id, scope_id, session_id)
544
+ );
545
+
546
+ CREATE TABLE IF NOT EXISTS projection_watermarks (
547
+ projection_name TEXT PRIMARY KEY,
548
+ last_event_id INTEGER NOT NULL DEFAULT 0,
549
+ updated_at INTEGER NOT NULL,
550
+ cutover_at INTEGER,
551
+ metadata TEXT
552
+ );
553
+
554
+ -- Current-state projection only; historical claim transitions remain in memory_event_log.
555
+ CREATE TABLE IF NOT EXISTS work_claims_current (
556
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
557
+ tenant_id TEXT NOT NULL,
558
+ system_id TEXT NOT NULL,
559
+ workspace_id TEXT NOT NULL DEFAULT 'default',
560
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
561
+ scope_id TEXT NOT NULL,
562
+ work_item_id INTEGER NOT NULL UNIQUE REFERENCES work_items(id) ON DELETE CASCADE,
563
+ session_id TEXT,
564
+ actor_kind TEXT NOT NULL,
565
+ actor_id TEXT NOT NULL,
566
+ actor_system_id TEXT,
567
+ actor_display_name TEXT,
568
+ actor_metadata TEXT,
569
+ claim_token TEXT NOT NULL,
570
+ status TEXT NOT NULL DEFAULT 'active',
571
+ claimed_at INTEGER NOT NULL,
572
+ expires_at INTEGER NOT NULL,
573
+ released_at INTEGER,
574
+ release_reason TEXT,
575
+ source_event_id INTEGER,
576
+ visibility_class TEXT NOT NULL DEFAULT 'private',
577
+ version INTEGER NOT NULL DEFAULT 1
578
+ );
579
+
580
+ CREATE INDEX IF NOT EXISTS idx_work_claims_actor_status
581
+ ON work_claims_current(actor_kind, actor_id, status, expires_at);
582
+ CREATE INDEX IF NOT EXISTS idx_work_claims_scope_visibility
583
+ ON work_claims_current(tenant_id, system_id, workspace_id, collaboration_id, scope_id, visibility_class);
584
+
585
+ CREATE TABLE IF NOT EXISTS handoff_records (
586
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
587
+ tenant_id TEXT NOT NULL,
588
+ system_id TEXT NOT NULL,
589
+ workspace_id TEXT NOT NULL DEFAULT 'default',
590
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
591
+ scope_id TEXT NOT NULL,
592
+ work_item_id INTEGER NOT NULL REFERENCES work_items(id) ON DELETE CASCADE,
593
+ session_id TEXT,
594
+ from_actor_kind TEXT NOT NULL,
595
+ from_actor_id TEXT NOT NULL,
596
+ from_actor_system_id TEXT,
597
+ from_actor_display_name TEXT,
598
+ from_actor_metadata TEXT,
599
+ to_actor_kind TEXT NOT NULL,
600
+ to_actor_id TEXT NOT NULL,
601
+ to_actor_system_id TEXT,
602
+ to_actor_display_name TEXT,
603
+ to_actor_metadata TEXT,
604
+ summary TEXT NOT NULL,
605
+ context_bundle_ref TEXT,
606
+ status TEXT NOT NULL DEFAULT 'pending',
607
+ created_at INTEGER NOT NULL,
608
+ accepted_at INTEGER,
609
+ rejected_at INTEGER,
610
+ canceled_at INTEGER,
611
+ expires_at INTEGER,
612
+ decision_reason TEXT,
613
+ source_event_id INTEGER,
614
+ visibility_class TEXT NOT NULL DEFAULT 'private',
615
+ version INTEGER NOT NULL DEFAULT 1
616
+ );
617
+
618
+ CREATE INDEX IF NOT EXISTS idx_handoffs_to_actor_status
619
+ ON handoff_records(to_actor_kind, to_actor_id, status, created_at);
620
+ CREATE INDEX IF NOT EXISTS idx_handoffs_from_actor_status
621
+ ON handoff_records(from_actor_kind, from_actor_id, status, created_at);
622
+ CREATE INDEX IF NOT EXISTS idx_handoffs_work_item_status
623
+ ON handoff_records(work_item_id, status);
624
+ `);
386
625
  database
387
626
  .prepare(`INSERT INTO schema_meta (id, schema_version, updated_at)
388
627
  VALUES (1, ?, strftime('%s','now'))
@@ -390,5 +629,62 @@ export function createSQLiteSchema(database) {
390
629
  schema_version = excluded.schema_version,
391
630
  updated_at = excluded.updated_at`)
392
631
  .run(CURRENT_SCHEMA_VERSION);
632
+ database.exec(`
633
+ CREATE TABLE IF NOT EXISTS memory_event_log (
634
+ event_id INTEGER PRIMARY KEY AUTOINCREMENT,
635
+ tenant_id TEXT NOT NULL,
636
+ system_id TEXT NOT NULL,
637
+ workspace_id TEXT NOT NULL DEFAULT 'default',
638
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
639
+ scope_id TEXT NOT NULL,
640
+ session_id TEXT,
641
+ actor_id TEXT,
642
+ actor_kind TEXT,
643
+ actor_system_id TEXT,
644
+ actor_display_name TEXT,
645
+ actor_metadata TEXT,
646
+ entity_kind TEXT NOT NULL,
647
+ entity_id TEXT NOT NULL,
648
+ event_type TEXT NOT NULL,
649
+ payload TEXT NOT NULL DEFAULT '{}',
650
+ causation_id TEXT,
651
+ correlation_id TEXT,
652
+ created_at INTEGER NOT NULL
653
+ );
654
+ CREATE INDEX IF NOT EXISTS idx_memory_event_scope_created
655
+ ON memory_event_log(tenant_id, system_id, workspace_id, collaboration_id, scope_id, created_at, event_id);
656
+ CREATE INDEX IF NOT EXISTS idx_memory_event_entity_created
657
+ ON memory_event_log(entity_kind, entity_id, created_at, event_id);
658
+ CREATE INDEX IF NOT EXISTS idx_memory_event_session_created
659
+ ON memory_event_log(session_id, created_at, event_id);
660
+ CREATE INDEX IF NOT EXISTS idx_memory_event_correlation
661
+ ON memory_event_log(correlation_id);
662
+
663
+ CREATE TABLE IF NOT EXISTS session_state_current (
664
+ tenant_id TEXT NOT NULL,
665
+ system_id TEXT NOT NULL,
666
+ workspace_id TEXT NOT NULL DEFAULT 'default',
667
+ collaboration_id TEXT NOT NULL DEFAULT 'default',
668
+ scope_id TEXT NOT NULL,
669
+ session_id TEXT NOT NULL,
670
+ current_objective TEXT,
671
+ blockers TEXT NOT NULL DEFAULT '[]',
672
+ assumptions TEXT NOT NULL DEFAULT '[]',
673
+ pending_decisions TEXT NOT NULL DEFAULT '[]',
674
+ active_tools TEXT NOT NULL DEFAULT '[]',
675
+ recent_outputs TEXT NOT NULL DEFAULT '[]',
676
+ updated_at INTEGER NOT NULL,
677
+ source_event_id INTEGER,
678
+ PRIMARY KEY (tenant_id, system_id, workspace_id, collaboration_id, scope_id, session_id)
679
+ );
680
+
681
+ CREATE TABLE IF NOT EXISTS projection_watermarks (
682
+ projection_name TEXT PRIMARY KEY,
683
+ last_event_id INTEGER NOT NULL DEFAULT 0,
684
+ updated_at INTEGER NOT NULL,
685
+ cutover_at INTEGER,
686
+ metadata TEXT
687
+ );
688
+ `);
393
689
  }
394
690
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,UAAU,kBAAkB,CAAC,QAA2B;IAC5D,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErC,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmSb,CAAC,CAAC;IAEH,MAAM,8BAA8B,GAAG;QACrC,0FAA0F;QAC1F,yFAAyF;QACzF,8FAA8F;QAC9F,2DAA2D;QAC3D,6DAA6D;QAC7D,yDAAyD;QACzD,8DAA8D;QAC9D,uDAAuD;QACvD,+EAA+E;QAC/E,oFAAoF;QACpF,6FAA6F;QAC7F,mFAAmF;QACnF,+EAA+E;QAC/E,gGAAgG;QAChG,iEAAiE;QACjE,kEAAkE;QAClE,wEAAwE;QACxE,mEAAmE;QACnE,uFAAuF;QACvF,+DAA+D;QAC/D,8DAA8D;QAC9D,sEAAsE;QACtE,oFAAoF;QACpF,yFAAyF;QACzF,qFAAqF;QACrF,6DAA6D;QAC7D,6DAA6D;QAC7D,qFAAqF;QACrF,+DAA+D;QAC/D,4DAA4D;KAC7D,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,8BAA8B,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,CACX,4IAA4I,CAC7I,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,MAAM,4BAA4B,GAAG;QACnC,+EAA+E;QAC/E,wFAAwF;QACxF,gGAAgG;QAChG,6FAA6F;QAC7F,4FAA4F;QAC5F,yFAAyF;QACzF,wFAAwF;QACxF,oFAAoF;KACrF,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,4BAA4B,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG;QAC7B,uGAAuG;QACvG,gHAAgH;QAChH,kHAAkH;QAClH,wHAAwH;QACxH,qHAAqH;QACrH,oHAAoH;QACpH,iHAAiH;QACjH,gHAAgH;QAChH,4GAA4G;KAC7G,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,QAAQ;SACL,OAAO,CACN;;;;0CAIoC,CACrC;SACA,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-to-async.d.ts","sourceRoot":"","sources":["../../src/adapters/sync-to-async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIzE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CAwH5E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAIxF"}
1
+ {"version":3,"file":"sync-to-async.d.ts","sourceRoot":"","sources":["../../src/adapters/sync-to-async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIzE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CAkM5E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAIxF"}
@@ -22,6 +22,9 @@ export function wrapSyncAdapter(adapter) {
22
22
  getArchivedTurnRange: (sessionId, startId, endId, scope) => Promise.resolve(adapter.getArchivedTurnRange(sessionId, startId, endId, scope)),
23
23
  insertWorkingMemory: (input) => Promise.resolve(adapter.insertWorkingMemory(input)),
24
24
  getWorkingMemoryById: (id) => Promise.resolve(adapter.getWorkingMemoryById(id)),
25
+ getExistingWorkingMemoryIds: adapter.getExistingWorkingMemoryIds
26
+ ? (ids) => Promise.resolve(adapter.getExistingWorkingMemoryIds(ids))
27
+ : undefined,
25
28
  getWorkingMemoryBySession: (sessionId, scope) => Promise.resolve(adapter.getWorkingMemoryBySession(sessionId, scope)),
26
29
  getActiveWorkingMemory: (scope, sessionId) => Promise.resolve(adapter.getActiveWorkingMemory(scope, sessionId)),
27
30
  getLatestWorkingMemory: (scope, sessionId) => Promise.resolve(adapter.getLatestWorkingMemory(scope, sessionId)),
@@ -40,6 +43,9 @@ export function wrapSyncAdapter(adapter) {
40
43
  listKnowledgeEvidenceForCandidate: (candidateId) => Promise.resolve(adapter.listKnowledgeEvidenceForCandidate(candidateId)),
41
44
  promoteKnowledgeCandidate: (candidateId, input) => Promise.resolve(adapter.promoteKnowledgeCandidate(candidateId, input)),
42
45
  getKnowledgeMemoryById: (id) => Promise.resolve(adapter.getKnowledgeMemoryById(id)),
46
+ getExistingKnowledgeMemoryIds: adapter.getExistingKnowledgeMemoryIds
47
+ ? (ids) => Promise.resolve(adapter.getExistingKnowledgeMemoryIds(ids))
48
+ : undefined,
43
49
  getActiveKnowledgeMemory: (scope) => Promise.resolve(adapter.getActiveKnowledgeMemory(scope)),
44
50
  getActiveKnowledgeMemoryPaginated: (scope, options) => Promise.resolve(adapter.getActiveKnowledgeMemoryPaginated(scope, options)),
45
51
  getActiveKnowledgeCrossScope: (scope, level) => Promise.resolve(adapter.getActiveKnowledgeCrossScope(scope, level)),
@@ -52,18 +58,66 @@ export function wrapSyncAdapter(adapter) {
52
58
  getKnowledgeMemoryAuditsForKnowledge: (scope, knowledgeId, limit) => Promise.resolve(adapter.getKnowledgeMemoryAuditsForKnowledge(scope, knowledgeId, limit)),
53
59
  updateKnowledgeMemory: (id, patch) => Promise.resolve(adapter.updateKnowledgeMemory(id, patch)),
54
60
  touchKnowledgeMemory: (id) => Promise.resolve(adapter.touchKnowledgeMemory(id)),
61
+ touchKnowledgeMemories: (ids) => Promise.resolve(adapter.touchKnowledgeMemories(ids)),
55
62
  retireKnowledgeMemory: (id, retiredAt) => Promise.resolve(adapter.retireKnowledgeMemory(id, retiredAt)),
56
63
  supersedeKnowledgeMemory: (oldId, newId) => Promise.resolve(adapter.supersedeKnowledgeMemory(oldId, newId)),
57
64
  insertWorkItem: (input) => Promise.resolve(adapter.insertWorkItem(input)),
65
+ getWorkItemById: (id) => Promise.resolve(adapter.getWorkItemById(id)),
66
+ getExistingWorkItemIds: adapter.getExistingWorkItemIds
67
+ ? (ids) => Promise.resolve(adapter.getExistingWorkItemIds(ids))
68
+ : undefined,
58
69
  getActiveWorkItems: (scope) => Promise.resolve(adapter.getActiveWorkItems(scope)),
70
+ getActiveWorkItemsCrossScope: (scope, level) => Promise.resolve(adapter.getActiveWorkItemsCrossScope(scope, level)),
59
71
  getWorkItemsByTimeRange: (scope, range) => Promise.resolve(adapter.getWorkItemsByTimeRange(scope, range)),
72
+ getWorkItemsByTimeRangeCrossScope: (scope, level, range) => Promise.resolve(adapter.getWorkItemsByTimeRangeCrossScope(scope, level, range)),
60
73
  updateWorkItemStatus: (id, status) => Promise.resolve(adapter.updateWorkItemStatus(id, status)),
74
+ updateWorkItem: (id, patch, options) => Promise.resolve(adapter.updateWorkItem(id, patch, options)),
61
75
  deleteWorkItem: (id) => Promise.resolve(adapter.deleteWorkItem(id)),
76
+ claimWorkItem: (input) => Promise.resolve(adapter.claimWorkItem(input)),
77
+ renewWorkClaim: (claimId, actor, leaseSeconds) => Promise.resolve(adapter.renewWorkClaim(claimId, actor, leaseSeconds)),
78
+ releaseWorkClaim: (claimId, actor, reason) => Promise.resolve(adapter.releaseWorkClaim(claimId, actor, reason)),
79
+ getActiveWorkClaim: (workItemId) => Promise.resolve(adapter.getActiveWorkClaim(workItemId)),
80
+ listWorkClaims: (scope, options) => Promise.resolve(adapter.listWorkClaims(scope, options)),
81
+ listWorkClaimsCrossScope: (scope, level, options) => Promise.resolve(adapter.listWorkClaimsCrossScope(scope, level, options)),
82
+ createHandoff: (input) => Promise.resolve(adapter.createHandoff(input)),
83
+ acceptHandoff: (handoffId, actor, reason) => Promise.resolve(adapter.acceptHandoff(handoffId, actor, reason)),
84
+ rejectHandoff: (handoffId, actor, reason) => Promise.resolve(adapter.rejectHandoff(handoffId, actor, reason)),
85
+ cancelHandoff: (handoffId, actor, reason) => Promise.resolve(adapter.cancelHandoff(handoffId, actor, reason)),
86
+ listHandoffs: (scope, options) => Promise.resolve(adapter.listHandoffs(scope, options)),
87
+ listHandoffsCrossScope: (scope, level, options) => Promise.resolve(adapter.listHandoffsCrossScope(scope, level, options)),
62
88
  upsertContextMonitor: (input) => Promise.resolve(adapter.upsertContextMonitor(input)),
63
89
  getContextMonitor: (scope) => Promise.resolve(adapter.getContextMonitor(scope)),
64
90
  insertCompactionLog: (input) => Promise.resolve(adapter.insertCompactionLog(input)),
65
91
  getCompactionLogById: (id) => Promise.resolve(adapter.getCompactionLogById(id)),
66
92
  getRecentCompactionLogs: (scope, limit) => Promise.resolve(adapter.getRecentCompactionLogs(scope, limit)),
93
+ insertPlaybook: (input) => Promise.resolve(adapter.insertPlaybook(input)),
94
+ getPlaybookById: (id) => Promise.resolve(adapter.getPlaybookById(id)),
95
+ getExistingPlaybookIds: adapter.getExistingPlaybookIds
96
+ ? (ids) => Promise.resolve(adapter.getExistingPlaybookIds(ids))
97
+ : undefined,
98
+ getActivePlaybooks: (scope) => Promise.resolve(adapter.getActivePlaybooks(scope)),
99
+ getActivePlaybooksCrossScope: (scope, level) => Promise.resolve(adapter.getActivePlaybooksCrossScope(scope, level)),
100
+ searchPlaybooks: (scope, query, options) => Promise.resolve(adapter.searchPlaybooks(scope, query, options)),
101
+ searchPlaybooksCrossScope: (scope, level, query, options) => Promise.resolve(adapter.searchPlaybooksCrossScope(scope, level, query, options)),
102
+ updatePlaybook: (id, patch) => Promise.resolve(adapter.updatePlaybook(id, patch)),
103
+ recordPlaybookUse: (id) => Promise.resolve(adapter.recordPlaybookUse(id)),
104
+ insertPlaybookRevision: (input) => Promise.resolve(adapter.insertPlaybookRevision(input)),
105
+ getPlaybookRevisions: (playbookId) => Promise.resolve(adapter.getPlaybookRevisions(playbookId)),
106
+ insertAssociation: (input) => Promise.resolve(adapter.insertAssociation(input)),
107
+ getAssociationById: (id) => Promise.resolve(adapter.getAssociationById(id)),
108
+ getAssociationsFrom: (kind, id, scope) => Promise.resolve(adapter.getAssociationsFrom(kind, id, scope)),
109
+ getAssociationsTo: (kind, id, scope) => Promise.resolve(adapter.getAssociationsTo(kind, id, scope)),
110
+ listAssociations: (scope) => Promise.resolve(adapter.listAssociations(scope)),
111
+ deleteAssociation: (id) => Promise.resolve(adapter.deleteAssociation(id)),
112
+ insertMemoryEvent: (input) => Promise.resolve(adapter.insertMemoryEvent(input)),
113
+ listMemoryEvents: (scope, query) => Promise.resolve(adapter.listMemoryEvents(scope, query)),
114
+ listMemoryEventsCrossScope: (scope, level, query) => Promise.resolve(adapter.listMemoryEventsCrossScope(scope, level, query)),
115
+ getMemoryEventsByEntity: (scope, entityKind, entityId, query) => Promise.resolve(adapter.getMemoryEventsByEntity(scope, entityKind, entityId, query)),
116
+ getMemoryEventsBySession: (scope, sessionId, query) => Promise.resolve(adapter.getMemoryEventsBySession(scope, sessionId, query)),
117
+ getSessionState: (scope, sessionId) => Promise.resolve(adapter.getSessionState(scope, sessionId)),
118
+ upsertSessionState: (input) => Promise.resolve(adapter.upsertSessionState(input)),
119
+ getTemporalWatermark: (projectionName) => Promise.resolve(adapter.getTemporalWatermark(projectionName)),
120
+ upsertTemporalWatermark: (input) => Promise.resolve(adapter.upsertTemporalWatermark(input)),
67
121
  async transaction(fn) {
68
122
  // Since all underlying operations are synchronous and JavaScript is
69
123
  // single-threaded, the await chains in fn() resolve as microtasks
@@ -1 +1 @@
1
- {"version":3,"file":"sync-to-async.js","sourceRoot":"","sources":["../../src/adapters/sync-to-async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-to-async.js","sourceRoot":"","sources":["../../src/adapters/sync-to-async.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { MemoryScope, ScopeLevel } from './identity.js';
2
- import type { CompactionLog, ContextMonitor, ContextMonitorUpsert, KnowledgeCandidate, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, NewCompactionLog, NewKnowledgeCandidate, NewKnowledgeEvidence, NewKnowledgeMemory, NewKnowledgeMemoryAudit, NewWorkItem, NewTurn, NewWorkingMemory, PaginationOptions, PaginatedResult, SearchOptions, SearchResult, TimeRange, Turn, WorkItem, WorkingMemory } from './types.js';
2
+ import type { ActorRef, HandoffQuery, HandoffRecord, NewHandoffInput, NewWorkClaimInput, WorkClaim, WorkClaimQuery, WorkItemPatch } from './coordination.js';
3
+ import type { MemoryEventEntityKind, MemoryEventQuery, MemoryEventRecord, NewMemoryEventRecord, NewSessionStateProjection, NewTemporalProjectionWatermark, SessionStateProjection, TemporalProjectionWatermark, TimelineResult } from './temporal.js';
4
+ import type { Association, AssociationTargetKind, CompactionLog, ContextMonitor, ContextMonitorUpsert, KnowledgeCandidate, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, NewAssociation, NewCompactionLog, NewKnowledgeCandidate, NewKnowledgeEvidence, NewKnowledgeMemory, NewKnowledgeMemoryAudit, NewPlaybook, NewPlaybookRevision, NewWorkItem, NewTurn, NewWorkingMemory, PaginationOptions, PaginatedResult, Playbook, PlaybookRevision, SearchOptions, SearchResult, TimeRange, Turn, WorkItem, WorkingMemory } from './types.js';
3
5
  /**
4
6
  * Async-first storage adapter interface for remote backends (PostgreSQL, Redis, etc.).
5
7
  * Every method returns a Promise, enabling non-blocking I/O.
@@ -20,6 +22,7 @@ export interface AsyncStorageAdapter {
20
22
  getArchivedTurnRange(sessionId: string, startId: number, endId: number, scope: MemoryScope): Promise<Turn[]>;
21
23
  insertWorkingMemory(input: NewWorkingMemory): Promise<WorkingMemory>;
22
24
  getWorkingMemoryById(id: number): Promise<WorkingMemory | null>;
25
+ getExistingWorkingMemoryIds?(ids: number[]): Promise<number[]>;
23
26
  getWorkingMemoryBySession(sessionId: string, scope: MemoryScope): Promise<WorkingMemory[]>;
24
27
  getActiveWorkingMemory(scope: MemoryScope, sessionId?: string): Promise<WorkingMemory[]>;
25
28
  getLatestWorkingMemory(scope: MemoryScope, sessionId?: string): Promise<WorkingMemory | null>;
@@ -40,6 +43,7 @@ export interface AsyncStorageAdapter {
40
43
  listKnowledgeEvidenceForCandidate(candidateId: number): Promise<KnowledgeEvidence[]>;
41
44
  promoteKnowledgeCandidate(candidateId: number, input: NewKnowledgeMemory): Promise<KnowledgeMemory>;
42
45
  getKnowledgeMemoryById(id: number): Promise<KnowledgeMemory | null>;
46
+ getExistingKnowledgeMemoryIds?(ids: number[]): Promise<number[]>;
43
47
  getActiveKnowledgeMemory(scope: MemoryScope): Promise<KnowledgeMemory[]>;
44
48
  getActiveKnowledgeMemoryPaginated(scope: MemoryScope, options?: PaginationOptions): Promise<PaginatedResult<KnowledgeMemory>>;
45
49
  getActiveKnowledgeCrossScope(scope: MemoryScope, level: ScopeLevel): Promise<KnowledgeMemory[]>;
@@ -68,18 +72,74 @@ export interface AsyncStorageAdapter {
68
72
  failed_use_count?: number;
69
73
  }): Promise<KnowledgeMemory | null>;
70
74
  touchKnowledgeMemory(id: number): Promise<void>;
75
+ touchKnowledgeMemories(ids: number[]): Promise<void>;
71
76
  retireKnowledgeMemory(id: number, retiredAt?: number): Promise<void>;
72
77
  supersedeKnowledgeMemory(oldId: number, newId: number): Promise<void>;
73
78
  insertWorkItem(input: NewWorkItem): Promise<WorkItem>;
79
+ getWorkItemById(id: number): Promise<WorkItem | null>;
80
+ getExistingWorkItemIds?(ids: number[]): Promise<number[]>;
74
81
  getActiveWorkItems(scope: MemoryScope): Promise<WorkItem[]>;
82
+ getActiveWorkItemsCrossScope(scope: MemoryScope, level: ScopeLevel): Promise<WorkItem[]>;
75
83
  getWorkItemsByTimeRange(scope: MemoryScope, range: TimeRange): Promise<WorkItem[]>;
84
+ getWorkItemsByTimeRangeCrossScope(scope: MemoryScope, level: ScopeLevel, range: TimeRange): Promise<WorkItem[]>;
76
85
  updateWorkItemStatus(id: number, status: WorkItem['status']): Promise<void>;
86
+ updateWorkItem(id: number, patch: WorkItemPatch, options?: {
87
+ expectedVersion?: number;
88
+ }): Promise<WorkItem | null>;
77
89
  deleteWorkItem(id: number): Promise<void>;
90
+ claimWorkItem(input: NewWorkClaimInput): Promise<WorkClaim>;
91
+ renewWorkClaim(claimId: number, actor: ActorRef, leaseSeconds?: number): Promise<WorkClaim | null>;
92
+ releaseWorkClaim(claimId: number, actor: ActorRef, reason?: string): Promise<WorkClaim | null>;
93
+ getActiveWorkClaim(workItemId: number): Promise<WorkClaim | null>;
94
+ listWorkClaims(scope: MemoryScope, options?: WorkClaimQuery): Promise<WorkClaim[]>;
95
+ listWorkClaimsCrossScope(scope: MemoryScope, level: ScopeLevel, options?: WorkClaimQuery): Promise<WorkClaim[]>;
96
+ createHandoff(input: NewHandoffInput): Promise<HandoffRecord>;
97
+ acceptHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
98
+ rejectHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
99
+ cancelHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
100
+ listHandoffs(scope: MemoryScope, options?: HandoffQuery): Promise<HandoffRecord[]>;
101
+ listHandoffsCrossScope(scope: MemoryScope, level: ScopeLevel, options?: HandoffQuery): Promise<HandoffRecord[]>;
78
102
  upsertContextMonitor(input: ContextMonitorUpsert): Promise<ContextMonitor>;
79
103
  getContextMonitor(scope: MemoryScope): Promise<ContextMonitor | null>;
80
104
  insertCompactionLog(input: NewCompactionLog): Promise<CompactionLog>;
81
105
  getCompactionLogById(id: number): Promise<CompactionLog | null>;
82
106
  getRecentCompactionLogs(scope: MemoryScope, limit?: number): Promise<CompactionLog[]>;
107
+ insertPlaybook(input: NewPlaybook): Promise<Playbook>;
108
+ getPlaybookById(id: number): Promise<Playbook | null>;
109
+ getExistingPlaybookIds?(ids: number[]): Promise<number[]>;
110
+ getActivePlaybooks(scope: MemoryScope): Promise<Playbook[]>;
111
+ getActivePlaybooksCrossScope(scope: MemoryScope, level: ScopeLevel): Promise<Playbook[]>;
112
+ searchPlaybooks(scope: MemoryScope, query: string, options?: SearchOptions): Promise<SearchResult<Playbook>[]>;
113
+ searchPlaybooksCrossScope(scope: MemoryScope, level: ScopeLevel, query: string, options?: SearchOptions): Promise<SearchResult<Playbook>[]>;
114
+ updatePlaybook(id: number, patch: {
115
+ title?: string;
116
+ description?: string;
117
+ instructions?: string;
118
+ references?: string[];
119
+ templates?: string[];
120
+ scripts?: string[];
121
+ assets?: string[];
122
+ tags?: string[];
123
+ status?: Playbook['status'];
124
+ }): Promise<Playbook | null>;
125
+ recordPlaybookUse(id: number): Promise<void>;
126
+ insertPlaybookRevision(input: NewPlaybookRevision): Promise<PlaybookRevision>;
127
+ getPlaybookRevisions(playbookId: number): Promise<PlaybookRevision[]>;
128
+ insertAssociation(input: NewAssociation): Promise<Association>;
129
+ getAssociationById(id: number): Promise<Association | null>;
130
+ getAssociationsFrom(kind: AssociationTargetKind, id: number, scope: MemoryScope): Promise<Association[]>;
131
+ getAssociationsTo(kind: AssociationTargetKind, id: number, scope: MemoryScope): Promise<Association[]>;
132
+ listAssociations(scope: MemoryScope): Promise<Association[]>;
133
+ deleteAssociation(id: number): Promise<void>;
134
+ insertMemoryEvent(input: NewMemoryEventRecord): Promise<MemoryEventRecord>;
135
+ listMemoryEvents(scope: MemoryScope, query?: MemoryEventQuery): Promise<TimelineResult>;
136
+ listMemoryEventsCrossScope(scope: MemoryScope, level: ScopeLevel, query?: MemoryEventQuery): Promise<TimelineResult>;
137
+ getMemoryEventsByEntity(scope: MemoryScope, entityKind: MemoryEventEntityKind, entityId: string, query?: Omit<MemoryEventQuery, 'entityKind' | 'entityId'>): Promise<TimelineResult>;
138
+ getMemoryEventsBySession(scope: MemoryScope, sessionId: string, query?: Omit<MemoryEventQuery, 'sessionId'>): Promise<TimelineResult>;
139
+ getSessionState(scope: MemoryScope, sessionId: string): Promise<SessionStateProjection | null>;
140
+ upsertSessionState(input: NewSessionStateProjection): Promise<SessionStateProjection>;
141
+ getTemporalWatermark(projectionName?: string): Promise<TemporalProjectionWatermark | null>;
142
+ upsertTemporalWatermark(input: NewTemporalProjectionWatermark): Promise<TemporalProjectionWatermark>;
83
143
  transaction<T>(fn: () => Promise<T>): Promise<T>;
84
144
  close(): Promise<void>;
85
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-storage.d.ts","sourceRoot":"","sources":["../../src/contracts/async-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-storage.d.ts","sourceRoot":"","sources":["../../src/contracts/async-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,uBAAuB,CACrB,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,WAAW,CACT,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChE,2BAA2B,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3F,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzF,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC9F,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5F,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,yBAAyB,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3E,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAClF,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpF,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1F,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC1E,uBAAuB,CACrB,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,GACvD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjC,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjF,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC3F,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpG,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACpE,6BAA6B,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACzE,iCAAiC,CAC/B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,4BAA4B,CAC1B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACpG,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1F,eAAe,CACb,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5C,yBAAyB,CACvB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5C,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1F,8BAA8B,CAC5B,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnC,oCAAoC,CAClC,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnC,qBAAqB,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QACL,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACrD,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACrD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAC7D,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACnC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACtD,sBAAsB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzF,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,iCAAiC,CAC/B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GACrC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACnG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC/F,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAClE,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,wBAAwB,CACtB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAClG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAClG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAClG,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnF,sBAAsB,CACpB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE5B,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAEtE,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChE,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtF,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACtD,sBAAsB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzF,eAAe,CACb,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,yBAAyB,CACvB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC7B,GACA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5B,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEtE,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/D,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5D,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzG,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvG,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxF,0BAA0B,CACxB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,uBAAuB,CACrB,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,qBAAqB,EACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,UAAU,CAAC,GACxD,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,wBAAwB,CACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC/F,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtF,oBAAoB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;IAC3F,uBAAuB,CACrB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAExC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}