@iowarp/clio-coder 0.3.4 → 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/CHANGELOG.md +37 -2
- package/CONTRIBUTING.md +6 -6
- package/README.md +2 -2
- package/dist/{acp-S5R4RR5B.js → acp-2BEHC4DL.js} +4 -4
- package/dist/{agents-P6DMMVZY.js → agents-LNNFTM53.js} +13 -11
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-2XCZLPKS.js → auth-KXXFI2VS.js} +6 -6
- package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
- package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
- package/dist/chunk-3BPUFZDL.js +37 -0
- package/dist/{chunk-WPQLXFOZ.js → chunk-43AOLP7E.js} +2 -2
- package/dist/{chunk-N4CZJQRK.js → chunk-5JGRAMKL.js} +4 -4
- package/dist/{chunk-BRXQQJFP.js → chunk-6US73PDB.js} +568 -47
- package/dist/{chunk-K6WL7QZT.js → chunk-6XXKFVSN.js} +2 -2
- package/dist/{chunk-QQK64KLB.js → chunk-CJUB2JJ2.js} +138 -20
- package/dist/{chunk-HV5X7OR2.js → chunk-CKXWIANG.js} +12 -12
- package/dist/{chunk-UZHIZC5S.js → chunk-CYQKWTG3.js} +61 -76
- package/dist/{chunk-QWU7ZBO7.js → chunk-DJVECN66.js} +204 -45
- package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
- package/dist/{chunk-7RXG6QRZ.js → chunk-EKY57CSP.js} +2 -75
- package/dist/{chunk-EDRHSCIE.js → chunk-EYPA3EGJ.js} +10 -2
- package/dist/{chunk-TTNYS3EA.js → chunk-G7MUEIGA.js} +1 -1
- package/dist/{chunk-BPGS2WCQ.js → chunk-GEYXPTRF.js} +2 -1
- package/dist/{chunk-BEY543CS.js → chunk-GOXNB3AO.js} +5 -2
- package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
- package/dist/chunk-HWUFFB6L.js +83 -0
- package/dist/{chunk-35MKKU5R.js → chunk-K7T3E2SR.js} +15 -8
- package/dist/{chunk-VAWWTKDP.js → chunk-KHSFENX2.js} +2 -2
- package/dist/chunk-LCGCVYZ4.js +57 -0
- package/dist/{chunk-X6COSD2O.js → chunk-LYF7OHWH.js} +41 -14
- package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
- package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
- package/dist/{chunk-5M54SPOL.js → chunk-ODFEOB4F.js} +161 -5
- package/dist/{chunk-3JLKSKD7.js → chunk-OH3TOQTB.js} +5 -1
- package/dist/{chunk-MEQ45TQ4.js → chunk-PBTHKCPN.js} +18 -4
- package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
- package/dist/{chunk-QQL5RT5M.js → chunk-QM3F2GKX.js} +94 -36
- package/dist/{chunk-A2GZF7DC.js → chunk-QNQHSOLF.js} +4 -4
- package/dist/{chunk-KRPY7NTG.js → chunk-R46L2BIR.js} +3 -3
- package/dist/{chunk-BP4OYD6A.js → chunk-RY3LY4J5.js} +20 -2
- package/dist/{chunk-34475P3I.js → chunk-TSHXZTOQ.js} +5 -4
- package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
- package/dist/{chunk-2TZWSW76.js → chunk-WHGPSPT5.js} +2 -2
- package/dist/{chunk-TW3WDMVS.js → chunk-WHJYKASB.js} +2 -2
- package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
- package/dist/{chunk-HXG4IURW.js → chunk-XE2VEJHX.js} +2 -2
- package/dist/{chunk-3HZ5RWN2.js → chunk-XF5N4U5A.js} +7 -6
- package/dist/{chunk-ZYKPLLNQ.js → chunk-XXQNGV4M.js} +590 -32
- package/dist/{chunk-4JUF2NNX.js → chunk-XYDYPRZI.js} +4 -4
- package/dist/{chunk-VMNQ6OZA.js → chunk-ZRGEBJ4T.js} +971 -794
- package/dist/{chunk-2LZI5CAG.js → chunk-ZXF4XRKW.js} +75 -33
- package/dist/{chunk-VSNATDE6.js → chunk-ZZMN5OM4.js} +2 -2
- package/dist/cli/index.js +31 -31
- package/dist/{clio-J5JIOIDS.js → clio-M2KGYUFZ.js} +2 -2
- package/dist/{code-nav-AXCXSBHX.js → code-nav-GQNL7XA6.js} +5 -5
- package/dist/codewiki/build-worker.js +4 -4
- package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
- package/dist/{config-OEBMIN2U.js → config-XUUYQIWO.js} +27 -25
- package/dist/{configure-PUQOSIXQ.js → configure-IHJ7YOMV.js} +7 -7
- package/dist/{context-URSXPBCK.js → context-74JLXAWD.js} +12 -12
- package/dist/{context-MGSE4Z2T.js → context-75MIWW3U.js} +24 -22
- package/dist/{context-EKDCKUUZ.js → context-ZQ7SIFJV.js} +8 -7
- package/dist/{context-clear-KDAJRNUK.js → context-clear-GYKWNUML.js} +24 -22
- package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
- package/dist/{context-working-set-SBKMPPI2.js → context-working-set-UX5KEP4J.js} +11 -10
- package/dist/{dispatch-runner-MSWN72NK.js → dispatch-runner-GIJBHNFL.js} +21 -20
- package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
- package/dist/{doctor-7BSE27PJ.js → doctor-SVJ5BZCW.js} +4 -4
- package/dist/{eval-IZGDOO4H.js → eval-CG6LLBLD.js} +47 -232
- package/dist/{evidence-SR7WXB5B.js → evidence-ZYFIEN42.js} +19 -18
- package/dist/{evolve-K7VE2CBX.js → evolve-QGEXEMDW.js} +19 -18
- package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
- package/dist/{fleet-7XMJNQNF.js → fleet-S5R4ZOQY.js} +49 -30
- package/dist/{fleet-preflight-AQNAH644.js → fleet-preflight-BHSNPBMH.js} +2 -2
- package/dist/{init-JGNPAYXT.js → init-5DRU55YR.js} +31 -29
- package/dist/memory-7YKKR6UC.js +467 -0
- package/dist/{models-ZMMLFJNN.js → models-ZPOLRU2C.js} +10 -10
- package/dist/{monitor-2F3T5KHP.js → monitor-US5F5YGZ.js} +33 -18
- package/dist/{orchestrator-ORHT43JB.js → orchestrator-E2AL4T5N.js} +1092 -659
- package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
- package/dist/{reset-NXGTYNUO.js → reset-KZ652EK6.js} +3 -3
- package/dist/{run-RF4WJGMT.js → run-SRNBKDWD.js} +52 -40
- package/dist/{share-UT3W6E4M.js → share-CGZE33UP.js} +3 -3
- package/dist/{skills-PSACKC5Q.js → skills-S2X4DLY5.js} +4 -4
- package/dist/{skills-eval-WJSI55RZ.js → skills-eval-W2GGIC4R.js} +19 -18
- package/dist/{targets-PIIRAOYS.js → targets-54SWINWB.js} +14 -12
- package/dist/{terminal-lease-ULWXWNVY.js → terminal-lease-SAIF2OGY.js} +5 -4
- package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
- package/dist/{upgrade-346TZ6AV.js → upgrade-JKAR27XC.js} +8 -8
- package/dist/{usage-6KKXR32N.js → usage-MSAWCLX4.js} +60 -27
- package/dist/{verifiers-4UUM6TEE.js → verifiers-NCBTHHN2.js} +60 -54
- package/dist/{wiki-generate-7STOCIFZ.js → wiki-generate-GUSOQ6ZP.js} +30 -28
- package/dist/worker/entry.js +69 -58
- package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
- package/docs/README.md +3 -3
- package/docs/acp.md +1 -1
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-placement.md +1 -2
- package/docs/artifact-versions.md +1 -1
- package/docs/built-in-agents.md +1 -1
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +9 -7
- package/docs/configuration-and-targets.md +12 -1
- package/docs/context-engine.md +4 -2
- package/docs/context-working-set.md +4 -4
- package/docs/development-pipeline.md +1 -1
- package/docs/documentation-coverage.md +3 -3
- package/docs/documentation-guide.md +2 -2
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +4 -45
- package/docs/evidence-and-memory.md +67 -7
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +1 -1
- package/docs/extensions-and-sharing.md +2 -2
- package/docs/fleet-dispatch.md +28 -2
- package/docs/installation-and-lifecycle.md +2 -2
- package/docs/middleware-and-components.md +19 -2
- package/docs/model-catalog.md +1 -1
- package/docs/observability.md +3 -3
- package/docs/proactive-memory.md +26 -16
- package/docs/prompt-envelope-and-tools.md +4 -2
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +38 -35
- package/docs/safety-model.md +29 -7
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +1 -1
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +2 -2
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +38 -4
- package/docs/worker-dispatch-mechanics.md +1 -1
- package/package.json +7 -4
- package/src/cli/agents.ts +2 -3
- package/src/cli/argv.ts +14 -1
- package/src/cli/fleet.ts +15 -0
- package/src/cli/index.ts +1 -1
- package/src/cli/memory.ts +272 -10
- package/src/cli/modes/json-stream.ts +2 -2
- package/src/cli/modes/print.ts +12 -1
- package/src/cli/run.ts +22 -2
- package/src/cli/targets.ts +12 -3
- package/src/cli/usage.ts +55 -7
- package/src/core/bus-events.ts +3 -0
- package/src/core/response-model-id.ts +134 -0
- package/src/core/toml.ts +62 -0
- package/src/core/workspace-files.ts +0 -1
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/catalog.ts +5 -4
- package/src/domains/agents/recipe.ts +54 -14
- package/src/domains/agents/result-contract.ts +7 -4
- package/src/domains/context/bootstrap.ts +36 -27
- package/src/domains/context/project-metadata.ts +19 -63
- package/src/domains/context/prompt-context.ts +8 -0
- package/src/domains/context/working-set/policies/index.ts +3 -4
- package/src/domains/dispatch/budget-envelope.ts +396 -0
- package/src/domains/dispatch/contract.ts +2 -0
- package/src/domains/dispatch/extension.ts +81 -27
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/state.ts +1 -0
- package/src/domains/dispatch/types.ts +10 -3
- package/src/domains/dispatch/validation.ts +14 -0
- package/src/domains/dispatch/worker-spawn.ts +14 -3
- package/src/domains/eval/metrics/evidence.ts +0 -116
- package/src/domains/eval/metrics/invariants.ts +1 -1
- package/src/domains/eval/runners/clio-run.ts +1 -10
- package/src/domains/eval/runners/external-command.ts +2 -29
- package/src/domains/eval/schema/suite.ts +0 -7
- package/src/domains/eval/suites/run.ts +1 -7
- package/src/domains/memory/index.ts +22 -0
- package/src/domains/memory/operations.ts +58 -1
- package/src/domains/memory/promotion.ts +281 -0
- package/src/domains/memory/prompt-section.ts +25 -5
- package/src/domains/memory/proposal.ts +51 -7
- package/src/domains/memory/task-bank.ts +3 -2
- package/src/domains/memory/task-memory-handoff.ts +181 -24
- package/src/domains/memory/task-memory-policy.ts +3 -1
- package/src/domains/memory/types.ts +37 -0
- package/src/domains/memory/validate.ts +178 -0
- package/src/domains/middleware/memory-intervention.ts +35 -25
- package/src/domains/middleware/runtime.ts +6 -0
- package/src/domains/middleware/skills-reminder.ts +19 -4
- package/src/domains/middleware/stalled-turn.ts +43 -1
- package/src/domains/middleware/types.ts +10 -0
- package/src/domains/observability/contract.ts +6 -1
- package/src/domains/observability/cost.ts +20 -4
- package/src/domains/observability/extension.ts +2 -2
- package/src/domains/providers/index.ts +3 -0
- package/src/domains/providers/model-discovery.ts +9 -0
- package/src/domains/providers/runtime-resolution.ts +38 -1
- package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
- package/src/domains/providers/types/context-window-slots.ts +18 -0
- package/src/domains/providers/types/runtime-descriptor.ts +3 -1
- package/src/domains/safety/call-target.ts +211 -14
- package/src/domains/safety/decision-presentation.ts +268 -0
- package/src/domains/safety/redaction.ts +73 -0
- package/src/domains/session/context-ledger.ts +10 -1
- package/src/domains/session/decision-board.ts +4 -0
- package/src/domains/session/entries.ts +3 -0
- package/src/domains/session/history.ts +68 -19
- package/src/domains/session/usage.ts +24 -7
- package/src/engine/acp/event-mapper.ts +7 -0
- package/src/engine/acp/server.ts +29 -2
- package/src/engine/apis/lmstudio.ts +25 -4
- package/src/engine/apis/openai-completions.ts +147 -22
- package/src/engine/claude/sdk-runtime.ts +8 -2
- package/src/engine/claude/tool-safety.ts +13 -0
- package/src/engine/loop-guard.ts +27 -3
- package/src/engine/worker-events.ts +4 -3
- package/src/engine/worker-runtime.ts +59 -54
- package/src/entry/orchestrator.ts +18 -1
- package/src/interactive/chat-loop-messages.ts +22 -0
- package/src/interactive/chat-loop.ts +13 -0
- package/src/interactive/chat-renderer.ts +19 -3
- package/src/interactive/clio-editor.ts +44 -7
- package/src/interactive/context-overlay.ts +43 -5
- package/src/interactive/cost-overlay.ts +39 -8
- package/src/interactive/dispatch-board.ts +212 -35
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +6 -1
- package/src/interactive/interactive-input-runtime.ts +11 -1
- package/src/interactive/interactive-presentation.ts +11 -1
- package/src/interactive/memory-overlay.ts +89 -4
- package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
- package/src/interactive/overlay-frame.ts +5 -2
- package/src/interactive/overlay-general-openers.ts +40 -1
- package/src/interactive/overlay-key-routing.ts +41 -1
- package/src/interactive/overlay-lifecycle.ts +11 -4
- package/src/interactive/overlay-permission-lifecycle.ts +23 -8
- package/src/interactive/overlay-transitions.ts +11 -0
- package/src/interactive/overlays/ask-user.ts +74 -30
- package/src/interactive/overlays/decisions.ts +3 -1
- package/src/interactive/permission-hint.ts +35 -0
- package/src/interactive/permission-overlay.ts +95 -45
- package/src/interactive/renderers/tool-execution.ts +19 -49
- package/src/interactive/session-last-turn.ts +8 -1
- package/src/interactive/session-usage-reseed.ts +36 -10
- package/src/interactive/slash-commands.ts +2 -2
- package/src/interactive/status/summary.ts +5 -0
- package/src/interactive/status/types.ts +5 -0
- package/src/interactive/terminal-lease.ts +1 -0
- package/src/interactive/turn-context.ts +96 -23
- package/src/interactive/turn-middleware.ts +1 -0
- package/src/interactive/turn-runtime.ts +37 -8
- package/src/interactive/turn-state.ts +3 -0
- package/src/interactive/worker-progress.ts +440 -0
- package/src/interactive/worker-stream.ts +51 -110
- package/src/tools/agent-tools.ts +28 -3
- package/src/tools/ask-user.ts +21 -1
- package/src/tools/context/index.ts +2 -2
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-event-text.ts +19 -0
- package/src/tools/dispatch.ts +24 -1
- package/src/tools/monitor.ts +15 -0
- package/src/tools/registry.ts +15 -5
- package/src/tools/result-disposition.ts +156 -0
- package/src/tools/result-shaping.ts +59 -1
- package/src/tools/verify/authoring.ts +55 -54
- package/src/tools/worker-evidence.ts +19 -0
- package/src/worker/spec-contract.ts +43 -3
- package/dist/chunk-EFADSJET.js +0 -18
- package/dist/memory-4ALKDJ4Q.js +0 -246
- package/src/domains/eval/metrics/chaos-stream.ts +0 -93
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
ceilChars,
|
|
28
28
|
estimateAgentMessageTokens,
|
|
29
29
|
toolSchemaChars
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-GEYXPTRF.js";
|
|
31
31
|
import {
|
|
32
32
|
activateExternalPluginApiBridge,
|
|
33
33
|
calculateEngineCost,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
} from "./chunk-ZGVHUX3M.js";
|
|
50
50
|
import {
|
|
51
51
|
BusChannels
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-G7MUEIGA.js";
|
|
53
53
|
import {
|
|
54
54
|
__toESM,
|
|
55
55
|
init_esm_shims
|
|
@@ -2339,6 +2339,15 @@ async function probeOpenAICompatReasoning(opts) {
|
|
|
2339
2339
|
|
|
2340
2340
|
// src/domains/providers/runtimes/common/probe-helpers.ts
|
|
2341
2341
|
init_esm_shims();
|
|
2342
|
+
|
|
2343
|
+
// src/domains/providers/types/context-window-slots.ts
|
|
2344
|
+
init_esm_shims();
|
|
2345
|
+
function formatContextWindowSlots(contextWindow, slots) {
|
|
2346
|
+
const format = (n) => Math.round(n).toLocaleString("en-US");
|
|
2347
|
+
return `${format(contextWindow)} (${format(slots.totalContextSize)} / ${slots.slots} slots)`;
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
// src/domains/providers/runtimes/common/probe-helpers.ts
|
|
2342
2351
|
async function probeUrl(url2, ctx, method = "GET") {
|
|
2343
2352
|
const base = { url: url2, timeoutMs: ctx.httpTimeoutMs, method };
|
|
2344
2353
|
return ctx.signal ? probeHttp({ ...base, signal: ctx.signal }) : probeHttp(base);
|
|
@@ -2383,7 +2392,11 @@ async function probeOpenAIModelCatalog(base, ctx, modelsPath = "/v1/models") {
|
|
|
2383
2392
|
const state = modelStateFromOpenAIModelEntry(row) ?? (detailRow ? modelStateFromOpenAIModelEntry(detailRow) : void 0) ?? // A reported loaded context is itself the residency answer: nothing
|
|
2384
2393
|
// serves a window for a model it has not loaded.
|
|
2385
2394
|
(loadedContext !== void 0 ? { state: "loaded" } : void 0);
|
|
2386
|
-
|
|
2395
|
+
const contextSlots = contextSlotsFromEntry(row) ?? (detailRow ? contextSlotsFromEntry(detailRow) : void 0);
|
|
2396
|
+
const withSlots = contextSlots ? { ...state ?? { state: "unknown" }, contextSlots } : state;
|
|
2397
|
+
if (withSlots) {
|
|
2398
|
+
modelStates[row.id] = loadedContext === void 0 ? withSlots : { ...withSlots, contextLength: loadedContext };
|
|
2399
|
+
}
|
|
2387
2400
|
}
|
|
2388
2401
|
return { models, modelCapabilities, modelStates };
|
|
2389
2402
|
}
|
|
@@ -2437,7 +2450,9 @@ function normalizeModelState(raw) {
|
|
|
2437
2450
|
if (!value) return void 0;
|
|
2438
2451
|
if (value === "loaded" || value === "ready" || value === "running" || value === "active") return "loaded";
|
|
2439
2452
|
if (value === "loading" || value === "pending" || value === "queued" || value === "starting") return "loading";
|
|
2440
|
-
if (value === "unloaded" || value === "not-loaded" || value === "idle" || value === "
|
|
2453
|
+
if (value === "unloaded" || value === "not-loaded" || value === "idle" || value === "sleeping" || value === "stopped") {
|
|
2454
|
+
return "unloaded";
|
|
2455
|
+
}
|
|
2441
2456
|
if (value === "failed" || value === "error" || value === "errored") return "failed";
|
|
2442
2457
|
if (value === "unknown") return "unknown";
|
|
2443
2458
|
return void 0;
|
|
@@ -2468,11 +2483,14 @@ function statusArgsFromEntry(row) {
|
|
|
2468
2483
|
const status = nestedRecord(row, "status");
|
|
2469
2484
|
return argsFromStatus(status);
|
|
2470
2485
|
}
|
|
2486
|
+
function contextSlotsFromEntry(row) {
|
|
2487
|
+
return llamaCppRequestContextWindow(parseLlamaCppServerFlags(statusArgsFromEntry(row)))?.slots;
|
|
2488
|
+
}
|
|
2471
2489
|
function capabilitiesFromOpenAIModelEntry(row) {
|
|
2472
2490
|
const caps = {};
|
|
2473
2491
|
const meta = nestedRecord(row, "meta");
|
|
2474
2492
|
const flags = parseLlamaCppServerFlags(statusArgsFromEntry(row));
|
|
2475
|
-
const contextWindow =
|
|
2493
|
+
const contextWindow = llamaCppRequestContextWindow(flags)?.contextWindow ?? firstPositiveNumber(row, [
|
|
2476
2494
|
// What is actually loaded outranks what the model could support: a
|
|
2477
2495
|
// model served at 8k out of a possible 262k has an 8k window today,
|
|
2478
2496
|
// and the run has to be planned against the real one.
|
|
@@ -2525,6 +2543,17 @@ async function probeOpenAIModelEntries(base, ctx) {
|
|
|
2525
2543
|
if (!result.ok) return [];
|
|
2526
2544
|
return modelEntries(result.data);
|
|
2527
2545
|
}
|
|
2546
|
+
function llamaCppRequestContextWindow(flags) {
|
|
2547
|
+
const total = positiveNumber2(flags.contextSize);
|
|
2548
|
+
if (total === void 0) return void 0;
|
|
2549
|
+
const parallel = positiveNumber2(flags.parallel);
|
|
2550
|
+
if (parallel === void 0 || parallel <= 1 || flags.kvUnified === true) return { contextWindow: Math.floor(total) };
|
|
2551
|
+
const slots = Math.floor(parallel);
|
|
2552
|
+
return {
|
|
2553
|
+
contextWindow: Math.floor(total / slots),
|
|
2554
|
+
slots: { totalContextSize: Math.floor(total), slots }
|
|
2555
|
+
};
|
|
2556
|
+
}
|
|
2528
2557
|
function argsFromStatus(status) {
|
|
2529
2558
|
if (!isRecord3(status)) return [];
|
|
2530
2559
|
const args = status.args;
|
|
@@ -2532,20 +2561,27 @@ function argsFromStatus(status) {
|
|
|
2532
2561
|
if (typeof args === "string") return args.trim().split(/\s+/).filter(Boolean);
|
|
2533
2562
|
return [];
|
|
2534
2563
|
}
|
|
2535
|
-
function
|
|
2536
|
-
|
|
2537
|
-
if (index < 0) return void 0;
|
|
2538
|
-
const value = args[index + 1];
|
|
2539
|
-
return value && !value.startsWith("--") ? value : void 0;
|
|
2564
|
+
function looksLikeFlag(token) {
|
|
2565
|
+
return token.startsWith("-") && Number.isNaN(Number(token));
|
|
2540
2566
|
}
|
|
2541
|
-
function
|
|
2542
|
-
const
|
|
2567
|
+
function valueAfter(args, ...flags) {
|
|
2568
|
+
for (const flag of flags) {
|
|
2569
|
+
const index = args.indexOf(flag);
|
|
2570
|
+
if (index < 0) continue;
|
|
2571
|
+
const value = args[index + 1];
|
|
2572
|
+
return value && !looksLikeFlag(value) ? value : void 0;
|
|
2573
|
+
}
|
|
2574
|
+
return void 0;
|
|
2575
|
+
}
|
|
2576
|
+
function numberFlag(args, ...flags) {
|
|
2577
|
+
const value = valueAfter(args, ...flags);
|
|
2543
2578
|
if (value === void 0) return void 0;
|
|
2544
2579
|
const parsed = Number(value);
|
|
2545
2580
|
return Number.isFinite(parsed) ? parsed : void 0;
|
|
2546
2581
|
}
|
|
2547
|
-
function booleanFlag(args,
|
|
2548
|
-
|
|
2582
|
+
function booleanFlag(args, ...flags) {
|
|
2583
|
+
const flag = flags.find((candidate) => args.includes(candidate));
|
|
2584
|
+
if (flag === void 0) return void 0;
|
|
2549
2585
|
const value = valueAfter(args, flag);
|
|
2550
2586
|
if (value === void 0) return true;
|
|
2551
2587
|
const normalized = value.toLowerCase();
|
|
@@ -2555,7 +2591,7 @@ function booleanFlag(args, flag) {
|
|
|
2555
2591
|
}
|
|
2556
2592
|
function parseLlamaCppServerFlags(args) {
|
|
2557
2593
|
const flags = {};
|
|
2558
|
-
const ctxSize = numberFlag(args, "--ctx-size");
|
|
2594
|
+
const ctxSize = numberFlag(args, "--ctx-size", "-c");
|
|
2559
2595
|
if (ctxSize !== void 0) flags.contextSize = ctxSize;
|
|
2560
2596
|
const maxTokens = numberFlag(args, "--n-predict");
|
|
2561
2597
|
if (maxTokens !== void 0) flags.maxTokens = maxTokens;
|
|
@@ -2575,8 +2611,12 @@ function parseLlamaCppServerFlags(args) {
|
|
|
2575
2611
|
if (topK !== void 0) flags.topK = topK;
|
|
2576
2612
|
const nGpuLayers = numberFlag(args, "--n-gpu-layers");
|
|
2577
2613
|
if (nGpuLayers !== void 0) flags.nGpuLayers = nGpuLayers;
|
|
2578
|
-
const parallel = numberFlag(args, "--parallel");
|
|
2614
|
+
const parallel = numberFlag(args, "--parallel", "-np");
|
|
2579
2615
|
if (parallel !== void 0) flags.parallel = parallel;
|
|
2616
|
+
const kvUnifiedAt = Math.max(args.lastIndexOf("--kv-unified"), args.lastIndexOf("-kvu"));
|
|
2617
|
+
const noKvUnifiedAt = args.lastIndexOf("--no-kv-unified");
|
|
2618
|
+
if (noKvUnifiedAt > kvUnifiedAt) flags.kvUnified = false;
|
|
2619
|
+
else if (kvUnifiedAt >= 0) flags.kvUnified = booleanFlag(args, "--kv-unified", "-kvu") ?? true;
|
|
2580
2620
|
const cacheTypeK = valueAfter(args, "--cache-type-k");
|
|
2581
2621
|
if (cacheTypeK) flags.cacheTypeK = cacheTypeK;
|
|
2582
2622
|
const cacheTypeV = valueAfter(args, "--cache-type-v");
|
|
@@ -2608,7 +2648,8 @@ async function probeLlamaCppModelStatus(base, target, ctx) {
|
|
|
2608
2648
|
if (args.length === 0) return { notes: statusNotes(selected.id, selected.status) };
|
|
2609
2649
|
const flags = parseLlamaCppServerFlags(args);
|
|
2610
2650
|
const caps = {};
|
|
2611
|
-
|
|
2651
|
+
const window = llamaCppRequestContextWindow(flags);
|
|
2652
|
+
if (window !== void 0) caps.contextWindow = window.contextWindow;
|
|
2612
2653
|
if (flags.maxTokens !== void 0 && flags.maxTokens > 0) caps.maxTokens = flags.maxTokens;
|
|
2613
2654
|
if (flags.reasoning === true || flags.reasoningBudget !== void 0) caps.reasoning = true;
|
|
2614
2655
|
if (flags.mmproj) caps.vision = true;
|
|
@@ -2616,6 +2657,11 @@ async function probeLlamaCppModelStatus(base, target, ctx) {
|
|
|
2616
2657
|
const enrichment = { modelId: selected.id, serverFlags: flags };
|
|
2617
2658
|
if (Object.keys(caps).length > 0) enrichment.discoveredCapabilities = caps;
|
|
2618
2659
|
const notes = statusNotes(selected.id, selected.status);
|
|
2660
|
+
if (window?.slots) {
|
|
2661
|
+
notes.push(
|
|
2662
|
+
`${selected.id} context window ${formatContextWindowSlots(window.contextWindow, window.slots)}: --ctx-size is split across --parallel slots without --kv-unified`
|
|
2663
|
+
);
|
|
2664
|
+
}
|
|
2619
2665
|
if (notes.length > 0) enrichment.notes = notes;
|
|
2620
2666
|
return enrichment;
|
|
2621
2667
|
}
|
|
@@ -4573,6 +4619,9 @@ function loadedContextWindowForModel(status, modelId) {
|
|
|
4573
4619
|
const reported = status?.discoveredModelStates?.[modelId]?.contextLength;
|
|
4574
4620
|
return typeof reported === "number" && Number.isFinite(reported) && reported > 0 ? reported : null;
|
|
4575
4621
|
}
|
|
4622
|
+
function contextSlotsForModel(status, modelId) {
|
|
4623
|
+
return status?.discoveredModelStates?.[modelId]?.contextSlots ?? null;
|
|
4624
|
+
}
|
|
4576
4625
|
function modelResidencyForStatus(status, modelId) {
|
|
4577
4626
|
if (loadedContextWindowForModel(status, modelId) !== null) return "resident";
|
|
4578
4627
|
switch (status?.discoveredModelStates?.[modelId]?.state) {
|
|
@@ -4839,7 +4888,9 @@ function resolveRuntimeTarget(providers, input) {
|
|
|
4839
4888
|
wireModelId,
|
|
4840
4889
|
providers.knowledgeBase,
|
|
4841
4890
|
probedContextWindow,
|
|
4842
|
-
loadedContextWindow
|
|
4891
|
+
loadedContextWindow,
|
|
4892
|
+
void 0,
|
|
4893
|
+
contextSlotsForModel(status, wireModelId)
|
|
4843
4894
|
);
|
|
4844
4895
|
capabilities2.contextWindow = contextWindowDetails.effectiveContextWindow;
|
|
4845
4896
|
if (contextWindowDetails.warning) {
|
|
@@ -4920,7 +4971,8 @@ function refineRuntimeTargetWithModelHints(target, model, knowledgeBase) {
|
|
|
4920
4971
|
// one the backend has open. Re-resolving without the loaded number would
|
|
4921
4972
|
// hand the planner the declared window back on the first refinement.
|
|
4922
4973
|
target.contextWindowDetails.loadedContextWindow,
|
|
4923
|
-
modelHintContextWindow
|
|
4974
|
+
modelHintContextWindow,
|
|
4975
|
+
target.contextWindowDetails.contextWindowSlots
|
|
4924
4976
|
);
|
|
4925
4977
|
capabilities2.contextWindow = contextWindowDetails.effectiveContextWindow;
|
|
4926
4978
|
const modelRuntime = resolveModelRuntimeCapabilities({
|
|
@@ -4979,12 +5031,16 @@ function firstRuntimeResolutionError(diagnostics) {
|
|
|
4979
5031
|
function runtimeResolutionWarnings(diagnostics) {
|
|
4980
5032
|
return diagnostics.filter((entry) => entry.severity === "warning").map((entry) => entry.message);
|
|
4981
5033
|
}
|
|
5034
|
+
function runtimeResolutionWarningsBesideThinkingNotice(diagnostics, thinkingNotice) {
|
|
5035
|
+
if (thinkingNotice.trim().length === 0) return runtimeResolutionWarnings(diagnostics);
|
|
5036
|
+
return runtimeResolutionWarnings(diagnostics.filter((entry) => !entry.code.startsWith("thinking-")));
|
|
5037
|
+
}
|
|
4982
5038
|
var DESIRED_CONTEXT_WINDOW = CLIO_MIN_CONTEXT_WINDOW;
|
|
4983
5039
|
var FALLBACK_CONTEXT_WINDOW = CLIO_MIN_CONTEXT_WINDOW;
|
|
4984
5040
|
function positiveWindow(value) {
|
|
4985
5041
|
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : void 0;
|
|
4986
5042
|
}
|
|
4987
|
-
function resolveContextWindowDetails(target, runtime, wireModelId, knowledgeBase, probedContextWindow, loadedContextWindow = null, modelHintContextWindow) {
|
|
5043
|
+
function resolveContextWindowDetails(target, runtime, wireModelId, knowledgeBase, probedContextWindow, loadedContextWindow = null, modelHintContextWindow, probedContextSlots = null) {
|
|
4988
5044
|
const catalogModel = getCatalogModelForRuntime(runtime.id, wireModelId);
|
|
4989
5045
|
const kbHit = knowledgeBase?.lookup(wireModelId) ?? null;
|
|
4990
5046
|
let modelDeclared;
|
|
@@ -5039,6 +5095,7 @@ function resolveContextWindowDetails(target, runtime, wireModelId, knowledgeBase
|
|
|
5039
5095
|
if (source === "descriptor-default" || source === "unknown") {
|
|
5040
5096
|
provenanceNotice = `Context window ${effective} is Clio's assumed minimum, not a figure this target reported. Run 'clio-coder targets --probe' to read the real one.`;
|
|
5041
5097
|
}
|
|
5098
|
+
const contextWindowSlots = source === "probe" && probedContextSlots !== null && Math.floor(probedContextSlots.totalContextSize / probedContextSlots.slots) === effective ? probedContextSlots : null;
|
|
5042
5099
|
return {
|
|
5043
5100
|
declaredContextWindow,
|
|
5044
5101
|
probedContextWindow,
|
|
@@ -5046,6 +5103,7 @@ function resolveContextWindowDetails(target, runtime, wireModelId, knowledgeBase
|
|
|
5046
5103
|
desiredContextWindow: desired,
|
|
5047
5104
|
effectiveContextWindow: effective,
|
|
5048
5105
|
contextWindowSource: source,
|
|
5106
|
+
contextWindowSlots,
|
|
5049
5107
|
warning,
|
|
5050
5108
|
provenanceNotice
|
|
5051
5109
|
};
|
|
@@ -5708,6 +5766,7 @@ var ollamaNativeApiProvider = {
|
|
|
5708
5766
|
|
|
5709
5767
|
// src/engine/apis/openai-completions.ts
|
|
5710
5768
|
init_esm_shims();
|
|
5769
|
+
import { TextDecoder as TextDecoder2 } from "node:util";
|
|
5711
5770
|
import {
|
|
5712
5771
|
createAssistantMessageEventStream as createAssistantMessageEventStream3
|
|
5713
5772
|
} from "@earendil-works/pi-ai";
|
|
@@ -6095,6 +6154,12 @@ async function loadOwnedInstance(target, targetKey, body, apiKey, signal) {
|
|
|
6095
6154
|
if (instanceId) ownedInstances(targetKey).add(instanceId);
|
|
6096
6155
|
return instanceId;
|
|
6097
6156
|
}
|
|
6157
|
+
var announcedResidencyFacts = /* @__PURE__ */ new Set();
|
|
6158
|
+
function emitResidencyNoticeOnce(key, notice) {
|
|
6159
|
+
if (announcedResidencyFacts.has(key)) return;
|
|
6160
|
+
announcedResidencyFacts.add(key);
|
|
6161
|
+
emitResidencyNotice(notice);
|
|
6162
|
+
}
|
|
6098
6163
|
async function ensureLmStudioResidency(model, options = {}) {
|
|
6099
6164
|
const target = targetForModel(model);
|
|
6100
6165
|
if (!target) return model.id;
|
|
@@ -6117,7 +6182,7 @@ async function ensureLmStudioResidency(model, options = {}) {
|
|
|
6117
6182
|
);
|
|
6118
6183
|
}
|
|
6119
6184
|
if (resolution.wireModelId !== model.id) {
|
|
6120
|
-
|
|
6185
|
+
emitResidencyNoticeOnce(`resolved|${info.targetId}|${model.id}|${resolution.wireModelId}`, {
|
|
6121
6186
|
kind: "co-resident",
|
|
6122
6187
|
level: "info",
|
|
6123
6188
|
targetId: info.targetId,
|
|
@@ -6128,14 +6193,16 @@ async function ensureLmStudioResidency(model, options = {}) {
|
|
|
6128
6193
|
});
|
|
6129
6194
|
}
|
|
6130
6195
|
if (resolution.peerTargets.length > 0) {
|
|
6131
|
-
|
|
6196
|
+
const peers = resolution.peerTargets.join(", ");
|
|
6197
|
+
const requested = resolution.wireModelId === model.id ? "" : ` (requested '${model.id}')`;
|
|
6198
|
+
emitResidencyNoticeOnce(`peer|${info.targetId}|${model.id}|${resolution.wireModelId}|${peers}`, {
|
|
6132
6199
|
kind: "co-resident",
|
|
6133
6200
|
level: "warning",
|
|
6134
6201
|
targetId: info.targetId,
|
|
6135
6202
|
runtimeId: "lmstudio",
|
|
6136
6203
|
model: resolution.wireModelId,
|
|
6137
|
-
message: `LM Studio instance '${resolution.wireModelId}' is also loaded on ${
|
|
6138
|
-
detail: {
|
|
6204
|
+
message: `LM Studio instance '${resolution.wireModelId}'${requested} is also loaded on ${peers}; a request may be served by that LM Link peer, and the footer and usage ledger name the id that answered when it differs.`,
|
|
6205
|
+
detail: { requestedModel: model.id, wireModel: resolution.wireModelId, peerTargets: peers }
|
|
6139
6206
|
});
|
|
6140
6207
|
}
|
|
6141
6208
|
if (!load || Object.keys(load).length === 0 || resolution.instance) return resolution.wireModelId;
|
|
@@ -6221,6 +6288,98 @@ function pickSamplingProfile2(quirks, thinkingActive) {
|
|
|
6221
6288
|
function isPlainRecord(value) {
|
|
6222
6289
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
6223
6290
|
}
|
|
6291
|
+
function observeResponseModelIdLine(line, capture) {
|
|
6292
|
+
if (capture.done) return;
|
|
6293
|
+
const normalized = line.endsWith("\r") ? line.slice(0, -1) : line;
|
|
6294
|
+
if (!normalized.startsWith("data:")) return;
|
|
6295
|
+
const data = normalized.slice("data:".length).trimStart();
|
|
6296
|
+
if (data.length === 0 || data === "[DONE]") return;
|
|
6297
|
+
try {
|
|
6298
|
+
const payload = JSON.parse(data);
|
|
6299
|
+
if (!isPlainRecord(payload)) return;
|
|
6300
|
+
const model = payload.model;
|
|
6301
|
+
if (typeof model === "string" && model.trim().length > 0) {
|
|
6302
|
+
capture.reportedModelId = model.trim();
|
|
6303
|
+
capture.done = true;
|
|
6304
|
+
}
|
|
6305
|
+
} catch {
|
|
6306
|
+
}
|
|
6307
|
+
}
|
|
6308
|
+
function observeResponseModelIdBytes(chunk, capture, flush = false) {
|
|
6309
|
+
if (capture.done || !capture.decoder) return;
|
|
6310
|
+
capture.buffer += chunk ? capture.decoder.decode(chunk, { stream: !flush }) : capture.decoder.decode();
|
|
6311
|
+
let newline = capture.buffer.indexOf("\n");
|
|
6312
|
+
while (newline >= 0) {
|
|
6313
|
+
const line = capture.buffer.slice(0, newline);
|
|
6314
|
+
capture.buffer = capture.buffer.slice(newline + 1);
|
|
6315
|
+
observeResponseModelIdLine(line, capture);
|
|
6316
|
+
if (capture.done) {
|
|
6317
|
+
capture.buffer = "";
|
|
6318
|
+
capture.decoder = null;
|
|
6319
|
+
return;
|
|
6320
|
+
}
|
|
6321
|
+
newline = capture.buffer.indexOf("\n");
|
|
6322
|
+
}
|
|
6323
|
+
if (flush && capture.buffer.length > 0) {
|
|
6324
|
+
observeResponseModelIdLine(capture.buffer, capture);
|
|
6325
|
+
capture.buffer = "";
|
|
6326
|
+
}
|
|
6327
|
+
if (capture.done || flush) capture.decoder = null;
|
|
6328
|
+
}
|
|
6329
|
+
function captureResponseModelId(response, capture) {
|
|
6330
|
+
if (!response.body || !response.headers.get("content-type")?.toLowerCase().includes("text/event-stream")) {
|
|
6331
|
+
return response;
|
|
6332
|
+
}
|
|
6333
|
+
const body = response.body.pipeThrough(
|
|
6334
|
+
new TransformStream({
|
|
6335
|
+
transform(chunk, controller) {
|
|
6336
|
+
capture.observed = true;
|
|
6337
|
+
if (!capture.done) observeResponseModelIdBytes(chunk, capture);
|
|
6338
|
+
controller.enqueue(chunk);
|
|
6339
|
+
},
|
|
6340
|
+
flush() {
|
|
6341
|
+
capture.observed = true;
|
|
6342
|
+
if (!capture.done) observeResponseModelIdBytes(void 0, capture, true);
|
|
6343
|
+
}
|
|
6344
|
+
})
|
|
6345
|
+
);
|
|
6346
|
+
return new Response(body, {
|
|
6347
|
+
status: response.status,
|
|
6348
|
+
statusText: response.statusText,
|
|
6349
|
+
headers: response.headers
|
|
6350
|
+
});
|
|
6351
|
+
}
|
|
6352
|
+
function withResponseModelIdCapture(options, sourceFactory) {
|
|
6353
|
+
const capture = {
|
|
6354
|
+
reportedModelId: null,
|
|
6355
|
+
observed: false,
|
|
6356
|
+
done: false,
|
|
6357
|
+
buffer: "",
|
|
6358
|
+
decoder: new TextDecoder2()
|
|
6359
|
+
};
|
|
6360
|
+
const fetchImpl = options.fetch ?? ((input, init) => globalThis.fetch(input, init));
|
|
6361
|
+
const capturedOptions = {
|
|
6362
|
+
...options,
|
|
6363
|
+
fetch: async (input, init) => captureResponseModelId(await fetchImpl(input, init), capture)
|
|
6364
|
+
};
|
|
6365
|
+
const source = sourceFactory(capturedOptions);
|
|
6366
|
+
const annotated = createAssistantMessageEventStream3();
|
|
6367
|
+
(async () => {
|
|
6368
|
+
try {
|
|
6369
|
+
for await (const event of source) {
|
|
6370
|
+
const observation = capture.observed ? capture.reportedModelId === null ? { state: "not-reported" } : { state: "reported", reportedModelId: capture.reportedModelId } : { state: "not-observed" };
|
|
6371
|
+
if (event.type === "done") event.message.responseModelIdObservation = observation;
|
|
6372
|
+
else if (event.type === "error") event.error.responseModelIdObservation = observation;
|
|
6373
|
+
annotated.push(event);
|
|
6374
|
+
}
|
|
6375
|
+
annotated.end();
|
|
6376
|
+
} catch (err) {
|
|
6377
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
6378
|
+
throw new Error(message);
|
|
6379
|
+
}
|
|
6380
|
+
})();
|
|
6381
|
+
return annotated;
|
|
6382
|
+
}
|
|
6224
6383
|
function samplingParamsFromProfile(profile) {
|
|
6225
6384
|
return {
|
|
6226
6385
|
...profile.topP !== void 0 ? { top_p: profile.topP } : {},
|
|
@@ -6704,16 +6863,15 @@ var openAICompletionsApiProvider = {
|
|
|
6704
6863
|
stripSentinelsFromStream(
|
|
6705
6864
|
stripNeverReasoningFromStream(
|
|
6706
6865
|
filterGemmaChannelStream(
|
|
6707
|
-
|
|
6708
|
-
model,
|
|
6709
|
-
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
effectiveContext,
|
|
6716
|
-
withRemainingContextBudget(model, effectiveContext, withSamplers)
|
|
6866
|
+
withResponseModelIdCapture(
|
|
6867
|
+
withRemainingContextBudget(model, effectiveContext, withSamplers),
|
|
6868
|
+
(capturedOptions) => withLocalResidency(
|
|
6869
|
+
model,
|
|
6870
|
+
{
|
|
6871
|
+
...options?.apiKey !== void 0 ? { apiKey: options.apiKey } : {},
|
|
6872
|
+
...options?.signal !== void 0 ? { signal: options.signal } : {}
|
|
6873
|
+
},
|
|
6874
|
+
(requestModel) => piOpenAICompletions.stream(requestModel, effectiveContext, capturedOptions)
|
|
6717
6875
|
)
|
|
6718
6876
|
),
|
|
6719
6877
|
resolved.family === "gemma-4"
|
|
@@ -6736,16 +6894,15 @@ var openAICompletionsApiProvider = {
|
|
|
6736
6894
|
stripSentinelsFromStream(
|
|
6737
6895
|
stripNeverReasoningFromStream(
|
|
6738
6896
|
filterGemmaChannelStream(
|
|
6739
|
-
|
|
6740
|
-
model,
|
|
6741
|
-
|
|
6742
|
-
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
effectiveContext,
|
|
6748
|
-
withRemainingContextBudget(model, effectiveContext, withSamplers)
|
|
6897
|
+
withResponseModelIdCapture(
|
|
6898
|
+
withRemainingContextBudget(model, effectiveContext, withSamplers),
|
|
6899
|
+
(capturedOptions) => withLocalResidency(
|
|
6900
|
+
model,
|
|
6901
|
+
{
|
|
6902
|
+
...options?.apiKey !== void 0 ? { apiKey: options.apiKey } : {},
|
|
6903
|
+
...options?.signal !== void 0 ? { signal: options.signal } : {}
|
|
6904
|
+
},
|
|
6905
|
+
(requestModel) => piOpenAICompletions.streamSimple(requestModel, effectiveContext, capturedOptions)
|
|
6749
6906
|
)
|
|
6750
6907
|
),
|
|
6751
6908
|
resolved.family === "gemma-4"
|
|
@@ -7557,6 +7714,7 @@ export {
|
|
|
7557
7714
|
registerClioApiProviders,
|
|
7558
7715
|
resolveProviderKnowledgeBaseRoots,
|
|
7559
7716
|
loadPluginRuntimes,
|
|
7717
|
+
formatContextWindowSlots,
|
|
7560
7718
|
registerBuiltinRuntimes,
|
|
7561
7719
|
FileKnowledgeBase,
|
|
7562
7720
|
isOrchestratorEligibleRuntime,
|
|
@@ -7578,7 +7736,8 @@ export {
|
|
|
7578
7736
|
runtimeTargetSnapshot,
|
|
7579
7737
|
firstRuntimeResolutionError,
|
|
7580
7738
|
runtimeResolutionWarnings,
|
|
7739
|
+
runtimeResolutionWarningsBesideThinkingNotice,
|
|
7581
7740
|
normalizeCostProvenance,
|
|
7582
7741
|
ProvidersDomainModule
|
|
7583
7742
|
};
|
|
7584
|
-
//# sourceMappingURL=chunk-
|
|
7743
|
+
//# sourceMappingURL=chunk-DJVECN66.js.map
|