@cortexkit/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 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.toolSetHash ?? "", payload.modelKey ?? "", sessionId);
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);
@@ -168866,6 +168865,7 @@ function computePiWorkMetrics(sessionEntries) {
168866
168865
 
168867
168866
  // ../plugin/src/hooks/magic-context/apply-operations.ts
168868
168867
  var USER_DROP_PREVIEW_CHARS = 250;
168868
+ var RECENT_TOOL_SKELETON_WINDOW = 20;
168869
168869
  function buildReplacementContent(tagId, target) {
168870
168870
  const role = target.message?.info.role;
168871
168871
  if (role !== "user") {
@@ -168891,6 +168891,7 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
168891
168891
  const tagTypeById = new Map(tags.map((tag) => [tag.tagNumber, tag.type]));
168892
168892
  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;
168893
168893
  const pendingOps = preloadedPendingOps ?? getPendingOps(db, sessionId);
168894
+ 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));
168894
168895
  for (const pendingOp of pendingOps) {
168895
168896
  const tagStatus = tagStatusById.get(pendingOp.tagId);
168896
168897
  if (tagStatus === "compacted" || tagStatus === "dropped") {
@@ -168903,14 +168904,25 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
168903
168904
  const target = targets.get(pendingOp.tagId);
168904
168905
  const isToolTag = tagTypeById.get(pendingOp.tagId) === "tool";
168905
168906
  if (isToolTag) {
168906
- const dropResult = target?.drop?.() ?? "absent";
168907
- if (dropResult === "incomplete") {
168908
- continue;
168909
- }
168910
- if (dropResult === "removed") {
168911
- didMutateMessage = true;
168907
+ if (skeletonWindow.has(pendingOp.tagId)) {
168908
+ const truncResult = target?.truncate?.() ?? "absent";
168909
+ if (truncResult === "incomplete") {
168910
+ continue;
168911
+ }
168912
+ if (truncResult === "truncated") {
168913
+ didMutateMessage = true;
168914
+ }
168915
+ updateTagDropMode(db, sessionId, pendingOp.tagId, "truncated");
168916
+ } else {
168917
+ const dropResult = target?.drop?.() ?? "absent";
168918
+ if (dropResult === "incomplete") {
168919
+ continue;
168920
+ }
168921
+ if (dropResult === "removed") {
168922
+ didMutateMessage = true;
168923
+ }
168924
+ updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
168912
168925
  }
168913
- updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
168914
168926
  } else if (target) {
168915
168927
  const changed = target.setContent(buildReplacementContent(pendingOp.tagId, target));
168916
168928
  if (changed)
@@ -173592,7 +173604,6 @@ function memoryProjectPath(state) {
173592
173604
  }
173593
173605
  var EMPTY_PI_HARD_SIGNALS = {
173594
173606
  systemHash: "",
173595
- toolSetHash: "",
173596
173607
  modelKey: "",
173597
173608
  cacheExpired: false,
173598
173609
  lastResponseTime: 0
@@ -173645,7 +173656,6 @@ function getCachedMarkers(db, state, compartmentsForNormalization) {
173645
173656
  upgradeState: meta3.cachedM0UpgradeState,
173646
173657
  lastBaselineEndMessageId: cachedBoundary,
173647
173658
  systemHash: meta3.cachedM0SystemHash ?? "",
173648
- toolSetHash: meta3.cachedM0ToolSetHash ?? "",
173649
173659
  modelKey: meta3.cachedM0ModelKey ?? ""
173650
173660
  };
173651
173661
  }
@@ -173674,7 +173684,6 @@ function readCurrentMarkersFromCompartments(db, state, compartments, projectDocs
173674
173684
  upgradeState: `${PI_M0_UPGRADE_STATE}:${compartments.some((c) => c.legacy === 1) ? "legacy" : "ready"}`,
173675
173685
  lastBaselineEndMessageId: lastBaselineEndMessageId(compartments),
173676
173686
  systemHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).systemHash,
173677
- toolSetHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).toolSetHash,
173678
173687
  modelKey: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).modelKey
173679
173688
  };
173680
173689
  }
@@ -173699,9 +173708,6 @@ function mustMaterializePi(state, db, currentCompartmentsOverride) {
173699
173708
  if (hard.systemHash !== "" && hard.systemHash !== (meta3.cachedM0SystemHash ?? "")) {
173700
173709
  return { value: true, reason: "system_hash" };
173701
173710
  }
173702
- if (hard.toolSetHash !== "" && hard.toolSetHash !== (meta3.cachedM0ToolSetHash ?? "")) {
173703
- return { value: true, reason: "tool_set_hash" };
173704
- }
173705
173711
  if (hard.cacheExpired && hard.lastResponseTime > 0 && hard.lastResponseTime > (meta3.cachedM0MaterializedAt ?? 0)) {
173706
173712
  return { value: true, reason: "ttl_idle" };
173707
173713
  }
@@ -173800,7 +173806,6 @@ function readFrozenM0InputsPi(state, db, docs = readProjectDocsCanonical(state.p
173800
173806
  upgradeState: `${PI_M0_UPGRADE_STATE}:${compartments.some((c) => c.legacy === 1) ? "legacy" : "ready"}`,
173801
173807
  lastBaselineEndMessageId: lastBaselineEndMessageId(compartments),
173802
173808
  systemHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).systemHash,
173803
- toolSetHash: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).toolSetHash,
173804
173809
  modelKey: (state.hardSignals ?? EMPTY_PI_HARD_SIGNALS).modelKey
173805
173810
  };
173806
173811
  return { docs, markers, compartments, memories, userProfile };
@@ -173879,7 +173884,6 @@ function materializeM0Pi(state, db) {
173879
173884
  sessionFactsVersion: snapshotMarkers.sessionFactsVersion,
173880
173885
  upgradeState: snapshotMarkers.upgradeState,
173881
173886
  systemHash: snapshotMarkers.systemHash,
173882
- toolSetHash: snapshotMarkers.toolSetHash,
173883
173887
  modelKey: snapshotMarkers.modelKey
173884
173888
  });
