@cortexkit/opencode-magic-context 0.49.12 → 0.49.13

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 (116) hide show
  1. package/dist/auto-search-worker.js +3 -3
  2. package/dist/chunk-embedding-write-worker.js +89 -0
  3. package/dist/config/schema/agent-overrides.d.ts +12 -12
  4. package/dist/config/schema/magic-context.d.ts +88 -88
  5. package/dist/{conflict-warning-hook-f4x5wed7.js → conflict-warning-hook-mgq17yr3.js} +3 -3
  6. package/dist/{context-dam8p201.js → context-azqk0vfd.js} +31 -65
  7. package/dist/{derive-budgets-5306b1jt.js → derive-budgets-zn7yzd2d.js} +1 -1
  8. package/dist/{embedding-backfill-qbfcbp87.js → embedding-backfill-5e1t5wha.js} +6 -5
  9. package/dist/embedding-worker.js +1 -1
  10. package/dist/features/magic-context/chunk-embedding-write-worker.d.ts +2 -0
  11. package/dist/features/magic-context/chunk-embedding-write-worker.d.ts.map +1 -0
  12. package/dist/features/magic-context/chunk-embedding-writer.d.ts +48 -0
  13. package/dist/features/magic-context/chunk-embedding-writer.d.ts.map +1 -0
  14. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +1 -1
  15. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  16. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts +3 -2
  17. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
  18. package/dist/features/magic-context/dreamer/map-memories.d.ts +8 -1
  19. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +2 -0
  21. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -0
  23. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  25. package/dist/features/magic-context/dreamer/verify-prompt.d.ts +6 -1
  26. package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
  27. package/dist/features/magic-context/dreamer/verify.d.ts +25 -11
  28. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  29. package/dist/features/magic-context/mural/compress-cues.d.ts +3 -0
  30. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  31. package/dist/features/magic-context/project-embedding-registry.d.ts +5 -0
  32. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/auto-embed-session.d.ts +10 -0
  34. package/dist/hooks/magic-context/auto-embed-session.d.ts.map +1 -0
  35. package/dist/hooks/magic-context/embed-session-state.d.ts +8 -1
  36. package/dist/hooks/magic-context/embed-session-state.d.ts.map +1 -1
  37. package/dist/hooks/magic-context/hook.d.ts +3 -1
  38. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  39. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  40. package/dist/{index-yx5kgp2x.js → index-2jr1smmh.js} +92 -71
  41. package/dist/{index-fx90bvjd.js → index-3kdm78zp.js} +2 -2
  42. package/dist/{index-gf0psee3.js → index-3kx0kg0f.js} +60 -3
  43. package/dist/{index-6sytd5w3.js → index-aw1bh90w.js} +6 -6
  44. package/dist/{index-6sz25c3s.js → index-bxdg2nbt.js} +2 -2
  45. package/dist/{index-7h8a1xpc.js → index-e4dsjj1p.js} +1 -1
  46. package/dist/{index-05n6ykca.js → index-hnm8raee.js} +2 -2
  47. package/dist/{index-x2xjyq8f.js → index-qkd9zz0p.js} +8 -8
  48. package/dist/index-saews2s3.js +229 -0
  49. package/dist/{index-qtbdx42g.js → index-sj89f3b0.js} +12 -12
  50. package/dist/{index-wqs4q74r.js → index-v13skev1.js} +7 -7
  51. package/dist/{index-1wwh38fk.js → index-wj6ht7nm.js} +438 -132
  52. package/dist/{index-95s8xaj1.js → index-wz6mzzb1.js} +3 -3
  53. package/dist/{index-7zd5asz9.js → index-y1qysm3q.js} +196 -243
  54. package/dist/index.js +52 -90
  55. package/dist/{message-index-bounded-nq6rp8xa.js → message-index-bounded-vm64mqpq.js} +2 -2
  56. package/dist/{message-index-df7swgy1.js → message-index-seaqpb7c.js} +5 -5
  57. package/dist/migration-worker.js +2 -2
  58. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  59. package/dist/{project-embedding-registry-q0ysjyzc.js → project-embedding-registry-x45bv3qr.js} +5 -4
  60. package/dist/raw-ordinal-warmup-worker.js +2 -2
  61. package/dist/{recomp-orchestrator-a0mvby4e.js → recomp-orchestrator-dmbeadwt.js} +21 -20
  62. package/dist/{search-fm002702.js → search-5yd5ytzs.js} +14 -13
  63. package/dist/{send-session-notification-y2wg3fkh.js → send-session-notification-24r4esbh.js} +2 -2
  64. package/dist/shared/model-suggestion-retry.d.ts +2 -0
  65. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  66. package/dist/shared/prompt-async-transport.d.ts.map +1 -1
  67. package/dist/{transform-postprocess-phase-s84rdf32.js → transform-postprocess-phase-72v86syx.js} +21 -20
  68. package/dist/v2/auto-search-worker.js +3 -3
  69. package/dist/v2/chunk-embedding-write-worker.js +88 -0
  70. package/dist/v2/{context-x60fa16g.js → context-w055w17c.js} +465 -190
  71. package/dist/v2/{derive-budgets-z25jw3py.js → derive-budgets-2zh4gm2c.js} +2 -2
  72. package/dist/v2/{embedding-backfill-mbjyza2a.js → embedding-backfill-jmaf8zrr.js} +6 -5
  73. package/dist/v2/embedding-worker.js +1 -1
  74. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  75. package/dist/v2/hooks/transform-features.d.ts +2 -2
  76. package/dist/v2/hooks/transform-features.d.ts.map +1 -1
  77. package/dist/v2/{message-index-bounded-pgv1ndpb.js → message-index-bounded-wepg5723.js} +2 -2
  78. package/dist/v2/{message-index-5nayhm1r.js → message-index-gcmd0ng0.js} +5 -5
  79. package/dist/v2/migration-worker.js +2 -2
  80. package/dist/v2/{project-embedding-registry-jbmjc0p4.js → project-embedding-registry-0msp56p8.js} +5 -4
  81. package/dist/v2/raw-ordinal-warmup-worker.js +2 -2
  82. package/dist/v2/{recomp-orchestrator-8w3449eb.js → recomp-orchestrator-ca7qt75a.js} +21 -20
  83. package/dist/v2/retrospective-raw-provider.d.ts.map +1 -1
  84. package/dist/v2/{search-mhmxgq0e.js → search-c86dcv14.js} +14 -13
  85. package/dist/v2/{send-session-notification-jevgj9fe.js → send-session-notification-8ghn9tnv.js} +2 -2
  86. package/dist/v2/{server-f7jfmrrz.js → server-34kwfsr4.js} +1 -1
  87. package/dist/v2/server-4gn3z5an.js +229 -0
  88. package/dist/v2/{server-4c10404h.js → server-6cdy4rc0.js} +2 -2
  89. package/dist/v2/{server-5gvkzzrf.js → server-b81w6sw3.js} +92 -69
  90. package/dist/v2/{server-9ewkzqgd.js → server-ef89gdsx.js} +2 -2
  91. package/dist/v2/{server-sz8jj92q.js → server-hek6z3w6.js} +194 -241
  92. package/dist/v2/{server-50mkkhy1.js → server-n8ch9683.js} +8 -8
  93. package/dist/v2/{server-vknbt0gq.js → server-qhfvvfxj.js} +60 -3
  94. package/dist/v2/{server-nmrm2rjy.js → server-t4prcjc1.js} +7 -7
  95. package/dist/v2/{server-25tg45b4.js → server-xh7jar6k.js} +6 -6
  96. package/dist/v2/{server-37ngj8qw.js → server-zc3e54vy.js} +1 -1
  97. package/dist/v2/server.js +9 -8
  98. package/dist/v2/store-reader.d.ts +1 -0
  99. package/dist/v2/store-reader.d.ts.map +1 -1
  100. package/dist/v2/{wrapup-orchestrator-r82y780v.js → wrapup-orchestrator-e1a2w6jh.js} +14 -13
  101. package/dist/{wrapup-orchestrator-vmt6z3q5.js → wrapup-orchestrator-2051r6qm.js} +22 -21
  102. package/package.json +6 -5
  103. package/src/shared/model-suggestion-retry.test.ts +34 -0
  104. package/src/shared/model-suggestion-retry.ts +23 -3
  105. package/src/shared/prompt-async-transport.test.ts +1 -1
  106. package/src/shared/prompt-async-transport.ts +16 -3
  107. package/dist/{index-e6xnpach.js → index-b7p25tm0.js} +0 -0
  108. package/dist/{index-2pgxcncf.js → index-dgs16axy.js} +0 -0
  109. package/dist/{index-9vqb5p1s.js → index-e20m7284.js} +0 -0
  110. package/dist/{index-8ketfacn.js → index-v10f1rjv.js} +3 -3
  111. package/dist/{index-tdn0zkw4.js → index-wk0n1cgt.js} +0 -0
  112. package/dist/v2/{index-e6xnpach.js → index-b7p25tm0.js} +0 -0
  113. package/dist/v2/{server-2x42esxd.js → server-g10mdym6.js} +0 -0
  114. package/dist/v2/{server-fa75w6gp.js → server-k2bzedxk.js} +0 -0
  115. package/dist/v2/{server-kn9n2qgd.js → server-tbe1femw.js} +3 -3
  116. /package/dist/v2/{server-83ygfha2.js → server-vbe4se57.js} +0 -0
