@cortexkit/opencode-magic-context 0.35.1 → 0.36.0
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 +9 -5
- package/dist/agents/permissions.d.ts +17 -0
- package/dist/agents/permissions.d.ts.map +1 -1
- package/dist/{announcement-gms2nhya.js → announcement-6c1g4es4.js} +2 -2
- package/dist/config/schema/magic-context.d.ts +10 -0
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-p2pmhvn7.js → conflict-warning-hook-dw9fs934.js} +4 -4
- package/dist/{derive-budgets-9crp0cvd.js → derive-budgets-88mxk2w1.js} +3 -3
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +2 -0
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts +1 -0
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/condition-compiler.d.ts +37 -0
- package/dist/features/magic-context/smart-notes/condition-compiler.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/storage.d.ts +3 -3
- package/dist/features/magic-context/smart-notes/storage.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/storage-notes.d.ts +13 -0
- package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +1 -1
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +3 -0
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts +15 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync.d.ts +6 -0
- package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-transport.d.ts +9 -0
- package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
- package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts +10 -0
- package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +7 -2
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/{index-8aaadh98.js → index-37rt2bka.js} +2 -2
- package/dist/{index-fkyamz2w.js → index-3nfgbsp4.js} +99 -56
- package/dist/{index-w0nygb4p.js → index-3tnkymva.js} +2 -2
- package/dist/{index-k1esqfwk.js → index-f1tnb3vm.js} +1 -1
- package/dist/{index-kvrcg31b.js → index-mmrhhk9a.js} +8 -1
- package/dist/{index-h5zjfesc.js → index-nsx2n9eg.js} +3 -3
- package/dist/{index-dmr999a2.js → index-qf20mv7e.js} +1 -1
- package/dist/{index-73xz0247.js → index-tsgs7td8.js} +1 -1
- package/dist/{index-ry8rh8cv.js → index-wgvxkqpx.js} +5 -4
- package/dist/{index-dpdnjawy.js → index-z8v31d85.js} +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +781 -116
- package/dist/plugin/dream-timer.d.ts +1 -0
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +3 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/messages-transform.d.ts +5 -5
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/{recomp-orchestrator-29f4rqax.js → recomp-orchestrator-7wbbvf87.js} +7 -7
- package/dist/{safe-notification-target-q9jk5n44.js → safe-notification-target-c11fdda2.js} +3 -3
- package/dist/{send-session-notification-sr5g06hz.js → send-session-notification-bgtf4853.js} +4 -4
- package/dist/shared/data-path.d.ts +27 -0
- package/dist/shared/data-path.d.ts.map +1 -1
- package/dist/shared/harness-provider-map.d.ts +23 -20
- package/dist/shared/harness-provider-map.d.ts.map +1 -1
- package/dist/shared/prompt-surface-runtime.d.ts +15 -2
- package/dist/shared/prompt-surface-runtime.d.ts.map +1 -1
- package/dist/{storage-meta-session-ev8b55a9.js → storage-meta-session-kh5egr11.js} +4 -4
- package/dist/tools/ctx-note/tools.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/agents/permissions.ts +87 -0
- package/src/config/compaction-accessor-guard.test.ts +9 -4
- package/src/config/schema/magic-context.test.ts +2 -0
- package/src/config/schema/magic-context.ts +15 -0
- package/src/shared/data-path.test.ts +65 -9
- package/src/shared/data-path.ts +66 -1
- package/src/shared/harness-provider-map.test.ts +42 -1
- package/src/shared/harness-provider-map.ts +48 -26
- package/src/shared/prompt-surface-runtime.ts +13 -5
|
@@ -24,6 +24,13 @@ export declare class SubcModuleTransport {
|
|
|
24
24
|
private authorityBindRoot;
|
|
25
25
|
private backoffMs;
|
|
26
26
|
private connectionGeneration;
|
|
27
|
+
private stateSyncCapabilityCache;
|
|
28
|
+
/** Returns the capability snapshot for the currently live SUBC connection. */
|
|
29
|
+
getCachedStateSyncCapabilities(): {
|
|
30
|
+
state_sync_deltas?: boolean;
|
|
31
|
+
} | undefined;
|
|
32
|
+
/** Clears the snapshot after a module signal that can change its wire capabilities. */
|
|
33
|
+
invalidateStateSyncCapabilities(): void;
|
|
27
34
|
stateSyncCapabilities(args: {
|
|
28
35
|
sessionId: string;
|
|
29
36
|
projectRoot: string;
|
|
@@ -31,7 +38,9 @@ export declare class SubcModuleTransport {
|
|
|
31
38
|
state_sync_deltas?: boolean;
|
|
32
39
|
}>;
|
|
33
40
|
constructor(connectionFile?: string, moduleId?: string, requestTimeoutMs?: number, routeSessionPrefix?: string);
|
|
41
|
+
private deadlineError;
|
|
34
42
|
private laneTimeoutError;
|
|
43
|
+
private beforeDeadline;
|
|
35
44
|
private laneRelease;
|
|
36
45
|
private dispatchNextLaneWaiter;
|
|
37
46
|
private acquireCorrectnessLane;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-transport.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/module-transport.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACR,sBAAsB,EACtB,eAAe,EACf,cAAc,EACjB,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"module-transport.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/module-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class RawFallbackContextLimitError extends Error {
|
|
2
|
+
readonly estimatedTokens: number;
|
|
3
|
+
readonly contextLimitTokens: number;
|
|
4
|
+
readonly code = "RAW_FALLBACK_CONTEXT_LIMIT";
|
|
5
|
+
readonly recoverable = true;
|
|
6
|
+
constructor(estimatedTokens: number, contextLimitTokens: number, options?: {
|
|
7
|
+
cause?: unknown;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=raw-fallback-context-limit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-fallback-context-limit.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/raw-fallback-context-limit.ts"],"names":[],"mappings":"AAAA,qBAAa,4BAA6B,SAAQ,KAAK;IAK/C,QAAQ,CAAC,eAAe,EAAE,MAAM;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IALvC,QAAQ,CAAC,IAAI,gCAAgC;IAC7C,QAAQ,CAAC,WAAW,QAAQ;gBAGf,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,MAAM,EACnC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-session-formatting.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-formatting.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;CACvB;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAiB/D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAUvD;AAED;4EAC4E;AAC5E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CA2BnE;
|
|
1
|
+
{"version":3,"file":"read-session-formatting.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-formatting.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;CACvB;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAiB/D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAUvD;AAED;4EAC4E;AAC5E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CA2BnE;AAuDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAW1D;AAED,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB1C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAS9E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AuthorityDrainResponse, type AuthorityStatus } from "../../features/magic-context/context-authority";
|
|
2
2
|
import type { getOrCreateSessionMeta } from "../../features/magic-context/storage";
|
|
3
|
+
import { type LkgContentField } from "./lkg-slot";
|
|
3
4
|
import { type ModuleCompartmentMirrorResponse, type ModuleStateSyncClient, type ModuleStateSyncState } from "./module-state-sync";
|
|
4
5
|
import type { RawMessageOrdinalAnchor } from "./read-session-raw";
|
|
5
6
|
import type { TransformDeps } from "./transform";
|
|
@@ -43,10 +44,9 @@ export interface RustModeModuleClient extends ModuleStateSyncClient {
|
|
|
43
44
|
closeSession?(sessionId: string): void;
|
|
44
45
|
getCompartmentsAfter?(sessionId: string, afterSequence: number): Promise<ModuleCompartmentMirrorResponse>;
|
|
45
46
|
}
|
|
46
|
-
type MessageContentField = string | number | boolean | symbol;
|
|
47
47
|
interface MessageContentSnapshot {
|
|
48
48
|
signature: string;
|
|
49
|
-
fields:
|
|
49
|
+
fields: LkgContentField[];
|
|
50
50
|
}
|
|
51
51
|
interface RustSessionState extends ModuleStateSyncState {
|
|
52
52
|
initialized: boolean;
|
|
@@ -74,6 +74,9 @@ interface RustSessionState extends ModuleStateSyncState {
|
|
|
74
74
|
memoryAuthorityRoot: string | null;
|
|
75
75
|
memoryAuthorityReady: boolean;
|
|
76
76
|
authorityMemorySyncSkipLogged?: boolean;
|
|
77
|
+
lkgCaptureSequence: number;
|
|
78
|
+
lkgLastCapturedRowVersion: number;
|
|
79
|
+
lkgSyncCaptureRequired: boolean;
|
|
77
80
|
}
|
|
78
81
|
export interface RustModeTransformOptions {
|
|
79
82
|
moduleClient: RustModeModuleClient;
|
|
@@ -90,6 +93,8 @@ export interface RustModeTransformOptions {
|
|
|
90
93
|
onProjectPrepared?: (projectPath: string) => void;
|
|
91
94
|
/** Test-only escape hatch for transform-wire tests without an authority transport. */
|
|
92
95
|
allowAuthorityProtocolBypassForTests?: boolean;
|
|
96
|
+
/** Override only for deterministic capture scheduling in tests. */
|
|
97
|
+
scheduleLkgCapture?: (capture: () => void) => void;
|
|
93
98
|
}
|
|
94
99
|
/** Capture an exact field snapshot plus its compact content-sensitive rolling hash. */
|
|
95
100
|
declare function messageContentSnapshot(message: MessageLike): MessageContentSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust-mode-transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/rust-mode-transform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rust-mode-transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/rust-mode-transform.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,sBAAsB,EAE3B,KAAK,eAAe,EAOvB,MAAM,gDAAgD,CAAC;AAIxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AA6BnF,OAAO,EAYH,KAAK,eAAe,EAIvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,KAAK,+BAA+B,EAEpC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAG5B,MAAM,qBAAqB,CAAC;AAS7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,qBAAa,+BAAgC,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,kCAAkC;gBAEnC,MAAM,EAAE,MAAM;CAM7B;AAED,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,mCAAmC,KAAK,CAAC;AAGtD,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAC/D,eAAe,CAAC,CAAC,IAAI,EAAE;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,iDAAiD;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;KAChC,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnD,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC1F,aAAa,CAAC,CACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAChF,UAAU,CAAC,CAAC,IAAI,EAAE;QACd,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,gDAAgD,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAC/F,aAAa,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,oBAAoB,CAAC,CACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC/C;AAED,UAAU,sBAAsB;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AA8BD,UAAU,gBAAiB,SAAQ,oBAAoB;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB;;gDAE4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,yBAAyB,EAAE,MAAM,CAAC;IAClC;4EACwE;IACxE,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0BAA0B,EAAE,OAAO,CAAC;IACpC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,sFAAsF;IACtF,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtD;AA6HD,uFAAuF;AACvF,iBAAS,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,sBAAsB,CAG5E;AAED,iBAAS,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,sBAAsB,EAAE,CAEvF;AAED,iBAAS,6BAA6B,CAClC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,sBAAsB,GACjC,OAAO,CAmBT;AAmDD,UAAU,eAAe;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAkBD,iBAAS,iBAAiB,CAAC,IAAI,EAAE;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC7B,GAAG,MAAM,CAcT;AAsKD,iBAAS,iCAAiC,CAAC,KAAK,EAAE;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,mBAAmB,GAAG,wBAAwB,GAAG,IAAI,CAAC;IACtE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/E,iBAAiB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD,yBAAyB,EAAE,MAAM,CAAC;CACrC,GAAG,aAAa,GAAG,oBAAoB,GAAG,IAAI,CAoB9C;AAED,iBAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAM9E;AAiED,iBAAe,0BAA0B,CAAC,IAAI,EAAE;IAC5C,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJhB;AAqDD,+EAA+E;AAC/E,wBAAgB,2BAA2B,CACvC,MAAM,EAAE;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,EAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,EAAE,CAcX;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACL,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqE1B;AAED,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,wBAAwB,GAClC;IACC,GAAG,EAAE,CACD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,EAC/B,WAAW,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,KACrD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAC/D,CAw1CA;AAED,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,EACrD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,EAAE;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,EAC/B,WAAW,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;CAqBnC,CAAC"}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./index-0c9dmw9m.js";
|
|
4
4
|
import {
|
|
5
5
|
waitForSafeNotificationTarget
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-tsgs7td8.js";
|
|
7
7
|
import {
|
|
8
8
|
log
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-f1tnb3vm.js";
|
|
10
10
|
import {
|
|
11
11
|
__require
|
|
12
12
|
} from "./index-wckvcay0.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
modelSupportsVision,
|
|
4
4
|
piModelRefToCanonical,
|
|
5
5
|
shouldEnforcePrivateStoragePermissions
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-wgvxkqpx.js";
|
|
7
7
|
import {
|
|
8
8
|
parseProviderModel
|
|
9
9
|
} from "./index-td9depx5.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
describeError,
|
|
12
12
|
getErrorMessage,
|
|
13
13
|
sendIgnoredMessage
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-nsx2n9eg.js";
|
|
15
15
|
import {
|
|
16
16
|
buildToolArcs,
|
|
17
17
|
buildTrueRawTokenIndex,
|
|
@@ -35,13 +35,13 @@ import {
|
|
|
35
35
|
readSessionChunk,
|
|
36
36
|
stableStringify,
|
|
37
37
|
updateSessionMeta
|
|
38
|
-
} from "./index-
|
|
38
|
+
} from "./index-z8v31d85.js";
|
|
39
39
|
import {
|
|
40
40
|
Database,
|
|
41
41
|
closeQuietly,
|
|
42
42
|
getMessageTimesFromOpenCodeDb,
|
|
43
43
|
withPrivilegedWriter
|
|
44
|
-
} from "./index-
|
|
44
|
+
} from "./index-3tnkymva.js";
|
|
45
45
|
import {
|
|
46
46
|
detectConfigFile
|
|
47
47
|
} from "./index-0c9dmw9m.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
import {
|
|
52
52
|
log,
|
|
53
53
|
sessionLog
|
|
54
|
-
} from "./index-
|
|
54
|
+
} from "./index-f1tnb3vm.js";
|
|
55
55
|
import {
|
|
56
56
|
ensureCortexKitArtifactGitignore,
|
|
57
57
|
getDataDir,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
getLegacyOpenCodeMagicContextStorageDir,
|
|
60
60
|
getMagicContextStorageDir,
|
|
61
61
|
getProjectMagicContextHistorianDir
|
|
62
|
-
} from "./index-
|
|
62
|
+
} from "./index-mmrhhk9a.js";
|
|
63
63
|
import {
|
|
64
64
|
__export,
|
|
65
65
|
__require
|
|
@@ -396,7 +396,6 @@ import {
|
|
|
396
396
|
cpSync,
|
|
397
397
|
existsSync as existsSync3,
|
|
398
398
|
mkdirSync,
|
|
399
|
-
mkdtempSync,
|
|
400
399
|
readdirSync,
|
|
401
400
|
readFileSync as readFileSync2,
|
|
402
401
|
statSync as statSync2,
|
|
@@ -2772,7 +2771,11 @@ var MIGRATIONS = [
|
|
|
2772
2771
|
updated_at INTEGER NOT NULL,
|
|
2773
2772
|
last_checked_at INTEGER,
|
|
2774
2773
|
ready_at INTEGER,
|
|
2775
|
-
ready_reason TEXT
|
|
2774
|
+
ready_reason TEXT,
|
|
2775
|
+
compiled_provider TEXT,
|
|
2776
|
+
compiled_config TEXT,
|
|
2777
|
+
compiled_at INTEGER,
|
|
2778
|
+
compile_status TEXT CHECK(compile_status IN ('compiled', 'plain', 'refused'))
|
|
2776
2779
|
);
|
|
2777
2780
|
CREATE INDEX IF NOT EXISTS idx_notes_session_status ON notes(session_id, status);
|
|
2778
2781
|
CREATE INDEX IF NOT EXISTS idx_notes_project_status ON notes(project_path, status);
|
|
@@ -4681,6 +4684,18 @@ var MIGRATIONS = [
|
|
|
4681
4684
|
return;
|
|
4682
4685
|
ensureColumn(db, "memories", "mural_cue_rejection_count", "INTEGER NOT NULL DEFAULT 0");
|
|
4683
4686
|
}
|
|
4687
|
+
},
|
|
4688
|
+
{
|
|
4689
|
+
version: 76,
|
|
4690
|
+
description: "persist retina provider compilation for smart-note conditions",
|
|
4691
|
+
up(db) {
|
|
4692
|
+
if (!tableExists2(db, "notes"))
|
|
4693
|
+
return;
|
|
4694
|
+
ensureColumn(db, "notes", "compiled_provider", "TEXT");
|
|
4695
|
+
ensureColumn(db, "notes", "compiled_config", "TEXT");
|
|
4696
|
+
ensureColumn(db, "notes", "compiled_at", "INTEGER");
|
|
4697
|
+
ensureColumn(db, "notes", "compile_status", "TEXT CHECK(compile_status IN ('compiled', 'plain', 'refused'))");
|
|
4698
|
+
}
|
|
4684
4699
|
}
|
|
4685
4700
|
];
|
|
4686
4701
|
var LATEST_MIGRATION_VERSION = MIGRATIONS.reduce((max, m) => Math.max(max, m.version), 0);
|
|
@@ -5148,7 +5163,7 @@ function getSchemaFenceRejection() {
|
|
|
5148
5163
|
function getMigrationOnOpenRefusal() {
|
|
5149
5164
|
return lastMigrationOnOpenRefusal;
|
|
5150
5165
|
}
|
|
5151
|
-
var LATEST_SUPPORTED_VERSION =
|
|
5166
|
+
var LATEST_SUPPORTED_VERSION = 76;
|
|
5152
5167
|
var PERMISSIONS_ENFORCEABLE = process.platform !== "win32";
|
|
5153
5168
|
var defaultStoragePermissionFs = { chmodSync, mkdirSync };
|
|
5154
5169
|
var storagePermissionFs = defaultStoragePermissionFs;
|
|
@@ -5184,12 +5199,6 @@ function resolveDatabasePath(dbPathOverride) {
|
|
|
5184
5199
|
if (dbPathOverride) {
|
|
5185
5200
|
return { dbDir: dirname(dbPathOverride), dbPath: dbPathOverride };
|
|
5186
5201
|
}
|
|
5187
|
-
const testDataDir = process.env.MAGIC_CONTEXT_TEST_DATA_DIR;
|
|
5188
|
-
if (testDataDir && !process.env.XDG_DATA_HOME) {
|
|
5189
|
-
const dbDir2 = join3(testDataDir, "cortexkit", "magic-context");
|
|
5190
|
-
return { dbDir: dbDir2, dbPath: join3(dbDir2, "context.db") };
|
|
5191
|
-
}
|
|
5192
|
-
if (false) {}
|
|
5193
5202
|
const dbDir = getMagicContextStorageDir();
|
|
5194
5203
|
return { dbDir, dbPath: join3(dbDir, "context.db") };
|
|
5195
5204
|
}
|
|
@@ -8250,6 +8259,11 @@ var NOTE_CHECK_STATUSES = new Set([
|
|
|
8250
8259
|
"failing",
|
|
8251
8260
|
"fallback"
|
|
8252
8261
|
]);
|
|
8262
|
+
var CONDITION_COMPILE_STATUSES = new Set([
|
|
8263
|
+
"compiled",
|
|
8264
|
+
"plain",
|
|
8265
|
+
"refused"
|
|
8266
|
+
]);
|
|
8253
8267
|
var DEFAULT_SMART_STATUSES = ["pending", "ready"];
|
|
8254
8268
|
function toNullableString(value) {
|
|
8255
8269
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
@@ -8272,6 +8286,10 @@ function toNote(row) {
|
|
|
8272
8286
|
sessionId: toNullableString(row.session_id),
|
|
8273
8287
|
projectPath: toNullableString(row.project_path),
|
|
8274
8288
|
surfaceCondition: toNullableString(row.surface_condition),
|
|
8289
|
+
compiledProvider: toNullableString(row.compiled_provider),
|
|
8290
|
+
compiledConfig: toNullableString(row.compiled_config),
|
|
8291
|
+
compiledAt: toNullableNumber(row.compiled_at),
|
|
8292
|
+
compileStatus: typeof row.compile_status === "string" && CONDITION_COMPILE_STATUSES.has(row.compile_status) ? row.compile_status : null,
|
|
8275
8293
|
createdAt: row.created_at,
|
|
8276
8294
|
updatedAt: row.updated_at,
|
|
8277
8295
|
lastCheckedAt: toNullableNumber(row.last_checked_at),
|
|
@@ -8351,7 +8369,7 @@ function getNotes(db, options = {}) {
|
|
|
8351
8369
|
}
|
|
8352
8370
|
function addNote(db, type, options) {
|
|
8353
8371
|
const now = Date.now();
|
|
8354
|
-
const result = type === "session" ? db.prepare("INSERT INTO notes (type, status, content, session_id, created_at, updated_at, harness, anchor_ordinal) VALUES ('session', 'active', ?, ?, ?, ?, ?, ?) RETURNING *").get(options.content, options.sessionId, now, now, getHarness(), options.anchorOrdinal ?? null) : db.prepare("INSERT INTO notes (type, status, content, session_id, project_path, surface_condition, created_at, updated_at, harness, anchor_ordinal) VALUES ('smart', 'pending', ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *").get(options.content, options.sessionId ?? null, options.projectPath, options.surfaceCondition, now, now, getHarness(), options.anchorOrdinal ?? null);
|
|
8372
|
+
const result = type === "session" ? db.prepare("INSERT INTO notes (type, status, content, session_id, created_at, updated_at, harness, anchor_ordinal) VALUES ('session', 'active', ?, ?, ?, ?, ?, ?) RETURNING *").get(options.content, options.sessionId, now, now, getHarness(), options.anchorOrdinal ?? null) : db.prepare("INSERT INTO notes (type, status, content, session_id, project_path, surface_condition, compiled_provider, compiled_config, compiled_at, compile_status, created_at, updated_at, harness, anchor_ordinal) VALUES ('smart', 'pending', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *").get(options.content, options.sessionId ?? null, options.projectPath, options.surfaceCondition, options.compiledProvider ?? null, options.compiledConfig ?? null, options.compiledAt ?? null, options.compileStatus ?? null, now, now, getHarness(), options.anchorOrdinal ?? null);
|
|
8355
8373
|
if (!isNoteRow(result)) {
|
|
8356
8374
|
throw new Error("[notes] failed to insert note");
|
|
8357
8375
|
}
|
|
@@ -8405,6 +8423,8 @@ function updateNote(db, noteId, updates, scope) {
|
|
|
8405
8423
|
}
|
|
8406
8424
|
if (smartConditionChanged) {
|
|
8407
8425
|
sets.push("status = 'pending'", "last_checked_at = NULL", "ready_at = NULL", "ready_reason = NULL");
|
|
8426
|
+
sets.push("compiled_provider = ?", "compiled_config = ?", "compiled_at = ?", "compile_status = ?");
|
|
8427
|
+
params.push(updates.compiledProvider ?? null, updates.compiledConfig ?? null, updates.compiledAt ?? null, updates.compileStatus ?? null);
|
|
8408
8428
|
if (noteCheckColumnsExist(db)) {
|
|
8409
8429
|
sets.push("compiled_check = NULL", "manifest_json = NULL", "check_hash = NULL", "check_cron = NULL", "check_version = 0", "check_status = 'uncompiled'", "check_failure_count = 0", "check_network_failure_count = 0", "check_quarantined_until = NULL", "check_next_due_at = NULL", "check_compiled_at = NULL", "check_false_since_at = NULL", "check_last_liveness_at = NULL");
|
|
8410
8430
|
}
|
|
@@ -10219,7 +10239,7 @@ var CTX_SEARCH_LIGHT_DESCRIPTION = `For ctx_search users, retrieve only hidden r
|
|
|
10219
10239
|
// src/shared/prompt-surface-runtime.ts
|
|
10220
10240
|
var GUIDANCE_MARKER = "## Magic Context";
|
|
10221
10241
|
var GUIDANCE_MARKER_LINE = /^## Magic Context[\t ]*\r?$/gm;
|
|
10222
|
-
var
|
|
10242
|
+
var ACTIVE_TOOL_IDS = [
|
|
10223
10243
|
"ctx_reduce",
|
|
10224
10244
|
"ctx_expand",
|
|
10225
10245
|
"ctx_note",
|
|
@@ -10237,7 +10257,7 @@ function promptSurfaceHashMaterial(systemContent, preset = "full") {
|
|
|
10237
10257
|
return preset === "full" ? systemContent : `${systemContent}
|
|
10238
10258
|
\x00magic-context-prompt-surface:${preset}`;
|
|
10239
10259
|
}
|
|
10240
|
-
var PROMPT_SURFACE_TOOL_ID_SET = new Set(
|
|
10260
|
+
var PROMPT_SURFACE_TOOL_ID_SET = new Set(ACTIVE_TOOL_IDS);
|
|
10241
10261
|
function resolveUserConfigDirectory(options) {
|
|
10242
10262
|
if (options.userConfigDirectory)
|
|
10243
10263
|
return resolve(options.userConfigDirectory);
|
|
@@ -26979,6 +26999,9 @@ var MagicContextConfigSchema = exports_external.object({
|
|
|
26979
26999
|
language: exports_external.string().trim().toLowerCase().refine((s) => isValidLanguageCode(s), 'language must be a 2-letter ISO 639-1 code (e.g. "tr", "es", "de")').optional().describe("Output language for Magic Context's generated content and guidance, as a " + '2-letter ISO 639-1 code (e.g. "tr", "es", "de", "ja", "pt"). When set, the ' + "historian, dreamer, sidekick, and the agent-guidance block instruct the model to " + "write its PROSE in this language while keeping all structural tokens (XML tags, " + "the five memory category names, code identifiers, file paths) in English. " + "USER-LEVEL ONLY (ignored in project config for security). Unset = today's " + "behavior (model mirrors the conversation; English scaffolding). Changing it " + "triggers one cache re-materialization; existing compartments/memories keep their " + "original language until naturally rewritten."),
|
|
26980
27000
|
historian: HistorianConfigSchema.describe("Historian agent configuration (model, fallback_models, variant, temperature, maxTokens, permission, two_pass, etc.)"),
|
|
26981
27001
|
dreamer: DreamerConfigSchema.optional().describe("Dreamer agent + scheduling configuration (model, fallback_models, disable, schedule, tasks, etc.)"),
|
|
27002
|
+
smart_notes: exports_external.object({
|
|
27003
|
+
retina_handoff: exports_external.boolean().default(false).describe("When true, dreamer skips smart notes whose surface conditions compiled to retina provider configs at authoring time. Default false keeps both paths active until the retina consumer is deployed.")
|
|
27004
|
+
}).default({ retina_handoff: false }).describe("Smart-note ownership transition controls."),
|
|
26982
27005
|
cache_ttl: exports_external.union([exports_external.string(), exports_external.object({ default: exports_external.string() }).catchall(exports_external.string())]).default("5m").describe('Cache TTL: string (e.g. "5m", "1h", "30s") or per-model object ({ default: "5m", "model-id": "10m" }). Set to "never" for lanes kept warm by an external keepwarm proxy — disables the idle-TTL heuristic so MC never initiates a rebuild based on elapsed time.'),
|
|
26983
27006
|
prompt_surface: PromptSurfaceConfigSchema.default({ default: "full" }).describe("Prompt-surface presets: default is full; models use the literal provider/model or provider/* routing grammar. Guidance and tool-description overrides are user-level only. On OpenCode and Pi, per-model routing applies to the guidance block only: tool descriptions are registered once per process, so they follow the default preset (a v1 plugin-surface limitation; per-model tool descriptions are planned for the OpenCode v2 plugin API once the SDK stabilizes)."),
|
|
26984
27007
|
output_reserve: exports_external.union([
|
|
@@ -41941,52 +41964,69 @@ function slotBytes(slot) {
|
|
|
41941
41964
|
const digestBytes = slot.inputContentDigests.reduce((total, digest) => total + 2 * digest.length, 0);
|
|
41942
41965
|
return 2 * slot.jsonPrefix.length + digestBytes + LKG_METADATA_BYTES;
|
|
41943
41966
|
}
|
|
41944
|
-
|
|
41945
|
-
|
|
41967
|
+
var LKG_SNAPSHOT_ARRAY = Symbol("array");
|
|
41968
|
+
var LKG_SNAPSHOT_OBJECT = Symbol("object");
|
|
41969
|
+
var LKG_SNAPSHOT_KEY = Symbol("key");
|
|
41970
|
+
var LKG_SNAPSHOT_STRING = Symbol("string");
|
|
41971
|
+
var LKG_SNAPSHOT_NUMBER = Symbol("number");
|
|
41972
|
+
var LKG_SNAPSHOT_BOOLEAN = Symbol("boolean");
|
|
41973
|
+
var LKG_SNAPSHOT_NULL = Symbol("null");
|
|
41974
|
+
var LKG_SNAPSHOT_UNDEFINED = Symbol("undefined");
|
|
41975
|
+
function lkgContentFields(value) {
|
|
41976
|
+
const fields = [];
|
|
41946
41977
|
const seen = new WeakSet;
|
|
41947
|
-
const visit = (
|
|
41948
|
-
if (
|
|
41949
|
-
|
|
41950
|
-
|
|
41951
|
-
|
|
41952
|
-
|
|
41953
|
-
|
|
41954
|
-
|
|
41955
|
-
|
|
41956
|
-
|
|
41957
|
-
|
|
41958
|
-
} else if (Array.isArray(
|
|
41959
|
-
if (seen.has(
|
|
41978
|
+
const visit = (child) => {
|
|
41979
|
+
if (child === null)
|
|
41980
|
+
fields.push(LKG_SNAPSHOT_NULL);
|
|
41981
|
+
else if (typeof child === "string")
|
|
41982
|
+
fields.push(LKG_SNAPSHOT_STRING, child);
|
|
41983
|
+
else if (typeof child === "number")
|
|
41984
|
+
fields.push(LKG_SNAPSHOT_NUMBER, child);
|
|
41985
|
+
else if (typeof child === "boolean")
|
|
41986
|
+
fields.push(LKG_SNAPSHOT_BOOLEAN, child);
|
|
41987
|
+
else if (child === undefined || typeof child === "function" || typeof child === "symbol") {
|
|
41988
|
+
fields.push(LKG_SNAPSHOT_UNDEFINED);
|
|
41989
|
+
} else if (Array.isArray(child)) {
|
|
41990
|
+
if (seen.has(child))
|
|
41960
41991
|
throw new Error("cyclic message");
|
|
41961
|
-
seen.add(
|
|
41962
|
-
|
|
41963
|
-
for (const
|
|
41964
|
-
visit(
|
|
41965
|
-
|
|
41966
|
-
|
|
41967
|
-
|
|
41968
|
-
if (seen.has(value))
|
|
41992
|
+
seen.add(child);
|
|
41993
|
+
fields.push(LKG_SNAPSHOT_ARRAY, child.length);
|
|
41994
|
+
for (const item of child)
|
|
41995
|
+
visit(item);
|
|
41996
|
+
seen.delete(child);
|
|
41997
|
+
} else if (typeof child === "object") {
|
|
41998
|
+
if (seen.has(child))
|
|
41969
41999
|
throw new Error("cyclic message");
|
|
41970
|
-
seen.add(
|
|
41971
|
-
const entries = Object.entries(
|
|
41972
|
-
|
|
41973
|
-
for (const [key,
|
|
41974
|
-
|
|
41975
|
-
visit(
|
|
41976
|
-
}
|
|
41977
|
-
|
|
41978
|
-
|
|
41979
|
-
|
|
41980
|
-
hash2.update(`X${typeof value};`);
|
|
41981
|
-
}
|
|
42000
|
+
seen.add(child);
|
|
42001
|
+
const entries = Object.entries(child).filter(([, entry]) => entry !== undefined && typeof entry !== "function" && typeof entry !== "symbol");
|
|
42002
|
+
fields.push(LKG_SNAPSHOT_OBJECT, entries.length);
|
|
42003
|
+
for (const [key, entry] of entries) {
|
|
42004
|
+
fields.push(LKG_SNAPSHOT_KEY, key);
|
|
42005
|
+
visit(entry);
|
|
42006
|
+
}
|
|
42007
|
+
seen.delete(child);
|
|
42008
|
+
} else
|
|
42009
|
+
fields.push(LKG_SNAPSHOT_UNDEFINED);
|
|
41982
42010
|
};
|
|
41983
42011
|
try {
|
|
41984
|
-
visit(
|
|
41985
|
-
return
|
|
42012
|
+
visit(value);
|
|
42013
|
+
return fields;
|
|
41986
42014
|
} catch {
|
|
41987
42015
|
return null;
|
|
41988
42016
|
}
|
|
41989
42017
|
}
|
|
42018
|
+
function lkgContentDigestFromFields(fields) {
|
|
42019
|
+
const hash2 = createHash15("sha256");
|
|
42020
|
+
for (const field of fields) {
|
|
42021
|
+
const value = typeof field === "symbol" ? field.description ?? "" : String(field);
|
|
42022
|
+
hash2.update(`${typeof field}:${value.length}:`).update(value).update("\x00");
|
|
42023
|
+
}
|
|
42024
|
+
return hash2.digest("base64url");
|
|
42025
|
+
}
|
|
42026
|
+
function lkgContentDigest(message) {
|
|
42027
|
+
const fields = lkgContentFields(message);
|
|
42028
|
+
return fields ? lkgContentDigestFromFields(fields) : null;
|
|
42029
|
+
}
|
|
41990
42030
|
function touch(sessionId, entry) {
|
|
41991
42031
|
slots.delete(sessionId);
|
|
41992
42032
|
slots.set(sessionId, entry);
|
|
@@ -41999,6 +42039,9 @@ function captureSlot(sessionId, slot) {
|
|
|
41999
42039
|
if (bytes > LKG_SINGLE_SLOT_BYTES)
|
|
42000
42040
|
return false;
|
|
42001
42041
|
const prior = slots.get(sessionId);
|
|
42042
|
+
if (prior?.slot.rowVersion !== undefined && slot.rowVersion !== undefined && (slot.rowVersion < prior.slot.rowVersion || slot.rowVersion === prior.slot.rowVersion && (slot.captureSequence ?? 0) < (prior.slot.captureSequence ?? 0))) {
|
|
42043
|
+
return false;
|
|
42044
|
+
}
|
|
42002
42045
|
if (prior)
|
|
42003
42046
|
totalBytes -= prior.bytes;
|
|
42004
42047
|
slots.delete(sessionId);
|
|
@@ -42308,4 +42351,4 @@ async function runUpgradeMemoryMigration(ctx, sessionId, migrationDirectory) {
|
|
|
42308
42351
|
}
|
|
42309
42352
|
}
|
|
42310
42353
|
|
|
42311
|
-
export { withContentLanguageDirective, buildPrimaryLanguageDirective, cortexKitUserConfigBasePath, cortexKitProjectConfigBasePath, resolveLegacyConfigSources, resolveLegacyConfigSourcesForHarness, migrateMagicContextConfigLocations, exports_external, DEFAULT_PROTECTED_TAGS, parseCron, nextOccurrence, nextDueAtMs, resolvePromptSurface, resolveModelConfigOrDefault, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, MagicContextConfigSchema, getOpenCodeDbPath, removeMcOwnedCompactionMarkers, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, getMirrorCursor, applyMirrorPage, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, recordToolDefinition, getMeasuredToolDefinitionTokens, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, openDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLease, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, clearRecompStaging, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, MAX_EXECUTE_THRESHOLD, escalationBands, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, getEmergencyRecoveryArmedAt, loadPersistedUsage, loadProtectedTailMeta, resetProtectedTailNoEligibleHead, getWrapupInProgressState, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getLastNudgeLevel, setLastNudgeLevel, resetLastNudgeCycle, resetLastNudgeCycleIfTailShrank, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, getNoteNudgeAnchors, getAutoSearchHintDecisions, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, pruneAutoSearchHintDecisions, removeNoteNudgeAnchorByMessageId, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, setNoteLastReadAt, getHistorianFailureState, clearHistorianFailureState, getOverflowState, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, clearPendingCompactionMarkerStateIf, peekDeferredExecutePending, setDeferredExecutePendingIfAbsent, clearDeferredExecutePendingIfMatches, getSessionsWithPendingMarker, setSessionWorkMetrics, getNotes, addNote, getSessionNotes, getPendingSmartNotes, getReadySmartNotes, updateNote, dismissNote, markNoteReady, markNoteChecked, queuePendingOp, getPendingOps, clearPendingOps, removePendingOp, PRIMER_CANDIDATE_TTL_MS, PRIMER_CANDIDATE_MAX_AGE_MS, primerOccurrenceKey, primerOccurrenceUtcDay, updatePrimerCandidateEmbedding, getPrimerCandidatesByIds, getPrimerCandidatesForPromotion, countPrimerCandidatesForProject, getActivePrimers, createPrimer, updatePrimerSupport, updatePrimerAnswer, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectMemoryEpoch, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, getActiveTagTokenAggregate, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, updateTagDropMode, updateCavemanDepth, updateTagMessageId, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, deriveTagLoadFloor, getTagsBySession, getActiveTagsBySession, getDroppedTagsBySession, getTagsByNumbers, getMaxDroppedTagNumber, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, createChildSessionWithFence, detectOverflow, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, extractLatestAssistantText, hasLengthCappedOutput, setKeepSubagents, shouldKeepSubagents, recordChildInvocation, COMPARTMENT_AGENT_SYSTEM_PROMPT, HISTORIAN_EDITOR_SYSTEM_PROMPT, COMPARTMENT_STRUCTURAL_SYSTEM_PROMPT, Priority, AdmissionClass, StaleRouteHandleError, SocketClosedError, SocketTimeoutError, SubcClient, isConsumerReconnectTransient, getCompartmentEvents, loadCompartmentChunkEmbeddingsForSearch, cosineSimilarity, SYNAPSE_DEFAULT_MODEL, SynapseEmbeddingProvider, computeNormalizedHash, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitTimeMs, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, saveEmbeddingIfHashMatches, getProjectEmbeddings, peekProjectEmbeddings, invalidateProject, invalidateMemory, markProjectLoadUntrusted, contentSha256, sweepStaleEmbeddingIdentitiesForProject, registerProjectEmbedding, registerProjectShadowEmbedding, getShadowEmbeddingMeasurementCohort, getPrimaryEmbeddingMeasurementCohort, embedShadowTextForProject, enqueueShadowEmbeddingItems, registerProjectInObservationMode, getProjectEmbeddingSnapshot, embedTextForProject, embedBatchForProject, embedItemsForProject, embedUnembeddedMemoriesForProject, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, isEmbeddingEnabled, embedText, ensureMemoryEmbeddings, computeCueContentHash, hasMuralCueColumns, getMuralCueState, memoryNeedsCue, setMuralCue, recordMuralCueRejection, hasMemoryShareableColumn, hasMemoryClassifiedAtColumn, getUnclassifiedMemoryIds, ModuleMemoryAuthorityError, insertMemory, insertMemoryIdempotent, getMemoryByHash, getMemoriesByProject, buildWorkspaceMemorySqlFilter, getMemoriesByProjects, getMaxMemoryIdForProjects, readNewMemoriesForM1Union, getMemoryById, getMemoriesByIds, updateMemorySeenCount, updateMemoryRetrievalCount, setMemoryClassification, supersededMemory, mergeMemoryStats, archiveMemory, getMemoryCountsByStatus, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, getMural, BoundedSessionMap, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, injectM0M1, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, lkgContentDigest, captureSlot, getSlot, dropSlot, noteEntry, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, isRecompFailure, isRecompSkip, isRecompComplete, extractRecompReason, contextualizeUpgradeReason, setRecompStarting, setRecompNote, setRecompTerminal, runManagedRecomp, runManagedUpgrade };
|
|
42354
|
+
export { withContentLanguageDirective, buildPrimaryLanguageDirective, cortexKitUserConfigBasePath, cortexKitProjectConfigBasePath, resolveLegacyConfigSources, resolveLegacyConfigSourcesForHarness, migrateMagicContextConfigLocations, exports_external, DEFAULT_PROTECTED_TAGS, parseCron, nextOccurrence, nextDueAtMs, resolvePromptSurface, resolveModelConfigOrDefault, DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE, DEFAULT_HISTORIAN_TIMEOUT_MS, DEFAULT_LOCAL_EMBEDDING_MODEL, MagicContextConfigSchema, getOpenCodeDbPath, removeMcOwnedCompactionMarkers, ProjectIdentityError, resolveProjectIdentityStrict, takeDubiousOwnershipProjectIdentityWarning, resolveProjectIdentity, resolveProjectIdentityForSession, normalizeStoredProjectPath, storedPathBelongsToIdentity, recordSessionProjectIdentity, beginBootQuietPeriod, bootQuietRemainingMs, scheduleAfterBootQuiet, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, registerModuleNoteEvaluationBridge, getModuleNoteEvaluationBridge, getContextStoreUuid, ensureContextStoreUuid, getAuthorityManagedMarker, reconcileAuthorityProject, checksumAuthoritySeedRows, prepareAuthority, drainAuthority, getMirrorCursor, applyMirrorPage, pullMemoryMirrorOnce, V2_MEMORY_CATEGORIES, CATEGORY_PRIORITY, resolveWorkspaceShareCategories, resolveWorkspaceIdentitySet, expandWorkspaceIdentitySetWithAliases, resolveStoredPathWorkspaceIdentity, storedPathBelongsToWorkspace, sourceNameForMemory, computeWorkspaceEpochFingerprint, recordToolDefinition, getMeasuredToolDefinitionTokens, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, openDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError, COMPARTMENT_LEASE_RENEWAL_MS, acquireCompartmentLease, renewCompartmentLease, releaseCompartmentLease, getCompartments, getLastCompartmentEndMessage, getLastCompartmentEndMessageId, clearRecompStaging, recordEmbeddingMeasurement, getMaxM0MutationId, queueMemoryMutation, getMemoryMutationsForRenderByProjects, getMaxMemoryMutationIdForProjects, MAX_EXECUTE_THRESHOLD, escalationBands, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, getEmergencyRecoveryArmedAt, loadPersistedUsage, loadProtectedTailMeta, resetProtectedTailNoEligibleHead, getWrapupInProgressState, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getLastNudgeLevel, setLastNudgeLevel, resetLastNudgeCycle, resetLastNudgeCycleIfTailShrank, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, getNoteNudgeAnchors, getAutoSearchHintDecisions, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, pruneAutoSearchHintDecisions, removeNoteNudgeAnchorByMessageId, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, setNoteLastReadAt, getHistorianFailureState, clearHistorianFailureState, getOverflowState, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, addProcessedImageStrippedIds, getPendingCompactionMarkerState, clearPendingCompactionMarkerStateIf, peekDeferredExecutePending, setDeferredExecutePendingIfAbsent, clearDeferredExecutePendingIfMatches, getSessionsWithPendingMarker, setSessionWorkMetrics, getNotes, addNote, getSessionNotes, getPendingSmartNotes, getReadySmartNotes, updateNote, dismissNote, markNoteReady, markNoteChecked, queuePendingOp, getPendingOps, clearPendingOps, removePendingOp, PRIMER_CANDIDATE_TTL_MS, PRIMER_CANDIDATE_MAX_AGE_MS, primerOccurrenceKey, primerOccurrenceUtcDay, updatePrimerCandidateEmbedding, getPrimerCandidatesByIds, getPrimerCandidatesForPromotion, countPrimerCandidatesForProject, getActivePrimers, createPrimer, updatePrimerSupport, updatePrimerAnswer, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, bumpProjectMemoryEpoch, bumpProjectUserProfileVersion, saveSourceContent, replaceSourceContent, getSourceContents, getActiveTagTokenAggregate, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, updateTagDropMode, updateCavemanDepth, updateTagMessageId, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, deriveTagLoadFloor, getTagsBySession, getActiveTagsBySession, getDroppedTagsBySession, getTagsByNumbers, getMaxDroppedTagNumber, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, createChildSessionWithFence, detectOverflow, promptSyncWithValidatedOutputRetry, normalizeSDKResponse, promptSurfaceHashMaterial, createPromptSurfaceRuntime, createPromptSurfaceGuidanceEpochCache, extractLatestAssistantText, hasLengthCappedOutput, setKeepSubagents, shouldKeepSubagents, recordChildInvocation, COMPARTMENT_AGENT_SYSTEM_PROMPT, HISTORIAN_EDITOR_SYSTEM_PROMPT, COMPARTMENT_STRUCTURAL_SYSTEM_PROMPT, Priority, AdmissionClass, StaleRouteHandleError, SocketClosedError, SocketTimeoutError, SubcClient, isConsumerReconnectTransient, getCompartmentEvents, loadCompartmentChunkEmbeddingsForSearch, cosineSimilarity, SYNAPSE_DEFAULT_MODEL, SynapseEmbeddingProvider, computeNormalizedHash, saveCommitEmbedding, loadProjectCommitEmbeddings, loadUnembeddedCommits, countEmbeddedCommits, upsertCommits, getLatestIndexedCommitTimeMs, enforceProjectCap, GIT_SWEEP_LEASE_RENEWAL_MS, acquireGitSweepLease, renewGitSweepLease, markGitSweepSuccessAndRelease, parkGitSweepNonIndexable, releaseGitSweepLease, saveEmbeddingIfHashMatches, getProjectEmbeddings, peekProjectEmbeddings, invalidateProject, invalidateMemory, markProjectLoadUntrusted, contentSha256, sweepStaleEmbeddingIdentitiesForProject, registerProjectEmbedding, registerProjectShadowEmbedding, getShadowEmbeddingMeasurementCohort, getPrimaryEmbeddingMeasurementCohort, embedShadowTextForProject, enqueueShadowEmbeddingItems, registerProjectInObservationMode, getProjectEmbeddingSnapshot, embedTextForProject, embedBatchForProject, embedItemsForProject, embedUnembeddedMemoriesForProject, drainCommitBacklogForProject, embedSessionCompartmentChunks, getEmbeddingCoverageStatus, isEmbeddingEnabled, embedText, ensureMemoryEmbeddings, computeCueContentHash, hasMuralCueColumns, getMuralCueState, memoryNeedsCue, setMuralCue, recordMuralCueRejection, hasMemoryShareableColumn, hasMemoryClassifiedAtColumn, getUnclassifiedMemoryIds, ModuleMemoryAuthorityError, insertMemory, insertMemoryIdempotent, getMemoryByHash, getMemoriesByProject, buildWorkspaceMemorySqlFilter, getMemoriesByProjects, getMaxMemoryIdForProjects, readNewMemoriesForM1Union, getMemoryById, getMemoriesByIds, updateMemorySeenCount, updateMemoryRetrievalCount, setMemoryClassification, supersededMemory, mergeMemoryStats, archiveMemory, getMemoryCountsByStatus, sanitizeFtsQuery, searchMemoriesFTS, searchMemoriesFTSUnion, recordMemoryMapping, recordMemoryVerifications, getUnmappedMemoryIds, clearMemoryVerifications, getMemoryVerifications, resolveGitTopLevel, readGitHead, readGitChangedFilesSince, readGitFileChangeTimesSince, verificationFileExists, normalizeVerificationFiles, USER_MEMORY_CANDIDATE_TTL_MS, insertUserMemoryCandidates, getUserMemoryCandidates, deleteUserMemoryCandidates, pruneExpiredUserMemoryCandidates, insertUserMemory, getActiveUserMemories, updateUserMemoryContent, dismissUserMemory, MARKER_SUMMARY_TEXT, applyDeferredCompactionMarker, removeCompactionMarkerForSession, checkCompactionMarkerConsistency, getMural, BoundedSessionMap, extractM0Block, formatDate, injectTemporalMarkers, clearInjectionCache, getVisibleMemoryIds, prepareCompartmentInjection, renderCompartmentInjection, mustMaterialize, trimMemoriesToBudgetV2, renderMemoryBlockV2, injectM0M1, onNoteTrigger, peekNoteNudgeText, markNoteNudgeDelivered, clearNoteNudgeTriggerAndCooldown, resetNoteNudgeCooldownOnly, clearNoteNudgeTriggerOnly, RECOVERY_NO_HEAD_LIMIT, resolveOpenCodeProtectedTailBoundary, resolveWrapupProtectedTailBoundary, getRawHistoryEligibility, hasRunnableCompartmentWindow, recordHighPressureNoEligibleHead, runCompartmentAgent, snapRangeToCompartments, LKG_SNAPSHOT_ARRAY, LKG_SNAPSHOT_OBJECT, LKG_SNAPSHOT_KEY, LKG_SNAPSHOT_STRING, LKG_SNAPSHOT_NUMBER, LKG_SNAPSHOT_BOOLEAN, LKG_SNAPSHOT_NULL, LKG_SNAPSHOT_UNDEFINED, lkgContentDigestFromFields, lkgContentDigest, captureSlot, getSlot, dropSlot, noteEntry, getActiveCompartmentRun, markActiveCompartmentRunPublished, registerActiveCompartmentRun, startCompartmentAgent, isRecompFailure, isRecompSkip, isRecompComplete, extractRecompReason, contextualizeUpgradeReason, setRecompStarting, setRecompNote, setRecompTerminal, runManagedRecomp, runManagedUpgrade };
|
|
@@ -5,7 +5,7 @@ function getHarness() {
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
// src/shared/data-path.ts
|
|
8
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { existsSync, mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs";
|
|
9
9
|
import * as os from "node:os";
|
|
10
10
|
import * as path from "node:path";
|
|
11
11
|
function getDataDir() {
|
|
@@ -54,6 +54,13 @@ function getOpenCodeStorageDir() {
|
|
|
54
54
|
return path.join(getDataDir(), "opencode", "storage");
|
|
55
55
|
}
|
|
56
56
|
function getMagicContextStorageDir() {
|
|
57
|
+
if (!process.env.XDG_DATA_HOME) {
|
|
58
|
+
const testDataDir = process.env.MAGIC_CONTEXT_TEST_DATA_DIR;
|
|
59
|
+
if (testDataDir) {
|
|
60
|
+
return path.join(testDataDir, "cortexkit", "magic-context");
|
|
61
|
+
}
|
|
62
|
+
if (false) {}
|
|
63
|
+
}
|
|
57
64
|
return path.join(getDataDir(), "cortexkit", "magic-context");
|
|
58
65
|
}
|
|
59
66
|
function getLegacyOpenCodeMagicContextStorageDir() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isMidTurn
|
|
3
|
-
} from "./index-
|
|
3
|
+
} from "./index-3tnkymva.js";
|
|
4
4
|
import {
|
|
5
5
|
sessionLog
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-f1tnb3vm.js";
|
|
7
7
|
import {
|
|
8
8
|
__require
|
|
9
9
|
} from "./index-wckvcay0.js";
|
|
@@ -171,7 +171,7 @@ async function sendIgnoredMessageNow(client, sessionId, text, params, forcePersi
|
|
|
171
171
|
queueIgnoredNotification({ client, sessionId, text, params, forcePersist });
|
|
172
172
|
return "queued";
|
|
173
173
|
}
|
|
174
|
-
const { waitForSafeNotificationTarget } = await import("./safe-notification-target-
|
|
174
|
+
const { waitForSafeNotificationTarget } = await import("./safe-notification-target-c11fdda2.js");
|
|
175
175
|
if (await waitForSafeNotificationTarget(client, sessionId) === "skip") {
|
|
176
176
|
sessionLog(sessionId, "notification skipped (session not titled yet)");
|
|
177
177
|
return "skipped";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionLog
|
|
3
|
-
} from "./index-
|
|
3
|
+
} from "./index-f1tnb3vm.js";
|
|
4
4
|
import {
|
|
5
5
|
getHarness,
|
|
6
6
|
getMagicContextStorageDir
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-mmrhhk9a.js";
|
|
8
8
|
|
|
9
9
|
// src/shared/models-dev-cache.ts
|
|
10
10
|
import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
@@ -22,8 +22,9 @@ function remapProviderPrefix(ref, map) {
|
|
|
22
22
|
if (slash <= 0)
|
|
23
23
|
return ref;
|
|
24
24
|
const provider = ref.slice(0, slash);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if (!Object.hasOwn(map, provider))
|
|
26
|
+
return ref;
|
|
27
|
+
return `${map[provider]}${ref.slice(slash)}`;
|
|
27
28
|
}
|
|
28
29
|
function piModelRefToCanonical(ref) {
|
|
29
30
|
return remapProviderPrefix(ref, PI_TO_CANONICAL_PROVIDER);
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
getRawSessionMessageCountFromDb,
|
|
4
4
|
openCodeDbExists,
|
|
5
5
|
withReadOnlySessionDb
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-3tnkymva.js";
|
|
7
7
|
import {
|
|
8
8
|
log
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-f1tnb3vm.js";
|
|
10
10
|
import {
|
|
11
11
|
getHarness
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-mmrhhk9a.js";
|
|
13
13
|
|
|
14
14
|
// src/features/magic-context/storage-meta-session.ts
|
|
15
15
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
@@ -151,11 +151,11 @@ var tokenizer;
|
|
|
151
151
|
function getTokenizer() {
|
|
152
152
|
if (tokenizer)
|
|
153
153
|
return tokenizer;
|
|
154
|
-
const tokenizerModule = requireFromThisModule("ai-tokenizer");
|
|
154
|
+
const tokenizerModule = requireFromThisModule("ai-" + "tokenizer");
|
|
155
155
|
const Tokenizer = tokenizerModule.default ?? tokenizerModule.Tokenizer;
|
|
156
156
|
if (!Tokenizer)
|
|
157
157
|
throw new Error("ai-tokenizer does not expose a Tokenizer constructor");
|
|
158
|
-
const claudeEncoding = requireFromThisModule("ai-tokenizer/encoding/claude");
|
|
158
|
+
const claudeEncoding = requireFromThisModule("ai-tokenizer/encoding/" + "claude");
|
|
159
159
|
tokenizer = new Tokenizer(claudeEncoding);
|
|
160
160
|
return tokenizer;
|
|
161
161
|
}
|