173885
173889
  db.prepare("UPDATE session_meta SET memory_block_count = ?, memory_block_ids = ? WHERE session_id = ?").run(renderedMemoryIds.length, JSON.stringify(renderedMemoryIds), state.sessionId);
@@ -174048,7 +174052,6 @@ function readCachedPiM0M1Row(db, sessionId) {
174048
174052
  cached_m0_session_facts_version,
174049
174053
  cached_m0_upgrade_state,
174050
174054
  cached_m0_system_hash,
174051
- cached_m0_tool_set_hash,
174052
174055
  cached_m0_model_key,
174053
174056
  cached_m0_last_baseline_end_message_id,
174054
174057
  memory_block_ids
@@ -174089,7 +174092,6 @@ function markersFromCachedPiRow(row, compartmentsForNormalization) {
174089
174092
  upgradeState: row.cached_m0_upgrade_state,
174090
174093
  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,
174091
174094
  systemHash: row.cached_m0_system_hash ?? "",
174092
- toolSetHash: row.cached_m0_tool_set_hash ?? "",
174093
174095
  modelKey: row.cached_m0_model_key ?? ""
174094
174096
  };
174095
174097
  }
@@ -174097,7 +174099,7 @@ function cachedPiRowMatchesSnapshot(args) {
174097
174099
  const rowMarkers = markersFromCachedPiRow(args.row, args.compartmentsForNormalization);
174098
174100
  if (!rowMarkers)
174099
174101
  return false;
174100
- 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.toolSetHash ?? "") === (args.markers.toolSetHash ?? "") && (rowMarkers.modelKey ?? "") === (args.markers.modelKey ?? "");
174102
+ 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 ?? "");
174101
174103
  }
174102
174104
  function decodeCachedM1(row, sessionId) {
174103
174105
  if (!row.cached_m1_bytes) {
@@ -180482,7 +180484,6 @@ async function runPipeline(args) {
180482
180484
  } catch {}
180483
180485
  const piHardSignals = {
180484
180486
  systemHash: typeof hardMeta.systemPromptHash === "string" ? hardMeta.systemPromptHash : "",
180485
- toolSetHash: "",
180486
180487
  modelKey: liveModelBySession.get(args.sessionId) ?? "",
180487
180488
  cacheExpired: hardMeta.lastResponseTime > 0 && Date.now() - hardMeta.lastResponseTime >= piTtlMs,
180488
180489
  lastResponseTime: hardMeta.lastResponseTime
@@ -183237,7 +183238,7 @@ function formatThresholdPercent(value) {
183237
183238
  // package.json
183238
183239
  var package_default = {
183239
183240
  name: "@cortexkit/pi-magic-context",
183240
- version: "0.23.0",
183241
+ version: "0.23.1",
183241
183242
  type: "module",
183242
183243
  description: "Pi coding agent extension for Magic Context — cross-session memory and context management",
183243
183244
  main: "dist/index.js",
@@ -159929,9 +159929,8 @@ function persistCachedM0(db, sessionId, payload) {
159929
159929
  cached_m0_session_facts_version = ?,
159930
159930
  cached_m0_upgrade_state = ?,
159931
159931
  cached_m0_system_hash = ?,
159932
- cached_m0_tool_set_hash = ?,
159933
159932
  cached_m0_model_key = ?
159934
- 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.toolSetHash ?? "", payload.modelKey ?? "", sessionId);
159933
+ 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);
159935
159934
  }
159936
159935
  function clearCachedM0M1(db, sessionId) {
159937
159936
  ensureSessionMetaRow(db, sessionId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/pi-magic-context",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "type": "module",
5
5
  "description": "Pi coding agent extension for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",