@iowarp/clio-coder 0.3.6 → 0.3.7
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 +28 -0
- package/README.md +16 -5
- package/dist/{acp-2BEHC4DL.js → acp-SK4MD6MM.js} +10 -10
- package/dist/{agents-LNNFTM53.js → agents-2FN2K6ME.js} +30 -25
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-KXXFI2VS.js → auth-QIYZWM5I.js} +13 -13
- package/dist/{chunk-KHSFENX2.js → chunk-3HAPLH5M.js} +10 -10
- package/dist/{chunk-24I7BN55.js → chunk-465YSENW.js} +2 -2
- package/dist/{chunk-4OC57DA6.js → chunk-4DGYLA73.js} +53 -2
- package/dist/{chunk-CYQKWTG3.js → chunk-4DWFMQDR.js} +4 -4
- package/dist/{chunk-E2ER4LJF.js → chunk-5C3AQNDW.js} +25 -1
- package/dist/{chunk-22NAGB7X.js → chunk-5C77SEEY.js} +5 -94
- package/dist/{chunk-43AOLP7E.js → chunk-5FR74PWO.js} +2 -1
- package/dist/{chunk-K7T3E2SR.js → chunk-5UJ6ECTS.js} +10 -9
- package/dist/{chunk-6US73PDB.js → chunk-6M7VS3J3.js} +5 -5
- package/dist/{chunk-CJUB2JJ2.js → chunk-6TUKSZVF.js} +5 -5
- package/dist/{chunk-5JGRAMKL.js → chunk-AB4XIIVB.js} +8 -6
- package/dist/{chunk-R46L2BIR.js → chunk-BMWK7ZIZ.js} +14 -20
- package/dist/{chunk-4BPJXDWC.js → chunk-C4JBQ5SR.js} +30 -14
- package/dist/{chunk-XXQNGV4M.js → chunk-CEYBNUGC.js} +243 -63
- package/dist/{chunk-VEZEGCGW.js → chunk-D4MDIG46.js} +20 -18
- package/dist/chunk-DJNLUABN.js +843 -0
- package/dist/{chunk-RY3LY4J5.js → chunk-DMD2AGVS.js} +5 -4
- package/dist/{chunk-KOHPCX4K.js → chunk-DOOEX22V.js} +2 -2
- package/dist/chunk-DQA7QLMD.js +123 -0
- package/dist/chunk-DR52UMZW.js +21 -0
- package/dist/{chunk-XF5N4U5A.js → chunk-EBEFWSGL.js} +6 -5
- package/dist/{chunk-EYPA3EGJ.js → chunk-EELBMBT6.js} +120 -13
- package/dist/{chunk-CKXWIANG.js → chunk-EOOQZZDE.js} +16 -14
- package/dist/{chunk-WR67VIZY.js → chunk-FOT2FX5J.js} +63 -5
- package/dist/{chunk-FYYLNIL5.js → chunk-GH5622CP.js} +2 -2
- package/dist/chunk-GWS3VEIW.js +195 -0
- package/dist/{chunk-LYF7OHWH.js → chunk-J7PIKKWC.js} +8 -463
- package/dist/{chunk-NILBFAPG.js → chunk-JNXPYBB4.js} +2 -2
- package/dist/{chunk-4VP4KH3K.js → chunk-JRIO5UD2.js} +4 -4
- package/dist/{chunk-6XXKFVSN.js → chunk-JTSEDYVQ.js} +7 -7
- package/dist/{chunk-QKMUKYO7.js → chunk-KCMKRQX4.js} +236 -84
- package/dist/chunk-KZ2H5X4G.js +1026 -0
- package/dist/{chunk-QNQHSOLF.js → chunk-LADCF22A.js} +12 -12
- package/dist/chunk-M4AKACEO.js +382 -0
- package/dist/{chunk-XYDYPRZI.js → chunk-MXI6J5JF.js} +7 -7
- package/dist/{chunk-G7MUEIGA.js → chunk-OB5HIGJY.js} +1 -1
- package/dist/{chunk-EKY57CSP.js → chunk-OBMAI2DP.js} +61 -767
- package/dist/chunk-PD3MESLB.js +242 -0
- package/dist/{chunk-ZRGEBJ4T.js → chunk-QCTRSGHQ.js} +21 -21
- package/dist/chunk-RVG5JXAL.js +41 -0
- package/dist/{chunk-RD5U66HV.js → chunk-SROCI7ZU.js} +7 -7
- package/dist/{chunk-MFFY33HR.js → chunk-THKY7CD7.js} +466 -205
- package/dist/{chunk-PCZJO5TI.js → chunk-UFQ3F4FW.js} +13 -178
- package/dist/{chunk-AD2SYQYC.js → chunk-UHXRNZ2J.js} +121 -3
- package/dist/chunk-UND3GU2L.js +103 -0
- package/dist/{chunk-QM3F2GKX.js → chunk-UUANF5CR.js} +2247 -2096
- package/dist/chunk-UVDSQ6LW.js +472 -0
- package/dist/{chunk-DJVECN66.js → chunk-VQNODYQ4.js} +14 -14
- package/dist/{chunk-3BPUFZDL.js → chunk-VREKEFLL.js} +3 -3
- package/dist/{chunk-PBTHKCPN.js → chunk-WJHBC77E.js} +6 -6
- package/dist/{chunk-XE2VEJHX.js → chunk-X2KV5FXT.js} +2 -2
- package/dist/{chunk-ZXF4XRKW.js → chunk-XEGB6BCN.js} +157 -7
- package/dist/{chunk-E25LMLRW.js → chunk-YD734TPH.js} +2 -2
- package/dist/{verifiers-NCBTHHN2.js → chunk-YTYFXUI3.js} +65 -322
- package/dist/{chunk-OH3TOQTB.js → chunk-ZGH7FGS5.js} +13 -7
- package/dist/cli/index.js +32 -30
- package/dist/{clio-M2KGYUFZ.js → clio-WBVQEBKO.js} +7 -7
- package/dist/{code-nav-GQNL7XA6.js → code-nav-FGGFIE7L.js} +3 -3
- package/dist/{components-5TTYYX6G.js → components-F7OEATSO.js} +4 -4
- package/dist/{config-XUUYQIWO.js → config-TRBL3RCF.js} +34 -29
- package/dist/{configure-IHJ7YOMV.js → configure-OLCVPHNM.js} +15 -15
- package/dist/{context-74JLXAWD.js → context-MJIJ6GOX.js} +11 -11
- package/dist/{context-ZQ7SIFJV.js → context-WFPKQSM6.js} +19 -3
- package/dist/{context-75MIWW3U.js → context-XEWE3MOJ.js} +31 -26
- package/dist/{context-clear-GYKWNUML.js → context-clear-KNOS2JPB.js} +31 -26
- package/dist/{context-working-set-UX5KEP4J.js → context-working-set-EUXAZI6N.js} +8 -8
- package/dist/{dispatch-runner-GIJBHNFL.js → dispatch-runner-B7MTOVKL.js} +313 -53
- package/dist/{docs-6FZSCG5B.js → docs-FLJTIDSE.js} +4 -4
- package/dist/{doctor-SVJ5BZCW.js → doctor-RN4YKO2X.js} +14 -14
- package/dist/{eval-CG6LLBLD.js → eval-RUBJVSNQ.js} +8 -7
- package/dist/{evidence-ZYFIEN42.js → evidence-JZNBUOQZ.js} +30 -25
- package/dist/{evolve-QGEXEMDW.js → evolve-FJVC4KKI.js} +30 -25
- package/dist/{extensions-ADGNCJJD.js → extensions-IQL36S7K.js} +4 -4
- package/dist/{fleet-S5R4ZOQY.js → fleet-BDKYJFCP.js} +214 -360
- package/dist/fleet-commands-ZFIWZSB3.js +70 -0
- package/dist/fleet-graph-Y6HPXIVF.js +125 -0
- package/dist/fleet-new-RDVJLHHH.js +48 -0
- package/dist/fleet-validate-BIYREGIK.js +79 -0
- package/dist/{init-5DRU55YR.js → init-LQUB5COQ.js} +44 -37
- package/dist/library-NJAHIGG4.js +217 -0
- package/dist/{memory-7YKKR6UC.js → memory-OG6HOYKM.js} +31 -26
- package/dist/{models-ZPOLRU2C.js → models-5ZG5XY7J.js} +21 -20
- package/dist/{monitor-US5F5YGZ.js → monitor-TJ7AMTGB.js} +49 -30
- package/dist/{orchestrator-E2AL4T5N.js → orchestrator-WZYB54DM.js} +3827 -581
- package/dist/{paths-E7KYAQWE.js → paths-XUC7GS6E.js} +4 -4
- package/dist/{reset-KZ652EK6.js → reset-PXQT45IY.js} +7 -7
- package/dist/{run-SRNBKDWD.js → run-FQ74YF62.js} +53 -45
- package/dist/{share-CGZE33UP.js → share-FW7SVCL3.js} +33 -9
- package/dist/{skills-S2X4DLY5.js → skills-7E7IRB3R.js} +24 -8
- package/dist/{skills-eval-W2GGIC4R.js → skills-eval-LI75W6OK.js} +34 -27
- package/dist/{targets-54SWINWB.js → targets-4CIFKCTW.js} +23 -22
- package/dist/{terminal-lease-SAIF2OGY.js → terminal-lease-WUZY7ZV5.js} +4 -4
- package/dist/{uninstall-BVLWXKBT.js → uninstall-7FV7IP4E.js} +4 -4
- package/dist/{upgrade-JKAR27XC.js → upgrade-K2HVIVMQ.js} +20 -19
- package/dist/{usage-MSAWCLX4.js → usage-GTZELZQX.js} +116 -49
- package/dist/verifiers-RLAHT27O.js +336 -0
- package/dist/{verify-X5HDROLA.js → verify-BX3BRKH5.js} +7 -6
- package/dist/{wiki-generate-GUSOQ6ZP.js → wiki-generate-ASIFASCN.js} +45 -37
- package/dist/worker/entry.js +38 -35
- package/docs/README.md +3 -2
- package/docs/acp.md +1 -1
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-versions.md +10 -6
- package/docs/built-in-agents.md +26 -2
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +82 -2
- package/docs/configuration-and-targets.md +79 -2
- package/docs/context-engine.md +1 -1
- package/docs/development-pipeline.md +1 -1
- package/docs/dispatch-architecture-rationale.md +1 -1
- package/docs/documentation-coverage.md +3 -3
- package/docs/documentation-guide.md +3 -3
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +1 -1
- package/docs/evidence-and-memory.md +5 -5
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +4 -1
- package/docs/extensions-and-sharing.md +6 -2
- package/docs/fleet-demo-runbook.md +2 -2
- package/docs/fleet-dispatch.md +197 -10
- package/docs/git-commit-provenance.md +2 -2
- package/docs/glossary.md +1 -1
- package/docs/installation-and-lifecycle.md +2 -2
- package/docs/middleware-and-components.md +2 -1
- package/docs/model-catalog.md +1 -1
- package/docs/observability.md +55 -8
- package/docs/proactive-memory.md +1 -1
- package/docs/prompt-envelope-and-tools.md +1 -1
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +79 -64
- package/docs/resource-library.md +59 -0
- package/docs/safety-model.md +2 -2
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +37 -1
- package/docs/skills-marketplace.md +16 -3
- package/docs/tool-usage.md +14 -7
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +1 -1
- package/docs/worker-dispatch-mechanics.md +3 -3
- package/package.json +1 -1
- package/src/cli/fleet-commands.ts +37 -0
- package/src/cli/fleet-graph.ts +102 -0
- package/src/cli/fleet-new.ts +36 -0
- package/src/cli/fleet-preflight.ts +121 -0
- package/src/cli/fleet-validate.ts +30 -0
- package/src/cli/fleet.ts +173 -335
- package/src/cli/index.ts +3 -1
- package/src/cli/library.ts +190 -0
- package/src/cli/share.ts +13 -1
- package/src/cli/usage.ts +111 -19
- package/src/core/bus-events.ts +4 -0
- package/src/core/commit-attribution.ts +4 -4
- package/src/core/config.ts +130 -0
- package/src/core/defaults.ts +81 -0
- package/src/domains/agents/builtins/architect.md +1 -0
- package/src/domains/agents/builtins/oracle.md +33 -0
- package/src/domains/agents/catalog.ts +13 -1
- package/src/domains/agents/fleet-contract.ts +278 -16
- package/src/domains/agents/index.ts +14 -0
- package/src/domains/agents/result-contract.ts +235 -1
- package/src/domains/config/classify.ts +4 -0
- package/src/domains/dispatch/active-route-planner.ts +14 -0
- package/src/domains/dispatch/backoff.ts +2 -1
- package/src/domains/dispatch/capability-match.ts +1 -0
- package/src/domains/dispatch/checkout-writer-lease.ts +175 -0
- package/src/domains/dispatch/contract.ts +34 -0
- package/src/domains/dispatch/delegation-plan.ts +167 -0
- package/src/domains/dispatch/execution-plan.ts +76 -5
- package/src/domains/dispatch/execution-role.ts +3 -1
- package/src/domains/dispatch/execution-scheduler.ts +183 -67
- package/src/domains/dispatch/extension.ts +258 -9
- package/src/domains/dispatch/fleet-gate.ts +14 -0
- package/src/domains/dispatch/fleet-plan.ts +63 -3
- package/src/domains/dispatch/fleet-run.ts +737 -0
- package/src/domains/dispatch/gate-role-prompts.ts +9 -0
- package/src/domains/dispatch/host-verification.ts +178 -0
- package/src/domains/dispatch/index.ts +38 -0
- package/src/domains/dispatch/intent.ts +159 -0
- package/src/domains/dispatch/receipt-integrity.ts +8 -4
- package/src/domains/dispatch/state.ts +36 -3
- package/src/domains/dispatch/types.ts +51 -6
- package/src/domains/dispatch/validation.ts +66 -6
- package/src/domains/evidence/trust-status.ts +10 -1
- package/src/domains/middleware/index.ts +15 -0
- package/src/domains/middleware/watchdog.ts +281 -0
- package/src/domains/observability/contract.ts +3 -1
- package/src/domains/observability/cost.ts +12 -1
- package/src/domains/observability/extension.ts +2 -2
- package/src/domains/observability/index.ts +10 -0
- package/src/domains/observability/out-of-turn-usage.ts +223 -0
- package/src/domains/resources/index.ts +20 -0
- package/src/domains/resources/library.ts +326 -0
- package/src/domains/resources/skills/marketplace.ts +37 -12
- package/src/domains/session/handoff.ts +629 -0
- package/src/domains/share/archive.ts +67 -2
- package/src/entry/orchestrator.ts +37 -0
- package/src/interactive/bus-notices.ts +26 -0
- package/src/interactive/chat-loop.ts +235 -1
- package/src/interactive/chat-renderer.ts +22 -0
- package/src/interactive/cost-overlay.ts +31 -3
- package/src/interactive/council-dispatch.ts +30 -0
- package/src/interactive/council-grid.ts +213 -0
- package/src/interactive/council.ts +99 -0
- package/src/interactive/dispatch-board.ts +260 -16
- package/src/interactive/fleet-run-preview.ts +307 -0
- package/src/interactive/footer/notifications.ts +219 -0
- package/src/interactive/handoff-round.ts +56 -0
- package/src/interactive/interactive-application.ts +43 -1
- package/src/interactive/interactive-event-projection.ts +9 -1
- package/src/interactive/interactive-slash-runtime.ts +52 -2
- package/src/interactive/interactive-subscriptions.ts +14 -2
- package/src/interactive/oracle.ts +179 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +6 -0
- package/src/interactive/overlay-general-openers.ts +190 -1
- package/src/interactive/overlay-key-routing.ts +17 -1
- package/src/interactive/overlay-lifecycle.ts +41 -1
- package/src/interactive/overlay-permission-lifecycle.ts +10 -0
- package/src/interactive/overlay-resource-openers.ts +11 -3
- package/src/interactive/overlay-session-lifecycle.ts +234 -2
- package/src/interactive/overlays/fleet-run-approval.ts +208 -0
- package/src/interactive/overlays/handoff-review.ts +185 -0
- package/src/interactive/overlays/library-install-confirm.ts +151 -0
- package/src/interactive/overlays/list-overlay.ts +168 -2
- package/src/interactive/overlays/settings.ts +101 -4
- package/src/interactive/overlays/side-question.ts +139 -0
- package/src/interactive/overlays/skills-hub.ts +401 -15
- package/src/interactive/side-question.ts +171 -0
- package/src/interactive/slash-commands.ts +432 -5
- package/src/interactive/slash-spec.ts +19 -6
- package/src/interactive/theme/tokens.ts +30 -0
- package/src/interactive/turn-middleware.ts +15 -1
- package/src/interactive/watchdog-run.ts +75 -0
- package/src/interactive/worker-share.ts +56 -1
- package/src/interactive/worker-stream.ts +7 -0
- package/src/tools/bootstrap.ts +3 -0
- package/src/tools/compete-worktrees.ts +13 -79
- package/src/tools/dispatch-admission.ts +242 -8
- package/src/tools/dispatch-arguments.ts +57 -1
- package/src/tools/dispatch-plan.ts +136 -6
- package/src/tools/dispatch-runner.ts +319 -13
- package/src/tools/dispatch-types.ts +20 -1
- package/src/tools/dispatch.ts +72 -2
- package/src/tools/monitor.ts +16 -0
- package/src/tools/profiles.ts +18 -4
- package/src/tools/task-worktree.ts +238 -0
- package/src/tools/verify/authoring.ts +61 -1
- package/src/tools/verify/scripts.ts +62 -0
- package/src/tools/worker-evidence.ts +2 -1
- package/src/worker/spec-contract.ts +1 -0
- package/dist/chunk-HC4CLZ2Y.js +0 -68
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
receiptResponseModelIdObservationLabel
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VREKEFLL.js";
|
|
5
5
|
import {
|
|
6
6
|
adaptRunReceiptTrustStatus
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UUANF5CR.js";
|
|
8
8
|
import {
|
|
9
9
|
formatBudgetPolicy,
|
|
10
10
|
formatBudgetReasons,
|
|
11
11
|
formatBudgetRequest,
|
|
12
12
|
formatEffectiveBudget
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-CEYBNUGC.js";
|
|
14
14
|
import {
|
|
15
15
|
mentionsWorkerToolCallCap
|
|
16
16
|
} from "./chunk-4ZG3XFUR.js";
|
|
@@ -94,6 +94,7 @@ function receiptEvidenceLabels(receipt, verification, integrity) {
|
|
|
94
94
|
canonical,
|
|
95
95
|
`receipt_integrity=verified/v${receipt.integrity.version}/${receipt.integrity.algorithm}`,
|
|
96
96
|
`evidence_verification=${verification.state}/${verification.basis}`,
|
|
97
|
+
`host_verification=${receipt.hostVerification?.status ?? "not_requested"}`,
|
|
97
98
|
...responseModelIdObservation ? [responseModelIdObservation] : [],
|
|
98
99
|
...budget,
|
|
99
100
|
...receiptAdmissionLabels(receipt),
|
|
@@ -170,4 +171,4 @@ export {
|
|
|
170
171
|
workerTextLabel,
|
|
171
172
|
workerTextNonEvidenceNotices
|
|
172
173
|
};
|
|
173
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-DMD2AGVS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
DEFAULT_SETTINGS_YAML
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4DGYLA73.js";
|
|
5
5
|
import {
|
|
6
6
|
clioCacheDir,
|
|
7
7
|
clioConfigDir,
|
|
@@ -143,4 +143,4 @@ function enforceHomePrefixGuard() {
|
|
|
143
143
|
export {
|
|
144
144
|
initializeClioHome
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-DOOEX22V.js.map
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
compileFleetExecutionPlan
|
|
4
|
+
} from "./chunk-M4AKACEO.js";
|
|
5
|
+
import {
|
|
6
|
+
loadRecipesFromDir,
|
|
7
|
+
mergeRecipes
|
|
8
|
+
} from "./chunk-UVDSQ6LW.js";
|
|
9
|
+
import {
|
|
10
|
+
loadFleetCommands,
|
|
11
|
+
loadFleetContract,
|
|
12
|
+
renderFleetPrompt
|
|
13
|
+
} from "./chunk-KCMKRQX4.js";
|
|
14
|
+
import {
|
|
15
|
+
requestExecutionRole,
|
|
16
|
+
withAttemptRole
|
|
17
|
+
} from "./chunk-UND3GU2L.js";
|
|
18
|
+
import {
|
|
19
|
+
normalizeAgentSpec
|
|
20
|
+
} from "./chunk-AOCYTWAV.js";
|
|
21
|
+
import {
|
|
22
|
+
readSettings
|
|
23
|
+
} from "./chunk-UHXRNZ2J.js";
|
|
24
|
+
import {
|
|
25
|
+
clioConfigDir
|
|
26
|
+
} from "./chunk-BNAZZHFG.js";
|
|
27
|
+
import {
|
|
28
|
+
resolvePackageRoot
|
|
29
|
+
} from "./chunk-IWHMRKLL.js";
|
|
30
|
+
import {
|
|
31
|
+
init_esm_shims
|
|
32
|
+
} from "./chunk-3R73A4XB.js";
|
|
33
|
+
|
|
34
|
+
// src/cli/fleet-preflight.ts
|
|
35
|
+
init_esm_shims();
|
|
36
|
+
import { join } from "node:path";
|
|
37
|
+
function discoverSpecs(cwd) {
|
|
38
|
+
const diagnostics = [];
|
|
39
|
+
const builtin = loadRecipesFromDir(
|
|
40
|
+
{ dir: join(resolvePackageRoot(), "src", "domains", "agents", "builtins"), source: "builtin" },
|
|
41
|
+
diagnostics
|
|
42
|
+
);
|
|
43
|
+
const user = loadRecipesFromDir({ dir: join(clioConfigDir(), "agents"), source: "user" }, diagnostics);
|
|
44
|
+
const project = loadRecipesFromDir({ dir: join(cwd, ".clio-coder", "agents"), source: "project" }, diagnostics);
|
|
45
|
+
return mergeRecipes(builtin, user, project).map(normalizeAgentSpec);
|
|
46
|
+
}
|
|
47
|
+
function inspectFleet(name, vars) {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
const contract = loadFleetContract(cwd, name);
|
|
50
|
+
const commands = loadFleetCommands(cwd);
|
|
51
|
+
const prompt = vars === void 0 ? contract.body : renderFleetPrompt(contract.body, vars);
|
|
52
|
+
const specs = discoverSpecs(cwd);
|
|
53
|
+
const byId = new Map(specs.map((spec) => [spec.id, spec]));
|
|
54
|
+
const resolved = /* @__PURE__ */ new Set();
|
|
55
|
+
const settings = readSettings();
|
|
56
|
+
const targetIds = new Set(settings.targets.map((target) => target.id));
|
|
57
|
+
const profileIds = new Set(Object.keys(settings.workers?.profiles ?? {}));
|
|
58
|
+
for (const step of contract.steps) {
|
|
59
|
+
const positions = step.kind === "loop" ? [
|
|
60
|
+
...step.check.kind === "agent" ? [{ id: `${step.id}.check`, route: step.check }] : [],
|
|
61
|
+
{ id: `${step.id}.repair`, route: step.repair }
|
|
62
|
+
] : step.kind === "agent" || step.kind === "gate" || step.kind === "plan" ? [{ id: step.id, route: step }] : [];
|
|
63
|
+
for (const position of positions) {
|
|
64
|
+
if (position.route.target !== void 0 && !targetIds.has(position.route.target)) {
|
|
65
|
+
throw new Error(`unknown target '${position.route.target}' at step '${position.id}'`);
|
|
66
|
+
}
|
|
67
|
+
if (position.route.profile !== void 0 && !profileIds.has(position.route.profile)) {
|
|
68
|
+
throw new Error(`unknown profile '${position.route.profile}' at step '${position.id}'`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const plan = compileFleetExecutionPlan({
|
|
73
|
+
contract,
|
|
74
|
+
task: prompt,
|
|
75
|
+
resolveAgent(context) {
|
|
76
|
+
const spec = byId.get(context.agentId);
|
|
77
|
+
if (spec === void 0) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`unknown agent '${context.agentId}' (step '${context.stepId}' must name a recipe from 'clio-coder agents')`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
if (spec.capabilityClass === "orchestration" || spec.capabilityClass === "internal") {
|
|
83
|
+
throw new Error(`fleet step '${context.stepId}' has no automatable agent authority`);
|
|
84
|
+
}
|
|
85
|
+
resolved.add(spec.id);
|
|
86
|
+
const role = requestExecutionRole({
|
|
87
|
+
agentId: spec.id,
|
|
88
|
+
resolveFacts: (id) => {
|
|
89
|
+
const found = byId.get(id);
|
|
90
|
+
return found === void 0 ? null : {
|
|
91
|
+
category: found.category,
|
|
92
|
+
capabilityClass: found.capabilityClass,
|
|
93
|
+
resultContractKind: found.resultContract.kind
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
...context.gateRole === void 0 ? {} : { gateRole: context.gateRole }
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
requestedAuthority: spec.capabilityClass,
|
|
100
|
+
approvedAuthority: spec.capabilityClass,
|
|
101
|
+
expectedResultContract: context.planRole === true ? "delegation-plan" : context.gateAuthorRole === true ? "artifact-report" : context.gateRole === "reviewer" ? "verifier-report" : spec.resultContract.kind,
|
|
102
|
+
executionRole: withAttemptRole(role, context.attempt)
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
contract,
|
|
108
|
+
commands,
|
|
109
|
+
plan,
|
|
110
|
+
checks: [
|
|
111
|
+
{ check: "parse", summary: `parsed contract version ${contract.version}` },
|
|
112
|
+
{ check: "graph", summary: `validated ${contract.steps.length} declared steps` },
|
|
113
|
+
{ check: "commands", summary: `validated ${plan.steps.filter((step) => step.kind === "code").length} code steps` },
|
|
114
|
+
{ check: "agents", summary: `resolved ${resolved.size} agents` },
|
|
115
|
+
{ check: "plan", summary: `compiled ${plan.steps.length} plan steps with hash ${plan.hash}` }
|
|
116
|
+
]
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export {
|
|
121
|
+
inspectFleet
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=chunk-DQA7QLMD.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-3R73A4XB.js";
|
|
5
|
+
|
|
6
|
+
// src/domains/config/agent-namespace.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
function assertAgentIdNamespace(nativeRecipes, acpDelegates) {
|
|
9
|
+
const native = new Set(nativeRecipes.map((recipe) => recipe.id));
|
|
10
|
+
const collision = acpDelegates.find((delegate) => native.has(delegate.id));
|
|
11
|
+
if (collision !== void 0) {
|
|
12
|
+
throw new Error(
|
|
13
|
+
`agent id collision: native recipe '${collision.id}' and ACP delegation agent '${collision.id}' share one namespace`
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
assertAgentIdNamespace
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-DR52UMZW.js.map
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
loadProjectRules,
|
|
6
6
|
renderOperatorProfile,
|
|
7
7
|
selectActiveRules
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4DWFMQDR.js";
|
|
9
9
|
import {
|
|
10
10
|
compile,
|
|
11
11
|
compileWorker,
|
|
12
12
|
sha256
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UUANF5CR.js";
|
|
14
14
|
import {
|
|
15
15
|
isUserVisibleAgent
|
|
16
16
|
} from "./chunk-AOCYTWAV.js";
|
|
17
17
|
import {
|
|
18
18
|
BusChannels
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OB5HIGJY.js";
|
|
20
20
|
import {
|
|
21
21
|
classifyProjectPreload
|
|
22
22
|
} from "./chunk-JVCV3ICN.js";
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
// src/domains/agents/catalog.ts
|
|
28
28
|
init_esm_shims();
|
|
29
29
|
var DEFAULT_DISPATCH_AGENT_ID = "coder";
|
|
30
|
+
var OPERATOR_ONLY_SHADOW_AGENT_IDS = /* @__PURE__ */ new Set(["oracle"]);
|
|
30
31
|
var FLEET_PROMPT_PURPOSE_MAX_CHARS = 64;
|
|
31
32
|
var FLEET_DELEGATION_RULE = "Delegate when the task has two or more independent file-scoped subtasks, or any broad exploration. You keep synthesis and validation; a single narrow change stays with you.";
|
|
32
33
|
var FLEET_HANDOFF_RULE = "A file you assigned to a worker is not yours to edit while its dispatch is pending or after it succeeds; if you already changed it, say so in your report.";
|
|
@@ -53,7 +54,7 @@ function renderFleetPromptSection(input) {
|
|
|
53
54
|
return category === 0 ? a.id.localeCompare(b.id) : category;
|
|
54
55
|
});
|
|
55
56
|
const publicSpecs = specs.filter(isUserVisibleAgent);
|
|
56
|
-
const shadowSpecs = specs.filter((spec) => spec.audience === "shadow");
|
|
57
|
+
const shadowSpecs = specs.filter((spec) => spec.audience === "shadow" && !OPERATOR_ONLY_SHADOW_AGENT_IDS.has(spec.id));
|
|
57
58
|
if (publicSpecs.length === 0 && shadowSpecs.length === 0) return "";
|
|
58
59
|
const lines = [
|
|
59
60
|
"# Fleet",
|
|
@@ -654,4 +655,4 @@ export {
|
|
|
654
655
|
createPromptsDomainModule,
|
|
655
656
|
SchedulingDomainModule
|
|
656
657
|
};
|
|
657
|
-
//# sourceMappingURL=chunk-
|
|
658
|
+
//# sourceMappingURL=chunk-EBEFWSGL.js.map
|
|
@@ -6,16 +6,19 @@ import {
|
|
|
6
6
|
cloneApprovedAssignmentRoute,
|
|
7
7
|
cloneDispatchBudgetRequest,
|
|
8
8
|
isApprovedAssignmentRoute,
|
|
9
|
+
isDispatchIntent,
|
|
9
10
|
isToolProfileName
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CEYBNUGC.js";
|
|
11
12
|
import {
|
|
12
13
|
ROUTE_POLICY_VERSION,
|
|
13
|
-
isExecutionRole,
|
|
14
14
|
isRouteDecisionAgentSelection,
|
|
15
15
|
isRoutingIntent,
|
|
16
|
-
parseRoutingIntent
|
|
16
|
+
parseRoutingIntent
|
|
17
|
+
} from "./chunk-5C77SEEY.js";
|
|
18
|
+
import {
|
|
19
|
+
isExecutionRole,
|
|
17
20
|
requestExecutionRole
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-UND3GU2L.js";
|
|
19
22
|
import {
|
|
20
23
|
AGENT_AUTOMATION_AUTHORITIES
|
|
21
24
|
} from "./chunk-AOCYTWAV.js";
|
|
@@ -30,6 +33,7 @@ import { createHash } from "node:crypto";
|
|
|
30
33
|
// src/tools/dispatch-arguments.ts
|
|
31
34
|
init_esm_shims();
|
|
32
35
|
var DEFAULT_AGENT_ID = "coder";
|
|
36
|
+
var COUNCIL_DEFAULT_AGENT_ID = "researcher";
|
|
33
37
|
var AUTO_BASELINE_BY_TASK_TYPE = {
|
|
34
38
|
// Mutating shapes: capability class first, specialization second.
|
|
35
39
|
code_write: "coder",
|
|
@@ -78,7 +82,7 @@ function dispatchRequestFromArgs(args, options) {
|
|
|
78
82
|
const task = stringArg(args, "task");
|
|
79
83
|
if (!task) return { ok: false, message: "missing task (pass list:true to see available agents)" };
|
|
80
84
|
if (Object.hasOwn(args, "agent_id")) return { ok: false, message: "agent_id is unsupported; use agent" };
|
|
81
|
-
const requestedAgent = stringArg(args, "agent") ?? DEFAULT_AGENT_ID;
|
|
85
|
+
const requestedAgent = stringArg(args, "agent") ?? (args.mode === "council" ? COUNCIL_DEFAULT_AGENT_ID : DEFAULT_AGENT_ID);
|
|
82
86
|
const auto = requestedAgent === "auto";
|
|
83
87
|
const agentId = auto ? autoBaselineAgentId(task, options.hasAgent) : requestedAgent;
|
|
84
88
|
const request = {
|
|
@@ -126,6 +130,45 @@ function dispatchRequestFromArgs(args, options) {
|
|
|
126
130
|
request.requiredCapabilities = routing.intent.requiredCapabilities;
|
|
127
131
|
const cwd = stringArg(args, "cwd");
|
|
128
132
|
if (cwd) request.cwd = cwd;
|
|
133
|
+
if (args.worktree !== void 0) {
|
|
134
|
+
if (args.worktree !== true) return { ok: false, message: "worktree must be true when present" };
|
|
135
|
+
request.worktree = true;
|
|
136
|
+
}
|
|
137
|
+
if (args.apply !== void 0) {
|
|
138
|
+
if (args.apply !== "merge" && args.apply !== "preserve")
|
|
139
|
+
return { ok: false, message: "apply must be merge or preserve" };
|
|
140
|
+
if (request.worktree !== true) return { ok: false, message: "apply requires worktree: true" };
|
|
141
|
+
request.apply = args.apply;
|
|
142
|
+
}
|
|
143
|
+
if (Object.hasOwn(args, "gate") && isRecord(args.intent) && Object.hasOwn(args.intent, "verification")) {
|
|
144
|
+
return { ok: false, message: "gate_and_intent_verification_conflict: gate cannot combine with intent.verification" };
|
|
145
|
+
}
|
|
146
|
+
let rawIntent = args.intent;
|
|
147
|
+
if (Object.hasOwn(args, "gate")) {
|
|
148
|
+
if (typeof args.gate !== "string" || args.gate.trim().length === 0) {
|
|
149
|
+
return { ok: false, message: "gate must be a non-empty declared check id" };
|
|
150
|
+
}
|
|
151
|
+
rawIntent = { ...isRecord(rawIntent) ? rawIntent : {}, verification: [{ check: args.gate.trim() }] };
|
|
152
|
+
}
|
|
153
|
+
if (rawIntent !== void 0) {
|
|
154
|
+
if (options.resolveIntent === void 0) return { ok: false, message: "intent resolver is unavailable" };
|
|
155
|
+
const resolved = options.resolveIntent(rawIntent, cwd);
|
|
156
|
+
if (!resolved.ok) return resolved;
|
|
157
|
+
request.intent = resolved.intent;
|
|
158
|
+
if (resolved.resolvedVerification.length > 0) request.resolvedVerification = resolved.resolvedVerification;
|
|
159
|
+
if (resolved.intent.writeRoots.length > 0) {
|
|
160
|
+
const legacy = Array.isArray(args.writeRoots) ? args.writeRoots.filter((entry) => typeof entry === "string") : void 0;
|
|
161
|
+
if (legacy !== void 0) {
|
|
162
|
+
const left = [...new Set(legacy)].sort();
|
|
163
|
+
if (JSON.stringify(left) !== JSON.stringify(resolved.intent.writeRoots)) {
|
|
164
|
+
return { ok: false, message: "intent_write_roots_contradiction" };
|
|
165
|
+
}
|
|
166
|
+
request.writeRoots = legacy;
|
|
167
|
+
} else {
|
|
168
|
+
request.writeRoots = resolved.intent.writeRoots;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
129
172
|
if ("persona" in args && args.persona !== void 0) {
|
|
130
173
|
if (typeof args.persona !== "string") return { ok: false, message: "persona must be a string" };
|
|
131
174
|
const persona = args.persona.trim();
|
|
@@ -232,7 +275,14 @@ function withResolvedPlanTaskPin(request, task, options = {}) {
|
|
|
232
275
|
...task.routeApproval === null ? {} : { routeApproval: cloneApprovedAssignmentRoute(task.routeApproval) },
|
|
233
276
|
...task.allowedCandidates === void 0 ? {} : { allowedCandidates: task.allowedCandidates.map((candidate) => ({ ...candidate })) },
|
|
234
277
|
task: options.pinTask === false ? request.task : task.task,
|
|
235
|
-
...task.briefing !== void 0 ? { briefing: task.briefing } : {},
|
|
278
|
+
...options.pinBriefing === false ? request.briefing !== void 0 ? { briefing: request.briefing } : {} : task.briefing !== void 0 ? { briefing: task.briefing } : {},
|
|
279
|
+
...task.worktree === true ? {
|
|
280
|
+
worktree: true,
|
|
281
|
+
apply: task.apply ?? "merge",
|
|
282
|
+
...task.worktreeDestination === void 0 ? {} : { taskWorktreeDestination: task.worktreeDestination }
|
|
283
|
+
} : {},
|
|
284
|
+
...task.intent !== void 0 ? { intent: structuredClone(task.intent) } : {},
|
|
285
|
+
...task.resolvedVerification !== void 0 ? { resolvedVerification: task.resolvedVerification.map((check) => ({ ...check, argv: [...check.argv] })) } : {},
|
|
236
286
|
target: task.target,
|
|
237
287
|
model: task.model,
|
|
238
288
|
node: task.node,
|
|
@@ -281,6 +331,12 @@ function taskViews(args) {
|
|
|
281
331
|
};
|
|
282
332
|
const briefing = "briefing" in record ? str(record.briefing) : str(args.briefing);
|
|
283
333
|
if (briefing !== void 0) view.briefing = briefing;
|
|
334
|
+
const worktree = "worktree" in record ? record.worktree : args.worktree;
|
|
335
|
+
if (worktree === true) {
|
|
336
|
+
view.worktree = true;
|
|
337
|
+
const apply = "apply" in record ? record.apply : args.apply;
|
|
338
|
+
view.apply = apply === "preserve" ? "preserve" : "merge";
|
|
339
|
+
}
|
|
284
340
|
const model = str(record.model) ?? sharedModel;
|
|
285
341
|
if (model !== void 0) view.model = model;
|
|
286
342
|
const node = str(record.node) ?? sharedNode;
|
|
@@ -315,6 +371,7 @@ function canonicalCandidates(value) {
|
|
|
315
371
|
function topologyOf(args) {
|
|
316
372
|
if (isRecord2(args.apply_winner)) return "compete";
|
|
317
373
|
if (args.mode === "compete") return "compete";
|
|
374
|
+
if (args.mode === "council") return "council";
|
|
318
375
|
if (args.review === true || isRecord2(args.review)) return "review";
|
|
319
376
|
if (args.detach === true) return "detached";
|
|
320
377
|
if (args.mode === "sequential") return "sequential";
|
|
@@ -348,6 +405,15 @@ function renderPlanText(topology, tasks, costCeilingUsd, deadlineMs, source, max
|
|
|
348
405
|
lines.push(
|
|
349
406
|
` ${index + 1}.${role} agent=${safeField(task.agent)}${target}${model}${node}${failover}${routingText} task=${JSON.stringify(safeField(task.task))}`
|
|
350
407
|
);
|
|
408
|
+
if (task.council !== void 0) {
|
|
409
|
+
lines.push(
|
|
410
|
+
` council label=${safeField(task.council.label)} color=${safeField(task.council.color ?? "none")} round=${task.council.round} rounds=${task.council.rounds} synthesis=${task.council.synthesis}`
|
|
411
|
+
);
|
|
412
|
+
}
|
|
413
|
+
if (task.worktree === true)
|
|
414
|
+
lines.push(
|
|
415
|
+
` worktree=true apply=${task.apply ?? "merge"} destination=${safeField(task.worktreeDestination ?? "unresolved")}`
|
|
416
|
+
);
|
|
351
417
|
if (task.allowedCandidates !== void 0) {
|
|
352
418
|
for (const [candidateIndex, candidate] of task.allowedCandidates.entries()) {
|
|
353
419
|
lines.push(
|
|
@@ -382,6 +448,15 @@ function renderPlanText(topology, tasks, costCeilingUsd, deadlineMs, source, max
|
|
|
382
448
|
` briefing_bytes=${Buffer.byteLength(task.briefing, "utf8")} briefing_sha256=${createHash("sha256").update(task.briefing, "utf8").digest("hex")} briefing_preview=${JSON.stringify(safeField(task.briefing))}`
|
|
383
449
|
);
|
|
384
450
|
}
|
|
451
|
+
if (task.intent !== void 0) {
|
|
452
|
+
const serialized = JSON.stringify(task.intent);
|
|
453
|
+
lines.push(` intent_sha256=${createHash("sha256").update(serialized, "utf8").digest("hex")}`);
|
|
454
|
+
}
|
|
455
|
+
for (const check of task.resolvedVerification ?? []) {
|
|
456
|
+
lines.push(
|
|
457
|
+
` verification check=${safeField(check.check)} argv=${JSON.stringify(check.argv)} cwd=${JSON.stringify(check.cwd)} timeout_ms=${check.timeoutMs}`
|
|
458
|
+
);
|
|
459
|
+
}
|
|
385
460
|
}
|
|
386
461
|
return lines.join("\n");
|
|
387
462
|
}
|
|
@@ -391,12 +466,16 @@ function isResolvedTask(value) {
|
|
|
391
466
|
"agent",
|
|
392
467
|
"task",
|
|
393
468
|
"briefing",
|
|
469
|
+
"worktree",
|
|
470
|
+
"apply",
|
|
471
|
+
"worktreeDestination",
|
|
394
472
|
"model",
|
|
395
473
|
"node",
|
|
396
474
|
"nodeKind",
|
|
397
475
|
"nodeHost",
|
|
398
476
|
"target",
|
|
399
477
|
"role",
|
|
478
|
+
"council",
|
|
400
479
|
"position",
|
|
401
480
|
"routingIntent",
|
|
402
481
|
"failover",
|
|
@@ -409,7 +488,9 @@ function isResolvedTask(value) {
|
|
|
409
488
|
"expectedResultContract",
|
|
410
489
|
"authorityGrant",
|
|
411
490
|
"agentDecision",
|
|
412
|
-
"wave"
|
|
491
|
+
"wave",
|
|
492
|
+
"intent",
|
|
493
|
+
"resolvedVerification"
|
|
413
494
|
]);
|
|
414
495
|
if (Object.keys(value).some((key) => !allowedKeys.has(key))) return false;
|
|
415
496
|
for (const key of [
|
|
@@ -432,16 +513,24 @@ function isResolvedTask(value) {
|
|
|
432
513
|
"wave"
|
|
433
514
|
])
|
|
434
515
|
if (!Object.hasOwn(value, key)) return false;
|
|
435
|
-
if (value.role !== void 0 && value.role !== "task" && value.role !== "builder" && value.role !== "reviewer" && value.role !== "candidate" && value.role !== "judge") {
|
|
516
|
+
if (value.role !== void 0 && value.role !== "task" && value.role !== "builder" && value.role !== "reviewer" && value.role !== "candidate" && value.role !== "judge" && value.role !== "member" && value.role !== "synthesis") {
|
|
436
517
|
return false;
|
|
437
518
|
}
|
|
438
519
|
if (value.position !== void 0 && (!Number.isInteger(value.position) || Number(value.position) < 1)) return false;
|
|
520
|
+
if (value.council !== void 0) {
|
|
521
|
+
if (!isRecord2(value.council) || typeof value.council.label !== "string" || value.council.label.length === 0 || value.council.color !== void 0 && typeof value.council.color !== "string" || !Number.isInteger(value.council.round) || Number(value.council.round) < 1 || !Number.isInteger(value.council.rounds) || Number(value.council.rounds) < 1 || value.council.synthesis !== "none" && value.council.synthesis !== "judge" && value.council.synthesis !== "vote")
|
|
522
|
+
return false;
|
|
523
|
+
}
|
|
439
524
|
if (value.nodeKind !== "local" && value.nodeKind !== "ssh") return false;
|
|
440
525
|
if (value.nodeKind === "ssh" && (typeof value.nodeHost !== "string" || value.nodeHost.trim().length === 0))
|
|
441
526
|
return false;
|
|
442
527
|
if (value.nodeKind === "local" && value.nodeHost !== void 0) return false;
|
|
443
528
|
if (value.briefing !== void 0 && (typeof value.briefing !== "string" || value.briefing.trim().length === 0))
|
|
444
529
|
return false;
|
|
530
|
+
if (value.worktree !== void 0 && value.worktree !== true) return false;
|
|
531
|
+
if (value.apply !== void 0 && value.apply !== "merge" && value.apply !== "preserve") return false;
|
|
532
|
+
if (value.apply !== void 0 && value.worktree !== true) return false;
|
|
533
|
+
if (value.worktreeDestination !== void 0 && typeof value.worktreeDestination !== "string") return false;
|
|
445
534
|
if (failoverModeOf(value.failover) === void 0) return false;
|
|
446
535
|
if (!isRoutingIntent(value.routingIntent)) return false;
|
|
447
536
|
if (value.routeApproval !== null && !isApprovedAssignmentRoute(value.routeApproval)) return false;
|
|
@@ -455,6 +544,11 @@ function isResolvedTask(value) {
|
|
|
455
544
|
return false;
|
|
456
545
|
if (value.authorityGrant !== null && !isAuthorityGrant(value.authorityGrant)) return false;
|
|
457
546
|
if (value.agentDecision !== null && !isAgentDecision(value.agentDecision)) return false;
|
|
547
|
+
if (value.intent !== void 0 && !isDispatchIntent(value.intent)) return false;
|
|
548
|
+
if (value.resolvedVerification !== void 0 && (!Array.isArray(value.resolvedVerification) || !value.resolvedVerification.every(
|
|
549
|
+
(check) => isRecord2(check) && typeof check.check === "string" && Array.isArray(check.argv) && check.argv.every((arg) => typeof arg === "string") && typeof check.cwd === "string" && typeof check.timeoutMs === "number"
|
|
550
|
+
)))
|
|
551
|
+
return false;
|
|
458
552
|
if (value.failover === "approved") {
|
|
459
553
|
if (canonicalCandidates(value.allowedCandidates) === null) return false;
|
|
460
554
|
} else if (value.allowedCandidates !== void 0) {
|
|
@@ -468,11 +562,16 @@ var RESULT_CONTRACT_KINDS = /* @__PURE__ */ new Set([
|
|
|
468
562
|
"architect-plan",
|
|
469
563
|
"scout-report",
|
|
470
564
|
"verifier-report",
|
|
565
|
+
"council-report",
|
|
471
566
|
"debugger-report",
|
|
472
567
|
"research-report",
|
|
473
568
|
"mutation-report",
|
|
474
569
|
"provenance-report",
|
|
475
|
-
"
|
|
570
|
+
"oracle-report",
|
|
571
|
+
"external-delegation",
|
|
572
|
+
"artifact-report",
|
|
573
|
+
"context-handbook",
|
|
574
|
+
"delegation-plan"
|
|
476
575
|
]);
|
|
477
576
|
function isAuthorityGrant(value) {
|
|
478
577
|
return isRecord2(value) && Object.keys(value).sort().join("\0") === "basis\0requested" && AGENT_AUTOMATION_AUTHORITIES.includes(value.requested) && (value.basis === "operator-plan-approval" || value.basis === "full-auto-policy");
|
|
@@ -536,7 +635,7 @@ function resolvedDispatchPlanFromArgs(args) {
|
|
|
536
635
|
};
|
|
537
636
|
}
|
|
538
637
|
if (value.tasks.length === 0 && confirmation === void 0) return null;
|
|
539
|
-
if (value.topology !== "parallel" && value.topology !== "sequential" && value.topology !== "pipeline" && value.topology !== "review" && value.topology !== "compete" && value.topology !== "detached" && value.topology !== "fleet") {
|
|
638
|
+
if (value.topology !== "parallel" && value.topology !== "sequential" && value.topology !== "pipeline" && value.topology !== "review" && value.topology !== "compete" && value.topology !== "council" && value.topology !== "detached" && value.topology !== "fleet") {
|
|
540
639
|
return null;
|
|
541
640
|
}
|
|
542
641
|
if (typeof value.costCeilingUsd !== "number" || !Number.isFinite(value.costCeilingUsd) || value.costCeilingUsd <= 0) {
|
|
@@ -567,6 +666,11 @@ function resolvedDispatchPlanFromArgs(args) {
|
|
|
567
666
|
agent: task.agent.trim(),
|
|
568
667
|
task: task.task.trim(),
|
|
569
668
|
...task.briefing !== void 0 ? { briefing: task.briefing.trim() } : {},
|
|
669
|
+
...task.worktree === true ? {
|
|
670
|
+
worktree: true,
|
|
671
|
+
apply: task.apply ?? "merge",
|
|
672
|
+
...task.worktreeDestination === void 0 ? {} : { worktreeDestination: task.worktreeDestination }
|
|
673
|
+
} : {},
|
|
570
674
|
model: task.model.trim(),
|
|
571
675
|
node: task.node.trim(),
|
|
572
676
|
nodeKind: task.nodeKind,
|
|
@@ -585,7 +689,10 @@ function resolvedDispatchPlanFromArgs(args) {
|
|
|
585
689
|
...task.failover === "approved" && canonicalCandidates(task.allowedCandidates) !== null ? { allowedCandidates: canonicalCandidates(task.allowedCandidates) } : {},
|
|
586
690
|
...task.nodeHost !== void 0 ? { nodeHost: task.nodeHost.trim() } : {},
|
|
587
691
|
...task.role !== void 0 ? { role: task.role } : {},
|
|
588
|
-
...task.
|
|
692
|
+
...task.council !== void 0 ? { council: { ...task.council } } : {},
|
|
693
|
+
...task.position !== void 0 ? { position: task.position } : {},
|
|
694
|
+
...task.intent !== void 0 ? { intent: structuredClone(task.intent) } : {},
|
|
695
|
+
...task.resolvedVerification !== void 0 ? { resolvedVerification: task.resolvedVerification.map((check) => ({ ...check, argv: [...check.argv] })) } : {}
|
|
589
696
|
})),
|
|
590
697
|
costCeilingUsd: value.costCeilingUsd,
|
|
591
698
|
deadlineMs: value.deadlineMs,
|
|
@@ -621,7 +728,7 @@ function describeDispatchPlan(rawArgs) {
|
|
|
621
728
|
const maxWorkers = resolved?.maxWorkers ?? null;
|
|
622
729
|
const onFailure = resolved?.onFailure ?? null;
|
|
623
730
|
const remote = tasks.some((task) => task.node !== void 0 && task.node !== "local");
|
|
624
|
-
const planScale = !preparationFailed && args.list !== true && (tasks.length > 1 || source !== null || topology === "compete" || remote || tasks.some((task) => task.failover === "approved") || confirmation !== void 0 || isRecord2(args.apply_winner));
|
|
731
|
+
const planScale = !preparationFailed && args.list !== true && (tasks.length > 1 || source !== null || topology === "compete" || topology === "council" || remote || tasks.some((task) => task.failover === "approved") || confirmation !== void 0 || isRecord2(args.apply_winner));
|
|
625
732
|
const text = renderPlanText(topology, tasks, costCeilingUsd, deadlineMs, source, maxWorkers, onFailure, confirmation);
|
|
626
733
|
return {
|
|
627
734
|
topology,
|
|
@@ -649,4 +756,4 @@ export {
|
|
|
649
756
|
withResolvedDispatchPlan,
|
|
650
757
|
describeDispatchPlan
|
|
651
758
|
};
|
|
652
|
-
//# sourceMappingURL=chunk-
|
|
759
|
+
//# sourceMappingURL=chunk-EELBMBT6.js.map
|
|
@@ -5,46 +5,48 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
SchedulingDomainModule,
|
|
7
7
|
createPromptsDomainModule
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EBEFWSGL.js";
|
|
9
9
|
import {
|
|
10
|
-
AgentsDomainModule,
|
|
11
10
|
SafetyDomainModule
|
|
12
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-J7PIKKWC.js";
|
|
13
12
|
import {
|
|
14
13
|
ConfigDomainModule,
|
|
15
14
|
loadDomains
|
|
16
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BMWK7ZIZ.js";
|
|
17
16
|
import {
|
|
18
17
|
createObservabilityDomainModule
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5UJ6ECTS.js";
|
|
20
19
|
import {
|
|
21
20
|
fallbackBootstrapOutput
|
|
22
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-4DWFMQDR.js";
|
|
23
22
|
import {
|
|
24
23
|
renderCodewikiDigest
|
|
25
24
|
} from "./chunk-5WIGXA4T.js";
|
|
26
25
|
import {
|
|
27
26
|
DispatchDomainModule
|
|
28
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-UUANF5CR.js";
|
|
29
28
|
import {
|
|
30
29
|
SessionDomainModule
|
|
31
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-6TUKSZVF.js";
|
|
32
31
|
import {
|
|
33
32
|
ResourcesDomainModule
|
|
34
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-THKY7CD7.js";
|
|
34
|
+
import {
|
|
35
|
+
AgentsDomainModule
|
|
36
|
+
} from "./chunk-UVDSQ6LW.js";
|
|
35
37
|
import {
|
|
36
38
|
MiddlewareDomainModule
|
|
37
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-XEGB6BCN.js";
|
|
38
40
|
import {
|
|
39
41
|
UnsupportedResponseSchemaError,
|
|
40
42
|
isResponseSchemaRejection
|
|
41
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-CEYBNUGC.js";
|
|
42
44
|
import {
|
|
43
45
|
parseJsonObjectPayload
|
|
44
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-DJNLUABN.js";
|
|
45
47
|
import {
|
|
46
48
|
ProvidersDomainModule
|
|
47
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-VQNODYQ4.js";
|
|
48
50
|
import {
|
|
49
51
|
init_esm_shims
|
|
50
52
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -673,4 +675,4 @@ export {
|
|
|
673
675
|
validateInitOptions,
|
|
674
676
|
bootstrapInputFromInitOptions
|
|
675
677
|
};
|
|
676
|
-
//# sourceMappingURL=chunk-
|
|
678
|
+
//# sourceMappingURL=chunk-EOOQZZDE.js.map
|