@cortexkit/opencode-magic-context 0.49.12 → 0.49.14
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.
- package/dist/auto-search-worker.js +3 -3
- package/dist/chunk-embedding-write-worker.js +89 -0
- package/dist/config/schema/agent-overrides.d.ts +12 -12
- package/dist/config/schema/magic-context.d.ts +88 -88
- package/dist/{conflict-warning-hook-f4x5wed7.js → conflict-warning-hook-mgq17yr3.js} +3 -3
- package/dist/{context-dam8p201.js → context-cpxqpkzv.js} +55 -71
- package/dist/{derive-budgets-5306b1jt.js → derive-budgets-zn7yzd2d.js} +1 -1
- package/dist/{embedding-backfill-qbfcbp87.js → embedding-backfill-5e1t5wha.js} +6 -5
- package/dist/embedding-worker.js +1 -1
- package/dist/features/magic-context/chunk-embedding-write-worker.d.ts +2 -0
- package/dist/features/magic-context/chunk-embedding-write-worker.d.ts.map +1 -0
- package/dist/features/magic-context/chunk-embedding-writer.d.ts +48 -0
- package/dist/features/magic-context/chunk-embedding-writer.d.ts.map +1 -0
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts +1 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts +3 -2
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +8 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +2 -0
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -0
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts +6 -1
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts +25 -11
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/mural/compress-cues.d.ts +3 -0
- package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +5 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tags.d.ts +2 -0
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/hooks/magic-context/apply-operations.d.ts +3 -1
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-embed-session.d.ts +10 -0
- package/dist/hooks/magic-context/auto-embed-session.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner.d.ts +4 -0
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +2 -0
- package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -1
- package/dist/hooks/magic-context/embed-session-state.d.ts +8 -1
- package/dist/hooks/magic-context/embed-session-state.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +3 -1
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/pending-drop-eligibility.d.ts +14 -0
- package/dist/hooks/magic-context/pending-drop-eligibility.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-fx90bvjd.js → index-3kdm78zp.js} +2 -2
- package/dist/{index-gf0psee3.js → index-3kx0kg0f.js} +60 -3
- package/dist/{index-1wwh38fk.js → index-5591fg8y.js} +471 -139
- package/dist/{index-b16gpywn.js → index-944w16m0.js} +2 -2
- package/dist/{index-6sz25c3s.js → index-bxdg2nbt.js} +2 -2
- package/dist/{index-7h8a1xpc.js → index-e4dsjj1p.js} +1 -1
- package/dist/{index-05n6ykca.js → index-kf4epshg.js} +3 -3
- package/dist/index-saews2s3.js +229 -0
- package/dist/{index-yx5kgp2x.js → index-t4q9zbbf.js} +95 -73
- package/dist/{index-wqs4q74r.js → index-thvnpfsv.js} +8 -8
- package/dist/{index-95s8xaj1.js → index-tyckte5c.js} +4 -4
- package/dist/{index-qtbdx42g.js → index-w900fbhd.js} +110 -25
- package/dist/{index-6sytd5w3.js → index-xn6q9pg6.js} +7 -7
- package/dist/{index-7zd5asz9.js → index-y1qysm3q.js} +196 -243
- package/dist/{index-x2xjyq8f.js → index-yxycg7fs.js} +9 -9
- package/dist/index.js +54 -92
- package/dist/{message-index-df7swgy1.js → message-index-a6gztaqx.js} +7 -7
- package/dist/{message-index-bounded-nq6rp8xa.js → message-index-bounded-vtgpq6b4.js} +4 -4
- package/dist/migration-worker.js +2 -2
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/{project-embedding-registry-q0ysjyzc.js → project-embedding-registry-x45bv3qr.js} +5 -4
- package/dist/raw-ordinal-warmup-worker.js +3 -3
- package/dist/{read-session-chunk-ax05f7gr.js → read-session-chunk-3ae3nfdn.js} +2 -2
- package/dist/{recomp-orchestrator-a0mvby4e.js → recomp-orchestrator-xqb9gwgm.js} +21 -20
- package/dist/{search-fm002702.js → search-deajrd90.js} +16 -15
- package/dist/{send-session-notification-y2wg3fkh.js → send-session-notification-24r4esbh.js} +2 -2
- package/dist/shared/model-suggestion-retry.d.ts +2 -0
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
- package/dist/shared/prompt-async-transport.d.ts.map +1 -1
- package/dist/{storage-tags-yygfb9c8.js → storage-tags-s5bg1ahx.js} +1 -1
- package/dist/{transform-postprocess-phase-s84rdf32.js → transform-postprocess-phase-k5t63qm5.js} +21 -20
- package/dist/v2/auto-search-worker.js +3 -3
- package/dist/v2/chunk-embedding-write-worker.js +88 -0
- package/dist/v2/{context-x60fa16g.js → context-k4jrq71s.js} +611 -210
- package/dist/v2/{derive-budgets-z25jw3py.js → derive-budgets-2zh4gm2c.js} +2 -2
- package/dist/v2/{embedding-backfill-mbjyza2a.js → embedding-backfill-jmaf8zrr.js} +6 -5
- package/dist/v2/embedding-worker.js +1 -1
- package/dist/v2/hidden-completion.d.ts +3 -2
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
- package/dist/v2/hooks/transform-features.d.ts +2 -2
- package/dist/v2/hooks/transform-features.d.ts.map +1 -1
- package/dist/v2/{message-index-bounded-pgv1ndpb.js → message-index-bounded-rxxznd34.js} +4 -4
- package/dist/v2/{message-index-5nayhm1r.js → message-index-f947qtbz.js} +7 -7
- package/dist/v2/migration-worker.js +2 -2
- package/dist/v2/{project-embedding-registry-jbmjc0p4.js → project-embedding-registry-0msp56p8.js} +5 -4
- package/dist/v2/raw-ordinal-warmup-worker.js +3 -3
- package/dist/v2/{read-session-chunk-hr3w5bjk.js → read-session-chunk-rq9nx1nn.js} +2 -2
- package/dist/v2/{recomp-orchestrator-8w3449eb.js → recomp-orchestrator-1j1nqrrr.js} +21 -20
- package/dist/v2/retrospective-raw-provider.d.ts.map +1 -1
- package/dist/v2/{search-mhmxgq0e.js → search-n8wqxb1j.js} +16 -15
- package/dist/v2/{send-session-notification-jevgj9fe.js → send-session-notification-8ghn9tnv.js} +2 -2
- package/dist/v2/{server-f7jfmrrz.js → server-34kwfsr4.js} +1 -1
- package/dist/v2/server-4gn3z5an.js +229 -0
- package/dist/v2/{server-4c10404h.js → server-6cdy4rc0.js} +2 -2
- package/dist/v2/{server-25tg45b4.js → server-cfbr1s2x.js} +7 -7
- package/dist/v2/{server-nmrm2rjy.js → server-e298hswg.js} +8 -8
- package/dist/v2/{server-9ewkzqgd.js → server-ef89gdsx.js} +2 -2
- package/dist/v2/{server-m97brnat.js → server-ehyava47.js} +2 -2
- package/dist/v2/{server-5gvkzzrf.js → server-fnqxt9j6.js} +95 -71
- package/dist/v2/{server-sz8jj92q.js → server-hek6z3w6.js} +194 -241
- package/dist/v2/{server-50mkkhy1.js → server-kmbarfmn.js} +9 -9
- package/dist/v2/{server-vknbt0gq.js → server-qhfvvfxj.js} +60 -3
- package/dist/v2/{server-37ngj8qw.js → server-zc3e54vy.js} +1 -1
- package/dist/v2/server.js +9 -8
- package/dist/v2/{storage-tags-a2gq6dw7.js → storage-tags-hcc2adpf.js} +1 -1
- package/dist/v2/store-reader.d.ts +1 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/{wrapup-orchestrator-r82y780v.js → wrapup-orchestrator-hkv8apcc.js} +16 -15
- package/dist/{wrapup-orchestrator-vmt6z3q5.js → wrapup-orchestrator-kxqj4rwh.js} +22 -21
- package/package.json +6 -5
- package/src/shared/model-suggestion-retry.test.ts +34 -0
- package/src/shared/model-suggestion-retry.ts +23 -3
- package/src/shared/prompt-async-transport.test.ts +1 -1
- package/src/shared/prompt-async-transport.ts +16 -3
- package/dist/{index-e6xnpach.js → index-b7p25tm0.js} +0 -0
- package/dist/{index-2pgxcncf.js → index-dgs16axy.js} +0 -0
- package/dist/{index-9vqb5p1s.js → index-e20m7284.js} +0 -0
- package/dist/{index-fwefky9w.js → index-mht7bq0z.js} +0 -0
- package/dist/{index-8ketfacn.js → index-v10f1rjv.js} +3 -3
- package/dist/{index-tdn0zkw4.js → index-wk0n1cgt.js} +0 -0
- package/dist/v2/{index-e6xnpach.js → index-b7p25tm0.js} +0 -0
- package/dist/v2/{server-bxpwy6fy.js → server-atbc19ab.js} +0 -0
- package/dist/v2/{server-2x42esxd.js → server-g10mdym6.js} +0 -0
- package/dist/v2/{server-fa75w6gp.js → server-k2bzedxk.js} +0 -0
- package/dist/v2/{server-kn9n2qgd.js → server-tbe1femw.js} +3 -3
- /package/dist/v2/{server-83ygfha2.js → server-vbe4se57.js} +0 -0
|
@@ -858,13 +858,17 @@ function loadUnembeddedShadowChunkCandidates(db, projectPath, primaryModelId, sh
|
|
|
858
858
|
const rows = getShadowBackfillCandidateStatement(db).all(projectPath, projectPath, primaryModelId);
|
|
859
859
|
return selectHashIncompleteChunkCandidates(db, projectPath, shadowModelId, mapBackfillCandidateRows(rows), Math.max(1, limit), shadowMaxInputTokens);
|
|
860
860
|
}
|
|
861
|
-
async function loadUnembeddedCompartmentChunkCandidatesPolite(db, projectPath, modelId, limit, maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, leaseHeldRenumber = false) {
|
|
861
|
+
async function loadUnembeddedCompartmentChunkCandidatesPolite(db, projectPath, modelId, limit, maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, leaseHeldRenumber = false, isEligible) {
|
|
862
862
|
const rows = getBackfillCandidateStatement(db).all(projectPath);
|
|
863
863
|
const candidates = mapBackfillCandidateRows(rows);
|
|
864
864
|
const missing = [];
|
|
865
865
|
const stale = [];
|
|
866
866
|
let sliceStarted = performance.now();
|
|
867
867
|
for (const candidate of candidates) {
|
|
868
|
+
if (isEligible && !isEligible(candidate)) {
|
|
869
|
+
sliceStarted = await yieldCoverageSlice(sliceStarted);
|
|
870
|
+
continue;
|
|
871
|
+
}
|
|
868
872
|
const classification = classifyChunkCoverageDefect(db, projectPath, modelId, candidate, maxInputTokens);
|
|
869
873
|
if (classification.defect === "missing")
|
|
870
874
|
missing.push(candidate);
|
|
@@ -1019,7 +1023,7 @@ function memoizedCoverageWindows(candidate, canonicalText, sourceKey, modelId, m
|
|
|
1019
1023
|
return windows;
|
|
1020
1024
|
}
|
|
1021
1025
|
async function yieldCoverageSlice(started) {
|
|
1022
|
-
if (performance.now() - started <
|
|
1026
|
+
if (performance.now() - started < 8)
|
|
1023
1027
|
return started;
|
|
1024
1028
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
1025
1029
|
return performance.now();
|
|
@@ -1093,6 +1097,47 @@ function selectHashIncompleteChunkCandidates(db, projectPath, modelId, candidate
|
|
|
1093
1097
|
return [...missing, ...stale].slice(0, limit);
|
|
1094
1098
|
}
|
|
1095
1099
|
var sessionBackfillCandidateStatements = new WeakMap;
|
|
1100
|
+
function loadUnembeddedSessionChunkCandidates(db, projectPath, sessionId, modelId, limit, excludeIds, maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, leaseHeldRenumber = false) {
|
|
1101
|
+
const exclusions = excludeIds && excludeIds.length > 0 ? excludeIds : [];
|
|
1102
|
+
const exclusionSql = exclusions.length > 0 ? `AND c.id NOT IN (${exclusions.map(() => "?").join(", ")})` : "";
|
|
1103
|
+
const stmt = exclusions.length > 0 ? db.prepare(`SELECT c.id AS id,
|
|
1104
|
+
c.session_id AS sessionId,
|
|
1105
|
+
c.start_message AS startMessage,
|
|
1106
|
+
c.end_message AS endMessage,
|
|
1107
|
+
c.title AS title
|
|
1108
|
+
FROM compartments c
|
|
1109
|
+
JOIN session_projects sp
|
|
1110
|
+
ON sp.session_id = c.session_id
|
|
1111
|
+
AND sp.harness = c.harness
|
|
1112
|
+
AND sp.project_path = ?
|
|
1113
|
+
WHERE c.session_id = ?
|
|
1114
|
+
AND c.start_message IS NOT NULL
|
|
1115
|
+
AND c.end_message IS NOT NULL
|
|
1116
|
+
${exclusionSql}
|
|
1117
|
+
ORDER BY c.start_message ASC, c.id ASC`) : (() => {
|
|
1118
|
+
let cached = sessionBackfillCandidateStatements.get(db);
|
|
1119
|
+
if (!cached) {
|
|
1120
|
+
cached = db.prepare(`SELECT c.id AS id,
|
|
1121
|
+
c.session_id AS sessionId,
|
|
1122
|
+
c.start_message AS startMessage,
|
|
1123
|
+
c.end_message AS endMessage,
|
|
1124
|
+
c.title AS title
|
|
1125
|
+
FROM compartments c
|
|
1126
|
+
JOIN session_projects sp
|
|
1127
|
+
ON sp.session_id = c.session_id
|
|
1128
|
+
AND sp.harness = c.harness
|
|
1129
|
+
AND sp.project_path = ?
|
|
1130
|
+
WHERE c.session_id = ?
|
|
1131
|
+
AND c.start_message IS NOT NULL
|
|
1132
|
+
AND c.end_message IS NOT NULL
|
|
1133
|
+
ORDER BY c.start_message ASC, c.id ASC`);
|
|
1134
|
+
sessionBackfillCandidateStatements.set(db, cached);
|
|
1135
|
+
}
|
|
1136
|
+
return cached;
|
|
1137
|
+
})();
|
|
1138
|
+
const rows = stmt.all(projectPath, sessionId, ...exclusions);
|
|
1139
|
+
return selectHashIncompleteChunkCandidates(db, projectPath, modelId, mapBackfillCandidateRows(rows), Math.max(1, limit), maxInputTokens, leaseHeldRenumber);
|
|
1140
|
+
}
|
|
1096
1141
|
async function loadUnembeddedSessionChunkCandidatesPolite(db, projectPath, sessionId, modelId, limit, excludeIds = [], maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, leaseHeldRenumber = false) {
|
|
1097
1142
|
const excluded = new Set(excludeIds);
|
|
1098
1143
|
const missing = [];
|
|
@@ -1109,10 +1154,22 @@ async function loadUnembeddedSessionChunkCandidatesPolite(db, projectPath, sessi
|
|
|
1109
1154
|
else if (leaseHeldRenumber) {
|
|
1110
1155
|
applyLeaseHeldCoverageRepair(db, candidate, projectPath, modelId, classification);
|
|
1111
1156
|
}
|
|
1157
|
+
if (missing.length >= Math.max(1, limit))
|
|
1158
|
+
return missing;
|
|
1112
1159
|
started = await yieldCoverageSlice(started);
|
|
1113
1160
|
}
|
|
1114
1161
|
return [...missing, ...stale].slice(0, Math.max(1, limit));
|
|
1115
1162
|
}
|
|
1163
|
+
function countUnembeddedSessionCompartments(db, projectPath, sessionId, modelId, maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS) {
|
|
1164
|
+
const rows = getSessionBackfillRows(db, projectPath, sessionId);
|
|
1165
|
+
let count = 0;
|
|
1166
|
+
for (const candidate of rows) {
|
|
1167
|
+
const { defect } = classifyChunkCoverageDefect(db, projectPath, modelId, candidate, maxInputTokens);
|
|
1168
|
+
if (defect === "missing" || defect === "stale")
|
|
1169
|
+
count++;
|
|
1170
|
+
}
|
|
1171
|
+
return count;
|
|
1172
|
+
}
|
|
1116
1173
|
function countSessionCompartmentEmbedCoverage(db, projectPath, sessionId, modelId, maxInputTokens = DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS) {
|
|
1117
1174
|
const candidates = getSessionBackfillRows(db, projectPath, sessionId);
|
|
1118
1175
|
let embedded = 0;
|
|
@@ -1165,4 +1222,4 @@ async function countUnembeddedSessionCompartmentsPolite(db, projectPath, session
|
|
|
1165
1222
|
return count;
|
|
1166
1223
|
}
|
|
1167
1224
|
|
|
1168
|
-
export { DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, CHUNK_WINDOW_SAFETY_RATIO, normalizeCompartmentChunkMaxInputTokens, buildCanonicalChunkTextFromFts, buildCompartmentSummaryFallbackText, canonicalizeInMemoryChunkTextForEmbedding, chunkCanonicalText, chunkEmbeddingWindowsAreCurrent, replaceCompartmentChunkEmbeddings, loadCompartmentChunkEmbeddingsForSearch, loadUnembeddedShadowChunkCandidates, loadUnembeddedCompartmentChunkCandidatesPolite, deleteChunkEmbedBackoffForSession, recordChunkEmbedBackoff, chunkWindowSourceKey, loadUnembeddedSessionChunkCandidatesPolite, countSessionCompartmentEmbedCoverage, countSessionCompartmentEmbedCoveragePolite, countUnembeddedSessionCompartmentsPolite };
|
|
1225
|
+
export { DEFAULT_COMPARTMENT_CHUNK_MAX_INPUT_TOKENS, CHUNK_WINDOW_SAFETY_RATIO, normalizeCompartmentChunkMaxInputTokens, buildCanonicalChunkTextFromFts, buildCompartmentSummaryFallbackText, canonicalizeInMemoryChunkTextForEmbedding, chunkCanonicalText, chunkEmbeddingWindowsAreCurrent, replaceCompartmentChunkEmbeddings, loadCompartmentChunkEmbeddingsForSearch, loadUnembeddedShadowChunkCandidates, loadUnembeddedCompartmentChunkCandidatesPolite, deleteChunkEmbedBackoffForSession, recordChunkEmbedBackoff, chunkWindowSourceKey, loadUnembeddedSessionChunkCandidates, loadUnembeddedSessionChunkCandidatesPolite, countUnembeddedSessionCompartments, countSessionCompartmentEmbedCoverage, countSessionCompartmentEmbedCoveragePolite, countUnembeddedSessionCompartmentsPolite };
|