@cortexkit/opencode-magic-context 0.49.2 → 0.49.3
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/README.md +2 -38
- package/dist/auto-search-worker.js +3 -3
- package/dist/compaction-marker-candidates-dd638ypn.js +19 -0
- package/dist/compaction-marker-candidates-worker.js +24 -0
- package/dist/{conflict-warning-hook-asnt6hfc.js → conflict-warning-hook-ae8nmv7c.js} +5 -4
- package/dist/{context-tfyhtdcs.js → context-9tbxh883.js} +63 -29
- package/dist/{embedding-backfill-wyc3ykyf.js → embedding-backfill-aj488s8x.js} +5 -5
- package/dist/features/magic-context/compaction-marker-candidates-worker.d.ts +2 -0
- package/dist/features/magic-context/compaction-marker-candidates-worker.d.ts.map +1 -0
- package/dist/features/magic-context/compaction-marker-candidates.d.ts +47 -0
- package/dist/features/magic-context/compaction-marker-candidates.d.ts.map +1 -0
- package/dist/features/magic-context/compaction-marker.d.ts +12 -0
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity.d.ts +5 -1
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-async.d.ts +3 -0
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/storage-clone.d.ts +2 -0
- package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tags.d.ts +1 -1
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts +3 -0
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/history-boundary-repair.d.ts +11 -2
- package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts +4 -3
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +10 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/{index-sfhndpcb.js → index-3wckxwfp.js} +39 -39
- package/dist/{index-gzky5rva.js → index-41gqa557.js} +4 -2
- package/dist/{index-r2zcs71c.js → index-7ndnvw7a.js} +1 -1
- package/dist/{index-sv0bb7vg.js → index-7zg9dvx0.js} +35 -4
- package/dist/{index-xgrwmj82.js → index-bhk710rw.js} +1 -1
- package/dist/{index-fg00p1cg.js → index-c0b01zrc.js} +2 -2
- package/dist/{index-rafsaxac.js → index-fjtgekd4.js} +2 -2
- package/dist/{index-fdtkt5r1.js → index-fst3t0d9.js} +9 -9
- package/dist/{index-6tfxmc4n.js → index-je2na55n.js} +4 -4
- package/dist/{index-h5zfkjyk.js → index-jpm52v9x.js} +6 -24
- package/dist/{index-s7fc0fkn.js → index-m4p77myp.js} +1 -1
- package/dist/{index-xnanvj3w.js → index-mgy5dwcw.js} +607 -579
- package/dist/{index-0pjvpfkf.js → index-qvr78ej6.js} +1 -1
- package/dist/{index-zfzdpeq2.js → index-s4ztdn8v.js} +1311 -1271
- package/dist/index-v0p37hm2.js +22 -0
- package/dist/{index-eypn4ba6.js → index-w9pe0nx1.js} +3 -3
- package/dist/{index-p0n5ryq8.js → index-ws3gcy5m.js} +19 -9
- package/dist/{index-att4bfan.js → index-xfbfrngb.js} +1 -1
- package/dist/{index-nydv6g8r.js → index-yqps2zsv.js} +44 -6
- package/dist/index-yxawqmdd.js +212 -0
- package/dist/{index-zg8yq4ya.js → index-znzgze2v.js} +3 -3
- package/dist/index.js +38 -35
- package/dist/{message-index-bounded-hqktkhdy.js → message-index-bounded-pv6ct15d.js} +18 -17
- package/dist/message-index-jqa7qd0s.js +60 -0
- package/dist/migration-worker.js +3 -3
- package/dist/{project-embedding-registry-0gv3h6y8.js → project-embedding-registry-fcmszatg.js} +4 -4
- package/dist/raw-ordinal-warmup-worker.js +22 -5
- package/dist/{read-session-chunk-5mh0bh8y.js → read-session-chunk-cwgjwjd0.js} +7 -6
- package/dist/{read-session-raw-8sjbc9h0.js → read-session-raw-z38cn0as.js} +2 -1
- package/dist/{recomp-orchestrator-kpkhkjhq.js → recomp-orchestrator-txcc802e.js} +19 -17
- package/dist/{search-p9w39qv4.js → search-v1t47s2q.js} +14 -13
- package/dist/{send-session-notification-xffh3bbe.js → send-session-notification-yp9m5g4p.js} +4 -3
- package/dist/shared/tag-owner-id.d.ts +1 -0
- package/dist/shared/tag-owner-id.d.ts.map +1 -1
- package/dist/{storage-tags-k0pda32s.js → storage-tags-0ssbmzg9.js} +2 -2
- package/dist/{transform-postprocess-phase-481j5a7z.js → transform-postprocess-phase-113rwew1.js} +19 -17
- package/dist/v2/auto-search-worker.js +3 -3
- package/dist/v2/compaction-marker-candidates-1s21e2fz.js +18 -0
- package/dist/v2/compaction-marker-candidates-worker.js +24 -0
- package/dist/v2/{context-gsdtha5v.js → context-p1xf3w5q.js} +115 -44
- package/dist/v2/{embedding-backfill-dbvjbcmm.js → embedding-backfill-9hbkfvnz.js} +5 -5
- package/dist/v2/{message-index-bounded-p6v0n8qh.js → message-index-bounded-c0810p5w.js} +17 -16
- package/dist/v2/message-index-h8ssgq3q.js +59 -0
- package/dist/v2/migration-worker.js +3 -3
- package/dist/v2/{project-embedding-registry-nyq7z8y6.js → project-embedding-registry-42th7k1z.js} +4 -4
- package/dist/v2/raw-ordinal-warmup-worker.js +22 -5
- package/dist/v2/{read-session-chunk-fhyfe4qa.js → read-session-chunk-n86v9xfg.js} +6 -5
- package/dist/v2/{read-session-raw-j8dvp7f4.js → read-session-raw-3b3ehga4.js} +2 -1
- package/dist/v2/{recomp-orchestrator-5xy7w136.js → recomp-orchestrator-v168jwgg.js} +16 -14
- package/dist/v2/{search-j7bakcwa.js → search-048v8y02.js} +13 -12
- package/dist/v2/{send-session-notification-f6v698r5.js → send-session-notification-a4h2azxa.js} +2 -1
- package/dist/v2/{server-bgzy0phk.js → server-3bc6k4k4.js} +62 -33
- package/dist/v2/{server-7h861yms.js → server-3dqjhchy.js} +5 -18
- package/dist/v2/{server-c7n2ftng.js → server-4n2tknpc.js} +34 -3
- package/dist/v2/server-51779zs2.js +19 -0
- package/dist/v2/{server-kh958yj8.js → server-5zrpr764.js} +1 -1
- package/dist/v2/{server-6tcrjfw8.js → server-8pqnnmf9.js} +1 -1
- package/dist/v2/server-9290a1mb.js +212 -0
- package/dist/v2/{server-7vkj6zhb.js → server-9a6v0wth.js} +3 -3
- package/dist/v2/{server-1fszbabv.js → server-cjz51jm2.js} +2 -2
- package/dist/v2/{server-7spkq1y6.js → server-cxxjb33r.js} +2286 -2246
- package/dist/v2/{server-mqvtz7wz.js → server-hetyb88z.js} +9 -9
- package/dist/v2/{server-4c7jt8gq.js → server-pcygfdbs.js} +44 -6
- package/dist/v2/{server-8xmq9h3f.js → server-q6j5dasr.js} +4 -2
- package/dist/v2/{server-zbxjj2mz.js → server-rygvffsf.js} +2 -2
- package/dist/v2/server.js +4 -4
- package/dist/v2/{storage-tags-5yxrvkaf.js → storage-tags-3a4cavqb.js} +2 -2
- package/dist/v2/{wrapup-orchestrator-yem5422s.js → wrapup-orchestrator-zcyf8ymw.js} +14 -12
- package/dist/{wrapup-orchestrator-xvrr27ws.js → wrapup-orchestrator-5aa2q4v3.js} +20 -18
- package/package.json +3 -3
- package/src/config/latch-permanence-guard.test.ts +6 -1
- package/src/shared/sqlite-writer-diagnostics.test.ts +21 -10
- package/src/shared/tag-owner-id.ts +13 -0
- package/src/shared/tag-transcript.test.ts +6 -1
- package/src/shared/tag-transcript.ts +2 -1
- package/src/shared/windows-hidden-spawns.test.ts +60 -4
- /package/dist/{index-69vas84q.js → index-e6xnpach.js} +0 -0
- /package/dist/{index-p1hnwfd8.js → index-gcdb3rqw.js} +0 -0
- /package/dist/v2/{index-69vas84q.js → index-e6xnpach.js} +0 -0
- /package/dist/v2/{server-s2st631p.js → server-8wcf79fe.js} +0 -0
package/README.md
CHANGED
|
@@ -1,27 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
<strong>English</strong> |
|
|
3
|
-
<a href="./README.zh.md">简体中文</a> |
|
|
4
|
-
<a href="./README.zht.md">繁體中文</a> |
|
|
5
|
-
<a href="./README.ko.md">한국어</a> |
|
|
6
|
-
<a href="./README.de.md">Deutsch</a> |
|
|
7
|
-
<a href="./README.es.md">Español</a> |
|
|
8
|
-
<a href="./README.fr.md">Français</a> |
|
|
9
|
-
<a href="./README.it.md">Italiano</a> |
|
|
10
|
-
<a href="./README.da.md">Dansk</a> |
|
|
11
|
-
<a href="./README.ja.md">日本語</a> |
|
|
12
|
-
<a href="./README.pl.md">Polski</a> |
|
|
13
|
-
<a href="./README.ru.md">Русский</a> |
|
|
14
|
-
<a href="./README.bs.md">Bosanski</a> |
|
|
15
|
-
<a href="./README.ar.md">العربية</a> |
|
|
16
|
-
<a href="./README.no.md">Norsk</a> |
|
|
17
|
-
<a href="./README.br.md">Português (Brasil)</a> |
|
|
18
|
-
<a href="./README.th.md">ไทย</a> |
|
|
19
|
-
<a href="./README.tr.md">Türkçe</a> |
|
|
20
|
-
<a href="./README.uk.md">Українська</a> |
|
|
21
|
-
<a href="./README.bn.md">বাংলা</a> |
|
|
22
|
-
<a href="./README.gr.md">Ελληνικά</a> |
|
|
23
|
-
<a href="./README.vi.md">Tiếng Việt</a>
|
|
24
|
-
</p>
|
|
1
|
+
**English** · [简体中文](docs/i18n/README.zh-CN.md) · [繁體中文](docs/i18n/README.zh-TW.md) · [한국어](docs/i18n/README.ko.md) · [Deutsch](docs/i18n/README.de.md) · [Español](docs/i18n/README.es.md) · [Français](docs/i18n/README.fr.md) · [Italiano](docs/i18n/README.it.md) · [Dansk](docs/i18n/README.da.md) · [日本語](docs/i18n/README.ja.md) · [Polski](docs/i18n/README.pl.md) · [Русский](docs/i18n/README.ru.md) · [Bosanski](docs/i18n/README.bs.md) · [العربية](docs/i18n/README.ar.md) · [Norsk](docs/i18n/README.nb.md) · [Português (Brasil)](docs/i18n/README.pt-BR.md) · [ไทย](docs/i18n/README.th.md) · [Türkçe](docs/i18n/README.tr.md) · [Українська](docs/i18n/README.uk.md) · [বাংলা](docs/i18n/README.bn.md) · [Ελληνικά](docs/i18n/README.el.md) · [Tiếng Việt](docs/i18n/README.vi.md)
|
|
25
2
|
|
|
26
3
|
<h1 align="center">Magic Context</h1>
|
|
27
4
|
|
|
@@ -79,24 +56,11 @@ Run one session per project and keep it going for weeks, months, or years. It re
|
|
|
79
56
|
|
|
80
57
|
## Quick start
|
|
81
58
|
|
|
82
|
-
Run the interactive setup wizard. It detects your models, configures everything, and handles compatibility.
|
|
83
|
-
|
|
84
|
-
**macOS / Linux:**
|
|
85
|
-
```bash
|
|
86
|
-
curl -fsSL https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.sh | bash
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Windows (PowerShell):**
|
|
90
|
-
```powershell
|
|
91
|
-
irm https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.ps1 | iex
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
**Or run directly (any OS):**
|
|
95
59
|
```bash
|
|
96
60
|
npx @cortexkit/magic-context@latest setup
|
|
97
61
|
```
|
|
98
62
|
|
|
99
|
-
|
|
63
|
+
Auto-detects which harnesses you have installed (OpenCode, Pi, OMP, or any combination) and configures each one: it registers the plugin, turns off the host's built-in compaction, helps you pick models for the historian and dreamer, and resolves conflicts with other context-management plugins. Restart the harness afterwards to load Magic Context. Target a specific harness with `--harness opencode`, `--harness pi`, or `--harness omp`.
|
|
100
64
|
|
|
101
65
|
> **Why disable built-in compaction?** Magic Context manages context itself. The host's compaction would interfere with its cache-aware deferred operations and double-compress.
|
|
102
66
|
|
|
@@ -17,11 +17,11 @@ var [
|
|
|
17
17
|
{ setHarness },
|
|
18
18
|
{ Database }
|
|
19
19
|
] = await Promise.all([
|
|
20
|
-
import("./embedding-backfill-
|
|
20
|
+
import("./embedding-backfill-aj488s8x.js"),
|
|
21
21
|
import("./embedding-cache-mgyr73ef.js"),
|
|
22
22
|
import("./storage-memory-07fx57k6.js"),
|
|
23
|
-
import("./project-embedding-registry-
|
|
24
|
-
import("./search-
|
|
23
|
+
import("./project-embedding-registry-fcmszatg.js"),
|
|
24
|
+
import("./search-v1t47s2q.js"),
|
|
25
25
|
import("./embedding-activity-g1dhes6g.js"),
|
|
26
26
|
import("./harness-e4avh192.js"),
|
|
27
27
|
import("./sqlite-mhjkerzq.js")
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isMarkerCandidateBasisCurrent2,
|
|
3
|
+
invalidateMarkerCandidateBasis2,
|
|
4
|
+
readMarkerCandidateBasis2,
|
|
5
|
+
prepareMarkerCandidateBasis2,
|
|
6
|
+
scanMarkerCandidateSnapshot2
|
|
7
|
+
} from "./index-yxawqmdd.js";
|
|
8
|
+
import"./index-v0p37hm2.js";
|
|
9
|
+
import"./index-kb9nn0a0.js";
|
|
10
|
+
import"./index-nsjyysj0.js";
|
|
11
|
+
import"./index-0sahzkwr.js";
|
|
12
|
+
import"./index-pavzsdc6.js";
|
|
13
|
+
export {
|
|
14
|
+
invalidateMarkerCandidateBasis2 as invalidateMarkerCandidateBasis,
|
|
15
|
+
isMarkerCandidateBasisCurrent2 as isMarkerCandidateBasisCurrent,
|
|
16
|
+
prepareMarkerCandidateBasis2 as prepareMarkerCandidateBasis,
|
|
17
|
+
readMarkerCandidateBasis2 as readMarkerCandidateBasis,
|
|
18
|
+
scanMarkerCandidateSnapshot2 as scanMarkerCandidateSnapshot
|
|
19
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/features/magic-context/compaction-marker-candidates-worker.ts
|
|
2
|
+
import { parentPort, workerData } from "node:worker_threads";
|
|
3
|
+
var port = parentPort;
|
|
4
|
+
if (!port)
|
|
5
|
+
throw new Error("marker candidate worker requires a parent port");
|
|
6
|
+
port.postMessage({ kind: "accepted" });
|
|
7
|
+
var [{ Database }, { scanMarkerCandidateSnapshot }] = await Promise.all([
|
|
8
|
+
import("./sqlite-mhjkerzq.js"),
|
|
9
|
+
import("./compaction-marker-candidates-dd638ypn.js")
|
|
10
|
+
]);
|
|
11
|
+
var input = workerData;
|
|
12
|
+
var db;
|
|
13
|
+
var reply;
|
|
14
|
+
try {
|
|
15
|
+
db = new Database(input.path, { readonly: true });
|
|
16
|
+
db.exec("PRAGMA busy_timeout=250");
|
|
17
|
+
reply = { kind: "candidates", snapshot: scanMarkerCandidateSnapshot(db, input.sessionId) };
|
|
18
|
+
} catch (error) {
|
|
19
|
+
reply = { kind: "error", error: error instanceof Error ? error.message : String(error) };
|
|
20
|
+
} finally {
|
|
21
|
+
db?.close();
|
|
22
|
+
}
|
|
23
|
+
port.postMessage(reply);
|
|
24
|
+
port.close();
|
|
@@ -4,14 +4,15 @@ import {
|
|
|
4
4
|
cleanupConflictWarnings2,
|
|
5
5
|
sendSchemaFenceWarning2,
|
|
6
6
|
sendStartupAnnouncement2
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-m4p77myp.js";
|
|
8
8
|
import"./index-z1tjp257.js";
|
|
9
9
|
import"./index-sd3egckz.js";
|
|
10
|
-
import"./index-
|
|
10
|
+
import"./index-bhk710rw.js";
|
|
11
11
|
import"./index-qt1qqasc.js";
|
|
12
12
|
import"./index-tqf7yg27.js";
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
13
|
+
import"./index-qvr78ej6.js";
|
|
14
|
+
import"./index-jpm52v9x.js";
|
|
15
|
+
import"./index-v0p37hm2.js";
|
|
15
16
|
import"./index-58e3y90n.js";
|
|
16
17
|
import"./index-kb9nn0a0.js";
|
|
17
18
|
import"./index-nsjyysj0.js";
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
resetPrefixTrimFallbackState,
|
|
60
60
|
resolveOpenCodeProtectedTailBoundary,
|
|
61
61
|
getActiveCompartmentRun
|
|
62
|
-
} from "./index-
|
|
62
|
+
} from "./index-s4ztdn8v.js";
|
|
63
63
|
import"./index-sd3egckz.js";
|
|
64
64
|
import {
|
|
65
65
|
getHarness2
|
|
@@ -105,12 +105,12 @@ import {
|
|
|
105
105
|
openDatabaseAsync,
|
|
106
106
|
isDatabasePersisted,
|
|
107
107
|
getDatabasePersistenceError
|
|
108
|
-
} from "./index-
|
|
108
|
+
} from "./index-znzgze2v.js";
|
|
109
109
|
import {
|
|
110
110
|
setHomeProjectPermission,
|
|
111
111
|
resolveProjectIdentityForSession,
|
|
112
112
|
scheduleAfterBootQuiet
|
|
113
|
-
} from "./index-
|
|
113
|
+
} from "./index-41gqa557.js";
|
|
114
114
|
import {
|
|
115
115
|
markHostUnservedRow,
|
|
116
116
|
DreamTokenBudgetExceeded,
|
|
@@ -128,6 +128,8 @@ import {
|
|
|
128
128
|
recordDetectedContextLimit,
|
|
129
129
|
getPersistedCompactionMarkerState,
|
|
130
130
|
setPersistedCompactionMarkerState,
|
|
131
|
+
getPendingPiCompactionMarkerState,
|
|
132
|
+
clearPendingPiCompactionMarkerStateIf,
|
|
131
133
|
getObservedEpochFloor,
|
|
132
134
|
detectOverflow,
|
|
133
135
|
modelAcceptsEmptyContent,
|
|
@@ -137,7 +139,7 @@ import {
|
|
|
137
139
|
cleanUserText2,
|
|
138
140
|
readRawSessionMessageIdOrdinalsForRange2,
|
|
139
141
|
readRawSessionMessageOrdinalById2
|
|
140
|
-
} from "./index-
|
|
142
|
+
} from "./index-7zg9dvx0.js";
|
|
141
143
|
import {
|
|
142
144
|
hasMeaningfulUserText2,
|
|
143
145
|
preloadTokenizer,
|
|
@@ -155,13 +157,13 @@ import {
|
|
|
155
157
|
} from "./index-7w18gg78.js";
|
|
156
158
|
import {
|
|
157
159
|
deleteChunkEmbedBackoffForSession
|
|
158
|
-
} from "./index-
|
|
160
|
+
} from "./index-gcdb3rqw.js";
|
|
159
161
|
import"./index-6m7rdv7y.js";
|
|
160
162
|
import {
|
|
161
163
|
BoundedSessionMap,
|
|
162
164
|
advanceSessionActivity,
|
|
163
165
|
backfillSessionActivity
|
|
164
|
-
} from "./index-
|
|
166
|
+
} from "./index-3wckxwfp.js";
|
|
165
167
|
import"./index-1bt88epp.js";
|
|
166
168
|
import"./index-1zx87sdm.js";
|
|
167
169
|
import {
|
|
@@ -170,22 +172,23 @@ import {
|
|
|
170
172
|
evaluateChannel2,
|
|
171
173
|
reclaimableToolOutputCount,
|
|
172
174
|
buildChannel2Reminder
|
|
173
|
-
} from "./index-
|
|
174
|
-
import"./index-
|
|
175
|
+
} from "./index-yqps2zsv.js";
|
|
176
|
+
import"./index-v0p37hm2.js";
|
|
177
|
+
import"./index-jpm52v9x.js";
|
|
175
178
|
import"./index-58e3y90n.js";
|
|
176
|
-
import"./index-
|
|
179
|
+
import"./index-qvr78ej6.js";
|
|
177
180
|
import {
|
|
178
181
|
getCurrentToolSetHash,
|
|
179
182
|
recordToolDefinition
|
|
180
183
|
} from "./index-h2wc01qk.js";
|
|
181
184
|
import"./index-fr0wbhdn.js";
|
|
182
|
-
import"./index-
|
|
183
|
-
import"./index-
|
|
185
|
+
import"./index-xfbfrngb.js";
|
|
186
|
+
import"./index-c0b01zrc.js";
|
|
184
187
|
import"./index-fb3zxn06.js";
|
|
185
188
|
import {
|
|
186
189
|
renderUserFacingFailure,
|
|
187
190
|
userFacingFailureCode
|
|
188
|
-
} from "./index-
|
|
191
|
+
} from "./index-fjtgekd4.js";
|
|
189
192
|
import {
|
|
190
193
|
runSessionProjectBackfill,
|
|
191
194
|
createLiveSessionState,
|
|
@@ -236,7 +239,7 @@ import {
|
|
|
236
239
|
applyJsonSchemaParameterDescriptions,
|
|
237
240
|
MagicContextRpcServer,
|
|
238
241
|
subagentTemperature
|
|
239
|
-
} from "./index-
|
|
242
|
+
} from "./index-mgy5dwcw.js";
|
|
240
243
|
import {
|
|
241
244
|
createTagger,
|
|
242
245
|
setCtxReduceRegisteredGlobally,
|
|
@@ -244,20 +247,21 @@ import {
|
|
|
244
247
|
EmergencyFailClosedError,
|
|
245
248
|
DegradedPassRefusalError,
|
|
246
249
|
isSyntheticHeadMessage2
|
|
247
|
-
} from "./index-
|
|
250
|
+
} from "./index-ws3gcy5m.js";
|
|
251
|
+
import"./index-yxawqmdd.js";
|
|
248
252
|
import"./index-qt1qqasc.js";
|
|
249
253
|
import"./index-4dhv7mqz.js";
|
|
250
254
|
import"./index-gbmqa9x9.js";
|
|
251
|
-
import"./index-
|
|
255
|
+
import"./index-7ndnvw7a.js";
|
|
252
256
|
import"./index-7jzrrxap.js";
|
|
253
257
|
import {
|
|
254
258
|
pushNotification2,
|
|
255
259
|
isTuiConnected2
|
|
256
260
|
} from "./index-x8a7jmkh.js";
|
|
257
261
|
import"./index-tqf7yg27.js";
|
|
258
|
-
import"./index-
|
|
259
|
-
import"./index-
|
|
260
|
-
import"./index-
|
|
262
|
+
import"./index-bhk710rw.js";
|
|
263
|
+
import"./index-fst3t0d9.js";
|
|
264
|
+
import"./index-w9pe0nx1.js";
|
|
261
265
|
import"./index-mw7c950g.js";
|
|
262
266
|
import {
|
|
263
267
|
detectConflicts
|
|
@@ -294,7 +298,7 @@ function forgetCachedPrefix(sessionId) {
|
|
|
294
298
|
clearInjectionCache(sessionId);
|
|
295
299
|
resetPrefixTrimFallbackState(sessionId);
|
|
296
300
|
}
|
|
297
|
-
function dropCompartmentsAfter(db, sessionId, anchor, holderId) {
|
|
301
|
+
function dropCompartmentsAfter(db, sessionId, anchor, holderId, activeBranch = false, onRetire) {
|
|
298
302
|
db.exec("BEGIN IMMEDIATE");
|
|
299
303
|
let finished = false;
|
|
300
304
|
try {
|
|
@@ -303,12 +307,19 @@ function dropCompartmentsAfter(db, sessionId, anchor, holderId) {
|
|
|
303
307
|
finished = true;
|
|
304
308
|
return null;
|
|
305
309
|
}
|
|
306
|
-
const dropped = db.prepare("SELECT id, sequence FROM compartments WHERE session_id = ? AND sequence > ? ORDER BY sequence").all(sessionId, anchor
|
|
310
|
+
const dropped = db.prepare("SELECT id, sequence FROM compartments WHERE session_id = ? AND sequence > ? ORDER BY sequence").all(sessionId, anchor?.sequence ?? -1);
|
|
311
|
+
onRetire?.();
|
|
307
312
|
const deleteEmbeddings = db.prepare("DELETE FROM compartment_chunk_embeddings WHERE compartment_id = ?");
|
|
308
313
|
for (const row of dropped)
|
|
309
314
|
deleteEmbeddings.run(row.id);
|
|
310
|
-
db.prepare("DELETE FROM compartments WHERE session_id = ? AND sequence > ?").run(sessionId, anchor
|
|
311
|
-
db.prepare("DELETE FROM compression_depth WHERE session_id = ? AND message_ordinal > ?").run(sessionId, anchor
|
|
315
|
+
db.prepare("DELETE FROM compartments WHERE session_id = ? AND sequence > ?").run(sessionId, anchor?.sequence ?? -1);
|
|
316
|
+
db.prepare("DELETE FROM compression_depth WHERE session_id = ? AND message_ordinal > ?").run(sessionId, anchor?.endMessage ?? 0);
|
|
317
|
+
if (activeBranch) {
|
|
318
|
+
db.prepare("UPDATE session_meta SET prior_boundary_ordinal = ? WHERE session_id = ?").run((anchor?.endMessage ?? 0) + 1, sessionId);
|
|
319
|
+
const marker = getPendingPiCompactionMarkerState(db, sessionId);
|
|
320
|
+
if (marker)
|
|
321
|
+
clearPendingPiCompactionMarkerStateIf(db, sessionId, marker);
|
|
322
|
+
}
|
|
312
323
|
deleteChunkEmbedBackoffForSession(db, sessionId);
|
|
313
324
|
queueM0Mutation(db, { sessionId, mutationType: "recomp_boundary_change" });
|
|
314
325
|
clearCachedM0M1(db, sessionId);
|
|
@@ -324,24 +335,38 @@ function dropCompartmentsAfter(db, sessionId, anchor, holderId) {
|
|
|
324
335
|
}
|
|
325
336
|
}
|
|
326
337
|
function repairMissingHistoryBoundary(args) {
|
|
327
|
-
const { db, sessionId, isInHostStore } = args;
|
|
328
|
-
const compartments = getCompartments(db, sessionId);
|
|
338
|
+
const { db, sessionId, isInHostStore, scope = "store" } = args;
|
|
339
|
+
const compartments = scope === "active-branch" ? db.prepare("SELECT sequence, COALESCE(end_message_id, '') AS endMessageId FROM compartments WHERE session_id = ? ORDER BY sequence").all(sessionId) : getCompartments(db, sessionId);
|
|
329
340
|
let latestIndex = compartments.length - 1;
|
|
330
341
|
while (latestIndex >= 0 && !compartments[latestIndex]?.endMessageId)
|
|
331
342
|
latestIndex -= 1;
|
|
332
343
|
if (latestIndex < 0)
|
|
333
344
|
return { kind: "intact" };
|
|
345
|
+
if (scope === "active-branch") {
|
|
346
|
+
for (let index = 0;index <= latestIndex; index += 1) {
|
|
347
|
+
const endId = compartments[index]?.endMessageId;
|
|
348
|
+
if (!endId)
|
|
349
|
+
continue;
|
|
350
|
+
const present = isInHostStore(endId);
|
|
351
|
+
if (present === null)
|
|
352
|
+
return { kind: "unknown" };
|
|
353
|
+
if (!present) {
|
|
354
|
+
latestIndex = index;
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
334
359
|
const latestEnd = compartments[latestIndex].endMessageId;
|
|
335
360
|
const latestPresent = isInHostStore(latestEnd);
|
|
336
361
|
if (latestPresent === null)
|
|
337
362
|
return { kind: "unknown" };
|
|
338
363
|
if (!latestPresent) {
|
|
339
364
|
const missing = latestEnd;
|
|
340
|
-
const problem = `
|
|
365
|
+
const problem = `compartment end ${latestEnd} is not in ${scope === "active-branch" ? "the active host branch" : "the host store"}`;
|
|
341
366
|
const anchor = findAnchor(compartments, latestIndex, isInHostStore);
|
|
342
367
|
if (anchor === "unknown")
|
|
343
368
|
return { kind: "unknown" };
|
|
344
|
-
if (anchor === null) {
|
|
369
|
+
if (anchor === null && scope === "store") {
|
|
345
370
|
sessionLog2(sessionId, `history boundary unresolved: ${problem} and no older compartment end is in the host store; nothing to re-anchor on`);
|
|
346
371
|
return { kind: "unresolved", reason: "no-anchor", missingEndMessageId: missing };
|
|
347
372
|
}
|
|
@@ -353,8 +378,15 @@ function repairMissingHistoryBoundary(args) {
|
|
|
353
378
|
return { kind: "unresolved", reason: "busy", missingEndMessageId: missing };
|
|
354
379
|
}
|
|
355
380
|
let dropped;
|
|
381
|
+
let anchorForDrop = anchor;
|
|
356
382
|
try {
|
|
357
|
-
|
|
383
|
+
if (scope === "active-branch" && anchor) {
|
|
384
|
+
const row = db.prepare("SELECT end_message AS endMessage FROM compartments WHERE session_id = ? AND sequence = ?").get(sessionId, anchor.sequence);
|
|
385
|
+
if (!row)
|
|
386
|
+
return { kind: "unresolved", reason: "busy", missingEndMessageId: missing };
|
|
387
|
+
anchorForDrop = { ...anchor, endMessage: row.endMessage };
|
|
388
|
+
}
|
|
389
|
+
dropped = dropCompartmentsAfter(db, sessionId, anchorForDrop, holderId, scope === "active-branch", () => args.onRetire?.(compartments.slice(latestIndex), anchor));
|
|
358
390
|
} finally {
|
|
359
391
|
releaseCompartmentLeaseBestEffort(db, sessionId, holderId);
|
|
360
392
|
}
|
|
@@ -364,14 +396,16 @@ function repairMissingHistoryBoundary(args) {
|
|
|
364
396
|
invalidateAutoEmbedSession(sessionId);
|
|
365
397
|
forgetCachedPrefix(sessionId);
|
|
366
398
|
const range = dropped.length === 0 ? "none" : `${dropped[0]}-${dropped[dropped.length - 1]} (${dropped.length})`;
|
|
367
|
-
sessionLog2(sessionId, `history boundary repair: ${problem}; re-anchored on compartment ${
|
|
399
|
+
sessionLog2(sessionId, `history boundary repair: ${problem}; re-anchored on ${anchorForDrop ? `compartment ${anchorForDrop.sequence} ending at ${anchorForDrop.endMessageId} (ordinal ${anchorForDrop.endMessage})` : "the start of history"}; removed compartments ${range} for the historian to rebuild; the cached prefix is rebuilt on this pass`);
|
|
368
400
|
return {
|
|
369
401
|
kind: "repaired",
|
|
370
402
|
missingEndMessageId: missing,
|
|
371
|
-
anchorEndMessageId: anchor
|
|
403
|
+
anchorEndMessageId: anchor?.endMessageId ?? "",
|
|
372
404
|
droppedSequences: dropped
|
|
373
405
|
};
|
|
374
406
|
}
|
|
407
|
+
if (scope === "active-branch")
|
|
408
|
+
return { kind: "intact" };
|
|
375
409
|
const baseline = readBaseline(db, sessionId);
|
|
376
410
|
if (!baseline.hasCachedM0 || baseline.boundary === null || baseline.boundary === latestEnd) {
|
|
377
411
|
return { kind: "intact" };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureMemoryEmbeddings2
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
3
|
+
} from "./index-7ndnvw7a.js";
|
|
4
|
+
import"./index-c0b01zrc.js";
|
|
5
|
+
import"./index-gcdb3rqw.js";
|
|
6
6
|
import"./index-4dhv7mqz.js";
|
|
7
7
|
import"./index-qt1qqasc.js";
|
|
8
8
|
import"./index-gbmqa9x9.js";
|
|
9
9
|
import"./index-vkbqdnkj.js";
|
|
10
|
-
import"./index-
|
|
10
|
+
import"./index-41gqa557.js";
|
|
11
11
|
import"./index-7w18gg78.js";
|
|
12
12
|
import"./index-k6xvbj2e.js";
|
|
13
|
-
import"./index-qx53vezw.js";
|
|
14
13
|
import"./index-4mjhqadz.js";
|
|
15
14
|
import"./index-kb9nn0a0.js";
|
|
15
|
+
import"./index-qx53vezw.js";
|
|
16
16
|
import"./index-nsjyysj0.js";
|
|
17
17
|
import"./index-0sahzkwr.js";
|
|
18
18
|
import"./index-pavzsdc6.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-marker-candidates-worker.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compaction-marker-candidates-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Database } from "../../shared/sqlite";
|
|
2
|
+
interface MarkerFrontier {
|
|
3
|
+
rowid: number;
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MarkerCandidateSnapshot {
|
|
7
|
+
ids: string[];
|
|
8
|
+
frontier: MarkerFrontier | null;
|
|
9
|
+
}
|
|
10
|
+
export interface MarkerCandidateBasis extends MarkerCandidateSnapshot {
|
|
11
|
+
connection: Database;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
revisionKey: string;
|
|
14
|
+
ownWriteRevision: number;
|
|
15
|
+
}
|
|
16
|
+
export interface MarkerCandidatePreparationOptions {
|
|
17
|
+
entry?: URL;
|
|
18
|
+
acceptMs?: number;
|
|
19
|
+
resultMs?: number;
|
|
20
|
+
}
|
|
21
|
+
export type MarkerCandidateReply = {
|
|
22
|
+
kind: "accepted";
|
|
23
|
+
} | {
|
|
24
|
+
kind: "candidates";
|
|
25
|
+
snapshot: MarkerCandidateSnapshot;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "error";
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
|
30
|
+
export declare const MARKER_CERTIFICATION_SQL = "SELECT\n (SELECT rowid FROM message WHERE id = ?) AS previousRowid,\n (SELECT rowid FROM message ORDER BY rowid DESC LIMIT 1) AS newestRowid,\n (SELECT id FROM message ORDER BY rowid DESC LIMIT 1) AS newestId,\n EXISTS(SELECT 1 FROM message\n WHERE rowid > ? AND +session_id = ? AND json_valid(data)\n AND COALESCE(json_extract(data, '$.summary'), 0) = 1) AS newSummary";
|
|
31
|
+
export declare function isMarkerCandidateBasisCurrent(db: Database, basis: MarkerCandidateBasis): boolean;
|
|
32
|
+
export declare function invalidateMarkerCandidateBasis(db: Database, sessionId: string): void;
|
|
33
|
+
export declare function readMarkerCandidateBasis(db: Database, sessionId: string): MarkerCandidateBasis | undefined;
|
|
34
|
+
/** Discover summary IDs off-thread. Defer cleanup if a new summary appears or the
|
|
35
|
+
* last scanned row is deleted or assigned a different rowid. Ordinary message
|
|
36
|
+
* updates and appends do not invalidate the discovered summary IDs. */
|
|
37
|
+
export declare function prepareMarkerCandidateBasis(db: Database, sessionId: string, options?: MarkerCandidatePreparationOptions): Promise<boolean>;
|
|
38
|
+
/** Find all messages with the summary flag on a worker. Marker cleanup then
|
|
39
|
+
* checks each ID's parent, completion status and exact text before deleting it.
|
|
40
|
+
* Do not filter by creation time: imported or rewritten legacy summaries can
|
|
41
|
+
* precede their parent even though the original writer used later timestamps. */
|
|
42
|
+
export declare function scanMarkerSummaryCandidates(db: Database, sessionId: string): string[];
|
|
43
|
+
/** Read summary IDs and the newest row in one snapshot, so an insert between
|
|
44
|
+
* those reads cannot be skipped by the next rowid-based certification. */
|
|
45
|
+
export declare function scanMarkerCandidateSnapshot(db: Database, sessionId: string): MarkerCandidateSnapshot;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=compaction-marker-candidates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-marker-candidates.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compaction-marker-candidates.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,qBAAqB,CAAC;AAE3E,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AACD,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACjE,UAAU,EAAE,QAAQ,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,iCAAiC;IAC9C,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,MAAM,oBAAoB,GAC1B;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBvC,eAAO,MAAM,wBAAwB,8YAMuC,CAAC;AAE7E,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CA+ChG;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOpF;AACD,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB,oBAAoB,GAAG,SAAS,CAKlC;AAED;;uEAEuE;AACvE,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iCAAsC,GAChD,OAAO,CAAC,OAAO,CAAC,CA2ClB;AAyFD;;;iFAGiF;AACjF,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAarF;AAED;0EAC0E;AAC1E,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB,uBAAuB,CAczB"}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
* (b) has a completed summary assistant response (summary: true, finish: "stop")
|
|
27
27
|
* whose parentID matches that user message's id
|
|
28
28
|
*/
|
|
29
|
+
import { type MarkerCandidatePreparationOptions } from "./compaction-marker-candidates";
|
|
29
30
|
export declare function generateMessageId(timestampMs: number, counter?: bigint, identity?: string): string;
|
|
30
31
|
export declare function generatePartId(timestampMs: number, counter?: bigint, identity?: string): string;
|
|
31
32
|
export declare function getOpenCodeDbPath(): string;
|
|
@@ -92,11 +93,19 @@ export interface InjectCompactionMarkerArgs {
|
|
|
92
93
|
/** Boundary resolved before removing the old marker (prevents null-boundary cache busts). */
|
|
93
94
|
resolvedBoundary?: BoundaryUserMessage;
|
|
94
95
|
}
|
|
96
|
+
export declare const LEGACY_MARKER_LINEAGE_SQL = "SELECT m.id\n FROM message m\n WHERE +m.session_id = ? AND m.id IN (SELECT value FROM json_each(?)) AND m.id <> ?\n AND COALESCE(json_extract(m.data, '$.summary'), 0) = 1\n AND COALESCE(json_extract(m.data, '$.finish'), '') = 'stop'\n AND COALESCE(json_extract(m.data, '$.parentID'), '') = ?\n AND EXISTS (SELECT 1 FROM part p\n WHERE +p.session_id = m.session_id AND p.message_id = m.id\n AND COALESCE(json_extract(p.data, '$.type'), '') = 'text'\n AND COALESCE(json_extract(p.data, '$.text'), '') = ?)";
|
|
95
97
|
/**
|
|
96
98
|
* Inject a compaction marker into OpenCode's DB.
|
|
97
99
|
* Returns the marker state if successful, null if boundary couldn't be found.
|
|
98
100
|
*/
|
|
99
101
|
export declare function injectCompactionMarker(args: InjectCompactionMarkerArgs): CompactionMarkerState | null;
|
|
102
|
+
/** Prepare summary IDs for marker cleanup independently of message-number lookup.
|
|
103
|
+
* If discovery is unavailable or the store changes during it, return false:
|
|
104
|
+
* callers keep the existing marker but can still serve the rebuilt history. */
|
|
105
|
+
export declare function prepareCompactionMarkerCandidates(sessionId: string, options?: MarkerCandidatePreparationOptions): Promise<boolean>;
|
|
106
|
+
/** Return every summary ID discovered for this session, only while the store is
|
|
107
|
+
* unchanged. Cleanup probes these primary keys; diagnostics can inspect them. */
|
|
108
|
+
export declare function getPreparedCompactionMarkerSummaryIds(sessionId: string): readonly string[] | undefined;
|
|
100
109
|
/**
|
|
101
110
|
* Replace an existing marker and inject its successor under one host-store
|
|
102
111
|
* write lock. Acquiring that lock before the first DELETE avoids SQLite's
|
|
@@ -105,6 +114,9 @@ export declare function injectCompactionMarker(args: InjectCompactionMarkerArgs)
|
|
|
105
114
|
export type CompactionMarkerReplacementOutcome = {
|
|
106
115
|
kind: "committed";
|
|
107
116
|
marker: CompactionMarkerState;
|
|
117
|
+
} | {
|
|
118
|
+
kind: "deferred";
|
|
119
|
+
error: Error;
|
|
108
120
|
} | {
|
|
109
121
|
kind: "definitely-no-cut" | "uncertain";
|
|
110
122
|
error: Error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-marker.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compaction-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"compaction-marker.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/compaction-marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,12 @@ export declare class ProjectIdentityError extends Error {
|
|
|
34
34
|
*
|
|
35
35
|
* The cache is process-local, keyed by `path.resolve(directory)`, and stores only successful git
|
|
36
36
|
* identities. Transient failures are never cached.
|
|
37
|
+
* Set `cache: false` for a fresh, read-only probe that neither reads cached identities nor
|
|
38
|
+
* updates process caches or durable identity pins.
|
|
37
39
|
*/
|
|
38
|
-
export declare function resolveProjectIdentityStrict(directory: string, allowHomeProject?: boolean
|
|
40
|
+
export declare function resolveProjectIdentityStrict(directory: string, allowHomeProject?: boolean, options?: {
|
|
41
|
+
cache?: boolean;
|
|
42
|
+
}): string;
|
|
39
43
|
export declare function takeDubiousOwnershipProjectIdentityWarning(directory: string): string | null;
|
|
40
44
|
export declare function isUserHomeDirectory(directory: string): boolean;
|
|
41
45
|
export declare function resolveProjectIdentity(directory: string, allowHomeProject?: boolean): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/project-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkDlD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE/D;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAgBtE;AAMD,qHAAqH;AACrH,MAAM,MAAM,yBAAyB,GAC/B,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,YAAY,GACZ,aAAa,GACb,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,SAAS,CAAC;AAEhB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAG1B,UAAU,EAAE,yBAAyB,EACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK;CAUpB;AA4MD
|
|
1
|
+
{"version":3,"file":"project-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/project-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkDlD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE/D;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAgBtE;AAMD,qHAAqH;AACrH,MAAM,MAAM,yBAAyB,GAC/B,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,YAAY,GACZ,aAAa,GACb,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,SAAS,CAAC;AAEhB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAG1B,UAAU,EAAE,yBAAyB,EACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK;CAUpB;AA4MD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,gBAAgB,UAAwB,EACxC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAqER;AA8ED,wBAAgB,0CAA0C,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3F;AAmBD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAW9D;AAiBD,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,gBAAgB,UAAwB,GACzC,MAAM,CAqDR;AAED,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,MAAM,EACjB,gBAAgB,UAAwB,GACzC,MAAM,CAiBR;AAmDD;;yEAEyE;AACzE,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAoB3E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,IAAI,MAAM,CAE/F;AAED,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,MAAM,EACjB,gBAAgB,UAAwB,GACzC,MAAM,GAAG,SAAS,CA6DpB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAWtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACxB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CA6B9D;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACjD,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC,GAAG,IAAI,CAKP;AAED,wBAAgB,+CAA+C,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAWxF;AAED,wBAAgB,6CAA6C,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAWtF;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAmBrD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RawMessage, RawMessageOrdinalAnchor } from "../../hooks/magic-context/read-session-raw";
|
|
2
2
|
import { type Database } from "../../shared/sqlite";
|
|
3
|
+
import { type MessageHistoryOrphanSweepOptions, type MessageHistoryOrphanSweepResult } from "./message-index";
|
|
3
4
|
import type { IndexWorkerMeasurements } from "./message-index-bounded";
|
|
4
5
|
export declare function getIndexWorkerMeasurements(db: Database, sessionId: string): IndexWorkerMeasurements | undefined;
|
|
5
6
|
/**
|
|
@@ -26,6 +27,8 @@ export declare function scheduleReconciliation(db: Database, sessionId: string,
|
|
|
26
27
|
export declare function scheduleIncrementalIndex(db: Database, sessionId: string, messageId: string, messageSource: IncrementalMessageSource): void;
|
|
27
28
|
/** FTS segment merges and WAL checkpoints at COMMIT must not run on the event loop. */
|
|
28
29
|
export declare function indexSingleMessageOffThread(db: Database, sessionId: string, message: RawMessage): Promise<boolean>;
|
|
30
|
+
/** Candidate scans, cascaded deletes and FTS commits belong on a worker, not a timer's event loop. */
|
|
31
|
+
export declare function sweepOrphanedOpenCodeMessageIndexesOffThread(db: Database, openSource: () => Database | null, options?: MessageHistoryOrphanSweepOptions): Promise<MessageHistoryOrphanSweepResult>;
|
|
29
32
|
export declare function scheduleClearAndReindex(db: Database, sessionId: string, readMessages: MessageReconciliationSource): void;
|
|
30
33
|
export interface MessageIndexQueueHeapStats {
|
|
31
34
|
queueLength: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-index-async.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-async.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,UAAU,EACV,uBAAuB,EAC1B,MAAM,4CAA4C,CAAC;AAIpD,OAAO,EACH,KAAK,QAAQ,EAIhB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"message-index-async.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-async.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export interface CloneTagRow {
|
|
|
13
13
|
toolOwnerMessageId: string | null;
|
|
14
14
|
}
|
|
15
15
|
export interface CloneSessionStateFilter {
|
|
16
|
+
/** Require no destination metadata, even if the child has no compartments or tags yet. */
|
|
17
|
+
requireEmptyDestinationMeta?: boolean;
|
|
16
18
|
resolveBoundaryOrdinal(messageId: string): number | undefined;
|
|
17
19
|
includeTag(tag: CloneTagRow): boolean;
|
|
18
20
|
includeMessageId(messageId: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-clone.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-clone.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACpC,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9D,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IACtC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,qBAAqB,CACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,GACnD,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAoYD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,MAAM,EAAE,uBAAuB,GAChC,8BAA8B,
|
|
1
|
+
{"version":3,"file":"storage-clone.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-clone.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACpC,0FAA0F;IAC1F,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9D,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IACtC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,qBAAqB,CACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,GACnD,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAoYD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,MAAM,EAAE,uBAAuB,GAChC,8BAA8B,CAuUhC"}
|
|
@@ -157,7 +157,7 @@ export declare function getPersistedToolTagAccounting(db: Database, sessionId: s
|
|
|
157
157
|
export declare function getAllStatusTagTokenTotalsFlat(db: Database, sessionId: string, floor?: number, calibration?: {
|
|
158
158
|
proseRatio: number;
|
|
159
159
|
toolsRatio: number;
|
|
160
|
-
}): {
|
|
160
|
+
}, ownerMessageIds?: readonly string[]): {
|
|
161
161
|
totals: Map<string, number>;
|
|
162
162
|
nullMessageIds: Set<string>;
|
|
163
163
|
};
|