@@ -5,9 +5,9 @@ import {
5
5
  resolveHistorianProducerLimits2,
6
6
  resolveHistorianContextLimit2,
7
7
  producerSourceLocalBudget2
8
- } from "./server-f7jfmrrz.js";
9
- import"./server-kn9n2qgd.js";
8
+ } from "./server-34kwfsr4.js";
10
9
  import"./server-1zx87sdm.js";
10
+ import"./server-tbe1femw.js";
11
11
  import"./server-f2xf5gcb.js";
12
12
  import"./server-pavzsdc6.js";
13
13
  export {
@@ -1,15 +1,16 @@
1
1
  import {
2
2
  ensureMemoryEmbeddings2
3
- } from "./server-9ewkzqgd.js";
4
- import"./server-sz8jj92q.js";
5
- import"./server-vknbt0gq.js";
3
+ } from "./server-ef89gdsx.js";
4
+ import"./server-hek6z3w6.js";
6
5
  import"./server-4dhv7mqz.js";
7
6
  import"./server-qt1qqasc.js";
8
- import"./server-2x42esxd.js";
7
+ import"./server-g10mdym6.js";
8
+ import"./server-th4y11y7.js";
9
+ import"./server-4gn3z5an.js";
10
+ import"./server-qhfvvfxj.js";
9
11
  import"./server-rrqpvwqd.js";
