@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.
- package/README.md +20 -0
- package/dist/agents/permissions.d.ts +5 -3
- package/dist/agents/permissions.d.ts.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/profiles.d.ts +22 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/project-security.d.ts +3 -0
- package/dist/config/project-security.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +400 -0
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/features/magic-context/fail-closed-block.d.ts +11 -1
- package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-failure.d.ts +11 -0
- package/dist/features/magic-context/memory/embedding-failure.d.ts.map +1 -0
- package/dist/features/magic-context/memory/embedding-local.d.ts +19 -0
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts +5 -0
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-provider.d.ts +3 -0
- package/dist/features/magic-context/memory/embedding-provider.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +1 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
- package/dist/hooks/magic-context/format-embed-failure.d.ts +3 -0
- package/dist/hooks/magic-context/format-embed-failure.d.ts.map +1 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts +4 -3
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/strip-content.d.ts +6 -0
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/temporal-awareness.d.ts +1 -1
- package/dist/hooks/magic-context/temporal-awareness.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/{index-k2ts0wk1.js → index-x64cmpej.js} +507 -89
- package/dist/index.js +128 -166
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/{recomp-orchestrator-2pncxee7.js → recomp-orchestrator-dtgww0f0.js} +1 -1
- package/dist/shared/rpc-types.d.ts +2 -0
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/rpc-utils.d.ts +12 -1
- package/dist/shared/rpc-utils.d.ts.map +1 -1
- package/dist/shared/status-detail-text.d.ts.map +1 -1
- package/dist/tui/data/context-db.d.ts.map +1 -1
- package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/agents/permissions.ts +14 -4
- package/src/config/index.test.ts +361 -2
- package/src/config/index.ts +29 -10
- package/src/config/profiles.ts +106 -0
- package/src/config/project-security.hostile-matrix.test.ts +9 -0
- package/src/config/project-security.test.ts +17 -0
- package/src/config/project-security.ts +10 -0
- package/src/config/schema/magic-context.test.ts +128 -0
- package/src/config/schema/magic-context.ts +89 -0
- package/src/shared/rpc-types.ts +2 -0
- package/src/shared/rpc-utils.test.ts +32 -0
- package/src/shared/rpc-utils.ts +38 -13
- package/src/shared/status-detail-text.test.ts +2 -0
- package/src/shared/status-detail-text.ts +1 -0
- package/src/tui/data/context-db.ts +1 -0
- 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-
|
|
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
|
|
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
|
-
|
|
11717
|
+
projectRaw = { ...projectLoaded.config };
|
|
11649
11718
|
for (const warning of stripUnsafeProjectConfigFields(projectRaw)) {
|
|
11650
11719
|
allWarnings.push(`[project config] ${warning}`);
|
|
11651
11720
|
}
|
|
11652
|
-
|
|
11653
|
-
|
|
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-
|
|
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-
|
|
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
|
-
...
|
|
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?.
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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 ??
|
|
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;;;;;;;;;
|
|
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,
|
|
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"}
|
|
@@ -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;
|
|
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,
|
|
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,
|
|
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,
|
|
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.
|
|
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"
|