@wolfx/pi-magic-context 0.23.0 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +23 -22
- package/dist/subagent-entry.js +1 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -142200,9 +142200,8 @@ function persistCachedM0(db, sessionId, payload) {
|
|
|
142200
142200
|
cached_m0_session_facts_version = ?,
|
|
142201
142201
|
cached_m0_upgrade_state = ?,
|
|
142202
142202
|
cached_m0_system_hash = ?,
|
|
142203
|
-
cached_m0_tool_set_hash = ?,
|
|
142204
142203
|
cached_m0_model_key = ?
|
|
142205
|
-
WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.
|
|
142204
|
+
WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.modelKey ?? "", sessionId);
|
|
142206
142205
|
}
|
|
142207
142206
|
function clearCachedM0M1(db, sessionId) {
|
|
142208
142207
|
ensureSessionMetaRow(db, sessionId);
|
|
@@ -168873,6 +168872,7 @@ function computePiWorkMetrics(sessionEntries) {
|
|
|
168873
168872
|
|
|
168874
168873
|
// ../plugin/src/hooks/magic-context/apply-operations.ts
|
|
168875
168874
|
var USER_DROP_PREVIEW_CHARS = 250;
|
|
168875
|
+
var RECENT_TOOL_SKELETON_WINDOW = 20;
|
|
168876
168876
|
function buildReplacementContent(tagId, target) {
|
|
168877
168877
|
const role = target.message?.info.role;
|
|
168878
168878
|
if (role !== "user") {
|
|
@@ -168898,6 +168898,7 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
|
|
|
168898
168898
|
const tagTypeById = new Map(tags.map((tag) => [tag.tagNumber, tag.type]));
|
|
168899
168899
|
const protectedTagIds = protectedTags > 0 ? new Set(tags.filter((tag) => tag.status === "active").map((tag) => tag.tagNumber).sort((left, right) => right - left).slice(0, protectedTags)) : new Set;
|
|
168900
168900
|
const pendingOps = preloadedPendingOps ?? getPendingOps(db, sessionId);
|
|
168901
|
+
const skeletonWindow = new Set(tags.filter((tag) => tag.type === "tool").map((tag) => tag.tagNumber).sort((left, right) => right - left).slice(0, RECENT_TOOL_SKELETON_WINDOW));
|
|
168901
168902
|
for (const pendingOp of pendingOps) {
|
|
168902
168903
|
const tagStatus = tagStatusById.get(pendingOp.tagId);
|
|
168903
168904
|
if (tagStatus === "compacted" || tagStatus === "dropped") {
|
|
@@ -168910,14 +168911,25 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
|
|
|
168910
168911
|
const target = targets.get(pendingOp.tagId);
|
|
168911
168912
|
const isToolTag = tagTypeById.get(pendingOp.tagId) === "tool";
|
|
168912
168913
|
if (isToolTag) {
|
|
168913
|
-
|
|
168914
|
-
|
|
168915
|
-
|
|
168916
|
-
|
|
168917
|
-
|
|
168918
|
-
|
|
168914
|
+
if (skeletonWindow.has(pendingOp.tagId)) {
|
|
168915
|
+
const truncResult = target?.truncate?.() ?? "absent";
|
|
168916
|
+
if (truncResult === "incomplete") {
|
|
168917
|
+
continue;
|
|
168918
|
+
}
|
|
168919
|
+
if (truncResult === "truncated") {
|
|
168920
|
+
didMutateMessage = true;
|
|
168921
|
+
}
|
|
168922
|
+
updateTagDropMode(db, sessionId, pendingOp.tagId, "truncated");
|
|
168923
|
+
} else {
|
|
168924
|
+
const dropResult = target?.drop?.() ?? "absent";
|
|
168925
|
+
if (dropResult === "incomplete") {
|
|
168926
|
+
continue;
|
|
168927
|
+
}
|
|
168928
|
+
if (dropResult === "removed") {
|
|
168929
|
+
didMutateMessage = true;
|
|
168930
|
+
}
|
|
168931
|
+
updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
|
|
168919
168932
|
}
|
|
168920
|
-
updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
|
|
168921
168933
|
} else if (target) {
|
|
168922
168934
|
const changed = target.setContent(buildReplacementContent(pendingOp.tagId, target));
|
|
168923
168935
|
if (changed)
|
|
@@ -173599,7 +173611,6 @@ function memoryProjectPath(state) {
|
|
|
173599
173611
|
}
|
|
173600
173612
|
var EMPTY_PI_HARD_SIGNALS = {
|
|
173601
173613
|
systemHash: "",
|
|
173602
|
-
toolSetHash: "",
|
|
173603
173614
|
modelKey: "",
|
|
173604
173615
|
cacheExpired: false,
|
|
173605
173616
|
lastResponseTime: 0
|
|
@@ -173652,7 +173663,6 @@ function getCachedMarkers(db, state, compartmentsForNormalization) {
|
|
|
173652
173663
|
upgradeState: meta3.cachedM0UpgradeState,
|
|
173653
173664
|
lastBaselineEndMessageId: cachedBoundary,
|
|
173654
173665
|
systemHash: meta3.cachedM0SystemHash ?? "",
|
|
173655
|
-
toolSetHash: meta3.cachedM0ToolSetHash ?? "",
|
|
173656
173666
|
modelKey: meta3.cachedM0ModelKey ?? ""
|
|
173657
173667
|
};
|
|
173658
173668
|
}
|
|
@@ -173681,7 +173691,6 @@ function readCurrentMarkersFromCompartments(db, state, compartments, projectDocs
|
|
|
173681
173691
|
upgradeState: `${PI_M0_UPGRADE_STATE}:${compartments.some((c) => c.legacy === 1) ? "legacy" : "ready"}`,
|
|
173682
173692
|
lastBaselineEndMessageId: lastBaselineEndMessageId(compartments),
|
|
173683
173693
|
systemHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).systemHash,
|
|
173684
|
-
toolSetHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).toolSetHash,
|
|
173685
173694
|
modelKey: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).modelKey
|
|
173686
173695
|
};
|
|
173687
173696
|
}
|
|
@@ -173706,9 +173715,6 @@ function mustMaterializePi(state, db, currentCompartmentsOverride) {
|
|
|
173706
173715
|
if (hard.systemHash !== "" && hard.systemHash !== (meta3.cachedM0SystemHash ?? "")) {
|
|
173707
173716
|
return { value: true, reason: "system_hash" };
|
|
173708
173717
|
}
|
|
173709
|
-
if (hard.toolSetHash !== "" && hard.toolSetHash !== (meta3.cachedM0ToolSetHash ?? "")) {
|
|
173710
|
-
return { value: true, reason: "tool_set_hash" };
|
|
173711
|
-
}
|
|
173712
173718
|
if (hard.cacheExpired && hard.lastResponseTime > 0 && hard.lastResponseTime > (meta3.cachedM0MaterializedAt ?? 0)) {
|
|
173713
173719
|
return { value: true, reason: "ttl_idle" };
|
|
173714
173720
|
}
|
|
@@ -173807,7 +173813,6 @@ function readFrozenM0InputsPi(state, db, docs = readProjectDocsCanonical(state.p
|
|
|
173807
173813
|
upgradeState: `${PI_M0_UPGRADE_STATE}:${compartments.some((c) => c.legacy === 1) ? "legacy" : "ready"}`,
|
|
173808
173814
|
lastBaselineEndMessageId: lastBaselineEndMessageId(compartments),
|
|
173809
173815
|
systemHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).systemHash,
|
|
173810
|
-
toolSetHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).toolSetHash,
|
|
173811
173816
|
modelKey: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).modelKey
|
|
173812
173817
|
};
|
|
173813
173818
|
return { docs, markers, compartments, memories, userProfile };
|
|
@@ -173886,7 +173891,6 @@ function materializeM0Pi(state, db) {
|
|
|
173886
173891
|
sessionFactsVersion: snapshotMarkers.sessionFactsVersion,
|
|
173887
173892
|
upgradeState: snapshotMarkers.upgradeState,
|
|
173888
173893
|
systemHash: snapshotMarkers.systemHash,
|
|
173889
|
-
toolSetHash: snapshotMarkers.toolSetHash,
|
|
173890
173894
|
modelKey: snapshotMarkers.modelKey
|
|
173891
173895
|
});
|
|
173892
173896
|
db.prepare("UPDATE session_meta SET memory_block_count = ?, memory_block_ids = ? WHERE session_id = ?").run(renderedMemoryIds.length, JSON.stringify(renderedMemoryIds), state.sessionId);
|
|
@@ -174055,7 +174059,6 @@ function readCachedPiM0M1Row(db, sessionId) {
|
|
|
174055
174059
|
cached_m0_session_facts_version,
|
|
174056
174060
|
cached_m0_upgrade_state,
|
|
174057
174061
|
cached_m0_system_hash,
|
|
174058
|
-
cached_m0_tool_set_hash,
|
|
174059
174062
|
cached_m0_model_key,
|
|
174060
174063
|
cached_m0_last_baseline_end_message_id,
|
|
174061
174064
|
memory_block_ids
|
|
@@ -174096,7 +174099,6 @@ function markersFromCachedPiRow(row, compartmentsForNormalization) {
|
|
|
174096
174099
|
upgradeState: row.cached_m0_upgrade_state,
|
|
174097
174100
|
lastBaselineEndMessageId: typeof row.cached_m0_last_baseline_end_message_id === "string" && row.cached_m0_last_baseline_end_message_id.length > 0 ? row.cached_m0_last_baseline_end_message_id : null,
|
|
174098
174101
|
systemHash: row.cached_m0_system_hash ?? "",
|
|
174099
|
-
toolSetHash: row.cached_m0_tool_set_hash ?? "",
|
|
174100
174102
|
modelKey: row.cached_m0_model_key ?? ""
|
|
174101
174103
|
};
|
|
174102
174104
|
}
|
|
@@ -174104,7 +174106,7 @@ function cachedPiRowMatchesSnapshot(args) {
|
|
|
174104
174106
|
const rowMarkers = markersFromCachedPiRow(args.row, args.compartmentsForNormalization);
|
|
174105
174107
|
if (!rowMarkers)
|
|
174106
174108
|
return false;
|
|
174107
|
-
return bufferEqualsNullable(args.row.cached_m0_bytes, args.m0Bytes) && rowMarkers.projectMemoryEpoch === args.markers.projectMemoryEpoch && rowMarkers.projectUserProfileVersion === args.markers.projectUserProfileVersion && rowMarkers.maxCompartmentSeq === args.markers.maxCompartmentSeq && rowMarkers.maxMemoryId === args.markers.maxMemoryId && rowMarkers.maxMutationId === args.markers.maxMutationId && rowMarkers.maxMemoryMutationId === args.markers.maxMemoryMutationId && (rowMarkers.projectDocsHash ?? "") === (args.markers.projectDocsHash ?? "") && rowMarkers.materializedAt === args.markers.materializedAt && rowMarkers.sessionFactsVersion === args.markers.sessionFactsVersion && (rowMarkers.upgradeState ?? null) === (args.markers.upgradeState ?? null) && (rowMarkers.systemHash ?? "") === (args.markers.systemHash ?? "") && (rowMarkers.
|
|
174109
|
+
return bufferEqualsNullable(args.row.cached_m0_bytes, args.m0Bytes) && rowMarkers.projectMemoryEpoch === args.markers.projectMemoryEpoch && rowMarkers.projectUserProfileVersion === args.markers.projectUserProfileVersion && rowMarkers.maxCompartmentSeq === args.markers.maxCompartmentSeq && rowMarkers.maxMemoryId === args.markers.maxMemoryId && rowMarkers.maxMutationId === args.markers.maxMutationId && rowMarkers.maxMemoryMutationId === args.markers.maxMemoryMutationId && (rowMarkers.projectDocsHash ?? "") === (args.markers.projectDocsHash ?? "") && rowMarkers.materializedAt === args.markers.materializedAt && rowMarkers.sessionFactsVersion === args.markers.sessionFactsVersion && (rowMarkers.upgradeState ?? null) === (args.markers.upgradeState ?? null) && (rowMarkers.systemHash ?? "") === (args.markers.systemHash ?? "") && (rowMarkers.modelKey ?? "") === (args.markers.modelKey ?? "");
|
|
174108
174110
|
}
|
|
174109
174111
|
function decodeCachedM1(row, sessionId) {
|
|
174110
174112
|
if (!row.cached_m1_bytes) {
|
|
@@ -180489,7 +180491,6 @@ async function runPipeline(args) {
|
|
|
180489
180491
|
} catch {}
|
|
180490
180492
|
const piHardSignals = {
|
|
180491
180493
|
systemHash: typeof hardMeta.systemPromptHash === "string" ? hardMeta.systemPromptHash : "",
|
|
180492
|
-
toolSetHash: "",
|
|
180493
180494
|
modelKey: liveModelBySession.get(args.sessionId) ?? "",
|
|
180494
180495
|
cacheExpired: hardMeta.lastResponseTime > 0 && Date.now() - hardMeta.lastResponseTime >= piTtlMs,
|
|
180495
180496
|
lastResponseTime: hardMeta.lastResponseTime
|
|
@@ -183244,7 +183245,7 @@ function formatThresholdPercent(value) {
|
|
|
183244
183245
|
// package.json
|
|
183245
183246
|
var package_default = {
|
|
183246
183247
|
name: "@wolfx/pi-magic-context",
|
|
183247
|
-
version: "0.23.
|
|
183248
|
+
version: "0.23.1",
|
|
183248
183249
|
type: "module",
|
|
183249
183250
|
description: "Pi coding agent extension for Magic Context — cross-session memory and context management",
|
|
183250
183251
|
main: "dist/index.js",
|
package/dist/subagent-entry.js
CHANGED
|
@@ -159936,9 +159936,8 @@ function persistCachedM0(db, sessionId, payload) {
|
|
|
159936
159936
|
cached_m0_session_facts_version = ?,
|
|
159937
159937
|
cached_m0_upgrade_state = ?,
|
|
159938
159938
|
cached_m0_system_hash = ?,
|
|
159939
|
-
cached_m0_tool_set_hash = ?,
|
|
159940
159939
|
cached_m0_model_key = ?
|
|
159941
|
-
WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.
|
|
159940
|
+
WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.modelKey ?? "", sessionId);
|
|
159942
159941
|
}
|
|
159943
159942
|
function clearCachedM0M1(db, sessionId) {
|
|
159944
159943
|
ensureSessionMetaRow(db, sessionId);
|
package/package.json
CHANGED