@desplega.ai/agent-swarm 2.5.3 → 2.6.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 +2 -2
- package/dist/{acp-adapter-gr2fcyyj.js → acp-adapter-dgfakfpw.js} +9 -9
- package/dist/{actions-wv766ghf.js → actions-fbqma8aa.js} +21 -21
- package/dist/{amp-adapter-speb906t.js → amp-adapter-en0jy6hs.js} +4 -4
- package/dist/{app-ag29n14f.js → app-k8a5cgpp.js} +3 -3
- package/dist/{assistant-3x8bz3eg.js → assistant-a16433gr.js} +30 -26
- package/dist/{boot-reembed-jsmfrpzf.js → boot-reembed-6c1sjfnr.js} +1 -1
- package/dist/{boot-reembed-5b3d2eea.js → boot-reembed-f4nn561n.js} +1 -1
- package/dist/{boot-scrub-sweep-s73gerxy.js → boot-scrub-sweep-d4w9gajf.js} +4 -4
- package/dist/{boot-seeds-5zmax2wr.js → boot-seeds-9bmkspyw.js} +4 -4
- package/dist/{claude-adapter-hswdnm3t.js → claude-adapter-nys1kjxa.js} +9 -9
- package/dist/{claude-managed-adapter-cvbzj1h6.js → claude-managed-adapter-55207973.js} +3 -3
- package/dist/{claude-managed-setup-3k8m3hhc.js → claude-managed-setup-3cm35gey.js} +11 -4
- package/dist/{claude-sdk-session-fkbyk66x.js → claude-sdk-session-nw5yd8cp.js} +9313 -9260
- package/dist/{cli-210xd1f4.js → cli-03gg9pd1.js} +4 -4
- package/dist/{cli-kxpfx2xr.js → cli-0z1xjzwa.js} +2 -2
- package/dist/cli-1tem6ns9.js +894 -0
- package/dist/{cli-25j01dpj.js → cli-24j1jeeb.js} +3 -3
- package/dist/{cli-ta8bd7th.js → cli-2sjhpsns.js} +2 -2
- package/dist/{cli-p859hcc8.js → cli-39aet655.js} +2 -2
- package/dist/{cli-g1cw7xtt.js → cli-39rrw8yp.js} +1 -1
- package/dist/{cli-e2ar4bp1.js → cli-3aqd4jaa.js} +121 -47
- package/dist/{cli-jjznk3f7.js → cli-3fwqy71j.js} +69 -35
- package/dist/{cli-p9rafdrb.js → cli-3gfvmzht.js} +7 -7
- package/dist/{cli-03vpq45j.js → cli-3ndmpxxv.js} +2 -2
- package/dist/{cli-aecdcr77.js → cli-4hxrf0p4.js} +228 -74
- package/dist/{cli-mz9afxxf.js → cli-4rf0f5vg.js} +15 -3
- package/dist/{cli-qzme5949.js → cli-5rj83bam.js} +284 -202
- package/dist/{cli-fsdprwrg.js → cli-5sckpqcx.js} +2 -2
- package/dist/{cli-cz5nmdxt.js → cli-683y0b3a.js} +2 -2
- package/dist/{cli-3ngdk5te.js → cli-6y51ryva.js} +2 -2
- package/dist/{cli-n4c8e3s5.js → cli-708wdy32.js} +1 -1
- package/dist/{cli-pasyvjmm.js → cli-737pyqxr.js} +1 -1
- package/dist/{cli-gx4rm0qx.js → cli-7enjwya9.js} +1 -1
- package/dist/{cli-6x9ma5w5.js → cli-803188pb.js} +1 -1
- package/dist/{cli-avdvgcay.js → cli-9abdgn5t.js} +28 -9
- package/dist/{cli-99xgw26r.js → cli-a2rr0fmg.js} +1 -1
- package/dist/{cli-e5bxnjps.js → cli-a34pr3w1.js} +7 -7
- package/dist/{cli-502eqv93.js → cli-abkm71vr.js} +1 -1
- package/dist/{cli-mmhj8vd7.js → cli-ag2yrnt5.js} +11 -2
- package/dist/{cli-n45mr7zh.js → cli-aj8djyqt.js} +5 -5
- package/dist/{cli-1fc85mvt.js → cli-art7c1zh.js} +5 -5
- package/dist/{cli-40jsnrjm.js → cli-az25fn5f.js} +10 -8
- package/dist/{cli-9s05422w.js → cli-bqztfyve.js} +1 -1
- package/dist/{cli-bn0rewsy.js → cli-c081bj3b.js} +2 -2
- package/dist/{cli-svrj71pg.js → cli-c2habvsf.js} +12 -12
- package/dist/{cli-s49hpn37.js → cli-ca6banwz.js} +85 -19
- package/dist/{cli-hhxjnjzs.js → cli-cz37jqss.js} +12 -10
- package/dist/{cli-6n8axjv1.js → cli-d2dpf95n.js} +2 -2
- package/dist/{cli-tx00c0h6.js → cli-dqygeeh5.js} +17 -1
- package/dist/{cli-z21whrrg.js → cli-emhjcj2y.js} +17 -17
- package/dist/{cli-e8jyq7d8.js → cli-esakngh8.js} +7 -3
- package/dist/{cli-ha9rmwgq.js → cli-fb8m699c.js} +2 -2
- package/dist/{cli-35gtk1p6.js → cli-ffvsj2qw.js} +44 -13
- package/dist/{cli-ce0ak9ms.js → cli-g20jjwt4.js} +26 -26
- package/dist/{cli-kxawjrxg.js → cli-g8ka5j4j.js} +772 -194
- package/dist/{cli-vwn81jbs.js → cli-gf95q3bm.js} +5 -5
- package/dist/{cli-s53vp709.js → cli-gnsb1zxa.js} +2 -2
- package/dist/{cli-nwyw3zhg.js → cli-gxee0bqa.js} +1 -1
- package/dist/{cli-gpv60278.js → cli-hfeb68z4.js} +7 -7
- package/dist/{cli-0ebey9hg.js → cli-j6rktc91.js} +1 -1
- package/dist/{cli-ewm3pwbq.js → cli-k21gx5ht.js} +46 -23
- package/dist/{cli-egjggehm.js → cli-kf4jree9.js} +2 -2
- package/dist/{cli-dabehxhp.js → cli-kt907da6.js} +1 -1
- package/dist/{cli-p0rzjkya.js → cli-m5a9m0ak.js} +32 -13
- package/dist/{cli-fzcn3d87.js → cli-m70bajzr.js} +3 -3
- package/dist/{cli-w1zwctj2.js → cli-mtnj4fwa.js} +11 -5
- package/dist/{cli-gpsz7g88.js → cli-mvjz5an3.js} +16 -12
- package/dist/{cli-hcpj2xqz.js → cli-n7asmce6.js} +225 -3
- package/dist/{cli-y561h5a9.js → cli-nn6vx2mq.js} +5 -5
- package/dist/cli-nq677csy.js +140 -0
- package/dist/{cli-a5ebc95n.js → cli-pfk92eqz.js} +18 -15
- package/dist/{cli-p6zs9h4y.js → cli-rr7zx19j.js} +767 -249
- package/dist/{cli-qgf8emrn.js → cli-sqma6vw1.js} +10 -7
- package/dist/{cli-0xk505e8.js → cli-sxgtf5fw.js} +1 -1
- package/dist/{cli-nzfnt2gs.js → cli-tf1n0r0b.js} +1 -1
- package/dist/{cli-qqzmjxkf.js → cli-v49fkghp.js} +11 -6
- package/dist/{cli-x77gen2p.js → cli-w2656ka1.js} +7 -7
- package/dist/{cli-5kqnemen.js → cli-yvy48785.js} +1 -1
- package/dist/{cli-8s5wx3nz.js → cli-zqne1qcj.js} +44 -17
- package/dist/cli.js +22 -22
- package/dist/{codex-adapter-n8ka66vf.js → codex-adapter-d95q4qsn.js} +7 -7
- package/dist/{codex-hook-e2he7aca.js → codex-hook-brpnycn5.js} +1 -1
- package/dist/{codex-login-rn7c5gxt.js → codex-login-8cg0vhf2.js} +1 -1
- package/dist/{codex-session-runner-fsebts37.js → codex-session-runner-gdwd8h0c.js} +8 -8
- package/dist/{commands-t04rt2pc.js → commands-jqmgk54b.js} +2 -2
- package/dist/{controller-rgna04r2.js → controller-z3jq589f.js} +30 -4
- package/dist/{controllers-connect-bqm1rtft.js → controllers-connect-r2za39ef.js} +23 -23
- package/dist/{cursor-adapter-swr2k95y.js → cursor-adapter-4mr4jgkw.js} +2 -3
- package/dist/{db-a4m7haw0.js → db-ppv2tze7.js} +3 -3
- package/dist/{db-24ck09xy.js → db-w36wwb5g.js} +4 -2
- package/dist/{devin-adapter-4ycy4vrf.js → devin-adapter-byen2cxt.js} +1 -1
- package/dist/{dispatcher-nwf9ss0q.js → dispatcher-pv5h77vf.js} +20 -20
- package/dist/{docker-nfy2gc8t.js → docker-fdzyewpz.js} +4 -4
- package/dist/{dsh-adapter-kpdnhjst.js → dsh-adapter-d4pdpb3r.js} +2 -3
- package/dist/{e2b-9gkdhm3c.js → e2b-222hsajc.js} +2 -2
- package/dist/{e2b-cjtf8k1z.js → e2b-fn3zacvt.js} +2 -2
- package/dist/{easter-egg-3d-e4qv8dxj.js → easter-egg-3d-4sp4dvmc.js} +1 -1
- package/dist/{event-bus-3z78ep5n.js → event-bus-pghg8hqy.js} +1 -1
- package/dist/{execute-0xpz8950.js → execute-jev839y1.js} +1 -1
- package/dist/{external-channel-j1e2p34p.js → external-channel-y6nkzhnn.js} +2 -2
- package/dist/{grok-adapter-qtjz0whk.js → grok-adapter-t08b9ntm.js} +10 -10
- package/dist/handlers-eqsnmv95.js +41 -0
- package/dist/{heartbeat-vtesda5d.js → heartbeat-vn31xwdk.js} +23 -23
- package/dist/{hook-b2hhj6rd.js → hook-6d0zbvvt.js} +6 -5
- package/dist/{hook-8wqaszda.js → hook-cpjs8q51.js} +13 -7
- package/dist/{http-mxcqhhcs.js → http-9c6medda.js} +1085 -136
- package/dist/{index-spwxjgay.js → index-38t35h0n.js} +20 -20
- package/dist/{index-1r8wfpzs.js → index-g6k9tctj.js} +1 -1
- package/dist/{index-srg522m6.js → index-k0yt1tvq.js} +20 -20
- package/dist/{index-31ceyf42.js → index-pkma1yf8.js} +1 -1
- package/dist/{index-n1vbvta9.js → index-qhjf2htm.js} +29 -24
- package/dist/index-yqgbfgaj.js +43 -0
- package/dist/{keepalive-dsd8rtgx.js → keepalive-em0117bp.js} +4 -4
- package/dist/lead-23e7z59t.js +79 -0
- package/dist/{maintenance-jqmqwnet.js → maintenance-kbme3qy9.js} +1 -1
- package/dist/{oauth-refresh-sweep-q2c3bnvm.js → oauth-refresh-sweep-xysj4yse.js} +3 -3
- package/dist/{onboard-w4yd7s8t.js → onboard-p6q0vz97.js} +3 -3
- package/dist/{opencode-adapter-9tppvxar.js → opencode-adapter-esv3k9yn.js} +7 -7
- package/dist/{otel-impl-f36byzbd.js → otel-impl-54qhqh1z.js} +2 -2
- package/dist/{pi-mono-adapter-tqsge1ay.js → pi-mono-adapter-mymbwhj0.js} +41 -14
- package/dist/{pricing-refresh-xvak5p4v.js → pricing-refresh-yb75wv33.js} +3 -3
- package/dist/{rbac-roles-gfn30fb8.js → rbac-roles-1vp2mw4p.js} +2 -2
- package/dist/{rbac-roles-682k2mt5.js → rbac-roles-dexhc9x8.js} +1 -1
- package/dist/render-v2-tjay5hhf.js +16 -0
- package/dist/{resume-2dvq348g.js → resume-8ayf37g5.js} +11 -9
- package/dist/{runtime-bt5pkpm1.js → runtime-hqe5cqcd.js} +1 -1
- package/dist/{session-access-7f21ekq9.js → session-access-fdhp987s.js} +4 -4
- package/dist/session-source-backfill-qgtc86z1.js +110 -0
- package/dist/{setup-epffxtbk.js → setup-4rrmqcq3.js} +1 -1
- package/dist/{virtual-modules-mnfbh5mr.js → virtual-modules-52km00d6.js} +2 -2
- package/dist/{work-objects-xz1a5rqk.js → work-objects-p28fgd70.js} +23 -23
- package/dist/worker-e3w7vye1.js +79 -0
- package/dist/{x-pbpezr0s.js → x-wxrzvzx8.js} +2 -2
- package/openapi.json +1323 -16
- package/package.json +5 -5
- package/plugin/commands/create-pr.md +2 -2
- package/plugin/pi-skills/create-pr/SKILL.md +2 -2
- package/src/assets/source-key.ts +95 -0
- package/src/be/db/api-keys.ts +80 -0
- package/src/be/db/approvals.ts +48 -0
- package/src/be/db/session-labels.ts +28 -0
- package/src/be/db/session-moves.ts +5 -6
- package/src/be/db/session-tree.ts +153 -14
- package/src/be/db/tasks/read.ts +11 -0
- package/src/be/db/tasks/write.ts +21 -6
- package/src/be/db/workflow-idempotency.ts +183 -0
- package/src/be/db/workflow-runs.ts +500 -7
- package/src/be/db-retention.ts +61 -6
- package/src/be/db.ts +126 -131
- package/src/be/memory/providers/openai-embedding.ts +5 -1
- package/src/be/migrations/242_workflow_idempotency_keys.sql +40 -0
- package/src/be/migrations/244_api_key_validation.sql +4 -0
- package/src/be/onboarding.ts +4 -0
- package/src/be/scripts/typecheck.ts +1 -1
- package/src/be/sealed-json.ts +1 -0
- package/src/be/seed-scripts/catalog/compound-insights.inline.ts +2 -2
- package/src/be/seed-scripts/catalog/compound-insights.ts +2 -2
- package/src/be/seed-skills/bundled-files.generated.json +1 -1
- package/src/be/session-source-backfill.ts +163 -0
- package/src/be/sql-connections.ts +7 -1
- package/src/be/swarm-config-guard.ts +3 -0
- package/src/be/users.ts +9 -0
- package/src/comb/review-batch.ts +28 -1
- package/src/comb/templates.ts +7 -2
- package/src/commands/claude-managed-setup.ts +7 -1
- package/src/commands/controller.ts +33 -0
- package/src/commands/credential-refresh.ts +76 -1
- package/src/commands/credential-wait.ts +2 -2
- package/src/commands/provider-credentials.ts +210 -170
- package/src/commands/runner.ts +31 -6
- package/src/extensions/apply-task-create.ts +64 -11
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/contract.ts +30 -0
- package/src/extensions/dispatcher.ts +4 -0
- package/src/extensions/post-bridge.ts +8 -0
- package/src/hooks/context-bound-note.ts +196 -0
- package/src/hooks/hook.ts +12 -0
- package/src/http/all-routes.ts +2 -0
- package/src/http/api-keys.ts +53 -0
- package/src/http/assets.ts +15 -0
- package/src/http/codex-oauth-accounts.ts +191 -0
- package/src/http/comb.ts +15 -2
- package/src/http/config.ts +49 -17
- package/src/http/core.ts +6 -0
- package/src/http/fleet-benchmark.ts +5 -2
- package/src/http/idempotency-key.ts +117 -0
- package/src/http/index.ts +11 -0
- package/src/http/integrations.ts +5 -1
- package/src/http/kv.ts +8 -3
- package/src/http/onboarding.ts +6 -1
- package/src/http/pool-keys.ts +354 -0
- package/src/http/sessions.ts +37 -12
- package/src/http/stats.ts +1 -0
- package/src/http/status.ts +26 -12
- package/src/http/tasks.ts +3 -0
- package/src/http/used-by.ts +7 -2
- package/src/http/workflows.ts +207 -33
- package/src/integrations/chat-sdk/inbound.ts +27 -0
- package/src/kv-reserved-namespaces.ts +19 -0
- package/src/prompts/context-bound-note.ts +48 -0
- package/src/prompts/session-templates.ts +25 -1
- package/src/providers/acp-targets.ts +1 -1
- package/src/providers/amp-adapter.ts +30 -8
- package/src/providers/claude-adapter.ts +34 -5
- package/src/providers/claude-managed-adapter.ts +42 -9
- package/src/providers/claude-sdk-session.ts +10 -0
- package/src/providers/claude-session-events.ts +13 -0
- package/src/providers/codex-adapter.ts +83 -11
- package/src/providers/opencode-adapter.ts +18 -0
- package/src/providers/pi-mono-adapter.ts +35 -0
- package/src/runtime-providers/docker.ts +6 -2
- package/src/scheduler/scheduler.ts +3 -2
- package/src/scripts-runtime/swarm-sdk.ts +7 -1
- package/src/scripts-runtime/types/stdlib.d.ts +1 -1
- package/src/scripts-runtime/types/swarm-extension.d.ts +52 -8
- package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -1
- package/src/slack/assistant.ts +7 -0
- package/src/slack/channel-labels.ts +74 -0
- package/src/slack/handlers.ts +8 -0
- package/src/slack/inbound-files.ts +5 -2
- package/src/slack/thread-buffer.ts +4 -0
- package/src/tasks/sibling-awareness.ts +12 -3
- package/src/telemetry-context.ts +5 -6
- package/src/telemetry-identity.ts +3 -3
- package/src/tests/amp-adapter.test.ts +97 -0
- package/src/tests/api-keys-validation.test.ts +170 -0
- package/src/tests/approval-requests.test.ts +10 -7
- package/src/tests/approval-sweeps.test.ts +12 -6
- package/src/tests/base-prompt.test.ts +1 -1
- package/src/tests/claude-hook-output.test.ts +79 -1
- package/src/tests/claude-managed-adapter.test.ts +321 -0
- package/src/tests/claude-routes-e2e.test.ts +7 -2
- package/src/tests/codex-adapter.test.ts +163 -0
- package/src/tests/codex-credential-pools.test.ts +120 -0
- package/src/tests/codex-gateway-route.test.ts +165 -0
- package/src/tests/codex-oauth-accounts.test.ts +357 -0
- package/src/tests/comb-review-batch.test.ts +63 -2
- package/src/tests/config-pool-keys.test.ts +533 -0
- package/src/tests/context-bound-note.test.ts +269 -0
- package/src/tests/credential-check.test.ts +290 -2
- package/src/tests/credential-refresh.test.ts +172 -1
- package/src/tests/db-retention.test.ts +9 -3
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/db-task-write-contract.test.ts +1 -3
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/extensions-pre-task.test.ts +325 -0
- package/src/tests/fetch-resolved-env.test.ts +17 -0
- package/src/tests/fixtures/extensions/record-blocks/hooks.ts +10 -0
- package/src/tests/fixtures/extensions/record-blocks/manifest.json +7 -0
- package/src/tests/fixtures/extensions/record-task-create/hooks.ts +9 -0
- package/src/tests/fixtures/extensions/record-task-create/manifest.json +7 -0
- package/src/tests/fixtures/fake-amp.ts +22 -8
- package/src/tests/fixtures/held-template-render.ts +42 -0
- package/src/tests/fixtures/workflow-idempotency-trigger.child.ts +73 -0
- package/src/tests/fleet-benchmark.test.ts +8 -0
- package/src/tests/get-workflow-run-tool.test.ts +98 -0
- package/src/tests/integrations-http.test.ts +32 -2
- package/src/tests/internal-ai/complete-structured.test.ts +37 -1
- package/src/tests/internal-ai/credentials.test.ts +23 -0
- package/src/tests/kv-http.test.ts +32 -0
- package/src/tests/kv-tool.test.ts +25 -0
- package/src/tests/multi-runtime-registration.test.ts +12 -12
- package/src/tests/onboarding.test.ts +108 -1
- package/src/tests/openai-embedding-credentials.test.ts +35 -0
- package/src/tests/openapi-route-headers.test.ts +2 -0
- package/src/tests/opencode-adapter.test.ts +134 -0
- package/src/tests/openrouter-attribution-call-sites.test.ts +2 -2
- package/src/tests/org-website.test.ts +36 -0
- package/src/tests/pi-mono-adapter.test.ts +105 -0
- package/src/tests/prompt-template-session.test.ts +4 -3
- package/src/tests/provider-key-probes.test.ts +181 -0
- package/src/tests/rbac-e2e-helpers.test.ts +88 -1
- package/src/tests/rbac-e2e-helpers.ts +36 -11
- package/src/tests/runner-push-delivery.test.ts +25 -0
- package/src/tests/runtime-controller-liveness.test.ts +133 -0
- package/src/tests/runtime-providers-docker.test.ts +2 -0
- package/src/tests/script-connections.test.ts +5 -0
- package/src/tests/script-run-config-scope.test.ts +91 -3
- package/src/tests/script-runs-retention.test.ts +212 -0
- package/src/tests/sdk-allowlist.test.ts +39 -0
- package/src/tests/session-logs.test.ts +70 -0
- package/src/tests/session-source-backfill.test.ts +429 -0
- package/src/tests/session-source-keys.test.ts +236 -0
- package/src/tests/session-source-labels.test.ts +419 -0
- package/src/tests/sessions-detail-batch.test.ts +2 -0
- package/src/tests/sessions-move.test.ts +131 -0
- package/src/tests/sessions-tree.test.ts +336 -2
- package/src/tests/slack-inbound-files.test.ts +103 -23
- package/src/tests/status.test.ts +101 -18
- package/src/tests/tasks-workflow-run-filter.test.ts +146 -0
- package/src/tests/test-net.ts +31 -0
- package/src/tests/transcription.test.ts +8 -0
- package/src/tests/used-by-route.test.ts +11 -0
- package/src/tests/workflow-cascade-cancel.test.ts +1341 -0
- package/src/tests/workflow-foreach-supersede-retry.test.ts +488 -0
- package/src/tests/workflow-http-v2.test.ts +131 -0
- package/src/tests/workflow-idempotency.test.ts +915 -0
- package/src/tests/workflow-step-order.test.ts +92 -0
- package/src/tests/workflow-sub-workflow.test.ts +30 -0
- package/src/tools/get-tasks.ts +8 -0
- package/src/tools/kv/kv-read-auth.ts +4 -2
- package/src/tools/task-action.ts +1 -1
- package/src/tools/workflows/cancel-workflow-run.ts +1 -1
- package/src/tools/workflows/get-workflow-run.ts +14 -4
- package/src/types.ts +24 -0
- package/src/utils/company-profile.ts +51 -1
- package/src/utils/context-window.ts +8 -6
- package/src/utils/credentials.ts +5 -2
- package/src/utils/internal-ai/complete-structured.ts +5 -0
- package/src/utils/internal-ai/credentials.ts +4 -3
- package/src/utils/provider-key-probes.ts +328 -0
- package/src/utils/transcription.ts +4 -1
- package/src/workflows/approval-cancel.ts +15 -13
- package/src/workflows/approval-notifications.ts +5 -1
- package/src/workflows/checkpoint.ts +6 -3
- package/src/workflows/engine.ts +30 -8
- package/src/workflows/executors/foreach.ts +2 -2
- package/src/workflows/executors/sub-workflow.ts +8 -1
- package/src/workflows/foreach-driver.ts +10 -3
- package/src/workflows/foreach-join.ts +29 -6
- package/src/workflows/recovery.ts +6 -1
- package/src/workflows/resume.ts +168 -56
- package/src/workflows/retry-poller.ts +49 -3
- package/src/workflows/task-step-routing.ts +29 -7
- package/templates/ai-toolbox.manifest.json +8 -8
- package/templates/community/open-prompt-showreel/PLAYBOOK.md +5 -6
- package/templates/community/open-prompt-showreel/lead-prompt.md +1 -1
- package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +4 -4
- package/templates/skills/agent-browser/SKILL.md +4 -4
- package/templates/skills/agent-browser/content.md +4 -4
- package/templates/skills/code-quality/config.json +1 -1
- package/templates/skills/code-quality/content.md +2 -2
- package/templates/skills/delegate-work/content.md +29 -25
- package/templates/skills/delegate-work/files/scripts/codex-exec.sh +5 -5
- package/templates/skills/qa/content.md +2 -2
- package/templates/skills/researching/content.md +4 -0
- package/templates/skills/swarm-scripts/SKILL.md +1 -0
- package/templates/skills/swarm-scripts/content.md +1 -0
- package/templates/skills/work-on-task/SKILL.md +1 -1
- package/templates/skills/work-on-task/content.md +1 -1
- package/dist/cli-7421jzsw.js +0 -84
- package/dist/cli-e45e4m6b.js +0 -413
- package/dist/cli-zw88zjba.js +0 -307
- package/dist/handlers-19xr6dnz.js +0 -41
- package/dist/index-kw2mmat7.js +0 -43
- package/dist/lead-zyerk1x2.js +0 -79
- package/dist/render-v2-hgytz8nn.js +0 -12
- package/dist/worker-42t8emjt.js +0 -79
package/dist/cli-e45e4m6b.js
DELETED
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__esm
|
|
3
|
-
} from "./cli-242037k3.js";
|
|
4
|
-
|
|
5
|
-
// packages/model-routing/src/env.ts
|
|
6
|
-
function envValue(env, key) {
|
|
7
|
-
const value = env[key]?.trim();
|
|
8
|
-
return value ? value : undefined;
|
|
9
|
-
}
|
|
10
|
-
function isEnvTruthy(env, key) {
|
|
11
|
-
const value = envValue(env, key)?.toLowerCase();
|
|
12
|
-
return value === "1" || value === "true" || value === "yes" || value === "on";
|
|
13
|
-
}
|
|
14
|
-
var init_env = () => {};
|
|
15
|
-
|
|
16
|
-
// packages/model-routing/src/protocols.ts
|
|
17
|
-
function defineRouteProvider(p) {
|
|
18
|
-
return {
|
|
19
|
-
...p,
|
|
20
|
-
isHarnessDefaultProtocol: p.isHarnessDefaultProtocol ?? ((harness, protocol) => HARNESS_DEFAULT_PROTOCOL[harness] === protocol)
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
var HARNESS_DEFAULT_PROTOCOL;
|
|
24
|
-
var init_protocols = __esm(() => {
|
|
25
|
-
HARNESS_DEFAULT_PROTOCOL = {
|
|
26
|
-
claude: "anthropic-messages",
|
|
27
|
-
codex: "openai-responses",
|
|
28
|
-
pi: "openai-chat",
|
|
29
|
-
opencode: "openai-chat",
|
|
30
|
-
dsh: "openai-chat"
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// packages/model-routing/src/providers/anthropic-models.ts
|
|
35
|
-
function routeAuthHeaders(ctx) {
|
|
36
|
-
const { auth } = ctx.route;
|
|
37
|
-
if (auth.kind !== "bearer" && auth.kind !== "x-api-key" && auth.kind !== "header")
|
|
38
|
-
return {};
|
|
39
|
-
const secret = envValue(ctx.env, auth.secretKey);
|
|
40
|
-
if (!secret)
|
|
41
|
-
return {};
|
|
42
|
-
if (auth.kind === "bearer")
|
|
43
|
-
return { Authorization: `Bearer ${secret}` };
|
|
44
|
-
if (auth.kind === "x-api-key")
|
|
45
|
-
return { "x-api-key": secret };
|
|
46
|
-
return { [auth.header]: secret };
|
|
47
|
-
}
|
|
48
|
-
async function readBody(res) {
|
|
49
|
-
try {
|
|
50
|
-
return await res.text();
|
|
51
|
-
} catch {
|
|
52
|
-
return "";
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function modelIds(body) {
|
|
56
|
-
try {
|
|
57
|
-
const parsed = JSON.parse(body);
|
|
58
|
-
if (!Array.isArray(parsed.data))
|
|
59
|
-
return;
|
|
60
|
-
return parsed.data.flatMap((m) => typeof m.id === "string" ? [m.id] : []);
|
|
61
|
-
} catch {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async function checkAnthropicModels(ctx, opts = {}) {
|
|
66
|
-
const res = await ctx.fetch("/v1/models", {
|
|
67
|
-
method: "GET",
|
|
68
|
-
headers: {
|
|
69
|
-
"anthropic-version": ANTHROPIC_VERSION,
|
|
70
|
-
...opts.extraHeaders,
|
|
71
|
-
...routeAuthHeaders(ctx)
|
|
72
|
-
},
|
|
73
|
-
signal: ctx.signal
|
|
74
|
-
});
|
|
75
|
-
const body = await readBody(res);
|
|
76
|
-
if (res.ok)
|
|
77
|
-
return { status: "verified", models: modelIds(body) };
|
|
78
|
-
if (opts.notFoundIsConfigured && (res.status === 404 || res.status === 405)) {
|
|
79
|
-
return {
|
|
80
|
-
status: "configured",
|
|
81
|
-
reason: `HTTP ${res.status}: the endpoint does not list models, so the key was not checked`
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return { status: "failed", reason: `HTTP ${res.status}: ${body.slice(0, 200)}` };
|
|
85
|
-
}
|
|
86
|
-
var ANTHROPIC_VERSION = "2023-06-01";
|
|
87
|
-
var init_anthropic_models = __esm(() => {
|
|
88
|
-
init_env();
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
// packages/model-routing/src/providers/secret-env.ts
|
|
92
|
-
function secretEnv(route) {
|
|
93
|
-
const { auth } = route;
|
|
94
|
-
return "secretKey" in auth ? [auth.secretKey] : [];
|
|
95
|
-
}
|
|
96
|
-
var init_secret_env = () => {};
|
|
97
|
-
|
|
98
|
-
// packages/model-routing/src/providers/anthropic.ts
|
|
99
|
-
var ANTHROPIC_API_BASE_URL = "https://api.anthropic.com", anthropicProvider;
|
|
100
|
-
var init_anthropic = __esm(() => {
|
|
101
|
-
init_protocols();
|
|
102
|
-
init_anthropic_models();
|
|
103
|
-
init_secret_env();
|
|
104
|
-
anthropicProvider = defineRouteProvider({
|
|
105
|
-
id: "anthropic",
|
|
106
|
-
name: "Anthropic API",
|
|
107
|
-
protocols: ["anthropic-messages"],
|
|
108
|
-
defaultBaseUrl: ANTHROPIC_API_BASE_URL,
|
|
109
|
-
requiredEnv: (route) => secretEnv(route),
|
|
110
|
-
validate: (ctx) => checkAnthropicModels(ctx)
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// packages/model-routing/src/providers/anthropic-gateway.ts
|
|
115
|
-
function customHeaders(route, env) {
|
|
116
|
-
if (route.source !== "default")
|
|
117
|
-
return {};
|
|
118
|
-
const raw = envValue(env, "ANTHROPIC_CUSTOM_HEADERS");
|
|
119
|
-
if (!raw)
|
|
120
|
-
return {};
|
|
121
|
-
const headers = {};
|
|
122
|
-
for (const line of raw.split(`
|
|
123
|
-
`)) {
|
|
124
|
-
const colon = line.indexOf(":");
|
|
125
|
-
if (colon <= 0)
|
|
126
|
-
continue;
|
|
127
|
-
const name = line.slice(0, colon).trim();
|
|
128
|
-
const value = line.slice(colon + 1).trim();
|
|
129
|
-
if (name && value)
|
|
130
|
-
headers[name] = value;
|
|
131
|
-
}
|
|
132
|
-
return headers;
|
|
133
|
-
}
|
|
134
|
-
var anthropicGatewayProvider;
|
|
135
|
-
var init_anthropic_gateway = __esm(() => {
|
|
136
|
-
init_env();
|
|
137
|
-
init_protocols();
|
|
138
|
-
init_anthropic_models();
|
|
139
|
-
init_secret_env();
|
|
140
|
-
anthropicGatewayProvider = defineRouteProvider({
|
|
141
|
-
id: "anthropic-gateway",
|
|
142
|
-
name: "Anthropic-compatible gateway",
|
|
143
|
-
protocols: ["anthropic-messages"],
|
|
144
|
-
requiredEnv: (route) => secretEnv(route),
|
|
145
|
-
validate: (ctx) => checkAnthropicModels(ctx, {
|
|
146
|
-
extraHeaders: customHeaders(ctx.route, ctx.env),
|
|
147
|
-
notFoundIsConfigured: true
|
|
148
|
-
})
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
// packages/model-routing/src/providers/bedrock.ts
|
|
153
|
-
var bedrockProvider;
|
|
154
|
-
var init_bedrock = __esm(() => {
|
|
155
|
-
init_protocols();
|
|
156
|
-
init_secret_env();
|
|
157
|
-
bedrockProvider = defineRouteProvider({
|
|
158
|
-
id: "bedrock",
|
|
159
|
-
name: "Amazon Bedrock",
|
|
160
|
-
protocols: ["bedrock"],
|
|
161
|
-
requiredEnv: (route) => ["AWS_REGION", ...secretEnv(route)]
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
// packages/model-routing/src/providers/claude-subscription.ts
|
|
166
|
-
var claudeSubscriptionProvider;
|
|
167
|
-
var init_claude_subscription = __esm(() => {
|
|
168
|
-
init_protocols();
|
|
169
|
-
init_anthropic();
|
|
170
|
-
claudeSubscriptionProvider = defineRouteProvider({
|
|
171
|
-
id: "claude-subscription",
|
|
172
|
-
name: "Claude subscription",
|
|
173
|
-
protocols: ["anthropic-messages"],
|
|
174
|
-
harnesses: ["claude"],
|
|
175
|
-
defaultBaseUrl: ANTHROPIC_API_BASE_URL,
|
|
176
|
-
requiredEnv: () => ["CLAUDE_CODE_OAUTH_TOKEN"],
|
|
177
|
-
validate: async () => ({ status: "verified" })
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
// packages/model-routing/src/providers/foundry.ts
|
|
182
|
-
function foundryBaseUrl(resource) {
|
|
183
|
-
return `https://${resource}.services.ai.azure.com/anthropic`;
|
|
184
|
-
}
|
|
185
|
-
var foundryProvider;
|
|
186
|
-
var init_foundry = __esm(() => {
|
|
187
|
-
init_protocols();
|
|
188
|
-
init_secret_env();
|
|
189
|
-
foundryProvider = defineRouteProvider({
|
|
190
|
-
id: "foundry",
|
|
191
|
-
name: "Microsoft Foundry",
|
|
192
|
-
protocols: ["foundry"],
|
|
193
|
-
requiredEnv: (route) => [
|
|
194
|
-
...route.baseUrl ? [] : ["ANTHROPIC_FOUNDRY_RESOURCE"],
|
|
195
|
-
...secretEnv(route)
|
|
196
|
-
]
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
// packages/model-routing/src/providers/vertex.ts
|
|
201
|
-
var vertexProvider;
|
|
202
|
-
var init_vertex = __esm(() => {
|
|
203
|
-
init_protocols();
|
|
204
|
-
vertexProvider = defineRouteProvider({
|
|
205
|
-
id: "vertex",
|
|
206
|
-
name: "Google Vertex AI",
|
|
207
|
-
protocols: ["vertex"],
|
|
208
|
-
requiredEnv: () => ["CLOUD_ML_REGION", "ANTHROPIC_VERTEX_PROJECT_ID"]
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
// packages/model-routing/src/providers/index.ts
|
|
213
|
-
function getRouteProvider(id) {
|
|
214
|
-
return ROUTE_PROVIDERS.find((p) => p.id === id);
|
|
215
|
-
}
|
|
216
|
-
var ROUTE_PROVIDERS;
|
|
217
|
-
var init_providers = __esm(() => {
|
|
218
|
-
init_anthropic();
|
|
219
|
-
init_anthropic_gateway();
|
|
220
|
-
init_bedrock();
|
|
221
|
-
init_claude_subscription();
|
|
222
|
-
init_foundry();
|
|
223
|
-
init_vertex();
|
|
224
|
-
ROUTE_PROVIDERS = [
|
|
225
|
-
anthropicProvider,
|
|
226
|
-
claudeSubscriptionProvider,
|
|
227
|
-
anthropicGatewayProvider,
|
|
228
|
-
foundryProvider,
|
|
229
|
-
bedrockProvider,
|
|
230
|
-
vertexProvider
|
|
231
|
-
];
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
// packages/model-routing/src/scoped-fetch.ts
|
|
235
|
-
function isAbsolute(path) {
|
|
236
|
-
return /^[a-z][a-z0-9+.-]*:/i.test(path) || path.startsWith("//");
|
|
237
|
-
}
|
|
238
|
-
function createScopedFetch(baseUrl, impl) {
|
|
239
|
-
let base;
|
|
240
|
-
try {
|
|
241
|
-
base = new URL(baseUrl);
|
|
242
|
-
} catch {
|
|
243
|
-
throw new ScopedFetchError(`Invalid route base URL: ${baseUrl}`);
|
|
244
|
-
}
|
|
245
|
-
const prefix = base.href.replace(/\/+$/, "");
|
|
246
|
-
return (path, init) => {
|
|
247
|
-
let target;
|
|
248
|
-
try {
|
|
249
|
-
target = isAbsolute(path) ? new URL(path, base) : new URL(`${prefix}/${path.replace(/^\/+/, "")}`);
|
|
250
|
-
} catch {
|
|
251
|
-
return Promise.reject(new ScopedFetchError(`Invalid route path: ${path}`));
|
|
252
|
-
}
|
|
253
|
-
if (target.origin !== base.origin) {
|
|
254
|
-
return Promise.reject(new ScopedFetchError(`Refusing request to ${target.origin}: route is scoped to ${base.origin}`));
|
|
255
|
-
}
|
|
256
|
-
const doFetch = impl ?? globalThis.fetch;
|
|
257
|
-
return doFetch(target.href, { ...init, redirect: "manual" });
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
var ScopedFetchError;
|
|
261
|
-
var init_scoped_fetch = __esm(() => {
|
|
262
|
-
ScopedFetchError = class ScopedFetchError extends Error {
|
|
263
|
-
name = "ScopedFetchError";
|
|
264
|
-
};
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
// packages/model-routing/src/credential-status.ts
|
|
268
|
-
function describeRoute(route, providerName) {
|
|
269
|
-
return route.baseUrl ? `${providerName} at ${route.baseUrl}` : providerName;
|
|
270
|
-
}
|
|
271
|
-
function routeCredentialStatus(route, env) {
|
|
272
|
-
const provider = getRouteProvider(route.provider);
|
|
273
|
-
if (!provider) {
|
|
274
|
-
return { ready: false, missing: [], hint: `Unknown route provider "${route.provider}".` };
|
|
275
|
-
}
|
|
276
|
-
const missing = provider.requiredEnv(route).filter((key) => !envValue(env, key));
|
|
277
|
-
const where = describeRoute(route, provider.name);
|
|
278
|
-
return missing.length === 0 ? { ready: true, missing: [], hint: `Routing through ${where}.` } : { ready: false, missing, hint: `${where} needs ${missing.join(", ")}.` };
|
|
279
|
-
}
|
|
280
|
-
async function validateRoute(route, env, opts = {}) {
|
|
281
|
-
const provider = getRouteProvider(route.provider);
|
|
282
|
-
const status = routeCredentialStatus(route, env);
|
|
283
|
-
if (!provider || !status.ready) {
|
|
284
|
-
return { status: "failed", reason: status.hint, missing: status.missing };
|
|
285
|
-
}
|
|
286
|
-
if (!provider.validate) {
|
|
287
|
-
return {
|
|
288
|
-
status: "configured",
|
|
289
|
-
reason: `${provider.name} has no free credential check; the first task proves the route.`
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
const baseUrl = route.baseUrl ?? provider.defaultBaseUrl;
|
|
293
|
-
const controller = new AbortController;
|
|
294
|
-
const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? VALIDATE_TIMEOUT_MS);
|
|
295
|
-
try {
|
|
296
|
-
const scopedFetch = baseUrl ? createScopedFetch(baseUrl) : () => Promise.reject(new ScopedFetchError(`Route "${route.name}" has no base URL.`));
|
|
297
|
-
return await provider.validate({ route, env, fetch: scopedFetch, signal: controller.signal });
|
|
298
|
-
} catch (err) {
|
|
299
|
-
return { status: "failed", reason: err instanceof Error ? err.message : String(err) };
|
|
300
|
-
} finally {
|
|
301
|
-
clearTimeout(timer);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
var VALIDATE_TIMEOUT_MS = 5000;
|
|
305
|
-
var init_credential_status = __esm(() => {
|
|
306
|
-
init_env();
|
|
307
|
-
init_protocols();
|
|
308
|
-
init_providers();
|
|
309
|
-
init_scoped_fetch();
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
// packages/model-routing/src/default-route.ts
|
|
313
|
-
function isFirstPartyAnthropicUrl(url) {
|
|
314
|
-
try {
|
|
315
|
-
return new URL(url).origin === ANTHROPIC_API_BASE_URL;
|
|
316
|
-
} catch {
|
|
317
|
-
return false;
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
function defaultRoute(harness, route) {
|
|
321
|
-
return { id: `default:${harness}`, name: `default:${harness}`, source: "default", ...route };
|
|
322
|
-
}
|
|
323
|
-
function deriveClaudeDefaultRoute(env) {
|
|
324
|
-
if (isEnvTruthy(env, "CLAUDE_CODE_USE_FOUNDRY")) {
|
|
325
|
-
const resource = envValue(env, "ANTHROPIC_FOUNDRY_RESOURCE");
|
|
326
|
-
const auth = envValue(env, "ANTHROPIC_FOUNDRY_AUTH_TOKEN") ? { kind: "bearer", secretKey: "ANTHROPIC_FOUNDRY_AUTH_TOKEN" } : envValue(env, "ANTHROPIC_FOUNDRY_API_KEY") ? { kind: "x-api-key", secretKey: "ANTHROPIC_FOUNDRY_API_KEY" } : { kind: "cloud-chain" };
|
|
327
|
-
return defaultRoute("claude", {
|
|
328
|
-
provider: "foundry",
|
|
329
|
-
protocol: "foundry",
|
|
330
|
-
baseUrl: envValue(env, "ANTHROPIC_FOUNDRY_BASE_URL") ?? (resource ? foundryBaseUrl(resource) : undefined),
|
|
331
|
-
auth,
|
|
332
|
-
cloud: { resource }
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
if (isEnvTruthy(env, "CLAUDE_CODE_USE_BEDROCK")) {
|
|
336
|
-
const region = envValue(env, "AWS_REGION");
|
|
337
|
-
return defaultRoute("claude", {
|
|
338
|
-
provider: "bedrock",
|
|
339
|
-
protocol: "bedrock",
|
|
340
|
-
baseUrl: envValue(env, "ANTHROPIC_BEDROCK_BASE_URL") ?? (region ? `https://bedrock-runtime.${region}.amazonaws.com` : undefined),
|
|
341
|
-
auth: envValue(env, "AWS_BEARER_TOKEN_BEDROCK") ? { kind: "bearer", secretKey: "AWS_BEARER_TOKEN_BEDROCK" } : { kind: "cloud-chain" },
|
|
342
|
-
cloud: { region }
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
if (isEnvTruthy(env, "CLAUDE_CODE_USE_VERTEX")) {
|
|
346
|
-
const region = envValue(env, "CLOUD_ML_REGION");
|
|
347
|
-
const vertexHost = region === "global" ? "aiplatform.googleapis.com" : `${region}-aiplatform.googleapis.com`;
|
|
348
|
-
return defaultRoute("claude", {
|
|
349
|
-
provider: "vertex",
|
|
350
|
-
protocol: "vertex",
|
|
351
|
-
baseUrl: envValue(env, "ANTHROPIC_VERTEX_BASE_URL") ?? (region ? `https://${vertexHost}` : undefined),
|
|
352
|
-
auth: { kind: "cloud-chain" },
|
|
353
|
-
cloud: { region, project: envValue(env, "ANTHROPIC_VERTEX_PROJECT_ID") }
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
const oauthToken = envValue(env, "CLAUDE_CODE_OAUTH_TOKEN");
|
|
357
|
-
const baseUrl = envValue(env, "ANTHROPIC_BASE_URL");
|
|
358
|
-
if (baseUrl && !isFirstPartyAnthropicUrl(baseUrl)) {
|
|
359
|
-
const authToken = envValue(env, "ANTHROPIC_AUTH_TOKEN");
|
|
360
|
-
const apiKey = envValue(env, "ANTHROPIC_API_KEY");
|
|
361
|
-
return defaultRoute("claude", {
|
|
362
|
-
provider: "anthropic-gateway",
|
|
363
|
-
protocol: "anthropic-messages",
|
|
364
|
-
baseUrl,
|
|
365
|
-
auth: authToken || !apiKey ? { kind: "bearer", secretKey: "ANTHROPIC_AUTH_TOKEN" } : { kind: "x-api-key", secretKey: "ANTHROPIC_API_KEY" }
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
if (oauthToken) {
|
|
369
|
-
return defaultRoute("claude", {
|
|
370
|
-
provider: "claude-subscription",
|
|
371
|
-
protocol: "anthropic-messages",
|
|
372
|
-
baseUrl: baseUrl ?? ANTHROPIC_API_BASE_URL,
|
|
373
|
-
auth: { kind: "subscription", plan: "claude" }
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
if (envValue(env, "ANTHROPIC_API_KEY")) {
|
|
377
|
-
return defaultRoute("claude", {
|
|
378
|
-
provider: "anthropic",
|
|
379
|
-
protocol: "anthropic-messages",
|
|
380
|
-
baseUrl: baseUrl ?? ANTHROPIC_API_BASE_URL,
|
|
381
|
-
auth: { kind: "x-api-key", secretKey: "ANTHROPIC_API_KEY" }
|
|
382
|
-
});
|
|
383
|
-
}
|
|
384
|
-
return null;
|
|
385
|
-
}
|
|
386
|
-
function deriveDefaultRoute(harness, env) {
|
|
387
|
-
if (harness === "claude")
|
|
388
|
-
return deriveClaudeDefaultRoute(env);
|
|
389
|
-
return null;
|
|
390
|
-
}
|
|
391
|
-
function routeUnsetEnv(harness, route) {
|
|
392
|
-
if (harness === "claude" && route.provider !== "claude-subscription") {
|
|
393
|
-
return ["CLAUDE_CODE_OAUTH_TOKEN"];
|
|
394
|
-
}
|
|
395
|
-
return [];
|
|
396
|
-
}
|
|
397
|
-
var init_default_route = __esm(() => {
|
|
398
|
-
init_env();
|
|
399
|
-
init_anthropic();
|
|
400
|
-
init_foundry();
|
|
401
|
-
});
|
|
402
|
-
|
|
403
|
-
// packages/model-routing/src/index.ts
|
|
404
|
-
var init_src = __esm(() => {
|
|
405
|
-
init_credential_status();
|
|
406
|
-
init_default_route();
|
|
407
|
-
init_protocols();
|
|
408
|
-
init_anthropic();
|
|
409
|
-
init_providers();
|
|
410
|
-
init_scoped_fetch();
|
|
411
|
-
});
|
|
412
|
-
|
|
413
|
-
export { routeCredentialStatus, validateRoute, isFirstPartyAnthropicUrl, deriveDefaultRoute, routeUnsetEnv, init_src };
|