@iowarp/clio-coder 0.3.2 → 0.3.4
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 +269 -458
- package/CONTRIBUTING.md +1 -1
- package/README.md +3 -3
- package/dist/{acp-BIYHVZIM.js → acp-S5R4RR5B.js} +7 -6
- package/dist/{agents-YT6SSRIT.js → agents-P6DMMVZY.js} +24 -21
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-5TWEIYDN.js → auth-2XCZLPKS.js} +12 -8
- package/dist/{chunk-GGXXDWE4.js → chunk-22NAGB7X.js} +2 -2
- package/dist/{chunk-WMSVI4G2.js → chunk-2LZI5CAG.js} +133 -13
- package/dist/{chunk-OAO4GE4M.js → chunk-2TZWSW76.js} +2 -2
- package/dist/{chunk-OOJYHWRB.js → chunk-34475P3I.js} +2 -2
- package/dist/{chunk-WVO7V2QY.js → chunk-35MKKU5R.js} +4 -4
- package/dist/{chunk-LBNRH5WM.js → chunk-3HZ5RWN2.js} +5 -5
- package/dist/{chunk-AGYYIBLL.js → chunk-3JLKSKD7.js} +2 -2
- package/dist/{chunk-MBS4V7ZP.js → chunk-4JUF2NNX.js} +7 -7
- package/dist/{chunk-ZDOOVTXZ.js → chunk-4OC57DA6.js} +27 -4
- package/dist/chunk-5M54SPOL.js +926 -0
- package/dist/{chunk-STBPMHSX.js → chunk-7RXG6QRZ.js} +51 -11
- package/dist/{chunk-77VKQEHF.js → chunk-A2GZF7DC.js} +5 -5
- package/dist/{chunk-A3CYT5EX.js → chunk-AD2SYQYC.js} +55 -2
- package/dist/chunk-AOCYTWAV.js +449 -0
- package/dist/chunk-BEY543CS.js +258 -0
- package/dist/{chunk-6N5PTWMY.js → chunk-BP4OYD6A.js} +32 -13
- package/dist/chunk-BPGS2WCQ.js +612 -0
- package/dist/{chunk-J5HN4RYU.js → chunk-BRXQQJFP.js} +8 -8
- package/dist/chunk-CFGTUFWB.js +67 -0
- package/dist/{chunk-CBCAPZAA.js → chunk-E25LMLRW.js} +2 -2
- package/dist/{chunk-G2DE3C7R.js → chunk-EDRHSCIE.js} +4 -4
- package/dist/{chunk-4KLWL3UC.js → chunk-EFADSJET.js} +2 -2
- package/dist/{chunk-M6SHUN7Q.js → chunk-FO5ZOVUY.js} +2 -2
- package/dist/chunk-FYYLNIL5.js +313 -0
- package/dist/{chunk-EPVUXGXG.js → chunk-HV5X7OR2.js} +14 -12
- package/dist/{chunk-TZTZS7QK.js → chunk-HXG4IURW.js} +5 -3
- package/dist/{chunk-IGLFWIYI.js → chunk-K6WL7QZT.js} +3 -3
- package/dist/chunk-K7VKOLQQ.js +15 -0
- package/dist/{chunk-BMEMKKIT.js → chunk-KOHPCX4K.js} +2 -2
- package/dist/{chunk-V4RXGQ5Q.js → chunk-KRPY7NTG.js} +10 -7
- package/dist/chunk-LL4KHSZI.js +22 -0
- package/dist/{chunk-KJ5LWLOE.js → chunk-MEQ45TQ4.js} +15 -9
- package/dist/{chunk-5UUP6MWO.js → chunk-MV3K5QF2.js} +5 -436
- package/dist/{chunk-AO4RKG4M.js → chunk-N4CZJQRK.js} +5 -5
- package/dist/{chunk-ARBGF5F7.js → chunk-NILBFAPG.js} +14 -8
- package/dist/chunk-OZNBF4L3.js +23 -0
- package/dist/{verify-G6V4D2G7.js → chunk-PCZJO5TI.js} +127 -42
- package/dist/chunk-QQK64KLB.js +1360 -0
- package/dist/{chunk-6EJV5X2W.js → chunk-QQL5RT5M.js} +979 -1619
- package/dist/{chunk-LZSJBIVT.js → chunk-QWU7ZBO7.js} +70 -720
- package/dist/{chunk-2EHAIA3X.js → chunk-RD5U66HV.js} +3 -3
- package/dist/{chunk-OKGUZO2U.js → chunk-SPULKLCF.js} +4 -3
- package/dist/{chunk-OQ33BKR3.js → chunk-TTNYS3EA.js} +3 -60
- package/dist/chunk-TW3WDMVS.js +677 -0
- package/dist/chunk-TZSKNMZG.js +434 -0
- package/dist/{chunk-7MNJORFF.js → chunk-UL3WSD3F.js} +6 -1
- package/dist/{chunk-7EYHLWU7.js → chunk-UZHIZC5S.js} +7 -7
- package/dist/{chunk-QTYWRVRA.js → chunk-VAWWTKDP.js} +8 -8
- package/dist/{chunk-X75S7HFS.js → chunk-VEZEGCGW.js} +214 -20
- package/dist/{chunk-OHHN2SO4.js → chunk-VMNQ6OZA.js} +98 -202
- package/dist/chunk-VSNATDE6.js +122 -0
- package/dist/chunk-W6GROXXM.js +69 -0
- package/dist/chunk-WPQLXFOZ.js +375 -0
- package/dist/{chunk-ORBHGJC5.js → chunk-WR67VIZY.js} +3 -3
- package/dist/{chunk-3ZXDFGR5.js → chunk-X6COSD2O.js} +5 -5
- package/dist/chunk-ZGVHUX3M.js +66 -0
- package/dist/{chunk-MAW544W2.js → chunk-ZWMF7253.js} +4 -4
- package/dist/{chunk-MQSRRFWA.js → chunk-ZYKPLLNQ.js} +563 -546
- package/dist/cli/index.js +27 -23
- package/dist/{clio-4LY5K2AC.js → clio-J5JIOIDS.js} +7 -6
- package/dist/{code-nav-7AX6FYE6.js → code-nav-AXCXSBHX.js} +5 -3
- package/dist/{config-GTLUW2PR.js → config-OEBMIN2U.js} +37 -27
- package/dist/{configure-R6A64DHX.js → configure-PUQOSIXQ.js} +16 -13
- package/dist/{context-5VKGUVJJ.js → context-EKDCKUUZ.js} +82 -7
- package/dist/{context-RW5HC47S.js → context-MGSE4Z2T.js} +33 -23
- package/dist/{context-JFZEJ7W5.js → context-URSXPBCK.js} +17 -9
- package/dist/{context-clear-6ZHBAZZT.js → context-clear-KDAJRNUK.js} +33 -23
- package/dist/context-working-set-SBKMPPI2.js +1552 -0
- package/dist/{dispatch-runner-VKBRCWQC.js → dispatch-runner-MSWN72NK.js} +43 -29
- package/dist/{doctor-KI767GSN.js → doctor-7BSE27PJ.js} +10 -10
- package/dist/{eval-XSSNATB4.js → eval-IZGDOO4H.js} +9 -8
- package/dist/{evidence-UA6AWDQQ.js → evidence-SR7WXB5B.js} +51 -23
- package/dist/{evolve-QNTFGV6Z.js → evolve-K7VE2CBX.js} +30 -20
- package/dist/{fleet-Q7UOMUSG.js → fleet-7XMJNQNF.js} +48 -38
- package/dist/{fleet-preflight-DDN536IT.js → fleet-preflight-AQNAH644.js} +3 -3
- package/dist/{init-WBB65ZHQ.js → init-JGNPAYXT.js} +41 -31
- package/dist/{memory-MD3O64RI.js → memory-4ALKDJ4Q.js} +32 -22
- package/dist/{models-BZU34YWD.js → models-ZMMLFJNN.js} +22 -19
- package/dist/{monitor-MEQA5C3I.js → monitor-2F3T5KHP.js} +55 -43
- package/dist/{orchestrator-CGFKEP27.js → orchestrator-ORHT43JB.js} +2507 -1896
- package/dist/{reset-L2FQEE3E.js → reset-NXGTYNUO.js} +4 -3
- package/dist/{run-IV4Q6RLN.js → run-RF4WJGMT.js} +51 -41
- package/dist/{share-S5BZQC5I.js → share-UT3W6E4M.js} +5 -4
- package/dist/{skills-LQEKRDTN.js → skills-PSACKC5Q.js} +2 -2
- package/dist/{skills-eval-3DC4HEWS.js → skills-eval-WJSI55RZ.js} +34 -24
- package/dist/{targets-C4SSGQOB.js → targets-PIIRAOYS.js} +23 -20
- package/dist/{terminal-lease-IT5JW2NR.js → terminal-lease-ULWXWNVY.js} +5 -4
- package/dist/{upgrade-7TT7SQ3G.js → upgrade-346TZ6AV.js} +18 -17
- package/dist/{usage-GV4PKT3M.js → usage-6KKXR32N.js} +34 -24
- package/dist/verifiers-4UUM6TEE.js +1214 -0
- package/dist/verify-X5HDROLA.js +25 -0
- package/dist/{wiki-generate-DQF6Z66B.js → wiki-generate-7STOCIFZ.js} +42 -31
- package/dist/worker/entry.js +33 -24
- package/docs/README.md +8 -7
- package/docs/acp.md +1 -1
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -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 +53 -21
- package/docs/config-knobs-audit.md +1 -2
- package/docs/configuration-and-targets.md +15 -1
- package/docs/context-engine.md +64 -12
- package/docs/context-working-set.md +194 -0
- package/docs/development-pipeline.md +1 -1
- package/docs/documentation-coverage.md +5 -5
- package/docs/documentation-guide.md +6 -5
- package/docs/environment-variables.md +2 -1
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +14 -1
- package/docs/evidence-and-memory.md +74 -2
- 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 +22 -7
- package/docs/glossary.md +21 -1
- package/docs/installation-and-lifecycle.md +6 -6
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +7 -9
- package/docs/observability.md +4 -4
- package/docs/performance-methodology.md +2 -2
- package/docs/proactive-memory.md +1 -1
- package/docs/prompt-envelope-and-tools.md +4 -4
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +35 -35
- package/docs/safety-model.md +23 -4
- package/docs/scientific-validation.md +21 -3
- package/docs/session-lifecycle.md +3 -3
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +79 -12
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +2 -2
- package/docs/worker-dispatch-mechanics.md +11 -1
- package/package.json +8 -11
- package/skills/meta/clio-test/SKILL.md +20 -17
- package/skills/meta/clio-test/evals.md +3 -3
- package/skills/meta/clio-test/references/harness.md +35 -6
- package/skills/meta/clio-test/references/test-map.md +20 -10
- package/skills/registry.yaml +2 -2
- package/skills/skill-marketplace.json +1 -1
- package/src/cli/context-working-set.ts +513 -0
- package/src/cli/context.ts +8 -0
- package/src/cli/evidence.ts +20 -2
- package/src/cli/index.ts +4 -0
- package/src/cli/verifiers.ts +325 -0
- package/src/core/bash-exec.ts +39 -14
- package/src/core/bus-events.ts +19 -4
- package/src/core/config.ts +54 -0
- package/src/core/defaults.ts +50 -3
- package/src/core/git-commit-attribution.ts +46 -21
- package/src/core/verification-scripts.ts +6 -0
- package/src/domains/agents/builtins/verifier.md +3 -0
- package/src/domains/config/classify.ts +1 -0
- package/src/domains/config/keybindings.ts +3 -3
- package/src/domains/context/working-set/contract.ts +161 -0
- package/src/domains/context/working-set/defaults.ts +28 -0
- package/src/domains/context/working-set/engine.ts +203 -0
- package/src/domains/context/working-set/fold.ts +62 -0
- package/src/domains/context/working-set/horizon.ts +38 -0
- package/src/domains/context/working-set/marker.ts +103 -0
- package/src/domains/context/working-set/path-index.ts +436 -0
- package/src/domains/context/working-set/payload.ts +152 -0
- package/src/domains/context/working-set/policies/age-horizon.ts +55 -0
- package/src/domains/context/working-set/policies/index.ts +21 -0
- package/src/domains/context/working-set/policies/structural.ts +160 -0
- package/src/domains/context/working-set/project.ts +132 -0
- package/src/domains/context/working-set/protect.ts +109 -0
- package/src/domains/context/working-set/recall.ts +177 -0
- package/src/domains/context/working-set/replay/controls.ts +112 -0
- package/src/domains/context/working-set/replay/load-clio.ts +199 -0
- package/src/domains/context/working-set/replay/metrics.ts +185 -0
- package/src/domains/context/working-set/replay/reference-graph.ts +79 -0
- package/src/domains/context/working-set/replay/report.ts +139 -0
- package/src/domains/context/working-set/replay/runner.ts +325 -0
- package/src/domains/context/working-set/replay/synthetic.ts +422 -0
- package/src/domains/context/working-set/replay/trace.ts +21 -0
- package/src/domains/context/working-set/visible.ts +54 -0
- package/src/domains/evidence/build.ts +112 -45
- package/src/domains/evidence/eval.ts +24 -7
- package/src/domains/evidence/index.ts +53 -0
- package/src/domains/evidence/ordering.ts +12 -0
- package/src/domains/evidence/run-trust.ts +221 -0
- package/src/domains/evidence/store.ts +46 -6
- package/src/domains/evidence/trust-status.ts +854 -0
- package/src/domains/evidence/types.ts +26 -0
- package/src/domains/middleware/memory-intervention.ts +3 -0
- package/src/domains/middleware/stalled-turn.ts +165 -4
- package/src/domains/safety/autonomy.ts +1 -1
- package/src/domains/safety/default-path-policy.ts +8 -0
- package/src/domains/safety/finish-contract.ts +4 -3
- package/src/domains/safety/policy-engine.ts +48 -6
- package/src/domains/session/compaction/compact.ts +23 -1
- package/src/domains/session/compaction/cut-point.ts +2 -0
- package/src/domains/session/compaction/tokens.ts +16 -1
- package/src/domains/session/context-ledger.ts +2 -0
- package/src/domains/session/entries.ts +107 -1
- package/src/domains/session/manager.ts +9 -2
- package/src/domains/session/migrations/index.ts +22 -3
- package/src/engine/acp/server.ts +3 -0
- package/src/engine/agent.ts +18 -1
- package/src/engine/session.ts +9 -3
- package/src/entry/orchestrator.ts +16 -4
- package/src/interactive/chat-loop-messages.ts +18 -6
- package/src/interactive/chat-panel.ts +571 -244
- package/src/interactive/chat-renderer.ts +79 -39
- package/src/interactive/context-meter.ts +10 -0
- package/src/interactive/context-overlay.ts +81 -6
- package/src/interactive/context-recall-command.ts +110 -0
- package/src/interactive/editor-submit.ts +26 -1
- package/src/interactive/footer/widgets.ts +22 -20
- package/src/interactive/footer-panel.ts +6 -1
- package/src/interactive/interactive-application.ts +2 -0
- package/src/interactive/interactive-event-projection.ts +12 -0
- package/src/interactive/interactive-slash-runtime.ts +49 -8
- package/src/interactive/model-session-replay.ts +21 -0
- package/src/interactive/overlay-general-openers.ts +6 -0
- package/src/interactive/overlay-session-lifecycle.ts +8 -4
- package/src/interactive/overlays/ask-user.ts +146 -24
- package/src/interactive/renderers/tool-execution.ts +167 -56
- package/src/interactive/session-transcript.ts +2 -2
- package/src/interactive/slash-commands.ts +29 -2
- package/src/interactive/status/index.ts +12 -1
- package/src/interactive/status/reasoning.ts +87 -0
- package/src/interactive/status/summary.ts +13 -2
- package/src/interactive/transcript-detail.ts +120 -0
- package/src/interactive/turn-context.ts +238 -88
- package/src/interactive/turn-middleware.ts +6 -6
- package/src/tools/agent-tools.ts +11 -4
- package/src/tools/bash.ts +144 -82
- package/src/tools/builtin-tool-catalog.ts +18 -6
- package/src/tools/context/index.ts +105 -3
- package/src/tools/context/surface.ts +3 -2
- package/src/tools/core-bootstrap.ts +21 -0
- package/src/tools/dispatch-runner.ts +9 -7
- package/src/tools/monitor.ts +28 -20
- package/src/tools/presentation.ts +107 -0
- package/src/tools/registry.ts +65 -7
- package/src/tools/result-disposition.ts +550 -0
- package/src/tools/result-shaping.ts +262 -19
- package/src/tools/safe-exec.ts +2 -0
- package/src/tools/verify/authoring.ts +1119 -0
- package/src/tools/verify/catalog.ts +346 -0
- package/src/tools/verify/index.ts +13 -3
- package/src/tools/verify/scripts.ts +135 -37
- package/src/tools/verify/surface.ts +9 -5
- package/src/tools/worker-evidence.ts +35 -12
- package/dist/chunk-MNA4JGU4.js +0 -255
- package/dist/chunk-SRF2PJNW.js +0 -184
- package/dist/chunk-T6YILFSB.js +0 -80
- package/dist/chunk-VAKQQHWR.js +0 -434
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
filterEntriesToActivePath
|
|
4
|
+
} from "./chunk-W6GROXXM.js";
|
|
5
|
+
import {
|
|
6
|
+
init_esm_shims
|
|
7
|
+
} from "./chunk-3R73A4XB.js";
|
|
8
|
+
|
|
9
|
+
// src/domains/context/working-set/fold.ts
|
|
10
|
+
init_esm_shims();
|
|
11
|
+
function refKey(ref) {
|
|
12
|
+
return ref.entry;
|
|
13
|
+
}
|
|
14
|
+
function parseRefKey(key) {
|
|
15
|
+
const trimmed = key.trim();
|
|
16
|
+
if (trimmed.length === 0 || /\s/.test(trimmed)) return null;
|
|
17
|
+
return { entry: trimmed };
|
|
18
|
+
}
|
|
19
|
+
function foldWorkingSet(entries, activeLeafTurnId) {
|
|
20
|
+
const active = filterEntriesToActivePath(entries, activeLeafTurnId);
|
|
21
|
+
const evicted = /* @__PURE__ */ new Map();
|
|
22
|
+
let evictionEvents = 0;
|
|
23
|
+
let itemsEvicted = 0;
|
|
24
|
+
let recalls = 0;
|
|
25
|
+
let lastPolicyId = null;
|
|
26
|
+
let lastEvictionTurnId = null;
|
|
27
|
+
for (const entry of active) {
|
|
28
|
+
if (entry.kind === "contextEviction") {
|
|
29
|
+
evictionEvents += 1;
|
|
30
|
+
lastPolicyId = entry.policyId;
|
|
31
|
+
lastEvictionTurnId = entry.turnId;
|
|
32
|
+
for (const item of entry.evicted) {
|
|
33
|
+
itemsEvicted += 1;
|
|
34
|
+
evicted.set(refKey(item.ref), {
|
|
35
|
+
reason: item.reason,
|
|
36
|
+
marker: item.marker,
|
|
37
|
+
...item.by === void 0 ? {} : { by: item.by },
|
|
38
|
+
tokensFreed: item.tokensFreed,
|
|
39
|
+
evictedAtTurnId: entry.turnId,
|
|
40
|
+
policyId: entry.policyId
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (entry.kind === "contextRecall") recalls += 1;
|
|
46
|
+
}
|
|
47
|
+
return { evicted, evictionEvents, itemsEvicted, recalls, lastPolicyId, lastEvictionTurnId };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/domains/context/working-set/path-index.ts
|
|
51
|
+
init_esm_shims();
|
|
52
|
+
import { basename, isAbsolute, join, normalize, resolve } from "node:path";
|
|
53
|
+
|
|
54
|
+
// src/domains/context/working-set/horizon.ts
|
|
55
|
+
init_esm_shims();
|
|
56
|
+
function isTurnStart(entry) {
|
|
57
|
+
if (entry.kind === "bashExecution" || entry.kind === "branchSummary") return true;
|
|
58
|
+
return entry.kind === "message" && entry.role === "user";
|
|
59
|
+
}
|
|
60
|
+
function protectionCutoffIndex(entries, protectLastTurns) {
|
|
61
|
+
const horizon = Math.max(1, Math.floor(protectLastTurns));
|
|
62
|
+
let seen = 0;
|
|
63
|
+
for (let i = entries.length - 1; i >= 0; i -= 1) {
|
|
64
|
+
const entry = entries[i];
|
|
65
|
+
if (!entry || !isTurnStart(entry)) continue;
|
|
66
|
+
seen += 1;
|
|
67
|
+
if (seen >= horizon) return i;
|
|
68
|
+
}
|
|
69
|
+
return 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/domains/context/working-set/payload.ts
|
|
73
|
+
init_esm_shims();
|
|
74
|
+
function isRecord(value) {
|
|
75
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
76
|
+
}
|
|
77
|
+
function toolResultPayload(payload) {
|
|
78
|
+
const obj = isRecord(payload) ? payload : { result: payload };
|
|
79
|
+
const result = obj.result ?? obj.output ?? obj.out ?? obj.content ?? payload;
|
|
80
|
+
const toolName = typeof obj.toolName === "string" && obj.toolName || typeof obj.name === "string" && obj.name || typeof obj.tool === "string" && obj.tool || "tool";
|
|
81
|
+
return { obj, result, toolName };
|
|
82
|
+
}
|
|
83
|
+
function textFromContent(content) {
|
|
84
|
+
if (!Array.isArray(content)) return "";
|
|
85
|
+
const parts = [];
|
|
86
|
+
for (const block of content) {
|
|
87
|
+
if (!isRecord(block)) continue;
|
|
88
|
+
if (block.type === "text" && typeof block.text === "string") parts.push(block.text);
|
|
89
|
+
}
|
|
90
|
+
return parts.join("");
|
|
91
|
+
}
|
|
92
|
+
function stringifyBody(value) {
|
|
93
|
+
if (value === void 0 || value === null) return "";
|
|
94
|
+
if (typeof value === "string") return value;
|
|
95
|
+
try {
|
|
96
|
+
return JSON.stringify(value) ?? "";
|
|
97
|
+
} catch {
|
|
98
|
+
return String(value);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function toolResultText(result) {
|
|
102
|
+
if (typeof result === "string") return result;
|
|
103
|
+
if (!isRecord(result)) return stringifyBody(result);
|
|
104
|
+
const contentText = textFromContent(result.content);
|
|
105
|
+
if (contentText.length > 0) return contentText;
|
|
106
|
+
if (typeof result.text === "string") return result.text;
|
|
107
|
+
if (typeof result.output === "string") return result.output;
|
|
108
|
+
if (typeof result.message === "string") return result.message;
|
|
109
|
+
return stringifyBody(result);
|
|
110
|
+
}
|
|
111
|
+
function toolResultBodyTokens(payload) {
|
|
112
|
+
return Math.ceil(toolResultText(toolResultPayload(payload).result).length / 4);
|
|
113
|
+
}
|
|
114
|
+
function nestedRecord(parent, key) {
|
|
115
|
+
if (parent === null) return null;
|
|
116
|
+
const value = parent[key];
|
|
117
|
+
return isRecord(value) ? value : null;
|
|
118
|
+
}
|
|
119
|
+
function stringField(record, key) {
|
|
120
|
+
if (record === null) return void 0;
|
|
121
|
+
const value = record[key];
|
|
122
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
123
|
+
}
|
|
124
|
+
function offloadPathOf(payload) {
|
|
125
|
+
const details = nestedRecord(isRecord(payload.result) ? payload.result : null, "details");
|
|
126
|
+
return stringField(nestedRecord(details, "resultDisposition"), "offloadPath") ?? stringField(nestedRecord(details, "observation"), "offloadPath") ?? stringField(nestedRecord(details, "resultSize"), "offloadPath") ?? stringField(nestedRecord(payload.obj, "resultSummary"), "offloadPath");
|
|
127
|
+
}
|
|
128
|
+
function primaryPathOf(payload) {
|
|
129
|
+
const details = nestedRecord(isRecord(payload.result) ? payload.result : null, "details");
|
|
130
|
+
const paths = details?.paths;
|
|
131
|
+
if (!Array.isArray(paths) || paths.length !== 1) return void 0;
|
|
132
|
+
const first = paths[0];
|
|
133
|
+
return typeof first === "string" && first.length > 0 ? first : void 0;
|
|
134
|
+
}
|
|
135
|
+
function isThinkingBlock(block) {
|
|
136
|
+
return isRecord(block) && block.type === "thinking";
|
|
137
|
+
}
|
|
138
|
+
function hasThinking(payload) {
|
|
139
|
+
const obj = isRecord(payload) ? payload : null;
|
|
140
|
+
if (obj === null) return false;
|
|
141
|
+
if (Array.isArray(obj.content) && obj.content.some(isThinkingBlock)) return true;
|
|
142
|
+
return typeof obj.thinking === "string" && obj.thinking.length > 0;
|
|
143
|
+
}
|
|
144
|
+
function withoutThinkingBlocks(content) {
|
|
145
|
+
if (!Array.isArray(content)) return void 0;
|
|
146
|
+
return content.filter((block) => !isThinkingBlock(block));
|
|
147
|
+
}
|
|
148
|
+
function hasLegacyCompactionMarker(payload) {
|
|
149
|
+
if (!isRecord(payload)) return false;
|
|
150
|
+
if (isRecord(payload.contextCompaction)) return true;
|
|
151
|
+
if (isRecord(nestedRecord(payload, "resultSummary")?.contextCompaction)) return true;
|
|
152
|
+
const result = payload.result ?? payload.output ?? payload.out;
|
|
153
|
+
return isRecord(nestedRecord(isRecord(result) ? result : null, "details")?.contextCompaction);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// src/domains/context/working-set/path-index.ts
|
|
157
|
+
function rangeEnd(range) {
|
|
158
|
+
return range.limit === null ? Number.POSITIVE_INFINITY : range.offset + range.limit;
|
|
159
|
+
}
|
|
160
|
+
function isFullRead(range) {
|
|
161
|
+
return range !== null && range.offset === 0 && range.limit === null;
|
|
162
|
+
}
|
|
163
|
+
function covers(later, earlier) {
|
|
164
|
+
if (isFullRead(later)) return true;
|
|
165
|
+
if (later === null || earlier === null) return false;
|
|
166
|
+
return later.offset <= earlier.offset && rangeEnd(later) >= rangeEnd(earlier);
|
|
167
|
+
}
|
|
168
|
+
var LISTING_COMMANDS = /* @__PURE__ */ new Set(["ls", "find", "tree", "fd", "rg", "grep"]);
|
|
169
|
+
var MATCH_LINE_COMMANDS = /* @__PURE__ */ new Set(["rg", "grep"]);
|
|
170
|
+
var TOOL_OPS = /* @__PURE__ */ new Map([
|
|
171
|
+
["read", "read"],
|
|
172
|
+
["grep", "grep"],
|
|
173
|
+
["find", "find"],
|
|
174
|
+
["ls", "ls"],
|
|
175
|
+
["code_nav", "code_nav"],
|
|
176
|
+
["write", "write"],
|
|
177
|
+
["edit", "edit"],
|
|
178
|
+
["artifact", "write"],
|
|
179
|
+
["bash", "bash"],
|
|
180
|
+
["git", "bash"],
|
|
181
|
+
["verify", "bash"]
|
|
182
|
+
]);
|
|
183
|
+
var CODE_NAV_PATH_MODES = /* @__PURE__ */ new Set(["path", "outline", "deps", "dependents"]);
|
|
184
|
+
var LISTING_OPS = /* @__PURE__ */ new Set(["grep", "find", "ls", "bash"]);
|
|
185
|
+
function canonicalize(value, cwd) {
|
|
186
|
+
const trimmed = value.trim();
|
|
187
|
+
if (trimmed.length === 0) return "";
|
|
188
|
+
if (isAbsolute(trimmed)) return normalize(trimmed);
|
|
189
|
+
return cwd === null ? normalize(trimmed) : resolve(cwd, trimmed);
|
|
190
|
+
}
|
|
191
|
+
function usableCwd(options) {
|
|
192
|
+
const cwd = options?.cwd;
|
|
193
|
+
if (typeof cwd !== "string" || cwd.trim().length === 0 || !isAbsolute(cwd)) return null;
|
|
194
|
+
return normalize(cwd);
|
|
195
|
+
}
|
|
196
|
+
function stableStringify(value) {
|
|
197
|
+
if (value === null) return "null";
|
|
198
|
+
if (Array.isArray(value)) return `[${value.map(stableStringify).join(",")}]`;
|
|
199
|
+
if (isRecord(value)) {
|
|
200
|
+
const keys = Object.keys(value).sort();
|
|
201
|
+
return `{${keys.map((key) => `${JSON.stringify(key)}:${stableStringify(value[key])}`).join(",")}}`;
|
|
202
|
+
}
|
|
203
|
+
if (value === void 0) return "null";
|
|
204
|
+
return JSON.stringify(value) ?? "null";
|
|
205
|
+
}
|
|
206
|
+
function callFacts(toolName, args) {
|
|
207
|
+
return { toolName, args, argsKey: args === void 0 ? "" : stableStringify(args) };
|
|
208
|
+
}
|
|
209
|
+
function stringField2(record, ...keys) {
|
|
210
|
+
if (record === null) return null;
|
|
211
|
+
for (const key of keys) {
|
|
212
|
+
const value = record[key];
|
|
213
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
214
|
+
}
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
function payloadRecord(payload) {
|
|
218
|
+
return isRecord(payload) ? payload : null;
|
|
219
|
+
}
|
|
220
|
+
function collectToolCalls(entries) {
|
|
221
|
+
const calls = /* @__PURE__ */ new Map();
|
|
222
|
+
for (const entry of entries) {
|
|
223
|
+
if (entry.kind !== "message") continue;
|
|
224
|
+
const obj = payloadRecord(entry.payload);
|
|
225
|
+
if (entry.role === "tool_call" && obj !== null) {
|
|
226
|
+
const id = stringField2(obj, "toolCallId", "tool_call_id", "id") ?? entry.turnId;
|
|
227
|
+
const name = stringField2(obj, "name", "toolName", "tool") ?? "tool";
|
|
228
|
+
calls.set(id, callFacts(name, obj.args ?? obj.arguments ?? obj.input));
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
if (entry.role !== "assistant" || obj === null || !Array.isArray(obj.content)) continue;
|
|
232
|
+
for (const block of obj.content) {
|
|
233
|
+
if (!isRecord(block) || block.type !== "toolCall") continue;
|
|
234
|
+
const id = stringField2(block, "id", "toolCallId") ?? entry.turnId;
|
|
235
|
+
const name = stringField2(block, "name", "toolName") ?? "tool";
|
|
236
|
+
calls.set(id, callFacts(name, block.arguments ?? block.args ?? block.input));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return calls;
|
|
240
|
+
}
|
|
241
|
+
function callPathsByToolCallId(entries) {
|
|
242
|
+
const paths = /* @__PURE__ */ new Map();
|
|
243
|
+
for (const [id, call] of collectToolCalls(entries)) {
|
|
244
|
+
const named = stringField2(isRecord(call.args) ? call.args : null, "path", "file_path", "filePath");
|
|
245
|
+
if (named !== null) paths.set(id, named);
|
|
246
|
+
}
|
|
247
|
+
return paths;
|
|
248
|
+
}
|
|
249
|
+
function observedPath(op, args, cwd) {
|
|
250
|
+
if (op === "bash") {
|
|
251
|
+
const explicit = stringField2(args, "cwd");
|
|
252
|
+
return explicit === null ? "" : canonicalize(explicit, cwd);
|
|
253
|
+
}
|
|
254
|
+
if (op === "code_nav") {
|
|
255
|
+
const mode = stringField2(args, "mode");
|
|
256
|
+
if (mode === null || !CODE_NAV_PATH_MODES.has(mode)) return "";
|
|
257
|
+
const query = stringField2(args, "query");
|
|
258
|
+
return query === null ? "" : canonicalize(query, cwd);
|
|
259
|
+
}
|
|
260
|
+
const named = stringField2(args, "path", "file_path", "filePath");
|
|
261
|
+
if (named !== null) return canonicalize(named, cwd);
|
|
262
|
+
if (op === "grep" || op === "find" || op === "ls") return cwd ?? ".";
|
|
263
|
+
return "";
|
|
264
|
+
}
|
|
265
|
+
function readRange(args) {
|
|
266
|
+
if (args === null) return { offset: 0, limit: null };
|
|
267
|
+
const tail = args.tail;
|
|
268
|
+
if (typeof tail === "number" && Number.isFinite(tail) && tail > 0) return null;
|
|
269
|
+
const rawOffset = args.offset;
|
|
270
|
+
const rawLimit = args.limit;
|
|
271
|
+
const offset = typeof rawOffset === "number" && Number.isFinite(rawOffset) && rawOffset > 1 ? Math.floor(rawOffset) - 1 : 0;
|
|
272
|
+
const limit = typeof rawLimit === "number" && Number.isFinite(rawLimit) && rawLimit > 0 ? Math.floor(rawLimit) : null;
|
|
273
|
+
return { offset, limit };
|
|
274
|
+
}
|
|
275
|
+
function looksLikeConcreteFilePath(line) {
|
|
276
|
+
const text = line.trim();
|
|
277
|
+
if (text.length === 0) return false;
|
|
278
|
+
if (text.startsWith("[")) return false;
|
|
279
|
+
if (text.endsWith("/")) return false;
|
|
280
|
+
return !/\s/.test(text);
|
|
281
|
+
}
|
|
282
|
+
function pathFromMatchLine(line) {
|
|
283
|
+
const match = /^([^\s:]+):\d+[:-]/.exec(line.trim());
|
|
284
|
+
return match?.[1] ?? null;
|
|
285
|
+
}
|
|
286
|
+
function surfacedPaths(op, args, text, root, cwd) {
|
|
287
|
+
const lines = text.split("\n");
|
|
288
|
+
const matchLines = op === "grep" || op === "bash" && isMatchLineCommand(args);
|
|
289
|
+
const out = [];
|
|
290
|
+
const seen = /* @__PURE__ */ new Set();
|
|
291
|
+
for (const line of lines) {
|
|
292
|
+
const raw = matchLines ? pathFromMatchLine(line) ?? candidateWholeLine(line) : candidateWholeLine(line);
|
|
293
|
+
if (raw === null) continue;
|
|
294
|
+
const resolved = resolveSurfaced(raw, root, cwd);
|
|
295
|
+
if (resolved.length === 0 || seen.has(resolved)) continue;
|
|
296
|
+
seen.add(resolved);
|
|
297
|
+
out.push(resolved);
|
|
298
|
+
}
|
|
299
|
+
return out;
|
|
300
|
+
}
|
|
301
|
+
function candidateWholeLine(line) {
|
|
302
|
+
return looksLikeConcreteFilePath(line) ? line.trim() : null;
|
|
303
|
+
}
|
|
304
|
+
function isMatchLineCommand(args) {
|
|
305
|
+
const verb = commandVerb(args);
|
|
306
|
+
return verb !== null && MATCH_LINE_COMMANDS.has(verb);
|
|
307
|
+
}
|
|
308
|
+
function commandVerb(args) {
|
|
309
|
+
const command = stringField2(args, "command");
|
|
310
|
+
if (command === null) return null;
|
|
311
|
+
const first = command.trimStart().split(/\s+/)[0];
|
|
312
|
+
return first === void 0 || first.length === 0 ? null : basename(first);
|
|
313
|
+
}
|
|
314
|
+
function resolveSurfaced(value, root, cwd) {
|
|
315
|
+
if (isAbsolute(value)) return normalize(value);
|
|
316
|
+
if (root.length === 0) return canonicalize(value, cwd);
|
|
317
|
+
if (basename(root) === value) return canonicalize(root, cwd);
|
|
318
|
+
return canonicalize(join(root, value), cwd);
|
|
319
|
+
}
|
|
320
|
+
function shouldParseSurfaced(op, args, isError) {
|
|
321
|
+
if (isError || !LISTING_OPS.has(op)) return false;
|
|
322
|
+
if (op !== "bash") return true;
|
|
323
|
+
const verb = commandVerb(args);
|
|
324
|
+
return verb !== null && LISTING_COMMANDS.has(verb);
|
|
325
|
+
}
|
|
326
|
+
function fileEntryOp(operation) {
|
|
327
|
+
if (operation === "read") return "read";
|
|
328
|
+
if (operation === "edit") return "edit";
|
|
329
|
+
return "write";
|
|
330
|
+
}
|
|
331
|
+
function toolResultObservation(entry, context) {
|
|
332
|
+
const obj = payloadRecord(entry.payload);
|
|
333
|
+
const toolCallId = stringField2(obj, "toolCallId", "tool_call_id", "id");
|
|
334
|
+
const call = toolCallId === null ? void 0 : context.calls.get(toolCallId);
|
|
335
|
+
const toolName = stringField2(obj, "toolName", "name", "tool") ?? call?.toolName ?? "tool";
|
|
336
|
+
const op = TOOL_OPS.get(toolName);
|
|
337
|
+
if (op === void 0) return null;
|
|
338
|
+
const args = call !== void 0 && isRecord(call.args) ? call.args : null;
|
|
339
|
+
const isError = obj?.isError === true || obj?.error === true;
|
|
340
|
+
const isBlocked = obj?.outcome === "blocked" || typeof obj?.blockReason === "string";
|
|
341
|
+
const path = observedPath(op, args, context.cwd);
|
|
342
|
+
const surfaced = shouldParseSurfaced(op, args, isError) ? surfacedPaths(op, args, toolResultText(obj?.result ?? entry.payload), path, context.cwd) : [];
|
|
343
|
+
return {
|
|
344
|
+
ref: { entry: entry.turnId },
|
|
345
|
+
toolCallId,
|
|
346
|
+
toolName,
|
|
347
|
+
op,
|
|
348
|
+
path,
|
|
349
|
+
range: op === "read" ? readRange(args) : null,
|
|
350
|
+
surfaced,
|
|
351
|
+
isError,
|
|
352
|
+
isBlocked,
|
|
353
|
+
turnIndex: context.turnIndex,
|
|
354
|
+
entryIndex: context.entryIndex,
|
|
355
|
+
argsKey: call?.argsKey ?? ""
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
function buildPathIndex(entries, options) {
|
|
359
|
+
const cwd = usableCwd(options);
|
|
360
|
+
const calls = collectToolCalls(entries);
|
|
361
|
+
const observations = [];
|
|
362
|
+
const byRef = /* @__PURE__ */ new Map();
|
|
363
|
+
const byPath = /* @__PURE__ */ new Map();
|
|
364
|
+
const turnIndexOf = /* @__PURE__ */ new Map();
|
|
365
|
+
let turnIndex = 0;
|
|
366
|
+
for (let entryIndex = 0; entryIndex < entries.length; entryIndex += 1) {
|
|
367
|
+
const entry = entries[entryIndex];
|
|
368
|
+
if (entry === void 0) continue;
|
|
369
|
+
turnIndexOf.set(entry.turnId, turnIndex);
|
|
370
|
+
let observation = null;
|
|
371
|
+
if (entry.kind === "fileEntry") {
|
|
372
|
+
observation = {
|
|
373
|
+
ref: { entry: entry.turnId },
|
|
374
|
+
toolCallId: null,
|
|
375
|
+
toolName: "fileEntry",
|
|
376
|
+
op: fileEntryOp(entry.operation),
|
|
377
|
+
path: canonicalize(entry.path, cwd),
|
|
378
|
+
range: null,
|
|
379
|
+
surfaced: [],
|
|
380
|
+
isError: false,
|
|
381
|
+
isBlocked: false,
|
|
382
|
+
turnIndex,
|
|
383
|
+
entryIndex,
|
|
384
|
+
argsKey: ""
|
|
385
|
+
};
|
|
386
|
+
} else if (entry.kind === "message" && entry.role === "tool_result") {
|
|
387
|
+
observation = toolResultObservation(entry, { entryIndex, turnIndex, cwd, calls });
|
|
388
|
+
}
|
|
389
|
+
if (observation !== null) {
|
|
390
|
+
observations.push(observation);
|
|
391
|
+
byRef.set(observation.ref.entry, observation);
|
|
392
|
+
if (observation.path.length > 0) {
|
|
393
|
+
const bucket = byPath.get(observation.path);
|
|
394
|
+
if (bucket === void 0) byPath.set(observation.path, [observation]);
|
|
395
|
+
else bucket.push(observation);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
if (isTurnStart(entry)) turnIndex += 1;
|
|
399
|
+
}
|
|
400
|
+
return { observations, byRef, byPath, turnIndexOf, turnCount: turnIndex };
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/domains/context/working-set/contract.ts
|
|
404
|
+
init_esm_shims();
|
|
405
|
+
var EMPTY_WORKING_SET_VIEW = Object.freeze({
|
|
406
|
+
evicted: /* @__PURE__ */ new Map(),
|
|
407
|
+
evictionEvents: 0,
|
|
408
|
+
itemsEvicted: 0,
|
|
409
|
+
recalls: 0,
|
|
410
|
+
lastPolicyId: null,
|
|
411
|
+
lastEvictionTurnId: null
|
|
412
|
+
});
|
|
413
|
+
|
|
414
|
+
export {
|
|
415
|
+
refKey,
|
|
416
|
+
parseRefKey,
|
|
417
|
+
foldWorkingSet,
|
|
418
|
+
EMPTY_WORKING_SET_VIEW,
|
|
419
|
+
isTurnStart,
|
|
420
|
+
protectionCutoffIndex,
|
|
421
|
+
isRecord,
|
|
422
|
+
toolResultPayload,
|
|
423
|
+
toolResultText,
|
|
424
|
+
toolResultBodyTokens,
|
|
425
|
+
offloadPathOf,
|
|
426
|
+
primaryPathOf,
|
|
427
|
+
hasThinking,
|
|
428
|
+
withoutThinkingBlocks,
|
|
429
|
+
hasLegacyCompactionMarker,
|
|
430
|
+
covers,
|
|
431
|
+
callPathsByToolCallId,
|
|
432
|
+
buildPathIndex
|
|
433
|
+
};
|
|
434
|
+
//# sourceMappingURL=chunk-TZSKNMZG.js.map
|
|
@@ -7,9 +7,13 @@ import {
|
|
|
7
7
|
init_esm_shims();
|
|
8
8
|
var VERIFICATION_SCRIPT_FAMILY_HINT = "test*/lint*/build*/typecheck*/check*/format*/ci*";
|
|
9
9
|
var VERIFICATION_SCRIPT_PATTERN = /^(?:test|lint|build|typecheck|check|format|ci)(?:[:.-].*)?$/;
|
|
10
|
+
var PROJECT_VERIFIER_CHECK_ID_PATTERN = /^[a-z0-9][a-z0-9._:-]*$/;
|
|
10
11
|
function isVerificationScriptName(name) {
|
|
11
12
|
return VERIFICATION_SCRIPT_PATTERN.test(name);
|
|
12
13
|
}
|
|
14
|
+
function isProjectVerifierCheckId(name) {
|
|
15
|
+
return PROJECT_VERIFIER_CHECK_ID_PATTERN.test(name);
|
|
16
|
+
}
|
|
13
17
|
function declaredVerificationScripts(scripts) {
|
|
14
18
|
return Object.keys(scripts).filter((name) => isVerificationScriptName(name)).sort((a, b) => a.localeCompare(b));
|
|
15
19
|
}
|
|
@@ -17,6 +21,7 @@ function declaredVerificationScripts(scripts) {
|
|
|
17
21
|
export {
|
|
18
22
|
VERIFICATION_SCRIPT_FAMILY_HINT,
|
|
19
23
|
isVerificationScriptName,
|
|
24
|
+
isProjectVerifierCheckId,
|
|
20
25
|
declaredVerificationScripts
|
|
21
26
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-UL3WSD3F.js.map
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-5WIGXA4T.js";
|
|
5
5
|
import {
|
|
6
6
|
loadMemoryRecordsSync
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BRXQQJFP.js";
|
|
8
8
|
import {
|
|
9
9
|
sha256
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QQL5RT5M.js";
|
|
11
11
|
import {
|
|
12
12
|
WIKI_INDEX,
|
|
13
13
|
WIKI_PLAN_FILE,
|
|
@@ -61,12 +61,12 @@ import {
|
|
|
61
61
|
import {
|
|
62
62
|
enumerateWorkspaceFiles
|
|
63
63
|
} from "./chunk-EKMEHE4H.js";
|
|
64
|
-
import {
|
|
65
|
-
ceilChars
|
|
66
|
-
} from "./chunk-LZSJBIVT.js";
|
|
67
64
|
import {
|
|
68
65
|
INTEROP_AGENT_KINDS
|
|
69
66
|
} from "./chunk-IHXBNWMM.js";
|
|
67
|
+
import {
|
|
68
|
+
ceilChars
|
|
69
|
+
} from "./chunk-BPGS2WCQ.js";
|
|
70
70
|
import {
|
|
71
71
|
require_dist
|
|
72
72
|
} from "./chunk-APJ265NV.js";
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
} from "./chunk-BNAZZHFG.js";
|
|
77
77
|
import {
|
|
78
78
|
BusChannels
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-TTNYS3EA.js";
|
|
80
80
|
import {
|
|
81
81
|
classifyProjectPreload
|
|
82
82
|
} from "./chunk-JVCV3ICN.js";
|
|
@@ -4172,4 +4172,4 @@ export {
|
|
|
4172
4172
|
buildWikiPlanPrompt,
|
|
4173
4173
|
buildWikiPagePrompt
|
|
4174
4174
|
};
|
|
4175
|
-
//# sourceMappingURL=chunk-
|
|
4175
|
+
//# sourceMappingURL=chunk-UZHIZC5S.js.map
|
|
@@ -9,24 +9,24 @@ import {
|
|
|
9
9
|
detectInteropAgents,
|
|
10
10
|
fingerprintNativeRuntime,
|
|
11
11
|
resolveOnPath
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RD5U66HV.js";
|
|
13
13
|
import {
|
|
14
14
|
initializeClioHome
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KOHPCX4K.js";
|
|
16
16
|
import {
|
|
17
17
|
formatSettingsIssues,
|
|
18
18
|
readSettings,
|
|
19
19
|
validateSettingsFile
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AD2SYQYC.js";
|
|
21
21
|
import {
|
|
22
22
|
openAuthStorage
|
|
23
23
|
} from "./chunk-4VP4KH3K.js";
|
|
24
|
-
import {
|
|
25
|
-
readSessionFileEntries
|
|
26
|
-
} from "./chunk-M6SHUN7Q.js";
|
|
27
24
|
import {
|
|
28
25
|
interopAgentKind
|
|
29
26
|
} from "./chunk-IHXBNWMM.js";
|
|
27
|
+
import {
|
|
28
|
+
readSessionFileEntries
|
|
29
|
+
} from "./chunk-FO5ZOVUY.js";
|
|
30
30
|
import {
|
|
31
31
|
clioStatePath,
|
|
32
32
|
resolveClioDirs
|
|
@@ -337,7 +337,7 @@ async function runDoctorFleetChecks(projectRoot = process.cwd()) {
|
|
|
337
337
|
}
|
|
338
338
|
const nodes = settings.fleet?.nodes ?? [];
|
|
339
339
|
if (nodes.length === 0) return [];
|
|
340
|
-
const { recordFleetPreflight, runFleetNodePreflight } = await import("./fleet-preflight-
|
|
340
|
+
const { recordFleetPreflight, runFleetNodePreflight } = await import("./fleet-preflight-AQNAH644.js");
|
|
341
341
|
const targets = (settings.targets ?? []).map((target) => ({
|
|
342
342
|
id: target.id,
|
|
343
343
|
runtimeId: target.runtime,
|
|
@@ -437,4 +437,4 @@ export {
|
|
|
437
437
|
runDoctorInteropChecks,
|
|
438
438
|
runDoctorRuntimeChecks
|
|
439
439
|
};
|
|
440
|
-
//# sourceMappingURL=chunk-
|
|
440
|
+
//# sourceMappingURL=chunk-VAWWTKDP.js.map
|