10
12
  import"./server-gvkm8xaj.js";
11
13
  import"./server-yrvqaswb.js";
12
- import"./server-th4y11y7.js";
13
14
  import"./server-6pmqg9m4.js";
14
15
  import"./server-0ppsweh6.js";
15
16
  import"./server-wafzvyhg.js";
@@ -12,7 +12,7 @@ import {
12
12
  resolveLocalEmbeddingWorkerRuntime,
13
13
  getLocalEmbeddingNativeMemoryStats,
14
14
  LocalEmbeddingProvider
15
- } from "./server-2x42esxd.js";
15
+ } from "./server-g10mdym6.js";
16
16
  import {
17
17
  setStoragePrivatePermissionEnforcement
18
18
  } from "./server-fvnzcnww.js";
@@ -1 +1 @@
1
- {"version":3,"file":"hidden-child.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/hidden-child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hidden-child.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/hidden-child.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { MagicContextPluginConfig } from "../../config";
2
- import { type EmbedHistoryDeps } from "../../hooks/magic-context/embed-history-runner";
2
+ import type { EmbedHistoryDeps } from "../../hooks/magic-context/embed-history-runner";
3
3
  import { ensureProjectRegisteredFromOpenCodeDirectory } from "../../plugin/embedding-bootstrap";
4
4
  /** Use the same boot-resolved feature controls as the OpenCode 1 transform. */
5
5
  export declare function createV2TransformFeatureDeps(config: MagicContextPluginConfig, compactionOff: boolean, directory: string): {
@@ -35,6 +35,6 @@ export declare function createV2TransformFeatureDeps(config: MagicContextPluginC
35
35
  wordRules: import("../../hooks/magic-context/caveman").CavemanWordRules;
36
36
  } | undefined;
37
37
  };
38
- /** Silent active-session backfill, with the same identity/attempt/pause gates as OC1. */
38
+ /** Share automatic drain scheduling and retry semantics with OpenCode 1 and Pi. */
39
39
  export declare function createV2AutoEmbedSession(deps: EmbedHistoryDeps): (sessionId: string) => void;
40
40
  //# sourceMappingURL=transform-features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-features.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/transform-features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAW7D,OAAO,EACH,KAAK,gBAAgB,EAExB,MAAM,gDAAgD,CAAC;AAQxD,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAIhG,+EAA+E;AAC/E,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCpB;AAED,yFAAyF;AACzF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CA6C5F"}
1
+ {"version":3,"file":"transform-features.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/transform-features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAQ7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAEhG,+EAA+E;AAC/E,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCpB;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAiB5F"}
@@ -23,11 +23,11 @@ import {
23
23
  markMessageIndexDirty2,
24
24
  getIndexableContent2,
25
25
  indexSingleMessage2
26
- } from "./server-nmrm2rjy.js";
26
+ } from "./server-t4prcjc1.js";
27
27
  import"./server-yrvqaswb.js";
28
28
  import"./server-da07v4xp.js";
29
29
  import"./server-rrqpvwqd.js";
30
- import"./server-vknbt0gq.js";
30
+ import"./server-qhfvvfxj.js";
31
31
  import"./server-6pmqg9m4.js";
32
32
 
33
33
  // src/features/magic-context/message-index-bounded.ts
@@ -17,11 +17,7 @@ import {
17
17
  indexMessagesAfterOrdinal2,
18
18
  indexSourcesAfterOrdinal2,
19
19
  sweepOrphanedOpenCodeMessageIndexes2
20
- } from "./server-nmrm2rjy.js";
21
- import"./server-vknbt0gq.js";
22
- import"./server-rrqpvwqd.js";
23
- import"./server-yrvqaswb.js";
24
- import"./server-da07v4xp.js";
20
+ } from "./server-t4prcjc1.js";
25
21
  import"./server-m97brnat.js";
