@cortexkit/opencode-magic-context 0.36.1 → 0.38.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 +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/project-security.d.ts +2 -1
- package/dist/config/project-security.d.ts.map +1 -1
- 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-mt0ttc4x.js → conflict-warning-hook-an4fxhwf.js} +3 -3
- package/dist/{derive-budgets-88mxk2w1.js → derive-budgets-da4yg3tz.js} +3 -2
- package/dist/features/magic-context/context-authority.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/classify-prompt.d.ts +5 -1
- package/dist/features/magic-context/dreamer/classify-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/manifest-parser.d.ts +8 -0
- package/dist/features/magic-context/dreamer/manifest-parser.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +7 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +18 -0
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -0
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts +5 -1
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/fail-closed-block.d.ts +6 -1
- package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts +3 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity.d.ts +6 -0
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
- package/dist/features/magic-context/reclaim-protection.d.ts +13 -0
- package/dist/features/magic-context/reclaim-protection.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/wake-plane.d.ts +21 -0
- package/dist/features/magic-context/smart-notes/wake-plane.d.ts.map +1 -0
- package/dist/features/magic-context/storage-db.d.ts +19 -3
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +23 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
- package/dist/features/magic-context/storage-primers.d.ts +11 -0
- package/dist/features/magic-context/storage-primers.d.ts.map +1 -1
- package/dist/features/magic-context/storage-schema-helpers.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tags.d.ts +13 -5
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/storage-user-memory.d.ts +7 -0
- package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
- package/dist/features/magic-context/window-report-ledger.d.ts +70 -0
- package/dist/features/magic-context/window-report-ledger.d.ts.map +1 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +8 -1
- package/dist/hooks/auto-update-checker/checker.d.ts.map +1 -1
- package/dist/hooks/auto-update-checker/index.d.ts.map +1 -1
- package/dist/hooks/magic-context/channel2-cycle.d.ts +16 -0
- package/dist/hooks/magic-context/channel2-cycle.d.ts.map +1 -0
- package/dist/hooks/magic-context/channel2-delivery.d.ts +3 -9
- package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts +2 -0
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +33 -103
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
- package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-resolvers.d.ts +4 -0
- package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
- package/dist/hooks/magic-context/execute-status.d.ts +3 -1
- package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
- package/dist/hooks/magic-context/fold-execution-gate.d.ts +2 -0
- package/dist/hooks/magic-context/fold-execution-gate.d.ts.map +1 -0
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/live-session-state.d.ts +3 -0
- package/dist/hooks/magic-context/live-session-state.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts +20 -0
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync.d.ts +8 -0
- package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts +6 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +21 -2
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/strip-content.d.ts +27 -0
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +78 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +14 -3
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +10 -0
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
- package/dist/{index-nsx2n9eg.js → index-4cz5nfxf.js} +3 -3
- package/dist/{index-f1tnb3vm.js → index-8pqfcghm.js} +21 -9
- package/dist/index-9zhhvr4w.js +733 -0
- package/dist/{index-zp6x6s6a.js → index-cae89eas.js} +25 -6
- package/dist/index-cgyfn1s2.js +53 -0
- package/dist/{index-3zqcdwqr.js → index-crke4z5j.js} +7 -4
- package/dist/{index-1skzp4dc.js → index-mmvhrqqb.js} +1991 -274
- package/dist/{index-tsgs7td8.js → index-pck9vadr.js} +1 -1
- package/dist/{index-3tnkymva.js → index-sw8gnq34.js} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1714 -988
- 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.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts +2 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/{recomp-orchestrator-a0g9b52q.js → recomp-orchestrator-jsde4ygw.js} +7 -6
- package/dist/{safe-notification-target-c11fdda2.js → safe-notification-target-b693f9x3.js} +2 -2
- package/dist/{send-session-notification-bgtf4853.js → send-session-notification-dxske5zm.js} +3 -3
- package/dist/shared/conflict-detector.d.ts +63 -0
- package/dist/shared/conflict-detector.d.ts.map +1 -1
- package/dist/shared/harness-provider-map.d.ts +8 -0
- package/dist/shared/harness-provider-map.d.ts.map +1 -1
- package/dist/shared/logger.d.ts +8 -0
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/models-dev-cache.d.ts +7 -0
- package/dist/shared/models-dev-cache.d.ts.map +1 -1
- package/dist/shared/prompt-surface-runtime.d.ts.map +1 -1
- package/dist/shared/prompt-surface.d.ts +2 -0
- package/dist/shared/prompt-surface.d.ts.map +1 -1
- package/dist/shared/rpc-client.d.ts.map +1 -1
- package/dist/shared/rpc-server.d.ts.map +1 -1
- package/dist/shared/rpc-types.d.ts +29 -0
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/rpc-utils.d.ts +28 -9
- package/dist/shared/rpc-utils.d.ts.map +1 -1
- package/dist/shared/tail-hygiene-status.d.ts +15 -0
- package/dist/shared/tail-hygiene-status.d.ts.map +1 -0
- package/dist/shared/window-geometry.d.ts +90 -0
- package/dist/shared/window-geometry.d.ts.map +1 -0
- package/dist/{storage-meta-session-df9tstzr.js → storage-meta-session-mk4gsnke.js} +4 -3
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/tools.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 +3 -1
- package/src/config/index.ts +2 -0
- package/src/config/latch-permanence-guard.test.ts +218 -0
- package/src/config/project-security.ts +10 -1
- package/src/config/schema/magic-context.ts +12 -2
- package/src/shared/__fixtures__/window-overlay.v1.json +337 -0
- package/src/shared/conflict-detector.test.ts +176 -1
- package/src/shared/conflict-detector.ts +126 -3
- package/src/shared/harness-provider-map.test.ts +20 -0
- package/src/shared/harness-provider-map.ts +19 -0
- package/src/shared/logger.test.ts +119 -0
- package/src/shared/logger.ts +33 -15
- package/src/shared/models-dev-cache.test.ts +42 -0
- package/src/shared/models-dev-cache.ts +62 -9
- package/src/shared/prompt-surface-runtime.ts +5 -3
- package/src/shared/prompt-surface.test.ts +38 -0
- package/src/shared/prompt-surface.ts +15 -2
- package/src/shared/rpc-client.ts +4 -2
- package/src/shared/rpc-server.ts +1 -0
- package/src/shared/rpc-types.ts +30 -0
- package/src/shared/rpc-utils.test.ts +162 -13
- package/src/shared/rpc-utils.ts +224 -31
- package/src/shared/tail-hygiene-status.ts +57 -0
- package/src/shared/window-geometry.test.ts +342 -0
- package/src/shared/window-geometry.ts +626 -0
- package/src/tui/data/context-db.ts +5 -0
- package/src/tui/index.tsx +33 -1
- package/src/tui/slots/sidebar-content.tsx +17 -5
- package/src/tui-compiled/data/context-db.ts +5 -0
- package/src/tui-compiled/index.tsx +359 -273
- package/src/tui-compiled/slots/sidebar-content.tsx +316 -287
- package/dist/index-wgvxkqpx.js +0 -342
|
@@ -44,6 +44,9 @@ export declare function buildMagicContextHookConfig(pluginConfig: MagicContextPl
|
|
|
44
44
|
default: number;
|
|
45
45
|
[modelKey: string]: number;
|
|
46
46
|
};
|
|
47
|
+
models?: {
|
|
48
|
+
window_overlay_path?: string;
|
|
49
|
+
};
|
|
47
50
|
toast_duration_ms?: number;
|
|
48
51
|
execute_threshold_tokens?: {
|
|
49
52
|
default?: number;
|
|
@@ -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;;;;;;;;;mBAE3C,CAAC;aAA2B,CAAC;aACtD,CAAC;eAA6B,CAAC;;;;;;;;;;;;;;;;;;;;;;;2BAyF+llB,CAAC;;;;eAA6iB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA7E1rmB;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;;;;;;;;;;;;;qBAArxE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAyx8D,CAAC;;;;;;;;;EAvC97hE;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;;;;;;;;;;;;;qBAArxE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAyx8D,CAAC;;;;;;;;;GAD97hE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,oBAAoB,EAI5B,MAAM,6CAA6C,CAAC;AAqBrD,KAAK,gBAAgB,GAAG;IACpB,IAAI,EAAE,OAAO,kBAAkB,EAAE,OAAO,CAAC;IACzC,KAAK,EAAE,OAAO,kBAAkB,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAEhE,KAAK,0BAA0B,GAAG;IAC9B,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,oBAAoB,EAI5B,MAAM,6CAA6C,CAAC;AAqBrD,KAAK,gBAAgB,GAAG;IACpB,IAAI,EAAE,OAAO,kBAAkB,EAAE,OAAO,CAAC;IACzC,KAAK,EAAE,OAAO,kBAAkB,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAEhE,KAAK,0BAA0B,GAAG;IAC9B,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,IAAI,CAAC;AAiCT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE,0BAA0B,CAAC;IACzC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,0BAA0B,CAAC;IACnD,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgMjG"}
|
|
@@ -4,11 +4,13 @@ import type { LiveSessionState } from "../hooks/magic-context/live-session-state
|
|
|
4
4
|
import type { RustModeModuleClient } from "../hooks/magic-context/rust-mode-transform";
|
|
5
5
|
import type { MagicContextRpcServer } from "../shared/rpc-server";
|
|
6
6
|
import type { SidebarSnapshot, StatusDetail } from "../shared/rpc-types";
|
|
7
|
+
import { type WireTailHygieneBaseline } from "../shared/tail-hygiene-status";
|
|
7
8
|
export interface RustSessionStatus {
|
|
8
9
|
usage?: {
|
|
9
10
|
current_total_input_tokens?: number;
|
|
10
11
|
context_limit_tokens?: number;
|
|
11
12
|
};
|
|
13
|
+
tail_hygiene?: WireTailHygieneBaseline | null;
|
|
12
14
|
boundary_present?: boolean;
|
|
13
15
|
coverage_ordinal?: number | null;
|
|
14
16
|
compartment_count?: number;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAWzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAmB3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAavF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2GD,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAsWjB;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAiOd;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C,GACF,IAAI,CA2PN"}
|
|
@@ -9,15 +9,16 @@ import {
|
|
|
9
9
|
setRecompNote,
|
|
10
10
|
setRecompStarting,
|
|
11
11
|
setRecompTerminal
|
|
12
|
-
} from "./index-
|
|
13
|
-
import"./index-
|
|
12
|
+
} from "./index-mmvhrqqb.js";
|
|
13
|
+
import"./index-9zhhvr4w.js";
|
|
14
14
|
import"./index-td9depx5.js";
|
|
15
|
-
import"./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
15
|
+
import"./index-4cz5nfxf.js";
|
|
16
|
+
import"./index-crke4z5j.js";
|
|
17
|
+
import"./index-cgyfn1s2.js";
|
|
18
|
+
import"./index-sw8gnq34.js";
|
|
18
19
|
import"./index-8mtsfhyg.js";
|
|
19
20
|
import"./index-d62ypazr.js";
|
|
20
|
-
import"./index-
|
|
21
|
+
import"./index-8pqfcghm.js";
|
|
21
22
|
import"./index-mmrhhk9a.js";
|
|
22
23
|
import"./index-wckvcay0.js";
|
|
23
24
|
export {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isDefaultSessionTitle,
|
|
3
3
|
waitForSafeNotificationTarget
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-pck9vadr.js";
|
|
5
|
+
import"./index-8pqfcghm.js";
|
|
6
6
|
import"./index-mmrhhk9a.js";
|
|
7
7
|
import"./index-wckvcay0.js";
|
|
8
8
|
export {
|
package/dist/{send-session-notification-bgtf4853.js → send-session-notification-dxske5zm.js}
RENAMED
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
flushIgnoredMessages,
|
|
6
6
|
sendIgnoredMessage,
|
|
7
7
|
sendUserPrompt
|
|
8
|
-
} from "./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
8
|
+
} from "./index-4cz5nfxf.js";
|
|
9
|
+
import"./index-sw8gnq34.js";
|
|
10
|
+
import"./index-8pqfcghm.js";
|
|
11
11
|
import"./index-mmrhhk9a.js";
|
|
12
12
|
import"./index-wckvcay0.js";
|
|
13
13
|
export {
|
|
@@ -24,6 +24,17 @@ export interface ConflictResult {
|
|
|
24
24
|
prune: boolean;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolved native compaction state, as reported by the host's own config
|
|
29
|
+
* resolution (ctx.client.config.get() — the same object `opencode debug
|
|
30
|
+
* config` prints). `auto`/`prune` are booleans; the OpenCode schema annotates
|
|
31
|
+
* `auto` with default `true` and `prune` with default `false`, so an absent
|
|
32
|
+
* compaction block resolves to `{ auto: true, prune: false }`.
|
|
33
|
+
*/
|
|
34
|
+
export interface ResolvedCompaction {
|
|
35
|
+
auto: boolean;
|
|
36
|
+
prune: boolean;
|
|
37
|
+
}
|
|
27
38
|
/**
|
|
28
39
|
* Options for {@link detectConflicts}.
|
|
29
40
|
*
|
|
@@ -36,6 +47,13 @@ export interface ConflictResult {
|
|
|
36
47
|
* omit it and accept the default `true` (mode-on) behavior, which preserves
|
|
37
48
|
* today's conflict semantics; it must never silently skip the check.
|
|
38
49
|
*
|
|
50
|
+
* `resolvedCompaction` is the host's RESOLVED native compaction state
|
|
51
|
+
* (fetched via {@link resolveCompactionForBoot}). When present, the
|
|
52
|
+
* file-based {@link checkCompaction} is NOT called — the resolved values are
|
|
53
|
+
* used directly. Absent means the file-based fallback is used. The
|
|
54
|
+
* OPENCODE_DISABLE_AUTOCOMPACT env short-circuit is applied on top of
|
|
55
|
+
* whichever arm produced the value.
|
|
56
|
+
*
|
|
39
57
|
* When `compactionEnabled` is `false` (compaction-off mode), OpenCode
|
|
40
58
|
* `compaction.auto=true` / `compaction.prune=true` are NOT plugin-disabling
|
|
41
59
|
* conflicts — native compaction is the user's chosen window manager. DCP
|
|
@@ -44,6 +62,7 @@ export interface ConflictResult {
|
|
|
44
62
|
*/
|
|
45
63
|
export interface DetectConflictsOptions {
|
|
46
64
|
compactionEnabled?: boolean;
|
|
65
|
+
resolvedCompaction?: ResolvedCompaction;
|
|
47
66
|
}
|
|
48
67
|
/**
|
|
49
68
|
* Detect all conflicts that would prevent magic-context from working correctly.
|
|
@@ -53,8 +72,52 @@ export interface DetectConflictsOptions {
|
|
|
53
72
|
* When `false` (compaction-off mode), native `compaction.auto`/`prune` are
|
|
54
73
|
* reported in {@link ConflictResult.nativeCompaction} but are NOT flagged as
|
|
55
74
|
* conflicts — native compaction is the intended window manager in that mode.
|
|
75
|
+
*
|
|
76
|
+
* `resolvedCompaction` (optional) is the host's RESOLVED native compaction
|
|
77
|
+
* state from {@link resolveCompactionForBoot}. When present it is used
|
|
78
|
+
* directly and the file-based {@link checkCompaction} is skipped; when absent
|
|
79
|
+
* the file-based fallback runs unchanged.
|
|
56
80
|
*/
|
|
57
81
|
export declare function detectConflicts(directory: string, options?: DetectConflictsOptions): ConflictResult;
|
|
82
|
+
/**
|
|
83
|
+
* Minimal shape of the OpenCode SDK client's `config.get()` response. The
|
|
84
|
+
* SDK's generated `Config` type does not declare a `compaction` field (the
|
|
85
|
+
* schema lives in OpenCode's core config, not the SDK surface), so we read it
|
|
86
|
+
* defensively at runtime. `config.get()` returns a `RequestResult` whose
|
|
87
|
+
* `data` is the resolved config object — the same object `opencode debug
|
|
88
|
+
* config` prints. The `data` is typed as `unknown` here so the real SDK client
|
|
89
|
+
* (whose `Config` has no `compaction` key) is structurally assignable.
|
|
90
|
+
*/
|
|
91
|
+
export interface OpencodeConfigClientLike {
|
|
92
|
+
config: {
|
|
93
|
+
get: () => Promise<{
|
|
94
|
+
data?: unknown;
|
|
95
|
+
}>;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Fetch the host's RESOLVED native compaction state from the OpenCode SDK
|
|
100
|
+
* client (`ctx.client.config.get()`). This is the authority for the plugin's
|
|
101
|
+
* conflict decision (issue #309): the file-based re-derivation cannot see
|
|
102
|
+
* every layer OpenCode folds in (env-var config path, managed configs,
|
|
103
|
+
* multi-file merge), so any user whose `auto=false` lives in a layer we don't
|
|
104
|
+
* read would be wrongly flagged. We never re-derive what the host will tell
|
|
105
|
+
* us.
|
|
106
|
+
*
|
|
107
|
+
* A response WITHOUT a compaction block is INCONCLUSIVE, not "host defaults
|
|
108
|
+
* apply": a server whose `/config` shape drifted (OpenCode Desktop bundles
|
|
109
|
+
* its own server version) or a fetch racing boot returns data with no
|
|
110
|
+
* `compaction` key, and reading that absence as `auto=true` disables the
|
|
111
|
+
* plugin — the one wrong direction, because a false disable leaves NOTHING
|
|
112
|
+
* managing the window and every long session overflows (issue #309, second
|
|
113
|
+
* arm). Only an explicit boolean from the host resolves this arm; anything
|
|
114
|
+
* else returns `null` so the caller falls back to the file-based check,
|
|
115
|
+
* which reads the layers the user actually wrote.
|
|
116
|
+
*
|
|
117
|
+
* Returns `null` when the fetch fails, times out (bounded to `timeoutMs` so
|
|
118
|
+
* boot never hangs), or serves no explicit compaction block.
|
|
119
|
+
*/
|
|
120
|
+
export declare function resolveCompactionForBoot(client: OpencodeConfigClientLike, timeoutMs?: number): Promise<ResolvedCompaction | null>;
|
|
58
121
|
/**
|
|
59
122
|
* Canonical npm package names that represent the conflicting plugin.
|
|
60
123
|
* Matched against the npm-style segment of each plugin entry, so:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/shared/conflict-detector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/shared/conflict-detector.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,cAAc;IAC3B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE;QACP,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,uBAAuB,EAAE,OAAO,CAAC;QACjC,uBAAuB,EAAE,OAAO,CAAC;QACjC,oBAAoB,EAAE,OAAO,CAAC;KACjC,CAAC;IACF;;;;;;OAMG;IACH,gBAAgB,EAAE;QACd,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,sBAAsB;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,sBAAsB,GACjC,cAAc,CAmFhB;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KAC1C,CAAC;CACL;AAaD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,wBAAwB,EAChC,SAAS,SAAQ,GAClB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAwBpC;AA0ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,aAAuC,CAAC;AAOtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAoBtF;AAED;;;;iEAIiE;AACjE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI/D;AAwCD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,aAAiD,CAAC;AA2FhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAWlE"}
|
|
@@ -36,6 +36,14 @@ export declare function piModelRefToCanonical(ref: string): string;
|
|
|
36
36
|
* Pi. Idempotent: normalizes any Pi-form prefix back to canonical first, so it
|
|
37
37
|
* is safe on a config that already holds Pi-form ids (hand-edited or pre-fix). */
|
|
38
38
|
export declare function resolveModelRefForPi(ref: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Return every known spelling of a model reference with the canonical shared
|
|
41
|
+
* form first. The raw input remains the first fallback, so a single config file
|
|
42
|
+
* works on every harness: canonical wins when both spellings are present, while
|
|
43
|
+
* Pi/OMP-native provider ids are still accepted at the read edge. Unknown
|
|
44
|
+
* providers pass through unchanged and therefore produce one candidate.
|
|
45
|
+
*/
|
|
46
|
+
export declare function modelRefLookupOrder(ref: string): string[];
|
|
39
47
|
/** OMP-native selector -> canonical shared-config model reference. */
|
|
40
48
|
export declare function ompModelRefToCanonical(ref: string): string;
|
|
41
49
|
/** Canonical shared-config model reference -> OMP-native selector. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-provider-map.d.ts","sourceRoot":"","sources":["../../src/shared/harness-provider-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAoCH;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;mFAEmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
1
|
+
{"version":3,"file":"harness-provider-map.d.ts","sourceRoot":"","sources":["../../src/shared/harness-provider-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAoCH;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;mFAEmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
package/dist/shared/logger.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
export interface LoggerDiagnostics {
|
|
2
|
+
swallowedWriteCount: number;
|
|
3
|
+
lastErrorMessage: string | null;
|
|
4
|
+
lastErrorTime: string | null;
|
|
5
|
+
}
|
|
1
6
|
export declare function log(message: string, data?: unknown): void;
|
|
2
7
|
export declare function sessionLog(sessionId: string, message: string, data?: unknown): void;
|
|
8
|
+
export declare function getLoggerDiagnostics(): LoggerDiagnostics;
|
|
9
|
+
/** Flush buffered log entries immediately. Primarily useful to diagnostic readers and tests. */
|
|
10
|
+
export declare function flushLogger(): void;
|
|
3
11
|
/**
|
|
4
12
|
* Resolve the current log file path. The path is harness-aware (see
|
|
5
13
|
* {@link getMagicContextLogPath}) and re-evaluated on every call, so callers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA6CD,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAmBzD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEnF;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED,gGAAgG;AAChG,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
* for Pi and Pi's own path is used.
|
|
26
26
|
*/
|
|
27
27
|
import type { ContextLimitProvenance } from "./context-limit-provenance";
|
|
28
|
+
import { type WindowGeometryResult } from "./window-geometry";
|
|
28
29
|
interface OpencodeClientLike {
|
|
29
30
|
config: {
|
|
30
31
|
providers: () => Promise<{
|
|
@@ -49,6 +50,8 @@ export interface ModelLimit {
|
|
|
49
50
|
input?: number;
|
|
50
51
|
output?: number;
|
|
51
52
|
}
|
|
53
|
+
/** Resolve the user-tier output reservation for one runtime model. */
|
|
54
|
+
export declare function resolveOutputReserve(providerID: string, modelID: string, config?: OutputReserveConfig | undefined): number | undefined;
|
|
52
55
|
/** Set the user-tier reservation override shared by every resolved-limit consumer. */
|
|
53
56
|
export declare function setOutputReserveConfig(config: OutputReserveConfig | undefined): void;
|
|
54
57
|
/**
|
|
@@ -125,6 +128,10 @@ export declare function resetAuthRewarmLatchForTest(): void;
|
|
|
125
128
|
* `ctx.model.contextWindow`), so for Pi this returns `undefined` and Pi's
|
|
126
129
|
* own resolution path is used.
|
|
127
130
|
*/
|
|
131
|
+
export declare function getSdkWindowGeometry(providerID: string, modelID: string, detectedContextLimit?: number, options?: {
|
|
132
|
+
detectedLimitProvenance?: ContextLimitProvenance;
|
|
133
|
+
harness?: "opencode" | "pi";
|
|
134
|
+
}): WindowGeometryResult | undefined;
|
|
128
135
|
export declare function getSdkContextLimit(providerID: string, modelID: string, detectedContextLimit?: number, options?: {
|
|
129
136
|
reservation?: "default" | "none";
|
|
130
137
|
detectedLimitProvenance?: ContextLimitProvenance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-surface-runtime.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,aAAa,EAGrB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-surface-runtime.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,aAAa,EAGrB,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAE3B,MAAM,kBAAkB,CAAC;AAK1B;;;;GAIG;AACH,eAAO,MAAM,eAAe,+EAMlB,CAAC;AAEX,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,+EAAkB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,uBAAuB;;;;;;CAM8B,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,mBAA4B,GACrC,MAAM,CAIR;AAID,MAAM,WAAW,8BAA8B;IAC3C,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IAC/C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;CACvE;AAED,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,EAAE,CACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,KACtC,kCAAkC,CAAC;IACxC,eAAe,EAAE,CACb,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;CACvC;AAED,MAAM,WAAW,iCAAiC;IAC9C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAwBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,iCAAiC,GAC3C,oBAAoB,CAkGtB;AAQD,uFAAuF;AACvF,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,oBAAoB,GAAG;IAClF,OAAO,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;IACpC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAmBA"}
|
|
@@ -26,6 +26,8 @@ export interface ModelKeyCandidate {
|
|
|
26
26
|
* provider/model boundary is the first slash; the rest of the string remains
|
|
27
27
|
* the model ID, including additional slashes. Candidates are case-sensitive.
|
|
28
28
|
*
|
|
29
|
+
* Known harness provider aliases are checked canonical-first at each specificity,
|
|
30
|
+
* so one shared config works on every harness and canonical wins on collisions.
|
|
29
31
|
* Provider wildcards are checked after progressively less-specific model keys,
|
|
30
32
|
* but before the caller's default. That keeps an exact or base-model override
|
|
31
33
|
* authoritative while still allowing `provider/*` to cover otherwise-unlisted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-surface.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt-surface.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface.ts"],"names":[],"mappings":"AAEA,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAW3F;AAED,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtF,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAyBjE;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,EAAE,CAoCrF;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,CAAC,EACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,EAC/C,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC7B;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,GAAG,SAAS,CAWxD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC7B;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAA;CAAE,CASxE;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CAAC,CAAC,EACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,CAAC,GACZ,CAAC,CAEH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-client.ts"],"names":[],"mappings":"AAiBA,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC;IAwDb,4CAA4C;IACtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;;yEAGqE;IAC/D,eAAe,IAAI,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,GAAG,IAAI,CAAC;YAYK,WAAW;IAwBzB,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-client.ts"],"names":[],"mappings":"AAiBA,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC;IAwDb,4CAA4C;IACtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;;yEAGqE;IAC/D,eAAe,IAAI,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,GAAG,IAAI,CAAC;YAYK,WAAW;IAwBzB,OAAO,CAAC,aAAa;YAiCP,WAAW;YAoBX,gBAAgB;IAU9B,KAAK,IAAI,IAAI;CAMhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-server.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-server.ts"],"names":[],"mappings":"AAuBA,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AA8CxF;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAsC;IAMrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc-server.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-server.ts"],"names":[],"mappings":"AAuBA,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AA8CxF;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAsC;IAMrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAsG9B,6EAA6E;IAC7E,IAAI,IAAI,IAAI;IAuBZ,OAAO,CAAC,uBAAuB;IAgB/B;+CAC2C;YAC7B,WAAW;IAyDzB;wFACoF;IACpF,OAAO,CAAC,eAAe;CA8H1B"}
|
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
* Both sides import these — no SQLite dependency.
|
|
4
4
|
*/
|
|
5
5
|
import type { DreamTaskBacklogMap, DreamTaskProgress } from "../features/magic-context/dreamer/task-registry";
|
|
6
|
+
import type { LoggerDiagnostics } from "./logger";
|
|
7
|
+
export interface TailHygieneStatus {
|
|
8
|
+
/** Tokens in active, non-protected tail content that the agent can reclaim. */
|
|
9
|
+
u: number;
|
|
10
|
+
/** Tokens in rendered-tail content eligible for hygiene accounting in the same scan. */
|
|
11
|
+
t: number;
|
|
12
|
+
/** Reclaimable-to-eligible token ratio, clamped to 0–1 and shared by both nudge mechanisms. */
|
|
13
|
+
severity: number;
|
|
14
|
+
/** False until a fresh scan runs after existing tail content changes, preventing stale measurements. */
|
|
15
|
+
evaluable: boolean;
|
|
16
|
+
generationInvalidated: boolean;
|
|
17
|
+
baselineGeneration: number;
|
|
18
|
+
computedAt: number;
|
|
19
|
+
}
|
|
6
20
|
export interface SidebarSnapshot {
|
|
7
21
|
sessionId: string;
|
|
8
22
|
usagePercentage: number;
|
|
@@ -72,6 +86,8 @@ export interface SidebarSnapshot {
|
|
|
72
86
|
* shows this as "Tool Definitions".
|
|
73
87
|
*/
|
|
74
88
|
toolDefinitionTokens: number;
|
|
89
|
+
/** Persisted reclaimable (U) and eligible (T) token counts used by both nudge mechanisms. */
|
|
90
|
+
tailHygiene?: TailHygieneStatus;
|
|
75
91
|
/**
|
|
76
92
|
* Effective execute-threshold percentage for this session's active model,
|
|
77
93
|
* after per-model resolution and the tokens→percentage conversion (when
|
|
@@ -132,6 +148,17 @@ export interface StatusDetail extends SidebarSnapshot {
|
|
|
132
148
|
operation: string;
|
|
133
149
|
}>;
|
|
134
150
|
contextLimit: number;
|
|
151
|
+
windowGeometry?: {
|
|
152
|
+
usableSoft: number;
|
|
153
|
+
usableHard: number;
|
|
154
|
+
geometry: "shared_upfront" | "shared_truncating" | "separate";
|
|
155
|
+
derivation: {
|
|
156
|
+
window: number;
|
|
157
|
+
reserve: number;
|
|
158
|
+
reserveSource: "output_catalog" | "output_config" | "wall_margin" | "none";
|
|
159
|
+
geometry: "shared_upfront" | "shared_truncating" | "separate";
|
|
160
|
+
};
|
|
161
|
+
};
|
|
135
162
|
/**
|
|
136
163
|
* Parsed cache TTL in ms. -1 = never expires (cacheTtl "never"; Infinity
|
|
137
164
|
* cannot ride JSON-RPC and 0 would be indistinguishable from unset). The
|
|
@@ -170,6 +197,8 @@ export interface StatusDetail extends SidebarSnapshot {
|
|
|
170
197
|
present: boolean;
|
|
171
198
|
ageMs: number | null;
|
|
172
199
|
};
|
|
200
|
+
/** Runtime logger write failures observed by this plugin process. */
|
|
201
|
+
loggerDiagnostics: LoggerDiagnostics;
|
|
173
202
|
/**
|
|
174
203
|
* Stable storage-version probe: "which schema is the DB at, which fence does
|
|
175
204
|
* this binary carry". Field names are deliberately snake_case, mirroring the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
+
export type ProcessKind = "OpenCode server" | "OpenCode instance (TUI/CLI)" | "Pi" | "process";
|
|
3
4
|
export interface RpcPortFileRecord {
|
|
4
5
|
port: number;
|
|
5
6
|
pid: number;
|
|
6
7
|
started_at: number;
|
|
8
|
+
/** Optional producer-provided kind; older records omit it. */
|
|
9
|
+
kind?: string;
|
|
10
|
+
/** Compatibility with discovery records that used the harness name. */
|
|
11
|
+
harness?: string;
|
|
7
12
|
/**
|
|
8
13
|
* Per-process bearer token. The server requires it on all non-health RPC
|
|
9
14
|
* calls so a random local process or browser-origin script that merely
|
|
@@ -27,20 +32,34 @@ export declare function rpcPortDir(storageDir: string, directory: string): strin
|
|
|
27
32
|
export declare function rpcPortFilePath(storageDir: string, directory: string, pid?: number, instanceId?: string): string;
|
|
28
33
|
/** Legacy single-port file used by v0.18.0 and earlier. */
|
|
29
34
|
export declare function legacyRpcPortFilePath(storageDir: string, directory: string): string;
|
|
30
|
-
export
|
|
35
|
+
export type PidLiveness = "alive" | "dead" | "inconclusive";
|
|
36
|
+
/**
|
|
37
|
+
* Check whether the platform confirms a PID is live without treating a denied
|
|
38
|
+
* probe as confirmation. Windows uses tasklist because MSYS2/Cygwin ps does not
|
|
39
|
+
* support the options used by the Unix probe. Sandboxes commonly reject
|
|
40
|
+
* `kill(pid, 0)` with EPERM even when the PID does not exist outside their view.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isPidAlive(pid: number): PidLiveness;
|
|
43
|
+
/** Reuse the platform-gated command probes used by PID identity checks. */
|
|
44
|
+
export declare function readProcessCommand(pid: number): string | null;
|
|
45
|
+
/** Classify a process command without changing the liveness decision. */
|
|
46
|
+
export declare function classifyProcessKind(command: string | null | undefined): ProcessKind;
|
|
31
47
|
/**
|
|
32
48
|
* Verify that a live PID still belongs to the process that wrote a port record.
|
|
33
49
|
*
|
|
34
50
|
* A PID can be reused after its original process exits. On Linux, procfs gives
|
|
35
|
-
* us a process start time without spawning a helper;
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
51
|
+
* us a process start time without spawning a helper; macOS and other Unix-like
|
|
52
|
+
* platforms use `ps`, while Windows uses `tasklist`, only on this cold
|
|
53
|
+
* database-open guard path. Legacy records without a start time use a weaker
|
|
54
|
+
* command-name check. A failed filesystem or process probe is inconclusive,
|
|
55
|
+
* not proof that this port record still belongs to OpenCode.
|
|
39
56
|
*/
|
|
40
|
-
export
|
|
57
|
+
export type PidIdentityPlausibility = "plausible" | "implausible" | "inconclusive";
|
|
58
|
+
export declare function isPidIdentityPlausible(record: RpcPortFileRecord): PidIdentityPlausibility;
|
|
41
59
|
export declare function __setRpcIdentityTestHooks(hooks: {
|
|
42
60
|
readFileSync?: typeof readFileSync;
|
|
43
61
|
execFileSync?: typeof execFileSync;
|
|
62
|
+
processKill?: typeof process.kill;
|
|
44
63
|
processListExecFileSync?: typeof execFileSync;
|
|
45
64
|
platform?: NodeJS.Platform;
|
|
46
65
|
nowMs?: () => number;
|
|
@@ -54,9 +73,9 @@ export interface PiProcessDiscovery {
|
|
|
54
73
|
}
|
|
55
74
|
/**
|
|
56
75
|
* Inspect Pi/OMP processes without converting a failed process-list probe into
|
|
57
|
-
* false evidence that no harness is running.
|
|
58
|
-
*
|
|
59
|
-
*
|
|
76
|
+
* false evidence that no harness is running. Callers choose their own policy
|
|
77
|
+
* for the unreadable state: destructive maintenance can fail closed, while a
|
|
78
|
+
* migration guard can proceed after reporting that no live Pi process was confirmed.
|
|
60
79
|
*/
|
|
61
80
|
export declare function inspectLivePiProcesses(): PiProcessDiscovery;
|
|
62
81
|
/** Enumerate live Pi/OMP harness processes before deciding whether migration can proceed. */
|
|
@@ -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,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;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,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,SAAc,EACjB,UAAU,CAAC,EAAE,MAAM,GACpB,MAAM,CAGR;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CASnD;AA6JD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO7D;AA6CD,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAgBnF;AAOD;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAwBzF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC7C,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,YAAY,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAI,CAQP;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAQlD;AAmBD,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAgD3D;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,iBAAiB,GAAG,IAAI,CA6B3F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Channel1State } from "../hooks/magic-context/ctx-reduce-nudge";
|
|
2
|
+
import type { TailHygieneStatus } from "./rpc-types";
|
|
3
|
+
export interface WireTailHygieneBaseline {
|
|
4
|
+
u?: number;
|
|
5
|
+
t?: number;
|
|
6
|
+
severity?: number;
|
|
7
|
+
evaluable?: boolean;
|
|
8
|
+
generation_invalidated?: boolean;
|
|
9
|
+
baseline_generation?: number;
|
|
10
|
+
computed_at_ms?: number;
|
|
11
|
+
}
|
|
12
|
+
/** Normalize either renderer authority's persisted baseline without dropping valid zeros. */
|
|
13
|
+
export declare function resolveTailHygieneStatus(tsBaseline: Channel1State | undefined, rustBaseline?: WireTailHygieneBaseline | null): TailHygieneStatus | undefined;
|
|
14
|
+
export declare function formatTailHygiene(status: TailHygieneStatus): string;
|
|
15
|
+
//# sourceMappingURL=tail-hygiene-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tail-hygiene-status.d.ts","sourceRoot":"","sources":["../../src/shared/tail-hygiene-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACpC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,6FAA6F;AAC7F,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,GAC9C,iBAAiB,GAAG,SAAS,CA6B/B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAInE"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ModelLimit } from "./models-dev-cache";
|
|
2
|
+
export declare const WINDOW_OVERLAY_SCHEMA = "fusiform-window-overlay/v1";
|
|
3
|
+
export declare const PROMPT_WALL_MARGIN = 4096;
|
|
4
|
+
export declare const PI_OUTPUT_FLOOR = 4096;
|
|
5
|
+
export declare const OPENCODE_OUTPUT_CAP = 32000;
|
|
6
|
+
export type WindowGeometry = "shared_upfront" | "shared_truncating" | "separate";
|
|
7
|
+
export type WindowReserveSource = "output_catalog" | "output_config" | "wall_margin" | "none";
|
|
8
|
+
export type WindowOverlayGrade = "provider_asserted_runtime" | "measured" | "provider_asserted_doc" | "catalog" | "unknown";
|
|
9
|
+
export type WindowOverlayUnits = "provider" | "estimate";
|
|
10
|
+
export type WindowOverlayBoundary = "Observed" | "Asserted" | "Corrected";
|
|
11
|
+
export type WindowOverlayUnknownWhy = "placeholder_output_equals_context" | "placeholder_zero" | "never_measured" | "not_single_valued_at_key" | "retracted";
|
|
12
|
+
export type WindowOverlayFactValue = {
|
|
13
|
+
kind: "stated";
|
|
14
|
+
value: number | string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: "bracket";
|
|
17
|
+
at_least?: number;
|
|
18
|
+
below?: number;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "unknown";
|
|
21
|
+
why: WindowOverlayUnknownWhy;
|
|
22
|
+
};
|
|
23
|
+
export interface WindowOverlayFact {
|
|
24
|
+
value: WindowOverlayFactValue;
|
|
25
|
+
grade: WindowOverlayGrade;
|
|
26
|
+
units: WindowOverlayUnits;
|
|
27
|
+
boundary: WindowOverlayBoundary;
|
|
28
|
+
source_ref: string;
|
|
29
|
+
observed_at: string;
|
|
30
|
+
[unknownField: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface WindowOverlayCell {
|
|
33
|
+
provider_id: string;
|
|
34
|
+
model_id: string;
|
|
35
|
+
/** Unknown fact keys are retained so a newer producer can coexist with this v1 consumer. */
|
|
36
|
+
facts: Record<string, WindowOverlayFact>;
|
|
37
|
+
}
|
|
38
|
+
export interface WindowOverlay {
|
|
39
|
+
schema: typeof WINDOW_OVERLAY_SCHEMA;
|
|
40
|
+
generated_at: string;
|
|
41
|
+
minted_provider_ids: string[];
|
|
42
|
+
cells: WindowOverlayCell[];
|
|
43
|
+
}
|
|
44
|
+
export interface ResolvedWindowOverlayFacts {
|
|
45
|
+
/** Includes facts whose tagged value is explicitly unknown. */
|
|
46
|
+
facts: Record<string, WindowOverlayFact>;
|
|
47
|
+
}
|
|
48
|
+
export interface WindowDerivation {
|
|
49
|
+
window: number;
|
|
50
|
+
reserve: number;
|
|
51
|
+
reserveSource: WindowReserveSource;
|
|
52
|
+
geometry: WindowGeometry;
|
|
53
|
+
}
|
|
54
|
+
export interface WindowGeometryResult {
|
|
55
|
+
usableSoft: number;
|
|
56
|
+
usableHard: number;
|
|
57
|
+
geometry: WindowGeometry;
|
|
58
|
+
derivation: WindowDerivation;
|
|
59
|
+
}
|
|
60
|
+
export interface DeriveWindowGeometryOptions {
|
|
61
|
+
overlay?: ResolvedWindowOverlayFacts;
|
|
62
|
+
/** A provider/auth hook has higher precedence than the overlay, field by field. */
|
|
63
|
+
providerLimit?: ModelLimit;
|
|
64
|
+
/** Resolved user override; higher precedence than catalog, overlay, and geometry defaults. */
|
|
65
|
+
outputReserveOverride?: number;
|
|
66
|
+
harness?: "opencode" | "pi";
|
|
67
|
+
/** Detected overflow remains the final downward cap regardless of other sources. */
|
|
68
|
+
contextCap?: number;
|
|
69
|
+
log?: (message: string) => void;
|
|
70
|
+
}
|
|
71
|
+
/** Convert the ratified tagged numeric union into the conservative scalar used by derivation. */
|
|
72
|
+
export declare function scalarizeFact(value: WindowOverlayFactValue): number | undefined;
|
|
73
|
+
export declare function parseWindowOverlay(value: unknown): {
|
|
74
|
+
overlay?: WindowOverlay;
|
|
75
|
+
badCells: number;
|
|
76
|
+
refusal?: string;
|
|
77
|
+
};
|
|
78
|
+
export declare function defaultWindowOverlayPath(): string;
|
|
79
|
+
export declare function readWindowOverlayFile(path: string, log?: (message: string) => void): WindowOverlay | undefined;
|
|
80
|
+
/** Set the user-tier overlay path. Undefined restores the Fusiform data-dir default. */
|
|
81
|
+
export declare function setWindowOverlayPath(path: string | undefined): void;
|
|
82
|
+
export declare function clearWindowOverlayCacheForTest(): void;
|
|
83
|
+
export declare function getWindowOverlay(): WindowOverlay | undefined;
|
|
84
|
+
export declare function resolveWindowOverlayFacts(providerID: string, modelID: string, overlay?: WindowOverlay | undefined): ResolvedWindowOverlayFacts | undefined;
|
|
85
|
+
/** Placeholder filtering is deliberately per output field, never a row-level rejection. */
|
|
86
|
+
export declare function placeholderFilteredOutput(output: number | undefined, context: number | undefined): number | undefined;
|
|
87
|
+
export declare function deriveWindowGeometry(providerID: string, modelID: string, catalogLimit: ModelLimit | undefined, options?: DeriveWindowGeometryOptions): WindowGeometryResult | undefined;
|
|
88
|
+
export declare function formatWindowDerivationLine(inputTokens: number, result: WindowGeometryResult): string;
|
|
89
|
+
export declare function formatCompactTokens(value: number): string;
|
|
90
|
+
//# sourceMappingURL=window-geometry.d.ts.map
|