@desplega.ai/agent-swarm 2.4.4 → 2.5.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 +4 -2
- package/dist/{acp-adapter-thq04adh.js → acp-adapter-11gp67nr.js} +8 -6
- package/dist/{actions-j6ywh6x5.js → actions-8p2kze8j.js} +24 -22
- package/dist/{amp-adapter-k8b5xmj8.js → amp-adapter-z4qvhacj.js} +2 -2
- package/dist/{anthropic-messages-g6pqmqk4.js → anthropic-messages-txs190dd.js} +17 -20
- package/dist/{app-rb7vc02s.js → app-0qp0a2gk.js} +3 -3
- package/dist/{assistant-ftta1zjf.js → assistant-jedd3ktm.js} +27 -25
- package/dist/{azure-openai-responses-9dbmj346.js → azure-openai-responses-9kfwhmn7.js} +18 -13
- package/dist/{boot-reembed-xns7h5h9.js → boot-reembed-4xwq5tg0.js} +1 -1
- package/dist/{boot-reembed-srp6v6af.js → boot-reembed-n4wq5dd2.js} +1 -1
- package/dist/{boot-scrub-sweep-3qqrh2mz.js → boot-scrub-sweep-69h90xcq.js} +4 -4
- package/dist/{boot-seeds-9ks8hce7.js → boot-seeds-3vn0m9sg.js} +4 -4
- package/dist/{claude-adapter-k5ksyres.js → claude-adapter-221mvad5.js} +8 -6
- package/dist/{claude-managed-adapter-h2y889ge.js → claude-managed-adapter-gt6pa35d.js} +2 -2
- package/dist/{claude-managed-setup-n5a5eqks.js → claude-managed-setup-c3hp36ph.js} +4 -4
- package/dist/{claude-sdk-session-2j3j4kwn.js → claude-sdk-session-8thjsk5e.js} +9729 -9628
- package/dist/{cli-b9fcxxev.js → cli-007cnhm1.js} +50 -4
- package/dist/{cli-j4rqdf2n.js → cli-03vpq45j.js} +2 -2
- package/dist/{cli-amyhm3gj.js → cli-0y6f0ckq.js} +1 -1
- package/dist/{cli-4dg55wsk.js → cli-0z3vjrpm.js} +1 -1
- package/dist/{cli-pccfmtb5.js → cli-179xcyky.js} +11 -11
- package/dist/{cli-3r8samv3.js → cli-1f0gp9vz.js} +3 -2
- package/dist/{cli-hj3debgw.js → cli-1pr672hz.js} +3 -3
- package/dist/{cli-0bqteszy.js → cli-2nf3b08t.js} +328 -25
- package/dist/{cli-t7cyef5g.js → cli-36j4jnk3.js} +4 -4
- package/dist/{cli-er83cjbn.js → cli-3qv8naq8.js} +527 -231
- package/dist/cli-3zwye9sn.js +1193 -0
- package/dist/{cli-60cgh1rv.js → cli-459fk97x.js} +7 -7
- package/dist/{cli-xj0re5tm.js → cli-4w24f7z3.js} +1 -1
- package/dist/{cli-v3yr2gbg.js → cli-5kzk3472.js} +2198 -968
- package/dist/{cli-h7gc0b4r.js → cli-5m84zd2k.js} +55 -18
- package/dist/{cli-w6nadkh4.js → cli-5rvg1ddk.js} +5 -5
- package/dist/{cli-dvkmp9bt.js → cli-6ctwrf1z.js} +20 -10
- package/dist/{cli-9qtjfd60.js → cli-6rg2jn2y.js} +3 -2
- package/dist/{cli-2v045xyf.js → cli-7bwtc6yx.js} +3 -3
- package/dist/{cli-3cgngyd8.js → cli-7g40g8hq.js} +35 -17
- package/dist/{cli-q6r7t299.js → cli-92mqenkc.js} +2379 -154
- package/dist/{cli-cynvc9fj.js → cli-9ce2xw98.js} +8 -8
- package/dist/{cli-gqvh8d8a.js → cli-bgdtv62r.js} +36 -22
- package/dist/{cli-wxbn3yfx.js → cli-cz5nmdxt.js} +2 -2
- package/dist/{cli-wt645v7q.js → cli-dabehxhp.js} +1 -1
- package/dist/{cli-vfha21c9.js → cli-e5bxnjps.js} +2 -2
- package/dist/{cli-p20r8w42.js → cli-fcc5qe3f.js} +763 -268
- package/dist/{cli-1ephgwnq.js → cli-fes51ya2.js} +3 -3
- package/dist/{cli-1d70crsy.js → cli-ftmq4nvk.js} +2 -2
- package/dist/{cli-qkhc5aqy.js → cli-fy1jyyym.js} +13 -13
- package/dist/{cli-s95dknxh.js → cli-g1cw7xtt.js} +1 -1
- package/dist/{cli-qje9k2nh.js → cli-g9ypd5en.js} +12 -2
- package/dist/{cli-74c1wpm0.js → cli-gpv60278.js} +1 -1
- package/dist/{cli-pemywhfq.js → cli-ha9rmwgq.js} +2 -1
- package/dist/{cli-bnz0r3kc.js → cli-j1eghqfm.js} +5 -5
- package/dist/{cli-2zqpkvtt.js → cli-jpxsrxcb.js} +1 -1
- package/dist/{cli-ejs3m1sx.js → cli-kxpfx2xr.js} +1 -1
- package/dist/{cli-37yb7307.js → cli-mbfj11fq.js} +1 -1
- package/dist/{cli-pnp2j5zg.js → cli-mmhj8vd7.js} +2 -2
- package/dist/{cli-xf234ws8.js → cli-n4c8e3s5.js} +2 -0
- package/dist/{cli-a0kcty51.js → cli-n6kmqngw.js} +2 -2
- package/dist/{cli-te6b5wvg.js → cli-nnvjb17s.js} +3 -3
- package/dist/{cli-1dmcq2eh.js → cli-nzfnt2gs.js} +1 -1
- package/dist/{cli-625tb7aq.js → cli-p859hcc8.js} +2 -2
- package/dist/{cli-smvcw9z5.js → cli-pasyvjmm.js} +1 -1
- package/dist/cli-pkaqk57w.js +128 -0
- package/dist/{cli-8nyhf7za.js → cli-qqzmjxkf.js} +129 -105
- package/dist/{cli-zrwpctp4.js → cli-r25qpaxt.js} +161 -63
- package/dist/{cli-nc35pxb7.js → cli-rh5smt8t.js} +19 -4
- package/dist/{cli-qwkcwjdn.js → cli-rycdaj0a.js} +1 -1
- package/dist/{cli-esxerzg7.js → cli-s4sntwt4.js} +2 -2
- package/dist/{cli-b8k7epj1.js → cli-segs7hx9.js} +8 -8
- package/dist/{cli-36ckw0wx.js → cli-stxdrqs2.js} +2 -2
- package/dist/{cli-vdm20wej.js → cli-sy8f9705.js} +4 -4
- package/dist/{cli-1m17dc9d.js → cli-ta8bd7th.js} +2 -2
- package/dist/{cli-2y91wnbh.js → cli-we0ra057.js} +222 -10
- package/dist/{cli-55qmbp6z.js → cli-x21dqn18.js} +5 -5
- package/dist/{cli-dqb4n629.js → cli-x6vf4sad.js} +11 -11
- package/dist/{cli-d2mb5s8a.js → cli-x77gen2p.js} +680 -440
- package/dist/{cli-vq97g1jq.js → cli-xawhpgc9.js} +95 -195
- package/dist/{cli-82d3nkc3.js → cli-xd4eqtr2.js} +2 -2
- package/dist/{cli-9fhkkpj5.js → cli-xt768r5m.js} +2 -2
- package/dist/{cli-zrk6jxv8.js → cli-y4x8ww6s.js} +2 -2
- package/dist/{cli-xc27fwzg.js → cli-y9jvxfhk.js} +3 -3
- package/dist/{cli-44159k28.js → cli-z63a269p.js} +2 -2
- package/dist/{cli-sm8rses9.js → cli-zfdp01hn.js} +8 -5
- package/dist/cli.js +31 -29
- package/dist/{cloudflare-workers-ai-system-one-ch2wxfcp.js → cloudflare-workers-ai-system-one-43v9qkjk.js} +7 -2
- package/dist/{codex-adapter-968xwfy7.js → codex-adapter-tcg1q3jk.js} +6 -4
- package/dist/{codex-login-m819c41r.js → codex-login-rn7c5gxt.js} +1 -1
- package/dist/{codex-session-runner-ht4z99fa.js → codex-session-runner-xfx4wd9x.js} +7 -5
- package/dist/{commands-pcymaeg9.js → commands-ew83nj70.js} +2 -2
- package/dist/{controller-fpjyk46r.js → controller-gnq1k1mf.js} +4 -4
- package/dist/{controllers-connect-mwzx1fh6.js → controllers-connect-tw1dan9r.js} +26 -24
- package/dist/{cursor-adapter-cp4s2e2f.js → cursor-adapter-yq5xgfcg.js} +1 -1
- package/dist/{db-xsjg9jqq.js → db-7gbc53fd.js} +14 -2
- package/dist/{db-sgd12bt9.js → db-t86xrnes.js} +3 -3
- package/dist/{devin-adapter-zgqadvnm.js → devin-adapter-4ycy4vrf.js} +1 -1
- package/dist/{dispatcher-x0jfw2c9.js → dispatcher-64bdyhps.js} +23 -21
- package/dist/{docker-fkgtr75t.js → docker-nfy2gc8t.js} +2 -2
- package/dist/{dsh-adapter-jrq7ma7h.js → dsh-adapter-tvhc4k2d.js} +1 -1
- package/dist/{e2b-16d6ch39.js → e2b-9gkdhm3c.js} +2 -2
- package/dist/{e2b-zn0b4w5w.js → e2b-cjtf8k1z.js} +2 -2
- package/dist/{easter-egg-3d-5cgynaja.js → easter-egg-3d-e4qv8dxj.js} +1 -1
- package/dist/{event-bus-9vpk8gmq.js → event-bus-3z78ep5n.js} +1 -1
- package/dist/{execute-t4e6m3rw.js → execute-0xpz8950.js} +85 -23
- package/dist/{external-channel-8njj4h3b.js → external-channel-e9nw24zv.js} +2 -2
- package/dist/{google-generative-ai-bmq8gkf3.js → google-generative-ai-mk9vcpe1.js} +15 -15
- package/dist/{google-vertex-b1rvp52s.js → google-vertex-q580kz8k.js} +20 -20
- package/dist/{grok-adapter-kkr97v2f.js → grok-adapter-v82srhrx.js} +9 -7
- package/dist/handlers-c9ajzhbn.js +41 -0
- package/dist/{heartbeat-wd03zhn0.js → heartbeat-2vqs1319.js} +26 -24
- package/dist/{hook-xzj2ts2p.js → hook-01nk13wx.js} +7 -5
- package/dist/{hook-f0vghj42.js → hook-jzpheegg.js} +9 -7
- package/dist/{http-4hwxv62p.js → http-fc1k6ec8.js} +859 -252
- package/dist/index-07ef7nkm.js +42 -0
- package/dist/{index-g6tbb6ve.js → index-31ceyf42.js} +1 -1
- package/dist/index-7yts8n9s.js +43 -0
- package/dist/{index-c4ykd0f1.js → index-dr94zbnh.js} +13348 -11611
- package/dist/index-q3t40ryv.js +46 -0
- package/dist/{index-ww2vznkp.js → index-sepja052.js} +1 -1
- package/dist/{index-97q4xn03.js → index-zdycv3ja.js} +135 -79
- package/dist/{index-g216q6jr.js → index-zsyx51ap.js} +1 -4
- package/dist/{keepalive-hrh7xnr9.js → keepalive-5nh2rhmr.js} +4 -4
- package/dist/lead-aayq64jn.js +79 -0
- package/dist/{llama-cpp-classify-vv43gswy.js → llama-cpp-classify-ee7vmd7q.js} +4 -1
- package/dist/{maintenance-e8wnwnqx.js → maintenance-hjhzdt3k.js} +1 -1
- package/dist/{mistral-conversations-1medfwv7.js → mistral-conversations-sd0xf1tn.js} +13 -13
- package/dist/{node-3v3f08f7.js → node-jzjj7r9x.js} +10 -9
- package/dist/{oauth-refresh-sweep-zm0yj4sj.js → oauth-refresh-sweep-y3n1knmd.js} +3 -3
- package/dist/{onboard-dtwcq603.js → onboard-1zq3m7db.js} +2 -2
- package/dist/{openai-codex-responses-de9pvs4d.js → openai-codex-responses-79s8xnbh.js} +29 -23
- package/dist/{openai-completions-mtqge3nf.js → openai-completions-tdbyts0x.js} +21 -20
- package/dist/{openai-decisions-ygk4kkxd.js → openai-decisions-bqhnjyfz.js} +2 -1
- package/dist/{openai-responses-dkyng71g.js → openai-responses-dm3t5vqp.js} +26 -17
- package/dist/{opencode-adapter-x4tqzhkh.js → opencode-adapter-e56086m1.js} +7 -5
- package/dist/{openrouter-images-wvv7camj.js → openrouter-images-ssttr1y4.js} +6 -3
- package/dist/{otel-impl-w3fbhpn0.js → otel-impl-h9yyza47.js} +2 -2
- package/dist/{pi-messages-nhh1pkz2.js → pi-messages-3nf8bq1a.js} +6 -4
- package/dist/{pi-mono-adapter-mcfkn9vf.js → pi-mono-adapter-tzps8f38.js} +9 -37
- package/dist/{pricing-refresh-j38dehfs.js → pricing-refresh-nevhat8h.js} +3 -3
- package/dist/{rbac-roles-ae8yttq4.js → rbac-roles-4y6ngvzq.js} +1 -1
- package/dist/{rbac-roles-ejxx9b35.js → rbac-roles-exbg8xb6.js} +2 -2
- package/dist/{registry-rxw10xzg.js → registry-ajhexe44.js} +1 -1
- package/dist/{render-v2-n16n0phe.js → render-v2-cfsh13z3.js} +3 -3
- package/dist/{resume-z0fgjc38.js → resume-5s2t0dbs.js} +10 -8
- package/dist/{runtime-xe3aqy4x.js → runtime-bt5pkpm1.js} +1 -1
- package/dist/{session-access-cv3mq6mc.js → session-access-dnbyp3cn.js} +6 -4
- package/dist/{setup-mafhj3yt.js → setup-1wj1y77j.js} +1 -1
- package/dist/{typesafe-system-one-2hgpayzy.js → typesafe-system-one-bre38hvs.js} +4 -2
- package/dist/{virtual-modules-4r3zkc20.js → virtual-modules-mnfbh5mr.js} +8 -2
- package/dist/{work-objects-8b86mgjp.js → work-objects-7mg6216g.js} +26 -24
- package/dist/worker-nwb789mg.js +79 -0
- package/dist/{x-y45mthwn.js → x-pbpezr0s.js} +2 -2
- package/openapi.json +793 -6
- package/package.json +11 -11
- package/src/apps/catalog.generated.json +206 -4
- package/src/apps/page-validator.ts +13 -1
- package/src/assets/key.ts +17 -0
- package/src/azure-devops/handlers.ts +1 -1
- package/src/be/chunking.ts +42 -9
- package/src/be/db/approvals.ts +18 -0
- package/src/be/db/session-moves.ts +164 -0
- package/src/be/db/session-tree.ts +384 -0
- package/src/be/db/tasks/draft-text.ts +15 -0
- package/src/be/db/tasks/read.ts +54 -5
- package/src/be/db/workflow-runs.ts +96 -0
- package/src/be/db.ts +85 -237
- package/src/be/memory/index-content.ts +36 -17
- package/src/be/memory/providers/openai-embedding.ts +115 -61
- package/src/be/memory/providers/sqlite-store.ts +69 -23
- package/src/be/memory/reranker.ts +31 -1
- package/src/be/memory/search-candidates.ts +47 -0
- package/src/be/memory/types.ts +14 -0
- package/src/be/onboarding.ts +3 -0
- package/src/be/scripts/typecheck.ts +2 -0
- package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +106 -54
- package/src/be/seed-scripts/index.ts +2 -2
- package/src/be/skill-sync.ts +43 -2
- package/src/be/swarm-config-guard.ts +25 -1
- package/src/be/task-attachment-store.ts +30 -0
- package/src/bitbucket/api.ts +81 -0
- package/src/bitbucket/auth.ts +64 -0
- package/src/bitbucket/handlers.ts +434 -0
- package/src/bitbucket/index.ts +28 -0
- package/src/bitbucket/templates.ts +134 -0
- package/src/bitbucket/types.ts +65 -0
- package/src/commands/runner.ts +55 -3
- package/src/e2b/env.ts +1 -0
- package/src/extensions/catalog.generated.json +4 -4
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/contract.ts +9 -2
- package/src/extensions/post-bridge.ts +1 -0
- package/src/fs/provider.ts +13 -1
- package/src/github/handlers.ts +6 -6
- package/src/gitlab/handlers.ts +5 -5
- package/src/heartbeat/heartbeat.ts +31 -11
- package/src/http/assets.ts +14 -2
- package/src/http/core.ts +12 -0
- package/src/http/fs.ts +54 -34
- package/src/http/index.ts +4 -0
- package/src/http/mcp-body.ts +37 -0
- package/src/http/mcp-user.ts +3 -5
- package/src/http/mcp.ts +6 -7
- package/src/http/memory.ts +26 -15
- package/src/http/onboarding.ts +1 -0
- package/src/http/page-proxy.ts +61 -5
- package/src/http/pages-public.ts +27 -44
- package/src/http/pages.ts +4 -4
- package/src/http/script-runs.ts +2 -0
- package/src/http/sessions.ts +366 -12
- package/src/http/skills.ts +48 -1
- package/src/http/tasks.ts +1 -1
- package/src/http/users.ts +13 -1
- package/src/http/webhooks.ts +141 -0
- package/src/integrations/chat-sdk/adapters.ts +24 -4
- package/src/integrations/chat-sdk/attachments.ts +90 -12
- package/src/integrations/chat-sdk/facts.ts +138 -0
- package/src/integrations/chat-sdk/inbound.ts +156 -8
- package/src/integrations/chat-sdk/limits.ts +24 -0
- package/src/integrations/chat-sdk/outbound-files.ts +186 -0
- package/src/integrations/chat-sdk/outbound.ts +272 -5
- package/src/integrations/chat-sdk/relay.ts +4 -1
- package/src/integrations/chat-sdk/router.ts +28 -2
- package/src/integrations/chat-sdk/steering.ts +9 -0
- package/src/integrations/chat-sdk/templates.ts +14 -0
- package/src/integrations/chat-sdk/thread-buffer.ts +4 -0
- package/src/mcp-limits.ts +20 -0
- package/src/pages/browser-sdk.ts +8 -3
- package/src/pages/feedback-overlay.ts +1 -1
- package/src/providers/acp-targets.ts +1 -1
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/codex-adapter.ts +106 -119
- package/src/providers/codex-agents-md.ts +35 -229
- package/src/providers/cursor-adapter.ts +1 -1
- package/src/providers/pi-mono-adapter.ts +5 -53
- package/src/realtime/transport.ts +1 -2
- package/src/script-workflows/workflow-ctx.ts +1 -0
- package/src/scripts-runtime/types/stdlib.d.ts +2 -0
- package/src/scripts-runtime/types/swarm-extension.d.ts +14 -4
- package/src/scripts-runtime/types/swarm-sdk.d.ts +2 -0
- package/src/server-user.ts +2 -0
- package/src/server.ts +2 -0
- package/src/slack/assistant.ts +2 -2
- package/src/slack/files.ts +2 -0
- package/src/slack/handlers.test.ts +158 -0
- package/src/slack/handlers.ts +23 -32
- package/src/slack/inbound-files.ts +39 -6
- package/src/slack/thread-buffer.ts +2 -1
- package/src/tasks/context-key.ts +61 -1
- package/src/tasks/task-terminal-effects.ts +21 -17
- package/src/tests/apps-card-grid.test.ts +197 -0
- package/src/tests/apps-catalog-additions.test.ts +120 -0
- package/src/tests/apps-tree.test.ts +129 -0
- package/src/tests/bitbucket-auth.test.ts +156 -0
- package/src/tests/bitbucket-handlers.test.ts +425 -0
- package/src/tests/bitbucket-webhook.test.ts +220 -0
- package/src/tests/chat-sdk-attachments-reply.test.ts +52 -0
- package/src/tests/chat-sdk-config.test.ts +11 -0
- package/src/tests/chat-sdk-facts.test.ts +23 -0
- package/src/tests/chat-sdk-inbound.test.ts +597 -4
- package/src/tests/chat-sdk-outbound-files.test.ts +652 -0
- package/src/tests/chat-sdk-telegram-markdown.test.ts +92 -0
- package/src/tests/codex-adapter.test.ts +167 -242
- package/src/tests/config-api-only-keys.test.ts +9 -0
- package/src/tests/context-key.test.ts +50 -0
- package/src/tests/core-auth.test.ts +5 -0
- package/src/tests/cors-allowlist.test.ts +1 -1
- package/src/tests/db-task-read-contract.test.ts +7 -0
- package/src/tests/db-task-write-contract.test.ts +6 -0
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/extensions-example-slack-reply-gate.test.ts +262 -91
- package/src/tests/fixtures/bitbucket/pullrequest-comment-created-inline.json +174 -0
- package/src/tests/fixtures/bitbucket/pullrequest-comment-created.json +170 -0
- package/src/tests/fixtures/bitbucket/pullrequest-created-mention.json +132 -0
- package/src/tests/fixtures/bitbucket/pullrequest-created-reviewer.json +140 -0
- package/src/tests/fixtures/bitbucket/pullrequest-fulfilled.json +134 -0
- package/src/tests/fixtures/bitbucket/pullrequest-rejected.json +133 -0
- package/src/tests/generate-mcp-docs.test.ts +101 -0
- package/src/tests/gitlab-handlers.test.ts +3 -3
- package/src/tests/gitlab-vcs-db.test.ts +4 -4
- package/src/tests/heartbeat-checklist.test.ts +33 -0
- package/src/tests/heartbeat-jev-gate-credentials.test.ts +44 -0
- package/src/tests/heartbeat-jev-gate.test.ts +242 -1
- package/src/tests/integration-disable-flags.test.ts +36 -0
- package/src/tests/kv-page-proxy.test.ts +91 -5
- package/src/tests/launch-password-rejection.test.ts +2 -2
- package/src/tests/mcp-input-caps.test.ts +294 -0
- package/src/tests/mcp-tools.test.ts +1 -1
- package/src/tests/memory-chunked-search-starvation.test.ts +200 -0
- package/src/tests/memory-embedding-input-cap.test.ts +114 -0
- package/src/tests/memory.test.ts +14 -0
- package/src/tests/onboarding.test.ts +12 -0
- package/src/tests/page-guest-session.test.ts +19 -8
- package/src/tests/page-proxy-authed.test.ts +1 -1
- package/src/tests/page-proxy.test.ts +17 -10
- package/src/tests/page-session.test.ts +102 -1
- package/src/tests/pages-authed-mode.test.ts +82 -12
- package/src/tests/pages-password-mode.test.ts +5 -5
- package/src/tests/pi-codemode.test.ts +8 -2
- package/src/tests/preload-env.test.ts +57 -0
- package/src/tests/preload.ts +21 -0
- package/src/tests/prompt-template-remaining.test.ts +38 -0
- package/src/tests/realtime-transport.test.ts +13 -7
- package/src/tests/run-root-coverage.test.ts +39 -0
- package/src/tests/runner-bitbucket-vcs.test.ts +191 -0
- package/src/tests/runner-skills-refresh.test.ts +58 -0
- package/src/tests/script-runs-http.test.ts +84 -0
- package/src/tests/scripts-http.test.ts +10 -1
- package/src/tests/secret-scrubber.test.ts +15 -0
- package/src/tests/sessions-move.test.ts +576 -0
- package/src/tests/sessions-tree.test.ts +493 -0
- package/src/tests/skill-files-http.test.ts +50 -0
- package/src/tests/skills-bundle.test.ts +99 -0
- package/src/tests/swarm-config-export-to-env.test.ts +23 -3
- package/src/tests/task-audio-transcription.test.ts +299 -0
- package/src/tests/task-completion-memory-chunking.test.ts +434 -0
- package/src/tests/task-terminal-secret-scrub.test.ts +6 -1
- package/src/tests/transcription.test.ts +299 -0
- package/src/tests/vcs-bitbucket.test.ts +91 -0
- package/src/tests/vcs-provider-isolation.test.ts +123 -0
- package/src/tests/vcs-provider.test.ts +16 -1
- package/src/tests/vcs-tracking.test.ts +3 -3
- package/src/tests/workflow-foreach-bodies.test.ts +637 -0
- package/src/tests/workflow-foreach-concurrency.test.ts +342 -0
- package/src/tests/workflow-foreach-retry.test.ts +537 -0
- package/src/tests/workflow-foreach.test.ts +44 -23
- package/src/tests/workflow-step-claims.test.ts +6 -6
- package/src/tests/workflow-system-one-decision-providers.test.ts +98 -1
- package/src/tests/workflow-system-one-decision.test.ts +2 -1
- package/src/tests/workflow-tla-races.test.ts +2 -2
- package/src/tools/chat-access.ts +10 -0
- package/src/tools/chat-post.ts +31 -11
- package/src/tools/chat-reply.ts +32 -10
- package/src/tools/memory-search.ts +3 -1
- package/src/tools/script-delete.ts +1 -1
- package/src/tools/system-one-decide.ts +17 -4
- package/src/tools/workflows/create-workflow.ts +5 -3
- package/src/types.ts +9 -2
- package/src/utils/config-env-export.ts +4 -1
- package/src/utils/page-session.ts +133 -20
- package/src/utils/secret-scrubber.ts +4 -0
- package/src/utils/skills-refresh.ts +83 -43
- package/src/utils/transcription.ts +246 -0
- package/src/vcs/bitbucket.ts +58 -0
- package/src/vcs/index.ts +2 -0
- package/src/vcs/types.ts +2 -2
- package/src/workflows/approval-resolution.ts +4 -1
- package/src/workflows/checkpoint.ts +9 -1
- package/src/workflows/constants.ts +3 -0
- package/src/workflows/definition.ts +48 -17
- package/src/workflows/engine.ts +25 -15
- package/src/workflows/executors/foreach.ts +45 -99
- package/src/workflows/executors/system-one-decision.ts +28 -7
- package/src/workflows/executors/system-one-providers.ts +39 -4
- package/src/workflows/foreach-body.ts +146 -0
- package/src/workflows/foreach-driver.ts +552 -0
- package/src/workflows/foreach-join.ts +206 -7
- package/src/workflows/node-timeout.ts +21 -0
- package/src/workflows/recovery.ts +68 -3
- package/src/workflows/resume.ts +221 -43
- package/src/workflows/retry-poller.ts +39 -24
- package/src/workflows/step-input.ts +59 -0
- package/src/workflows/task-step-routing.ts +114 -56
- package/templates/extensions/slack-reply-gate/README.md +24 -22
- package/templates/extensions/slack-reply-gate/hooks.ts +146 -95
- package/templates/extensions/slack-reply-gate/manifest.json +2 -2
- package/templates/skills/apps/SKILL.md +28 -6
- package/templates/skills/apps/content.md +28 -6
- package/templates/skills/chat-sdk/content.md +6 -2
- package/templates/skills/code-quality/content.md +2 -1
- package/templates/skills/heartbeat-runbook/content.md +5 -5
- package/templates/skills/pages/content.md +6 -4
- package/templates/skills/slack-interaction/content.md +5 -0
- package/templates/skills/swarm-scripts/SKILL.md +2 -2
- package/templates/skills/swarm-scripts/content.md +2 -2
- package/templates/skills/work-on-task/SKILL.md +1 -1
- package/templates/skills/work-on-task/content.md +1 -1
- package/dist/cli-51y09c6p.js +0 -2657
- package/dist/cli-yw91rnmw.js +0 -13
- package/dist/handlers-0pvee9nw.js +0 -39
- package/dist/index-gdh8jrdm.js +0 -43
- package/dist/index-hg0x2cdv.js +0 -40
- package/dist/index-thm0y6a8.js +0 -41
- package/dist/lead-ee8vazz2.js +0 -77
- package/dist/worker-16s75hm5.js +0 -77
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listKeepAliveAuthorizations,
|
|
3
3
|
init_oauth
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-fcc5qe3f.js";
|
|
5
5
|
import {
|
|
6
6
|
ensureAuthorizationTokenOrThrow
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-s4sntwt4.js";
|
|
8
8
|
import {
|
|
9
9
|
scrubSecrets,
|
|
10
10
|
init_secret_scrubber
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-n4c8e3s5.js";
|
|
12
12
|
|
|
13
13
|
// src/oauth/keepalive.ts
|
|
14
14
|
init_oauth();
|
|
@@ -57,7 +57,7 @@ async function notifySlack(text) {
|
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
try {
|
|
60
|
-
const { getSlackApp } = await import("./app-
|
|
60
|
+
const { getSlackApp } = await import("./app-0qp0a2gk.js");
|
|
61
61
|
const app = getSlackApp();
|
|
62
62
|
if (!app) {
|
|
63
63
|
console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import"./cli-qz93y3x5.js";
|
|
2
|
+
import {
|
|
3
|
+
getEnabledCapabilities
|
|
4
|
+
} from "./cli-5kzk3472.js";
|
|
5
|
+
import"./cli-fcc5qe3f.js";
|
|
6
|
+
import"./cli-0z3vjrpm.js";
|
|
7
|
+
import"./cli-36j4jnk3.js";
|
|
8
|
+
import"./cli-0y6f0ckq.js";
|
|
9
|
+
import"./cli-y9jvxfhk.js";
|
|
10
|
+
import"./cli-jpxsrxcb.js";
|
|
11
|
+
import"./cli-92mqenkc.js";
|
|
12
|
+
import"./cli-we0ra057.js";
|
|
13
|
+
import"./cli-s4sntwt4.js";
|
|
14
|
+
import"./cli-3ggwdtb0.js";
|
|
15
|
+
import"./cli-fy1jyyym.js";
|
|
16
|
+
import"./cli-ftmq4nvk.js";
|
|
17
|
+
import"./cli-qqzmjxkf.js";
|
|
18
|
+
import"./cli-2nf3b08t.js";
|
|
19
|
+
import"./cli-kvzgak7c.js";
|
|
20
|
+
import"./cli-445c1vp7.js";
|
|
21
|
+
import"./cli-kxpfx2xr.js";
|
|
22
|
+
import"./cli-dabehxhp.js";
|
|
23
|
+
import"./cli-3zwye9sn.js";
|
|
24
|
+
import"./cli-9ce2xw98.js";
|
|
25
|
+
import"./cli-e8xyjvfc.js";
|
|
26
|
+
import"./cli-g9ypd5en.js";
|
|
27
|
+
import"./cli-5rvg1ddk.js";
|
|
28
|
+
import"./cli-3h26v7yj.js";
|
|
29
|
+
import"./cli-pasyvjmm.js";
|
|
30
|
+
import"./cli-0xk505e8.js";
|
|
31
|
+
import"./cli-bn0rewsy.js";
|
|
32
|
+
import"./cli-77cd6gy8.js";
|
|
33
|
+
import"./cli-4w24f7z3.js";
|
|
34
|
+
import {
|
|
35
|
+
runAgent
|
|
36
|
+
} from "./cli-r25qpaxt.js";
|
|
37
|
+
import"./cli-a5ebc95n.js";
|
|
38
|
+
import"./cli-gx4rm0qx.js";
|
|
39
|
+
import"./cli-5kqnemen.js";
|
|
40
|
+
import"./cli-jc1g9ndz.js";
|
|
41
|
+
import"./cli-fes51ya2.js";
|
|
42
|
+
import"./cli-ta8bd7th.js";
|
|
43
|
+
import"./cli-mmhj8vd7.js";
|
|
44
|
+
import"./cli-d82btycs.js";
|
|
45
|
+
import"./cli-0726awxw.js";
|
|
46
|
+
import"./cli-x21dqn18.js";
|
|
47
|
+
import"./cli-sy8f9705.js";
|
|
48
|
+
import"./cli-4bd1rck6.js";
|
|
49
|
+
import"./cli-vbhgkw9h.js";
|
|
50
|
+
import"./cli-3qv8naq8.js";
|
|
51
|
+
import"./cli-n6kmqngw.js";
|
|
52
|
+
import"./cli-kr5tjjtz.js";
|
|
53
|
+
import"./cli-xawhpgc9.js";
|
|
54
|
+
import"./cli-j1eghqfm.js";
|
|
55
|
+
import"./cli-g1cw7xtt.js";
|
|
56
|
+
import"./cli-z63a269p.js";
|
|
57
|
+
import"./cli-nnvjb17s.js";
|
|
58
|
+
import"./cli-e5bxnjps.js";
|
|
59
|
+
import"./cli-stxdrqs2.js";
|
|
60
|
+
import"./cli-y4x8ww6s.js";
|
|
61
|
+
import"./cli-4zsenjhy.js";
|
|
62
|
+
import"./cli-13p25grh.js";
|
|
63
|
+
import"./cli-0adyhvq2.js";
|
|
64
|
+
import"./cli-xt768r5m.js";
|
|
65
|
+
import"./cli-rycdaj0a.js";
|
|
66
|
+
|
|
67
|
+
// src/commands/lead.ts
|
|
68
|
+
var leadConfig = {
|
|
69
|
+
role: "lead",
|
|
70
|
+
defaultPrompt: "/start-leader",
|
|
71
|
+
metadataType: "lead_metadata",
|
|
72
|
+
capabilities: getEnabledCapabilities()
|
|
73
|
+
};
|
|
74
|
+
async function runLead(opts) {
|
|
75
|
+
return runAgent(leadConfig, opts);
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
runLead
|
|
79
|
+
};
|
|
@@ -9,6 +9,9 @@ import {
|
|
|
9
9
|
headersToRecord,
|
|
10
10
|
providerHeadersToRecord
|
|
11
11
|
} from "./cli-hf1b007k.js";
|
|
12
|
+
import {
|
|
13
|
+
getIdentityHeaders
|
|
14
|
+
} from "./cli-pkaqk57w.js";
|
|
12
15
|
|
|
13
16
|
// node_modules/@earendil-works/pi-ai/dist/api/llama-cpp-classify.js
|
|
14
17
|
var LABEL = "llama.cpp";
|
|
@@ -161,7 +164,7 @@ async function post(request, path, body, observe) {
|
|
|
161
164
|
payload = transformed;
|
|
162
165
|
}
|
|
163
166
|
const requestFetch = options?.fetch ?? globalThis.fetch;
|
|
164
|
-
const headers = providerHeadersToRecord({
|
|
167
|
+
const headers = providerHeadersToRecord(getIdentityHeaders(model, options?.identity), {
|
|
165
168
|
"content-type": "application/json",
|
|
166
169
|
...options?.apiKey ? { authorization: `Bearer ${options.apiKey}` } : {}
|
|
167
170
|
}, model.headers, options?.headers) ?? {};
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getSystemMessageText,
|
|
3
|
+
renderSystemMessageUpdate,
|
|
4
|
+
getCurrentTools,
|
|
5
|
+
resolveTranscript,
|
|
6
|
+
calculateCost,
|
|
7
|
+
clampThinkingLevel
|
|
8
|
+
} from "./cli-2nf3b08t.js";
|
|
1
9
|
import {
|
|
2
10
|
parseToolCallArguments,
|
|
3
11
|
parseStreamingJson
|
|
@@ -8,32 +16,24 @@ import {
|
|
|
8
16
|
import {
|
|
9
17
|
shortHash
|
|
10
18
|
} from "./cli-j3xf15kq.js";
|
|
11
|
-
import {
|
|
12
|
-
getPiUserAgent
|
|
13
|
-
} from "./cli-yw91rnmw.js";
|
|
14
19
|
import {
|
|
15
20
|
getJsonSchemaToolParameters,
|
|
16
21
|
resolveJsonSchemaStrictSampling,
|
|
17
22
|
buildBaseOptions,
|
|
18
23
|
transformMessages
|
|
19
|
-
} from "./cli-
|
|
24
|
+
} from "./cli-1f0gp9vz.js";
|
|
20
25
|
import {
|
|
21
26
|
sanitizeSurrogates
|
|
22
27
|
} from "./cli-xs8nzjqf.js";
|
|
23
28
|
import {
|
|
24
29
|
headersToRecord
|
|
25
30
|
} from "./cli-hf1b007k.js";
|
|
26
|
-
import {
|
|
27
|
-
getSystemMessageText,
|
|
28
|
-
renderSystemMessageUpdate,
|
|
29
|
-
getCurrentTools,
|
|
30
|
-
resolveTranscript,
|
|
31
|
-
calculateCost,
|
|
32
|
-
clampThinkingLevel
|
|
33
|
-
} from "./cli-0bqteszy.js";
|
|
34
31
|
import {
|
|
35
32
|
AssistantMessageEventStream
|
|
36
33
|
} from "./cli-m6m1bvtp.js";
|
|
34
|
+
import {
|
|
35
|
+
getIdentityHeaders
|
|
36
|
+
} from "./cli-pkaqk57w.js";
|
|
37
37
|
|
|
38
38
|
// node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js
|
|
39
39
|
var MISTRAL_TOOL_CALL_ID_LENGTH = 9;
|
|
@@ -221,7 +221,7 @@ class MistralHttpError extends Error {
|
|
|
221
221
|
}
|
|
222
222
|
function buildMistralHeaders(model, apiKey, options) {
|
|
223
223
|
const headers = new Headers({
|
|
224
|
-
|
|
224
|
+
...getIdentityHeaders(model, options?.identity),
|
|
225
225
|
accept: "text/event-stream",
|
|
226
226
|
authorization: `Bearer ${apiKey}`,
|
|
227
227
|
"content-type": "application/json"
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
DEFAULT_MEMORY_SYNC_INTERVAL_MS,
|
|
19
19
|
checkMemorySyncInterval,
|
|
20
20
|
promiseWithResolvers
|
|
21
|
-
} from "./cli-
|
|
21
|
+
} from "./cli-6rg2jn2y.js";
|
|
22
22
|
|
|
23
23
|
// node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs
|
|
24
24
|
import * as fs4 from "node:fs/promises";
|
|
@@ -30,17 +30,18 @@ import * as readline from "node:readline";
|
|
|
30
30
|
|
|
31
31
|
// node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.mjs
|
|
32
32
|
function betaTool(options) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const { name, inputSchema, description, run, ...extraProps } = options;
|
|
34
|
+
if (inputSchema.type !== "object") {
|
|
35
|
+
throw new Error(`JSON schema for tool "${name}" must be an object, but got ${inputSchema.type}`);
|
|
35
36
|
}
|
|
36
37
|
return {
|
|
38
|
+
...extraProps,
|
|
37
39
|
type: "custom",
|
|
38
|
-
name
|
|
39
|
-
input_schema:
|
|
40
|
-
description
|
|
41
|
-
run
|
|
42
|
-
parse: (content) => content
|
|
43
|
-
...options.close ? { close: options.close } : {}
|
|
40
|
+
name,
|
|
41
|
+
input_schema: inputSchema,
|
|
42
|
+
description,
|
|
43
|
+
run,
|
|
44
|
+
parse: (content) => content
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
getAuthorizationById,
|
|
3
3
|
listAuthorizationSweepRows,
|
|
4
4
|
init_oauth
|
|
5
|
-
} from "./cli-
|
|
5
|
+
} from "./cli-fcc5qe3f.js";
|
|
6
6
|
import {
|
|
7
7
|
forceRefreshAuthorizationOrThrow
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-s4sntwt4.js";
|
|
9
9
|
import {
|
|
10
10
|
scrubSecrets,
|
|
11
11
|
init_secret_scrubber
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-n4c8e3s5.js";
|
|
13
13
|
|
|
14
14
|
// src/be/oauth-refresh-sweep.ts
|
|
15
15
|
init_secret_scrubber();
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
createDefaultSettingsLocal,
|
|
17
17
|
createDefaultMcpJson,
|
|
18
18
|
createHooksConfig
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-mbfj11fq.js";
|
|
20
20
|
import {
|
|
21
21
|
getSlackConfiguration,
|
|
22
22
|
isSlackConfigured,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
init_package,
|
|
27
27
|
package_default
|
|
28
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-179xcyky.js";
|
|
29
29
|
import {
|
|
30
30
|
getApiKey,
|
|
31
31
|
init_api_key
|
|
@@ -1,19 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getSystemMessageText,
|
|
3
|
+
normalizeContext,
|
|
4
|
+
getInitialSystemMessage,
|
|
5
|
+
resolveTranscript,
|
|
6
|
+
getDeclaredTools,
|
|
7
|
+
resolveTranscriptTools,
|
|
8
|
+
clampThinkingLevel
|
|
9
|
+
} from "./cli-2nf3b08t.js";
|
|
1
10
|
import"./cli-445c1vp7.js";
|
|
2
11
|
import"./cli-kvzgak7c.js";
|
|
3
12
|
import {
|
|
13
|
+
getResponsesToolSupport,
|
|
4
14
|
convertResponsesMessages,
|
|
5
15
|
convertResponsesTools,
|
|
6
16
|
processResponsesStream
|
|
7
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-5m84zd2k.js";
|
|
8
18
|
import {
|
|
9
19
|
clampOpenAIPromptCacheKey
|
|
10
20
|
} from "./cli-dxqypk0n.js";
|
|
11
21
|
import {
|
|
12
22
|
combineAbortSignals
|
|
13
23
|
} from "./cli-aphet7e8.js";
|
|
14
|
-
import {
|
|
15
|
-
getPiUserAgent
|
|
16
|
-
} from "./cli-yw91rnmw.js";
|
|
17
24
|
import {
|
|
18
25
|
registerSessionResourceCleanup,
|
|
19
26
|
uuidv7
|
|
@@ -28,25 +35,19 @@ import {
|
|
|
28
35
|
import {
|
|
29
36
|
createGrammarToolInputProperties,
|
|
30
37
|
buildBaseOptions
|
|
31
|
-
} from "./cli-
|
|
38
|
+
} from "./cli-1f0gp9vz.js";
|
|
32
39
|
import {
|
|
33
40
|
headersToRecord
|
|
34
41
|
} from "./cli-hf1b007k.js";
|
|
35
|
-
import {
|
|
36
|
-
getSystemMessageText,
|
|
37
|
-
normalizeContext,
|
|
38
|
-
getInitialSystemMessage,
|
|
39
|
-
resolveTranscript,
|
|
40
|
-
getDeclaredTools,
|
|
41
|
-
resolveTranscriptTools,
|
|
42
|
-
clampThinkingLevel
|
|
43
|
-
} from "./cli-0bqteszy.js";
|
|
44
42
|
import {
|
|
45
43
|
AssistantMessageEventStream,
|
|
46
44
|
formatThrownValue,
|
|
47
45
|
createAssistantMessageDiagnostic,
|
|
48
46
|
appendAssistantMessageDiagnostic
|
|
49
47
|
} from "./cli-m6m1bvtp.js";
|
|
48
|
+
import {
|
|
49
|
+
getIdentityHeaders
|
|
50
|
+
} from "./cli-pkaqk57w.js";
|
|
50
51
|
|
|
51
52
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js
|
|
52
53
|
var DEFAULT_CODEX_BASE_URL = "https://chatgpt.com/backend-api";
|
|
@@ -197,8 +198,9 @@ var stream = (model, context, options) => {
|
|
|
197
198
|
body = nextBody;
|
|
198
199
|
}
|
|
199
200
|
const websocketRequestId = codexSessionId || uuidv7();
|
|
200
|
-
const
|
|
201
|
-
const
|
|
201
|
+
const identityHeaders = { originator: "pi", ...getIdentityHeaders(model, options?.identity) };
|
|
202
|
+
const sseHeaders = buildSSEHeaders(identityHeaders, model.headers, options?.headers, accountId, apiKey, codexSessionId);
|
|
203
|
+
const websocketHeaders = buildWebSocketHeaders(identityHeaders, model.headers, options?.headers, accountId, apiKey, websocketRequestId);
|
|
202
204
|
const bodyJson = JSON.stringify(body);
|
|
203
205
|
const httpTimeoutMs = normalizeTimeoutMs(options?.timeoutMs);
|
|
204
206
|
const websocketConnectTimeoutMs = normalizeTimeoutMs(options?.websocketConnectTimeoutMs);
|
|
@@ -377,7 +379,11 @@ function buildRequestBody(model, context, options, cacheSessionId, grammarToolIn
|
|
|
377
379
|
const supportsOpenAIGrammarTools = model.compat?.supportsOpenAIGrammarTools ?? false;
|
|
378
380
|
const supportsAdditionalTools = model.compat?.supportsAdditionalTools ?? false;
|
|
379
381
|
const supportsToolSearch = model.compat?.supportsToolSearch ?? false;
|
|
380
|
-
const transcriptTools = resolveTranscriptTools(context.messages,
|
|
382
|
+
const transcriptTools = resolveTranscriptTools(context.messages, getResponsesToolSupport({
|
|
383
|
+
supportsMidConvoSystemMessages: model.compat?.supportsMidConvoSystemMessages ?? false,
|
|
384
|
+
supportsAdditionalTools,
|
|
385
|
+
supportsToolSearch
|
|
386
|
+
}));
|
|
381
387
|
const messages = convertResponsesMessages(model, context, CODEX_TOOL_CALL_PROVIDERS, {
|
|
382
388
|
includeSystemPrompt: false,
|
|
383
389
|
grammarToolInputProperties,
|
|
@@ -1235,8 +1241,8 @@ function extractAccountId(token) {
|
|
|
1235
1241
|
throw new Error("Failed to extract accountId from token");
|
|
1236
1242
|
}
|
|
1237
1243
|
}
|
|
1238
|
-
function buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token) {
|
|
1239
|
-
const headers = new Headers(
|
|
1244
|
+
function buildBaseCodexHeaders(defaultHeaders, initHeaders, additionalHeaders, accountId, token) {
|
|
1245
|
+
const headers = new Headers(defaultHeaders);
|
|
1240
1246
|
for (const [key, value] of Object.entries(initHeaders || {})) {
|
|
1241
1247
|
headers.set(key, value);
|
|
1242
1248
|
}
|
|
@@ -1251,8 +1257,8 @@ function buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token)
|
|
|
1251
1257
|
headers.set("chatgpt-account-id", accountId);
|
|
1252
1258
|
return headers;
|
|
1253
1259
|
}
|
|
1254
|
-
function buildSSEHeaders(initHeaders, additionalHeaders, accountId, token, sessionId) {
|
|
1255
|
-
const headers = buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token);
|
|
1260
|
+
function buildSSEHeaders(defaultHeaders, initHeaders, additionalHeaders, accountId, token, sessionId) {
|
|
1261
|
+
const headers = buildBaseCodexHeaders(defaultHeaders, initHeaders, additionalHeaders, accountId, token);
|
|
1256
1262
|
headers.set("OpenAI-Beta", "responses=experimental");
|
|
1257
1263
|
headers.set("accept", "text/event-stream");
|
|
1258
1264
|
headers.set("content-type", "application/json");
|
|
@@ -1262,8 +1268,8 @@ function buildSSEHeaders(initHeaders, additionalHeaders, accountId, token, sessi
|
|
|
1262
1268
|
}
|
|
1263
1269
|
return headers;
|
|
1264
1270
|
}
|
|
1265
|
-
function buildWebSocketHeaders(initHeaders, additionalHeaders, accountId, token, requestId) {
|
|
1266
|
-
const headers = buildBaseCodexHeaders(initHeaders, additionalHeaders, accountId, token);
|
|
1271
|
+
function buildWebSocketHeaders(defaultHeaders, initHeaders, additionalHeaders, accountId, token, requestId) {
|
|
1272
|
+
const headers = buildBaseCodexHeaders(defaultHeaders, initHeaders, additionalHeaders, accountId, token);
|
|
1267
1273
|
headers.delete("accept");
|
|
1268
1274
|
headers.delete("content-type");
|
|
1269
1275
|
headers.delete("OpenAI-Beta");
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAI
|
|
3
3
|
} from "./cli-629desp2.js";
|
|
4
|
+
import {
|
|
5
|
+
getSystemMessageText,
|
|
6
|
+
renderSystemMessageUpdate,
|
|
7
|
+
resolveTranscript,
|
|
8
|
+
getDeclaredTools,
|
|
9
|
+
resolveTranscriptTools,
|
|
10
|
+
calculateCost,
|
|
11
|
+
clampThinkingLevel
|
|
12
|
+
} from "./cli-2nf3b08t.js";
|
|
4
13
|
import {
|
|
5
14
|
parseToolCallArguments,
|
|
6
15
|
parseStreamingJson
|
|
@@ -21,9 +30,6 @@ import {
|
|
|
21
30
|
import {
|
|
22
31
|
shortHash
|
|
23
32
|
} from "./cli-j3xf15kq.js";
|
|
24
|
-
import {
|
|
25
|
-
getPiUserAgent
|
|
26
|
-
} from "./cli-yw91rnmw.js";
|
|
27
33
|
import {
|
|
28
34
|
normalizeProviderError,
|
|
29
35
|
formatProviderError
|
|
@@ -40,25 +46,19 @@ import {
|
|
|
40
46
|
thinkingBudgetForLevel,
|
|
41
47
|
clampThinkingBudgetToAnswerRoom,
|
|
42
48
|
transformMessages
|
|
43
|
-
} from "./cli-
|
|
49
|
+
} from "./cli-1f0gp9vz.js";
|
|
44
50
|
import {
|
|
45
51
|
sanitizeSurrogates
|
|
46
52
|
} from "./cli-xs8nzjqf.js";
|
|
47
53
|
import {
|
|
48
54
|
headersToRecord
|
|
49
55
|
} from "./cli-hf1b007k.js";
|
|
50
|
-
import {
|
|
51
|
-
getSystemMessageText,
|
|
52
|
-
renderSystemMessageUpdate,
|
|
53
|
-
resolveTranscript,
|
|
54
|
-
getDeclaredTools,
|
|
55
|
-
resolveTranscriptTools,
|
|
56
|
-
calculateCost,
|
|
57
|
-
clampThinkingLevel
|
|
58
|
-
} from "./cli-0bqteszy.js";
|
|
59
56
|
import {
|
|
60
57
|
AssistantMessageEventStream
|
|
61
58
|
} from "./cli-m6m1bvtp.js";
|
|
59
|
+
import {
|
|
60
|
+
getIdentityHeaders
|
|
61
|
+
} from "./cli-pkaqk57w.js";
|
|
62
62
|
|
|
63
63
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js
|
|
64
64
|
function hasHeader(headers, name) {
|
|
@@ -210,7 +210,7 @@ var stream = (model, context, options) => {
|
|
|
210
210
|
const grammarToolInputProperties = createGrammarToolInputProperties(getDeclaredTools(normalizedContext.messages), compat.supportsOpenAIGrammarTools);
|
|
211
211
|
const cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);
|
|
212
212
|
const cacheSessionId = cacheRetention === "none" ? undefined : options?.sessionId;
|
|
213
|
-
const client = createClient(model, normalizedContext, apiKey, options?.headers, options?.fetch, cacheSessionId, compat);
|
|
213
|
+
const client = createClient(model, normalizedContext, apiKey, options?.headers, options?.identity, options?.fetch, cacheSessionId, compat);
|
|
214
214
|
let params = buildParams(model, normalizedContext, options, compat, cacheRetention, grammarToolInputProperties);
|
|
215
215
|
const nextParams = await options?.onPayload?.(params, model);
|
|
216
216
|
if (nextParams !== undefined) {
|
|
@@ -526,8 +526,8 @@ var streamSimple = (model, context, options) => {
|
|
|
526
526
|
thinkingBudgets: options?.thinkingBudgets
|
|
527
527
|
});
|
|
528
528
|
};
|
|
529
|
-
function createClient(model, context, apiKey, optionsHeaders, fetch, sessionId, compat = getCompat(model)) {
|
|
530
|
-
const headers = {
|
|
529
|
+
function createClient(model, context, apiKey, optionsHeaders, identity, fetch, sessionId, compat = getCompat(model)) {
|
|
530
|
+
const headers = { ...getIdentityHeaders(model, identity), ...model.headers };
|
|
531
531
|
if (model.provider === "github-copilot") {
|
|
532
532
|
const hasImages = hasCopilotVisionInput(context.messages);
|
|
533
533
|
const copilotHeaders = buildCopilotDynamicHeaders({
|
|
@@ -559,7 +559,7 @@ function createClient(model, context, apiKey, optionsHeaders, fetch, sessionId,
|
|
|
559
559
|
});
|
|
560
560
|
}
|
|
561
561
|
function buildParams(model, context, options, compat = getCompat(model), cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env), grammarToolInputProperties = createGrammarToolInputProperties(getDeclaredTools(context.messages), compat.supportsOpenAIGrammarTools)) {
|
|
562
|
-
const transcriptTools = resolveTranscriptTools(context.messages, compat.supportsMidConvoSystemMessages === true && compat.supportsMidConvoToolAdditions === true);
|
|
562
|
+
const transcriptTools = resolveTranscriptTools(context.messages, compat.supportsMidConvoSystemMessages === true && compat.supportsMidConvoToolAdditions === true ? "additions" : "none");
|
|
563
563
|
const messages = convertMessages(model, context, compat, {
|
|
564
564
|
grammarToolInputProperties
|
|
565
565
|
});
|
|
@@ -851,9 +851,10 @@ function convertMessages(model, context, compat, options) {
|
|
|
851
851
|
return id;
|
|
852
852
|
};
|
|
853
853
|
const transformedMessages = transformMessages(normalizedContext.messages, model, (id) => normalizeToolCallId(id));
|
|
854
|
-
const transcriptTools = resolveTranscriptTools(normalizedContext.messages, compat.supportsMidConvoSystemMessages === true && compat.supportsMidConvoToolAdditions === true);
|
|
854
|
+
const transcriptTools = resolveTranscriptTools(normalizedContext.messages, compat.supportsMidConvoSystemMessages === true && compat.supportsMidConvoToolAdditions === true ? "additions" : "none");
|
|
855
855
|
const instructionRole = model.reasoning && compat.supportsDeveloperRole ? "developer" : "system";
|
|
856
856
|
let lastRole = null;
|
|
857
|
+
let systemIndex = 0;
|
|
857
858
|
for (let i = 0;i < transformedMessages.length; i++) {
|
|
858
859
|
const msg = transformedMessages[i];
|
|
859
860
|
if (compat.requiresAssistantAfterToolResult && lastRole === "toolResult" && msg.role === "user") {
|
|
@@ -863,7 +864,7 @@ function convertMessages(model, context, compat, options) {
|
|
|
863
864
|
});
|
|
864
865
|
}
|
|
865
866
|
if (msg.role === "system") {
|
|
866
|
-
const addedTools =
|
|
867
|
+
const addedTools = systemIndex++ >= transcriptTools.foldedSystemMessages ? msg.toolsAdded ?? [] : [];
|
|
867
868
|
if (addedTools.length > 0) {
|
|
868
869
|
const kimiToolMessage = {
|
|
869
870
|
role: "system",
|
|
@@ -987,7 +988,7 @@ function convertMessages(model, context, compat, options) {
|
|
|
987
988
|
const textResult = toolMsg.content.filter(isTextContentBlock).map((block) => block.text).join(`
|
|
988
989
|
`);
|
|
989
990
|
const hasImages = toolMsg.content.some((c) => c.type === "image");
|
|
990
|
-
const hasText = textResult.length > 0;
|
|
991
|
+
const hasText = textResult.trim().length > 0;
|
|
991
992
|
const toolResultText = hasText ? textResult : hasImages ? "(see attached image)" : "(no tool output)";
|
|
992
993
|
const toolResultMsg = {
|
|
993
994
|
role: "tool",
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAI
|
|
3
3
|
} from "./cli-629desp2.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveTranscript,
|
|
6
|
+
getDeclaredTools,
|
|
7
|
+
resolveTranscriptTools,
|
|
8
|
+
clampThinkingLevel
|
|
9
|
+
} from "./cli-2nf3b08t.js";
|
|
4
10
|
import {
|
|
5
11
|
getProviderEnvValue
|
|
6
12
|
} from "./cli-445c1vp7.js";
|
|
@@ -10,19 +16,17 @@ import {
|
|
|
10
16
|
buildCopilotDynamicHeaders
|
|
11
17
|
} from "./cli-3dxc7bz7.js";
|
|
12
18
|
import {
|
|
19
|
+
getResponsesToolSupport,
|
|
13
20
|
convertResponsesMessages,
|
|
14
21
|
convertResponsesTools,
|
|
15
22
|
processResponsesStream
|
|
16
|
-
} from "./cli-
|
|
23
|
+
} from "./cli-5m84zd2k.js";
|
|
17
24
|
import {
|
|
18
25
|
clampOpenAIPromptCacheKey
|
|
19
26
|
} from "./cli-dxqypk0n.js";
|
|
20
27
|
import {
|
|
21
28
|
retryProviderRequest
|
|
22
29
|
} from "./cli-w6pm0v4s.js";
|
|
23
|
-
import {
|
|
24
|
-
getPiUserAgent
|
|
25
|
-
} from "./cli-yw91rnmw.js";
|
|
26
30
|
import {
|
|
27
31
|
normalizeProviderError,
|
|
28
32
|
formatProviderError
|
|
@@ -31,24 +35,22 @@ import {
|
|
|
31
35
|
createGrammarToolInputProperties,
|
|
32
36
|
resolveSamplingParams,
|
|
33
37
|
buildBaseOptions
|
|
34
|
-
} from "./cli-
|
|
38
|
+
} from "./cli-1f0gp9vz.js";
|
|
35
39
|
import {
|
|
36
40
|
headersToRecord
|
|
37
41
|
} from "./cli-hf1b007k.js";
|
|
38
|
-
import {
|
|
39
|
-
resolveTranscript,
|
|
40
|
-
getDeclaredTools,
|
|
41
|
-
resolveTranscriptTools,
|
|
42
|
-
clampThinkingLevel
|
|
43
|
-
} from "./cli-0bqteszy.js";
|
|
44
42
|
import {
|
|
45
43
|
AssistantMessageEventStream
|
|
46
44
|
} from "./cli-m6m1bvtp.js";
|
|
45
|
+
import {
|
|
46
|
+
getIdentityHeaders
|
|
47
|
+
} from "./cli-pkaqk57w.js";
|
|
47
48
|
|
|
48
49
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js
|
|
49
50
|
var OPENAI_TOOL_CALL_PROVIDERS = new Set(["openai", "openai-codex", "opencode"]);
|
|
50
51
|
var OPENAI_RESPONSES_MIN_OUTPUT_TOKENS = 16;
|
|
51
52
|
var CHATGPT_USAGE_URL = "https://chatgpt.com/settings/usage";
|
|
53
|
+
var CHATGPT_WORKSPACE_LIMIT_HINT = "You've reached your ChatGPT workspace's usage limit. Ask your workspace admin to increase it at admin.openai.com → Workspace → Usage limits.";
|
|
52
54
|
var CONFIGURATION_UPDATE_REQUEST_EFFORT = "medium";
|
|
53
55
|
function isChatGPTSignIn(model, apiKey) {
|
|
54
56
|
return model.provider === "openai" && model.baseUrl === "https://api.openai.com/v1" && apiKey !== undefined && !apiKey.startsWith("sk-");
|
|
@@ -144,7 +146,7 @@ var stream = (model, context, options) => {
|
|
|
144
146
|
const cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);
|
|
145
147
|
const cacheSessionId = cacheRetention === "none" ? undefined : options?.sessionId;
|
|
146
148
|
const grammarToolInputProperties = createGrammarToolInputProperties(getDeclaredTools(normalizedContext.messages), compat.supportsOpenAIGrammarTools);
|
|
147
|
-
const client = createClient(model, normalizedContext, apiKey, options?.headers, options?.fetch, cacheSessionId);
|
|
149
|
+
const client = createClient(model, normalizedContext, apiKey, options?.headers, options?.identity, options?.fetch, cacheSessionId);
|
|
148
150
|
let params = buildParams(model, normalizedContext, options, compat, grammarToolInputProperties, configurationUpdateEffort);
|
|
149
151
|
const nextParams = await options?.onPayload?.(params, model);
|
|
150
152
|
if (nextParams !== undefined) {
|
|
@@ -187,8 +189,15 @@ var stream = (model, context, options) => {
|
|
|
187
189
|
}
|
|
188
190
|
output.stopReason = options?.signal?.aborted ? "aborted" : "error";
|
|
189
191
|
const errorMessage = formatProviderError(normalizeProviderError(error), `${model.provider === "openai" ? "OpenAI" : model.provider} API error`);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
+
if (errorMessage.includes("subscription_sharing_usage_limit_exceeded")) {
|
|
193
|
+
output.errorMessage = `${errorMessage}
|
|
194
|
+
Check your ChatGPT usage: ${CHATGPT_USAGE_URL}`;
|
|
195
|
+
} else if (errorMessage.includes("subscription_sharing_workplace_individual_usage_limit_exceeded")) {
|
|
196
|
+
output.errorMessage = `${errorMessage}
|
|
197
|
+
${CHATGPT_WORKSPACE_LIMIT_HINT}`;
|
|
198
|
+
} else {
|
|
199
|
+
output.errorMessage = errorMessage;
|
|
200
|
+
}
|
|
192
201
|
stream.push({ type: "error", reason: output.stopReason, error: output });
|
|
193
202
|
stream.end();
|
|
194
203
|
}
|
|
@@ -208,9 +217,9 @@ var streamSimple = (model, context, options) => {
|
|
|
208
217
|
reasoningEffort
|
|
209
218
|
});
|
|
210
219
|
};
|
|
211
|
-
function createClient(model, context, apiKey, optionsHeaders, fetch, sessionId) {
|
|
220
|
+
function createClient(model, context, apiKey, optionsHeaders, identity, fetch, sessionId) {
|
|
212
221
|
const compat = getCompat(model);
|
|
213
|
-
const headers = {
|
|
222
|
+
const headers = { ...getIdentityHeaders(model, identity), ...model.headers };
|
|
214
223
|
if (model.provider === "github-copilot") {
|
|
215
224
|
const hasImages = hasCopilotVisionInput(context.messages);
|
|
216
225
|
const copilotHeaders = buildCopilotDynamicHeaders({
|
|
@@ -241,7 +250,7 @@ function createClient(model, context, apiKey, optionsHeaders, fetch, sessionId)
|
|
|
241
250
|
});
|
|
242
251
|
}
|
|
243
252
|
function buildParams(model, context, options, compat, grammarToolInputProperties, configurationUpdateEffort) {
|
|
244
|
-
const transcriptTools = resolveTranscriptTools(context.messages, compat
|
|
253
|
+
const transcriptTools = resolveTranscriptTools(context.messages, getResponsesToolSupport(compat));
|
|
245
254
|
const messages = convertResponsesMessages(model, context, OPENAI_TOOL_CALL_PROVIDERS, {
|
|
246
255
|
grammarToolInputProperties,
|
|
247
256
|
supportsMidConvoSystemMessages: compat.supportsMidConvoSystemMessages,
|
|
@@ -3,22 +3,24 @@ import {
|
|
|
3
3
|
applyOpenRouterBaseUrlOverride2,
|
|
4
4
|
buildOpenAICompatibleProviderBlock2,
|
|
5
5
|
OpencodeAdapter2
|
|
6
|
-
} from "./cli-
|
|
7
|
-
import"./cli-
|
|
6
|
+
} from "./cli-stxdrqs2.js";
|
|
7
|
+
import"./cli-e5bxnjps.js";
|
|
8
8
|
import"./cli-4bd1rck6.js";
|
|
9
9
|
import"./cli-jc1g9ndz.js";
|
|
10
10
|
import"./cli-a5ebc95n.js";
|
|
11
|
-
import"./cli-
|
|
11
|
+
import"./cli-mmhj8vd7.js";
|
|
12
12
|
import"./cli-0726awxw.js";
|
|
13
13
|
import"./cli-bn0rewsy.js";
|
|
14
14
|
import"./cli-3h26v7yj.js";
|
|
15
15
|
import"./cli-e8xyjvfc.js";
|
|
16
|
-
import"./cli-
|
|
17
|
-
import"./cli-
|
|
16
|
+
import"./cli-qqzmjxkf.js";
|
|
17
|
+
import"./cli-kxpfx2xr.js";
|
|
18
18
|
import"./cli-13p25grh.js";
|
|
19
19
|
import"./cli-0adyhvq2.js";
|
|
20
|
+
import"./cli-rycdaj0a.js";
|
|
20
21
|
import"./cli-445c1vp7.js";
|
|
21
22
|
import"./cli-kvzgak7c.js";
|
|
23
|
+
import"./cli-2nf3b08t.js";
|
|
22
24
|
export {
|
|
23
25
|
OpencodeAdapter2 as OpencodeAdapter,
|
|
24
26
|
applyOpenRouterBaseUrlOverride2 as applyOpenRouterBaseUrlOverride,
|