26
22
  import"./server-bxpwy6fy.js";
27
23
  import"./server-1zx87sdm.js";
@@ -29,6 +25,10 @@ import"./server-d8tj10db.js";
29
25
  import"./server-prg55b7k.js";
30
26
  import"./server-51779zs2.js";
31
27
  import"./server-th4y11y7.js";
28
+ import"./server-qhfvvfxj.js";
29
+ import"./server-rrqpvwqd.js";
30
+ import"./server-yrvqaswb.js";
31
+ import"./server-da07v4xp.js";
32
32
  import"./server-zs8d0s3b.js";
33
33
  import"./server-pwv4ezb0.js";
34
34
  import"./server-2ra6pwf3.js";
@@ -9,7 +9,7 @@ import {
9
9
  import"./server-fr0wbhdn.js";
10
10
  import {
11
11
  runMigrationsWithRetry
12
- } from "./server-fa75w6gp.js";
12
+ } from "./server-k2bzedxk.js";
13
13
  import"./server-pwv4ezb0.js";
14
14
  import"./server-2ra6pwf3.js";
15
15
  import"./server-gvkm8xaj.js";
@@ -18,7 +18,7 @@ import"./server-fb3zxn06.js";
18
18
  import {
19
19
  setSqlitePragmaConfig,
20
20
  initializeDatabase
21
- } from "./server-50mkkhy1.js";
21
+ } from "./server-n8ch9683.js";
22
22
  import"./server-yrvqaswb.js";
23
23
  import"./server-0ppsweh6.js";
24
24
  import"./server-zs8d0s3b.js";
@@ -34,15 +34,16 @@ import {
34
34
  sweepAllRegisteredProjects2,
35
35
  _setTestProviderFactoryForProject2,
36
36
  _resetProjectEmbeddingRegistryForTests2
37
- } from "./server-sz8jj92q.js";
38
- import"./server-vknbt0gq.js";
37
+ } from "./server-hek6z3w6.js";
39
38
  import"./server-4dhv7mqz.js";
40
39
  import"./server-qt1qqasc.js";
41
- import"./server-2x42esxd.js";
40
+ import"./server-g10mdym6.js";
41
+ import"./server-th4y11y7.js";
42
+ import"./server-4gn3z5an.js";
43
+ import"./server-qhfvvfxj.js";
42
44
  import"./server-rrqpvwqd.js";
43
45
  import"./server-gvkm8xaj.js";
44
46
  import"./server-yrvqaswb.js";
45
- import"./server-th4y11y7.js";
46
47
  import"./server-6pmqg9m4.js";
47
48
  import"./server-0ppsweh6.js";
48
49
  import"./server-wafzvyhg.js";
@@ -35,7 +35,7 @@ try {
35
35
  { configureContextDatabasePragmas }
36
36
  ] = await Promise.all([
37
37
  import("./harness-e4avh192.js"),
38
- import("./message-index-5nayhm1r.js"),
38
+ import("./message-index-gcmd0ng0.js"),
39
39
  import("./sqlite-context-pragmas-mv9jqwjh.js")
40
40
  ]);
41
41
  setHarness(input.harness ?? "opencode");
@@ -49,7 +49,7 @@ try {
49
49
  const { setHarness } = await import("./harness-e4avh192.js");
50
50
  setHarness(input.harness ?? "opencode");
51
51
  const [{ indexMessageInShortChunks }, { configureContextDatabasePragmas }] = await Promise.all([
52
- import("./message-index-bounded-pgv1ndpb.js"),
52
+ import("./message-index-bounded-wepg5723.js"),
53
53
  import("./sqlite-context-pragmas-mv9jqwjh.js")
54
54
  ]);
55
55
  configureContextDatabasePragmas(db);
@@ -7,38 +7,39 @@ import {
7
7
  setRecompTerminal2,
8
8
  buildRecompDeps2,
9
9
  runManagedRecomp2
10
- } from "./server-5gvkzzrf.js";
10
+ } from "./server-b81w6sw3.js";
11
11
  import"./server-05xjtq6c.js";
12
- import"./server-4c10404h.js";
13
- import"./server-nmrm2rjy.js";
14
- import"./server-9ewkzqgd.js";
12
+ import"./server-6cdy4rc0.js";
13
+ import"./server-t4prcjc1.js";
14
+ import"./server-ef89gdsx.js";
15
15
  import"./server-n78avt2p.js";
16
- import"./server-sz8jj92q.js";
17
- import"./server-vknbt0gq.js";
16
+ import"./server-hek6z3w6.js";
18
17
  import"./server-4dhv7mqz.js";
19
- import"./server-f7jfmrrz.js";
20
- import"./server-83ygfha2.js";
18
+ import"./server-34kwfsr4.js";
19
+ import"./server-vbe4se57.js";
21
20
  import"./server-qt1qqasc.js";
