@devflow-tools/memory-engine 0.17.7 → 0.18.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 (158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -2
  3. package/dist/consolidator.d.ts.map +1 -1
  4. package/dist/consolidator.js +2 -0
  5. package/dist/consolidator.js.map +1 -1
  6. package/dist/durable-memory-text.js +1 -1
  7. package/dist/durable-memory-text.js.map +1 -1
  8. package/dist/embedding-model-store.d.ts +1 -4
  9. package/dist/embedding-model-store.d.ts.map +1 -1
  10. package/dist/embedding-model-store.js +3 -74
  11. package/dist/embedding-model-store.js.map +1 -1
  12. package/dist/embedding-provider.d.ts +3 -2
  13. package/dist/embedding-provider.d.ts.map +1 -1
  14. package/dist/embedding-provider.js +151 -43
  15. package/dist/embedding-provider.js.map +1 -1
  16. package/dist/hybrid-search.d.ts +5 -1
  17. package/dist/hybrid-search.d.ts.map +1 -1
  18. package/dist/hybrid-search.js +92 -56
  19. package/dist/hybrid-search.js.map +1 -1
  20. package/dist/index.d.ts +16 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +8 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/lease-store.d.ts.map +1 -1
  25. package/dist/lease-store.js +30 -0
  26. package/dist/lease-store.js.map +1 -1
  27. package/dist/memory-command-service.d.ts +73 -0
  28. package/dist/memory-command-service.d.ts.map +1 -0
  29. package/dist/memory-command-service.js +283 -0
  30. package/dist/memory-command-service.js.map +1 -0
  31. package/dist/memory-engine.d.ts +19 -15
  32. package/dist/memory-engine.d.ts.map +1 -1
  33. package/dist/memory-engine.js +207 -158
  34. package/dist/memory-engine.js.map +1 -1
  35. package/dist/memory-episode-repository.d.ts +77 -0
  36. package/dist/memory-episode-repository.d.ts.map +1 -0
  37. package/dist/memory-episode-repository.js +262 -0
  38. package/dist/memory-episode-repository.js.map +1 -0
  39. package/dist/memory-fact-provider-port.d.ts +83 -0
  40. package/dist/memory-fact-provider-port.d.ts.map +1 -0
  41. package/dist/memory-fact-provider-port.js +22 -0
  42. package/dist/memory-fact-provider-port.js.map +1 -0
  43. package/dist/memory-fact-validator.d.ts +16 -0
  44. package/dist/memory-fact-validator.d.ts.map +1 -0
  45. package/dist/memory-fact-validator.js +52 -0
  46. package/dist/memory-fact-validator.js.map +1 -0
  47. package/dist/memory-gate.d.ts +14 -17
  48. package/dist/memory-gate.d.ts.map +1 -1
  49. package/dist/memory-gate.js +377 -320
  50. package/dist/memory-gate.js.map +1 -1
  51. package/dist/memory-identity-compiler.d.ts +18 -0
  52. package/dist/memory-identity-compiler.d.ts.map +1 -0
  53. package/dist/memory-identity-compiler.js +26 -0
  54. package/dist/memory-identity-compiler.js.map +1 -0
  55. package/dist/memory-index-projector.d.ts +22 -0
  56. package/dist/memory-index-projector.d.ts.map +1 -0
  57. package/dist/memory-index-projector.js +11 -0
  58. package/dist/memory-index-projector.js.map +1 -0
  59. package/dist/memory-lifecycle-reducer.d.ts +21 -0
  60. package/dist/memory-lifecycle-reducer.d.ts.map +1 -0
  61. package/dist/memory-lifecycle-reducer.js +34 -0
  62. package/dist/memory-lifecycle-reducer.js.map +1 -0
  63. package/dist/memory-maintenance.d.ts +1 -4
  64. package/dist/memory-maintenance.d.ts.map +1 -1
  65. package/dist/memory-maintenance.js +3 -20
  66. package/dist/memory-maintenance.js.map +1 -1
  67. package/dist/memory-query-service.d.ts +24 -0
  68. package/dist/memory-query-service.d.ts.map +1 -0
  69. package/dist/memory-query-service.js +180 -0
  70. package/dist/memory-query-service.js.map +1 -0
  71. package/dist/memory-relevance.d.ts +16 -1
  72. package/dist/memory-relevance.d.ts.map +1 -1
  73. package/dist/memory-relevance.js +83 -139
  74. package/dist/memory-relevance.js.map +1 -1
  75. package/dist/memory-store.d.ts +52 -35
  76. package/dist/memory-store.d.ts.map +1 -1
  77. package/dist/memory-store.js +406 -690
  78. package/dist/memory-store.js.map +1 -1
  79. package/dist/semantic-memory-compiler.d.ts +0 -2
  80. package/dist/semantic-memory-compiler.d.ts.map +1 -1
  81. package/dist/semantic-memory-compiler.js +4 -4
  82. package/dist/semantic-memory-compiler.js.map +1 -1
  83. package/dist/session-summarizer.d.ts +3 -0
  84. package/dist/session-summarizer.d.ts.map +1 -1
  85. package/dist/session-summarizer.js.map +1 -1
  86. package/dist/signal-analyzer.d.ts +2 -2
  87. package/dist/signal-analyzer.d.ts.map +1 -1
  88. package/dist/signal-analyzer.js +10 -16
  89. package/dist/signal-analyzer.js.map +1 -1
  90. package/package.json +14 -5
  91. package/dist/lease-store.test.d.ts +0 -2
  92. package/dist/lease-store.test.d.ts.map +0 -1
  93. package/dist/lease-store.test.js +0 -182
  94. package/dist/lease-store.test.js.map +0 -1
  95. package/dist/migrations/v10-to-v11.d.ts +0 -3
  96. package/dist/migrations/v10-to-v11.d.ts.map +0 -1
  97. package/dist/migrations/v10-to-v11.js +0 -21
  98. package/dist/migrations/v10-to-v11.js.map +0 -1
  99. package/dist/migrations/v11-to-v12.d.ts +0 -66
  100. package/dist/migrations/v11-to-v12.d.ts.map +0 -1
  101. package/dist/migrations/v11-to-v12.js +0 -577
  102. package/dist/migrations/v11-to-v12.js.map +0 -1
  103. package/dist/migrations/v12-to-v13.d.ts +0 -3
  104. package/dist/migrations/v12-to-v13.d.ts.map +0 -1
  105. package/dist/migrations/v12-to-v13.js +0 -50
  106. package/dist/migrations/v12-to-v13.js.map +0 -1
  107. package/dist/migrations/v2-to-v3.d.ts +0 -3
  108. package/dist/migrations/v2-to-v3.d.ts.map +0 -1
  109. package/dist/migrations/v2-to-v3.js +0 -122
  110. package/dist/migrations/v2-to-v3.js.map +0 -1
  111. package/dist/migrations/v2-to-v3.test.d.ts +0 -2
  112. package/dist/migrations/v2-to-v3.test.d.ts.map +0 -1
  113. package/dist/migrations/v2-to-v3.test.js +0 -88
  114. package/dist/migrations/v2-to-v3.test.js.map +0 -1
  115. package/dist/migrations/v3-to-v4.d.ts +0 -3
  116. package/dist/migrations/v3-to-v4.d.ts.map +0 -1
  117. package/dist/migrations/v3-to-v4.js +0 -97
  118. package/dist/migrations/v3-to-v4.js.map +0 -1
  119. package/dist/migrations/v4-to-v5.d.ts +0 -3
  120. package/dist/migrations/v4-to-v5.d.ts.map +0 -1
  121. package/dist/migrations/v4-to-v5.js +0 -34
  122. package/dist/migrations/v4-to-v5.js.map +0 -1
  123. package/dist/migrations/v4-to-v5.test.d.ts +0 -2
  124. package/dist/migrations/v4-to-v5.test.d.ts.map +0 -1
  125. package/dist/migrations/v4-to-v5.test.js +0 -32
  126. package/dist/migrations/v4-to-v5.test.js.map +0 -1
  127. package/dist/migrations/v6-to-v7.d.ts +0 -3
  128. package/dist/migrations/v6-to-v7.d.ts.map +0 -1
  129. package/dist/migrations/v6-to-v7.js +0 -18
  130. package/dist/migrations/v6-to-v7.js.map +0 -1
  131. package/dist/migrations/v6-to-v7.test.d.ts +0 -2
  132. package/dist/migrations/v6-to-v7.test.d.ts.map +0 -1
  133. package/dist/migrations/v6-to-v7.test.js +0 -33
  134. package/dist/migrations/v6-to-v7.test.js.map +0 -1
  135. package/dist/migrations/v7-to-v8.d.ts +0 -3
  136. package/dist/migrations/v7-to-v8.d.ts.map +0 -1
  137. package/dist/migrations/v7-to-v8.js +0 -20
  138. package/dist/migrations/v7-to-v8.js.map +0 -1
  139. package/dist/migrations/v8-to-v9.d.ts +0 -3
  140. package/dist/migrations/v8-to-v9.d.ts.map +0 -1
  141. package/dist/migrations/v8-to-v9.js +0 -18
  142. package/dist/migrations/v8-to-v9.js.map +0 -1
  143. package/dist/migrations/v9-to-v10.d.ts +0 -3
  144. package/dist/migrations/v9-to-v10.d.ts.map +0 -1
  145. package/dist/migrations/v9-to-v10.js +0 -45
  146. package/dist/migrations/v9-to-v10.js.map +0 -1
  147. package/dist/migrations/v9-to-v10.test.d.ts +0 -2
  148. package/dist/migrations/v9-to-v10.test.d.ts.map +0 -1
  149. package/dist/migrations/v9-to-v10.test.js +0 -40
  150. package/dist/migrations/v9-to-v10.test.js.map +0 -1
  151. package/dist/preference-conflicts.test.d.ts +0 -2
  152. package/dist/preference-conflicts.test.d.ts.map +0 -1
  153. package/dist/preference-conflicts.test.js +0 -80
  154. package/dist/preference-conflicts.test.js.map +0 -1
  155. package/dist/semantic-memory.test.d.ts +0 -2
  156. package/dist/semantic-memory.test.d.ts.map +0 -1
  157. package/dist/semantic-memory.test.js +0 -61
  158. package/dist/semantic-memory.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lease-store.d.ts","sourceRoot":"","sources":["../src/lease-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAYD,qBAAa,0BAA2B,SAAQ,KAAK;IAIjD,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,QAAQ,CAAC,IAAI,gCAAgC;gBAGlC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;CAOzB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,SAAiB,GAAG,MAAM;IAuCrF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQ1C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE;IAQ5C,cAAc,CAAC,GAAG,SAAa,GAAG,gBAAgB;IAelD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAalC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAa,GAAG,IAAI;IAiB5F,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAW7E,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASzC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc;IAwB5F,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAclD,mBAAmB,IAAI,MAAM;IAkB7B,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC;IAoBjC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBhD,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,uBAAuB;CAYhC"}
1
+ {"version":3,"file":"lease-store.d.ts","sourceRoot":"","sources":["../src/lease-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAYD,qBAAa,0BAA2B,SAAQ,KAAK;IAIjD,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,QAAQ,CAAC,IAAI,gCAAgC;gBAGlC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;CAOzB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAiClD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,SAAiB,GAAG,MAAM;IAuCrF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQ1C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE;IAQ5C,cAAc,CAAC,GAAG,SAAa,GAAG,gBAAgB;IAelD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAalC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAa,GAAG,IAAI;IAiB5F,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAW7E,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASzC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc;IAwB5F,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAclD,mBAAmB,IAAI,MAAM;IAkB7B,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC;IAoBjC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBhD,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,uBAAuB;CAYhC"}
@@ -15,6 +15,36 @@ export class LeaseStore {
15
15
  db;
16
16
  constructor(db) {
17
17
  this.db = db;
18
+ this.db.exec(`
19
+ CREATE TABLE IF NOT EXISTS distill_leases (
20
+ batch_id TEXT PRIMARY KEY,
21
+ event_ids TEXT NOT NULL,
22
+ session_ids TEXT NOT NULL,
23
+ event_count INTEGER NOT NULL,
24
+ created_at INTEGER NOT NULL,
25
+ expires_at INTEGER NOT NULL,
26
+ status TEXT NOT NULL CHECK(status IN ('pending','committed','expired'))
27
+ );
28
+ CREATE INDEX IF NOT EXISTS idx_leases_expires ON distill_leases(status, expires_at);
29
+ CREATE TABLE IF NOT EXISTS distill_lease_pages (
30
+ batch_id TEXT NOT NULL,
31
+ page INTEGER NOT NULL,
32
+ total_pages INTEGER NOT NULL,
33
+ read_at INTEGER NOT NULL,
34
+ PRIMARY KEY (batch_id, page),
35
+ FOREIGN KEY (batch_id) REFERENCES distill_leases(batch_id) ON DELETE CASCADE
36
+ );
37
+ CREATE INDEX IF NOT EXISTS idx_distill_pages_batch ON distill_lease_pages(batch_id, page);
38
+ CREATE TABLE IF NOT EXISTS distill_receipts (
39
+ receipt_id TEXT PRIMARY KEY,
40
+ batch_id TEXT NOT NULL UNIQUE,
41
+ status TEXT NOT NULL CHECK(status IN ('committed', 'committed_empty')),
42
+ observation_count INTEGER NOT NULL,
43
+ event_count INTEGER NOT NULL,
44
+ created_at INTEGER NOT NULL,
45
+ FOREIGN KEY (batch_id) REFERENCES distill_leases(batch_id) ON DELETE CASCADE
46
+ );
47
+ `);
18
48
  }
19
49
  createLease(eventIds, sessionIds, ttlMs = DEFAULT_TTL_MS) {
20
50
  this.validateStringArray(eventIds, "eventIds", true);
@@ -1 +1 @@
1
- {"version":3,"file":"lease-store.js","sourceRoot":"","sources":["../src/lease-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-store.js","sourceRoot":"","sources":["../src/lease-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { type MemoryCapsule, type MemoryProjection, type ProviderExecutionReceiptV1 } from '@devflow-tools/sdk';
2
+ import { type MemoryCandidateHandleV1, type MemoryEpisodeV1, type MemoryFactProposalV1 } from './memory-fact-provider-port.js';
3
+ import { MemoryEpisodeRepository, type MemoryEpisodeReceiptV1 } from './memory-episode-repository.js';
4
+ import { type MemoryLifecycleDecisionV1 } from './memory-lifecycle-reducer.js';
5
+ import type { MemoryStore } from './memory-store.js';
6
+ import type { ObservationSource } from './observation-types.js';
7
+ export interface MemoryCommandResultV1 {
8
+ episode: MemoryEpisodeV1;
9
+ receipt: MemoryEpisodeReceiptV1;
10
+ status: 'pending' | 'applied' | 'held';
11
+ factIds: string[];
12
+ recordIds: string[];
13
+ decisions: MemoryLifecycleDecisionV1[];
14
+ replayed: boolean;
15
+ }
16
+ export interface MemoryFactPersistenceV1 {
17
+ sessionId?: string;
18
+ source?: ObservationSource;
19
+ importance?: number;
20
+ qualityStatus?: 'accepted' | 'quarantined';
21
+ quarantineReason?: string;
22
+ qualityDetails?: Record<string, unknown>;
23
+ failureCategory?: string;
24
+ capsule?: MemoryCapsule;
25
+ projection?: MemoryProjection;
26
+ }
27
+ export interface MemoryFactProposalPersistenceV1 extends MemoryFactPersistenceV1 {
28
+ }
29
+ export interface MemoryProjectIdentityV1 {
30
+ projectId: string;
31
+ memoryNamespace: string;
32
+ }
33
+ export declare class MemoryCommandService {
34
+ private readonly projectRoot;
35
+ private readonly store;
36
+ private readonly projectIdentity;
37
+ private readonly episodes;
38
+ constructor(projectRoot: string, store: MemoryStore, projectIdentity: MemoryProjectIdentityV1, episodes?: MemoryEpisodeRepository);
39
+ /** Commits the durable cold episode and queues extraction without inventing facts. */
40
+ commitEpisode(input: {
41
+ episode: MemoryEpisodeV1;
42
+ idempotencyKey: string;
43
+ }): Promise<MemoryCommandResultV1>;
44
+ commitEpisodeWithProposals(input: {
45
+ episode: MemoryEpisodeV1;
46
+ idempotencyKey: string;
47
+ proposals?: MemoryFactProposalV1[];
48
+ providerReceipt: ProviderExecutionReceiptV1;
49
+ candidateHandles?: MemoryCandidateHandleV1[];
50
+ persistenceByProposalId?: Record<string, MemoryFactProposalPersistenceV1>;
51
+ }): Promise<MemoryCommandResultV1>;
52
+ commitExplicitEpisode(input: {
53
+ content: string;
54
+ actorId: string;
55
+ sessionId: string;
56
+ turnId: string;
57
+ sourceMessageId: string;
58
+ sourceEventIds?: string[];
59
+ createdAt?: number;
60
+ supersedesEpisodeId?: string;
61
+ }): Promise<MemoryCommandResultV1>;
62
+ queueExtraction(episodeId: string): {
63
+ operationId: string;
64
+ replayed: boolean;
65
+ };
66
+ getEpisode(episodeId: string): MemoryEpisodeV1 | null;
67
+ close(): void;
68
+ private writeProposalRecord;
69
+ private log;
70
+ private logProviderReceipt;
71
+ private logFactItem;
72
+ }
73
+ //# sourceMappingURL=memory-command-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-command-service.d.ts","sourceRoot":"","sources":["../src/memory-command-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import { stableRuntimeHash, } from '@devflow-tools/sdk';
2
+ import { emitSemanticControlLog } from '@devflow-tools/telemetry';
3
+ import { createMemoryEpisodeV1, } from './memory-fact-provider-port.js';
4
+ import { validateMemoryFactProposal } from './memory-fact-validator.js';
5
+ import { compileMemoryIdentity } from './memory-identity-compiler.js';
6
+ import { MemoryEpisodeRepository } from './memory-episode-repository.js';
7
+ import { reduceMemoryFactProposal, } from './memory-lifecycle-reducer.js';
8
+ import { normalizeSemanticMemory } from './semantic-memory.js';
9
+ export class MemoryCommandService {
10
+ projectRoot;
11
+ store;
12
+ projectIdentity;
13
+ episodes;
14
+ constructor(projectRoot, store, projectIdentity, episodes = new MemoryEpisodeRepository(projectRoot)) {
15
+ this.projectRoot = projectRoot;
16
+ this.store = store;
17
+ this.projectIdentity = projectIdentity;
18
+ this.episodes = episodes;
19
+ }
20
+ /** Commits the durable cold episode and queues extraction without inventing facts. */
21
+ async commitEpisode(input) {
22
+ const committed = this.episodes.commit(input);
23
+ const prior = this.episodes.listLifecycle(input.episode.episodeId);
24
+ if (committed.replayed && prior.length > 0)
25
+ return replayResult(committed, prior);
26
+ this.episodes.queueExtraction(input.episode.episodeId, input.episode.createdAt);
27
+ this.log('memory.write.degraded', input.episode, {
28
+ stage: 'episode_committed', status: 'pending_extraction', reason: 'fact_provider_unavailable',
29
+ });
30
+ return {
31
+ episode: committed.episode, receipt: committed.receipt, status: 'pending',
32
+ factIds: [], recordIds: [], decisions: [], replayed: committed.replayed,
33
+ };
34
+ }
35
+ async commitEpisodeWithProposals(input) {
36
+ const committed = this.episodes.commit({ episode: input.episode, idempotencyKey: input.idempotencyKey });
37
+ this.logProviderReceipt(input.episode, input.providerReceipt);
38
+ const proposals = input.proposals ?? [];
39
+ const prior = this.episodes.listLifecycle(input.episode.episodeId);
40
+ if (committed.replayed && proposals.length === 0 && prior.length > 0)
41
+ return replayResult(committed, prior);
42
+ if (proposals.length === 0 || input.providerReceipt.status !== 'ready') {
43
+ this.episodes.queueExtraction(input.episode.episodeId, input.episode.createdAt);
44
+ return {
45
+ episode: committed.episode, receipt: committed.receipt, status: 'pending',
46
+ factIds: [], recordIds: [], decisions: [], replayed: committed.replayed,
47
+ };
48
+ }
49
+ const handles = new Map((input.candidateHandles ?? []).map(handle => [handle.handle, handle]));
50
+ const priorByProposal = new Map(prior.map(item => [item.candidateId, item]));
51
+ const factIds = [];
52
+ const recordIds = [];
53
+ const decisions = [];
54
+ for (const proposal of proposals) {
55
+ const replay = priorByProposal.get(proposal.proposalId);
56
+ if (replay) {
57
+ decisions.push({ operation: replay.operation, candidateId: replay.candidateId,
58
+ referencedFactIds: replay.referencedFactIds, reasonCode: replay.reasonCode });
59
+ if (replay.factId && replay.operation !== 'hold')
60
+ factIds.push(replay.factId);
61
+ if (replay.factId)
62
+ recordIds.push(replay.factId);
63
+ continue;
64
+ }
65
+ const valid = validateMemoryFactProposal({
66
+ episode: input.episode, proposal, providerReceipt: input.providerReceipt, handles,
67
+ });
68
+ if (!valid.valid) {
69
+ const decision = proposalHold(proposal.proposalId, valid.reasonCode);
70
+ decisions.push(decision);
71
+ const outcome = this.episodes.appendItemOutcome({
72
+ episodeId: input.episode.episodeId, proposalId: proposal.proposalId,
73
+ proposalHash: proposal.proposalHash, providerReceiptId: input.providerReceipt.receiptId,
74
+ state: 'rejected', reasonCode: valid.reasonCode, createdAt: input.episode.createdAt,
75
+ });
76
+ this.episodes.appendLifecycle({
77
+ episodeId: input.episode.episodeId, candidateId: proposal.proposalId, decision,
78
+ });
79
+ this.logFactItem('memory.fact_item.held', input.episode, input.providerReceipt, outcome, 'hold');
80
+ continue;
81
+ }
82
+ const identity = compileMemoryIdentity({ episode: input.episode, proposal: valid.proposal, handles });
83
+ const decision = reduceMemoryFactProposal({
84
+ proposal: valid.proposal, identity, currentFacts: handlesToSlots(handles),
85
+ });
86
+ decisions.push(decision);
87
+ const persistence = input.persistenceByProposalId?.[proposal.proposalId] ?? {};
88
+ let factId;
89
+ if (persistence.qualityStatus === 'quarantined') {
90
+ decision.operation = 'hold';
91
+ decision.referencedFactIds = [];
92
+ decision.reasonCode = persistence.quarantineReason ?? 'quality_gate_rejected';
93
+ }
94
+ else if (decision.operation === 'add') {
95
+ factId = this.writeProposalRecord(input.episode, valid.proposal, identity.factInstanceId, persistence, 'current').id;
96
+ }
97
+ else if (decision.operation === 'reinforce') {
98
+ factId = decision.referencedFactIds[0];
99
+ if (factId)
100
+ this.store.reinforceObservation(factId, {
101
+ sourceEventIds: input.episode.sourceEventIds,
102
+ source: persistence.source ?? 'explicit_intent',
103
+ importance: persistence.importance ?? 10,
104
+ confidence: valid.proposal.confidence,
105
+ evidenceStatus: 'verified',
106
+ evidenceDetails: proposalEvidenceDetails(valid.proposal),
107
+ });
108
+ }
109
+ this.episodes.appendLifecycle({
110
+ episodeId: input.episode.episodeId, candidateId: proposal.proposalId,
111
+ ...(factId ? { factId } : {}), decision,
112
+ });
113
+ const outcome = this.episodes.appendItemOutcome({
114
+ episodeId: input.episode.episodeId, proposalId: proposal.proposalId,
115
+ proposalHash: proposal.proposalHash, providerReceiptId: input.providerReceipt.receiptId,
116
+ state: decision.operation === 'hold' ? 'held' : 'committed',
117
+ ...(factId ? { factId } : {}), operation: decision.operation,
118
+ reasonCode: decision.reasonCode, createdAt: input.episode.createdAt,
119
+ });
120
+ this.logFactItem(decision.operation === 'hold' ? 'memory.fact_item.held' : 'memory.fact_item.committed', input.episode, input.providerReceipt, outcome, decision.operation);
121
+ if (factId) {
122
+ factIds.push(factId);
123
+ recordIds.push(factId);
124
+ }
125
+ }
126
+ const derived = this.episodes.deriveExtractionState(input.episode.episodeId);
127
+ if (derived.state !== 'pending_extraction')
128
+ this.episodes.completeExtraction(input.episode.episodeId, derived.state === 'held' ? 'held' : 'extracted', derived.reasonCode);
129
+ const status = derived.state === 'pending_extraction' ? 'pending'
130
+ : derived.state === 'held' ? 'held' : 'applied';
131
+ this.log(status === 'applied' ? 'memory.write.completed' : 'memory.write.degraded', input.episode, {
132
+ stage: 'fact_item_ledger', status, proposalCount: proposals.length,
133
+ factCount: factIds.length, operations: decisions.map(item => item.operation),
134
+ reasonCodes: decisions.map(item => item.reasonCode), providerReceiptId: input.providerReceipt.receiptId,
135
+ });
136
+ return {
137
+ episode: committed.episode, receipt: committed.receipt, status,
138
+ factIds: [...new Set(factIds)], recordIds: [...new Set(recordIds)], decisions,
139
+ replayed: committed.replayed,
140
+ };
141
+ }
142
+ async commitExplicitEpisode(input) {
143
+ const createdAt = input.createdAt ?? Date.now();
144
+ const contentHash = stableRuntimeHash(input.content.normalize('NFKC').trim());
145
+ const episode = createMemoryEpisodeV1({
146
+ episodeId: `memory-episode:${stableRuntimeHash({
147
+ projectId: this.projectIdentity.projectId,
148
+ memoryNamespace: this.projectIdentity.memoryNamespace,
149
+ actorId: input.actorId, sessionId: input.sessionId,
150
+ turnId: input.turnId, sourceMessageId: input.sourceMessageId, contentHash,
151
+ }).slice(0, 32)}`,
152
+ projectId: this.projectIdentity.projectId,
153
+ memoryNamespace: this.projectIdentity.memoryNamespace,
154
+ actorId: input.actorId, sessionId: input.sessionId, turnId: input.turnId,
155
+ sourceMessageId: input.sourceMessageId, content: input.content,
156
+ sourceKind: 'explicit', coldRecallEligible: true,
157
+ ...(input.supersedesEpisodeId ? { supersedesEpisodeId: input.supersedesEpisodeId } : {}),
158
+ sourceEventIds: input.sourceEventIds ?? [], createdAt,
159
+ });
160
+ return this.commitEpisode({ episode, idempotencyKey: `explicit-memory:${episode.episodeId}` });
161
+ }
162
+ queueExtraction(episodeId) {
163
+ return this.episodes.queueExtraction(episodeId);
164
+ }
165
+ getEpisode(episodeId) {
166
+ return this.episodes.getEpisode(episodeId);
167
+ }
168
+ close() {
169
+ this.episodes.close();
170
+ }
171
+ writeProposalRecord(episode, proposal, factId, persistence, resolutionState) {
172
+ const existing = this.store.getObservation(factId);
173
+ if (existing)
174
+ return existing;
175
+ const semantic = normalizeSemanticMemory({
176
+ project: episode.memoryNamespace, type: proposal.type, title: proposal.enrichment.title,
177
+ narrative: proposal.statement, subject: proposal.subject, predicate: proposal.predicate,
178
+ value: proposal.value, polarity: proposal.polarity, entities: proposal.enrichment.entities,
179
+ temporal: proposal.enrichment.temporal ?? undefined,
180
+ });
181
+ const row = this.store.addObservation({
182
+ id: factId, dedupKey: factId,
183
+ actorId: episode.actorId,
184
+ sessionId: persistence.sessionId ?? episode.sessionId, project: episode.memoryNamespace,
185
+ type: proposal.type, title: proposal.enrichment.title, narrative: proposal.statement,
186
+ facts: proposal.enrichment.facts, files: proposal.enrichment.files, tools: proposal.enrichment.tools,
187
+ concepts: proposal.enrichment.concepts, importance: persistence.importance ?? 10,
188
+ confidence: proposal.confidence, source: persistence.source ?? 'explicit_intent',
189
+ sourceEventIds: episode.sourceEventIds, qualityStatus: persistence.qualityStatus ?? 'accepted',
190
+ quarantineReason: persistence.quarantineReason, qualityDetails: persistence.qualityDetails,
191
+ failureCategory: persistence.failureCategory, resolutionState, evidenceStatus: 'verified',
192
+ evidenceDetails: proposalEvidenceDetails(proposal), semantic,
193
+ capsule: persistence.capsule, projection: persistence.projection, timestamp: episode.createdAt,
194
+ });
195
+ if ((persistence.source ?? 'explicit_intent') === 'explicit_intent') {
196
+ this.store.markObservationExplicitlyAccepted(row.id, episode.createdAt);
197
+ }
198
+ return this.store.getObservation(row.id) ?? row;
199
+ }
200
+ log(event, episode, data) {
201
+ emitSemanticControlLog({
202
+ event, identity: { projectRoot: this.projectRoot, projectId: episode.projectId, sessionId: episode.sessionId, turnId: episode.turnId },
203
+ level: event === 'memory.write.completed' ? 'info' : 'warn', timestamp: Date.now(),
204
+ data: { ...data, episodeId: episode.episodeId, episodeHash: episode.episodeHash },
205
+ });
206
+ }
207
+ logProviderReceipt(episode, receipt) {
208
+ const event = receipt.status === 'ready' || receipt.status === 'empty_valid'
209
+ ? 'provider.execution.completed'
210
+ : 'provider.execution.rejected';
211
+ emitSemanticControlLog({
212
+ event,
213
+ identity: { projectRoot: this.projectRoot, projectId: episode.projectId, sessionId: episode.sessionId, turnId: episode.turnId },
214
+ level: event === 'provider.execution.completed' ? 'info' : 'warn',
215
+ timestamp: Date.now(),
216
+ data: {
217
+ executionId: receipt.executionId,
218
+ requestHash: receipt.requestHash,
219
+ providerIdHash: stableRuntimeHash(receipt.providerId),
220
+ providerVersionHash: stableRuntimeHash(receipt.providerVersion),
221
+ providerReceiptId: receipt.receiptId,
222
+ providerReceiptHash: receipt.receiptHash,
223
+ capability: receipt.capability,
224
+ status: receipt.status,
225
+ proposalCount: receipt.proposalCount,
226
+ acceptedCount: receipt.acceptedCount,
227
+ rejectedCount: receipt.rejectedCount,
228
+ reasonCodes: receipt.reasonCodes,
229
+ latencyMs: receipt.latencyMs,
230
+ },
231
+ });
232
+ }
233
+ logFactItem(event, episode, receipt, outcome, operation) {
234
+ emitSemanticControlLog({
235
+ event: event === 'memory.fact_item.committed'
236
+ ? 'memory.fact_item.committed'
237
+ : 'memory.fact_item.held',
238
+ identity: { projectRoot: this.projectRoot, projectId: episode.projectId, sessionId: episode.sessionId, turnId: episode.turnId },
239
+ level: event === 'memory.fact_item.committed' ? 'info' : 'warn',
240
+ timestamp: Date.now(),
241
+ data: {
242
+ episodeId: episode.episodeId,
243
+ proposalId: outcome.proposalId,
244
+ outcomeHash: outcome.outcomeHash,
245
+ providerReceiptId: receipt.receiptId,
246
+ providerReceiptHash: receipt.receiptHash,
247
+ state: outcome.state,
248
+ operation,
249
+ reasonCode: outcome.reasonCode,
250
+ },
251
+ });
252
+ }
253
+ }
254
+ function replayResult(committed, prior) {
255
+ return {
256
+ episode: committed.episode, receipt: committed.receipt,
257
+ status: prior.every(item => item.operation === 'hold') ? 'held' : 'applied',
258
+ factIds: prior.flatMap(item => item.factId && item.operation !== 'hold' ? [item.factId] : []),
259
+ recordIds: prior.flatMap(item => item.factId ? [item.factId] : []),
260
+ decisions: prior.map(item => ({ operation: item.operation, candidateId: item.candidateId,
261
+ referencedFactIds: item.referencedFactIds, reasonCode: item.reasonCode })),
262
+ replayed: true,
263
+ };
264
+ }
265
+ function handlesToSlots(handles) {
266
+ return [...handles.values()].flatMap(handle => handle.factId ? [{
267
+ id: handle.factId, ...(handle.slotIdentity ? { slotIdentity: handle.slotIdentity } : {}),
268
+ resolutionState: 'current',
269
+ }] : []);
270
+ }
271
+ function proposalEvidenceDetails(proposal) {
272
+ return [
273
+ ...proposal.enrichment.evidence.map(item => ({ ...item })),
274
+ ...proposal.sourceSpans.map(span => ({
275
+ kind: 'source_span', source: span.sourceMessageId,
276
+ start: span.start, end: span.end, textHash: span.textHash,
277
+ })),
278
+ ];
279
+ }
280
+ function proposalHold(proposalId, reasonCode) {
281
+ return { operation: 'hold', candidateId: proposalId, referencedFactIds: [], reasonCode };
282
+ }
283
+ //# sourceMappingURL=memory-command-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-command-service.js","sourceRoot":"","sources":["../src/memory-command-service.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,21 @@
1
- import type { IMemoryEngine, UserPrefs, Convention, ProjectContext, SessionEntry, SessionMemory, MemoryCandidate, KnowledgeEntry, MemoryEntryRecord, MemoryFilter, MemorySearchOptions, MemorySearchResult, GetMemoryOptions, GetMemoryResult, MemorySnapshotItem } from '@devflow-tools/sdk';
1
+ import type { IMemoryEngine, UserPrefs, Convention, ProjectContext, SessionEntry, SessionMemory, MemoryCandidate, KnowledgeEntry, MemoryEntryRecord, MemoryFilter, MemorySearchOptions, MemorySearchResult, GetMemoryOptions, GetMemoryResult, MemorySnapshotItem, MemoryEntryInput, MemoryProjectScope, MemoryWriteProvenance } from '@devflow-tools/sdk';
2
2
  import { MemoryStore } from './memory-store.js';
3
3
  import type { Signal } from './signal-analyzer.js';
4
4
  import { EmbeddingProvider } from './embedding-provider.js';
5
+ import { type SearchWithDiagnosticsResult } from './hybrid-search.js';
5
6
  import { type ExplicitMemoryEvidence } from './explicit-memory-enricher.js';
7
+ import { MemoryCommandService } from './memory-command-service.js';
6
8
  export declare class MemoryEngine implements IMemoryEngine {
7
9
  readonly store: MemoryStore;
8
10
  private embedder;
9
11
  private searcher;
10
12
  private graph;
11
13
  private rootPath;
12
- constructor(rootPath: string, embedder?: EmbeddingProvider);
14
+ private readonly projectIdentity;
15
+ readonly commands: MemoryCommandService;
16
+ constructor(rootPath: string, embedder: EmbeddingProvider | undefined, projectIdentity: MemoryProjectScope);
13
17
  private _initPromise;
14
18
  private _embedderAvailable;
15
- private _explicitPreferencesReconciled;
16
- private reconcileHistoricalExplicitPreferences;
17
19
  private getExplicitPreferenceConflictState;
18
20
  private isSearchResultVisible;
19
21
  private ensureInit;
@@ -34,22 +36,21 @@ export declare class MemoryEngine implements IMemoryEngine {
34
36
  getAll(options?: string | GetMemoryOptions): Promise<GetMemoryResult & {
35
37
  relevant: KnowledgeEntry[];
36
38
  }>;
37
- saveExplicitMemoryIntent(content: string, sessionId?: string, sourceEventId?: string): Promise<MemorySnapshotItem>;
39
+ saveExplicitMemoryIntent(content: string, provenance: MemoryWriteProvenance, sourceEventId?: string): Promise<MemorySnapshotItem>;
38
40
  enrichExplicitMemoryObservation(observationId: string): ExplicitMemoryEvidence;
39
41
  attributeRetrievalBenefits(options: {
40
42
  sessionId: string;
41
43
  executionId?: string;
42
- finalAnswer?: string;
43
44
  outcome?: 'positive' | 'negative' | 'unknown';
44
45
  outcomeReason?: string;
45
46
  workflowRunId?: string;
46
47
  contextReceipt?: string;
47
48
  toolEvidence?: string[];
48
49
  verificationReceipt?: string;
49
- adoptedSourceIds?: string[];
50
+ consumedSourceIds: string[];
50
51
  }): {
51
52
  selected: number;
52
- adopted: number;
53
+ consumed: number;
53
54
  positive: number;
54
55
  negative: number;
55
56
  unknown: number;
@@ -64,21 +65,24 @@ export declare class MemoryEngine implements IMemoryEngine {
64
65
  }): void;
65
66
  listObservationMemories(source?: string): MemorySnapshotItem[];
66
67
  getCandidates(): Promise<MemoryCandidate[]>;
67
- approveCandidate(id: string): Promise<void>;
68
- rejectCandidate(id: string): Promise<void>;
68
+ approveCandidate(id: string, provenance: MemoryWriteProvenance): Promise<void>;
69
+ rejectCandidate(id: string, provenance: MemoryWriteProvenance): Promise<void>;
69
70
  search(query: string, options?: MemorySearchOptions): Promise<MemorySearchResult[]>;
71
+ searchWithDiagnostics(query: string, options?: MemorySearchOptions): Promise<SearchWithDiagnosticsResult>;
70
72
  getRetrievalRevision(): number;
71
73
  listMemories(filter?: MemoryFilter): Promise<MemoryEntryRecord[]>;
72
- addMemory(entry: Omit<MemoryEntryRecord, 'id' | 'createdAt' | 'status'>): Promise<MemoryEntryRecord>;
74
+ addMemory(entry: MemoryEntryInput, provenance: MemoryWriteProvenance): Promise<MemoryEntryRecord>;
73
75
  private addMemoryWithStatus;
74
76
  private reconcileRuleStatus;
77
+ private authorizeMutation;
78
+ private updateStoredRow;
75
79
  /** Map internal MemoryRow → SDK MemoryEntryRecord */
76
80
  private _rowToRecord;
77
- updateMemory(id: string, updates: Partial<Pick<MemoryEntryRecord, 'content' | 'status' | 'scope'>>): Promise<void>;
78
- deleteMemory(id: string): Promise<void>;
81
+ updateMemory(id: string, updates: Partial<Pick<MemoryEntryRecord, 'content' | 'status'>>, provenance: MemoryWriteProvenance): Promise<void>;
82
+ deleteMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
79
83
  getPendingMemories(): Promise<MemoryEntryRecord[]>;
80
- approveMemory(id: string): Promise<void>;
81
- rejectMemory(id: string): Promise<void>;
84
+ approveMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
85
+ rejectMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
82
86
  consolidateSession(sessionId: string): Promise<MemoryEntryRecord | null>;
83
87
  /**
84
88
  * Pre-write contradiction check with LLM arbitration.
@@ -1 +1 @@
1
- {"version":3,"file":"memory-engine.d.ts","sourceRoot":"","sources":["../src/memory-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-engine.d.ts","sourceRoot":"","sources":["../src/memory-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EACpD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAC5D,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EACxE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAA4B,gBAAgB,EACjG,kBAAkB,EAAE,qBAAqB,EAC1C,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAmC,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAavG,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA4DnE,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;gBAE5B,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS,EAAE,eAAe,EAAE,kBAAkB;IAc1G,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,qBAAqB;YAOf,UAAU;IA6BlB,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC;IAIxC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAelD,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,eAAe;IAyDjB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,kBAAkB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAK3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,SAAgB,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQrD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAatD,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,MAAM,CAAC,OAAO,GAAE,MAAM,GAAG,gBAAqB,GAAG,OAAO,CAAC,eAAe,GAAG;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAwP1G,wBAAwB,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,EACjC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC;IA8D9B,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB;IAmB9E,0BAA0B,CAAC,OAAO,EAAE;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IA0E/F,8BAA8B,CAAC,OAAO,EAAE;QACtC,OAAO,EAAE,OAAO,oBAAoB,EAAE,sBAAsB,EAAE,CAAC;QAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;IAsBR,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAmBxD,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAW3C,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAInF,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,2BAA2B,CAAC;IAavC,oBAAoB,IAAI,MAAM;IAIxB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAUjE,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAIzF,mBAAmB;IA8KjC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,eAAe;IAavB,qDAAqD;IACrD,OAAO,CAAC,YAAY;IAsBd,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,EAC/D,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC;IAkBV,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1E,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIlD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAiC9E;;;OAGG;IACG,+BAA+B,CACnC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyCzI,KAAK,IAAI,IAAI;IAOP,WAAW,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxT,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAItC,sBAAsB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAS/H,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM3E,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAK9I,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAU7E,gBAAgB;CAgC/B"}