@cortexkit/opencode-magic-context 0.39.0 → 0.40.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.
Files changed (66) hide show
  1. package/README.md +20 -0
  2. package/dist/agents/permissions.d.ts +5 -3
  3. package/dist/agents/permissions.d.ts.map +1 -1
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/profiles.d.ts +22 -0
  6. package/dist/config/profiles.d.ts.map +1 -0
  7. package/dist/config/project-security.d.ts +3 -0
  8. package/dist/config/project-security.d.ts.map +1 -1
  9. package/dist/config/schema/magic-context.d.ts +400 -0
  10. package/dist/config/schema/magic-context.d.ts.map +1 -1
  11. package/dist/features/magic-context/fail-closed-block.d.ts +11 -1
  12. package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
  13. package/dist/features/magic-context/memory/embedding-failure.d.ts +11 -0
  14. package/dist/features/magic-context/memory/embedding-failure.d.ts.map +1 -0
  15. package/dist/features/magic-context/memory/embedding-local.d.ts +19 -0
  16. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  17. package/dist/features/magic-context/memory/embedding-openai.d.ts +5 -0
  18. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  19. package/dist/features/magic-context/memory/embedding-provider.d.ts +3 -0
  20. package/dist/features/magic-context/memory/embedding-provider.d.ts.map +1 -1
  21. package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
  22. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  23. package/dist/features/magic-context/storage-db.d.ts +1 -1
  24. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  25. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  26. package/dist/hooks/magic-context/format-embed-failure.d.ts +3 -0
  27. package/dist/hooks/magic-context/format-embed-failure.d.ts.map +1 -0
  28. package/dist/hooks/magic-context/inject-compartments.d.ts +4 -3
  29. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  30. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  31. package/dist/hooks/magic-context/strip-content.d.ts +6 -0
  32. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/temporal-awareness.d.ts +1 -1
  34. package/dist/hooks/magic-context/temporal-awareness.d.ts.map +1 -1
  35. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
  36. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  37. package/dist/{index-k2ts0wk1.js → index-x64cmpej.js} +507 -89
  38. package/dist/index.js +128 -166
  39. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -0
  40. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  41. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  42. package/dist/{recomp-orchestrator-2pncxee7.js → recomp-orchestrator-dtgww0f0.js} +1 -1
  43. package/dist/shared/rpc-types.d.ts +2 -0
  44. package/dist/shared/rpc-types.d.ts.map +1 -1
  45. package/dist/shared/rpc-utils.d.ts +12 -1
  46. package/dist/shared/rpc-utils.d.ts.map +1 -1
  47. package/dist/shared/status-detail-text.d.ts.map +1 -1
  48. package/dist/tui/data/context-db.d.ts.map +1 -1
  49. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  50. package/package.json +2 -1
  51. package/src/agents/permissions.ts +14 -4
  52. package/src/config/index.test.ts +361 -2
  53. package/src/config/index.ts +29 -10
  54. package/src/config/profiles.ts +106 -0
  55. package/src/config/project-security.hostile-matrix.test.ts +9 -0
  56. package/src/config/project-security.test.ts +17 -0
  57. package/src/config/project-security.ts +10 -0
  58. package/src/config/schema/magic-context.test.ts +128 -0
  59. package/src/config/schema/magic-context.ts +89 -0
  60. package/src/shared/rpc-types.ts +2 -0
  61. package/src/shared/rpc-utils.test.ts +32 -0
  62. package/src/shared/rpc-utils.ts +38 -13
  63. package/src/shared/status-detail-text.test.ts +2 -0
  64. package/src/shared/status-detail-text.ts +1 -0
  65. package/src/tui/data/context-db.ts +1 -0
  66. package/src/tui-compiled/data/context-db.ts +1 -0
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import {
24
24
  COMPARTMENT_LEASE_RENEWAL_MS,
25
25
  COMPARTMENT_STRUCTURAL_SYSTEM_PROMPT,
26
26
  CTX_REDUCE_KEEP,
27
+ ConfigProfilesSchema,
27
28
  DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE,
28
29
  DEFAULT_HISTORIAN_TIMEOUT_MS,
29
30
  DEFAULT_LOCAL_EMBEDDING_MODEL,
@@ -271,6 +272,7 @@ import {
271
272
  hasMemoryShareableColumn,
272
273
  hasMuralCueColumns,
273
274
  hasRunnableCompartmentWindow,
275
+ hasShareabilitySensitiveText,
274
276
  incrementalLkgContentDigests,
275
277
  indexMessagesAfterOrdinal,
276
278
  indexSingleMessage,
@@ -488,7 +490,7 @@ import {
488
490
  verificationFileExists,
489
491
  withContentLanguageDirective,
490
492
  withRawSessionMessageCache
491
- } from "./index-k2ts0wk1.js";
493
+ } from "./index-x64cmpej.js";
492
494
  import {
493
495
  deriveHistorianChunkTokens,
494
496
  deriveTriggerBudget,
@@ -8444,12 +8446,14 @@ function denyTaskRoutingToAgents(permission, internalAgentIds) {
8444
8446
  const { task, ...otherPermissions } = configured;
8445
8447
  const configuredTask = isPermissionAction(task) ? { "*": task } : isPermissionMap(task) ? task : {};
8446
8448
  const internalAgentIdSet = new Set(internalAgentIds);
8447
- const retainedTask = Object.fromEntries(Object.entries(configuredTask).filter(([agentId]) => !internalAgentIdSet.has(agentId)));
8449
+ const hasAmbientWildcardDeny = configuredTask["*"] === "deny";
8450
+ const retainedTask = Object.fromEntries(Object.entries(configuredTask).filter(([agentId]) => !internalAgentIdSet.has(agentId) && (agentId !== "*" || !hasAmbientWildcardDeny)));
8448
8451
  return {
8449
8452
  ...otherPermissions,
8450
8453
  task: {
8451
8454
  ...retainedTask,
8452
- ...Object.fromEntries(internalAgentIds.map((agentId) => [agentId, "deny"]))
8455
+ ...Object.fromEntries(internalAgentIds.map((agentId) => [agentId, "deny"])),
8456
+ ...hasAmbientWildcardDeny ? { "*": "deny" } : {}
8453
8457
  }
8454
8458
  };
8455
8459
  }
@@ -9042,6 +9046,69 @@ function migrateLegacyExperimental(rawConfig, warnings) {
9042
9046
  return patched;
9043
9047
  }
9044
9048
 
9049
+ // src/config/profiles.ts
9050
+ function withoutProfileFields(raw) {
9051
+ const copy = { ...raw };
9052
+ delete copy.profile;
9053
+ delete copy.profiles;
9054
+ return copy;
9055
+ }
9056
+ function readProfileSelection(raw) {
9057
+ if (!Object.hasOwn(raw, "profile"))
9058
+ return { declared: false };
9059
+ const value = raw.profile;
9060
+ if (typeof value !== "string")
9061
+ return { declared: true };
9062
+ const name = value.trim();
9063
+ return name.length > 0 ? { declared: true, name } : { declared: true };
9064
+ }
9065
+ function resolveConfigProfile(args) {
9066
+ const warnings = [];
9067
+ const userSelection = readProfileSelection(args.userRaw);
9068
+ const projectSelection = readProfileSelection(args.projectRaw);
9069
+ const selection = projectSelection.name ? { name: projectSelection.name, source: "project" } : userSelection.name ? { name: userSelection.name, source: "user" } : undefined;
9070
+ if (projectSelection.declared && !projectSelection.name) {
9071
+ warnings.push("Ignoring invalid profile selection from project config; expected a non-empty string.");
9072
+ }
9073
+ if (!projectSelection.declared && userSelection.declared && !userSelection.name) {
9074
+ warnings.push("Ignoring invalid profile selection from user config; expected a non-empty string.");
9075
+ }
9076
+ let profiles = {};
9077
+ if (Object.hasOwn(args.userRaw, "profiles")) {
9078
+ const parsed = ConfigProfilesSchema.safeParse(args.userRaw.profiles);
9079
+ if (parsed.success) {
9080
+ profiles = parsed.data;
9081
+ } else {
9082
+ warnings.push("Ignoring profiles from user config: invalid profile configuration; profiles may contain only historian/dreamer harness model blocks and sidekick model-selection fields.");
9083
+ }
9084
+ }
9085
+ if (!selection) {
9086
+ return {
9087
+ userBase: withoutProfileFields(args.userRaw),
9088
+ projectBase: withoutProfileFields(args.projectRaw),
9089
+ overlay: {},
9090
+ warnings
9091
+ };
9092
+ }
9093
+ if (!Object.hasOwn(profiles, selection.name)) {
9094
+ warnings.push(`Unknown profile "${selection.name}" selected by ${selection.source} config; using base config without a profile.`);
9095
+ return {
9096
+ userBase: withoutProfileFields(args.userRaw),
9097
+ projectBase: withoutProfileFields(args.projectRaw),
9098
+ overlay: {},
9099
+ warnings
9100
+ };
9101
+ }
9102
+ const overlay = profiles[selection.name];
9103
+ return {
9104
+ userBase: withoutProfileFields(args.userRaw),
9105
+ projectBase: withoutProfileFields(args.projectRaw),
9106
+ overlay,
9107
+ activeProfile: selection.name,
9108
+ warnings
9109
+ };
9110
+ }
9111
+
9045
9112
  // src/config/project-security.ts
9046
9113
  var HIDDEN_AGENT_KEYS = ["historian", "dreamer", "sidekick"];
9047
9114
  var HARNESS_KEYS = ["opencode", "pi"];
@@ -9180,6 +9247,10 @@ function makeProjectThresholdWarning(field, reason) {
9180
9247
  }
9181
9248
  function stripUnsafeProjectConfigFields(projectRaw) {
9182
9249
  const warnings = [];
9250
+ if ("profiles" in projectRaw) {
9251
+ delete projectRaw.profiles;
9252
+ warnings.push("Ignoring profiles from project config (security: profile definitions are user-level only; a repository may select a named user profile with profile).");
9253
+ }
9183
9254
  if ("auto_update" in projectRaw) {
9184
9255
  delete projectRaw.auto_update;
9185
9256
  warnings.push("Ignoring auto_update from project config (security: this setting only honors user-level config).");
@@ -11627,8 +11698,6 @@ function loadPluginConfigDetailed(directory) {
11627
11698
  const userLoaded = userDetected.format !== "none" ? loadConfigFileDetailed(userDetected.path, "user") : userLegacyFallback.source ? loadConfigFileDetailed(userLegacyFallback.source.path, "user") : null;
11628
11699
  const projectLoaded = projectDetected.format !== "none" ? loadConfigFileDetailed(projectDetected.path, "project") : projectLegacyFallback.source ? loadConfigFileDetailed(projectLegacyFallback.source.path, "project") : null;
11629
11700
  const allWarnings = [];
11630
- let mergedRaw = {};
11631
- const trustedBaseConfig = parsePluginConfig(userLoaded?.config ?? {});
11632
11701
  if (userLegacyFallback.source) {
11633
11702
  allWarnings.push(`[user config] reading legacy config from ${userLegacyFallback.source.path} until migration completes; run \`npx @cortexkit/magic-context doctor\` to consolidate into the shared CortexKit location.`);
11634
11703
  } else if (legacyUserUnmigrated) {
@@ -11641,21 +11710,31 @@ function loadPluginConfigDetailed(directory) {
11641
11710
  }
11642
11711
  if (userLoaded) {
11643
11712
  allWarnings.push(...userLoaded.warnings.map((w) => `[user config] ${w}`));
11644
- mergedRaw = deepMergeRawConfig(mergedRaw, userLoaded.config);
11645
11713
  }
11714
+ let projectRaw = {};
11646
11715
  if (projectLoaded) {
11647
11716
  allWarnings.push(...projectLoaded.warnings.map((w) => `[project config] ${w}`));
11648
- const projectRaw = { ...projectLoaded.config };
11717
+ projectRaw = { ...projectLoaded.config };
11649
11718
  for (const warning of stripUnsafeProjectConfigFields(projectRaw)) {
11650
11719
  allWarnings.push(`[project config] ${warning}`);
11651
11720
  }
11652
- mergedRaw = deepMergeRawConfig(mergedRaw, projectRaw);
11653
- for (const warning of dropInheritedEmbeddingKeyOnRedirect(projectRaw, mergedRaw, userLoaded?.config)) {
11721
+ }
11722
+ const profileResolution = resolveConfigProfile({
11723
+ userRaw: userLoaded?.config ?? {},
11724
+ projectRaw
11725
+ });
11726
+ allWarnings.push(...profileResolution.warnings.map((warning) => `[config] ${warning}`));
11727
+ const trustedProfiledRaw = deepMergeRawConfig(profileResolution.userBase, profileResolution.overlay);
11728
+ let mergedRaw = trustedProfiledRaw;
11729
+ const trustedBaseConfig = parsePluginConfig(trustedProfiledRaw);
11730
+ if (projectLoaded) {
11731
+ mergedRaw = deepMergeRawConfig(mergedRaw, profileResolution.projectBase);
11732
+ for (const warning of dropInheritedEmbeddingKeyOnRedirect(projectRaw, mergedRaw, profileResolution.userBase)) {
11654
11733
  allWarnings.push(`[project config] ${warning}`);
11655
11734
  }
11656
11735
  for (const warning of constrainProjectThresholdOverrides({
11657
11736
  mergedRaw,
11658
- projectRaw,
11737
+ projectRaw: profileResolution.projectBase,
11659
11738
  trustedBaseConfig
11660
11739
  })) {
11661
11740
  allWarnings.push(`[project config] ${warning}`);
@@ -11663,6 +11742,8 @@ function loadPluginConfigDetailed(directory) {
11663
11742
  }
11664
11743
  const recoveredTopLevelKeys = [];
11665
11744
  const config = parsePluginConfig(mergedRaw, recoveredTopLevelKeys);
11745
+ if (profileResolution.activeProfile)
11746
+ config.profile = profileResolution.activeProfile;
11666
11747
  setOutputReserveConfig(config.output_reserve);
11667
11748
  setWindowOverlayPath(config.models?.window_overlay_path);
11668
11749
  if (config.configWarnings?.length) {
@@ -15509,153 +15590,6 @@ function isRustAuthorityDrainingError(error) {
15509
15590
  return error instanceof Error && error.message.includes("authority_draining");
15510
15591
  }
15511
15592
 
15512
- // src/shared/redaction.ts
15513
- import { homedir as homedir3, userInfo } from "node:os";
15514
- function escapeRegex(value) {
15515
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
15516
- }
15517
- var SECRET_WORDS = [
15518
- "key",
15519
- "token",
15520
- "secret",
15521
- "password",
15522
- "auth",
15523
- "authorization",
15524
- "bearer",
15525
- "credential"
15526
- ];
15527
- var SECRET_SEGMENT_PATTERN = new RegExp(`^(?:${SECRET_WORDS.map((w) => `${w}s?`).join("|")})$`, "i");
15528
- var TRAILING_DESCRIPTORS = new Set(["id", "ids", "value", "values", "header", "headers"]);
15529
- function redactionTypeForKey(key) {
15530
- const normalized = key.trim().toLowerCase().replace(/[^a-z0-9_.-]+/g, "_");
15531
- const suffix = normalized.split(".").filter(Boolean).at(-1) ?? normalized;
15532
- return suffix || "secret";
15533
- }
15534
- function isNonSecretScalarValue(value) {
15535
- const v = value.trim();
15536
- if (v === "true" || v === "false" || v === "null" || v === "undefined")
15537
- return true;
15538
- return /^[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/.test(v);
15539
- }
15540
- var SECRET_QUALIFIERS = new Set([
15541
- "api",
15542
- "access",
15543
- "private",
15544
- "client",
15545
- "auth",
15546
- "authorization",
15547
- "secret",
15548
- "bearer",
15549
- "session",
15550
- "refresh",
15551
- "service",
15552
- "x",
15553
- "openai",
15554
- "anthropic",
15555
- "google",
15556
- "github",
15557
- "huggingface",
15558
- "aws",
15559
- "azure"
15560
- ]);
15561
- function sanitizePathString(value) {
15562
- const home = homedir3();
15563
- const username = userInfo().username;
15564
- let sanitized = value;
15565
- if (home) {
15566
- sanitized = sanitized.replace(new RegExp(escapeRegex(home), "g"), "~");
15567
- }
15568
- sanitized = sanitized.replace(/\/Users\/[^/]+\//g, "/Users/<USER>/");
15569
- sanitized = sanitized.replace(/\/home\/[^/]+\//g, "/home/<USER>/");
15570
- sanitized = sanitized.replace(/C:\\Users\\[^\\]+\\/g, "C:\\Users\\<USER>\\");
15571
- if (username) {
15572
- sanitized = sanitized.replace(new RegExp(escapeRegex(username), "g"), "<USER>");
15573
- }
15574
- return sanitized;
15575
- }
15576
- var SECRET_TEXT_PATTERNS = [
15577
- {
15578
- pattern: /\bsk-ant-(?:api03-)?[A-Za-z0-9_-]{32,}/g,
15579
- replacement: "<ANTHROPIC_API_KEY_REDACTED>"
15580
- },
15581
- {
15582
- pattern: /\bsk-(?:proj-)?[A-Za-z0-9_-]{32,}/g,
15583
- replacement: "<OPENAI_API_KEY_REDACTED>"
15584
- },
15585
- {
15586
- pattern: /\bgithub_pat_[A-Za-z0-9_]{20,}/g,
15587
- replacement: "<GITHUB_PAT_REDACTED>"
15588
- },
15589
- {
15590
- pattern: /\b(?:gh[opsu]|ghr)_[A-Za-z0-9]{30,}/g,
15591
- replacement: "<GITHUB_TOKEN_REDACTED>"
15592
- },
15593
- {
15594
- pattern: /\bhf_[A-Za-z0-9]{30,}/g,
15595
- replacement: "<HUGGINGFACE_TOKEN_REDACTED>"
15596
- },
15597
- {
15598
- pattern: /\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,
15599
- replacement: "<AWS_ACCESS_KEY_ID_REDACTED>"
15600
- },
15601
- {
15602
- pattern: /\bxox[abprsuvc]-[A-Za-z0-9-]{10,}/g,
15603
- replacement: "<SLACK_TOKEN_REDACTED>"
15604
- },
15605
- {
15606
- pattern: /\bAIza[A-Za-z0-9_-]{35}\b/g,
15607
- replacement: "<GOOGLE_API_KEY_REDACTED>"
15608
- },
15609
- {
15610
- pattern: /\b(Authorization\s*:\s*Bearer\s+)([A-Za-z0-9._~+/=-]{8,})/gi,
15611
- replacement: (_full, prefix) => `${prefix}<REDACTED:bearer>`
15612
- },
15613
- {
15614
- pattern: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,
15615
- replacement: "<JWT_REDACTED>"
15616
- },
15617
- {
15618
- pattern: /(["'])([^"']*(?:key|token|secret|password|auth|bearer|credential)[^"']*)\1(\s*:\s*)(["'])([^"']*)\4/gi,
15619
- replacement: (full, quote, key, separator, valueQuote, value) => isNonSecretScalarValue(value) ? full : `${quote}${key}${quote}${separator}${valueQuote}<REDACTED:${redactionTypeForKey(key)}>${valueQuote}`
15620
- },
15621
- {
15622
- pattern: /\b([A-Za-z0-9_.-]*(?:key|token|secret|password|auth|bearer|credential)[A-Za-z0-9_.-]*)\s*=\s*([^\s'"`]+)/gi,
15623
- replacement: (full, key, value) => isNonSecretScalarValue(value) ? full : `${key}=<REDACTED:${redactionTypeForKey(key)}>`
15624
- }
15625
- ];
15626
- function redactSecretText(value) {
15627
- let redacted = value;
15628
- for (const { pattern, replacement } of SECRET_TEXT_PATTERNS) {
15629
- if (typeof replacement === "string") {
15630
- redacted = redacted.replace(pattern, replacement);
15631
- } else {
15632
- redacted = redacted.replace(pattern, replacement);
15633
- }
15634
- }
15635
- return redacted;
15636
- }
15637
- function sanitizeDiagnosticText(value) {
15638
- return redactSecretText(sanitizePathString(value));
15639
- }
15640
- var SHAREABILITY_SENSITIVE_PATTERNS = [
15641
- /\bC:\/Users\/[^/\s]+/i,
15642
- /(?:^|\s)~\/[^\s]+/,
15643
- /\b(?:api[_-]?key|secret|token|password|passwd|pwd|client[_-]?secret|access[_-]?key)\b\s*[:=]\s*\S+/i,
15644
- /\b(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\])(?::\d+)?\b/i,
15645
- /\b(?:10|127)\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/,
15646
- /\b192\.168\.\d{1,3}\.\d{1,3}\b/,
15647
- /\b172\.(?:1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}\b/
15648
- ];
15649
- function hasShareabilitySensitiveText(text) {
15650
- try {
15651
- if (sanitizeDiagnosticText(text) !== text)
15652
- return true;
15653
- return SHAREABILITY_SENSITIVE_PATTERNS.some((pattern) => pattern.test(text));
15654
- } catch {
15655
- return true;
15656
- }
15657
- }
15658
-
15659
15593
  // src/features/magic-context/dreamer/classify-prompt.ts
15660
15594
  var SCORING_GUIDANCE = `### How to score importance (1-100)
15661
15595
  Importance decides which memories survive when the injected memory block is over budget: high scores stay in context, low scores drop first. So the score is only useful if it **discriminates** — if most memories land in the same band, you have not classified them, you have just labelled them.
@@ -25975,6 +25909,7 @@ function buildStatusDetail(db, sessionId, directory, modelKey, config, liveSessi
25975
25909
  const base = buildSidebarSnapshot(db, sessionId, directory, liveSessionState, injectionBudgetTokens, config, moduleStatus, compactionEnabled);
25976
25910
  const detail = {
25977
25911
  ...base,
25912
+ activeProfile: typeof config?.profile === "string" ? config.profile : null,
25978
25913
  tagCounter: 0,
25979
25914
  activeTags: 0,
25980
25915
  droppedTags: 0,
@@ -26201,7 +26136,7 @@ function registerRpcHandlers(rpcServer, args) {
26201
26136
  const db = getDb();
26202
26137
  if (!db)
26203
26138
  return { ok: false, error: "db unavailable" };
26204
- const { runManagedRecomp: runManagedRecomp2 } = await import("./recomp-orchestrator-2pncxee7.js");
26139
+ const { runManagedRecomp: runManagedRecomp2 } = await import("./recomp-orchestrator-dtgww0f0.js");
26205
26140
  const { sendIgnoredMessage: sendIgnoredMessage2 } = await import("./send-session-notification-6v5b72b4.js");
26206
26141
  log(`[rpc] recomp requested for session ${sessionId}`);
26207
26142
  const ctx = await buildManagedCtx(db);
@@ -26217,7 +26152,7 @@ function registerRpcHandlers(rpcServer, args) {
26217
26152
  const db = getDb();
26218
26153
  if (!db)
26219
26154
  return { ok: false, error: "db unavailable" };
26220
- const { runManagedUpgrade: runManagedUpgrade2 } = await import("./recomp-orchestrator-2pncxee7.js");
26155
+ const { runManagedUpgrade: runManagedUpgrade2 } = await import("./recomp-orchestrator-dtgww0f0.js");
26221
26156
  const { sendIgnoredMessage: sendIgnoredMessage2 } = await import("./send-session-notification-6v5b72b4.js");
26222
26157
  log(`[rpc] session-upgrade requested for session ${sessionId}`);
26223
26158
  const ctx = await buildManagedCtx(db);
@@ -26293,6 +26228,7 @@ function formatStatusDetailMarkdown(detail) {
26293
26228
  "## Magic Context Status",
26294
26229
  "",
26295
26230
  `- **Mode:** ${mode}`,
26231
+ `- **Active profile:** ${detail.activeProfile ?? "none"}`,
26296
26232
  `- **Usage:** ${detail.usagePercentage.toFixed(1)}% (${formatCount(detail.inputTokens)} / ${usableLimit})`,
26297
26233
  `- **Cache lane:** ${formatCacheLane(detail)}`,
26298
26234
  `- **Historian:** ${[historianState, ...historianDetails].join("; ")}`,
@@ -27472,6 +27408,8 @@ function writeRustTransformDecision(args) {
27472
27408
  systemHashNew: null,
27473
27409
  m0ModelKeyPrev: null,
27474
27410
  m0ModelKeyNew: null,
27411
+ m0ToolSetHashPrev: null,
27412
+ m0ToolSetHashNew: null,
27475
27413
  emergency: false,
27476
27414
  droppedTokens: 0,
27477
27415
  droppedCount: 0,
@@ -29488,6 +29426,9 @@ function encodeOpenCodeMessagesToCk(messages) {
29488
29426
  const id = typeof info.id === "string" && info.id.length > 0 && info.id || `opencode-${crypto2.createHash("sha256").update(JSON.stringify(message)).digest("hex").slice(0, 24)}`;
29489
29427
  const ordinal = typeof raw.absolute_ordinal === "number" && raw.absolute_ordinal || typeof info.absolute_ordinal === "number" && info.absolute_ordinal || index + 1;
29490
29428
  const role = typeof info.role === "string" ? info.role : "user";
29429
+ const time = info.time !== null && typeof info.time === "object" ? info.time : {};
29430
+ const createdAtMs = typeof time.created === "number" ? time.created : typeof info.time_created === "number" ? info.time_created : typeof info.timeCreated === "number" ? info.timeCreated : undefined;
29431
+ const completedAtMs = typeof time.completed === "number" ? time.completed : typeof info.time_completed === "number" ? info.time_completed : typeof info.timeCompleted === "number" ? info.timeCompleted : undefined;
29491
29432
  const parts = Array.isArray(raw.parts) ? raw.parts : [];
29492
29433
  const synthetic = parts.length > 0 && parts.every((part) => part !== null && typeof part === "object" && (part.synthetic === true || part.syntheticTodoMarker === true));
29493
29434
  const content = [];
@@ -29572,7 +29513,8 @@ function encodeOpenCodeMessagesToCk(messages) {
29572
29513
  summary: info.summary === true,
29573
29514
  errored: info.error !== undefined && info.error !== null,
29574
29515
  ...typeof info.finish === "string" ? { finish: info.finish } : {},
29575
- ...typeof info.time_created === "number" ? { created_at_ms: info.time_created } : typeof info.timeCreated === "number" ? { created_at_ms: info.timeCreated } : {}
29516
+ ...createdAtMs === undefined ? {} : { created_at_ms: createdAtMs },
29517
+ ...completedAtMs === undefined ? {} : { completed_at_ms: completedAtMs }
29576
29518
  }
29577
29519
  }
29578
29520
  };
@@ -31273,6 +31215,24 @@ var REASONING_IGNORED_PART_TYPES = new Set([
31273
31215
  "compaction"
31274
31216
  ]);
31275
31217
  var REASONING_PART_TYPES = new Set(["reasoning", "thinking", "redacted_thinking"]);
31218
+ function hasReasoningReplayContent(message) {
31219
+ return message.parts.some((part) => {
31220
+ if (!isRecord(part) || part.ignored === true)
31221
+ return false;
31222
+ const type = typeof part.type === "string" ? part.type : "";
31223
+ if (REASONING_IGNORED_PART_TYPES.has(type))
31224
+ return false;
31225
+ return type !== "text" || typeof part.text !== "string" || part.text.trim().length > 0;
31226
+ });
31227
+ }
31228
+ function findLatestAssistantReasoningMutationExemptMessage(messages) {
31229
+ for (let index = messages.length - 1;index >= 0; index -= 1) {
31230
+ const message = messages[index];
31231
+ if (message.info.role === "assistant" && hasReasoningReplayContent(message))
31232
+ return message;
31233
+ }
31234
+ return;
31235
+ }
31276
31236
  function planMergedAssistantReasoningStrip(messages, mutationExemptMessage) {
31277
31237
  const plan = [];
31278
31238
  let prevRole;
@@ -32518,7 +32478,7 @@ function finalizeMessageRepresentation(messages, resolvedProviderID, options) {
32518
32478
  clearedParts = stripClearedReasoning(targetedMessages);
32519
32479
  }
32520
32480
  }
32521
- let newestAssistant = options?.reasoningMutationExemptMessage;
32481
+ let newestAssistant = options?.trailingBlankNewestAssistant;
32522
32482
  if (!newestAssistant) {
32523
32483
  for (let index = messages.length - 1;index >= 0; index -= 1) {
32524
32484
  const message = messages[index];
@@ -32539,14 +32499,15 @@ function finalizeMessageRepresentation(messages, resolvedProviderID, options) {
32539
32499
  }
32540
32500
  async function runPostTransformPhase(args) {
32541
32501
  const compactionOff = args.compactionOff === true;
32542
- let reasoningMutationExemptMessage;
32502
+ let trailingBlankNewestAssistant;
32543
32503
  for (let index = args.messages.length - 1;index >= 0; index -= 1) {
32544
32504
  const message = args.messages[index];
32545
32505
  if (message.info.role !== "assistant")
32546
32506
  continue;
32547
- reasoningMutationExemptMessage = message;
32507
+ trailingBlankNewestAssistant = message;
32548
32508
  break;
32549
32509
  }
32510
+ const reasoningMutationExemptMessage = findLatestAssistantReasoningMutationExemptMessage(args.messages);
32550
32511
  const pendingMaterializationAtPassStart = args.pendingMaterializationSessions.has(args.sessionId);
32551
32512
  const deferredMaterializationAtPassStart = args.deferredMaterializationSessions.has(args.sessionId);
32552
32513
  const isExplicitFlush = pendingMaterializationAtPassStart;
@@ -33178,12 +33139,13 @@ async function runPostTransformPhase(args) {
33178
33139
  sessionLog(args.sessionId, "transform failed loading trailing blank decisions:", error);
33179
33140
  }
33180
33141
  }
33181
- const newestAssistantId = typeof reasoningMutationExemptMessage?.info.id === "string" ? reasoningMutationExemptMessage.info.id : undefined;
33142
+ const newestAssistantId = typeof trailingBlankNewestAssistant?.info.id === "string" ? trailingBlankNewestAssistant.info.id : undefined;
33182
33143
  const tFinalRepresentation = performance.now();
33183
33144
  const finalRepresentation = finalizeMessageRepresentation(args.messages, args.resolvedProviderID, {
33184
33145
  prependedMessageCount,
33185
33146
  reasoningMutatedMessages,
33186
33147
  reasoningMutationExemptMessage,
33148
+ trailingBlankNewestAssistant,
33187
33149
  mergedReasoningStrippedIds,
33188
33150
  trailingBlankDecisions,
33189
33151
  skipMergedReasoningStrip: compactionOff,
@@ -39736,7 +39698,7 @@ import { isAbsolute as isAbsolute4 } from "node:path";
39736
39698
 
39737
39699
  // ../retina-local-fs/src/path-fence.ts
39738
39700
  import { lstat as lstat2, readlink, realpath as realpath2 } from "node:fs/promises";
39739
- import { homedir as homedir4 } from "node:os";
39701
+ import { homedir as homedir3 } from "node:os";
39740
39702
  import { basename as basename2, dirname as dirname6, isAbsolute as isAbsolute3, join as join9, relative, resolve as resolve3, sep } from "node:path";
39741
39703
 
39742
39704
  // ../retina-local-fs/src/errors.ts
@@ -39761,7 +39723,7 @@ async function resolveAndFenceProviderPath(configuredPath, options) {
39761
39723
  return canonical;
39762
39724
  }
39763
39725
  async function resolveFenceRoots(options) {
39764
- const configuredHomePath = resolve3(options.homeDirectory ?? process.env.HOME ?? homedir4());
39726
+ const configuredHomePath = resolve3(options.homeDirectory ?? process.env.HOME ?? homedir3());
39765
39727
  let home;
39766
39728
  try {
39767
39729
  home = await realpath2(configuredHomePath);
@@ -30,6 +30,8 @@ export declare function buildMagicContextHookConfig(pluginConfig: MagicContextPl
30
30
  transform_mode: "ts" | "rust";
31
31
  auto_update?: boolean;
32
32
  language?: string;
33
+ profile?: string;
34
+ profiles?: import("../../config/schema/magic-context").ConfigProfiles;
33
35
  historian?: import("../../config/schema/magic-context").HistorianConfig;
34
36
  dreamer?: import("../../config/schema/magic-context").DreamerConfig;
35
37
  smart_notes: {
@@ -1 +1 @@
1
- {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBAEP,CAAC;aACtD,CAAC;aAA2B,CAAC;eAM/C,CALC;;;;;;;;;;;;;;;;;;;;;;;2BAwFwizB,CAAC;;;;eAA6iB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA7E3l0B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBAqE+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;EAvC/5lE;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAChD,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBA+B+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;GAD/5lE"}
1
+ {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBAGrC,CAAC;aAA2B,CAAC;aACjD,CAAC;eAA8B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;2BAwFgt4B,CAAC;;;;eAA6iB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA7Etz5B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBAqE+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;EAvC/5lE;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAChD,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBA+B+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;GAD/5lE"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAWzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAmB3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAavF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2GD,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAsWjB;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAiOd;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C,GACF,IAAI,CA6PN"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAWzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAmB3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAavF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2GD,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAsWjB;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAkOd;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C,GACF,IAAI,CA6PN"}
@@ -9,7 +9,7 @@ import {
9
9
  setRecompNote,
10
10
  setRecompStarting,
11
11
  setRecompTerminal
12
- } from "./index-k2ts0wk1.js";
12
+ } from "./index-x64cmpej.js";
13
13
  import"./index-mg1yx1ph.js";
14
14
  import"./index-btj2qhmc.js";
15
15
  import"./index-rw0qrkvq.js";
@@ -134,6 +134,8 @@ export interface SidebarSnapshot {
134
134
  } | null;
135
135
  }
136
136
  export interface StatusDetail extends SidebarSnapshot {
137
+ /** User-owned model profile selected for this project, or null for the base config. */
138
+ activeProfile: string | null;
137
139
  tagCounter: number;
138
140
  activeTags: number;
139
141
  droppedTags: number;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { readFileSync } from "node:fs";
3
3
  export type ProcessKind = "OpenCode server" | "OpenCode instance (TUI/CLI)" | "Pi" | "process";
4
+ /** Best-effort process details captured while validating a migration blocker. */
5
+ export interface ProcessProbeEvidence {
6
+ /** Epoch milliseconds, or null when the platform/probe cannot provide it. */
7
+ startTime: number | null;
8
+ /** The raw command line, or null when the platform/probe cannot provide it. */
9
+ commandLine: string | null;
10
+ }
4
11
  export interface RpcPortFileRecord {
5
12
  port: number;
6
13
  pid: number;
@@ -40,6 +47,10 @@ export type PidLiveness = "alive" | "dead" | "inconclusive";
40
47
  * `kill(pid, 0)` with EPERM even when the PID does not exist outside their view.
41
48
  */
42
49
  export declare function isPidAlive(pid: number): PidLiveness;
50
+ /** Read a process start time without changing the guard's liveness decision. */
51
+ export declare function readProcessStartTime(pid: number): number | null;
52
+ /** Capture the command and start-time probes used to explain a blocker. */
53
+ export declare function readProcessProbeEvidence(pid: number): ProcessProbeEvidence;
43
54
  /** Reuse the platform-gated command probes used by PID identity checks. */
44
55
  export declare function readProcessCommand(pid: number): string | null;
45
56
  /** Classify a process command without changing the liveness decision. */
@@ -55,7 +66,7 @@ export declare function classifyProcessKind(command: string | null | undefined):
55
66
  * not proof that this port record still belongs to OpenCode.
56
67
  */
57
68
  export type PidIdentityPlausibility = "plausible" | "implausible" | "inconclusive";
58
- export declare function isPidIdentityPlausible(record: RpcPortFileRecord): PidIdentityPlausibility;
69
+ export declare function isPidIdentityPlausible(record: RpcPortFileRecord, evidence?: ProcessProbeEvidence): PidIdentityPlausibility;
59
70
  export declare function __setRpcIdentityTestHooks(hooks: {
60
71
  readFileSync?: typeof readFileSync;
61
72
  execFileSync?: typeof execFileSync;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,SAAc,EACjB,UAAU,CAAC,EAAE,MAAM,GACpB,MAAM,CAGR;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CASnD;AA6JD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO7D;AA6CD,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAgBnF;AAOD;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAwBzF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC7C,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,YAAY,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAI,CAQP;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAQlD;AAmBD,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAgD3D;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,iBAAiB,GAAG,IAAI,CA6B3F"}
1
+ {"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status-detail-text.d.ts","sourceRoot":"","sources":["../../src/shared/status-detail-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyCvE"}
1
+ {"version":3,"file":"status-detail-text.d.ts","sourceRoot":"","sources":["../../src/shared/status-detail-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA0CvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAwFD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
1
+ {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAwFD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAqDvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui-compiled/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAwFD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
1
+ {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui-compiled/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAwFD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAqDvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/opencode-magic-context",
3
- "version": "0.39.0",
3
+ "version": "0.40.1",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",
@@ -60,6 +60,7 @@
60
60
  "ai-tokenizer": "^1.0.6",
61
61
  "comment-json": "^5.0.0",
62
62
  "jsonc-parser": "^3.3.1",
63
+ "onnxruntime-web": "1.26.0-dev.20260416-b7804b056c",
63
64
  "quickjs-emscripten": "^0.32.0",
64
65
  "solid-js": "1.9.12",
65
66
  "zod": "^4.1.8"