@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
|
@@ -3805,6 +3805,7 @@ __export(exports_dist, {
|
|
|
3805
3805
|
encodeITerm2: () => encodeITerm2,
|
|
3806
3806
|
encodeKitty: () => encodeKitty,
|
|
3807
3807
|
foregroundAnsi: () => foregroundAnsi,
|
|
3808
|
+
formatProgramStatus: () => formatProgramStatus,
|
|
3808
3809
|
fuzzyFilter: () => fuzzyFilter,
|
|
3809
3810
|
fuzzyMatch: () => fuzzyMatch,
|
|
3810
3811
|
getCapabilities: () => getCapabilities,
|
|
@@ -6038,6 +6039,9 @@ function detectCapabilitiesFromEnvironment(tmuxForwardsHyperlink) {
|
|
|
6038
6039
|
if (term.startsWith("screen")) {
|
|
6039
6040
|
return { images: null, trueColor: hasTrueColorHint, hyperlinks: false };
|
|
6040
6041
|
}
|
|
6042
|
+
if (termProgram === "herdr") {
|
|
6043
|
+
return { images: null, trueColor: hasTrueColorHint, hyperlinks: true };
|
|
6044
|
+
}
|
|
6041
6045
|
if (process.env.KITTY_WINDOW_ID || termProgram === "kitty") {
|
|
6042
6046
|
return { images: "kitty", trueColor: true, hyperlinks: true };
|
|
6043
6047
|
}
|
|
@@ -7445,6 +7449,10 @@ class Box {
|
|
|
7445
7449
|
setBgFn(bgFn) {
|
|
7446
7450
|
this.bgFn = bgFn;
|
|
7447
7451
|
}
|
|
7452
|
+
setPaddingX(paddingX) {
|
|
7453
|
+
this.paddingX = paddingX;
|
|
7454
|
+
this.invalidateCache();
|
|
7455
|
+
}
|
|
7448
7456
|
invalidateCache() {
|
|
7449
7457
|
this.cache = undefined;
|
|
7450
7458
|
}
|
|
@@ -7551,6 +7559,10 @@ class Text {
|
|
|
7551
7559
|
this.cachedWidth = undefined;
|
|
7552
7560
|
this.cachedLines = undefined;
|
|
7553
7561
|
}
|
|
7562
|
+
setPaddingX(paddingX) {
|
|
7563
|
+
this.paddingX = paddingX;
|
|
7564
|
+
this.invalidate();
|
|
7565
|
+
}
|
|
7554
7566
|
invalidate() {
|
|
7555
7567
|
this.cachedText = undefined;
|
|
7556
7568
|
this.cachedWidth = undefined;
|
|
@@ -12821,6 +12833,39 @@ function getNativeClipboard() {
|
|
|
12821
12833
|
return;
|
|
12822
12834
|
return loadNativePlatformHelper("linux", "-x11");
|
|
12823
12835
|
}
|
|
12836
|
+
// node_modules/@earendil-works/pi-tui/dist/program-status.js
|
|
12837
|
+
var PROGRAM_STATUS_QUERY = "\x1B]7501;?\x1B\\";
|
|
12838
|
+
function isProgramStatusReply(sequence) {
|
|
12839
|
+
return /^\x1b\]7501;\?[^\x07\x1b]*(?:\x07|\x1b\\)$/.test(sequence);
|
|
12840
|
+
}
|
|
12841
|
+
var APP_PATTERN = /^[A-Za-z0-9_.+-]{1,32}$/;
|
|
12842
|
+
var CONTROL_CHARACTERS = /[\u0000-\u001f\u007f-\u009f]+/g;
|
|
12843
|
+
var MAX_MESSAGE_BYTES = 2048;
|
|
12844
|
+
function truncateUtf8(text, maxBytes) {
|
|
12845
|
+
if (Buffer.byteLength(text, "utf8") <= maxBytes)
|
|
12846
|
+
return text;
|
|
12847
|
+
let bytes = 0;
|
|
12848
|
+
let end = 0;
|
|
12849
|
+
for (const char of text) {
|
|
12850
|
+
const size = Buffer.byteLength(char, "utf8");
|
|
12851
|
+
if (bytes + size > maxBytes)
|
|
12852
|
+
break;
|
|
12853
|
+
bytes += size;
|
|
12854
|
+
end += char.length;
|
|
12855
|
+
}
|
|
12856
|
+
return text.slice(0, end);
|
|
12857
|
+
}
|
|
12858
|
+
function formatProgramStatus(status) {
|
|
12859
|
+
const pairs = [`state=${status.state}`];
|
|
12860
|
+
if (status.app !== undefined && APP_PATTERN.test(status.app))
|
|
12861
|
+
pairs.push(`app=${status.app}`);
|
|
12862
|
+
if (status.state === "blocked" && status.kind)
|
|
12863
|
+
pairs.push(`kind=${status.kind}`);
|
|
12864
|
+
const message = truncateUtf8((status.message ?? "").replace(CONTROL_CHARACTERS, " ").trim(), MAX_MESSAGE_BYTES);
|
|
12865
|
+
if (message)
|
|
12866
|
+
pairs.push(`msg=${Buffer.from(message, "utf8").toString("base64")}`);
|
|
12867
|
+
return `\x1B]7501;${pairs.join(":")}\x1B\\`;
|
|
12868
|
+
}
|
|
12824
12869
|
// node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js
|
|
12825
12870
|
import { EventEmitter } from "events";
|
|
12826
12871
|
var ESC = "\x1B";
|
|
@@ -13118,7 +13163,8 @@ var TERMINAL_PROGRESS_CLEAR_SEQUENCE = "\x1B]9;4;0\x07";
|
|
|
13118
13163
|
var NATIVE_SHIFT_ENTER_SEQUENCE = "\x1B[13;2u";
|
|
13119
13164
|
var DESIRED_KITTY_KEYBOARD_PROTOCOL_FLAGS = 7;
|
|
13120
13165
|
var KEYBOARD_PROTOCOL_RESPONSE_FRAGMENT_TIMEOUT_MS = 150;
|
|
13121
|
-
var KITTY_KEYBOARD_PROTOCOL_QUERY = `\x1B[>${DESIRED_KITTY_KEYBOARD_PROTOCOL_FLAGS}u\x1B[?u
|
|
13166
|
+
var KITTY_KEYBOARD_PROTOCOL_QUERY = `\x1B[>${DESIRED_KITTY_KEYBOARD_PROTOCOL_FLAGS}u\x1B[?u`;
|
|
13167
|
+
var DEVICE_ATTRIBUTES_QUERY = "\x1B[c";
|
|
13122
13168
|
function parseKeyboardProtocolNegotiationSequence(sequence) {
|
|
13123
13169
|
const kittyFlags = sequence.match(/^\x1b\[\?(\d+)u$/);
|
|
13124
13170
|
if (kittyFlags) {
|
|
@@ -13173,6 +13219,9 @@ class ProcessTerminal {
|
|
|
13173
13219
|
stdinBuffer;
|
|
13174
13220
|
stdinDataHandler;
|
|
13175
13221
|
progressInterval;
|
|
13222
|
+
programStatus;
|
|
13223
|
+
programStatusSupported = false;
|
|
13224
|
+
programStatusQueryPending = false;
|
|
13176
13225
|
writeLogPath = (() => {
|
|
13177
13226
|
const env2 = process.env.PI_TUI_WRITE_LOG || "";
|
|
13178
13227
|
if (!env2)
|
|
@@ -13210,6 +13259,14 @@ class ProcessTerminal {
|
|
|
13210
13259
|
setupStdinBuffer() {
|
|
13211
13260
|
this.stdinBuffer = new StdinBuffer({ escapeTimeout: resolveEscapeTimeoutMs() });
|
|
13212
13261
|
this.stdinBuffer.on("data", (sequence) => {
|
|
13262
|
+
if (isProgramStatusReply(sequence)) {
|
|
13263
|
+
if (this.programStatusQueryPending) {
|
|
13264
|
+
this.programStatusQueryPending = false;
|
|
13265
|
+
this.programStatusSupported = true;
|
|
13266
|
+
this.writeProgramStatus();
|
|
13267
|
+
}
|
|
13268
|
+
return;
|
|
13269
|
+
}
|
|
13213
13270
|
const negotiation = this.readKeyboardProtocolNegotiationSequence(sequence);
|
|
13214
13271
|
if (negotiation === "pending") {
|
|
13215
13272
|
this.scheduleKeyboardProtocolNegotiationBufferFlush();
|
|
@@ -13235,7 +13292,12 @@ class ProcessTerminal {
|
|
|
13235
13292
|
this.keyboardProtocolPushed = true;
|
|
13236
13293
|
this.pendingKeyboardProtocolDeviceAttributes += 1;
|
|
13237
13294
|
this.clearKeyboardProtocolNegotiationBuffer();
|
|
13238
|
-
process.
|
|
13295
|
+
const programStatusOverride = process.env.PI_PROGRAM_STATUS;
|
|
13296
|
+
this.programStatusSupported = programStatusOverride === "1";
|
|
13297
|
+
this.programStatusQueryPending = programStatusOverride !== "1" && programStatusOverride !== "0";
|
|
13298
|
+
const programStatusQuery = this.programStatusQueryPending ? PROGRAM_STATUS_QUERY : "";
|
|
13299
|
+
process.stdout.write(`${KITTY_KEYBOARD_PROTOCOL_QUERY}${programStatusQuery}${DEVICE_ATTRIBUTES_QUERY}`);
|
|
13300
|
+
this.writeProgramStatus();
|
|
13239
13301
|
}
|
|
13240
13302
|
handleKeyboardProtocolNegotiationSequence(negotiationSequence) {
|
|
13241
13303
|
this.clearKeyboardProtocolNegotiationBuffer();
|
|
@@ -13243,6 +13305,8 @@ class ProcessTerminal {
|
|
|
13243
13305
|
if (this.pendingKeyboardProtocolDeviceAttributes === 0)
|
|
13244
13306
|
return false;
|
|
13245
13307
|
this.pendingKeyboardProtocolDeviceAttributes -= 1;
|
|
13308
|
+
if (this.pendingKeyboardProtocolDeviceAttributes === 0)
|
|
13309
|
+
this.programStatusQueryPending = false;
|
|
13246
13310
|
}
|
|
13247
13311
|
if (negotiationSequence.type === "kitty-flags") {
|
|
13248
13312
|
if (negotiationSequence.flags !== 0) {
|
|
@@ -13376,6 +13440,11 @@ class ProcessTerminal {
|
|
|
13376
13440
|
if (this.clearProgressInterval()) {
|
|
13377
13441
|
process.stdout.write(TERMINAL_PROGRESS_CLEAR_SEQUENCE);
|
|
13378
13442
|
}
|
|
13443
|
+
if (this.programStatusSupported && this.programStatus) {
|
|
13444
|
+
process.stdout.write(formatProgramStatus({ state: "clear" }));
|
|
13445
|
+
}
|
|
13446
|
+
this.programStatusSupported = false;
|
|
13447
|
+
this.programStatusQueryPending = false;
|
|
13379
13448
|
process.stdout.write("\x1B[?2004l");
|
|
13380
13449
|
const shouldDisableKittyProtocol = this.keyboardProtocolPushed || this._kittyProtocolActive;
|
|
13381
13450
|
this.clearKeyboardProtocolNegotiationBuffer();
|
|
@@ -13443,6 +13512,16 @@ class ProcessTerminal {
|
|
|
13443
13512
|
setTitle(title) {
|
|
13444
13513
|
process.stdout.write(`\x1B]0;${title}\x07`);
|
|
13445
13514
|
}
|
|
13515
|
+
setProgramStatus(status) {
|
|
13516
|
+
this.programStatus = status.state === "clear" ? undefined : status;
|
|
13517
|
+
if (this.programStatusSupported)
|
|
13518
|
+
process.stdout.write(formatProgramStatus(status));
|
|
13519
|
+
}
|
|
13520
|
+
writeProgramStatus() {
|
|
13521
|
+
if (this.programStatusSupported && this.programStatus) {
|
|
13522
|
+
process.stdout.write(formatProgramStatus(this.programStatus));
|
|
13523
|
+
}
|
|
13524
|
+
}
|
|
13446
13525
|
setProgress(active) {
|
|
13447
13526
|
if (active) {
|
|
13448
13527
|
process.stdout.write(TERMINAL_PROGRESS_ACTIVE_SEQUENCE);
|
|
@@ -14260,6 +14339,10 @@ class TuiAltScreen extends TuiBase {
|
|
|
14260
14339
|
return false;
|
|
14261
14340
|
return this.copyTextToClipboard(text);
|
|
14262
14341
|
}
|
|
14342
|
+
resetTextSelection() {
|
|
14343
|
+
this.clearTextSelection();
|
|
14344
|
+
this.lastClick = undefined;
|
|
14345
|
+
}
|
|
14263
14346
|
getScreenLines() {
|
|
14264
14347
|
return [...this.previousScreen];
|
|
14265
14348
|
}
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
parseClaudeMdPendingRecord,
|
|
14
14
|
planClaudeMdSync,
|
|
15
15
|
withFileLock
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-mxvnnv5q.js";
|
|
17
17
|
import {
|
|
18
18
|
init_secret_scrubber,
|
|
19
19
|
scrubSecrets
|
|
20
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-wt7ccy4r.js";
|
|
21
21
|
|
|
22
22
|
// src/commands/claude-md-session.ts
|
|
23
23
|
init_file_lock();
|
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
clampContextPercent,
|
|
6
6
|
getContextWindowSize
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-7avy4v8w.js";
|
|
8
8
|
import {
|
|
9
9
|
applyReasoningEffort
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-tmhsxhb8.js";
|
|
11
11
|
import {
|
|
12
12
|
swarmRuntimeInstanceId
|
|
13
13
|
} from "./cli-re8z5p8p.js";
|
|
14
14
|
import {
|
|
15
15
|
DEFAULT_MODEL_TIER_MAP,
|
|
16
16
|
init_types
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-xvdgasgy.js";
|
|
18
18
|
import {
|
|
19
19
|
init_session_templates
|
|
20
20
|
} from "./cli-g5erf0zt.js";
|
|
@@ -30,12 +30,12 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
cursorCatalogRef,
|
|
32
32
|
init_src
|
|
33
|
-
} from "./cli-
|
|
33
|
+
} from "./cli-014vns2y.js";
|
|
34
34
|
import {
|
|
35
35
|
init_secret_scrubber,
|
|
36
36
|
registerVolatileSecret,
|
|
37
37
|
scrubSecrets
|
|
38
|
-
} from "./cli-
|
|
38
|
+
} from "./cli-wt7ccy4r.js";
|
|
39
39
|
import {
|
|
40
40
|
__require
|
|
41
41
|
} from "./cli-bc05qbss.js";
|
|
@@ -50,7 +50,7 @@ import { tmpdir } from "node:os";
|
|
|
50
50
|
import { join } from "node:path";
|
|
51
51
|
init_env_flag();
|
|
52
52
|
init_secret_scrubber();
|
|
53
|
-
var CURSOR_SDK_VERSION = "1.0.
|
|
53
|
+
var CURSOR_SDK_VERSION = "1.0.37";
|
|
54
54
|
var CURSOR_MCP_SERVER_NAME = "agent-swarm";
|
|
55
55
|
var NATIVE_SYSTEM_PROMPT_ENV = "CURSOR_NATIVE_SYSTEM_PROMPT";
|
|
56
56
|
var FIRST_MESSAGE_TEMPLATE = "system.agent.cursor.first_message";
|
|
@@ -58,7 +58,7 @@ function checkCursorCredentials(env) {
|
|
|
58
58
|
return env.CURSOR_API_KEY?.trim() ? { ready: true, missing: [], satisfiedBy: "env" } : { ready: false, missing: ["CURSOR_API_KEY"], hint: "Set CURSOR_API_KEY for cursor." };
|
|
59
59
|
}
|
|
60
60
|
async function liveTestCursorKey(apiKey) {
|
|
61
|
-
const { Cursor } = await import("./index-
|
|
61
|
+
const { Cursor } = await import("./index-n0rxa4ca.js");
|
|
62
62
|
try {
|
|
63
63
|
await Cursor.me({ apiKey });
|
|
64
64
|
return { ok: true };
|
|
@@ -78,7 +78,7 @@ async function listCursorModels(apiKey) {
|
|
|
78
78
|
if (modelListCache?.key === apiKey && Date.now() - modelListCache.at < MODEL_LIST_TTL_MS) {
|
|
79
79
|
return modelListCache.models;
|
|
80
80
|
}
|
|
81
|
-
const { Cursor } = await import("./index-
|
|
81
|
+
const { Cursor } = await import("./index-n0rxa4ca.js");
|
|
82
82
|
const models = await Cursor.models.list({ apiKey });
|
|
83
83
|
modelListCache = { key: apiKey, at: Date.now(), models };
|
|
84
84
|
return models;
|
|
@@ -452,7 +452,7 @@ class CursorAdapter {
|
|
|
452
452
|
if (!apiKey)
|
|
453
453
|
throw new Error("cursor requires CURSOR_API_KEY");
|
|
454
454
|
registerVolatileSecret(apiKey, "CURSOR_API_KEY");
|
|
455
|
-
const { Agent, JsonlLocalAgentStore } = await import("./index-
|
|
455
|
+
const { Agent, JsonlLocalAgentStore } = await import("./index-n0rxa4ca.js");
|
|
456
456
|
const modelId = config.model || DEFAULT_MODEL_TIER_MAP.cursor.regular;
|
|
457
457
|
const effort = applyReasoningEffort("cursor", modelId, config.reasoningEffort);
|
|
458
458
|
const requested = effort.kind === "cursor-effort" ? effort.reasoningEffort : undefined;
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
instantFlush,
|
|
6
6
|
requestSlackThreadSteering,
|
|
7
7
|
wasEventSeen
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-1yrcfa5s.js";
|
|
9
9
|
import {
|
|
10
10
|
enrichSlackUserEmail,
|
|
11
11
|
resolveSlackUserId,
|
|
12
12
|
rewriteSlackMentions
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-y0kjpfm9.js";
|
|
14
14
|
import {
|
|
15
15
|
TaskCreationBlockedError,
|
|
16
16
|
broadcastMatches,
|
|
@@ -23,14 +23,14 @@ import {
|
|
|
23
23
|
hasOtherUserMention,
|
|
24
24
|
notifySlackFileFailures,
|
|
25
25
|
routeMessage
|
|
26
|
-
} from "./cli-
|
|
26
|
+
} from "./cli-wydz3feg.js";
|
|
27
27
|
import {
|
|
28
28
|
ackSlackMessage,
|
|
29
29
|
buildTreeBlocks,
|
|
30
30
|
ensureSlackThreadTree,
|
|
31
31
|
isSlackRenderV2Enabled,
|
|
32
32
|
registerTreeMessage
|
|
33
|
-
} from "./cli-
|
|
33
|
+
} from "./cli-c8r99akr.js";
|
|
34
34
|
import {
|
|
35
35
|
getAgentById,
|
|
36
36
|
getAgentWorkingOnThread,
|
|
@@ -39,11 +39,11 @@ import {
|
|
|
39
39
|
getMostRecentTaskInThread,
|
|
40
40
|
getTasksByAgentId,
|
|
41
41
|
init_context_key,
|
|
42
|
-
init_db,
|
|
42
|
+
init_db1 as init_db,
|
|
43
43
|
isExtensionAgent,
|
|
44
44
|
reactionName,
|
|
45
45
|
slackContextKey
|
|
46
|
-
} from "./cli-
|
|
46
|
+
} from "./cli-mkdsy1nq.js";
|
|
47
47
|
import {
|
|
48
48
|
init_resolver,
|
|
49
49
|
resolveTemplate
|
|
@@ -61,11 +61,11 @@ import {
|
|
|
61
61
|
import {
|
|
62
62
|
init_event_bus,
|
|
63
63
|
workflowEventBus
|
|
64
|
-
} from "./cli-
|
|
64
|
+
} from "./cli-mb75wpxf.js";
|
|
65
65
|
import {
|
|
66
66
|
init_secret_scrubber,
|
|
67
67
|
scrubSecrets
|
|
68
|
-
} from "./cli-
|
|
68
|
+
} from "./cli-wt7ccy4r.js";
|
|
69
69
|
import {
|
|
70
70
|
__callDispose,
|
|
71
71
|
__using
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getValidCodexOAuth,
|
|
3
3
|
persistCodexOAuth
|
|
4
|
-
} from "./cli-
|
|
5
|
-
import {
|
|
6
|
-
oauthErrorHtml,
|
|
7
|
-
oauthSuccessHtml
|
|
8
|
-
} from "./cli-2x0e561b.js";
|
|
4
|
+
} from "./cli-v1w7pbd8.js";
|
|
9
5
|
import {
|
|
10
6
|
GITHUB_COPILOT_MODELS,
|
|
11
7
|
builtinModels,
|
|
12
8
|
normalizeRadiusGatewayUrl,
|
|
13
9
|
registerBundledOAuthFlowLoaders
|
|
14
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-km4x66j0.js";
|
|
11
|
+
import {
|
|
12
|
+
oauthErrorHtml,
|
|
13
|
+
oauthSuccessHtml
|
|
14
|
+
} from "./cli-2x0e561b.js";
|
|
15
15
|
import {
|
|
16
16
|
getEnvApiKey
|
|
17
17
|
} from "./cli-zxg80zs9.js";
|
|
18
18
|
import {
|
|
19
19
|
InMemoryCredentialStore
|
|
20
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-g7k7zbcz.js";
|
|
21
21
|
import {
|
|
22
22
|
getProviderEnvValue
|
|
23
23
|
} from "./cli-btbzvq95.js";
|
|
@@ -307,23 +307,26 @@ async function exchangeAuthorizationCode(code, state, verifier, redirectUri, sig
|
|
|
307
307
|
}
|
|
308
308
|
async function loginAnthropic(interaction) {
|
|
309
309
|
const { verifier, challenge } = await generatePKCE();
|
|
310
|
-
const
|
|
310
|
+
const startCallbackServer = (port) => startOAuthCallbackServer({
|
|
311
311
|
providerName: "Anthropic",
|
|
312
312
|
host: CALLBACK_HOST,
|
|
313
|
-
port
|
|
313
|
+
port,
|
|
314
314
|
path: CALLBACK_PATH,
|
|
315
|
+
redirectHost: "localhost",
|
|
315
316
|
state: verifier,
|
|
316
317
|
complete: async (code) => code,
|
|
317
318
|
signal: interaction.signal
|
|
318
|
-
})
|
|
319
|
+
});
|
|
320
|
+
const callback = await startCallbackServer(CALLBACK_PORT).catch(() => startCallbackServer(0)).catch(() => {
|
|
319
321
|
return;
|
|
320
322
|
});
|
|
323
|
+
const redirectUri = callback?.redirectUri ?? REDIRECT_URI;
|
|
321
324
|
try {
|
|
322
325
|
const authParams = new URLSearchParams({
|
|
323
326
|
code: "true",
|
|
324
327
|
client_id: CLIENT_ID,
|
|
325
328
|
response_type: "code",
|
|
326
|
-
redirect_uri:
|
|
329
|
+
redirect_uri: redirectUri,
|
|
327
330
|
scope: SCOPES,
|
|
328
331
|
code_challenge: challenge,
|
|
329
332
|
code_challenge_method: "S256",
|
|
@@ -336,7 +339,7 @@ async function loginAnthropic(interaction) {
|
|
|
336
339
|
});
|
|
337
340
|
const result = await waitForCallbackOrManualInput(interaction, callback, {
|
|
338
341
|
message: "Complete login in your browser, or paste the authorization code / redirect URL here:",
|
|
339
|
-
placeholder:
|
|
342
|
+
placeholder: redirectUri
|
|
340
343
|
});
|
|
341
344
|
let code;
|
|
342
345
|
let state = verifier;
|
|
@@ -352,7 +355,7 @@ async function loginAnthropic(interaction) {
|
|
|
352
355
|
if (!code)
|
|
353
356
|
throw new Error("Missing authorization code");
|
|
354
357
|
interaction.notify({ type: "progress", message: "Exchanging authorization code for tokens..." });
|
|
355
|
-
return await exchangeAuthorizationCode(code, state, verifier,
|
|
358
|
+
return await exchangeAuthorizationCode(code, state, verifier, redirectUri, interaction.signal);
|
|
356
359
|
} finally {
|
|
357
360
|
callback?.close();
|
|
358
361
|
}
|
|
@@ -1431,7 +1434,7 @@ async function loginOpenAIChatGPT(interaction, options) {
|
|
|
1431
1434
|
const authorizationUrl = new URL(AUTHORIZE_URL2);
|
|
1432
1435
|
authorizationUrl.search = new URLSearchParams({
|
|
1433
1436
|
client_id: DYNAMIC_CLIENT_ID,
|
|
1434
|
-
agent_name_hint: AGENT_NAME_HINT,
|
|
1437
|
+
agent_name_hint: options?.agentName ?? AGENT_NAME_HINT,
|
|
1435
1438
|
ext_agent_host_id: hostId,
|
|
1436
1439
|
response_type: "code",
|
|
1437
1440
|
redirect_uri: REDIRECT_URI2,
|
|
@@ -1732,8 +1735,8 @@ async function loginOpenAICodexDeviceCode(interaction) {
|
|
|
1732
1735
|
const code = await pollOpenAICodexDeviceAuth(device, interaction.signal);
|
|
1733
1736
|
return exchangeAuthorizationCodeForCredentials(code.authorizationCode, code.codeVerifier, DEVICE_REDIRECT_URI, interaction.signal);
|
|
1734
1737
|
}
|
|
1735
|
-
async function loginOpenAICodex(interaction) {
|
|
1736
|
-
const { verifier, state, url } = await createAuthorizationFlow();
|
|
1738
|
+
async function loginOpenAICodex(interaction, options) {
|
|
1739
|
+
const { verifier, state, url } = await createAuthorizationFlow(options?.agentName);
|
|
1737
1740
|
const callback = await startOAuthCallbackServer({
|
|
1738
1741
|
providerName: "OpenAI",
|
|
1739
1742
|
host: getCallbackHost(),
|
|
@@ -1777,7 +1780,7 @@ async function refreshOpenAICodexToken(refreshToken2, signal) {
|
|
|
1777
1780
|
var openaiCodexOAuth = {
|
|
1778
1781
|
name: "OpenAI (ChatGPT Plus/Pro)",
|
|
1779
1782
|
isSubscription: true,
|
|
1780
|
-
async login(interaction) {
|
|
1783
|
+
async login(interaction, options) {
|
|
1781
1784
|
const method = await interaction.prompt({
|
|
1782
1785
|
type: "select",
|
|
1783
1786
|
message: "Select OpenAI Codex login method:",
|
|
@@ -1792,7 +1795,7 @@ var openaiCodexOAuth = {
|
|
|
1792
1795
|
if (method !== OPENAI_CODEX_BROWSER_LOGIN_METHOD) {
|
|
1793
1796
|
throw new Error(`Unknown OpenAI Codex login method: ${method}`);
|
|
1794
1797
|
}
|
|
1795
|
-
return loginOpenAICodex(interaction);
|
|
1798
|
+
return loginOpenAICodex(interaction, options);
|
|
1796
1799
|
},
|
|
1797
1800
|
refresh: (credential, signal) => refreshOpenAICodexToken(credential.refresh, signal),
|
|
1798
1801
|
async toAuth(credential) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
retryProviderRequest
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-zy39d433.js";
|
|
4
4
|
import {
|
|
5
5
|
require_ecdsa_sig_formatter,
|
|
6
6
|
require_jws,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
getJsonSchemaToolParameters,
|
|
11
11
|
resolveJsonSchemaStrictSampling,
|
|
12
12
|
transformMessages
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-xf713zz0.js";
|
|
14
14
|
import {
|
|
15
15
|
sanitizeSurrogates
|
|
16
16
|
} from "./cli-y2apkfe2.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
clampThinkingLevel,
|
|
19
19
|
collapseSystemMessages,
|
|
20
20
|
withoutInitialSystemMessage
|
|
21
|
-
} from "./cli-
|
|
21
|
+
} from "./cli-g7k7zbcz.js";
|
|
22
22
|
import {
|
|
23
23
|
import_websocket
|
|
24
24
|
} from "./cli-76yrvwsa.js";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm
|
|
3
|
+
} from "./cli-bc05qbss.js";
|
|
4
|
+
|
|
5
|
+
// src/utils/openrouter-base-url.ts
|
|
6
|
+
function getOpenRouterBaseUrl(env = process.env) {
|
|
7
|
+
const raw = env.OPENROUTER_BASE_URL;
|
|
8
|
+
if (typeof raw === "string" && raw.trim().length > 0) {
|
|
9
|
+
return raw.trim().replace(/\/+$/, "");
|
|
10
|
+
}
|
|
11
|
+
return DEFAULT_OPENROUTER_BASE_URL;
|
|
12
|
+
}
|
|
13
|
+
function getOpenRouterAttributionHeaders(url, env = process.env) {
|
|
14
|
+
const enabled = env.OPENROUTER_APP_ATTRIBUTION?.toLowerCase();
|
|
15
|
+
if (enabled === "false" || enabled === "0")
|
|
16
|
+
return {};
|
|
17
|
+
try {
|
|
18
|
+
const host = new URL(url).hostname;
|
|
19
|
+
return host === "openrouter.ai" || host.endsWith(".openrouter.ai") ? { ...OPENROUTER_APP_ATTRIBUTION_HEADERS } : {};
|
|
20
|
+
} catch {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
var DEFAULT_OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1", OPENROUTER_APP_ATTRIBUTION_HEADERS;
|
|
25
|
+
var init_openrouter_base_url = __esm(() => {
|
|
26
|
+
OPENROUTER_APP_ATTRIBUTION_HEADERS = {
|
|
27
|
+
"HTTP-Referer": "https://agent-swarm.dev",
|
|
28
|
+
"X-OpenRouter-Title": "Agent Swarm",
|
|
29
|
+
"X-OpenRouter-Categories": "personal-agent,cloud-agent"
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export { DEFAULT_OPENROUTER_BASE_URL, getOpenRouterBaseUrl, getOpenRouterAttributionHeaders, init_openrouter_base_url };
|