@desplega.ai/agent-swarm 1.165.0 → 1.167.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/dist/acp-adapter-zpvy6321.js +34 -0
- package/dist/{actions-jna0b3wm.js → actions-fq2zrwtf.js} +30 -34
- package/dist/{amp-adapter-0eve81pz.js → amp-adapter-5gbk7501.js} +7 -7
- package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
- package/dist/{app-75hm5cfa.js → app-nctetn1e.js} +11 -11
- package/dist/{assistant-yzd51j33.js → assistant-0aq8gjvj.js} +31 -35
- package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
- package/dist/{boot-reembed-z158xq32.js → boot-reembed-1ze5853n.js} +14 -16
- package/dist/{boot-reembed-2ex2mcsh.js → boot-reembed-fmp5ww69.js} +15 -16
- package/dist/boot-scrub-sweep-cbp8xd4e.js +212 -0
- package/dist/{boot-seeds-2bmnh18p.js → boot-seeds-22tx8a53.js} +13 -12
- package/dist/{claude-adapter-jbj1mycz.js → claude-adapter-0jhgeh1d.js} +25 -25
- package/dist/{claude-managed-adapter-17ggz09t.js → claude-managed-adapter-tzwxy803.js} +5 -5
- package/dist/{claude-managed-setup-ptm1nzm2.js → claude-managed-setup-nrhfx5b0.js} +5 -5
- package/dist/{claude-sdk-session-9re1g7r2.js → claude-sdk-session-wh77rh83.js} +2632 -2614
- package/dist/{cli-zsh093hk.js → cli-014vns2y.js} +63 -1
- package/dist/{cli-qvfk83fy.js → cli-13xwcqvj.js} +2 -2
- package/dist/{cli-8gpbwy09.js → cli-1yrcfa5s.js} +5 -5
- package/dist/{cli-xtgtyafv.js → cli-577bxkf6.js} +212 -451
- package/dist/{cli-ma3zvh39.js → cli-5qkcdv8c.js} +6118 -5874
- package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
- package/dist/{cli-zvckv750.js → cli-69egj654.js} +2 -2
- package/dist/{cli-9xb89xca.js → cli-6bpvv8h4.js} +9 -9
- package/dist/{cli-90v942q1.js → cli-6qxmjpem.js} +8 -8
- package/dist/{cli-9866bd07.js → cli-6vfz44sr.js} +1 -1
- package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
- package/dist/{cli-xb3c6aat.js → cli-7mhy3ths.js} +21 -18
- package/dist/{cli-q38n4bq0.js → cli-95zs84qw.js} +3 -3
- package/dist/cli-a35hzdve.js +33 -0
- package/dist/{cli-x3x0qwky.js → cli-bxqez1p0.js} +51 -23
- package/dist/{cli-prt9emct.js → cli-c2tpw9ck.js} +3 -3
- package/dist/{cli-0n4fasz0.js → cli-c8r99akr.js} +16 -16
- package/dist/{cli-5anb0ev3.js → cli-cexctgn5.js} +89 -26
- package/dist/{cli-bns5c8k9.js → cli-cf2vgn9d.js} +105 -91
- package/dist/{cli-ng97fjq7.js → cli-cmxkbzzs.js} +33 -7
- package/dist/{cli-nexwh8zg.js → cli-g7k7zbcz.js} +12 -5
- package/dist/{cli-mmzwwptd.js → cli-hf5s9pgf.js} +1 -1
- package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
- package/dist/{cli-zn2v3t8v.js → cli-jvmtxqtc.js} +27 -15
- package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
- package/dist/cli-kw0jcfje.js +516 -0
- package/dist/{cli-28smfvbn.js → cli-m7vmeepg.js} +32 -19
- package/dist/{cli-hpryr6em.js → cli-mb75wpxf.js} +1 -1
- package/dist/{cli-qdv8kgz7.js → cli-mkdsy1nq.js} +14018 -3333
- package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
- package/dist/{cli-420bdgw0.js → cli-mv2520nm.js} +1 -1
- package/dist/{cli-n9ehc28t.js → cli-mxry91sa.js} +31 -10
- package/dist/{cli-wfajtmf7.js → cli-mxvnnv5q.js} +596 -13
- package/dist/cli-nkqjj42q.js +104 -0
- package/dist/{cli-e7t4snpa.js → cli-p8rt8spp.js} +5 -5
- package/dist/{cli-gh5yqzpe.js → cli-pkj1w46r.js} +12 -7
- package/dist/cli-q1vnz8wv.js +96 -0
- package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
- package/dist/{cli-ba66wyhy.js → cli-qzmzwegq.js} +60 -20
- package/dist/{cli-5b2fjjzh.js → cli-r7eeddkq.js} +14 -9
- package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
- package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
- package/dist/{cli-59jn5twa.js → cli-tc5zec7v.js} +7 -7
- package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
- package/dist/{cli-k6xx3pve.js → cli-tx2zvn23.js} +4 -4
- package/dist/{cli-pjxnr1jn.js → cli-ty4bzkqr.js} +5 -5
- package/dist/{cli-nfygw434.js → cli-v1pwxreq.js} +55 -52
- package/dist/{cli-ftry7975.js → cli-v1w7pbd8.js} +3 -2
- package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
- package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
- package/dist/cli-wt7ccy4r.js +2654 -0
- package/dist/{cli-50eg13rj.js → cli-wydz3feg.js} +549 -321
- package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
- package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
- package/dist/{cli-x7afk5wm.js → cli-xvc3q9br.js} +1 -1
- package/dist/{cli-9s3h836g.js → cli-xvdgasgy.js} +1 -1
- package/dist/{cli-j0pdrmwg.js → cli-y0kjpfm9.js} +3 -3
- package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
- package/dist/{cli-amwhs8h2.js → cli-ykt8f7va.js} +22 -9
- package/dist/{cli-1kzfvd1z.js → cli-ymmc1zxg.js} +15 -11
- package/dist/{cli-xnzrzets.js → cli-ypgba1a8.js} +2 -2
- package/dist/{cli-bdv39kgj.js → cli-z1dqhc9y.js} +31 -20
- package/dist/{cli-fw6vdcq5.js → cli-zp67qg5x.js} +34 -1
- package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
- package/dist/cli.js +36 -32
- package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
- package/dist/{codex-adapter-3qnxshje.js → codex-adapter-cgesnjkr.js} +20 -20
- package/dist/{codex-login-brkxhhdg.js → codex-login-g1cyt5zm.js} +2 -2
- package/dist/{codex-session-runner-612wnapp.js → codex-session-runner-8kd7ddhr.js} +20 -20
- package/dist/{commands-2ybfcxkj.js → commands-h6zaaxym.js} +11 -10
- package/dist/{cursor-adapter-p3jgdehv.js → cursor-adapter-v8mm6bp5.js} +7 -7
- package/dist/{db-f4ans0jj.js → db-qg3myn53.js} +13 -10
- package/dist/{devin-adapter-dhzt01ff.js → devin-adapter-bffjj5n4.js} +2 -2
- package/dist/{dispatcher-pk182apd.js → dispatcher-7vnwj9qw.js} +28 -32
- package/dist/{dsh-adapter-7twaeps1.js → dsh-adapter-tz6hfp5r.js} +7 -7
- package/dist/{e2b-y8t3jzyz.js → e2b-nd50eccg.js} +1 -1
- package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
- package/dist/{event-bus-w7ac4n3c.js → event-bus-vnfthafg.js} +2 -2
- package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
- package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
- package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
- package/dist/grok-adapter-jdt2dz2s.js +39 -0
- package/dist/{handlers-g2wnr4t9.js → handlers-2qtkpncr.js} +31 -35
- package/dist/{hook-f7jt9vnm.js → hook-51yfcgsv.js} +48 -39
- package/dist/{hook-bbdpnkb4.js → hook-qnbdgwvd.js} +15 -17
- package/dist/{http-w40q4w94.js → http-jsmtag08.js} +536 -231
- package/dist/{index-056j5kzn.js → index-2t9kesn1.js} +13 -12
- package/dist/{index-cj1r9q83.js → index-bt8wkv1w.js} +29 -33
- package/dist/{index-7n70jwbb.js → index-cx1sb9bq.js} +42 -35
- package/dist/{index-9bfssf54.js → index-ekywyv2v.js} +28 -32
- package/dist/{index-fdk1t4d6.js → index-n0rxa4ca.js} +11962 -9900
- package/dist/{index-k8xc083e.js → index-t4g06w93.js} +28 -32
- package/dist/{keepalive-1tj10tf4.js → keepalive-4aezx4bj.js} +16 -12
- package/dist/{lead-st0bg7v4.js → lead-r44bkpm5.js} +52 -56
- package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
- package/dist/{maintenance-nz71zats.js → maintenance-grz5jrzh.js} +12 -13
- package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
- package/dist/{node-f0ykebbv.js → node-qm9eb6z0.js} +25 -7
- package/dist/{oauth-refresh-sweep-aefzwvvq.js → oauth-refresh-sweep-wm4ctjfj.js} +15 -11
- package/dist/{onboard-kgpr9mbn.js → onboard-v60zgqf0.js} +2 -2
- package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
- package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
- package/dist/openai-decisions-vj9nkpf8.js +162 -0
- package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
- package/dist/{opencode-adapter-0c8e70dk.js → opencode-adapter-yjyqynzf.js} +8 -8
- package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
- package/dist/{otel-impl-x8zp4y5a.js → otel-impl-ghh4dyf8.js} +2 -2
- package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
- package/dist/{pi-mono-adapter-t280ah5c.js → pi-mono-adapter-0eg8kw2c.js} +69 -52
- package/dist/{pricing-refresh-9e0q7cwk.js → pricing-refresh-mjrqvnvw.js} +12 -11
- package/dist/{rbac-roles-790j3ga8.js → rbac-roles-axv4d74x.js} +11 -10
- package/dist/{rbac-roles-kcp6zge2.js → rbac-roles-fd5tskj9.js} +11 -10
- package/dist/{render-v2-tch4nefj.js → render-v2-k50j33qd.js} +11 -11
- package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
- package/dist/{setup-rcm303ns.js → setup-4syh0pd2.js} +2 -2
- package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
- package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
- package/dist/{work-objects-ctg7t70w.js → work-objects-jcdbg8rr.js} +32 -36
- package/dist/{worker-5dp0xm55.js → worker-x8j8c9sx.js} +52 -56
- package/dist/{x-v3yw66zs.js → x-ma4gnfgy.js} +2 -2
- package/openapi.json +5 -2
- package/package.json +15 -11
- package/src/be/automation-preflight.ts +9 -4
- package/src/be/boot-scrub-sweep.ts +302 -0
- package/src/be/crypto/key-bootstrap.ts +1 -1
- package/src/be/db/approvals.ts +15 -1
- package/src/be/db/codex-oauth-device-flows.ts +40 -0
- package/src/be/db/config-secrets.ts +31 -0
- package/src/be/db/runtime.ts +4 -0
- package/src/be/db/script-runs.ts +15 -0
- package/src/be/db/tasks/write.ts +1 -1
- package/src/be/db-queries/mcp-oauth.ts +5 -0
- package/src/be/db-queries/oauth.ts +77 -0
- package/src/be/db.ts +162 -59
- package/src/be/events.ts +17 -1
- package/src/be/memory/index-content.ts +2 -2
- package/src/be/memory/providers/openai-embedding.ts +7 -2
- package/src/be/memory/providers/sqlite-store.ts +63 -11
- package/src/be/memory/raters/llm-summarizer.ts +7 -2
- package/src/be/memory/types.ts +14 -0
- package/src/be/migrations/201_workflow_replay_columns.sql +10 -0
- package/src/be/migrations/202_codex_oauth_device_flows.sql +24 -0
- package/src/be/modelsdev-cache.json +61 -0
- package/src/be/scripts/db.ts +28 -4
- package/src/be/scripts/source-secrets.ts +37 -0
- package/src/be/scrub-json.ts +32 -0
- package/src/be/sealed-json.ts +59 -0
- package/src/be/secret-registry.ts +131 -0
- package/src/be/seed-pricing.ts +84 -53
- package/src/be/swarm-config-guard.ts +13 -0
- package/src/be/workflow-replay.ts +77 -0
- package/src/commands/provider-credentials.ts +28 -5
- package/src/commands/runner.ts +7 -12
- package/src/heartbeat/heartbeat.ts +91 -19
- package/src/hooks/hook.ts +72 -27
- package/src/http/codex-oauth-device.ts +8 -10
- package/src/http/db-query-bounded.ts +3 -0
- package/src/http/db-query-shared.ts +107 -15
- package/src/http/db-query.ts +10 -2
- package/src/http/index.ts +23 -6
- package/src/http/mcp.ts +5 -0
- package/src/http/onboarding.ts +2 -0
- package/src/http/script-runs.ts +9 -1
- package/src/http/scripts.ts +15 -0
- package/src/http/workflows.ts +3 -2
- package/src/oauth/mcp-wrapper.ts +1 -1
- package/src/providers/acp-adapter.ts +25 -11
- package/src/providers/acp-target-catalog.ts +35 -1
- package/src/providers/acp-targets.ts +78 -7
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/claude-adapter.ts +26 -0
- package/src/providers/codex-adapter.ts +30 -3
- package/src/providers/codex-oauth/auth-json.ts +21 -4
- package/src/providers/codex-oauth/types.ts +2 -0
- package/src/providers/cursor-adapter.ts +1 -1
- package/src/providers/dsh-adapter.ts +10 -1
- package/src/providers/grok-adapter.ts +18 -2
- package/src/providers/opencode-adapter.ts +21 -5
- package/src/providers/pi-mono-extension.ts +56 -25
- package/src/providers/pricing-sources.md +2 -0
- package/src/script-workflows/supervisor.ts +11 -2
- package/src/scripts-runtime/eval-harness.ts +2 -12
- package/src/scripts-runtime/executors/quickjs-bundle.ts +152 -0
- package/src/scripts-runtime/executors/quickjs-prelude.ts +285 -0
- package/src/scripts-runtime/executors/quickjs-runner.ts +580 -0
- package/src/scripts-runtime/executors/quickjs-worker.ts +81 -0
- package/src/scripts-runtime/executors/quickjs.ts +196 -0
- package/src/scripts-runtime/executors/registry.ts +2 -0
- package/src/scripts-runtime/executors/sourcemap.ts +79 -0
- package/src/scripts-runtime/script-error-hints.ts +14 -0
- package/src/server.ts +66 -4
- package/src/tests/acp-adapter.test.ts +277 -12
- package/src/tests/boot-scrub-sweep.test.ts +390 -0
- package/src/tests/check-text-columns.test.ts +145 -0
- package/src/tests/ci-unit-test-report.test.ts +73 -0
- package/src/tests/claude-default-route.test.ts +75 -0
- package/src/tests/claude-hook-output.test.ts +233 -0
- package/src/tests/claude-sdk-process.fixture.ts +13 -2
- package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
- package/src/tests/codex-adapter.test.ts +166 -26
- package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
- package/src/tests/codex-oauth-device.test.ts +23 -37
- package/src/tests/codex-oauth.test.ts +4 -1
- package/src/tests/context-window.test.ts +2 -2
- package/src/tests/credential-check.test.ts +51 -1
- package/src/tests/db-query-denylist.test.ts +202 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/db-task-write-contract.test.ts +1 -0
- package/src/tests/dsh-adapter.test.ts +23 -1
- package/src/tests/enabled-tools.test.ts +269 -0
- package/src/tests/entrypoint-acp-target-binary.test.ts +31 -1
- package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
- package/src/tests/events-scrub.test.ts +88 -0
- package/src/tests/fixtures/secret-corpus.ts +320 -0
- package/src/tests/grok-adapter.test.ts +13 -0
- package/src/tests/haiku-5-5-pricing.test.ts +38 -0
- package/src/tests/heartbeat-checklist.test.ts +158 -1
- package/src/tests/onboarding.test.ts +44 -0
- package/src/tests/opencode-adapter.test.ts +66 -3
- package/src/tests/opencode-plugin.test.ts +37 -0
- package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
- package/src/tests/openrouter-base-url.test.ts +30 -39
- package/src/tests/pi-mono-extension.test.ts +161 -2
- package/src/tests/pricing-refresh.test.ts +70 -1
- package/src/tests/reasoning-effort.test.ts +3 -1
- package/src/tests/script-connections.test.ts +5 -0
- package/src/tests/script-executor-conformance.test.ts +3 -0
- package/src/tests/script-executor-quickjs.test.ts +442 -0
- package/src/tests/script-executor-registry.test.ts +6 -1
- package/src/tests/script-runs-http.test.ts +88 -1
- package/src/tests/script-runs-scrub.test.ts +275 -0
- package/src/tests/scripts-http.test.ts +82 -1
- package/src/tests/scrubbed-text-12e.test.ts +289 -0
- package/src/tests/sealed-key-guard.test.ts +166 -0
- package/src/tests/secret-canary-sweep.test.ts +958 -0
- package/src/tests/secret-registry.test.ts +355 -0
- package/src/tests/secret-rules.test.ts +230 -0
- package/src/tests/secret-scrubber.test.ts +3 -2
- package/src/tests/telemetry-trigger.test.ts +12 -1
- package/src/tests/workflow-llm.test.ts +14 -0
- package/src/tests/workflow-replay.test.ts +518 -0
- package/src/tests/workflow-scrub.test.ts +242 -0
- package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
- package/src/tools/db-query.ts +1 -1
- package/src/tools/inject-learning.ts +1 -1
- package/src/tools/request-human-input.ts +7 -2
- package/src/tools/workflows/get-workflow-run.ts +3 -2
- package/src/types.ts +1 -1
- package/src/utils/enabled-tools.ts +27 -0
- package/src/utils/internal-ai/complete-structured.ts +11 -3
- package/src/utils/openrouter-base-url.ts +23 -0
- package/src/utils/secret-rules.generated.ts +2055 -0
- package/src/utils/secret-scrubber.ts +363 -29
- package/src/workflows/engine.ts +39 -4
- package/src/workflows/executors/raw-llm.ts +1 -0
- package/src/workflows/executors/system-one-decision.ts +2 -0
- package/src/workflows/executors/validate.ts +1 -0
- package/src/workflows/executors/workflow-llm.ts +9 -2
- package/src/workflows/recovery.ts +10 -1
- package/src/workflows/resume.ts +62 -3
- package/src/workflows/retry-poller.ts +3 -0
- package/templates/skills/agent-browser/SKILL.md +2 -0
- package/templates/skills/agent-browser/content.md +2 -0
- package/templates/skills/code-quality/content.md +1 -0
- package/templates/skills/heartbeat-runbook/content.md +1 -1
- package/templates/skills/work-on-task/SKILL.md +4 -0
- package/templates/skills/work-on-task/content.md +4 -0
- package/templates/skills/workflow-iterate/content.md +9 -0
- package/dist/acp-adapter-w6zws6me.js +0 -23
- package/dist/boot-scrub-logs-246yn076.js +0 -99
- package/dist/cli-3a4m1aws.js +0 -572
- package/dist/cli-3dpj7atn.js +0 -11
- package/dist/cli-a87b04k8.js +0 -951
- package/dist/cli-cvk6yzw5.js +0 -40
- package/dist/cli-gvcgmx69.js +0 -183
- package/dist/cli-h1spv8v4.js +0 -427
- package/dist/cli-jqt9hrnz.js +0 -168
- package/dist/cli-yhmwmv0g.js +0 -9281
- package/dist/grok-adapter-yt9pab3k.js +0 -29
- package/src/be/boot-scrub-logs.ts +0 -132
- package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
CONTEXT_FORMULA,
|
|
6
6
|
clampContextPercent,
|
|
7
7
|
computeContextUsedUnified
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-7avy4v8w.js";
|
|
9
9
|
import {
|
|
10
10
|
applyReasoningEffort
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-tmhsxhb8.js";
|
|
12
12
|
import {
|
|
13
13
|
ampBillsCacheWrites,
|
|
14
14
|
resolveAmpModel
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-mv2520nm.js";
|
|
16
16
|
import {
|
|
17
17
|
swarmRuntimeInstanceId
|
|
18
18
|
} from "./cli-re8z5p8p.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
init_secret_scrubber,
|
|
29
29
|
registerVolatileSecret,
|
|
30
30
|
scrubSecrets
|
|
31
|
-
} from "./cli-
|
|
31
|
+
} from "./cli-wt7ccy4r.js";
|
|
32
32
|
|
|
33
33
|
// src/providers/amp-adapter.ts
|
|
34
34
|
import { existsSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
@@ -36,7 +36,7 @@ import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
|
36
36
|
import { tmpdir } from "node:os";
|
|
37
37
|
import { join } from "node:path";
|
|
38
38
|
init_secret_scrubber();
|
|
39
|
-
var AMP_PACKAGE = "@ampcode/cli@0.0.
|
|
39
|
+
var AMP_PACKAGE = "@ampcode/cli@0.0.1791460855-g1f688c";
|
|
40
40
|
var AMP_MCP_SERVER_NAME = "agent-swarm";
|
|
41
41
|
var AMP_PLUGIN_MODE_KEY = "agent-swarm";
|
|
42
42
|
var AMP_LIVE_TEST_TIMEOUT_MS = 5000;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getDb,
|
|
3
|
-
init_db
|
|
4
|
-
} from "./cli-
|
|
3
|
+
init_db1 as init_db
|
|
4
|
+
} from "./cli-mkdsy1nq.js";
|
|
5
5
|
|
|
6
6
|
// src/be/seed-pricing.ts
|
|
7
7
|
init_db();
|
|
@@ -152,16 +152,47 @@ function projectCostBlock(provider, model, cost, opts = {}) {
|
|
|
152
152
|
}
|
|
153
153
|
return rows;
|
|
154
154
|
}
|
|
155
|
-
function
|
|
155
|
+
function outranksSource(candidate, current, key) {
|
|
156
|
+
const a = candidate.toLowerCase();
|
|
157
|
+
const b = current.toLowerCase();
|
|
158
|
+
if (a === key !== (b === key))
|
|
159
|
+
return a === key;
|
|
160
|
+
return a > b;
|
|
161
|
+
}
|
|
162
|
+
function collapseNormalizedIds(sourced) {
|
|
163
|
+
const modelKey = (row) => `${row.provider}\x00${row.model}`;
|
|
164
|
+
const winners = new Map;
|
|
165
|
+
for (const { sourceId, row } of sourced) {
|
|
166
|
+
const current = winners.get(modelKey(row));
|
|
167
|
+
if (current === undefined || outranksSource(sourceId, current, row.model)) {
|
|
168
|
+
winners.set(modelKey(row), sourceId);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const seen = new Set;
|
|
156
172
|
const rows = [];
|
|
173
|
+
for (const { sourceId, row } of sourced) {
|
|
174
|
+
if (winners.get(modelKey(row)) !== sourceId)
|
|
175
|
+
continue;
|
|
176
|
+
const rowKey = `${modelKey(row)}\x00${row.tokenClass}`;
|
|
177
|
+
if (seen.has(rowKey))
|
|
178
|
+
continue;
|
|
179
|
+
seen.add(rowKey);
|
|
180
|
+
rows.push(row);
|
|
181
|
+
}
|
|
182
|
+
return rows;
|
|
183
|
+
}
|
|
184
|
+
function buildModelsDevSeedRows(cache) {
|
|
185
|
+
const sourced = [];
|
|
186
|
+
const add = (sourceId, projected) => {
|
|
187
|
+
for (const row of projected)
|
|
188
|
+
sourced.push({ sourceId, row });
|
|
189
|
+
};
|
|
157
190
|
const anthropic = cache.anthropic?.models ?? {};
|
|
158
191
|
for (const [id, model] of Object.entries(anthropic)) {
|
|
159
192
|
if (!model?.cost)
|
|
160
193
|
continue;
|
|
161
194
|
for (const provider of ["claude", "claude-managed"]) {
|
|
162
|
-
|
|
163
|
-
rows.push(row);
|
|
164
|
-
}
|
|
195
|
+
add(id, projectCostBlock(provider, id, model.cost));
|
|
165
196
|
}
|
|
166
197
|
}
|
|
167
198
|
for (const [shortname, fullId] of Object.entries(ANTHROPIC_SHORTNAME_TO_MODELSDEV)) {
|
|
@@ -169,96 +200,68 @@ function buildModelsDevSeedRows(cache) {
|
|
|
169
200
|
if (!cost)
|
|
170
201
|
continue;
|
|
171
202
|
for (const provider of ["claude", "claude-managed"]) {
|
|
172
|
-
|
|
173
|
-
rows.push(row);
|
|
174
|
-
}
|
|
203
|
+
add(shortname, projectCostBlock(provider, shortname, cost));
|
|
175
204
|
}
|
|
176
205
|
}
|
|
177
206
|
for (const [shortname, fullId] of Object.entries(ANTHROPIC_SHORTNAME_TO_MODELSDEV)) {
|
|
178
207
|
const cost = anthropic[fullId]?.cost ?? (cache.anthropic ? ANTHROPIC_SHORTNAME_PRICING_FALLBACKS[fullId] : undefined);
|
|
179
208
|
if (!cost)
|
|
180
209
|
continue;
|
|
181
|
-
|
|
182
|
-
rows.push(row);
|
|
183
|
-
}
|
|
210
|
+
add(shortname, projectCostBlock("pi", shortname, cost, { anthropicBilled: true }));
|
|
184
211
|
}
|
|
185
212
|
for (const section of ["anthropic", "openai", "google", "fireworks-ai"]) {
|
|
186
213
|
for (const [id, model] of Object.entries(cache[section]?.models ?? {})) {
|
|
187
214
|
if (!model?.cost)
|
|
188
215
|
continue;
|
|
189
|
-
|
|
190
|
-
rows.push(row);
|
|
191
|
-
}
|
|
216
|
+
add(id, projectCostBlock("amp", id, model.cost));
|
|
192
217
|
}
|
|
193
218
|
}
|
|
194
219
|
const openai = cache.openai?.models ?? {};
|
|
195
220
|
for (const [id, model] of Object.entries(openai)) {
|
|
196
221
|
if (!model?.cost)
|
|
197
222
|
continue;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
for (const row of projectCostBlock("pi", id, model.cost)) {
|
|
202
|
-
rows.push(row);
|
|
203
|
-
}
|
|
223
|
+
add(id, projectCostBlock("codex", id, model.cost));
|
|
224
|
+
add(id, projectCostBlock("pi", id, model.cost));
|
|
204
225
|
}
|
|
205
226
|
for (const vendor of ["openai", "anthropic", "google", "xai"]) {
|
|
206
227
|
for (const [id, model] of Object.entries(cache[vendor]?.models ?? {})) {
|
|
207
228
|
if (!model?.cost)
|
|
208
229
|
continue;
|
|
209
|
-
|
|
210
|
-
rows.push(row);
|
|
211
|
-
}
|
|
230
|
+
add(id, projectCostBlock("cursor", id, model.cost, { anthropicBilled: false }));
|
|
212
231
|
}
|
|
213
232
|
}
|
|
214
233
|
for (const [id, model] of Object.entries(cache.xai?.models ?? {})) {
|
|
215
234
|
if (!model?.cost)
|
|
216
235
|
continue;
|
|
217
|
-
|
|
218
|
-
rows.push(row);
|
|
219
|
-
}
|
|
236
|
+
add(id, projectCostBlock("grok", id, model.cost, { anthropicBilled: false }));
|
|
220
237
|
}
|
|
221
238
|
const deepseek = cache.deepseek?.models ?? {};
|
|
222
239
|
for (const [id, model] of Object.entries(deepseek)) {
|
|
223
240
|
if (!model?.cost)
|
|
224
241
|
continue;
|
|
225
|
-
|
|
226
|
-
rows.push(row);
|
|
227
|
-
}
|
|
242
|
+
add(id, projectCostBlock("dsh", id, model.cost));
|
|
228
243
|
}
|
|
229
244
|
const openrouter = cache.openrouter?.models ?? {};
|
|
230
245
|
for (const [id, model] of Object.entries(openrouter)) {
|
|
231
246
|
if (!model?.cost)
|
|
232
247
|
continue;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
for (const row of projectCostBlock("pi", id, model.cost, {
|
|
248
|
+
add(id, projectCostBlock("opencode", id, model.cost));
|
|
249
|
+
add(id, projectCostBlock("pi", id, model.cost, {
|
|
237
250
|
anthropicBilled: id.startsWith("anthropic/")
|
|
238
|
-
}))
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
for (const row of projectCostBlock("dsh", id, model.cost, {
|
|
251
|
+
}));
|
|
252
|
+
add(id, projectCostBlock("dsh", id, model.cost, {
|
|
242
253
|
anthropicBilled: id.startsWith("anthropic/")
|
|
243
|
-
}))
|
|
244
|
-
|
|
245
|
-
}
|
|
246
|
-
for (const row of projectCostBlock("grok", id, model.cost, {
|
|
254
|
+
}));
|
|
255
|
+
add(id, projectCostBlock("grok", id, model.cost, {
|
|
247
256
|
anthropicBilled: id.startsWith("anthropic/")
|
|
248
|
-
}))
|
|
249
|
-
rows.push(row);
|
|
250
|
-
}
|
|
257
|
+
}));
|
|
251
258
|
if (id.startsWith("google/")) {
|
|
252
259
|
const geminiKey = id.replace(/^google\//, "");
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
for (const row of projectCostBlock("gemini", id, model.cost)) {
|
|
257
|
-
rows.push(row);
|
|
258
|
-
}
|
|
260
|
+
add(geminiKey, projectCostBlock("gemini", geminiKey, model.cost));
|
|
261
|
+
add(id, projectCostBlock("gemini", id, model.cost));
|
|
259
262
|
}
|
|
260
263
|
}
|
|
261
|
-
return
|
|
264
|
+
return collapseNormalizedIds(sourced);
|
|
262
265
|
}
|
|
263
266
|
function buildPricingSeedRows(cache) {
|
|
264
267
|
const modelsdevRows = cache ? buildModelsDevSeedRows(cache) : [];
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
init_secret_scrubber,
|
|
7
7
|
scrubSecrets
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-wt7ccy4r.js";
|
|
9
9
|
|
|
10
10
|
// src/providers/codex-oauth/flow.ts
|
|
11
11
|
init_secret_scrubber();
|
|
@@ -366,7 +366,8 @@ function credentialsToAuthJson(creds, opts = {}) {
|
|
|
366
366
|
refresh_token: includeRefreshToken ? creds.refresh : "",
|
|
367
367
|
account_id: creds.accountId
|
|
368
368
|
},
|
|
369
|
-
last_refresh: new Date(
|
|
369
|
+
last_refresh: new Date().toISOString(),
|
|
370
|
+
expires: creds.expires
|
|
370
371
|
};
|
|
371
372
|
}
|
|
372
373
|
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ProjectTrustStore,
|
|
3
|
+
addMcpServerConfig,
|
|
4
|
+
loadMcpConfig,
|
|
5
|
+
openBrowser,
|
|
6
|
+
removeMcpServerConfig
|
|
7
|
+
} from "./cli-13xwcqvj.js";
|
|
1
8
|
import {
|
|
2
9
|
McpOAuthCredentialStore,
|
|
3
10
|
McpServerConnection,
|
|
@@ -5,24 +12,17 @@ import {
|
|
|
5
12
|
McpSignInCancelledError,
|
|
6
13
|
createDefaultTransport,
|
|
7
14
|
signInMcpServer
|
|
8
|
-
} from "./cli-
|
|
9
|
-
import {
|
|
10
|
-
ProjectTrustStore,
|
|
11
|
-
addMcpServerConfig,
|
|
12
|
-
loadMcpConfig,
|
|
13
|
-
openBrowser,
|
|
14
|
-
removeMcpServerConfig
|
|
15
|
-
} from "./cli-qvfk83fy.js";
|
|
15
|
+
} from "./cli-bxqez1p0.js";
|
|
16
16
|
import {
|
|
17
17
|
getMcpToolExposure,
|
|
18
18
|
validateMcpServerConfig
|
|
19
|
-
} from "./cli-
|
|
20
|
-
import"./cli-
|
|
19
|
+
} from "./cli-xezn9nkh.js";
|
|
20
|
+
import"./cli-rhy7z1rp.js";
|
|
21
21
|
import {
|
|
22
22
|
APP_NAME,
|
|
23
23
|
CONFIG_DIR_NAME,
|
|
24
24
|
source_default
|
|
25
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-5t5my0h8.js";
|
|
26
26
|
import"./cli-5bfdm1ah.js";
|
|
27
27
|
import"./cli-0m7wct0d.js";
|
|
28
28
|
import"./cli-2x0e561b.js";
|
|
@@ -451,8 +451,9 @@ async function login(entry, connection, url, timeoutMs, options, credentials, lo
|
|
|
451
451
|
${authorizationUrl.href}`);
|
|
452
452
|
openUrl(authorizationUrl.href);
|
|
453
453
|
},
|
|
454
|
-
promptForRedirectUrl: (signal) => waitForRedirectUrl(signal,
|
|
455
|
-
}
|
|
454
|
+
promptForRedirectUrl: (signal) => waitForRedirectUrl(signal, interactive)
|
|
455
|
+
},
|
|
456
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
456
457
|
});
|
|
457
458
|
} catch (signInError) {
|
|
458
459
|
error(signInError instanceof McpSignInCancelledError ? `Sign-in to MCP server "${name}" was cancelled or not completed within ${Math.round(timeoutMs / 1000)} seconds.` : `Sign-in to MCP server "${name}" failed: ${errorMessage(signInError)}`);
|
|
@@ -468,27 +469,21 @@ ${authorizationUrl.href}`);
|
|
|
468
469
|
log(`Signed in to MCP server "${name}" (${connection.tools.length} tools).`);
|
|
469
470
|
return 0;
|
|
470
471
|
}
|
|
471
|
-
async function waitForRedirectUrl(signal,
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
472
|
+
async function waitForRedirectUrl(signal, interactive) {
|
|
473
|
+
if (!interactive) {
|
|
474
|
+
if (!signal.aborted)
|
|
475
|
+
await new Promise((resolve) => signal.addEventListener("abort", resolve, { once: true }));
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
const readline = createInterface({ input: process.stdin, output: process.stderr });
|
|
476
479
|
try {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
try {
|
|
483
|
-
return await readline.question("If the browser cannot reach this machine, paste the URL it was redirected to: ", { signal: controller.signal });
|
|
484
|
-
} catch {
|
|
485
|
-
return;
|
|
486
|
-
} finally {
|
|
487
|
-
readline.close();
|
|
488
|
-
}
|
|
480
|
+
return await readline.question("If the browser cannot reach this machine, paste the URL it was redirected to: ", {
|
|
481
|
+
signal
|
|
482
|
+
});
|
|
483
|
+
} catch {
|
|
484
|
+
return;
|
|
489
485
|
} finally {
|
|
490
|
-
|
|
491
|
-
signal.removeEventListener("abort", abort);
|
|
486
|
+
readline.close();
|
|
492
487
|
}
|
|
493
488
|
}
|
|
494
489
|
export {
|
|
@@ -77,6 +77,8 @@ class EventStream {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
class AssistantMessageEventStream extends EventStream {
|
|
80
|
+
#startedAt = Date.now();
|
|
81
|
+
#startedAtMonotonic = performance.now();
|
|
80
82
|
constructor() {
|
|
81
83
|
super((event) => event.type === "done" || event.type === "error", (event) => {
|
|
82
84
|
if (event.type === "done") {
|
|
@@ -87,6 +89,23 @@ class AssistantMessageEventStream extends EventStream {
|
|
|
87
89
|
throw new Error("Unexpected event type for final result");
|
|
88
90
|
});
|
|
89
91
|
}
|
|
92
|
+
push(event) {
|
|
93
|
+
if (event.type === "done")
|
|
94
|
+
this.#time(event.message);
|
|
95
|
+
else if (event.type === "error")
|
|
96
|
+
this.#time(event.error);
|
|
97
|
+
super.push(event);
|
|
98
|
+
}
|
|
99
|
+
end(result) {
|
|
100
|
+
if (result !== undefined)
|
|
101
|
+
this.#time(result);
|
|
102
|
+
super.end(result);
|
|
103
|
+
}
|
|
104
|
+
#time(message) {
|
|
105
|
+
if (this.done || message.durationMs !== undefined || message.timestamp < this.#startedAt)
|
|
106
|
+
return;
|
|
107
|
+
message.durationMs = Math.max(0, Math.round(performance.now() - this.#startedAtMonotonic));
|
|
108
|
+
}
|
|
90
109
|
}
|
|
91
110
|
function createAssistantMessageEventStream() {
|
|
92
111
|
return new AssistantMessageEventStream;
|