@wolfx/opencode-magic-context 0.24.1 → 0.26.0-patch.1

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 (142) hide show
  1. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  2. package/dist/agents/permissions.d.ts +6 -0
  3. package/dist/agents/permissions.d.ts.map +1 -1
  4. package/dist/config/schema/magic-context.d.ts +24 -17
  5. package/dist/config/schema/magic-context.d.ts.map +1 -1
  6. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +25 -0
  7. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  8. package/dist/features/magic-context/compartment-embedding.d.ts.map +1 -1
  9. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  10. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  11. package/dist/features/magic-context/memory/embedding-openai.d.ts +8 -4
  12. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  13. package/dist/features/magic-context/memory/embedding-provider.d.ts +8 -4
  14. package/dist/features/magic-context/memory/embedding-provider.d.ts.map +1 -1
  15. package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
  16. package/dist/features/magic-context/memory/relocate-memory.d.ts +58 -0
  17. package/dist/features/magic-context/memory/relocate-memory.d.ts.map +1 -0
  18. package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts +6 -0
  19. package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts.map +1 -1
  20. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  21. package/dist/features/magic-context/project-embedding-registry.d.ts +41 -3
  22. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  23. package/dist/features/magic-context/storage-db.d.ts +2 -1
  24. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  25. package/dist/features/magic-context/storage-meta-persisted.d.ts +37 -0
  26. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  27. package/dist/features/magic-context/storage-meta-session.d.ts +1 -0
  28. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  29. package/dist/features/magic-context/storage-meta-shared.d.ts +4 -1
  30. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  31. package/dist/features/magic-context/storage-meta.d.ts +2 -2
  32. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  33. package/dist/features/magic-context/storage-tags.d.ts +58 -2
  34. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  35. package/dist/features/magic-context/storage.d.ts +3 -3
  36. package/dist/features/magic-context/storage.d.ts.map +1 -1
  37. package/dist/features/magic-context/tagger.d.ts +1 -1
  38. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  39. package/dist/features/magic-context/transform-decision-log.d.ts +49 -0
  40. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -0
  41. package/dist/features/magic-context/types.d.ts +1 -0
  42. package/dist/features/magic-context/types.d.ts.map +1 -1
  43. package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
  44. package/dist/hooks/magic-context/apply-operations.d.ts +3 -25
  45. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  46. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  47. package/dist/hooks/magic-context/caveman-cleanup.d.ts +1 -0
  48. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
  49. package/dist/hooks/magic-context/channel2-delivery.d.ts +2 -0
  50. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
  51. package/dist/hooks/magic-context/command-handler.d.ts +7 -5
  52. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  53. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  54. package/dist/hooks/magic-context/compartment-trigger.d.ts +1 -1
  55. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  56. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +7 -2
  57. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
  58. package/dist/hooks/magic-context/derive-budgets.d.ts +5 -9
  59. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
  60. package/dist/hooks/magic-context/embed-session-state.d.ts +14 -0
  61. package/dist/hooks/magic-context/embed-session-state.d.ts.map +1 -0
  62. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/event-payloads.d.ts +1 -0
  64. package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -1
  65. package/dist/hooks/magic-context/format-embed-status.d.ts +9 -0
  66. package/dist/hooks/magic-context/format-embed-status.d.ts.map +1 -0
  67. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +2 -0
  68. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +10 -0
  72. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  74. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +1 -1
  75. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  76. package/dist/hooks/magic-context/strip-content.d.ts +0 -1
  77. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/tag-content-primitives.d.ts +2 -0
  79. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/tag-messages.d.ts +10 -0
  82. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  83. package/dist/hooks/magic-context/tool-drop-target.d.ts +1 -1
  84. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/tool-reclaim.d.ts +12 -0
  86. package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -0
  87. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +32 -1
  88. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/transform-operations.d.ts +1 -1
  90. package/dist/hooks/magic-context/transform-operations.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +6 -0
  92. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/transform.d.ts +2 -0
  94. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +1790 -1025
  97. package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
  98. package/dist/plugin/dream-timer.d.ts.map +1 -1
  99. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  100. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  101. package/dist/shared/announcement.d.ts +1 -1
  102. package/dist/shared/index.d.ts +0 -1
  103. package/dist/shared/index.d.ts.map +1 -1
  104. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  105. package/dist/shared/resolve-fallbacks.d.ts +16 -16
  106. package/dist/shared/resolve-fallbacks.d.ts.map +1 -1
  107. package/dist/shared/rpc-types.d.ts +20 -0
  108. package/dist/shared/rpc-types.d.ts.map +1 -1
  109. package/dist/shared/sqlite.d.ts +5 -1
  110. package/dist/shared/sqlite.d.ts.map +1 -1
  111. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  112. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  113. package/dist/tools/ctx-expand/render.d.ts +43 -0
  114. package/dist/tools/ctx-expand/render.d.ts.map +1 -0
  115. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  116. package/dist/tools/ctx-expand/types.d.ts +6 -2
  117. package/dist/tools/ctx-expand/types.d.ts.map +1 -1
  118. package/dist/tools/ctx-reduce/constants.d.ts +1 -1
  119. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  120. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  121. package/dist/tui/data/context-db.d.ts +4 -2
  122. package/dist/tui/data/context-db.d.ts.map +1 -1
  123. package/package.json +5 -12
  124. package/src/shared/announcement.ts +6 -6
  125. package/src/shared/index.ts +0 -1
  126. package/src/shared/model-suggestion-retry.test.ts +61 -1
  127. package/src/shared/model-suggestion-retry.ts +22 -0
  128. package/src/shared/resolve-fallbacks.test.ts +37 -71
  129. package/src/shared/resolve-fallbacks.ts +16 -26
  130. package/src/shared/rpc-types.ts +11 -0
  131. package/src/shared/sqlite-bind-style.test.ts +82 -0
  132. package/src/shared/sqlite.ts +30 -1
  133. package/src/shared/tag-transcript.test.ts +3 -1
  134. package/src/shared/tag-transcript.ts +19 -17
  135. package/src/tui/data/context-db.ts +34 -2
  136. package/src/tui/index.tsx +58 -4
  137. package/src/tui/slots/sidebar-content.tsx +18 -9
  138. package/dist/features/magic-context/memory/embedding-local.d.ts +0 -21
  139. package/dist/features/magic-context/memory/embedding-local.d.ts.map +0 -1
  140. package/dist/shared/model-requirements.d.ts +0 -26
  141. package/dist/shared/model-requirements.d.ts.map +0 -1
  142. package/src/shared/model-requirements.ts +0 -86