21
+ import"./server-m97brnat.js";
22
+ import"./server-bxpwy6fy.js";
23
+ import"./server-1zx87sdm.js";
24
+ import"./server-d8tj10db.js";
25
+ import"./server-prg55b7k.js";
26
+ import"./server-51779zs2.js";
22
27
  import"./server-h0410h0v.js";
23
- import"./server-37ngj8qw.js";
24
- import"./server-kn9n2qgd.js";
28
+ import"./server-zc3e54vy.js";
29
+ import"./server-tbe1femw.js";
25
30
  import"./server-x8a7jmkh.js";
26
- import"./server-2x42esxd.js";
31
+ import"./server-g10mdym6.js";
32
+ import"./server-th4y11y7.js";
33
+ import"./server-4gn3z5an.js";
34
+ import"./server-qhfvvfxj.js";
27
35
  import"./server-rrqpvwqd.js";
28
- import"./server-50mkkhy1.js";
36
+ import"./server-n8ch9683.js";
29
37
  import"./server-fb3zxn06.js";
30
- import"./server-fa75w6gp.js";
38
+ import"./server-k2bzedxk.js";
31
39
  import"./server-fr0wbhdn.js";
32
40
  import"./server-gvkm8xaj.js";
33
41
  import"./server-yrvqaswb.js";
34
42
  import"./server-da07v4xp.js";
35
- import"./server-m97brnat.js";
36
- import"./server-bxpwy6fy.js";
37
- import"./server-1zx87sdm.js";
38
- import"./server-d8tj10db.js";
39
- import"./server-prg55b7k.js";
40
- import"./server-51779zs2.js";
41
- import"./server-th4y11y7.js";
42
43
  import"./server-zs8d0s3b.js";
43
44
  import"./server-pwv4ezb0.js";
44
45
  import"./server-2ra6pwf3.js";
@@ -1 +1 @@
1
- {"version":3,"file":"retrospective-raw-provider.d.ts","sourceRoot":"","sources":["../../src/v2/retrospective-raw-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC9B,MAAM,8DAA8D,CAAC;AAItE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;+EAG+E;AAC/E,qBAAa,0BAA2B,YAAW,wBAAwB;IAGnE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH/B,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEV,SAAS,EAAE,QAAQ,EACnB,UAAU,sBAGtB;IAGT,OAAO,CAAC,KAAK;IAIb,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,2BAA2B,EAAE;IAe3E,2BAA2B,CACvB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAItB,OAAO,CAAC,IAAI;IAuBZ,qBAAqB,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACtB,sBAAsB;IAQzB,sBAAsB,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,uBAAuB,EAAE;IAM5B,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"retrospective-raw-provider.d.ts","sourceRoot":"","sources":["../../src/v2/retrospective-raw-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC9B,MAAM,8DAA8D,CAAC;AAItE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;+EAG+E;AAC/E,qBAAa,0BAA2B,YAAW,wBAAwB;IAGnE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH/B,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEV,SAAS,EAAE,QAAQ,EACnB,UAAU,sBAGtB;IAGT,OAAO,CAAC,KAAK;IAIb,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,2BAA2B,EAAE;IAe3E,2BAA2B,CACvB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAItB,OAAO,CAAC,IAAI;IAwBZ,qBAAqB,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACtB,sBAAsB;IAQzB,sBAAsB,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,uBAAuB,EAAE;IAM5B,OAAO,IAAI,IAAI;CAIlB"}
@@ -5,29 +5,30 @@ import {
5
5
  resolveMemoriesByIdsForSearch2,
6
6
  unifiedSearch2,
7
7
  formatSearchResults2
8
- } from "./server-25tg45b4.js";
9
- import"./server-4c10404h.js";
10
- import"./server-nmrm2rjy.js";
11
- import"./server-9ewkzqgd.js";
8
+ } from "./server-xh7jar6k.js";
9
+ import"./server-6cdy4rc0.js";
10
+ import"./server-t4prcjc1.js";
11
+ import"./server-ef89gdsx.js";
12
12
  import"./server-n78avt2p.js";
13
- import"./server-sz8jj92q.js";
14
- import"./server-vknbt0gq.js";
13
+ import"./server-hek6z3w6.js";
15
14
  import"./server-4dhv7mqz.js";
16
15
  import"./server-qt1qqasc.js";
17
- import"./server-2x42esxd.js";
18
- import"./server-rrqpvwqd.js";
19
- import"./server-fa75w6gp.js";
20
- import"./server-fr0wbhdn.js";
21
- import"./server-gvkm8xaj.js";
22
- import"./server-yrvqaswb.js";
23
- import"./server-da07v4xp.js";
24
16
  import"./server-m97brnat.js";
25
17
  import"./server-bxpwy6fy.js";
26
18
  import"./server-1zx87sdm.js";
27
19
  import"./server-d8tj10db.js";
28
20
  import"./server-prg55b7k.js";
29
21
  import"./server-51779zs2.js";
22
+ import"./server-g10mdym6.js";
30
23
  import"./server-th4y11y7.js";
24
+ import"./server-4gn3z5an.js";
25
+ import"./server-qhfvvfxj.js";
26
+ import"./server-rrqpvwqd.js";
27
+ import"./server-k2bzedxk.js";
28
+ import"./server-fr0wbhdn.js";
29
+ import"./server-gvkm8xaj.js";
30
+ import"./server-yrvqaswb.js";
31
+ import"./server-da07v4xp.js";
31
32
  import"./server-zs8d0s3b.js";
32
33
  import"./server-pwv4ezb0.js";
33
34
  import"./server-2ra6pwf3.js";
@@ -8,12 +8,12 @@ import {
8
8
  clearIgnoredMessages2,
9
9
  observeIgnoredNotificationEvent2,
10
10
  sendStatusNotification2
11
- } from "./server-83ygfha2.js";
11
+ } from "./server-vbe4se57.js";
12
12
  import"./server-qt1qqasc.js";
