@desplega.ai/agent-swarm 1.158.0 → 1.160.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{acp-adapter-xaq4n6pc.js → acp-adapter-2mjwcsfh.js} +124 -27
- package/dist/{actions-p9hz5yat.js → actions-e43rxskr.js} +35 -30
- package/dist/{anthropic-messages-51pz26qe.js → anthropic-messages-5qx80j9k.js} +106 -16
- package/dist/{app-g26wdcz6.js → app-mc7xfagn.js} +12 -10
- package/dist/{assistant-wydfqkb3.js → assistant-sedkzv3b.js} +42 -31
- package/dist/{azure-openai-responses-8gksqtmz.js → azure-openai-responses-nfb21z9a.js} +13 -14
- package/dist/{boot-reembed-se8zmdcp.js → boot-reembed-cqz9swn5.js} +13 -12
- package/dist/{boot-reembed-g5ckg9yb.js → boot-reembed-m3656j2n.js} +14 -13
- package/dist/{boot-scrub-logs-wfxqan61.js → boot-scrub-logs-xbxf5d7w.js} +11 -9
- package/dist/boot-seeds-gsetbs5y.js +28 -0
- package/dist/{claude-adapter-tv2x4f36.js → claude-adapter-dc6289mc.js} +28 -23
- package/dist/{claude-managed-adapter-41b2s7fd.js → claude-managed-adapter-naaw51me.js} +4 -3
- package/dist/{claude-managed-setup-60g8aazx.js → claude-managed-setup-eacvchx0.js} +12 -3
- package/dist/claude-sdk-session-bqp2xvym.js +29722 -0
- package/dist/{cli-987hg0aa.js → cli-0jwe9034.js} +2 -2
- package/dist/{cli-vj6h9kc2.js → cli-0m7wct0d.js} +59 -1
- package/dist/{cli-c07r9a2m.js → cli-0q3avq3s.js} +12 -11
- package/dist/{cli-19jenss3.js → cli-0wgxmwf6.js} +31 -10
- package/dist/cli-0x01kwrd.js +491 -0
- package/dist/cli-0xqde53b.js +176 -0
- package/dist/cli-10nhj6xq.js +8355 -0
- package/dist/{cli-tt9k8r35.js → cli-12tszpk9.js} +479 -910
- package/dist/{cli-5b6b62tz.js → cli-13hw4z91.js} +1 -1
- package/dist/{cli-cqt19wg6.js → cli-1a2j50m0.js} +11 -2
- package/dist/{cli-xberxa1r.js → cli-25fcq4b4.js} +2 -2
- package/dist/{cli-npssxgaz.js → cli-2pdaysab.js} +52 -2
- package/dist/cli-3qhyh31j.js +166 -0
- package/dist/cli-447dt1h3.js +3828 -0
- package/dist/cli-4derpgyk.js +115 -0
- package/dist/{cli-00w2c66p.js → cli-523679eh.js} +13 -2
- package/dist/{cli-y95wp3tg.js → cli-58e8yr0d.js} +1 -1
- package/dist/{cli-24k806sc.js → cli-5nbmpy8w.js} +3 -3
- package/dist/{cli-53sz8gkz.js → cli-6cs6wzxt.js} +1 -1
- package/dist/cli-741yb0xx.js +1027 -0
- package/dist/cli-74h9hscv.js +69 -0
- package/dist/cli-7cxw8b60.js +14910 -0
- package/dist/{cli-xhaeg2nc.js → cli-7e398j1h.js} +1 -1
- package/dist/cli-7kyk9jr3.js +22 -0
- package/dist/cli-89s4ngw3.js +183 -0
- package/dist/{cli-9b13ggd1.js → cli-89v6kyq7.js} +1 -0
- package/dist/{cli-ftfvggzx.js → cli-9hsgwz4w.js} +1045 -581
- package/dist/{cli-rqz8qbw7.js → cli-a8dvhzrt.js} +59 -20
- package/dist/{cli-j57qkrpq.js → cli-azhgzetg.js} +395 -56
- package/dist/cli-br0qdrnp.js +2150 -0
- package/dist/{cli-rj19hc34.js → cli-btfv8y88.js} +1 -1
- package/dist/{cli-8qmme6vd.js → cli-c8a36vcc.js} +2 -2
- package/dist/cli-cpvsaqsw.js +333 -0
- package/dist/cli-d5czme6m.js +17805 -0
- package/dist/{cli-h38x0qhg.js → cli-et8m9xsv.js} +4 -3
- package/dist/{cli-x24pshtq.js → cli-evvtk35y.js} +6 -6
- package/dist/{cli-7s3syk22.js → cli-f8gy6r2r.js} +5 -5
- package/dist/{cli-zt1227k1.js → cli-fkqhbg8g.js} +5 -3
- package/dist/{cli-9httdpyq.js → cli-g2whhdrf.js} +1 -1
- package/dist/cli-gt4hxb8p.js +99 -0
- package/dist/{cli-s8eet254.js → cli-jajnsm8q.js} +37184 -53838
- package/dist/{cli-7gtvvpbh.js → cli-jayjpjmb.js} +21 -12
- package/dist/{cli-68w09sjw.js → cli-jyk0ynw2.js} +27 -89
- package/dist/{cli-aehm1rbq.js → cli-jz4w45qt.js} +1152 -61
- package/dist/cli-kmcpfwn2.js +333856 -0
- package/dist/{cli-4198qc9v.js → cli-ktmyrtpn.js} +19 -3
- package/dist/{cli-j55n64b6.js → cli-mfe5btp9.js} +505 -189
- package/dist/{cli-q67y4wzm.js → cli-phsaj4xq.js} +24 -2
- package/dist/{cli-1hkrch3k.js → cli-pm1rst0h.js} +46 -7
- package/dist/{cli-pw9rj5t9.js → cli-pqetb83f.js} +1 -176
- package/dist/{cli-ggm92wcn.js → cli-ptr8h7kp.js} +20 -1
- package/dist/{cli-s8s499xy.js → cli-qbksc292.js} +3 -2
- package/dist/{cli-47m6dkd3.js → cli-qydf22qq.js} +597 -346
- package/dist/{cli-3gmcwfyx.js → cli-r1mxd1xh.js} +13 -6
- package/dist/cli-rb9m6rpe.js +4980 -0
- package/dist/cli-rykfmgwg.js +102 -0
- package/dist/{cli-5d10vd2m.js → cli-shkxm1vn.js} +6 -5
- package/dist/{cli-eetrvv91.js → cli-t3p77qk1.js} +1 -1
- package/dist/cli-tfky2838.js +756 -0
- package/dist/{cli-g8djp6qe.js → cli-tmqt7dpj.js} +40 -0
- package/dist/{cli-fgqxwrpv.js → cli-tpq83z89.js} +1631 -127
- package/dist/cli-trc24wk2.js +143 -0
- package/dist/{cli-aky8tctm.js → cli-tzx2ke1v.js} +3 -3
- package/dist/cli-v7fn5gms.js +1425 -0
- package/dist/{cli-wscdvcqz.js → cli-vctdqs5h.js} +1 -1
- package/dist/{cli-cw9zck8j.js → cli-xjcywfsf.js} +8 -4
- package/dist/{cli-k0g1sjzm.js → cli-ybgv4kw2.js} +18 -11
- package/dist/{cli-rjehvrts.js → cli-ydmcgve1.js} +8 -8
- package/dist/{cli-vhjwh6cz.js → cli-ygwm91nt.js} +1 -1
- package/dist/{cli-mcnhgnn1.js → cli-ykk5jaax.js} +184 -26
- package/dist/{cli-de1396j2.js → cli-ywybs5as.js} +7 -1
- package/dist/cli-zpep9q5e.js +491 -0
- package/dist/cli.js +41 -32
- package/dist/cloudflare-workers-ai-system-one-k6fbxw9d.js +46 -0
- package/dist/{codex-adapter-cnm8wk11.js → codex-adapter-nmxcatww.js} +26 -17
- package/dist/{codex-hook-9hptmdhj.js → codex-hook-20me6byw.js} +2 -2
- package/dist/{codex-login-x3jk4etn.js → codex-login-w6fz4xbz.js} +50 -5
- package/dist/{codex-session-runner-gfg547zj.js → codex-session-runner-90aa80ev.js} +24 -17
- package/dist/{commands-e3bn0p75.js → commands-8wcq1kn7.js} +11 -9
- package/dist/{db-03v9kzr2.js → db-j40kc4se.js} +25 -11
- package/dist/{devin-adapter-8vgkwh29.js → devin-adapter-dpsv6hd9.js} +1 -1
- package/dist/{dispatcher-nrmg8yht.js → dispatcher-4zqy768d.js} +34 -29
- package/dist/{dsh-adapter-k03nfqa6.js → dsh-adapter-mpnzgztj.js} +3 -3
- package/dist/{e2b-93x1k0j5.js → e2b-ez07znam.js} +4 -3
- package/dist/execute-6e7qeyk4.js +1017 -0
- package/dist/{google-generative-ai-bxmv50nc.js → google-generative-ai-k6n5nbpp.js} +6 -5
- package/dist/{google-vertex-809af514.js → google-vertex-44xxtcvp.js} +6 -5
- package/dist/{handlers-aqcedbyb.js → handlers-kjdce1w5.js} +37 -32
- package/dist/{hook-ybvmrmhq.js → hook-czx13n12.js} +19 -15
- package/dist/{hook-7vkskkre.js → hook-r2t4bqfg.js} +18 -14
- package/dist/{http-2eqa8t24.js → http-3bbb19be.js} +900 -145
- package/dist/{index-f6cryxwe.js → index-4a5njnm1.js} +2 -59
- package/dist/{index-x71bvq0p.js → index-668me3f0.js} +35 -30
- package/dist/{index-c6zsv1bd.js → index-7aj368tw.js} +13 -12
- package/dist/{index-1yks3qcr.js → index-fg0dsp6c.js} +34 -29
- package/dist/{index-chgdkq36.js → index-kkv84jq9.js} +34 -29
- package/dist/{index-a3vn96n8.js → index-zg7vp46x.js} +198 -54
- package/dist/{keepalive-vtkf5n99.js → keepalive-yra8dy57.js} +13 -11
- package/dist/{lead-h3sp357x.js → lead-va0pad2c.js} +54 -49
- package/dist/llama-cpp-classify-tgj35k8d.js +335 -0
- package/dist/{maintenance-jzeqtk3q.js → maintenance-hqewtmyg.js} +14 -13
- package/dist/{mistral-conversations-zx0kn554.js → mistral-conversations-pc3ntnxt.js} +14 -17
- package/dist/{oauth-refresh-sweep-qp3dzmdp.js → oauth-refresh-sweep-7rdt1m9n.js} +12 -10
- package/dist/{onboard-tmsp0qbz.js → onboard-j6ms6d0x.js} +6 -5
- package/dist/{openai-codex-responses-4vjqzvjp.js → openai-codex-responses-bbancrr0.js} +21 -8
- package/dist/{openai-completions-9hjrqbw8.js → openai-completions-jpaj5g2b.js} +9 -12
- package/dist/{openai-responses-7b1pn0xt.js → openai-responses-200k1wx4.js} +23 -18
- package/dist/{opencode-adapter-x6x2da1z.js → opencode-adapter-89rabkw2.js} +8 -7
- package/dist/{openrouter-images-9f9ek4rw.js → openrouter-images-8yx3487g.js} +5 -7
- package/dist/{otel-impl-9mz73q65.js → otel-impl-a792rjz0.js} +1 -1
- package/dist/{pi-messages-txpjj39q.js → pi-messages-vxdt8v7j.js} +2 -1
- package/dist/{pi-mono-adapter-m6dvv0dz.js → pi-mono-adapter-g7qzvr3v.js} +295 -70
- package/dist/pricing-refresh-wx0tp7cb.js +39 -0
- package/dist/quickjs-r1pq2107.wasm +0 -0
- package/dist/{rbac-roles-c9wqz83x.js → rbac-roles-8tzawacv.js} +12 -10
- package/dist/{render-v2-gryrh9h8.js → render-v2-mm7zswb8.js} +12 -10
- package/dist/runtime-zyssgse0.js +24 -0
- package/dist/{setup-q9720bt6.js → setup-8y70ys6t.js} +6 -5
- package/dist/typesafe-system-one-2ef30pec.js +27 -0
- package/dist/{virtual-modules-3htpgn8x.js → virtual-modules-6nmk7h3n.js} +22 -13
- package/dist/{work-objects-b76x7deb.js → work-objects-fg6xkb0n.js} +37 -32
- package/dist/{worker-6vrxbv41.js → worker-wmwhxsph.js} +54 -49
- package/openapi.json +1314 -91
- package/package.json +12 -11
- package/src/be/db/agents.ts +20 -0
- package/src/be/db/api-keys.ts +70 -0
- package/src/be/db/tasks/human-free.ts +442 -0
- package/src/be/db/tasks/read.ts +56 -1
- package/src/be/db/tasks/write.ts +107 -11
- package/src/be/db.ts +274 -188
- package/src/be/harness-model-support.ts +182 -0
- package/src/be/human-free-drain.ts +67 -0
- package/src/be/memory/providers/sqlite-store.ts +51 -15
- package/src/be/migrations/182_task_human_free_flag.sql +63 -0
- package/src/be/migrations/183_human_free_reclassify_queue.sql +25 -0
- package/src/be/migrations/184_model_catalog.sql +120 -0
- package/src/be/migrations/185_api_key_auth_failures.sql +6 -0
- package/src/be/migrations/186_api_key_seat_mismatch.sql +8 -0
- package/src/be/model-catalog-store.ts +644 -0
- package/src/be/model-tier-keys.ts +46 -0
- package/src/be/model-tier-resolution.ts +534 -0
- package/src/be/model-validation.ts +188 -0
- package/src/be/models-catalog.ts +61 -7
- package/src/be/modelsdev-cache.json +82 -0
- package/src/be/modelsdev-cache.ts +2 -0
- package/src/be/pricing-refresh.ts +154 -12
- package/src/be/scripts/typecheck.ts +15 -0
- package/src/be/seed/runner.ts +18 -12
- package/src/be/seed/types.ts +1 -0
- package/src/be/seed-scripts/catalog/task-failure-audit.ts +61 -9
- package/src/be/swarm-config-guard.ts +8 -0
- package/src/cli.tsx +10 -0
- package/src/commands/claude-managed-setup.ts +3 -1
- package/src/commands/codex-login.ts +67 -0
- package/src/commands/credential-outcome-report.ts +191 -0
- package/src/commands/rate-limit-outcome.ts +34 -4
- package/src/commands/runner.ts +357 -186
- package/src/commands/seat-mismatch-report.ts +46 -0
- package/src/extensions/apply-task-create.ts +27 -1
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/heartbeat/heartbeat.ts +79 -17
- package/src/heartbeat/templates.ts +2 -2
- package/src/http/agents.ts +62 -1
- package/src/http/api-keys.ts +140 -2
- package/src/http/codex-oauth-keep-warm.ts +3 -5
- package/src/http/index.ts +8 -0
- package/src/http/memory.ts +12 -5
- package/src/http/models-catalog.ts +357 -8
- package/src/http/poll.ts +54 -3
- package/src/http/schedules.ts +51 -6
- package/src/http/script-runs.ts +12 -0
- package/src/http/session-data.ts +2 -5
- package/src/http/stats.ts +6 -8
- package/src/http/status.ts +15 -1
- package/src/http/tasks.ts +90 -7
- package/src/http/usage-cache.ts +56 -15
- package/src/http/workflows.ts +46 -8
- package/src/mcp-client/http-client.ts +5 -0
- package/src/memory/recall-query.ts +74 -0
- package/src/prompts/base-prompt.ts +15 -4
- package/src/prompts/session-templates.ts +23 -1
- package/src/providers/acp-adapter.ts +1 -0
- package/src/providers/claude-adapter.ts +14 -5
- package/src/providers/claude-managed-adapter.ts +1 -0
- package/src/providers/claude-managed-models.ts +47 -161
- package/src/providers/claude-sdk-session.ts +3 -1
- package/src/providers/codex-adapter.ts +14 -14
- package/src/providers/codex-models.ts +65 -198
- package/src/providers/devin-adapter.ts +1 -0
- package/src/providers/dsh-adapter.ts +2 -1
- package/src/providers/harness-version.ts +83 -7
- package/src/providers/opencode-adapter.ts +53 -1
- package/src/providers/pi-binary-root/src/extensions/codemode/worker.ts +11 -0
- package/src/providers/pi-codemode-runtime.ts +17 -0
- package/src/providers/pi-mono-adapter.ts +361 -83
- package/src/providers/pi-mono-extension.ts +16 -1
- package/src/providers/reasoning-effort.ts +44 -140
- package/src/providers/types.ts +8 -0
- package/src/rbac/legacy-policy.ts +43 -0
- package/src/rbac/permissions.ts +15 -0
- package/src/scripts-runtime/sdk-allowlist.ts +4 -0
- package/src/scripts-runtime/types/stdlib.d.ts +15 -0
- package/src/scripts-runtime/types/swarm-extension.d.ts +3 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +15 -0
- package/src/server.ts +6 -0
- package/src/slack/assistant.ts +13 -0
- package/src/slack/message-text.ts +56 -2
- package/src/slack/render-v2.ts +87 -37
- package/src/slack/session-status.ts +541 -0
- package/src/slack/thread-buffer.ts +10 -2
- package/src/tasks/sibling-awareness.ts +3 -2
- package/src/telemetry.ts +5 -4
- package/src/templates.d.ts +6 -0
- package/src/tests/agents-list-model-display.test.ts +4 -6
- package/src/tests/api-key-auth-failure-route.test.ts +142 -0
- package/src/tests/api-key-tracking.test.ts +368 -1
- package/src/tests/base-prompt.test.ts +43 -2
- package/src/tests/claude-adapter.test.ts +68 -0
- package/src/tests/claude-managed-adapter.test.ts +12 -18
- package/src/tests/codex-adapter.test.ts +2 -1
- package/src/tests/codex-auth-failure.test.ts +52 -0
- package/src/tests/codex-gpt6-release.test.ts +66 -5
- package/src/tests/codex-login.test.ts +116 -0
- package/src/tests/context-window.test.ts +7 -5
- package/src/tests/credential-exhaustion-policy.test.ts +118 -3
- package/src/tests/credential-outcome-report.test.ts +171 -0
- package/src/tests/credential-status-api.test.ts +103 -2
- package/src/tests/db-extraction-contract.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +10 -1
- package/src/tests/db-task-write-contract.test.ts +535 -2
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/dokploy-deploy.test.ts +315 -0
- package/src/tests/dsh-adapter.test.ts +1 -1
- package/src/tests/explicit-model-validation.test.ts +583 -0
- package/src/tests/extensions-pre-task.test.ts +73 -0
- package/src/tests/fetch-resolved-env.test.ts +46 -0
- package/src/tests/hang-watchdog-worker.ts +47 -0
- package/src/tests/hang-watchdog.test.ts +45 -0
- package/src/tests/hang-watchdog.ts +30 -0
- package/src/tests/harness-model-guard.test.ts +123 -0
- package/src/tests/harness-model-support.test.ts +374 -0
- package/src/tests/harness-version.test.ts +70 -3
- package/src/tests/heartbeat-checklist-config.test.ts +71 -0
- package/src/tests/heartbeat-checklist.test.ts +4 -2
- package/src/tests/heartbeat-orphan-resume.test.ts +48 -0
- package/src/tests/http-task-write-ownership.test.ts +172 -0
- package/src/tests/human-free-flag.test.ts +279 -0
- package/src/tests/human-free-oracle.ts +57 -0
- package/src/tests/human-free-reclassify.test.ts +669 -0
- package/src/tests/memory-fts-populate.test.ts +139 -0
- package/src/tests/memory-http-recall-gating.test.ts +125 -1
- package/src/tests/migration-046-budgets.test.ts +3 -3
- package/src/tests/model-catalog-migration.test.ts +134 -0
- package/src/tests/model-catalog-table.test.ts +249 -0
- package/src/tests/model-catalog-write-access.test.ts +387 -0
- package/src/tests/model-rate-limit-windows.test.ts +19 -0
- package/src/tests/model-tier-resolution.test.ts +611 -0
- package/src/tests/models-catalog.test.ts +1 -1
- package/src/tests/multi-runtime-enabled-stats.test.ts +65 -1
- package/src/tests/opencode-adapter.test.ts +157 -2
- package/src/tests/package-publish.test.ts +137 -36
- package/src/tests/pi-codemode.test.ts +246 -0
- package/src/tests/pi-mono-adapter.test.ts +3 -0
- package/src/tests/pi-native-mcp.test.ts +193 -0
- package/src/tests/pi-tool-exposure.test.ts +374 -0
- package/src/tests/preload.ts +3 -0
- package/src/tests/pricing-routes.test.ts +2 -2
- package/src/tests/prompt-template-session.test.ts +5 -3
- package/src/tests/rate-limit-event.test.ts +65 -0
- package/src/tests/rate-limit-outcome.test.ts +90 -0
- package/src/tests/rbac-engine.test.ts +77 -3
- package/src/tests/reasoning-effort.test.ts +109 -0
- package/src/tests/refresh-modelsdev-carryforward.test.ts +5 -5
- package/src/tests/runner-key-completion-outcome.test.ts +112 -0
- package/src/tests/runner-key-outcome-late-reset.test.ts +224 -0
- package/src/tests/runner-registration-retry.test.ts +149 -0
- package/src/tests/runtime-model-catalog.test.ts +86 -0
- package/src/tests/script-connections.test.ts +9 -0
- package/src/tests/seat-mismatch-report.test.ts +85 -0
- package/src/tests/seed-scripts.test.ts +138 -0
- package/src/tests/seed.test.ts +25 -0
- package/src/tests/session-costs.test.ts +14 -11
- package/src/tests/slack-message-text.test.ts +101 -0
- package/src/tests/slack-render-v2.test.ts +96 -0
- package/src/tests/slack-session-status.test.ts +626 -0
- package/src/tests/slack-thread-buffer-context.test.ts +93 -0
- package/src/tests/status.test.ts +29 -0
- package/src/tests/steering-promotion.test.ts +51 -0
- package/src/tests/store-progress-ownership.test.ts +136 -0
- package/src/tests/subscription-plans.test.ts +28 -0
- package/src/tests/task-cascade-fail.test.ts +148 -2
- package/src/tests/task-citations.test.ts +3 -2
- package/src/tests/tool-annotations.test.ts +1 -1
- package/src/tests/usage-cache.test.ts +166 -0
- package/src/tests/workflow-agent-task.test.ts +30 -0
- package/src/tests/workflow-executors.test.ts +5 -2
- package/src/tests/workflow-system-one-decision-review.test.ts +1021 -0
- package/src/tests/workflow-system-one-decision-save-warnings.test.ts +365 -0
- package/src/tests/workflow-system-one-decision.test.ts +2063 -0
- package/src/tests/workflow-triggers-v2.test.ts +320 -0
- package/src/tools/model-catalog/index.ts +137 -0
- package/src/tools/schedules/create-schedule.ts +17 -2
- package/src/tools/schedules/patch-schedule.ts +31 -1
- package/src/tools/schedules/update-schedule.ts +31 -1
- package/src/tools/send-task.ts +18 -1
- package/src/tools/store-progress.ts +49 -4
- package/src/tools/task-action.ts +14 -1
- package/src/tools/tool-config.ts +3 -1
- package/src/tools/workflows/create-workflow.ts +17 -4
- package/src/tools/workflows/patch-workflow-node.ts +17 -7
- package/src/tools/workflows/patch-workflow.ts +9 -2
- package/src/tools/workflows/update-workflow.ts +17 -4
- package/src/types.ts +41 -1
- package/src/utils/codex-auth-failure.ts +34 -0
- package/src/utils/context-window.ts +47 -53
- package/src/utils/credentials.ts +72 -30
- package/src/utils/error-tracker.ts +80 -0
- package/src/utils/harness-cli-version.ts +115 -0
- package/src/utils/harness-model-error.ts +33 -0
- package/src/utils/model-rate-limit-windows.ts +12 -0
- package/src/utils/runtime-model-catalog.ts +152 -0
- package/src/utils/spawn-model-guard.ts +43 -0
- package/src/utils/subscription-plans.ts +22 -0
- package/src/workflows/approval-resolution.ts +39 -0
- package/src/workflows/definition.ts +7 -0
- package/src/workflows/engine.ts +69 -1
- package/src/workflows/executors/agent-task.ts +16 -6
- package/src/workflows/executors/base.ts +53 -0
- package/src/workflows/executors/human-in-the-loop.ts +8 -8
- package/src/workflows/executors/index.ts +1 -0
- package/src/workflows/executors/registry.ts +2 -0
- package/src/workflows/executors/system-one-decision.ts +1232 -0
- package/src/workflows/executors/system-one-providers.ts +301 -0
- package/src/workflows/executors/workflow-llm.ts +13 -1
- package/src/workflows/model-validation.ts +45 -0
- package/src/workflows/patch-definition.ts +5 -0
- package/src/workflows/readiness.ts +86 -0
- package/src/workflows/recovery.ts +12 -12
- package/src/workflows/resume.ts +23 -9
- package/src/workflows/triggers.ts +85 -0
- package/templates/schedules/daily-blocker-digest/content.md +4 -5
- package/templates/skills/agent-browser/SKILL.md +6 -5
- package/templates/skills/agent-browser/content.md +6 -5
- package/templates/skills/heartbeat-runbook/config.json +1 -1
- package/templates/skills/heartbeat-runbook/content.md +2 -2
- package/templates/skills/swarm-scripts/SKILL.md +1 -1
- package/templates/skills/swarm-scripts/content.md +1 -1
- package/templates/skills/workflow-iterate/content.md +82 -1
- package/templates/workflows/claude-code-changelog-watch/content.md +2 -0
- package/templates/workflows/pr-review-status-sweep/content.md +2 -0
- package/dist/boot-seeds-s3q01xj3.js +0 -26
- package/dist/claude-sdk-session-t442qz6f.js +0 -39108
- package/dist/cli-0xjkj1j7.js +0 -61
- package/dist/cli-20cj37vt.js +0 -335561
- package/dist/cli-2djtr51b.js +0 -48
- package/dist/cli-65hjmev5.js +0 -1141
- package/dist/cli-aw1jwp1r.js +0 -14075
- package/dist/cli-h967nb6r.js +0 -6603
- package/dist/cli-vapyk8sw.js +0 -20
- package/dist/cli-ws6rqycm.js +0 -247
- package/dist/pricing-refresh-v1cbr9te.js +0 -27
- package/src/providers/modelsdev-reasoning.json +0 -6453
- package/dist/{index-f24115ge.js → index-2wsdsnmm.js} +3 -3
|
@@ -1,63 +1,90 @@
|
|
|
1
|
+
import {
|
|
2
|
+
readPkgVersion
|
|
3
|
+
} from "./cli-gt4hxb8p.js";
|
|
1
4
|
import {
|
|
2
5
|
DefaultResourceLoader,
|
|
3
6
|
ModelRuntime,
|
|
4
7
|
SessionManager,
|
|
8
|
+
SettingsManager,
|
|
5
9
|
createAgentSession,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
createCodemodeExtension,
|
|
11
|
+
createMcpExtension,
|
|
12
|
+
createToolSearchExtension
|
|
13
|
+
} from "./cli-jajnsm8q.js";
|
|
14
|
+
import"./cli-0x01kwrd.js";
|
|
15
|
+
import"./cli-741yb0xx.js";
|
|
16
|
+
import"./cli-447dt1h3.js";
|
|
9
17
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
getAgentDir,
|
|
19
|
+
setEmbeddedQuickJSWasmPath
|
|
20
|
+
} from "./cli-d5czme6m.js";
|
|
21
|
+
import"./cli-5bfdm1ah.js";
|
|
22
|
+
import"./cli-0m7wct0d.js";
|
|
12
23
|
import {
|
|
13
24
|
summarizeSession
|
|
14
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-xjcywfsf.js";
|
|
15
26
|
import {
|
|
16
27
|
checkToolLoop,
|
|
17
28
|
clearToolHistory
|
|
18
29
|
} from "./cli-hp1n6zq3.js";
|
|
30
|
+
import {
|
|
31
|
+
fetchInstalledMcpServers
|
|
32
|
+
} from "./cli-tng3131n.js";
|
|
19
33
|
import {
|
|
20
34
|
applyReasoningEffort
|
|
21
|
-
} from "./cli-
|
|
22
|
-
import"./cli-vj6h9kc2.js";
|
|
35
|
+
} from "./cli-4derpgyk.js";
|
|
23
36
|
import"./cli-7nxes1hs.js";
|
|
24
37
|
import {
|
|
25
38
|
buildRatingsFromLlm,
|
|
26
39
|
fetchRetrievalsForTask,
|
|
27
40
|
getMemoryRaterNames,
|
|
28
41
|
postRatings
|
|
29
|
-
} from "./cli-
|
|
30
|
-
import"./cli-vhjwh6cz.js";
|
|
42
|
+
} from "./cli-cpvsaqsw.js";
|
|
31
43
|
import {
|
|
32
44
|
swarmRuntimeInstanceId
|
|
33
45
|
} from "./cli-re8z5p8p.js";
|
|
46
|
+
import {
|
|
47
|
+
McpHttpClient
|
|
48
|
+
} from "./cli-epan13p1.js";
|
|
49
|
+
import"./cli-12tszpk9.js";
|
|
50
|
+
import"./cli-ygwm91nt.js";
|
|
34
51
|
import {
|
|
35
52
|
DEFAULT_OPENROUTER_BASE_URL,
|
|
36
53
|
getOpenRouterBaseUrl
|
|
37
54
|
} from "./cli-3dpj7atn.js";
|
|
38
55
|
import {
|
|
39
|
-
exports_typebox,
|
|
40
56
|
getBuiltinModel,
|
|
41
57
|
getBuiltinModels
|
|
42
|
-
} from "./cli-
|
|
58
|
+
} from "./cli-10nhj6xq.js";
|
|
43
59
|
import {
|
|
44
|
-
|
|
45
|
-
} from "./cli-
|
|
60
|
+
exports_typebox
|
|
61
|
+
} from "./cli-rb9m6rpe.js";
|
|
62
|
+
import"./cli-rykfmgwg.js";
|
|
46
63
|
import"./cli-bsakbbkm.js";
|
|
64
|
+
import"./cli-trc24wk2.js";
|
|
47
65
|
import"./cli-3er6gcsn.js";
|
|
48
|
-
import
|
|
49
|
-
|
|
66
|
+
import {
|
|
67
|
+
CORE_TOOLS,
|
|
68
|
+
init_tool_config
|
|
69
|
+
} from "./cli-3qhyh31j.js";
|
|
70
|
+
import"./cli-1a2j50m0.js";
|
|
71
|
+
import {
|
|
72
|
+
init_env_flag,
|
|
73
|
+
parseEnvFlag
|
|
74
|
+
} from "./cli-ej6gbxfb.js";
|
|
75
|
+
import"./cli-kmcpfwn2.js";
|
|
50
76
|
import"./cli-sd0mxa3c.js";
|
|
51
77
|
import"./cli-w5e1d1vv.js";
|
|
52
78
|
import {
|
|
53
79
|
init_secret_scrubber,
|
|
54
80
|
scrubSecrets
|
|
55
81
|
} from "./cli-r2ap2czm.js";
|
|
56
|
-
import"./cli-
|
|
57
|
-
import"./cli-
|
|
82
|
+
import"./cli-0xqde53b.js";
|
|
83
|
+
import"./cli-pqetb83f.js";
|
|
84
|
+
import"./cli-13hw4z91.js";
|
|
58
85
|
import"./cli-btbzvq95.js";
|
|
59
86
|
import"./cli-1m2e086m.js";
|
|
60
|
-
import"./cli-
|
|
87
|
+
import"./cli-ykk5jaax.js";
|
|
61
88
|
import"./cli-bzr0ftht.js";
|
|
62
89
|
import {
|
|
63
90
|
__require,
|
|
@@ -68,6 +95,15 @@ import {
|
|
|
68
95
|
import { existsSync, lstatSync, symlinkSync, unlinkSync } from "node:fs";
|
|
69
96
|
import { join } from "node:path";
|
|
70
97
|
|
|
98
|
+
// node_modules/quickjs-wasi/quickjs.wasm
|
|
99
|
+
var quickjs_default = "./quickjs-r1pq2107.wasm";
|
|
100
|
+
|
|
101
|
+
// src/providers/pi-codemode-runtime.ts
|
|
102
|
+
setEmbeddedQuickJSWasmPath(quickjs_default);
|
|
103
|
+
|
|
104
|
+
// src/providers/pi-mono-adapter.ts
|
|
105
|
+
init_tool_config();
|
|
106
|
+
|
|
71
107
|
// src/utils/aws-error-classifier.ts
|
|
72
108
|
var AWS_ERROR_RULES = [
|
|
73
109
|
{
|
|
@@ -121,6 +157,7 @@ function classifyAwsSdkError(text) {
|
|
|
121
157
|
}
|
|
122
158
|
|
|
123
159
|
// src/providers/pi-mono-adapter.ts
|
|
160
|
+
init_env_flag();
|
|
124
161
|
init_secret_scrubber();
|
|
125
162
|
|
|
126
163
|
// src/providers/pi-mono-extension.ts
|
|
@@ -394,6 +431,13 @@ function createSwarmHooksExtension(config) {
|
|
|
394
431
|
return (pi) => {
|
|
395
432
|
let lastContextPostTime = 0;
|
|
396
433
|
pi.on("session_start", async (_event, _ctx) => {
|
|
434
|
+
for (const [name, server] of Object.entries(config.mcpServers ?? {})) {
|
|
435
|
+
try {
|
|
436
|
+
pi.registerMcpServer(name, server);
|
|
437
|
+
} catch (err) {
|
|
438
|
+
console.warn(`[pi] Failed to register MCP server "${name}": ${err}`);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
397
441
|
fireAndForget(`${config.apiUrl}/ping`, {
|
|
398
442
|
method: "POST",
|
|
399
443
|
headers: apiHeaders(config)
|
|
@@ -692,12 +736,27 @@ async function checkPiMonoCredentials(env, opts = {}) {
|
|
|
692
736
|
function jsonSchemaToTypeBox(schema) {
|
|
693
737
|
return exports_typebox.Unsafe(schema);
|
|
694
738
|
}
|
|
695
|
-
|
|
739
|
+
var SWARM_TOOL_NAMESPACE = { name: "agent-swarm" };
|
|
740
|
+
function isPiToolDeferralEnabled(env = process.env) {
|
|
741
|
+
return parseEnvFlag(env.PI_TOOL_DEFERRAL, false);
|
|
742
|
+
}
|
|
743
|
+
function isPiCodemodeEnabled(env = process.env) {
|
|
744
|
+
return parseEnvFlag(env.PI_CODEMODE, false);
|
|
745
|
+
}
|
|
746
|
+
function isCoreSwarmTool(tool) {
|
|
747
|
+
return CORE_TOOLS.has(tool.name) || tool._meta?.["anthropic/alwaysLoad"] === true;
|
|
748
|
+
}
|
|
749
|
+
function mcpToolsToDefinitions(mcpClient, tools, options = {}) {
|
|
696
750
|
return tools.map((tool) => ({
|
|
697
751
|
name: tool.name,
|
|
698
752
|
label: tool.name,
|
|
699
753
|
description: tool.description || tool.name,
|
|
700
754
|
parameters: jsonSchemaToTypeBox(tool.inputSchema),
|
|
755
|
+
...tool.outputSchema && { outputSchema: jsonSchemaToTypeBox(tool.outputSchema) },
|
|
756
|
+
...options.namespace && { namespace: options.namespace },
|
|
757
|
+
...options.deferNonCore && {
|
|
758
|
+
exposure: isCoreSwarmTool(tool) ? "direct" : "deferred"
|
|
759
|
+
},
|
|
701
760
|
async execute(_toolCallId, params) {
|
|
702
761
|
const result = await mcpClient.callTool(tool.name, params);
|
|
703
762
|
const text = result.content.map((c) => c.text ?? "").filter(Boolean).join(`
|
|
@@ -707,7 +766,10 @@ function mcpToolsToDefinitions(mcpClient, tools) {
|
|
|
707
766
|
}
|
|
708
767
|
return {
|
|
709
768
|
content: [{ type: "text", text: text || "(no output)" }],
|
|
710
|
-
details: undefined
|
|
769
|
+
details: undefined,
|
|
770
|
+
...result.structuredContent && {
|
|
771
|
+
structuredContent: result.structuredContent
|
|
772
|
+
}
|
|
711
773
|
};
|
|
712
774
|
}
|
|
713
775
|
}));
|
|
@@ -1192,20 +1254,181 @@ class PiMonoSession {
|
|
|
1192
1254
|
}
|
|
1193
1255
|
}
|
|
1194
1256
|
}
|
|
1257
|
+
function createSwarmMcpExtension() {
|
|
1258
|
+
return createMcpExtension({
|
|
1259
|
+
loadConfig: () => ({ servers: [], errors: [], autoEnableCodemode: false })
|
|
1260
|
+
});
|
|
1261
|
+
}
|
|
1262
|
+
function piExtensionFactories(swarmExtension, features) {
|
|
1263
|
+
const factories = [swarmExtension];
|
|
1264
|
+
if (features.toolDeferral)
|
|
1265
|
+
factories.push(createToolSearchExtension());
|
|
1266
|
+
if (features.installedMcp)
|
|
1267
|
+
factories.push(createSwarmMcpExtension());
|
|
1268
|
+
if (features.codemode)
|
|
1269
|
+
factories.push(createBoundedCodemodeExtension());
|
|
1270
|
+
return factories;
|
|
1271
|
+
}
|
|
1272
|
+
var PI_CODEMODE_TIMEOUT_MS = 120000;
|
|
1273
|
+
var PI_CODEMODE_MAX_NESTED_CALLS = 32;
|
|
1274
|
+
var PI_CODEMODE_MAX_CONCURRENT_CALLS = 4;
|
|
1275
|
+
var DEFAULT_CODEMODE_LIMITS = {
|
|
1276
|
+
timeoutMs: PI_CODEMODE_TIMEOUT_MS,
|
|
1277
|
+
maxNestedCalls: PI_CODEMODE_MAX_NESTED_CALLS,
|
|
1278
|
+
maxConcurrentCalls: PI_CODEMODE_MAX_CONCURRENT_CALLS
|
|
1279
|
+
};
|
|
1280
|
+
function createBoundedCodemodeExtension(limits = DEFAULT_CODEMODE_LIMITS) {
|
|
1281
|
+
const codemode = createCodemodeExtension({ mode: "on", models: false });
|
|
1282
|
+
return (pi) => codemode(new Proxy(pi, {
|
|
1283
|
+
get(target, prop) {
|
|
1284
|
+
if (prop === "registerTool") {
|
|
1285
|
+
return (tool) => target.registerTool(boundCodemodeTool(tool, limits));
|
|
1286
|
+
}
|
|
1287
|
+
const value = Reflect.get(target, prop, target);
|
|
1288
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
1289
|
+
}
|
|
1290
|
+
}));
|
|
1291
|
+
}
|
|
1292
|
+
function boundCodemodeTool(tool, limits) {
|
|
1293
|
+
return {
|
|
1294
|
+
...tool,
|
|
1295
|
+
execute: async (toolCallId, params, signal, onUpdate, ctx) => {
|
|
1296
|
+
const script = new AbortController;
|
|
1297
|
+
const stop = (message) => {
|
|
1298
|
+
if (!script.signal.aborted)
|
|
1299
|
+
script.abort(new Error(message));
|
|
1300
|
+
};
|
|
1301
|
+
const onOuterAbort = () => script.abort(signal?.reason ?? new Error("Codemode script cancelled"));
|
|
1302
|
+
if (signal?.aborted)
|
|
1303
|
+
onOuterAbort();
|
|
1304
|
+
else
|
|
1305
|
+
signal?.addEventListener("abort", onOuterAbort, { once: true });
|
|
1306
|
+
const timer = setTimeout(() => stop(`Codemode script exceeded its ${limits.timeoutMs} ms deadline`), limits.timeoutMs);
|
|
1307
|
+
let started = 0;
|
|
1308
|
+
let running = 0;
|
|
1309
|
+
const waiters = [];
|
|
1310
|
+
const release = () => {
|
|
1311
|
+
running--;
|
|
1312
|
+
waiters.shift()?.();
|
|
1313
|
+
};
|
|
1314
|
+
const executeTool = async (name, args, options) => {
|
|
1315
|
+
if (script.signal.aborted)
|
|
1316
|
+
throw new Error("Codemode script already stopped");
|
|
1317
|
+
if (++started > limits.maxNestedCalls) {
|
|
1318
|
+
const message = `Codemode script exceeded its budget of ${limits.maxNestedCalls} nested tool calls`;
|
|
1319
|
+
stop(message);
|
|
1320
|
+
throw new Error(message);
|
|
1321
|
+
}
|
|
1322
|
+
while (running >= limits.maxConcurrentCalls) {
|
|
1323
|
+
await new Promise((resolve) => {
|
|
1324
|
+
waiters.push(resolve);
|
|
1325
|
+
script.signal.addEventListener("abort", () => resolve(), { once: true });
|
|
1326
|
+
});
|
|
1327
|
+
if (script.signal.aborted) {
|
|
1328
|
+
waiters.shift()?.();
|
|
1329
|
+
throw new Error("Codemode script already stopped");
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
running++;
|
|
1333
|
+
try {
|
|
1334
|
+
return await ctx.executeTool(name, args, {
|
|
1335
|
+
...options,
|
|
1336
|
+
signal: options?.signal ?? script.signal
|
|
1337
|
+
});
|
|
1338
|
+
} finally {
|
|
1339
|
+
release();
|
|
1340
|
+
}
|
|
1341
|
+
};
|
|
1342
|
+
const boundedCtx = ctx ? Object.defineProperties({}, {
|
|
1343
|
+
...Object.getOwnPropertyDescriptors(ctx),
|
|
1344
|
+
executeTool: { value: executeTool, enumerable: true }
|
|
1345
|
+
}) : ctx;
|
|
1346
|
+
try {
|
|
1347
|
+
return await tool.execute(toolCallId, params, script.signal, onUpdate, boundedCtx);
|
|
1348
|
+
} finally {
|
|
1349
|
+
clearTimeout(timer);
|
|
1350
|
+
signal?.removeEventListener("abort", onOuterAbort);
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
};
|
|
1354
|
+
}
|
|
1355
|
+
function escapePiConfigValue(value) {
|
|
1356
|
+
const escaped = value.replace(/\$/g, () => "$$");
|
|
1357
|
+
return escaped.startsWith("!") ? `$${escaped}` : escaped;
|
|
1358
|
+
}
|
|
1359
|
+
function escapeValues(values) {
|
|
1360
|
+
const out = {};
|
|
1361
|
+
if (!values || typeof values !== "object")
|
|
1362
|
+
return out;
|
|
1363
|
+
for (const [key, value] of Object.entries(values)) {
|
|
1364
|
+
if (typeof value === "string")
|
|
1365
|
+
out[key] = escapePiConfigValue(value);
|
|
1366
|
+
}
|
|
1367
|
+
return out;
|
|
1368
|
+
}
|
|
1369
|
+
function toPiMcpServers(installed) {
|
|
1370
|
+
const servers = {};
|
|
1371
|
+
for (const [name, entry] of Object.entries(installed ?? {})) {
|
|
1372
|
+
if (typeof entry.command === "string") {
|
|
1373
|
+
servers[name] = {
|
|
1374
|
+
type: "stdio",
|
|
1375
|
+
command: entry.command,
|
|
1376
|
+
args: Array.isArray(entry.args) ? entry.args.map(String) : [],
|
|
1377
|
+
env: escapeValues(entry.env),
|
|
1378
|
+
exposure: "direct"
|
|
1379
|
+
};
|
|
1380
|
+
} else if (typeof entry.url === "string") {
|
|
1381
|
+
servers[name] = {
|
|
1382
|
+
type: "http",
|
|
1383
|
+
url: entry.url,
|
|
1384
|
+
headers: escapeValues(entry.headers),
|
|
1385
|
+
exposure: "direct"
|
|
1386
|
+
};
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
return servers;
|
|
1390
|
+
}
|
|
1391
|
+
function piDefaultToolAdditions(features) {
|
|
1392
|
+
const additions = [];
|
|
1393
|
+
if (features.toolDeferral)
|
|
1394
|
+
additions.push("+tool_search");
|
|
1395
|
+
if (features.codemode)
|
|
1396
|
+
additions.push("+codemode");
|
|
1397
|
+
return additions;
|
|
1398
|
+
}
|
|
1399
|
+
async function createPiResourceLoader(opts) {
|
|
1400
|
+
const settingsManager = SettingsManager.create(opts.cwd, opts.agentDir, {
|
|
1401
|
+
projectTrusted: false
|
|
1402
|
+
});
|
|
1403
|
+
const resourceLoader = new DefaultResourceLoader({
|
|
1404
|
+
cwd: opts.cwd,
|
|
1405
|
+
agentDir: opts.agentDir,
|
|
1406
|
+
settingsManager,
|
|
1407
|
+
noContextFiles: true,
|
|
1408
|
+
appendSystemPrompt: opts.systemPrompt ? [opts.systemPrompt] : undefined,
|
|
1409
|
+
extensionFactories: opts.extensionFactories
|
|
1410
|
+
});
|
|
1411
|
+
await resourceLoader.reload();
|
|
1412
|
+
return { resourceLoader, settingsManager };
|
|
1413
|
+
}
|
|
1195
1414
|
|
|
1196
1415
|
class PiMonoAdapter {
|
|
1197
1416
|
name = "pi";
|
|
1198
|
-
traits
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1417
|
+
get traits() {
|
|
1418
|
+
return {
|
|
1419
|
+
hasMcp: true,
|
|
1420
|
+
hasToolSearch: isPiToolDeferralEnabled(),
|
|
1421
|
+
nativeSkillDiscovery: true,
|
|
1422
|
+
hasLocalEnvironment: true,
|
|
1423
|
+
steerModes: ["steer", "queue"]
|
|
1424
|
+
};
|
|
1425
|
+
}
|
|
1204
1426
|
lastCwd = ".";
|
|
1205
1427
|
async createSession(config) {
|
|
1206
1428
|
this.lastCwd = config.cwd;
|
|
1207
1429
|
console.log(`\x1B[2m[${config.role}]\x1B[0m \x1B[35m▸\x1B[0m Spawning pi-mono for task ${config.taskId.slice(0, 8)}`);
|
|
1208
1430
|
const createdSymlink = createAgentsMdSymlink(config.cwd);
|
|
1431
|
+
const deferTools = isPiToolDeferralEnabled();
|
|
1209
1432
|
let customTools = [];
|
|
1210
1433
|
if (config.apiUrl && config.apiKey) {
|
|
1211
1434
|
try {
|
|
@@ -1216,47 +1439,20 @@ class PiMonoAdapter {
|
|
|
1216
1439
|
}
|
|
1217
1440
|
await mcpClient.initialize();
|
|
1218
1441
|
const tools = await mcpClient.listTools();
|
|
1219
|
-
customTools = mcpToolsToDefinitions(mcpClient, tools
|
|
1220
|
-
|
|
1442
|
+
customTools = mcpToolsToDefinitions(mcpClient, tools, {
|
|
1443
|
+
deferNonCore: deferTools,
|
|
1444
|
+
namespace: SWARM_TOOL_NAMESPACE
|
|
1445
|
+
});
|
|
1446
|
+
const deferredCount = deferTools ? tools.filter((t) => !isCoreSwarmTool(t)).length : 0;
|
|
1447
|
+
console.log(`\x1B[2m[${config.role}]\x1B[0m Discovered ${tools.length} MCP tools from swarm` + (deferTools ? ` (${deferredCount} deferred behind tool_search)` : ""));
|
|
1221
1448
|
} catch (err) {
|
|
1222
1449
|
console.warn(`\x1B[33m[${config.role}] Failed to discover MCP tools: ${err}\x1B[0m`);
|
|
1223
1450
|
}
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
}
|
|
1230
|
-
});
|
|
1231
|
-
if (mcpServersRes.ok) {
|
|
1232
|
-
const mcpServersData = await mcpServersRes.json();
|
|
1233
|
-
const httpServers = mcpServersData.servers.filter((s) => s.isActive && s.isEnabled && (s.transport === "http" || s.transport === "sse") && s.url);
|
|
1234
|
-
for (const srv of httpServers) {
|
|
1235
|
-
try {
|
|
1236
|
-
const srvClient = new McpHttpClient(srv.url, "", "");
|
|
1237
|
-
srvClient.useRawUrl = true;
|
|
1238
|
-
let parsedHeaders = {};
|
|
1239
|
-
try {
|
|
1240
|
-
parsedHeaders = srv.headers ? JSON.parse(srv.headers) : {};
|
|
1241
|
-
} catch {}
|
|
1242
|
-
srvClient.customHeaders = {
|
|
1243
|
-
...parsedHeaders,
|
|
1244
|
-
...srv.resolvedHeaders || {}
|
|
1245
|
-
};
|
|
1246
|
-
await srvClient.initialize();
|
|
1247
|
-
const srvTools = await srvClient.listTools();
|
|
1248
|
-
const prefixed = mcpToolsToDefinitions(srvClient, srvTools).map((t) => ({
|
|
1249
|
-
...t,
|
|
1250
|
-
name: `mcp__${srv.name}__${t.name}`
|
|
1251
|
-
}));
|
|
1252
|
-
customTools.push(...prefixed);
|
|
1253
|
-
console.log(`\x1B[2m[${config.role}]\x1B[0m Discovered ${srvTools.length} tools from MCP server "${srv.name}"`);
|
|
1254
|
-
} catch (srvErr) {
|
|
1255
|
-
console.warn(`\x1B[33m[${config.role}] Failed to discover tools from MCP server "${srv.name}": ${srvErr}\x1B[0m`);
|
|
1256
|
-
}
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
} catch {}
|
|
1451
|
+
}
|
|
1452
|
+
const installedMcpServers = config.apiUrl && config.apiKey && config.agentId ? await fetchInstalledMcpServers(config.apiUrl, config.apiKey, config.agentId, "claude") : null;
|
|
1453
|
+
const piMcpServers = toPiMcpServers(installedMcpServers);
|
|
1454
|
+
if (Object.keys(piMcpServers).length > 0) {
|
|
1455
|
+
console.log(`\x1B[2m[${config.role}]\x1B[0m Registering ${Object.keys(piMcpServers).length} installed MCP server(s) with pi`);
|
|
1260
1456
|
}
|
|
1261
1457
|
const sessionEnv = config.env ?? process.env;
|
|
1262
1458
|
await ensureOpenRouterModelsOverride(getAgentDir(), sessionEnv);
|
|
@@ -1269,14 +1465,27 @@ class PiMonoAdapter {
|
|
|
1269
1465
|
agentId: config.agentId,
|
|
1270
1466
|
taskId: config.taskId,
|
|
1271
1467
|
isLead: config.role === "lead",
|
|
1272
|
-
env: sessionEnv
|
|
1468
|
+
env: sessionEnv,
|
|
1469
|
+
mcpServers: piMcpServers
|
|
1273
1470
|
});
|
|
1274
|
-
const
|
|
1471
|
+
const features = {
|
|
1472
|
+
toolDeferral: deferTools,
|
|
1473
|
+
installedMcp: Object.keys(piMcpServers).length > 0,
|
|
1474
|
+
codemode: isPiCodemodeEnabled()
|
|
1475
|
+
};
|
|
1476
|
+
if (features.codemode) {
|
|
1477
|
+
console.log(`\x1B[2m[${config.role}]\x1B[0m codemode on`);
|
|
1478
|
+
}
|
|
1479
|
+
const { resourceLoader, settingsManager } = await createPiResourceLoader({
|
|
1275
1480
|
cwd: config.cwd,
|
|
1276
1481
|
agentDir: getAgentDir(),
|
|
1277
|
-
|
|
1278
|
-
extensionFactories:
|
|
1482
|
+
systemPrompt: config.systemPrompt,
|
|
1483
|
+
extensionFactories: piExtensionFactories(swarmExtension, features)
|
|
1279
1484
|
});
|
|
1485
|
+
const extraDefaultTools = piDefaultToolAdditions(features);
|
|
1486
|
+
if (extraDefaultTools.length > 0) {
|
|
1487
|
+
settingsManager.applyOverrides({ defaultTools: extraDefaultTools });
|
|
1488
|
+
}
|
|
1280
1489
|
const reasoningApplication = applyReasoningEffort("pi", config.model, config.reasoningEffort);
|
|
1281
1490
|
const reasoningSessionOptions = reasoningApplication.kind === "pi-session" ? reasoningApplication.sessionOptions : {};
|
|
1282
1491
|
const appliedReasoningEffort = reasoningApplication.kind === "pi-session" ? config.reasoningEffort ?? null : null;
|
|
@@ -1285,10 +1494,12 @@ class PiMonoAdapter {
|
|
|
1285
1494
|
model,
|
|
1286
1495
|
customTools,
|
|
1287
1496
|
resourceLoader,
|
|
1497
|
+
settingsManager,
|
|
1288
1498
|
modelRuntime,
|
|
1289
1499
|
...reasoningSessionOptions
|
|
1290
1500
|
};
|
|
1291
1501
|
const { session } = await createAgentSession(sessionOptions);
|
|
1502
|
+
await session.bindExtensions({});
|
|
1292
1503
|
return new PiMonoSession(session, config, createdSymlink, appliedReasoningEffort);
|
|
1293
1504
|
}
|
|
1294
1505
|
async canResume(sessionId) {
|
|
@@ -1305,13 +1516,27 @@ class PiMonoAdapter {
|
|
|
1305
1516
|
}
|
|
1306
1517
|
}
|
|
1307
1518
|
export {
|
|
1519
|
+
PI_CODEMODE_MAX_CONCURRENT_CALLS,
|
|
1520
|
+
PI_CODEMODE_MAX_NESTED_CALLS,
|
|
1521
|
+
PI_CODEMODE_TIMEOUT_MS,
|
|
1308
1522
|
PiMonoAdapter,
|
|
1309
1523
|
PiMonoSession,
|
|
1524
|
+
SWARM_TOOL_NAMESPACE,
|
|
1525
|
+
boundCodemodeTool,
|
|
1310
1526
|
checkPiMonoCredentials,
|
|
1527
|
+
createBoundedCodemodeExtension,
|
|
1528
|
+
createPiResourceLoader,
|
|
1311
1529
|
createPiRuntimeAuth,
|
|
1530
|
+
createSwarmMcpExtension,
|
|
1312
1531
|
ensureOpenRouterModelsOverride,
|
|
1313
1532
|
extractPiAssistantText,
|
|
1533
|
+
isCoreSwarmTool,
|
|
1534
|
+
isPiCodemodeEnabled,
|
|
1535
|
+
isPiToolDeferralEnabled,
|
|
1314
1536
|
mcpToolsToDefinitions,
|
|
1537
|
+
piDefaultToolAdditions,
|
|
1538
|
+
piExtensionFactories,
|
|
1315
1539
|
resolveModel,
|
|
1316
|
-
runBedrockSdkProbeAndEnumerate
|
|
1540
|
+
runBedrockSdkProbeAndEnumerate,
|
|
1541
|
+
toPiMcpServers
|
|
1317
1542
|
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MODEL_CATALOG_FORCE_COOLDOWN_MS,
|
|
3
|
+
MODEL_CATALOG_FRESH_MS,
|
|
4
|
+
PRICING_REFRESH_INTERVAL_MS,
|
|
5
|
+
refreshModelCatalog,
|
|
6
|
+
refreshPricingFromModelsDev,
|
|
7
|
+
requestModelCatalogRefresh,
|
|
8
|
+
resetModelCatalogRefreshGuardForTests,
|
|
9
|
+
startPricingRefreshLoop
|
|
10
|
+
} from "./cli-tfky2838.js";
|
|
11
|
+
import"./cli-vctdqs5h.js";
|
|
12
|
+
import"./cli-qydf22qq.js";
|
|
13
|
+
import"./cli-3qhyh31j.js";
|
|
14
|
+
import"./cli-ktmyrtpn.js";
|
|
15
|
+
import"./cli-r1mxd1xh.js";
|
|
16
|
+
import"./cli-n7h1kqpf.js";
|
|
17
|
+
import"./cli-ptr8h7kp.js";
|
|
18
|
+
import"./cli-dv6cdjs2.js";
|
|
19
|
+
import"./cli-1a2j50m0.js";
|
|
20
|
+
import"./cli-0wgxmwf6.js";
|
|
21
|
+
import"./cli-ywybs5as.js";
|
|
22
|
+
import"./cli-ej6gbxfb.js";
|
|
23
|
+
import"./cli-kmcpfwn2.js";
|
|
24
|
+
import"./cli-sd0mxa3c.js";
|
|
25
|
+
import"./cli-w5e1d1vv.js";
|
|
26
|
+
import"./cli-0q3avq3s.js";
|
|
27
|
+
import"./cli-r2ap2czm.js";
|
|
28
|
+
import"./cli-zf8jjwex.js";
|
|
29
|
+
import"./cli-bc05qbss.js";
|
|
30
|
+
export {
|
|
31
|
+
MODEL_CATALOG_FORCE_COOLDOWN_MS,
|
|
32
|
+
MODEL_CATALOG_FRESH_MS,
|
|
33
|
+
PRICING_REFRESH_INTERVAL_MS,
|
|
34
|
+
refreshModelCatalog,
|
|
35
|
+
refreshPricingFromModelsDev,
|
|
36
|
+
requestModelCatalogRefresh,
|
|
37
|
+
resetModelCatalogRefreshGuardForTests,
|
|
38
|
+
startPricingRefreshLoop
|
|
39
|
+
};
|
|
Binary file
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PermissionVerbSchema
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-tmqt7dpj.js";
|
|
4
4
|
import {
|
|
5
5
|
getDb,
|
|
6
6
|
getDbClient,
|
|
7
7
|
init_db
|
|
8
|
-
} from "./cli-
|
|
9
|
-
import"./cli-
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-19jenss3.js";
|
|
13
|
-
import"./cli-dv6cdjs2.js";
|
|
8
|
+
} from "./cli-qydf22qq.js";
|
|
9
|
+
import"./cli-3qhyh31j.js";
|
|
10
|
+
import"./cli-ktmyrtpn.js";
|
|
11
|
+
import"./cli-r1mxd1xh.js";
|
|
14
12
|
import"./cli-n7h1kqpf.js";
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-
|
|
13
|
+
import"./cli-ptr8h7kp.js";
|
|
14
|
+
import"./cli-dv6cdjs2.js";
|
|
15
|
+
import"./cli-1a2j50m0.js";
|
|
16
|
+
import"./cli-0wgxmwf6.js";
|
|
17
|
+
import"./cli-ywybs5as.js";
|
|
17
18
|
import {
|
|
18
19
|
init_env_flag,
|
|
19
20
|
isEnvFlagEnabled
|
|
20
21
|
} from "./cli-ej6gbxfb.js";
|
|
22
|
+
import"./cli-kmcpfwn2.js";
|
|
21
23
|
import"./cli-sd0mxa3c.js";
|
|
22
24
|
import"./cli-w5e1d1vv.js";
|
|
23
|
-
import"./cli-
|
|
25
|
+
import"./cli-0q3avq3s.js";
|
|
24
26
|
import"./cli-r2ap2czm.js";
|
|
25
27
|
import"./cli-zf8jjwex.js";
|
|
26
28
|
import"./cli-bc05qbss.js";
|
|
@@ -16,24 +16,26 @@ import {
|
|
|
16
16
|
slackErrorSummary,
|
|
17
17
|
streamOutcomeCard,
|
|
18
18
|
withStatusLead
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-azhgzetg.js";
|
|
20
20
|
import"./cli-q51yprfq.js";
|
|
21
21
|
import"./cli-3er6gcsn.js";
|
|
22
22
|
import"./cli-2658f6at.js";
|
|
23
23
|
import"./cli-yatxqynm.js";
|
|
24
|
-
import"./cli-
|
|
25
|
-
import"./cli-
|
|
26
|
-
import"./cli-
|
|
27
|
-
import"./cli-
|
|
28
|
-
import"./cli-19jenss3.js";
|
|
29
|
-
import"./cli-dv6cdjs2.js";
|
|
24
|
+
import"./cli-qydf22qq.js";
|
|
25
|
+
import"./cli-3qhyh31j.js";
|
|
26
|
+
import"./cli-ktmyrtpn.js";
|
|
27
|
+
import"./cli-r1mxd1xh.js";
|
|
30
28
|
import"./cli-n7h1kqpf.js";
|
|
31
|
-
import"./cli-
|
|
32
|
-
import"./cli-
|
|
29
|
+
import"./cli-ptr8h7kp.js";
|
|
30
|
+
import"./cli-dv6cdjs2.js";
|
|
31
|
+
import"./cli-1a2j50m0.js";
|
|
32
|
+
import"./cli-0wgxmwf6.js";
|
|
33
|
+
import"./cli-ywybs5as.js";
|
|
33
34
|
import"./cli-ej6gbxfb.js";
|
|
35
|
+
import"./cli-kmcpfwn2.js";
|
|
34
36
|
import"./cli-sd0mxa3c.js";
|
|
35
37
|
import"./cli-w5e1d1vv.js";
|
|
36
|
-
import"./cli-
|
|
38
|
+
import"./cli-0q3avq3s.js";
|
|
37
39
|
import"./cli-r2ap2czm.js";
|
|
38
40
|
import"./cli-bd957dgb.js";
|
|
39
41
|
import"./cli-pzxba7gw.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
McpOAuthCredentialStore,
|
|
3
|
+
McpServerConnection,
|
|
4
|
+
McpServerLog,
|
|
5
|
+
McpSignInCancelledError,
|
|
6
|
+
createDefaultTransport,
|
|
7
|
+
signInMcpServer
|
|
8
|
+
} from "./cli-v7fn5gms.js";
|
|
9
|
+
import"./cli-447dt1h3.js";
|
|
10
|
+
import"./cli-d5czme6m.js";
|
|
11
|
+
import"./cli-5bfdm1ah.js";
|
|
12
|
+
import"./cli-0m7wct0d.js";
|
|
13
|
+
import"./cli-rykfmgwg.js";
|
|
14
|
+
import"./cli-0xqde53b.js";
|
|
15
|
+
import"./cli-pqetb83f.js";
|
|
16
|
+
import"./cli-bc05qbss.js";
|
|
17
|
+
export {
|
|
18
|
+
McpOAuthCredentialStore,
|
|
19
|
+
McpServerConnection,
|
|
20
|
+
McpServerLog,
|
|
21
|
+
McpSignInCancelledError,
|
|
22
|
+
createDefaultTransport,
|
|
23
|
+
signInMcpServer
|
|
24
|
+
};
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
createDefaultMcpJson,
|
|
5
5
|
createDefaultSettingsLocal,
|
|
6
6
|
createHooksConfig
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-g2whhdrf.js";
|
|
8
8
|
import {
|
|
9
9
|
require_jsx_dev_runtime
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-t3p77qk1.js";
|
|
11
11
|
import {
|
|
12
12
|
getApiKey
|
|
13
13
|
} from "./cli-f14fvzag.js";
|
|
14
|
-
import"./cli-
|
|
14
|
+
import"./cli-0q3avq3s.js";
|
|
15
15
|
import {
|
|
16
16
|
Box_default,
|
|
17
17
|
Spinner,
|
|
@@ -19,8 +19,9 @@ import {
|
|
|
19
19
|
TextInput,
|
|
20
20
|
require_react,
|
|
21
21
|
use_app_default
|
|
22
|
-
} from "./cli-
|
|
23
|
-
import"./cli-
|
|
22
|
+
} from "./cli-fkqhbg8g.js";
|
|
23
|
+
import"./cli-0xqde53b.js";
|
|
24
|
+
import"./cli-pqetb83f.js";
|
|
24
25
|
import {
|
|
25
26
|
__toESM
|
|
26
27
|
} from "./cli-bc05qbss.js";
|