@@ -1 +1 @@
1
- {"version":3,"file":"magic-context-prompt.d.ts","sourceRoot":"","sources":["../../src/agents/magic-context-prompt.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAoIxE,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,UAAO,EACvB,cAAc,UAAQ,EACtB,wBAAwB,UAAQ,EAChC,6BAA6B,UAAQ,EACrC,YAAY,UAAQ,GACrB,MAAM,CA0BR"}
1
+ {"version":3,"file":"magic-context-prompt.d.ts","sourceRoot":"","sources":["../../src/agents/magic-context-prompt.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAkIxE,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,UAAO,EACvB,cAAc,UAAQ,EACtB,wBAAwB,UAAQ,EAChC,6BAA6B,UAAQ,EACrC,YAAY,UAAQ,GACrB,MAAM,CA0BR"}
@@ -97,6 +97,12 @@ export declare function buildAllowOnlyPermission(allowedTools: readonly string[]
97
97
  * not exploring the repo.
98
98
  */
99
99
  export declare const HISTORIAN_ALLOWED_TOOLS: readonly ["read", "aft_outline", "aft_zoom", "aft_search"];
100
+ /**
101
+ * Subtract `disallowed` from the default historian allow-list. `"*"` removes
102
+ * all tools. Unknown tool names are silently ignored (the Zod enum in the
103
+ * config schema rejects them at parse time, so this is defense-in-depth).
104
+ */
105
+ export declare function applyDisallowedTools(defaults: readonly string[], disallowed: readonly string[]): readonly string[];
100
106
  /**
101
107
  * Tools the dreamer agent needs. This is the broadest hidden-agent
102
108
  * surface because dreamer's tasks legitimately require local-repo
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/agents/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,SAAS,MAAM,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAMlC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,4DAA6D,CAAC;AAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,qBAAqB,6IAaxB,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,oDAAqD,CAAC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/agents/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,SAAS,MAAM,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAMlC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,4DAA6D,CAAC;AAElG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC9B,SAAS,MAAM,EAAE,CAGnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,qBAAqB,6IAaxB,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,oDAAqD,CAAC"}
@@ -3,7 +3,6 @@ export declare const DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE = 65;
3
3
  export declare const EXECUTE_THRESHOLD_CAP_MESSAGE = "execute_threshold is capped at 80% for cache safety: a single large agent step can overflow the context window before Magic Context can compact between turns, forcing OpenCode's native compaction (hard to recover from). 80% also leaves headroom below the 85%/95% emergency bands. Use a value between 20 and 80.";
4
4
  export declare const DEFAULT_HISTORIAN_TIMEOUT_MS = 300000;
5
5
  export declare const DEFAULT_HISTORY_BUDGET_PERCENTAGE = 0.15;
6
- export declare const DEFAULT_LOCAL_EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2";
7
6
  export declare const DREAMER_TASKS: readonly ["consolidate", "verify", "archive-stale", "improve", "maintain-docs"];
8
7
  export declare const DreamingTaskSchema: z.ZodEnum<{
9
8
  consolidate: "consolidate";
@@ -230,27 +229,31 @@ export declare const HistorianConfigSchema: z.ZodOptional<z.ZodObject<{
230
229
  high: "high";
231
230
  xhigh: "xhigh";
232
231
  }>>;
232
+ disallowed_tools: z.ZodDefault<z.ZodArray<z.ZodEnum<{
233
+ "*": "*";
234
+ read: "read";
235
+ aft_outline: "aft_outline";
236
+ aft_zoom: "aft_zoom";
237
+ aft_search: "aft_search";
238
+ }>>>;
233
239
  }, z.core.$strip>>;
234
240
  export type HistorianConfig = NonNullable<z.infer<typeof HistorianConfigSchema>>;
235
241
  export declare const EmbeddingConfigSchema: z.ZodPipe<z.ZodObject<{
236
242
  provider: z.ZodDefault<z.ZodEnum<{
237
243
  off: "off";
238
- local: "local";
239
244
  "openai-compatible": "openai-compatible";
240
245
  }>>;
241
246
  model: z.ZodOptional<z.ZodString>;
242
247
  endpoint: z.ZodOptional<z.ZodString>;
243
248
  api_key: z.ZodOptional<z.ZodString>;
244
249
  input_type: z.ZodOptional<z.ZodString>;
250
+ query_input_type: z.ZodOptional<z.ZodString>;
245
251
  truncate: z.ZodOptional<z.ZodString>;
246
252
  max_input_tokens: z.ZodOptional<z.ZodNumber>;
247
253
  }, z.core.$strip>, z.ZodTransform<{
248
- max_input_tokens?: number | undefined;
249
- provider: "local";
250
- model: string;
251
- } | {
252
254
  max_input_tokens?: number | undefined;
253
255
  truncate?: string | undefined;
256
+ query_input_type?: string | undefined;
254
257
  input_type?: string | undefined;
255
258
  api_key?: string | undefined;
256
259
  provider: "openai-compatible";
@@ -259,11 +262,12 @@ export declare const EmbeddingConfigSchema: z.ZodPipe<z.ZodObject<{
259
262
  } | {
260
263
  provider: "off";
261
264
  }, {
262
- provider: "off" | "local" | "openai-compatible";
265
+ provider: "off" | "openai-compatible";
263
266
  model?: string | undefined;
264
267
  endpoint?: string | undefined;
265
268
  api_key?: string | undefined;
266
269
  input_type?: string | undefined;
270
+ query_input_type?: string | undefined;
267
271
  truncate?: string | undefined;
268
272
  max_input_tokens?: number | undefined;
269
273
  }>>;
@@ -456,6 +460,13 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
456
460
  high: "high";
457
461
  xhigh: "xhigh";
458
462
  }>>;
463
+ disallowed_tools: z.ZodDefault<z.ZodArray<z.ZodEnum<{
464
+ "*": "*";
465
+ read: "read";
466
+ aft_outline: "aft_outline";
467
+ aft_zoom: "aft_zoom";
468
+ aft_search: "aft_search";
469
+ }>>>;
459
470
  }, z.core.$strip>>;
460
471
  dreamer: z.ZodOptional<z.ZodObject<{
461
472
  model: z.ZodOptional<z.ZodString>;
@@ -563,22 +574,19 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
563
574
  embedding: z.ZodDefault<z.ZodPipe<z.ZodObject<{
564
575
  provider: z.ZodDefault<z.ZodEnum<{
565
576
  off: "off";
566
- local: "local";
567
577
  "openai-compatible": "openai-compatible";
568
578
  }>>;
569
579
  model: z.ZodOptional<z.ZodString>;
570
580
  endpoint: z.ZodOptional<z.ZodString>;
571
581
  api_key: z.ZodOptional<z.ZodString>;
572
582
  input_type: z.ZodOptional<z.ZodString>;
583
+ query_input_type: z.ZodOptional<z.ZodString>;
573
584
  truncate: z.ZodOptional<z.ZodString>;
574
585
  max_input_tokens: z.ZodOptional<z.ZodNumber>;
575
586
  }, z.core.$strip>, z.ZodTransform<{
576
- max_input_tokens?: number | undefined;
577
- provider: "local";
578
- model: string;
579
- } | {
580
587
  max_input_tokens?: number | undefined;
581
588
  truncate?: string | undefined;
589
+ query_input_type?: string | undefined;
582
590
  input_type?: string | undefined;
583
591
  api_key?: string | undefined;
584
592
  provider: "openai-compatible";
@@ -587,11 +595,12 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
587
595
  } | {
588
596
  provider: "off";
589
597
  }, {
590
- provider: "off" | "local" | "openai-compatible";
598
+ provider: "off" | "openai-compatible";
591
599
  model?: string | undefined;
592
600
  endpoint?: string | undefined;
593
601
  api_key?: string | undefined;
594
602
  input_type?: string | undefined;
603
+ query_input_type?: string | undefined;
595
604
  truncate?: string | undefined;
596
605
  max_input_tokens?: number | undefined;
597
606
  }>>>;
@@ -708,12 +717,9 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
708
717
  mmap_size_mb: number;
709
718
  };
710
719
  embedding: {
711
- max_input_tokens?: number | undefined;
712
- provider: "local";
713
- model: string;
714
- } | {
715
720
  max_input_tokens?: number | undefined;
716
721
  truncate?: string | undefined;
722
+ query_input_type?: string | undefined;
717
723
  input_type?: string | undefined;
718
724
  api_key?: string | undefined;
719
725
  provider: "openai-compatible";
@@ -746,6 +752,7 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
746
752
  };
747
753
  historian?: {
748
754
  two_pass: boolean;
755
+ disallowed_tools: ("*" | "read" | "aft_outline" | "aft_zoom" | "aft_search")[];
749
756
  model?: string | undefined;
750
757
  temperature?: number | undefined;
751
758
  top_p?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"magic-context.d.ts","sourceRoot":"","sources":["../../../src/config/schema/magic-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magic-context.d.ts","sourceRoot":"","sources":["../../../src/config/schema/magic-context.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,23 @@ export interface SaveCompartmentChunkEmbeddingInput {
49
49
  }
50
50
  export declare function normalizeCompartmentChunkMaxInputTokens(value: unknown): number;
51
51
  export declare function buildCanonicalChunkTextFromFts(db: Database, sessionId: string, startOrdinal: number, endOrdinal: number): string;
52
+ /**
53
+ * Fallback embeddable text for a compartment whose RAW span has NO indexable
54
+ * content. A thin one-beat compartment — e.g. a host-injected
55
+ * `<system-reminder>` notification (stripped to empty by the indexer) plus an
56
+ * assistant tool-call (no text) — leaves `buildCanonicalChunkTextFromFts`
57
+ * returning "". Such a compartment would never acquire an embedding row, so it
58
+ * stays counted as "remaining" forever and the auto-embed drain re-fires its
59
+ * start/finish notification on every restart (the desktop "Embedding 1 /
60
+ * Embedded 0" loop).
61
+ *
62
+ * The compartment still carries a real summary (title + p1 paraphrase) — the
63
+ * ONLY signal it has — so we embed that instead. This is NOT the redundancy that
64
+ * retired `p1_embedding` (which embedded the summary ALONGSIDE the raw chunk):
65
+ * here there is no raw chunk to embed, so the summary is the sole content.
66
+ * Returns "" only when the compartment has neither a title nor p1/content.
67
+ */
68
+ export declare function buildCompartmentSummaryFallbackText(db: Database, compartmentId: number): string;
52
69
  /**
53
70
  * Convert historian input text into the same embeddable subset used by the FTS
54
71
  * backfill producer: only U:/A: conversational lines remain, and TC: tool-call
@@ -77,4 +94,12 @@ export declare function loadUnembeddedSessionChunkCandidates(db: Database, proje
77
94
  /** Count compartments in this session that still lack a chunk embedding for
78
95
  * `modelId` — drives the `/ctx-embed-history` progress total. */
79
96
  export declare function countUnembeddedSessionCompartments(db: Database, projectPath: string, sessionId: string, modelId: string): number;
97
+ /** Total embeddable compartments in this session (have a message range), and how
98
+ * many are currently embedded under `modelId`. Drives the `/ctx-embed` status
99
+ * line: `embedded / total`. Counts the project's OWN compartments for the
100
+ * session (same `session_projects` scoping as the unembedded counter). */
101
+ export declare function countSessionCompartmentEmbedCoverage(db: Database, projectPath: string, sessionId: string, modelId: string): {
102
+ embedded: number;
103
+ total: number;
104
+ };
80
105
  //# sourceMappingURL=compartment-chunk-embedding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-chunk-embedding.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compartment-chunk-embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compartment-chunk-embedding.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compartment-chunk-embedding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-embedding.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compartment-embedding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,8BAA8B,CAChD,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,SAAS,uBAAuB,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAsFf"}
1
+ {"version":3,"file":"compartment-embedding.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compartment-embedding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAgBpD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,8BAA8B,CAChD,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,SAAS,uBAAuB,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAuFf"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-prompts.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/task-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAIzE,eAAO,MAAM,qBAAqB,y8FAmCulB,CAAC;AAI1nB,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+BlE;AAID,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiC7D;AAID,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,MAAM,CA0ER;AAID,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0C9D;AAID,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC5D,MAAM,CA+CR;AA0GD,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,GACF,MAAM,CAiBR"}
1
+ {"version":3,"file":"task-prompts.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/task-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAIzE,eAAO,MAAM,qBAAqB,y8FAmCulB,CAAC;AAI1nB,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+BlE;AAID,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiC7D;AAID,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,MAAM,CA0ER;AAID,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0C9D;AAID,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC5D,MAAM,CAgDR;AA0GD,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,GACF,MAAM,CAiBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAQ5E;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA0B5E"}
1
+ {"version":3,"file":"embedding-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyB5E"}
@@ -1,10 +1,12 @@
1
- import type { EmbeddingProvider } from "./embedding-provider";
1
+ import type { EmbeddingProvider, EmbeddingPurpose } from "./embedding-provider";
2
2
  interface OpenAICompatibleEmbeddingProviderOptions {
3
3
  endpoint?: string;
4
4
  model?: string;
5
5
  apiKey?: string;
6
- /** Optional `input_type` body field (e.g. NVIDIA NIM 'query'/'passage'). */
6
+ /** Default/passage `input_type` body field (e.g. NVIDIA NIM 'passage'). */
7
7
  inputType?: string;
8
+ /** Optional query `input_type` for search embeddings; falls back to inputType when unset. */
9
+ queryInputType?: string;
8
10
  /** Optional `truncate` body field (e.g. NVIDIA NIM 'NONE'/'START'/'END'). */
9
11
  truncate?: string;
10
12
  /** Maximum safe input tokens for chunk embeddings. */
@@ -28,6 +30,7 @@ export declare class OpenAICompatibleEmbeddingProvider implements EmbeddingProvi
28
30
  private readonly model;
29
31
  private readonly apiKey;
30
32
  private readonly inputType;
33
+ private readonly queryInputType;
31
34
  private readonly truncate;
32
35
  private initialized;
33
36
  private failureTimes;
@@ -43,8 +46,9 @@ export declare class OpenAICompatibleEmbeddingProvider implements EmbeddingProvi
43
46
  private halfOpenProbeInFlight;
44
47
  constructor(options: OpenAICompatibleEmbeddingProviderOptions);
45
48
  initialize(): Promise<boolean>;
46
- embed(text: string, signal?: AbortSignal): Promise<Float32Array | null>;
47
- embedBatch(texts: string[], signal?: AbortSignal): Promise<(Float32Array | null)[]>;
49
+ private resolveInputTypeForPurpose;
50
+ embed(text: string, signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<Float32Array | null>;
51
+ embedBatch(texts: string[], signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<(Float32Array | null)[]>;
48
52
  dispose(): Promise<void>;
49
53
  isLoaded(): boolean;
50
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-openai.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-openai.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,UAAU,wCAAwC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/E;AA+BD,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,qBAAa,iCAAkC,YAAW,iBAAiB;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,WAAW,CAAS;IAI5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B;;4EAEwE;IACxE,OAAO,CAAC,mBAAmB,CAAS;IACpC;;sDAEkD;IAClD,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,OAAO,EAAE,wCAAwC;IAmBvD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA0B9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKvE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IA4KnF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,QAAQ,IAAI,OAAO;IAInB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,aAAa;IAUrB,gBAAgB,IAAI,YAAY;IAQhC,gBAAgB,IAAI,MAAM;IAG1B,aAAa,IAAI,IAAI;CAMxB"}
1
+ {"version":3,"file":"embedding-openai.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-openai.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,UAAU,wCAAwC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/E;AA+BD,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,qBAAa,iCAAkC,YAAW,iBAAiB;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,WAAW,CAAS;IAI5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B;;4EAEwE;IACxE,OAAO,CAAC,mBAAmB,CAAS;IACpC;;sDAEkD;IAClD,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,OAAO,EAAE,wCAAwC;IAoBvD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BpC,OAAO,CAAC,0BAA0B;IAO5B,KAAK,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKzB,UAAU,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IA6K7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,QAAQ,IAAI,OAAO;IAInB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,aAAa;IAUrB,gBAAgB,IAAI,YAAY;IAQhC,gBAAgB,IAAI,MAAM;IAG1B,aAAa,IAAI,IAAI;CAMxB"}
@@ -1,3 +1,4 @@
1
+ export type EmbeddingPurpose = "query" | "passage";
1
2
  export interface EmbeddingProvider {
2
3
  readonly modelId: string;
3
4
  /** Maximum safe input window for one embedding request. Unknown providers default to 512. */
@@ -6,11 +7,14 @@ export interface EmbeddingProvider {
6
7
  /** Embed a single text. `signal` lets callers abort the underlying network
7
8
  * request (or long-running local inference) before the provider's internal
8
9
  * timeout fires — used by transform-hot-path callers that have their own
9
- * sub-timeout (e.g. 3s auto-search wants to cancel the 30s embed fetch). */
10
- embed(text: string, signal?: AbortSignal): Promise<Float32Array | null>;
10
+ * sub-timeout (e.g. 3s auto-search wants to cancel the 30s embed fetch).
11
+ * `purpose` selects asymmetric input_type on openai-compatible providers;
12
+ * defaults to `"passage"` (indexed/stored content). */
13
+ embed(text: string, signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<Float32Array | null>;
11
14
  /** Batch variant of `embed`. Same signal semantics: aborting cancels the
12
- * whole batch request (including the underlying HTTP call for remote providers). */
13
- embedBatch(texts: string[], signal?: AbortSignal): Promise<(Float32Array | null)[]>;
15
+ * whole batch request (including the underlying HTTP call for remote providers).
16
+ * `purpose` defaults to `"passage"`. */
17
+ embedBatch(texts: string[], signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<(Float32Array | null)[]>;
14
18
  dispose(): Promise<void>;
15
19
  isLoaded(): boolean;
16
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-provider.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B;;;iFAG6E;IAC7E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxE;yFACqF;IACrF,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,IAAI,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"embedding-provider.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-provider.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B;;;;;4DAKwD;IACxD,KAAK,CACD,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChC;;6CAEyC;IACzC,UAAU,CACN,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,IAAI,OAAO,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,YAAY,EACR,iBAAiB,EACjB,oCAAoC,GACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sCAAsC,EACtC,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,0CAA0C,EAC1C,iCAAiC,EACjC,2BAA2B,EAC3B,oCAAoC,EACpC,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,+BAA+B,CAAC;AA6GvC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAoBjE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO7D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAWhG;AAED,wBAAsB,UAAU,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAelC;AAED,wBAAsB,uBAAuB,CACzC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAEjB;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC5C,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAED,8CAA8C;AAC9C,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAmDD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3D"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,YAAY,EACR,iBAAiB,EACjB,oCAAoC,GACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sCAAsC,EACtC,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,0CAA0C,EAC1C,iCAAiC,EACjC,2BAA2B,EAC3B,oCAAoC,EACpC,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,+BAA+B,CAAC;AAsGvC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAoBjE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO7D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAWhG;AAED,wBAAsB,UAAU,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAelC;AAED,wBAAsB,uBAAuB,CACzC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAEjB;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC5C,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAED,8CAA8C;AAC9C,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAmDD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3D"}
@@ -0,0 +1,58 @@
1
+ import type { Database } from "../../../shared/sqlite";
2
+ import type { MemoryStatus } from "./types";
3
+ /**
4
+ * Memory relocation primitives shared by the v22 dir-identity backfill and the
5
+ * `doctor migrate-session` command (re-homing a session to a different project).
6
+ *
7
+ * All operations are collision-aware against UNIQUE(project_path, category,
8
+ * normalized_hash): the target identity may already hold an equivalent memory,
9
+ * and a blind write there would abort the surrounding transaction. MUST run
10
+ * inside a transaction.
11
+ */
12
+ export interface RelocateMemorySelection {
13
+ /** Status set to operate on. Archived memories are deliberately excluded by
14
+ * default — they are suppressed history, not injectable knowledge. */
15
+ statuses?: MemoryStatus[];
16
+ /** When set, restrict to memories whose `source_session_id` matches (the
17
+ * "only memories originated from this session" option). */
18
+ sourceSessionId?: string;
19
+ }
20
+ /**
21
+ * Resolve the memory ids under `fromProjectPath` that a relocation should act
22
+ * on, honoring the status filter and the optional originator-session filter.
23
+ */
24
+ export declare function selectRelocatableMemoryIds(db: Database, fromProjectPath: string, selection?: RelocateMemorySelection): number[];
25
+ /**
26
+ * Collision-aware single-row rekey. If the target identity already holds an
27
+ * equivalent memory (same category + normalized_hash), merge into it (keep the
28
+ * larger seen_count, delete the source — embedding FK-cascades) instead of
29
+ * aborting the transaction on the UNIQUE violation; otherwise do the guarded
30
+ * UPDATE. Returns true if the row was rekeyed or merged. MUST run inside a
31
+ * transaction.
32
+ */
33
+ export declare function rekeyMemoryRowWithCollisionMerge(db: Database, rowId: number, fromProjectPath: string, toIdentity: string): boolean;
34
+ export interface RelocateResult {
35
+ /** Rows rekeyed/inserted under the target identity. */
36
+ relocated: number;
37
+ /** Rows merged into a pre-existing equivalent at the target (move only). */
38
+ merged: number;
39
+ /** Rows skipped because an equivalent already existed at the target (copy only). */
40
+ skipped: number;
41
+ }
42
+ /**
43
+ * MOVE a set of memory ids from `fromProjectPath` to `toIdentity`. The source
44
+ * project loses them. Collision-safe (merge into an existing equivalent at the
45
+ * target). Embeddings follow automatically (memory_id is unchanged on a rekey,
46
+ * FK-cascade on a merge-delete). MUST run inside a transaction.
47
+ */
48
+ export declare function moveMemoriesToProject(db: Database, ids: number[], fromProjectPath: string, toIdentity: string): RelocateResult;
49
+ /**
50
+ * COPY a set of memory ids under `toIdentity`, leaving the source rows intact.
51
+ * Each copy gets a fresh id; its embedding (if any) is duplicated. Collision-safe
52
+ * via INSERT OR IGNORE against the UNIQUE constraint — a row already present at
53
+ * the target is skipped (no duplicate). `project_path` is overridden to the
54
+ * target; all other columns (including source_session_id and timestamps) are
55
+ * preserved for provenance. MUST run inside a transaction.
56
+ */
57
+ export declare function copyMemoriesToProject(db: Database, ids: number[], toIdentity: string): RelocateResult;
58
+ //# sourceMappingURL=relocate-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relocate-memory.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/relocate-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;;GAQG;AAEH,MAAM,WAAW,uBAAuB;IACpC;2EACuE;IACvE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;gEAC4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,SAAS,GAAE,uBAA4B,GACxC,MAAM,EAAE,CAaV;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC5C,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACnB,OAAO,CA4CT;AAED,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EAAE,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACnB,cAAc,CAqBhB;AAeD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EAAE,EACb,UAAU,EAAE,MAAM,GACnB,cAAc,CAyBhB"}
@@ -9,4 +9,10 @@ export declare function deleteEmbedding(db: Database, memoryId: number): void;
9
9
  export declare function getStoredModelId(db: Database, projectPath: string): string | null;
10
10
  export declare function clearEmbeddingsForProject(db: Database, projectPath: string): void;
11
11
  export declare function getDistinctStoredModelIds(db: Database, projectPath: string): Set<string | null>;
12
+ /** Active memories for a project, and how many are embedded under `modelId`.
13
+ * Drives the `/ctx-embed` status `embedded / total` memory line. */
14
+ export declare function getMemoryEmbedCoverage(db: Database, projectPath: string, modelId: string): {
15
+ embedded: number;
16
+ total: number;
17
+ };
12
18
  //# sourceMappingURL=storage-memory-embeddings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-memory-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory-embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAQvF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAoGD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,GAChB,IAAI,CAGN;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAYpC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjF;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAG/F"}
1
+ {"version":3,"file":"storage-memory-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory-embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAQvF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAoGD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,GAChB,IAAI,CAGN;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAYpC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjF;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAG/F;AAED;qEACqE;AACrE,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA85CpD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAGtC,CAAC;AAmBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAgEhD"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAu9CpD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAGtC,CAAC;AAmBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAgEhD"}
@@ -1,6 +1,6 @@
1
1
  import type { EmbeddingConfig } from "../../config/schema/magic-context";
2
2
  import type { Database } from "../../shared/sqlite";
3
- import type { EmbeddingProvider } from "./memory/embedding-provider";
3
+ import type { EmbeddingProvider, EmbeddingPurpose } from "./memory/embedding-provider";
4
4
  export interface EmbeddingFeatures {
5
5
  memoryEnabled: boolean;
6
6
  gitCommitEnabled: boolean;
@@ -16,6 +16,11 @@ export interface ProjectEmbeddingRegistrationSnapshot {
16
16
  gitCommitEnabled: boolean;
17
17
  modelId: string;
18
18
  chunkModelId: string;
19
+ /** Friendly configured model name (e.g. "text-embedding-qwen3-embedding-4b"),
20
+ * for user-facing status. "off" when no provider / observation mode. */
21
+ model: string;
22
+ /** Configured provider kind (e.g. "openai-compatible", "local", "ollama"). */
23
+ provider: string;
19
24
  }
20
25
  export declare function registerProjectEmbeddingAndMaybeWipe(db: Database, projectIdentity: string, config: EmbeddingConfig, features: EmbeddingFeatures, sourceDirectory: string): ProjectEmbeddingRegistrationSnapshot;
21
26
  export declare function registerProjectInObservationMode(db: Database, projectIdentity: string, sourceDirectory: string, failedConfig: EmbeddingConfig, failureSummary: string): ProjectEmbeddingRegistrationSnapshot;
@@ -23,12 +28,12 @@ export declare function unregisterProjectEmbedding(projectIdentity: string): voi
23
28
  export declare function getProjectEmbeddingSnapshot(projectIdentity: string): ProjectEmbeddingRegistrationSnapshot | null;
24
29
  export declare function getProjectChunkEmbeddingModelId(projectIdentity: string): string;
25
30
  export declare function getProjectEmbeddingMaxInputTokens(projectIdentity: string): number;
26
- export declare function embedTextForProject(projectIdentity: string, text: string, signal?: AbortSignal): Promise<{
31
+ export declare function embedTextForProject(projectIdentity: string, text: string, signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<{
27
32
  vector: Float32Array;
28
33
  modelId: string;
29
34
  generation: number;
30
35
  } | null>;
31
- export declare function embedBatchForProject(projectIdentity: string, texts: string[], signal?: AbortSignal): Promise<{
36
+ export declare function embedBatchForProject(projectIdentity: string, texts: string[], signal?: AbortSignal, purpose?: EmbeddingPurpose): Promise<{
32
37
  vectors: (Float32Array | null)[];
33
38
  modelId: string;
34
39
  generation: number;
@@ -45,6 +50,7 @@ export type SessionChunkBackfillOutcome = {
45
50
  status: "done";
46
51
  embedded: number;
47
52
  total: number;
53
+ failed: number;
48
54
  } | {
49
55
  status: "nothing";
50
56
  embedded: 0;
@@ -61,11 +67,13 @@ export type SessionChunkBackfillOutcome = {
61
67
  status: "aborted";
62
68
  embedded: number;
63
69
  total: number;
70
+ failed: number;
64
71
  } | {
65
72
  status: "stalled";
66
73
  embedded: number;
67
74
  total: number;
68
75
  remaining: number;
76
+ failed: number;
69
77
  };
70
78
  /**
71
79
  * Backfill ALL un-embedded compartment chunks for ONE session in a single run
@@ -82,6 +90,36 @@ export declare function embedSessionCompartmentChunks(db: Database, projectIdent
82
90
  onProgress?: (p: SessionChunkBackfillProgress) => void;
83
91
  batchSize?: number;
84
92
  }): Promise<SessionChunkBackfillOutcome>;
93
+ export interface EmbeddingCoverageStatus {
94
+ /** Whether embedding is active at all for this project. */
95
+ enabled: boolean;
96
+ /** Friendly configured model name, or "off"/"disabled". */
97
+ model: string;
98
+ /** Configured provider kind ("local" / "openai-compatible" / "ollama" / "off"). */
99
+ provider: string;
100
+ /** This session's compartment-chunk coverage. */
101
+ session: {
102
+ embedded: number;
103
+ total: number;
104
+ };
105
+ /** Project-wide active-memory coverage. */
106
+ memories: {
107
+ embedded: number;
108
+ total: number;
109
+ };
110
+ /** Project-wide git-commit coverage (only meaningful when gitEnabled). */
111
+ commits: {
112
+ embedded: number;
113
+ total: number;
114
+ gitEnabled: boolean;
115
+ };
116
+ }
117
+ /**
118
+ * Gather the embedding-coverage status for `/ctx-embed` (no-arg): which model is
119
+ * active, and how much of this session's history / the project's memories /
120
+ * git commits are embedded under it. Pure reads — no provider calls.
121
+ */
122
+ export declare function getEmbeddingCoverageStatus(db: Database, projectIdentity: string, sessionId: string): EmbeddingCoverageStatus;
85
123
  export declare function sweepAllRegisteredProjects(db: Database, batchSize?: number): Promise<{
86
124
  memoriesEmbedded: number;
87
125
  commitsEmbedded: number;
@@ -1 +1 @@
1
- {"version":3,"file":"project-embedding-registry.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/project-embedding-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-embedding-registry.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/project-embedding-registry.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@ export declare function getSchemaFenceRejection(): {
3
3
  persistedVersion: number;
4
4
  supportedVersion: number;
5
5
  } | null;
6
- export declare const LATEST_SUPPORTED_VERSION = 36;
6
+ export declare const LATEST_SUPPORTED_VERSION = 38;
7
7
  export interface OpenDatabaseOptions {
8
8
  dbPath?: string;
9
9
  latestSupportedVersion?: number;
10
10
  }
11
+ export declare function getDatabasePath(db: Database): string | null;
11
12
  export declare function getPersistedSchemaVersion(db: Database): number;
12
13
  export declare function schemaVersionIsSupported(db: Database, latestSupportedVersion?: number): boolean;
13
14
  export declare function enforceSchemaFence(db: Database, dbPath: string, latestSupportedVersion: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"storage-db.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-db.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuB/C,wBAAgB,uBAAuB,IAAI;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,GAAG,IAAI,CAEP;AAED,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AA0GD,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAW9D;AAED,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,sBAAsB,SAA2B,GAClD,OAAO,CAET;AAgBD,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,MAAM,GAC/B,OAAO,CAUT;AAWD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE/F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAOpD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA01BrD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAIrD;AAuID,wBAAgB,YAAY,CACxB,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACnB,IAAI,CAqBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC;AAChD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC9D,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ,GAAG,IAAI,CAAC;AA8F5E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG9E;AAED,wBAAgB,aAAa,IAAI,IAAI,CAUpC;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"storage-db.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-db.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAwB/C,wBAAgB,uBAAuB,IAAI;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,GAAG,IAAI,CAEP;AAED,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AA6BD,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAE3D;AA+ED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAW9D;AAED,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,sBAAsB,SAA2B,GAClD,OAAO,CAET;AAgBD,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,MAAM,GAC/B,OAAO,CAUT;AAWD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE/F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAOpD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAg4BrD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAIrD;AAyID,wBAAgB,YAAY,CACxB,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACnB,IAAI,CAqBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC;AAChD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC9D,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ,GAAG,IAAI,CAAC;AA+F5E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG9E;AAED,wBAAgB,aAAa,IAAI,IAAI,CAUpC;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC"}