odai-dsh-agent 0.3.3 → 0.3.6
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/build/src/installer.d.mts +3 -3
- package/build/src/installer.d.mts.map +1 -1
- package/build/src/installer.mjs +9 -13
- package/build/src/installer.mjs.map +1 -1
- package/client/client.js +53 -1
- package/package.json +3 -2
- package/preset/odai/odai-governance.mjs +2 -1
- package/preset/odai/runtime/bootstrap.d.mts +16 -0
- package/preset/odai/runtime/bootstrap.d.mts.map +1 -0
- package/preset/odai/runtime/bootstrap.mjs +72 -0
- package/preset/odai/runtime/bootstrap.mjs.map +1 -0
- package/preset/odai/runtime/compaction-engine.d.mts +4 -0
- package/preset/odai/runtime/compaction-engine.d.mts.map +1 -0
- package/preset/odai/runtime/compaction-engine.mjs +11 -0
- package/preset/odai/runtime/compaction-engine.mjs.map +1 -0
- package/preset/odai/runtime/compaction-policy.d.mts +37 -0
- package/preset/odai/runtime/compaction-policy.d.mts.map +1 -0
- package/preset/odai/runtime/compaction-policy.mjs +71 -0
- package/preset/odai/runtime/compaction-policy.mjs.map +1 -0
- package/preset/odai/runtime/compaction-pressure-runtime.d.mts +15 -0
- package/preset/odai/runtime/compaction-pressure-runtime.d.mts.map +1 -0
- package/preset/odai/runtime/compaction-pressure-runtime.mjs +194 -0
- package/preset/odai/runtime/compaction-pressure-runtime.mjs.map +1 -0
- package/preset/odai/runtime/compaction-pressure-store.d.mts +13 -0
- package/preset/odai/runtime/compaction-pressure-store.d.mts.map +1 -0
- package/preset/odai/runtime/compaction-pressure-store.mjs +60 -0
- package/preset/odai/runtime/compaction-pressure-store.mjs.map +1 -0
- package/preset/odai/runtime/control-center-runtime.d.mts +9 -0
- package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/control-center-runtime.mjs +10 -2
- package/preset/odai/runtime/control-center-runtime.mjs.map +1 -1
- package/preset/odai/runtime/index.d.mts +2 -1
- package/preset/odai/runtime/index.d.mts.map +1 -1
- package/preset/odai/runtime/index.mjs +15 -11
- package/preset/odai/runtime/index.mjs.map +1 -1
- package/preset/odai/runtime/prompt-runtime.d.mts +7 -1
- package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/prompt-runtime.mjs +27 -21
- package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
- package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
- package/preset/odai/runtime/runtime-support.mjs +12 -9
- package/preset/odai/runtime/runtime-support.mjs.map +1 -1
- package/preset/odai/runtime/runtime-types.d.mts +7 -1
- package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
- package/preset/odai/runtime/tool-runtime.d.mts +9 -1
- package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/tool-runtime.mjs +44 -27
- package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
- package/preset.cordis.patch.yml +3 -5
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ odai-dsh-agent/
|
|
|
17
17
|
|
|
18
18
|
The preset id stays `odai`, so sessions saved with it keep resolving after an upgrade. In DSH's Plugins page the whole bundle and its Control Center row can be switched on and off; the preset declaration and the rows inside the preset are read-only there, because DSH does not let its plugin manager edit a preset's composition.
|
|
19
19
|
|
|
20
|
-
Odai owns its composition and capability set, with a scoped runtime in default `auto` mode. The `0.3.
|
|
20
|
+
Odai owns its composition and capability set, with a scoped runtime in default `auto` mode. The `0.3.5` candidate pins DSH `0.2.2-rc.1` for installation and verification. Working-directory context comes from the host service. Standard serves as an upstream reference. Release checks load Odai against the real host and verify scoped tool and prompt behavior.
|
|
21
21
|
|
|
22
22
|
Host-owned persistence, sandbox, approval, registries, and base controller selection remain in the selected DSH profile. Ordinary requests stay on that controller. Responsibility words are optional signals rather than commands: evidence-grounded task-state gaps route at any step, the gap tool records rather than claims a route start, terminal decisions consume the proposal, an incomplete reviewer proposal waits for changed native evidence, and an identical planner/controller model remains inline without another model call. After planner handback, the controller resumes implementation only when the current user task authorizes it; plan-only, new-task, expanded-scope, and unknown authorization remain non-implementing. Reviewer children require a current hash-addressed schema 3 evidence packet whose diff is newer than the last write and whose latest successful test or read-only check follows the last write; viewing a diff does not itself invalidate an earlier successful check. The packet binds to the authenticated direct-user task when available, excludes all prior-task session events, records its boundary in route evidence, and fails closed if an explicit task binding cannot be resolved uniquely. An incomplete packet keeps the current controller route, reports why native evidence was excluded, suppresses unchanged repeat notices, and reassesses the pending proposal after decisive evidence changes without claiming independent acceptance or terminating the authorized task. Every API route is resolved before provider I/O; deterministic invalid persisted mappings are backed up and exact-match removed, while recoverable provider failures preserve them. Frontend route failure becomes an explicit local controller fallback without a routed receipt. `execute` remains an explicit comparison mode and `observe` changes no model or child while retaining fail-closed high-impact protection. Configured compaction streams are buffered so partial failed output cannot contaminate the inherited-route retry or replace original history.
|
|
23
23
|
|
|
@@ -33,13 +33,13 @@ Ordinary requests retain the complete canonical governance plus compact responsi
|
|
|
33
33
|
|
|
34
34
|
## Install
|
|
35
35
|
|
|
36
|
-
With DSH `0.2.
|
|
36
|
+
With DSH `0.2.2-rc.1` installed, run:
|
|
37
37
|
|
|
38
38
|
```sh
|
|
39
39
|
npx odai-dsh-agent install [--profile web] [--dsh-home /path/to/dsh-home]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The installer checks `dsh -V`
|
|
42
|
+
The installer checks `dsh -V` for an exact `0.2.2-rc.1` match, then runs `dsh plugin --profile <profile> add odai-dsh-agent@<version> --save-exact`. DSH's plugin manager checks the package's DSH peer before downloading anything. The package already contains the canonical skills and runtime; it does not require the Plugin. Restart the DSH Web process after a profile change, open a new session, and select `odai 治理模式` in the preset picker. Existing sessions keep the composition they started with.
|
|
43
43
|
|
|
44
44
|
DSH `0.1.7` does not carry the earlier `agent-presets.default` setting forward. To make odai the default preset again, choose it as the default in DSH; the choice is saved in the profile's own `cordis.patch.yml`.
|
|
45
45
|
|
|
@@ -92,6 +92,10 @@ An authenticated `这个会话放开上限` directive removes only Odai's contro
|
|
|
92
92
|
|
|
93
93
|
A same-provider/model compaction inherits controller reasoning while keeping its independent summary budget. Odai leaves prompt-cache retention unset by default; `ODAI_COMPACTION_CACHE_RETENTION` can explicitly select `short`, `long`, or `none`. `provider-default` means Odai adds no retention, while any explicit incoming retention remains authoritative; configured retention still applies when host routing has already supplied reasoning. Custom preset compositions can set the same value through runtime `compaction.cacheRetention`. The first controller request after a landed summary still rebuilds the changed summary prefix.
|
|
94
94
|
|
|
95
|
+
## Automatic compaction
|
|
96
|
+
|
|
97
|
+
Control Center → Routing → 自动压缩 offers **宿主默认 / 按窗口比例**. Host mode is the default. Window-ratio mode triggers at 80% of the model context window, without subtracting output reservations or safety headroom. Agent and Plugin share `$DSH_HOME/odai/compaction.json.pressure`; the selection survives restart and summary-model reset. The UI shows the current session's effective mode and disables ratio mode when the native engine cannot be intercepted reliably. Manual compaction and actual context-overflow recovery remain host-owned.
|
|
98
|
+
|
|
95
99
|
## Compaction model
|
|
96
100
|
|
|
97
101
|
The default compaction-summary model is `inherit`, which preserves the conversation's current provider/model behavior. A user can explicitly set a separate target and optional reasoning effort in natural language, such as `压缩模型用 provider-x/model-summary,推理档 high`; `odai_compaction_config` persists those explicit values in `$DSH_HOME/odai/compaction.json`. Removing the target restores inheritance. Agent and Plugin share the store when both are deliberately present.
|
|
@@ -110,11 +114,11 @@ The Agent keeps the bundle's complete skill copy as its `bundled` default, so ex
|
|
|
110
114
|
|
|
111
115
|
An independent install must be a complete directory bundle containing `SKILL.md`, `manifest.json`, and every manifest-declared file. The runtime checks SemVer 2.0.0 `skillVersion`, an exact supported `runtimeContract`, complete-file SHA-256 integrity, and same-version content conflicts. Prompt governance and routing role contracts are selected atomically for one agent turn; project sources are scoped by that session's cwd, and changes are reconsidered on the next user turn. Explicit deployment `skillPath` or `ODAI_SKILL_PATH` remains highest priority and requires a DSH restart.
|
|
112
116
|
|
|
113
|
-
The `0.3.
|
|
117
|
+
The `0.3.5` source candidate bundles governance `0.7.1` (schema `5`, runtime contract `9`) and `odai-orchestration` `0.2.3` (schema `1`). The latest published pair is `0.3.3`. Published `0.2.56` bundles governance `0.7.1`, runtime contract `9`, and orchestration `0.2.2`. Published `0.2.38` bundles orchestration `0.2.0`. Published `0.2.37` bundles governance `0.7.0` with the same schemas and runtime contract, and orchestration `0.2.0`. Governance has no role or orchestration dependency. The bundle carries both skills and its own trusted compiler, combining separate source digests into one immutable turn snapshot; it never executes external scripts or discovers neighboring orchestration. Incompatible older sources fall back visibly without rewriting their files; an incompatible explicit `skillPath` fails fast.
|
|
114
118
|
|
|
115
119
|
## Retired skill evolution
|
|
116
120
|
|
|
117
|
-
Releases before `0.2.37` could refine both governance and orchestration Markdown in `$DSH_HOME/odai/skill-evolution`. Published `0.2.37` retired that overlay together with `odai_skill_evolution`, `ODAI_DISABLE_EVOLUTION`, and `governance.evolutionRoot`; later releases, including the `0.3.
|
|
121
|
+
Releases before `0.2.37` could refine both governance and orchestration Markdown in `$DSH_HOME/odai/skill-evolution`. Published `0.2.37` retired that overlay together with `odai_skill_evolution`, `ODAI_DISABLE_EVOLUTION`, and `governance.evolutionRoot`; later releases, including the `0.3.5` candidate, preserve that retirement. Previously active refinements stop taking effect after upgrading and restarting DSH. The runtime no longer reads the store, no package install, update, repair, or removal deletes it, and a leftover `evolutionRoot` is ignored.
|
|
118
122
|
|
|
119
123
|
To retain governance customizations, start with a complete schema `5` / contract `9` user-level bundle, review and apply the desired rules, assign a distinct valid SemVer `skillVersion`, then ask Odai to set the source to `user`. Modified content retaining this candidate's bundled version `0.7.1` falls back with `same-version-content-conflict`; changing only build metadata is insufficient. On the next turn verify the actual canonical source, version and governance digest, not just the saved setting. Explicit deployment paths take precedence.
|
|
120
124
|
|
|
@@ -11,11 +11,11 @@ export declare const DEFAULT_PRESET_ID = "odai";
|
|
|
11
11
|
export declare const MANIFEST_FILE = ".odai-agent.json";
|
|
12
12
|
export declare const inject: string[];
|
|
13
13
|
export declare function apply(ctx: unknown, rawConfig?: unknown): Promise<void>;
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const SUPPORTED_DSH_RANGE
|
|
14
|
+
export declare const SUPPORTED_DSH_VERSION: string;
|
|
15
|
+
export declare const SUPPORTED_DSH_RANGE: string;
|
|
16
16
|
export declare const SUPPORTED_DSH_VERSIONS: readonly string[];
|
|
17
|
+
export declare const MINIMUM_DSH_VERSION: string;
|
|
17
18
|
export declare function supportsDshVersion(version: string): boolean;
|
|
18
|
-
export declare const SUPPORTED_DSH_VERSION = "0.2.1-rc.2";
|
|
19
19
|
export declare function resolveDshHome(configured?: string, env?: NodeJS.ProcessEnv): string;
|
|
20
20
|
export declare function resolveManagedDshHome(configured: string | undefined, create: boolean): Promise<string>;
|
|
21
21
|
export declare function assertNoSymlinkDescendants(root: string, relativePath: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.mts","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,gCAAgC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;CACzF;AAiCD,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAKhD,eAAO,MAAM,MAAM,UAAqC,CAAC;AAEzD,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;
|
|
1
|
+
{"version":3,"file":"installer.d.mts","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,gCAAgC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;CACzF;AAiCD,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAKhD,eAAO,MAAM,MAAM,UAAqC,CAAC;AAEzD,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAmBD,eAAO,MAAM,qBAAqB,QAAc,CAAC;AACjD,eAAO,MAAM,mBAAmB,QAAwB,CAAC;AACzD,eAAO,MAAM,sBAAsB,mBAAyC,CAAC;AAC7E,eAAO,MAAM,mBAAmB,QAAwB,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAShG;AAED,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAY5G;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlG;AAaD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;IAS3E;AAED,wBAAsB,wBAAwB,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;gBAnIxE,QAAQ,GAAG,WAAW,GAAG,SAAS;gBAClC,MAAM,EAAE;kBACN,MAAM;qBACH,MAAM;mBACR,MAAM;;;;;IAoIlB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B;;;;IAG7E;AAED,2FAA2F;AAC3F,wBAAsB,wBAAwB,CAAC,OAAO,GAAE,qBAA0B;YAhJxE,QAAQ,GAAG,WAAW,GAAG,SAAS;YAClC,MAAM,EAAE;cACN,MAAM;iBACH,MAAM;eACR,MAAM;;;;IAmJlB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;IA4B9E"}
|
package/build/src/installer.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { lstat, mkdir, readFile, readdir, realpath, rename, } from "node:fs/prom
|
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { dirname, resolve, sep } from "node:path";
|
|
5
5
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
6
|
-
import {
|
|
6
|
+
import { valid } from "semver";
|
|
7
7
|
import { acquireAgentOperationLock } from "./operation-lock.mjs";
|
|
8
8
|
function isRecord(value) {
|
|
9
9
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -38,21 +38,17 @@ const packageMetadata = {
|
|
|
38
38
|
version: parsedPackageMetadata.version,
|
|
39
39
|
peerDependencies,
|
|
40
40
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (peerRange !== "*" || validRange(peerRange) === null) {
|
|
45
|
-
throw new Error("odai-dsh-agent must keep an open DSH peer; tested releases are not an allow-list");
|
|
41
|
+
const peerVersion = packageMetadata.peerDependencies["@deepseek-ai/dsh"];
|
|
42
|
+
if (typeof peerVersion !== "string" || valid(peerVersion) !== peerVersion) {
|
|
43
|
+
throw new Error("odai-dsh-agent must declare one exact DSH peer version");
|
|
46
44
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export const
|
|
50
|
-
|
|
51
|
-
export const SUPPORTED_DSH_VERSIONS = Object.freeze([SOURCE_DSH_VERSION]);
|
|
45
|
+
export const SUPPORTED_DSH_VERSION = peerVersion;
|
|
46
|
+
export const SUPPORTED_DSH_RANGE = SUPPORTED_DSH_VERSION;
|
|
47
|
+
export const SUPPORTED_DSH_VERSIONS = Object.freeze([SUPPORTED_DSH_VERSION]);
|
|
48
|
+
export const MINIMUM_DSH_VERSION = SUPPORTED_DSH_VERSION;
|
|
52
49
|
export function supportsDshVersion(version) {
|
|
53
|
-
return
|
|
50
|
+
return version === SUPPORTED_DSH_VERSION;
|
|
54
51
|
}
|
|
55
|
-
export const SUPPORTED_DSH_VERSION = SOURCE_DSH_VERSION;
|
|
56
52
|
export function resolveDshHome(configured, env = process.env) {
|
|
57
53
|
const value = configured ?? env.DSH_HOME ?? resolve(homedir(), ".dsh");
|
|
58
54
|
if (typeof value !== "string" || value.trim() === "") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.mjs","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.mjs","sourceRoot":"","sources":["../../src/installer.mts"],"names":[],"mappings":"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"}
|
package/client/client.js
CHANGED
|
@@ -640,7 +640,59 @@ window.__ModuleLoader__.load({
|
|
|
640
640
|
}, [tab, routingAttempted]);
|
|
641
641
|
return ReactDOM.createPortal(h("div", { className: "odaiCC", "data-odai-control-center": PACKAGE_ID }, h("button", { type: "button", className: "odaiCC__backdrop", onClick: onClose, "aria-label": "关闭 Odai 控制中心" }), h("section", { className: "odaiCC__drawer", role: "dialog", "aria-modal": true, "aria-label": "Odai 控制中心" }, h("header", { className: "odaiCC__header" }, h("div", { className: "odaiCC__brand" }, h(GraphIcon), h("div", null, h("h2", null, "Odai 控制中心"), h("span", null, "会话证据 · 路由配置"))), h("nav", { className: "odaiCC__tabs", "aria-label": "控制中心视图" }, h("button", { type: "button", className: tab === "live" ? "is-active" : "", onClick: () => setTab("live") }, "执行"), h("button", { type: "button", className: tab === "routing" ? "is-active" : "", onClick: () => setTab("routing") }, "路由")), h("button", { ref: closeRef, type: "button", className: "odaiCC__close", onClick: onClose, "aria-label": "关闭" }, "×")), h("main", { className: "odaiCC__body" }, tab === "live"
|
|
642
642
|
? h(LiveView, { trace, evidenceError })
|
|
643
|
-
: h(RoutingView, { connection, config, setConfig, loading, error, reload })))), document.body);
|
|
643
|
+
: h(React.Fragment, null, h(CompactionPressureSettings, { key: sessionId, connection, sessionId }), h(RoutingView, { connection, config, setConfig, loading, error, reload }))))), document.body);
|
|
644
|
+
}
|
|
645
|
+
function CompactionPressureSettings({ sessionId, connection }) {
|
|
646
|
+
const [state, setState] = useState(null);
|
|
647
|
+
const [error, setError] = useState("");
|
|
648
|
+
const [busy, setBusy] = useState(false);
|
|
649
|
+
const lifetime = useRef(null);
|
|
650
|
+
const inFlight = useRef(false);
|
|
651
|
+
const request = async (action, signal, mode) => {
|
|
652
|
+
const response = await connection.rpc.call("/api", "odai-control-center/compaction-pressure", { action, sessionId, ...(mode === undefined ? {} : { mode }) }, signal);
|
|
653
|
+
if (!response?.ok || !response.value?.ok || !response.value.pressure)
|
|
654
|
+
throw new Error(response?.value?.error?.message || response?.error?.message || "自动压缩设置不可用");
|
|
655
|
+
if (!signal.aborted) {
|
|
656
|
+
setState(response.value.pressure);
|
|
657
|
+
setError("");
|
|
658
|
+
}
|
|
659
|
+
};
|
|
660
|
+
useEffect(() => {
|
|
661
|
+
const controller = new AbortController();
|
|
662
|
+
lifetime.current = controller;
|
|
663
|
+
inFlight.current = false;
|
|
664
|
+
setState(null);
|
|
665
|
+
setError("");
|
|
666
|
+
setBusy(false);
|
|
667
|
+
void request("show", controller.signal).catch(e => { if (!controller.signal.aborted)
|
|
668
|
+
setError(String(e)); });
|
|
669
|
+
return () => controller.abort();
|
|
670
|
+
}, [connection, sessionId]);
|
|
671
|
+
const change = async (mode) => {
|
|
672
|
+
const controller = lifetime.current;
|
|
673
|
+
if (!controller || inFlight.current)
|
|
674
|
+
return;
|
|
675
|
+
inFlight.current = true;
|
|
676
|
+
setBusy(true);
|
|
677
|
+
try {
|
|
678
|
+
await request("set", controller.signal, mode);
|
|
679
|
+
}
|
|
680
|
+
catch (e) {
|
|
681
|
+
if (!controller.signal.aborted)
|
|
682
|
+
setError(String(e));
|
|
683
|
+
}
|
|
684
|
+
finally {
|
|
685
|
+
if (lifetime.current === controller) {
|
|
686
|
+
inFlight.current = false;
|
|
687
|
+
if (!controller.signal.aborted)
|
|
688
|
+
setBusy(false);
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
};
|
|
692
|
+
return h("section", { className: "odaiCC__routing", "aria-label": "自动压缩设置" }, h("h3", null, "自动压缩"), h("label", null, "触发方式 ", h("select", {
|
|
693
|
+
"aria-label": "自动压缩触发方式", disabled: busy || !state, value: state?.configuredMode ?? "host",
|
|
694
|
+
onChange: (event) => void change(event.target.value),
|
|
695
|
+
}, h("option", { value: "host" }, "宿主默认"), h("option", { value: "window-ratio", disabled: !state?.supported }, "按窗口比例"))), h("p", null, "按窗口比例在上下文达到模型窗口的 80% 时压缩,不扣除输出预留或额外余量。设置会保存。"), state ? h("p", { role: "status" }, `当前会话实际生效:${state.effectiveMode === "window-ratio" ? "按窗口比例" : "宿主默认"}`) : null, state?.reason ? h("p", { className: "odaiCC__alert", role: "status" }, state.reason) : null, error ? h("p", { className: "odaiCC__alert is-error", role: "alert" }, error) : null);
|
|
644
696
|
}
|
|
645
697
|
function SessionControls({ sessionId, connection }) {
|
|
646
698
|
const [state, setState] = useState(null);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "odai-dsh-agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "独立维护的 odai 治理模式预设(DSH bundle),按任务需要提供治理与协作。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"exports": {
|
|
18
18
|
".": "./build/src/installer.mjs",
|
|
19
19
|
"./governance": "./preset/odai/odai-governance.mjs",
|
|
20
|
+
"./compaction-engine": "./preset/odai/runtime/compaction-engine.mjs",
|
|
20
21
|
"./control-center": "./build/src/control-center-installer.mjs",
|
|
21
22
|
"./control-center-host": "./preset/odai/runtime/control-center-host.mjs",
|
|
22
23
|
"./client": "./client/client.js",
|
|
@@ -75,7 +76,7 @@
|
|
|
75
76
|
"yaml": "^2.8.1"
|
|
76
77
|
},
|
|
77
78
|
"peerDependencies": {
|
|
78
|
-
"@deepseek-ai/dsh": "
|
|
79
|
+
"@deepseek-ai/dsh": "0.2.2-rc.1"
|
|
79
80
|
},
|
|
80
81
|
"peerDependenciesMeta": {
|
|
81
82
|
"@deepseek-ai/dsh": {
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from "./runtime/
|
|
1
|
+
export * from "./runtime/bootstrap.mjs";
|
|
2
|
+
export { applyPreset as apply } from "./runtime/bootstrap.mjs";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { installCompactionPressureRuntime } from "./compaction-pressure-runtime.mjs";
|
|
2
|
+
export declare const name = "odai-dsh-runtime";
|
|
3
|
+
export { inheritCompactionReasoning, resolveConfig, resolveSkillPath, runRoutedRole } from "./index.mjs";
|
|
4
|
+
type Adapter = ReturnType<typeof installCompactionPressureRuntime>;
|
|
5
|
+
interface Shared {
|
|
6
|
+
path: string;
|
|
7
|
+
owners: Set<symbol>;
|
|
8
|
+
installation: Promise<void>;
|
|
9
|
+
fiber?: any;
|
|
10
|
+
adapter?: Adapter;
|
|
11
|
+
control: Adapter["control"];
|
|
12
|
+
}
|
|
13
|
+
export declare function acquirePressureRuntime(ctx: any): Shared;
|
|
14
|
+
export declare function applyPreset(ctx: any, rawConfig?: unknown): void;
|
|
15
|
+
export declare function apply(ctx: any, rawConfig?: unknown): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=bootstrap.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.mts","sourceRoot":"","sources":["../src/bootstrap.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,eAAO,MAAM,IAAI,qBAAe,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzG,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC;AACnE,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA4CvD;AACD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,GAAE,OAAY,GAAG,IAAI,CAGnE;AACD,wBAAsB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5E"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as runtime from "./index.mjs";
|
|
2
|
+
import { resolveConfig } from "./runtime-config.mjs";
|
|
3
|
+
import { loggerFor } from "./runtime-support.mjs";
|
|
4
|
+
import { compactionPressurePath } from "./compaction-pressure-store.mjs";
|
|
5
|
+
import { installCompactionPressureRuntime } from "./compaction-pressure-runtime.mjs";
|
|
6
|
+
export const name = runtime.name;
|
|
7
|
+
export { inheritCompactionReasoning, resolveConfig, resolveSkillPath, runRoutedRole } from "./index.mjs";
|
|
8
|
+
export function acquirePressureRuntime(ctx) {
|
|
9
|
+
const path = compactionPressurePath(resolveConfig({}).compaction.configPath);
|
|
10
|
+
const root = ctx.root;
|
|
11
|
+
if (!root?.plugin)
|
|
12
|
+
throw new Error("Odai pressure bootstrap requires Cordis root");
|
|
13
|
+
const sharedByRoot = globalThis.__odaiPressureBootstrapV1 ??= new WeakMap();
|
|
14
|
+
let shared = sharedByRoot.get(root);
|
|
15
|
+
if (shared && shared.path !== path)
|
|
16
|
+
throw new Error("Agent and Plugin must use the same compaction configuration path");
|
|
17
|
+
if (!shared) {
|
|
18
|
+
const created = {
|
|
19
|
+
path, owners: new Set(), installation: Promise.resolve(),
|
|
20
|
+
async control(payload, signal) {
|
|
21
|
+
await created.installation;
|
|
22
|
+
signal.throwIfAborted();
|
|
23
|
+
if (!created.adapter)
|
|
24
|
+
throw new Error("Pressure runtime unavailable");
|
|
25
|
+
await created.adapter.ready;
|
|
26
|
+
return created.adapter.control(payload, signal);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
sharedByRoot.set(root, created);
|
|
30
|
+
shared = created;
|
|
31
|
+
try {
|
|
32
|
+
const installing = root.plugin(function odaiSharedPressure(owner) {
|
|
33
|
+
created.adapter = installCompactionPressureRuntime(owner, {
|
|
34
|
+
storePath: path,
|
|
35
|
+
agentForSession: id => owner.get("agents")?.get(id),
|
|
36
|
+
engineForAgent: agent => {
|
|
37
|
+
const presets = owner.get("agentPresets");
|
|
38
|
+
return presets ? presets.serviceFor(agent, "compaction") : owner.get("compaction");
|
|
39
|
+
},
|
|
40
|
+
warn: message => loggerFor(owner).warn(message),
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
created.installation = Promise.resolve(installing).then(fiber => { created.fiber = fiber; });
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
sharedByRoot.delete(root);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const current = shared, token = Symbol("odai-pressure-owner");
|
|
51
|
+
current.owners.add(token);
|
|
52
|
+
ctx.effect(() => async () => {
|
|
53
|
+
current.owners.delete(token);
|
|
54
|
+
await current.installation;
|
|
55
|
+
if (current.owners.size !== 0 || sharedByRoot.get(root) !== current)
|
|
56
|
+
return;
|
|
57
|
+
sharedByRoot.delete(root);
|
|
58
|
+
await current.fiber?.dispose();
|
|
59
|
+
});
|
|
60
|
+
return current;
|
|
61
|
+
}
|
|
62
|
+
export function applyPreset(ctx, rawConfig = {}) {
|
|
63
|
+
const current = acquirePressureRuntime(ctx);
|
|
64
|
+
ctx.inject(runtime.inject, (available) => runtime.apply(available, rawConfig, current.control));
|
|
65
|
+
}
|
|
66
|
+
export async function apply(ctx, rawConfig = {}) {
|
|
67
|
+
const current = acquirePressureRuntime(ctx);
|
|
68
|
+
await current.installation;
|
|
69
|
+
current.adapter?.enableProfile(ctx);
|
|
70
|
+
ctx.inject(runtime.inject, (available) => runtime.apply(available, rawConfig, current.control));
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.mjs","sourceRoot":"","sources":["../src/bootstrap.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-engine.d.mts","sourceRoot":"","sources":["../src/compaction-engine.mts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,2BAA2B,CAAC;AAC7C,gFAAgF;AAChF,wBAAsB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { acquirePressureRuntime } from "./bootstrap.mjs";
|
|
2
|
+
export const name = "odai-compaction-engine";
|
|
3
|
+
/** Mount the unchanged native engine only after its pressure adapter exists. */
|
|
4
|
+
export async function apply(ctx, config = {}) {
|
|
5
|
+
const shared = acquirePressureRuntime(ctx);
|
|
6
|
+
await shared.installation;
|
|
7
|
+
if (!shared.adapter)
|
|
8
|
+
throw new Error("Native compaction adapter unavailable");
|
|
9
|
+
await shared.adapter.mountEngine(ctx, config);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=compaction-engine.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-engine.mjs","sourceRoot":"","sources":["../src/compaction-engine.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,CAAC,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAC7C,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAQ,EAAE,MAAM,GAAY,EAAE;IACxD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,CAAC,YAAY,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC9E,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Odai's opt-in pressure policy; host mode delegates to the host engine unchanged. */
|
|
2
|
+
export type CompactionPressureMode = "host" | "window-ratio";
|
|
3
|
+
export declare function resolveCompactionPressureMode(value: unknown): CompactionPressureMode;
|
|
4
|
+
/** Only model capacity determines this threshold; request output limits are independent. */
|
|
5
|
+
export declare function windowRatioThreshold(contextWindow: number): number;
|
|
6
|
+
/** Execute pressure reduction using host-owned durable transactions supplied by the adapter. */
|
|
7
|
+
export declare function compactAtWindowRatio<Seq>(options: {
|
|
8
|
+
contextWindow: number;
|
|
9
|
+
signal: AbortSignal;
|
|
10
|
+
retries: number;
|
|
11
|
+
requireBelowThreshold: boolean;
|
|
12
|
+
measure: () => {
|
|
13
|
+
totalTokens: number;
|
|
14
|
+
range: {
|
|
15
|
+
start: Seq;
|
|
16
|
+
end: Seq;
|
|
17
|
+
} | null;
|
|
18
|
+
};
|
|
19
|
+
compact: (start: Seq, end: Seq, signal: AbortSignal) => Promise<unknown>;
|
|
20
|
+
}): Promise<boolean>;
|
|
21
|
+
export interface PricedSurfaceNode<Seq> {
|
|
22
|
+
readonly seq: Seq;
|
|
23
|
+
readonly tokens: number;
|
|
24
|
+
}
|
|
25
|
+
/** Select an old prefix while retaining recent context and complete tool exchanges. */
|
|
26
|
+
export declare function windowRatioRange<Seq>(options: {
|
|
27
|
+
surface: readonly Seq[];
|
|
28
|
+
priced: readonly PricedSurfaceNode<Seq>[];
|
|
29
|
+
contextWindow: number;
|
|
30
|
+
retainTokens?: number;
|
|
31
|
+
systemHead: boolean;
|
|
32
|
+
balancedBefore: (seq: Seq) => boolean;
|
|
33
|
+
}): {
|
|
34
|
+
start: Seq;
|
|
35
|
+
end: Seq;
|
|
36
|
+
} | null;
|
|
37
|
+
//# sourceMappingURL=compaction-policy.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-policy.d.mts","sourceRoot":"","sources":["../src/compaction-policy.mts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,cAAc,CAAC;AAE7D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAIpF;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,gGAAgG;AAChG,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,GAAG,CAAC;YAAC,GAAG,EAAE,GAAG,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/E,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnB;AAED,MAAM,WAAW,iBAAiB,CAAC,GAAG;IACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE;IAC7C,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACvC,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAwBlC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export function resolveCompactionPressureMode(value) {
|
|
2
|
+
if (value === undefined || value === "host")
|
|
3
|
+
return "host";
|
|
4
|
+
if (value === "window-ratio")
|
|
5
|
+
return value;
|
|
6
|
+
throw new TypeError("compaction pressure mode must be host or window-ratio");
|
|
7
|
+
}
|
|
8
|
+
/** Only model capacity determines this threshold; request output limits are independent. */
|
|
9
|
+
export function windowRatioThreshold(contextWindow) {
|
|
10
|
+
if (!Number.isSafeInteger(contextWindow) || contextWindow <= 0) {
|
|
11
|
+
throw new TypeError("compaction contextWindow must be a positive safe integer");
|
|
12
|
+
}
|
|
13
|
+
return Math.floor(contextWindow * 0.8);
|
|
14
|
+
}
|
|
15
|
+
/** Execute pressure reduction using host-owned durable transactions supplied by the adapter. */
|
|
16
|
+
export async function compactAtWindowRatio(options) {
|
|
17
|
+
const threshold = windowRatioThreshold(options.contextWindow);
|
|
18
|
+
if (!Number.isSafeInteger(options.retries) || options.retries < 0)
|
|
19
|
+
throw new TypeError("invalid compaction retry count");
|
|
20
|
+
let changed = false;
|
|
21
|
+
for (let attempt = 0; attempt <= options.retries; attempt++) {
|
|
22
|
+
options.signal.throwIfAborted();
|
|
23
|
+
const measurement = options.measure();
|
|
24
|
+
if (!Number.isFinite(measurement.totalTokens) || measurement.totalTokens < 0)
|
|
25
|
+
throw new Error("invalid context measurement");
|
|
26
|
+
if (measurement.totalTokens < threshold)
|
|
27
|
+
return changed;
|
|
28
|
+
if (measurement.range === null) {
|
|
29
|
+
if (!changed && !options.requireBelowThreshold)
|
|
30
|
+
return false;
|
|
31
|
+
throw new Error("No balanced history range can reduce context below the window threshold");
|
|
32
|
+
}
|
|
33
|
+
await options.compact(measurement.range.start, measurement.range.end, options.signal);
|
|
34
|
+
changed = true;
|
|
35
|
+
}
|
|
36
|
+
options.signal.throwIfAborted();
|
|
37
|
+
if (options.measure().totalTokens >= threshold)
|
|
38
|
+
throw new Error("Context remains above the window threshold after compaction");
|
|
39
|
+
return changed;
|
|
40
|
+
}
|
|
41
|
+
/** Select an old prefix while retaining recent context and complete tool exchanges. */
|
|
42
|
+
export function windowRatioRange(options) {
|
|
43
|
+
const { surface, priced } = options;
|
|
44
|
+
windowRatioThreshold(options.contextWindow);
|
|
45
|
+
if (surface.length !== priced.length || surface.some((seq, index) => seq !== priced[index]?.seq)) {
|
|
46
|
+
throw new Error("Odai compaction: measured surface is stale");
|
|
47
|
+
}
|
|
48
|
+
const first = options.systemHead ? 1 : 0;
|
|
49
|
+
// Keep at least the latest node even when its token estimate is zero.
|
|
50
|
+
const retain = options.retainTokens ?? Math.floor(options.contextWindow * 0.16);
|
|
51
|
+
if (!Number.isSafeInteger(retain) || retain < 0 || retain >= windowRatioThreshold(options.contextWindow)) {
|
|
52
|
+
throw new Error("Odai compaction: retained tail must be below the window threshold");
|
|
53
|
+
}
|
|
54
|
+
let accumulated = 0;
|
|
55
|
+
let boundary = priced.length;
|
|
56
|
+
for (let i = priced.length - 1; i >= first; i--) {
|
|
57
|
+
const node = priced[i];
|
|
58
|
+
if (!Number.isFinite(node.tokens) || node.tokens < 0)
|
|
59
|
+
throw new Error("Odai compaction: invalid token estimate");
|
|
60
|
+
accumulated += node.tokens;
|
|
61
|
+
boundary = i;
|
|
62
|
+
if (accumulated >= retain)
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
while (boundary > first && !options.balancedBefore(surface[boundary]))
|
|
66
|
+
boundary--;
|
|
67
|
+
if (boundary <= first || first >= surface.length)
|
|
68
|
+
return null;
|
|
69
|
+
return { start: surface[first], end: surface[boundary - 1] };
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=compaction-policy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-policy.mjs","sourceRoot":"","sources":["../src/compaction-policy.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CompactionPressureControl } from "./control-center-runtime.mjs";
|
|
2
|
+
export interface PressureRuntimeOptions {
|
|
3
|
+
storePath: string;
|
|
4
|
+
agentForSession(id: string): any;
|
|
5
|
+
engineForAgent(agent: any): any;
|
|
6
|
+
warn(message: string): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function installCompactionPressureRuntime(ctx: any, options: PressureRuntimeOptions): {
|
|
9
|
+
ready: Promise<void>;
|
|
10
|
+
status: (agent: any) => CompactionPressureControl;
|
|
11
|
+
control: (payload: unknown, signal: AbortSignal) => Promise<CompactionPressureControl>;
|
|
12
|
+
mountEngine: (owner: any, config: unknown) => Promise<any>;
|
|
13
|
+
enableProfile: (owner: any) => void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=compaction-pressure-runtime.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-pressure-runtime.d.mts","sourceRoot":"","sources":["../src/compaction-pressure-runtime.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAI9E,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC;IACjC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AACD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB;;oBAiHjE,GAAG,KAAG,yBAAyB;uBAOtB,OAAO,UAAU,WAAW,KAAG,OAAO,CAAC,yBAAyB,CAAC;yBAc/D,GAAG,UAAU,OAAO;2BAhIxB,GAAG;EA2IlC"}
|