13
- import"./server-h0410h0v.js";
14
13
  import"./server-d8tj10db.js";
15
14
  import"./server-prg55b7k.js";
16
15
  import"./server-51779zs2.js";
16
+ import"./server-h0410h0v.js";
17
17
  import"./server-2ra6pwf3.js";
18
18
  import"./server-wafzvyhg.js";
19
19
  import"./server-f2xf5gcb.js";
@@ -5,7 +5,7 @@ import {
5
5
  getSdkWindowGeometry,
6
6
  getSdkContextLimit,
7
7
  getSdkInputLimit
8
- } from "./server-kn9n2qgd.js";
8
+ } from "./server-tbe1femw.js";
9
9
  import {
10
10
  localBudget,
11
11
  calibrationForModelKey
@@ -0,0 +1,229 @@
1
+ import {
2
+ getHarness2
3
+ } from "./server-pavzsdc6.js";
4
+ import {
5
+ isUserHomeDirectory
6
+ } from "./server-gvkm8xaj.js";
7
+ import {
8
+ logSlowWriteTransaction
9
+ } from "./server-6pmqg9m4.js";
10
+
11
+ // src/features/magic-context/git-commits/sweep-coordinator.ts
12
+ var GIT_SWEEP_COOLDOWN_MS = 10 * 60 * 1000;
13
+ var GIT_SWEEP_LEASE_TTL_MS = 5 * 60 * 1000;
14
+ var GIT_SWEEP_NON_INDEXABLE_REPROBE_MS = 24 * 60 * 60 * 1000;
15
+ var GIT_SWEEP_LEASE_RENEWAL_MS = 60 * 1000;
16
+ function runImmediate(db, body) {
17
+ db.exec("BEGIN IMMEDIATE");
18
+ const transactionStartedAt = performance.now();
19
+ let committed = false;
20
+ try {
21
+ const result = body();
22
+ db.exec("COMMIT");
23
+ committed = true;
24
+ logSlowWriteTransaction("git_sweep_lease", transactionStartedAt);
25
+ return result;
26
+ } finally {
27
+ if (!committed) {
28
+ try {
29
+ db.exec("ROLLBACK");
30
+ } catch {}
31
+ }
32
+ }
33
+ }
34
+ function rowToState(row) {
35
+ return {
36
+ projectPath: row.project_path,
37
+ leaseHolder: row.lease_holder,
38
+ leaseExpiresAt: row.lease_expires_at,
39
+ lastSweptAt: row.last_swept_at
40
+ };
41
+ }
42
+ function getGitSweepCoordinatorState(db, projectPath) {
43
+ const row = db.prepare(`SELECT project_path, lease_holder, lease_expires_at, last_swept_at
44
+ FROM git_sweep_coordinator
45
+ WHERE project_path = ?`).get(projectPath);
46
+ return row ? rowToState(row) : null;
47
+ }
48
+ function acquireGitSweepLease(db, projectPath, holderId, options = {}) {
49
+ const cooldownMs = options.cooldownMs ?? GIT_SWEEP_COOLDOWN_MS;
50
+ const leaseTtlMs = options.leaseTtlMs ?? GIT_SWEEP_LEASE_TTL_MS;
51
+ return runImmediate(db, () => {
52
+ const now = Date.now();
53
+ const row = getGitSweepCoordinatorState(db, projectPath);
54
+ if (row?.leaseHolder && row.leaseExpiresAt !== null && row.leaseExpiresAt > now) {
55
+ return {
56
+ acquired: false,
57
+ projectPath,
58
+ reason: "lease_active",
59
+ leaseHolder: row.leaseHolder,
60
+ leaseExpiresAt: row.leaseExpiresAt,
61
+ lastSweptAt: row.lastSweptAt,
62
+ nextAllowedAt: null
63
+ };
64
+ }
65
+ if (!options.ignoreCooldown && row?.lastSweptAt !== null && row?.lastSweptAt !== undefined) {
66
+ const nextAllowedAt = row.lastSweptAt + cooldownMs;
67
+ if (nextAllowedAt > now) {
68
+ return {
69
+ acquired: false,
70
+ projectPath,
71
+ reason: "cooldown_active",
72
+ leaseHolder: row.leaseHolder,
73
+ leaseExpiresAt: row.leaseExpiresAt,
74
+ lastSweptAt: row.lastSweptAt,
75
+ nextAllowedAt
76
+ };
77
+ }
78
+ }
79
+ const leaseExpiresAt = now + leaseTtlMs;
80
+ db.prepare(`INSERT INTO git_sweep_coordinator (
81
+ project_path,
82
+ lease_holder,
83
+ lease_expires_at,
84
+ last_swept_at
85
+ ) VALUES (?, ?, ?, NULL)
86
+ ON CONFLICT(project_path) DO UPDATE SET
87
+ lease_holder = excluded.lease_holder,
88
+ lease_expires_at = excluded.lease_expires_at`).run(projectPath, holderId, leaseExpiresAt);
89
+ return {
90
+ acquired: true,
91
+ projectPath,
92
+ holderId,
93
+ acquiredAt: now,
94
+ leaseExpiresAt
95
+ };
96
+ });
97
+ }
98
+ function renewGitSweepLease(db, projectPath, holderId, leaseTtlMs = GIT_SWEEP_LEASE_TTL_MS) {
99
+ return runImmediate(db, () => {
100
+ const now = Date.now();
101
+ const leaseExpiresAt = now + leaseTtlMs;
102
+ const result = db.prepare(`UPDATE git_sweep_coordinator
103
+ SET lease_expires_at = ?
104
+ WHERE project_path = ?
105
+ AND lease_holder = ?
106
+ AND lease_expires_at > ?`).run(leaseExpiresAt, projectPath, holderId, now);
107
+ return result.changes === 1;
108
+ });
109
+ }
110
+ function markGitSweepSuccessAndRelease(db, projectPath, holderId) {
111
+ return runImmediate(db, () => {
112
+ const now = Date.now();
113
+ const result = db.prepare(`UPDATE git_sweep_coordinator
114
+ SET lease_holder = NULL,
115
+ lease_expires_at = NULL,
116
+ last_swept_at = ?
117
+ WHERE project_path = ?
118
+ AND lease_holder = ?
119
+ AND lease_expires_at > ?`).run(now, projectPath, holderId, now);
120
+ return result.changes === 1;
121
+ });
122
+ }
123
+ function parkGitSweepNonIndexable(db, projectPath, holderId, reprobeMs = GIT_SWEEP_NON_INDEXABLE_REPROBE_MS) {
124
+ return runImmediate(db, () => {
125
+ const now = Date.now();
126
+ const sweptAt = now + reprobeMs - GIT_SWEEP_COOLDOWN_MS;
127
+ const result = db.prepare(`UPDATE git_sweep_coordinator
128
+ SET lease_holder = NULL,
129
+ lease_expires_at = NULL,
130
+ last_swept_at = ?
131
+ WHERE project_path = ?
132
+ AND lease_holder = ?
133
+ AND lease_expires_at > ?`).run(sweptAt, projectPath, holderId, now);
134
+ return result.changes === 1;
135
+ });
136
+ }
137
+ function releaseGitSweepLease(db, projectPath, holderId) {
138
+ runImmediate(db, () => {
139
+ db.prepare(`UPDATE git_sweep_coordinator
140
+ SET lease_holder = NULL,
141
+ lease_expires_at = NULL
142
+ WHERE project_path = ?
143
+ AND lease_holder = ?`).run(projectPath, holderId);
144
+ });
145
+ }
146
+
147
+ // src/features/magic-context/session-project-storage.ts
148
+ var SESSION_CHUNK_REPAIR_BATCH_SIZE = 100;
149
+ var upsertSessionProjectStatements = new WeakMap;
150
+ var repairSessionChunkProjectStatements = new WeakMap;
151
+ var misScopedProjectChunkStatements = new WeakMap;
152
+ var MIS_SCOPED_PROJECT_CHUNK_IDS_SQL = `
153
+ SELECT e.id FROM compartment_chunk_embeddings e
154
+ JOIN session_projects sp ON sp.session_id = e.session_id AND sp.harness = e.harness
155
+ WHERE e.project_path = ? AND sp.project_path <> e.project_path
156
+ UNION ALL
157
+ SELECT e.id FROM session_projects sp
158
+ JOIN compartment_chunk_embeddings e ON e.session_id = sp.session_id
159
+ WHERE sp.project_path = ? AND e.harness = sp.harness AND e.project_path <> sp.project_path`;
160
+ function getUpsertSessionProjectStatement(db) {
161
+ let stmt = upsertSessionProjectStatements.get(db);
162
+ if (!stmt) {
163
+ stmt = db.prepare(`INSERT INTO session_projects (session_id, harness, project_path, updated_at)
164
+ VALUES (?, ?, ?, ?)
165
+ ON CONFLICT(session_id, harness) DO UPDATE SET
166
+ project_path = excluded.project_path,
167
+ updated_at = excluded.updated_at
168
+ WHERE session_projects.project_path <> excluded.project_path`);
169
+ upsertSessionProjectStatements.set(db, stmt);
170
+ }
171
+ return stmt;
172
+ }
173
+ function getRepairSessionChunkProjectStatement(db) {
174
+ let stmt = repairSessionChunkProjectStatements.get(db);
175
+ if (!stmt) {
176
+ stmt = db.prepare(`UPDATE compartment_chunk_embeddings
177
+ SET project_path = ?
178
+ WHERE id IN (
179
+ SELECT id
180
+ FROM compartment_chunk_embeddings
181
+ WHERE session_id = ?
182
+ AND harness = ?
183
+ AND project_path <> ?
184
+ LIMIT ?
185
+ )`);
186
+ repairSessionChunkProjectStatements.set(db, stmt);
187
+ }
188
+ return stmt;
189
+ }
190
+ function findMisScopedCompartmentChunkEmbeddingIdsForProject(db, projectPath) {
191
+ return db.prepare(`SELECT id FROM (${MIS_SCOPED_PROJECT_CHUNK_IDS_SQL}) LIMIT 25`).all(projectPath, projectPath).map(({ id }) => id);
192
+ }
193
+ function recordSessionProjectIdentity(db, sessionId, projectPath) {
194
+ if (!sessionId || !projectPath)
195
+ return;
196
+ if (!projectPath.startsWith("git:") && !projectPath.startsWith("dir:") && isUserHomeDirectory(projectPath))
197
+ return;
198
+ const harness = getHarness2();
199
+ const now = Date.now();
200
+ let previousProjectPath;
201
+ db.transaction(() => {
202
+ const existing = db.prepare("SELECT project_path FROM session_projects WHERE session_id = ? AND harness = ?").get(sessionId, harness);
203
+ previousProjectPath = existing?.project_path;
204
+ getUpsertSessionProjectStatement(db).run(sessionId, harness, projectPath, now);
205
+ getRepairSessionChunkProjectStatement(db).run(projectPath, sessionId, harness, projectPath, SESSION_CHUNK_REPAIR_BATCH_SIZE);
206
+ }).immediate();
207
+ return previousProjectPath === projectPath ? undefined : { previousProjectPath, projectPath };
208
+ }
209
+ function hasRecordedSessionProjectIdentity(db, sessionId) {
210
+ const row = db.prepare("SELECT 1 AS found FROM session_projects WHERE session_id = ? AND harness = ?").get(sessionId, getHarness2());
211
+ return row?.found === 1;
212
+ }
213
+ function repairMisScopedCompartmentChunkEmbeddingsForProject(db, projectPath, ids = findMisScopedCompartmentChunkEmbeddingIdsForProject(db, projectPath)) {
214
+ if (!projectPath || ids.length === 0)
215
+ return 0;
216
+ return db.prepare(`UPDATE compartment_chunk_embeddings
217
+ SET project_path = (SELECT sp.project_path FROM session_projects sp
218
+ WHERE sp.session_id = compartment_chunk_embeddings.session_id
219
+ AND sp.harness = compartment_chunk_embeddings.harness)
220
+ WHERE id IN (${ids.map(() => "?").join(",")}) AND EXISTS (
221
+ SELECT 1 FROM session_projects sp
222
+ WHERE sp.session_id = compartment_chunk_embeddings.session_id
223
+ AND sp.harness = compartment_chunk_embeddings.harness
224
+ AND sp.project_path <> compartment_chunk_embeddings.project_path
225
+ AND (sp.project_path = ? OR compartment_chunk_embeddings.project_path = ?)
226
+ )`).run(...ids, projectPath, projectPath).changes;
227
+ }
228
+
229
+ export { GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, findMisScopedCompartmentChunkEmbeddingIdsForProject, recordSessionProjectIdentity, hasRecordedSessionProjectIdentity, repairMisScopedCompartmentChunkEmbeddingsForProject };
@@ -14,10 +14,10 @@ import {
14
14
  } from "./server-f2xf5gcb.js";
15
15
  import {
16
16
  managedAuthorityNoteRow
17
- } from "./server-fa75w6gp.js";
17
+ } from "./server-k2bzedxk.js";
18
18
  import {
19
19
  embedTextForProject2
20
- } from "./server-sz8jj92q.js";
20
+ } from "./server-hek6z3w6.js";
21
21
  import {
22
22
  saveEmbeddingIfHashMatches
23
23
  } from "./server-4dhv7mqz.js";