@desplega.ai/agent-swarm 1.172.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{acp-adapter-fpecx1g1.js → acp-adapter-sj2g0m84.js} +18 -17
- package/dist/{actions-pw87a1a8.js → actions-fegk44gr.js} +65 -35
- package/dist/{amp-adapter-8jem2bc0.js → amp-adapter-ad8ft89x.js} +8 -7
- package/dist/{anthropic-messages-8ee2f22q.js → anthropic-messages-r6czkjv1.js} +7 -7
- package/dist/{app-wmf0m843.js → app-kfvgbvzy.js} +19 -13
- package/dist/{assistant-emp1e108.js → assistant-z7zdy9ja.js} +65 -38
- package/dist/{boot-reembed-1de4f4aj.js → boot-reembed-5c2z0mbe.js} +11 -9
- package/dist/{boot-reembed-4ymn9atn.js → boot-reembed-j8xa181e.js} +11 -9
- package/dist/{boot-scrub-sweep-adhk1s8c.js → boot-scrub-sweep-hnkn3rgt.js} +12 -10
- package/dist/{boot-seeds-8q637aew.js → boot-seeds-kwjq4d2z.js} +15 -13
- package/dist/{claude-adapter-t26cv8a4.js → claude-adapter-9vmvpvgd.js} +20 -19
- package/dist/{claude-managed-adapter-xgxhqrt2.js → claude-managed-adapter-k9qae05j.js} +7 -5
- package/dist/{claude-managed-setup-bnmjarjc.js → claude-managed-setup-q54zx5q2.js} +6 -4
- package/dist/{claude-sdk-session-gsfsh662.js → claude-sdk-session-9jye6cxr.js} +12698 -11995
- package/dist/{cli-k46r9hmk.js → cli-03gedhng.js} +16 -14
- package/dist/{cli-kb4ehzx5.js → cli-1e4b6bzh.js} +7 -7
- package/dist/{cli-d603qf86.js → cli-29jc5q7w.js} +10 -8
- package/dist/cli-2m1ktfzz.js +17795 -0
- package/dist/{cli-8vs9trd4.js → cli-3dj8k4vy.js} +1 -1
- package/dist/{cli-zxm9p3x4.js → cli-3fbmmawm.js} +5 -5
- package/dist/{cli-gmdajfw5.js → cli-4jxm2qtz.js} +4987 -1708
- package/dist/{cli-tadfgd0t.js → cli-5hkm7whv.js} +33 -4
- package/dist/{cli-6jb2rf77.js → cli-5t4f29ez.js} +3 -3
- package/dist/{cli-7a0sde2x.js → cli-6cagzc96.js} +9 -0
- package/dist/cli-6cvfxs8r.js +47 -0
- package/dist/{cli-pj6x9qce.js → cli-6jyj59nb.js} +2 -2
- package/dist/{cli-388egyf6.js → cli-6razj6t4.js} +2 -2
- package/dist/{cli-qsztpfry.js → cli-74ahz61x.js} +2 -2
- package/dist/{cli-4nz8p1p5.js → cli-7x0g4sn1.js} +15474 -16082
- package/dist/{cli-yatxqynm.js → cli-9ha6hs2d.js} +1 -290
- package/dist/{cli-81r1wjyv.js → cli-9nfx44eh.js} +1 -1
- package/dist/cli-9traj3dn.js +638 -0
- package/dist/{cli-smcrrmhy.js → cli-agzebbd5.js} +9 -9
- package/dist/{cli-bf7485pm.js → cli-apx87jne.js} +2 -2
- package/dist/{cli-ztrv9y21.js → cli-bzszjf2p.js} +3689 -1081
- package/dist/{cli-c5km5znr.js → cli-c8r3kzzb.js} +1 -1
- package/dist/{cli-hsem16hb.js → cli-cgtksawx.js} +7 -4
- package/dist/{cli-db3m6zdt.js → cli-d2qr7aj4.js} +1 -1
- package/dist/{cli-1hgat6pa.js → cli-d5f9ed5c.js} +5 -5
- package/dist/cli-e3g5mbkz.js +776 -0
- package/dist/{cli-7jykv7ef.js → cli-e6mpjhed.js} +1 -1
- package/dist/{cli-j6kpj9az.js → cli-ee9gtz70.js} +1553 -68
- package/dist/{cli-e0a9sk00.js → cli-eejsgvm4.js} +4 -4
- package/dist/{cli-tgpfnm6r.js → cli-ef1hg1wv.js} +518 -59
- package/dist/cli-f527ce74.js +781 -0
- package/dist/{cli-ppy4nnnh.js → cli-f7kr7svz.js} +2 -2
- package/dist/cli-hjwmhcg1.js +10622 -0
- package/dist/{cli-2bw3w47j.js → cli-hnhtk6cj.js} +1 -1
- package/dist/{cli-ywm1azg9.js → cli-hnmhtzvh.js} +6 -4
- package/dist/{cli-4fnb6884.js → cli-hvqbtna4.js} +7 -1259
- package/dist/{cli-pstq9888.js → cli-j0pfptdp.js} +220 -103
- package/dist/cli-jta2eyzc.js +619 -0
- package/dist/{cli-esnpehf5.js → cli-k382tshb.js} +12 -13
- package/dist/cli-k3dp5tpf.js +263 -0
- package/dist/{cli-wd0hz6ah.js → cli-kbrt8gqa.js} +9 -91
- package/dist/cli-kceah1eh.js +92 -0
- package/dist/{cli-prrt9fa0.js → cli-ke896fcf.js} +10 -10
- package/dist/{cli-nv4zd0b9.js → cli-kt6zqg0e.js} +6 -6
- package/dist/{cli-g6t9texm.js → cli-m50t4309.js} +5 -18
- package/dist/cli-n2wq4j7m.js +6985 -0
- package/dist/{cli-c2pq2rjb.js → cli-n3hzg89b.js} +46 -15
- package/dist/{cli-tmhsxhb8.js → cli-n5vwg842.js} +23 -6
- package/dist/{cli-5rv1j9ga.js → cli-ne236afy.js} +53 -7
- package/dist/cli-p0sg24zp.js +16 -0
- package/dist/{cli-d161g69q.js → cli-p1x85d2t.js} +50 -2
- package/dist/{cli-7pz3b7x5.js → cli-przpmdgr.js} +25 -0
- package/dist/{cli-g4f5pj26.js → cli-q0ke1yww.js} +111 -25
- package/dist/{cli-e3pmyt39.js → cli-q50942rs.js} +1 -1
- package/dist/{cli-r44t9wqc.js → cli-r106725k.js} +2 -2
- package/dist/{cli-gj81e47t.js → cli-r2pnvj8g.js} +2 -2
- package/dist/{cli-r8smj8b8.js → cli-r62a35ea.js} +19 -3
- package/dist/{cli-cd0hv9nh.js → cli-ra0xzggj.js} +2 -2
- package/dist/cli-rhs9pz33.js +294 -0
- package/dist/{cli-nyhb1r6x.js → cli-s2sp957d.js} +52 -29
- package/dist/{cli-1x7da0de.js → cli-s4setq91.js} +8 -8
- package/dist/{cli-xczpdp9e.js → cli-se8w6wny.js} +6 -6
- package/dist/cli-skxvvpap.js +10140 -0
- package/dist/{cli-014vns2y.js → cli-stfs0k5s.js} +208 -525
- package/dist/{cli-0p3enk35.js → cli-tqaazemc.js} +9 -1
- package/dist/{cli-cf69s3ew.js → cli-tr4sxp68.js} +3 -3
- package/dist/{cli-8hzfb6xz.js → cli-tsde1hdr.js} +15 -15
- package/dist/{cli-cceskcvt.js → cli-txqb9s38.js} +8 -8
- package/dist/{cli-aspcaef3.js → cli-v1yb0rqb.js} +6 -6
- package/dist/{cli-j1pmc07z.js → cli-vatyhshy.js} +268 -40
- package/dist/{cli-04emfe2q.js → cli-vdach5a9.js} +5 -5
- package/dist/{cli-7avy4v8w.js → cli-w1q7h2r2.js} +5 -3
- package/dist/{cli-rcp5aqdw.js → cli-w7m81tb7.js} +1 -1
- package/dist/{cli-hwwvy36w.js → cli-wayw93nt.js} +3 -3
- package/dist/cli-wmgrkscj.js +23254 -0
- package/dist/{cli-gp1rtyvk.js → cli-z5jjpaxw.js} +29 -6
- package/dist/{cli-451ks6aw.js → cli-zkpks3r3.js} +1 -1
- package/dist/cli.js +32 -48
- package/dist/{codex-adapter-m4tgdysy.js → codex-adapter-y81sssk0.js} +16 -15
- package/dist/{codex-login-841kv5fk.js → codex-login-f2rcfpp9.js} +3 -2
- package/dist/{codex-session-runner-ymwzm6ea.js → codex-session-runner-8vx4j6a9.js} +16 -15
- package/dist/{commands-n0hshcvs.js → commands-kcpvpcrr.js} +21 -10
- package/dist/{controller-hq5ggpcp.js → controller-ywrmt6yd.js} +5 -4
- package/dist/{controllers-connect-y07cqcvy.js → controllers-connect-kwpvj3rf.js} +45 -38
- package/dist/{cursor-adapter-q8pgv5qa.js → cursor-adapter-cehv1qns.js} +7 -6
- package/dist/{db-hkqvrdcb.js → db-k8ankj20.js} +13 -11
- package/dist/{db-4w7tmt1g.js → db-ww5d7jq3.js} +29 -9
- package/dist/{devin-adapter-xgtj680j.js → devin-adapter-x1022qb1.js} +3 -2
- package/dist/{dispatcher-5sd69y14.js → dispatcher-e8gq5m68.js} +41 -34
- package/dist/{docker-f503k9p0.js → docker-ff6y1190.js} +3 -2
- package/dist/{dsh-adapter-2h8m4cab.js → dsh-adapter-3epjm3af.js} +7 -6
- package/dist/{e2b-66xra4az.js → e2b-8ygwhg0f.js} +4 -3
- package/dist/{e2b-xwhyj8cw.js → e2b-swhnpw3n.js} +4 -3
- package/dist/{event-bus-vjtv82gm.js → event-bus-6axnngdj.js} +3 -2
- package/dist/external-channel-h3359cwn.js +52 -0
- package/dist/{google-generative-ai-7pavrbv7.js → google-generative-ai-g8db7x0f.js} +5 -3
- package/dist/{google-vertex-3f1jk41f.js → google-vertex-r2692q0r.js} +5 -3
- package/dist/{grok-adapter-8m9yqzbq.js → grok-adapter-0d4x7gkx.js} +19 -18
- package/dist/{handlers-s20xr10r.js → handlers-an1gzv21.js} +44 -37
- package/dist/{heartbeat-3k31q4g2.js → heartbeat-6dakeb61.js} +46 -39
- package/dist/{hook-gdn6a2fn.js → hook-6v6cv6d5.js} +12 -24
- package/dist/{hook-ygwerrdh.js → hook-sa5xye4y.js} +13 -12
- package/dist/{http-jdteeg81.js → http-r7f3eky0.js} +1598 -279
- package/dist/index-52j1aja4.js +3465 -0
- package/dist/{index-e0snym4t.js → index-7ep4gzdk.js} +41 -34
- package/dist/index-9gw58n4k.js +193 -0
- package/dist/index-9j87mcm8.js +56305 -0
- package/dist/index-bsmcresk.js +79424 -0
- package/dist/index-mh85qhec.js +475 -0
- package/dist/{index-vm3bm9t7.js → index-rmpw9a8q.js} +41 -34
- package/dist/{index-6ksewd5y.js → index-s2wxgzr0.js} +1015 -732
- package/dist/{index-tsszt7g9.js → index-v1v6n7hg.js} +46 -39
- package/dist/index-we27kd31.js +12810 -0
- package/dist/{index-ffqzqgwb.js → index-zk96aq1k.js} +11 -9
- package/dist/{keepalive-jekc896t.js → keepalive-be9vwy5h.js} +13 -11
- package/dist/{lead-4k9s9szx.js → lead-0861cwrf.js} +64 -57
- package/dist/{maintenance-shazch4n.js → maintenance-mzzgc8bn.js} +11 -9
- package/dist/node-c9we95xf.js +1 -1
- package/dist/{node-fkajaq96.js → node-mn1zs7an.js} +2 -1
- package/dist/{oauth-refresh-sweep-5gb36kn8.js → oauth-refresh-sweep-cpdnfwdj.js} +12 -10
- package/dist/{onboard-ydrbnvww.js → onboard-fh8qs4r3.js} +11 -3
- package/dist/{opencode-adapter-5zh0he20.js → opencode-adapter-nm42wwj8.js} +19 -14
- package/dist/{otel-impl-6pf5cv86.js → otel-impl-x6c1c9g4.js} +248 -869
- package/dist/{pi-mono-adapter-ef9wwx9m.js → pi-mono-adapter-9n2ya240.js} +245 -107
- package/dist/{pricing-refresh-s52nsa5q.js → pricing-refresh-qb0rv0ap.js} +13 -11
- package/dist/{rbac-roles-aq3msh4e.js → rbac-roles-1gzdwbh1.js} +12 -10
- package/dist/{rbac-roles-q5gb5e8v.js → rbac-roles-3mraey52.js} +13 -11
- package/dist/{render-v2-pd1rg54q.js → render-v2-agpa45zz.js} +19 -13
- package/dist/{resume-gw4a2c6v.js → resume-x0ydy9s9.js} +27 -21
- package/dist/{runtime-qfry88v2.js → runtime-sa2vr16g.js} +2 -2
- package/dist/{setup-jda1ksdh.js → setup-as9ga0d6.js} +2 -2
- package/dist/{virtual-modules-b3ga2m65.js → virtual-modules-9gkxqrap.js} +7 -6
- package/dist/{work-objects-tb7ycye8.js → work-objects-y5g1y7ev.js} +49 -37
- package/dist/{worker-njjccz5d.js → worker-860c3e38.js} +64 -57
- package/dist/{x-qfmygqqv.js → x-m477fr0h.js} +3 -2
- package/openapi.json +951 -356
- package/package.json +12 -13
- package/src/apps/catalog.generated.json +1309 -53
- package/src/apps/page-validator.ts +93 -31
- package/src/azure-devops/api.ts +94 -18
- package/src/azure-devops/auth.ts +32 -0
- package/src/azure-devops/boards-sync.ts +708 -0
- package/src/azure-devops/handlers.ts +52 -8
- package/src/azure-devops/html.ts +26 -0
- package/src/azure-devops/index.ts +15 -0
- package/src/azure-devops/templates.ts +86 -0
- package/src/azure-devops/types.ts +65 -1
- package/src/be/config-refs.ts +60 -0
- package/src/be/db/page-versions.ts +15 -0
- package/src/be/db/runtime.ts +35 -8
- package/src/be/db/skill-name-resolution.ts +36 -0
- package/src/be/db/tasks/read.ts +230 -0
- package/src/be/db/tasks/write.ts +7 -0
- package/src/be/db.ts +74 -13
- package/src/be/migrations/213_script_connections_sql.sql +79 -0
- package/src/be/migrations/215_swarm_config_export_to_env.sql +34 -0
- package/src/be/migrations/216_task_resolved_effort.sql +5 -0
- package/src/be/migrations/217_chat_sdk_state.sql +104 -0
- package/src/be/model-catalog-store.ts +5 -1
- package/src/be/model-tier-resolution.ts +12 -1
- package/src/be/model-validation.ts +5 -2
- package/src/be/models-catalog.ts +26 -1
- package/src/be/modelsdev-cache.json +198 -63
- package/src/be/modelsdev-cache.ts +9 -1
- package/src/be/script-connections.ts +47 -8
- package/src/be/script-credential-broker.ts +39 -2
- package/src/be/scripts/run-saved.ts +1 -0
- package/src/be/scripts/typecheck.ts +10 -8
- package/src/be/seed/runner.ts +13 -1
- package/src/be/seed/state-db.ts +5 -0
- package/src/be/seed/types.ts +6 -0
- package/src/be/seed-pricing.ts +19 -2
- package/src/be/seed-scripts/catalog/ops-catalog-audit.inline.ts +1 -1
- package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +1 -1
- package/src/be/seed-skills/bundled-files.generated.json +10 -18
- package/src/be/seed-skills/index.ts +107 -3
- package/src/be/sql-connections.ts +118 -0
- package/src/be/swarm-config-guard.ts +53 -0
- package/src/cli.tsx +0 -16
- package/src/commands/onboard/non-interactive.ts +4 -2
- package/src/commands/profile-sync.ts +5 -3
- package/src/commands/provider-credentials.ts +52 -6
- package/src/commands/runner.ts +196 -56
- package/src/e2b/env.ts +5 -0
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/contract.ts +45 -0
- package/src/extensions/dispatcher.ts +7 -0
- package/src/extensions/post-bridge.ts +40 -0
- package/src/github/handlers.ts +11 -4
- package/src/heartbeat/templates.ts +8 -5
- package/src/hooks/hook.ts +0 -26
- package/src/http/all-routes.ts +0 -1
- package/src/http/config.ts +36 -17
- package/src/http/core.ts +4 -0
- package/src/http/index.ts +14 -2
- package/src/http/integrations.ts +88 -1
- package/src/http/mcp-oauth.ts +6 -13
- package/src/http/mcp.ts +15 -5
- package/src/http/page-proxy.ts +2 -4
- package/src/http/pages-public.ts +6 -5
- package/src/http/pages.ts +5 -14
- package/src/http/poll.ts +28 -68
- package/src/http/requested-by.ts +54 -0
- package/src/http/route-def.ts +7 -6
- package/src/http/script-connection-proxy.ts +51 -4
- package/src/http/script-connections.ts +5 -2
- package/src/http/scripts.ts +1 -0
- package/src/http/session-cost-recompute.ts +12 -2
- package/src/http/session-data.ts +4 -0
- package/src/http/stats.ts +1 -30
- package/src/http/tasks.ts +61 -5
- package/src/http/utils.ts +14 -0
- package/src/http/webhooks.ts +183 -2
- package/src/http/x.ts +1 -0
- package/src/integrations/chat-sdk/adapters.ts +129 -0
- package/src/integrations/chat-sdk/attachments.ts +232 -0
- package/src/integrations/chat-sdk/background.ts +36 -0
- package/src/integrations/chat-sdk/commands.ts +194 -0
- package/src/integrations/chat-sdk/config.ts +198 -0
- package/src/integrations/chat-sdk/discord-api.ts +63 -0
- package/src/integrations/chat-sdk/discord-gateway.ts +185 -0
- package/src/integrations/chat-sdk/handlers.ts +28 -0
- package/src/integrations/chat-sdk/inbound.ts +426 -0
- package/src/integrations/chat-sdk/limits.ts +48 -0
- package/src/integrations/chat-sdk/logger.ts +81 -0
- package/src/integrations/chat-sdk/outbound.ts +123 -0
- package/src/integrations/chat-sdk/relay.ts +172 -0
- package/src/integrations/chat-sdk/router.ts +169 -0
- package/src/integrations/chat-sdk/runtime.ts +351 -0
- package/src/integrations/chat-sdk/schema.ts +245 -0
- package/src/integrations/chat-sdk/state.ts +243 -0
- package/src/integrations/chat-sdk/status.ts +244 -0
- package/src/integrations/chat-sdk/steering.ts +58 -0
- package/src/integrations/chat-sdk/teams-origin.ts +77 -0
- package/src/integrations/chat-sdk/telegram-api.ts +56 -0
- package/src/integrations/chat-sdk/templates.ts +16 -0
- package/src/integrations/chat-sdk/test-hooks.ts +37 -0
- package/src/integrations/chat-sdk/thread-buffer.ts +100 -0
- package/src/integrations/chat-sdk/typing.ts +65 -0
- package/src/jira/adf.ts +3 -1
- package/src/kv-reserved-namespaces.ts +2 -0
- package/src/oauth/mcp-wrapper.ts +10 -6
- package/src/otel-impl.ts +2 -1
- package/src/pages/version.ts +4 -5
- package/src/prompts/base-prompt.ts +111 -45
- package/src/providers/acp-target-catalog.ts +6 -0
- package/src/providers/acp-targets.ts +56 -3
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/claude-adapter.ts +27 -2
- package/src/providers/claude-flag-settings.ts +133 -0
- package/src/providers/claude-managed-adapter.ts +1 -1
- package/src/providers/claude-sdk-session.ts +7 -0
- package/src/providers/claude-session-events.ts +6 -1
- package/src/providers/dsh-adapter.ts +1 -1
- package/src/providers/opencode-adapter.ts +268 -37
- package/src/providers/opencode-billing.ts +86 -0
- package/src/providers/opencode-swarm-plugin.ts +51 -0
- package/src/providers/pi-mono-adapter.ts +398 -153
- package/src/providers/pricing-sources.md +37 -3
- package/src/providers/reasoning-effort.ts +27 -0
- package/src/providers/types.ts +11 -2
- package/src/rbac/legacy-policy.ts +8 -2
- package/src/rbac/permissions.ts +21 -0
- package/src/scheduler/scheduler.ts +4 -2
- package/src/scripts-runtime/api-client.ts +15 -1
- package/src/scripts-runtime/api-types.ts +9 -1
- package/src/scripts-runtime/ctx.ts +1 -1
- package/src/scripts-runtime/loader.ts +19 -7
- package/src/scripts-runtime/mcp-client.ts +30 -19
- package/src/scripts-runtime/sdk-allowlist.ts +8 -6
- package/src/scripts-runtime/swarm-sdk.ts +0 -11
- package/src/scripts-runtime/types/stdlib.d.ts +27 -15
- package/src/scripts-runtime/types/swarm-extension.d.ts +63 -1
- package/src/scripts-runtime/types/swarm-sdk.d.ts +27 -15
- package/src/server.ts +52 -18
- package/src/slack/actions.ts +29 -1
- package/src/slack/app.ts +14 -2
- package/src/slack/assistant.ts +36 -2
- package/src/slack/channel-join.ts +3 -16
- package/src/slack/commands.ts +9 -1
- package/src/slack/event-dedup.ts +1 -1
- package/src/slack/external-channel-egress.ts +113 -0
- package/src/slack/external-channel.ts +309 -0
- package/src/slack/handlers.ts +61 -0
- package/src/slack/render-v2.ts +40 -47
- package/src/slack/work-objects.ts +5 -0
- package/src/tasks/additive-buffer.ts +4 -2
- package/src/tasks/context-key.ts +94 -2
- package/src/tasks/model-pin.ts +67 -0
- package/src/tasks/worker-follow-up.ts +4 -31
- package/src/telemetry.ts +2 -1
- package/src/tests/acp-adapter.test.ts +42 -0
- package/src/tests/api-drain-worker-e2e.test.ts +1 -6
- package/src/tests/apps-catalog-feedback.test.ts +310 -0
- package/src/tests/apps-catalog-inputs.test.ts +70 -0
- package/src/tests/apps-catalog-table.test.ts +113 -0
- package/src/tests/azure-devops-boards-sync.test.ts +584 -0
- package/src/tests/azure-devops-html.test.ts +13 -0
- package/src/tests/azure-devops-webhook-malformed.test.ts +4 -0
- package/src/tests/base-prompt.test.ts +58 -54
- package/src/tests/chat-sdk-commands.test.ts +191 -0
- package/src/tests/chat-sdk-config.test.ts +334 -0
- package/src/tests/chat-sdk-discord-api.test.ts +68 -0
- package/src/tests/chat-sdk-discord-gateway.test.ts +252 -0
- package/src/tests/chat-sdk-discord-webhook.test.ts +126 -0
- package/src/tests/chat-sdk-fields-sync.test.ts +50 -0
- package/src/tests/chat-sdk-harness.ts +146 -0
- package/src/tests/chat-sdk-inbound.test.ts +363 -0
- package/src/tests/chat-sdk-relay.test.ts +470 -0
- package/src/tests/chat-sdk-reload.test.ts +128 -0
- package/src/tests/chat-sdk-shutdown.test.ts +220 -0
- package/src/tests/chat-sdk-slack.test.ts +268 -0
- package/src/tests/chat-sdk-state.test.ts +163 -0
- package/src/tests/chat-sdk-status-route.test.ts +382 -0
- package/src/tests/chat-sdk-teams.test.ts +277 -0
- package/src/tests/chat-sdk-tools.test.ts +520 -0
- package/src/tests/chat-sdk-typing.test.ts +120 -0
- package/src/tests/chat-sdk-webhook-telegram.test.ts +200 -0
- package/src/tests/claude-adapter-binary.test.ts +144 -0
- package/src/tests/claude-flag-settings.test.ts +114 -0
- package/src/tests/claude-managed-adapter.test.ts +1 -1
- package/src/tests/claude-sdk-lifecycle.test.ts +148 -1
- package/src/tests/claude-sdk-process.fixture.ts +7 -0
- package/src/tests/claude-thinking-tokens.test.ts +57 -0
- package/src/tests/claude-worker-parity.test.ts +2 -7
- package/src/tests/config-env-export-chat-sdk.test.ts +11 -0
- package/src/tests/config-refs.test.ts +66 -0
- package/src/tests/context-key.test.ts +51 -0
- package/src/tests/cors-allowlist.test.ts +25 -0
- package/src/tests/create-page-tool.test.ts +18 -0
- package/src/tests/credential-check.test.ts +139 -0
- package/src/tests/credentials.test.ts +21 -0
- package/src/tests/db-runtime.test.ts +61 -0
- package/src/tests/db-task-read-contract.test.ts +20 -0
- package/src/tests/db-task-write-contract.test.ts +10 -0
- package/src/tests/deferred-task-wake.test.ts +52 -4
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/dsh-adapter.test.ts +1 -1
- package/src/tests/enabled-capabilities.test.ts +20 -0
- package/src/tests/entrypoint-api-readiness.test.ts +14 -8
- package/src/tests/entrypoint-config-env-export.test.ts +5 -2
- package/src/tests/entrypoint-export-to-env.test.ts +78 -0
- package/src/tests/explicit-model-validation.test.ts +105 -1
- package/src/tests/extensions-example-route-chat-channel.test.ts +154 -0
- package/src/tests/extensions-post-bridge.test.ts +51 -0
- package/src/tests/fetch-resolved-env.test.ts +128 -0
- package/src/tests/fixtures/azure-boards/workitem.commented.json +89 -0
- package/src/tests/fixtures/azure-boards/workitem.created.json +81 -0
- package/src/tests/fixtures/azure-boards/workitem.deleted.json +70 -0
- package/src/tests/fixtures/azure-boards/workitem.restored.json +82 -0
- package/src/tests/fixtures/azure-boards/workitem.updated.json +130 -0
- package/src/tests/fixtures/catalog-feedback-definition.json.txt +860 -0
- package/src/tests/fixtures/catalog-inputs-definition.json.txt +910 -0
- package/src/tests/fixtures/catalog-table-definition.json.txt +468 -0
- package/src/tests/fixtures/chat-sdk/telegram-private-text.json +10 -0
- package/src/tests/fixtures/extensions/route-chat-channel-to-agent/hooks.ts +27 -0
- package/src/tests/fixtures/extensions/route-chat-channel-to-agent/manifest.json +9 -0
- package/src/tests/fixtures/openai-compatible-registry-extension.child.ts +146 -0
- package/src/tests/fixtures/runner-identity-refresh.ts +3 -0
- package/src/tests/fixtures/runner-legacy-resume-prompt.ts +122 -0
- package/src/tests/github-handlers.test.ts +35 -0
- package/src/tests/harness-provider-resolution.test.ts +12 -0
- package/src/tests/heartbeat-checklist.test.ts +3 -2
- package/src/tests/hook-runtime-close.test.ts +0 -2
- package/src/tests/http-api-integration.test.ts +0 -25
- package/src/tests/migration-046-budgets.test.ts +17 -16
- package/src/tests/migration-217-chat-sdk-state.test.ts +113 -0
- package/src/tests/model-tier-resolution.test.ts +93 -0
- package/src/tests/models-catalog.test.ts +42 -1
- package/src/tests/node-env-runtime.test.ts +98 -0
- package/src/tests/openai-compatible-providers.test.ts +134 -0
- package/src/tests/openai-compatible-registry-extension.test.ts +42 -0
- package/src/tests/opencode-adapter.test.ts +348 -3
- package/src/tests/opencode-billing.test.ts +28 -0
- package/src/tests/opencode-helmcode-sdk.test.ts +201 -0
- package/src/tests/opencode-shell-env.test.ts +145 -0
- package/src/tests/openrouter-base-url.test.ts +101 -151
- package/src/tests/page-proxy.test.ts +1 -1
- package/src/tests/pages-browser-sdk.test.ts +76 -0
- package/src/tests/pages-feedback.test.ts +1 -1
- package/src/tests/paused-tasks-requested-by.test.ts +102 -0
- package/src/tests/pi-custom-provider-fake-server.test.ts +442 -0
- package/src/tests/pi-mono-adapter.test.ts +385 -5
- package/src/tests/pi-shell-env.test.ts +170 -0
- package/src/tests/prompt-template-remaining.test.ts +35 -0
- package/src/tests/rbac-engine.test.ts +11 -3
- package/src/tests/runner-exit-after-tasks.test.ts +0 -4
- package/src/tests/runner-identity-refresh.test.ts +3 -0
- package/src/tests/runner-legacy-resume-prompt.test.ts +64 -0
- package/src/tests/script-connections-sql.test.ts +675 -0
- package/src/tests/script-connections.test.ts +7 -1
- package/src/tests/scripts-http.test.ts +201 -1
- package/src/tests/scripts-only-gating.test.ts +2 -3
- package/src/tests/scripts-runtime.test.ts +58 -40
- package/src/tests/secret-scrubber.test.ts +86 -0
- package/src/tests/seed-skills-bundled-files.test.ts +45 -53
- package/src/tests/seed-skills-retire.test.ts +182 -0
- package/src/tests/send-task-requester-gate.test.ts +58 -0
- package/src/tests/session-cost-recompute-unit.test.ts +94 -0
- package/src/tests/skill-get-name-resolution.test.ts +137 -0
- package/src/tests/slack-channel-join.test.ts +4 -1
- package/src/tests/slack-external-channel-config.test.ts +65 -0
- package/src/tests/slack-external-channel-egress.test.ts +237 -0
- package/src/tests/slack-external-channel-guard.test.ts +280 -0
- package/src/tests/slack-external-channel-tools.test.ts +173 -0
- package/src/tests/slack-external-channel.test.ts +370 -0
- package/src/tests/slack-render-v2.test.ts +86 -10
- package/src/tests/sonnet-5-5-registry.test.ts +9 -1
- package/src/tests/spec-base-url.test.ts +16 -1
- package/src/tests/swarm-config-export-to-env.test.ts +267 -0
- package/src/tests/swarm-config-reserved-keys.test.ts +16 -0
- package/src/tests/swarm-diff.test.ts +1 -1
- package/src/tests/task-model-effort-rerun.test.ts +164 -0
- package/src/tests/task-session-prompts.test.ts +132 -0
- package/src/tests/task-tool-manifest.test.ts +14 -0
- package/src/tests/task-tools-ctx.test.ts +2 -0
- package/src/tests/tool-annotations.test.ts +6 -6
- package/src/tests/ui-logs-parser.test.ts +43 -0
- package/src/tests/used-by-route.test.ts +6 -0
- package/src/tests/vendored-openapi.test.ts +16 -1
- package/src/tests/vercel-ai-gateway.test.ts +149 -0
- package/src/tests/workflow-swarm-script.test.ts +38 -0
- package/src/tests/workflow-wait-filter.test.ts +5 -3
- package/src/tools/chat-access.ts +41 -0
- package/src/tools/chat-open-dm.ts +59 -0
- package/src/tools/chat-post.ts +74 -0
- package/src/tools/chat-read-thread.ts +100 -0
- package/src/tools/chat-reply.ts +75 -0
- package/src/tools/create-page.ts +3 -13
- package/src/tools/defer-task.ts +17 -0
- package/src/tools/model-catalog/index.ts +2 -1
- package/src/tools/register-chat-channel.ts +139 -0
- package/src/tools/send-task.ts +24 -0
- package/src/tools/skills/skill-get.ts +17 -9
- package/src/tools/slack-post.ts +6 -0
- package/src/tools/slack-read.ts +8 -0
- package/src/tools/slack-reply.ts +6 -0
- package/src/tools/slack-start-thread.ts +6 -0
- package/src/tools/slack-update.ts +6 -0
- package/src/tools/slack-upload-file.ts +6 -0
- package/src/tools/swarm-config/get-config.ts +2 -1
- package/src/tools/swarm-config/list-config.ts +2 -1
- package/src/tools/swarm-config/set-config.ts +16 -3
- package/src/tools/tool-config.ts +8 -6
- package/src/types.ts +12 -2
- package/src/utils/config-env-export.ts +74 -0
- package/src/utils/credentials.test.ts +92 -0
- package/src/utils/credentials.ts +52 -4
- package/src/utils/harness-provider.ts +15 -6
- package/src/utils/node-env.ts +24 -0
- package/src/utils/runtime-model-catalog.ts +11 -1
- package/src/utils/secret-scrubber.ts +71 -2
- package/src/utils/task-tool-manifest.ts +19 -2
- package/src/workflows/executors/swarm-script.ts +1 -0
- package/templates/skills/agent-browser/SKILL.md +1 -1
- package/templates/skills/agent-browser/content.md +1 -1
- package/templates/skills/apps/SKILL.md +749 -0
- package/templates/skills/apps/content.md +60 -22
- package/templates/skills/chat-sdk/config.json +14 -0
- package/templates/skills/chat-sdk/content.md +84 -0
- package/templates/skills/composio-gmail/content.md +7 -0
- package/templates/skills/composio-google-docs/content.md +1 -1
- package/templates/skills/email-domain-health/config.json +14 -0
- package/templates/skills/email-domain-health/content.md +131 -0
- package/templates/skills/kv-storage/content.md +2 -2
- package/templates/skills/pages/content.md +8 -10
- package/templates/skills/qa-loom/config.json +14 -0
- package/templates/skills/qa-loom/content.md +187 -0
- package/templates/skills/qa-loom/files/build-loom.mjs +221 -0
- package/templates/skills/qa-loom/files/run-qa.sh +57 -0
- package/templates/skills/slack-interaction/content.md +4 -0
- package/templates/skills/swarm-extensions/content.md +2 -0
- package/templates/skills/swarm-scripts/SKILL.md +4 -2
- package/templates/skills/swarm-scripts/config.json +1 -1
- package/templates/skills/swarm-scripts/content.md +4 -2
- package/templates/skills/workflow-iterate/content.md +38 -0
- package/dist/artifact-eczsknc3.js +0 -3843
- package/dist/cli-9xsmdpdt.js +0 -56377
- package/dist/cli-bd957dgb.js +0 -153
- package/dist/cli-q51yprfq.js +0 -1104
- package/dist/cli-t1ze64h3.js +0 -811
- package/dist/index-9ch1n761.js +0 -1102
- package/src/artifact-sdk/index.ts +0 -2
- package/src/artifact-sdk/localtunnel.d.ts +0 -20
- package/src/artifact-sdk/port.ts +0 -12
- package/src/artifact-sdk/server.ts +0 -183
- package/src/artifact-sdk/tunnel.ts +0 -19
- package/src/commands/artifact.ts +0 -249
- package/src/http/ecosystem.ts +0 -77
- package/src/tests/artifact-commands.test.ts +0 -92
- package/src/tests/artifact-sdk.test.ts +0 -793
- package/src/tests/register-service-security.test.ts +0 -194
- package/src/tools/list-services.ts +0 -107
- package/src/tools/register-service.ts +0 -177
- package/src/tools/unregister-service.ts +0 -73
- package/src/tools/update-service-status.ts +0 -96
- package/templates/skills/artifacts/config.json +0 -14
- package/templates/skills/artifacts/content.md +0 -344
- package/templates/skills/artifacts/files/examples/approval-flow.ts +0 -34
- package/templates/skills/artifacts/files/examples/hono-dashboard.ts +0 -31
- package/templates/skills/artifacts/files/examples/multi-artifact.ts +0 -20
- package/templates/skills/artifacts/files/examples/static-report.sh +0 -17
- package/dist/{azure-openai-responses-ap1gwxgr.js → azure-openai-responses-ygfreq4t.js} +5 -5
- package/dist/{cli-5rqrj7q0.js → cli-pw7ebjdt.js} +0 -0
- package/dist/{openai-codex-responses-33qhkkdy.js → openai-codex-responses-3bk0grnr.js} +4 -4
- package/dist/{openai-completions-s88xm3ns.js → openai-completions-5d4jpakc.js} +9 -9
- package/dist/{openai-responses-7xd2f2e2.js → openai-responses-krb51f59.js} +5 -5
- package/dist/{pi-messages-xszk613n.js → pi-messages-x9gzynm1.js} +3 -3
- /package/src/{artifact-sdk → pages}/browser-sdk.ts +0 -0
- /package/src/{artifact-sdk → pages}/feedback-overlay.ts +0 -0
|
@@ -1,42 +1,45 @@
|
|
|
1
1
|
import {
|
|
2
2
|
piPromptSkillName
|
|
3
3
|
} from "./cli-ge593j7e.js";
|
|
4
|
+
import {
|
|
5
|
+
createSwarmHooksExtension
|
|
6
|
+
} from "./cli-apx87jne.js";
|
|
4
7
|
import {
|
|
5
8
|
readPkgVersion
|
|
6
9
|
} from "./cli-vv0qtfpx.js";
|
|
7
10
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./cli-
|
|
11
|
+
fetchInstalledMcpServers
|
|
12
|
+
} from "./cli-tng3131n.js";
|
|
13
|
+
import"./cli-tr4sxp68.js";
|
|
14
|
+
import"./cli-hp1n6zq3.js";
|
|
10
15
|
import {
|
|
11
16
|
DefaultResourceLoader,
|
|
12
17
|
ModelRuntime,
|
|
13
18
|
SessionManager,
|
|
14
19
|
SettingsManager,
|
|
15
20
|
createAgentSession,
|
|
21
|
+
createBashToolDefinition,
|
|
16
22
|
createCodemodeExtension,
|
|
17
23
|
createMcpExtension,
|
|
18
|
-
createToolSearchExtension
|
|
19
|
-
|
|
24
|
+
createToolSearchExtension,
|
|
25
|
+
defineTool
|
|
26
|
+
} from "./cli-7x0g4sn1.js";
|
|
27
|
+
import"./cli-c8r3kzzb.js";
|
|
28
|
+
import"./cli-r106725k.js";
|
|
29
|
+
import"./cli-pxeeyc53.js";
|
|
20
30
|
import"./cli-bt8k5h3s.js";
|
|
21
|
-
import"./cli-c5km5znr.js";
|
|
22
|
-
import"./cli-r44t9wqc.js";
|
|
23
31
|
import"./cli-ev91t6xp.js";
|
|
24
|
-
import"./cli-pxeeyc53.js";
|
|
25
32
|
import"./cli-qybkr9n3.js";
|
|
26
33
|
import"./cli-vb8g5x02.js";
|
|
27
34
|
import {
|
|
28
35
|
getAgentDir,
|
|
29
36
|
setEmbeddedQuickJSWasmPath
|
|
30
37
|
} from "./cli-hd27d2md.js";
|
|
31
|
-
import
|
|
32
|
-
fetchInstalledMcpServers
|
|
33
|
-
} from "./cli-tng3131n.js";
|
|
34
|
-
import"./cli-cf69s3ew.js";
|
|
35
|
-
import"./cli-hp1n6zq3.js";
|
|
38
|
+
import"./cli-0m7wct0d.js";
|
|
36
39
|
import {
|
|
37
40
|
applyReasoningEffort
|
|
38
|
-
} from "./cli-
|
|
39
|
-
import"./cli-
|
|
41
|
+
} from "./cli-n5vwg842.js";
|
|
42
|
+
import"./cli-jta2eyzc.js";
|
|
40
43
|
import"./cli-7nxes1hs.js";
|
|
41
44
|
import"./cli-104zsxba.js";
|
|
42
45
|
import {
|
|
@@ -45,16 +48,16 @@ import {
|
|
|
45
48
|
import {
|
|
46
49
|
McpHttpClient
|
|
47
50
|
} from "./cli-epan13p1.js";
|
|
48
|
-
import"./cli-
|
|
49
|
-
import"./cli-
|
|
51
|
+
import"./cli-se8w6wny.js";
|
|
52
|
+
import"./cli-e6mpjhed.js";
|
|
53
|
+
import"./cli-2x0e561b.js";
|
|
50
54
|
import {
|
|
51
55
|
getBuiltinModel,
|
|
52
56
|
getBuiltinModels
|
|
53
|
-
} from "./cli-
|
|
57
|
+
} from "./cli-txqb9s38.js";
|
|
54
58
|
import {
|
|
55
59
|
exports_typebox
|
|
56
60
|
} from "./cli-h6vtvt5c.js";
|
|
57
|
-
import"./cli-2x0e561b.js";
|
|
58
61
|
import"./cli-bsakbbkm.js";
|
|
59
62
|
import"./cli-zxg80zs9.js";
|
|
60
63
|
import"./cli-ydt3zkwv.js";
|
|
@@ -62,14 +65,14 @@ import"./cli-3er6gcsn.js";
|
|
|
62
65
|
import"./cli-0xqde53b.js";
|
|
63
66
|
import"./cli-pqetb83f.js";
|
|
64
67
|
import"./cli-61625k3x.js";
|
|
65
|
-
import"./cli-btbzvq95.js";
|
|
66
68
|
import"./cli-1m2e086m.js";
|
|
69
|
+
import"./cli-btbzvq95.js";
|
|
67
70
|
import"./cli-p7z6q2m6.js";
|
|
68
71
|
import"./cli-wnb9b2g3.js";
|
|
69
72
|
import {
|
|
70
73
|
CORE_TOOLS,
|
|
71
74
|
init_tool_config
|
|
72
|
-
} from "./cli-
|
|
75
|
+
} from "./cli-hnmhtzvh.js";
|
|
73
76
|
import {
|
|
74
77
|
init_templates
|
|
75
78
|
} from "./cli-mvzyxwg3.js";
|
|
@@ -84,7 +87,10 @@ import {
|
|
|
84
87
|
getOpenRouterBaseUrl,
|
|
85
88
|
init_openrouter_base_url
|
|
86
89
|
} from "./cli-a35hzdve.js";
|
|
87
|
-
import
|
|
90
|
+
import {
|
|
91
|
+
init_runtime_model_catalog,
|
|
92
|
+
snapshotCatalogRows
|
|
93
|
+
} from "./cli-stfs0k5s.js";
|
|
88
94
|
import"./cli-sd0mxa3c.js";
|
|
89
95
|
import"./cli-w5e1d1vv.js";
|
|
90
96
|
import {
|
|
@@ -93,15 +99,39 @@ import {
|
|
|
93
99
|
} from "./cli-ej6gbxfb.js";
|
|
94
100
|
import {
|
|
95
101
|
init_secret_scrubber,
|
|
102
|
+
registerEnvSecrets,
|
|
103
|
+
scrubObject,
|
|
96
104
|
scrubSecrets
|
|
97
|
-
} from "./cli-
|
|
105
|
+
} from "./cli-p1x85d2t.js";
|
|
106
|
+
import {
|
|
107
|
+
ignoredBaseUrlVar,
|
|
108
|
+
init_src,
|
|
109
|
+
openAICompatibleKeyVars,
|
|
110
|
+
openAICompatibleProvider,
|
|
111
|
+
openAICompatibleProviders,
|
|
112
|
+
providerBaseUrl,
|
|
113
|
+
providerForModel,
|
|
114
|
+
providerHarnessModels,
|
|
115
|
+
providerKeyFromEnv,
|
|
116
|
+
providerKeyVars
|
|
117
|
+
} from "./cli-e3g5mbkz.js";
|
|
98
118
|
import {
|
|
99
119
|
__require,
|
|
100
120
|
__toESM
|
|
101
121
|
} from "./cli-bc05qbss.js";
|
|
102
122
|
|
|
103
123
|
// src/providers/pi-mono-adapter.ts
|
|
104
|
-
|
|
124
|
+
init_src();
|
|
125
|
+
import {
|
|
126
|
+
existsSync,
|
|
127
|
+
lstatSync,
|
|
128
|
+
readFileSync,
|
|
129
|
+
symlinkSync,
|
|
130
|
+
unlinkSync,
|
|
131
|
+
writeFileSync
|
|
132
|
+
} from "node:fs";
|
|
133
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
134
|
+
import { tmpdir } from "node:os";
|
|
105
135
|
import { join } from "node:path";
|
|
106
136
|
|
|
107
137
|
// node_modules/quickjs-wasi/quickjs.wasm
|
|
@@ -170,6 +200,7 @@ function classifyAwsSdkError(text) {
|
|
|
170
200
|
// src/providers/pi-mono-adapter.ts
|
|
171
201
|
init_env_flag();
|
|
172
202
|
init_openrouter_base_url();
|
|
203
|
+
init_runtime_model_catalog();
|
|
173
204
|
init_secret_scrubber();
|
|
174
205
|
function modelToCredKeys(modelStr) {
|
|
175
206
|
if (!modelStr)
|
|
@@ -188,6 +219,9 @@ function modelToCredKeys(modelStr) {
|
|
|
188
219
|
return ["OPENAI_API_KEY"];
|
|
189
220
|
if (provider === "google")
|
|
190
221
|
return ["GOOGLE_API_KEY", "GEMINI_API_KEY"];
|
|
222
|
+
const direct = openAICompatibleProvider(provider);
|
|
223
|
+
if (direct)
|
|
224
|
+
return providerKeyVars(direct);
|
|
191
225
|
}
|
|
192
226
|
return null;
|
|
193
227
|
}
|
|
@@ -282,13 +316,13 @@ async function checkPiMonoCredentials(env, opts = {}) {
|
|
|
282
316
|
hint: `MODEL_OVERRIDE=${env.MODEL_OVERRIDE} requires one of ${keyList}; or run \`pi auth login\` to create ${authFile}.`
|
|
283
317
|
};
|
|
284
318
|
}
|
|
285
|
-
if (env.ANTHROPIC_API_KEY || env.OPENROUTER_API_KEY || env.OPENAI_API_KEY) {
|
|
319
|
+
if (env.ANTHROPIC_API_KEY || env.OPENROUTER_API_KEY || env.OPENAI_API_KEY || openAICompatibleKeyVars().some((k) => env[k])) {
|
|
286
320
|
return { ready: true, missing: [], satisfiedBy: "env" };
|
|
287
321
|
}
|
|
288
322
|
return {
|
|
289
323
|
ready: false,
|
|
290
324
|
missing: ["ANTHROPIC_API_KEY", "OPENROUTER_API_KEY", "OPENAI_API_KEY", authFile],
|
|
291
|
-
hint:
|
|
325
|
+
hint: `Set one of ANTHROPIC_API_KEY / OPENROUTER_API_KEY / OPENAI_API_KEY (any one suffices; ${openAICompatibleProviders().map((p) => p.envVar).join(" or ")} serve only ${openAICompatibleProviders().map((p) => `${p.id}/*`).join(" or ")} models), or run \`pi auth login\` to create ~/.pi/agent/auth.json.`
|
|
292
326
|
};
|
|
293
327
|
}
|
|
294
328
|
function jsonSchemaToTypeBox(schema) {
|
|
@@ -349,10 +383,11 @@ var PI_RUNTIME_API_KEYS = [
|
|
|
349
383
|
["ANTHROPIC_API_KEY", "anthropic"],
|
|
350
384
|
["OPENAI_API_KEY", "openai"],
|
|
351
385
|
["GEMINI_API_KEY", "google"],
|
|
352
|
-
["GOOGLE_API_KEY", "google"]
|
|
386
|
+
["GOOGLE_API_KEY", "google"],
|
|
387
|
+
...openAICompatibleProviders().flatMap((p) => [...p.aliasEnvVars, p.envVar].map((name) => [name, p.id]))
|
|
353
388
|
];
|
|
354
|
-
async function createPiRuntimeAuth(env = process.env) {
|
|
355
|
-
const modelRuntime = await ModelRuntime.create();
|
|
389
|
+
async function createPiRuntimeAuth(env = process.env, modelsPath) {
|
|
390
|
+
const modelRuntime = await ModelRuntime.create(modelsPath ? { modelsPath, modelsStorePath: join(getAgentDir(), "models-store.json") } : {});
|
|
356
391
|
for (const [envKey, provider] of PI_RUNTIME_API_KEYS) {
|
|
357
392
|
const apiKey = env[envKey];
|
|
358
393
|
if (apiKey) {
|
|
@@ -373,84 +408,113 @@ async function readJsonFile(path) {
|
|
|
373
408
|
return;
|
|
374
409
|
}
|
|
375
410
|
}
|
|
376
|
-
|
|
377
|
-
const
|
|
378
|
-
const
|
|
379
|
-
const
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
console.warn(`[pi-mono] ${modelsPath} is unreadable/invalid (${err instanceof Error ? err.message : err}); rewriting with the OpenRouter gateway override`);
|
|
392
|
-
existing = {};
|
|
411
|
+
function customProviderModelsBlock(provider, modelId, baseUrl = provider.baseUrl) {
|
|
412
|
+
const zeroCost = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
|
|
413
|
+
const listed = providerHarnessModels(provider, snapshotCatalogRows(provider.id));
|
|
414
|
+
const models = listed.map((m) => ({
|
|
415
|
+
id: m.id,
|
|
416
|
+
name: m.name,
|
|
417
|
+
reasoning: m.reasoning,
|
|
418
|
+
input: [...m.input],
|
|
419
|
+
contextWindow: m.contextWindow,
|
|
420
|
+
maxTokens: m.maxOutputTokens,
|
|
421
|
+
cost: { ...zeroCost },
|
|
422
|
+
compat: { ...m.compat }
|
|
423
|
+
}));
|
|
424
|
+
if (modelId && !listed.some((m) => m.id === modelId)) {
|
|
425
|
+
models.push({ id: modelId, name: modelId, cost: { ...zeroCost } });
|
|
393
426
|
}
|
|
394
|
-
|
|
395
|
-
const openrouter = typeof providers.openrouter === "object" && providers.openrouter !== null ? providers.openrouter : {};
|
|
396
|
-
const priorMarker = await readJsonFile(markerPath);
|
|
397
|
-
const currentBaseUrl = typeof openrouter.baseUrl === "string" ? openrouter.baseUrl : undefined;
|
|
398
|
-
const previous = priorMarker ? priorMarker.previous : currentBaseUrl !== baseUrl ? currentBaseUrl : undefined;
|
|
399
|
-
const next = {
|
|
400
|
-
...existing,
|
|
401
|
-
providers: {
|
|
402
|
-
...providers,
|
|
403
|
-
openrouter: { ...openrouter, baseUrl }
|
|
404
|
-
}
|
|
405
|
-
};
|
|
406
|
-
await Bun.write(modelsPath, `${JSON.stringify(next, null, 2)}
|
|
407
|
-
`);
|
|
408
|
-
const marker = {
|
|
427
|
+
return {
|
|
409
428
|
baseUrl,
|
|
410
|
-
|
|
429
|
+
api: "openai-completions",
|
|
430
|
+
apiKey: `$${provider.envVar}`,
|
|
431
|
+
models
|
|
411
432
|
};
|
|
412
|
-
await Bun.write(markerPath, `${JSON.stringify(marker, null, 2)}
|
|
413
|
-
`);
|
|
414
433
|
}
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
const
|
|
420
|
-
const
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
434
|
+
function isPlainObject(value) {
|
|
435
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
436
|
+
}
|
|
437
|
+
async function writeSessionModelsJson(agentDir, env = process.env, model) {
|
|
438
|
+
const sharedPath = join(agentDir, "models.json");
|
|
439
|
+
const registry = openAICompatibleProviders();
|
|
440
|
+
const wanted = registry.filter((p) => providerKeyFromEnv(p, env) !== undefined);
|
|
441
|
+
const gateway = getOpenRouterBaseUrl(env);
|
|
442
|
+
const marker = await readJsonFile(join(agentDir, OPENROUTER_OVERRIDE_MARKER));
|
|
443
|
+
if (wanted.length === 0 && gateway === DEFAULT_OPENROUTER_BASE_URL && !marker) {
|
|
444
|
+
return { modelsPath: undefined, dispose: async () => {} };
|
|
424
445
|
}
|
|
425
|
-
|
|
426
|
-
const
|
|
427
|
-
if (
|
|
428
|
-
|
|
429
|
-
|
|
446
|
+
let shared = {};
|
|
447
|
+
const sharedFile = Bun.file(sharedPath);
|
|
448
|
+
if (await sharedFile.exists()) {
|
|
449
|
+
try {
|
|
450
|
+
const parsed = JSON.parse(await sharedFile.text());
|
|
451
|
+
if (!isPlainObject(parsed))
|
|
452
|
+
throw new Error("not a JSON object");
|
|
453
|
+
shared = parsed;
|
|
454
|
+
} catch (err) {
|
|
455
|
+
console.warn(scrubSecrets(`[pi-mono] ${sharedPath} is unreadable/invalid (${err instanceof Error ? err.message : String(err)}); this session loads its own provider blocks only`));
|
|
456
|
+
}
|
|
430
457
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
458
|
+
const providers = isPlainObject(shared.providers) ? { ...shared.providers } : {};
|
|
459
|
+
const openrouter = isPlainObject(providers.openrouter) ? { ...providers.openrouter } : {};
|
|
460
|
+
if (gateway !== DEFAULT_OPENROUTER_BASE_URL) {
|
|
461
|
+
openrouter.baseUrl = gateway;
|
|
462
|
+
} else if (marker && openrouter.baseUrl === marker.baseUrl) {
|
|
463
|
+
if (marker.previous !== undefined)
|
|
464
|
+
openrouter.baseUrl = marker.previous;
|
|
465
|
+
else
|
|
466
|
+
delete openrouter.baseUrl;
|
|
435
467
|
}
|
|
436
|
-
if (Object.keys(openrouter).length
|
|
437
|
-
delete providers.openrouter;
|
|
438
|
-
} else {
|
|
468
|
+
if (Object.keys(openrouter).length > 0)
|
|
439
469
|
providers.openrouter = openrouter;
|
|
470
|
+
else
|
|
471
|
+
delete providers.openrouter;
|
|
472
|
+
const modelProvider = providerForModel(model);
|
|
473
|
+
const modelId = modelProvider && model ? model.slice(modelProvider.id.length + 1) : undefined;
|
|
474
|
+
for (const provider of wanted) {
|
|
475
|
+
const ignored = ignoredBaseUrlVar(provider, env);
|
|
476
|
+
if (ignored) {
|
|
477
|
+
console.warn(scrubSecrets(`[pi-mono] ${ignored} is ignored: ${provider.displayName} is only reached at ${provider.baseUrl}`));
|
|
478
|
+
}
|
|
479
|
+
const existing = providers[provider.id];
|
|
480
|
+
if (provider.baseUrlLocked && isPlainObject(existing)) {
|
|
481
|
+
if (existing.baseUrl !== provider.baseUrl || existing.api !== "openai-completions") {
|
|
482
|
+
console.warn(scrubSecrets(`[pi-mono] ${sharedPath} providers.${provider.id} points at ${String(existing.baseUrl)}; using ${provider.baseUrl}`));
|
|
483
|
+
}
|
|
484
|
+
providers[provider.id] = {
|
|
485
|
+
...customProviderModelsBlock(provider, modelProvider?.id === provider.id ? modelId : undefined),
|
|
486
|
+
...existing,
|
|
487
|
+
baseUrl: provider.baseUrl,
|
|
488
|
+
api: "openai-completions"
|
|
489
|
+
};
|
|
490
|
+
continue;
|
|
491
|
+
}
|
|
492
|
+
if (existing !== undefined) {
|
|
493
|
+
console.warn(scrubSecrets(`[pi-mono] ${sharedPath} already has a providers.${provider.id} block; using it as is`));
|
|
494
|
+
continue;
|
|
495
|
+
}
|
|
496
|
+
providers[provider.id] = customProviderModelsBlock(provider, modelProvider?.id === provider.id ? modelId : undefined, providerBaseUrl(provider, env));
|
|
440
497
|
}
|
|
441
|
-
const next = { ...
|
|
442
|
-
if (Object.keys(providers).length === 0)
|
|
498
|
+
const next = { ...shared, providers };
|
|
499
|
+
if (Object.keys(providers).length === 0)
|
|
443
500
|
delete next.providers;
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
} else {
|
|
448
|
-
await Bun.write(modelsPath, `${JSON.stringify(next, null, 2)}
|
|
501
|
+
const dir = await mkdtemp(join(tmpdir(), "pi-session-models-"));
|
|
502
|
+
const modelsPath = join(dir, "models.json");
|
|
503
|
+
await Bun.write(modelsPath, `${JSON.stringify(next, null, 2)}
|
|
449
504
|
`);
|
|
505
|
+
return {
|
|
506
|
+
modelsPath,
|
|
507
|
+
dispose: () => rm(dir, { recursive: true, force: true })
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
function resolveModel(modelStr, env = process.env, modelRuntime) {
|
|
511
|
+
const model = resolveModelInner(modelStr, env, modelRuntime);
|
|
512
|
+
if (modelStr && !model) {
|
|
513
|
+
console.warn(scrubSecrets(`[pi-mono] Model "${modelStr}" did not resolve to a builtin or models.json model; pi will fall back to its default model`));
|
|
450
514
|
}
|
|
451
|
-
|
|
515
|
+
return model;
|
|
452
516
|
}
|
|
453
|
-
function
|
|
517
|
+
function resolveModelInner(modelStr, env, modelRuntime) {
|
|
454
518
|
if (!modelStr)
|
|
455
519
|
return;
|
|
456
520
|
const lower = modelStr.toLowerCase();
|
|
@@ -481,11 +545,15 @@ function resolveModel(modelStr, env = process.env) {
|
|
|
481
545
|
const slashIdx = modelStr.indexOf("/");
|
|
482
546
|
const provider = modelStr.slice(0, slashIdx);
|
|
483
547
|
const modelId = modelStr.slice(slashIdx + 1);
|
|
548
|
+
let builtin;
|
|
484
549
|
try {
|
|
485
|
-
|
|
550
|
+
builtin = getBuiltinModel(provider, modelId);
|
|
486
551
|
} catch {
|
|
487
|
-
|
|
552
|
+
builtin = undefined;
|
|
488
553
|
}
|
|
554
|
+
if (builtin)
|
|
555
|
+
return builtin;
|
|
556
|
+
return modelRuntime?.getModel(provider, modelId);
|
|
489
557
|
}
|
|
490
558
|
for (const provider of ["anthropic", "openai", "google"]) {
|
|
491
559
|
try {
|
|
@@ -547,6 +615,24 @@ function describeAssistantTurn(message) {
|
|
|
547
615
|
};
|
|
548
616
|
}
|
|
549
617
|
var TERMINAL_STORE_PROGRESS_STATUSES = new Set(["completed", "failed"]);
|
|
618
|
+
function scrubSessionFileSync(path) {
|
|
619
|
+
if (!path || !existsSync(path))
|
|
620
|
+
return;
|
|
621
|
+
const text = readFileSync(path, "utf-8");
|
|
622
|
+
const scrubbed = scrubSecrets(text);
|
|
623
|
+
if (scrubbed !== text)
|
|
624
|
+
writeFileSync(path, scrubbed);
|
|
625
|
+
}
|
|
626
|
+
function scrubPiSessionPersistence(sessionManager) {
|
|
627
|
+
const persist = sessionManager._persist.bind(sessionManager);
|
|
628
|
+
sessionManager._persist = (entry) => {
|
|
629
|
+
const file = sessionManager.getSessionFile();
|
|
630
|
+
const existed = file ? existsSync(file) : true;
|
|
631
|
+
persist(scrubObject(entry));
|
|
632
|
+
if (!existed)
|
|
633
|
+
scrubSessionFileSync(file);
|
|
634
|
+
};
|
|
635
|
+
}
|
|
550
636
|
|
|
551
637
|
class PiMonoSession {
|
|
552
638
|
listeners = [];
|
|
@@ -569,8 +655,10 @@ class PiMonoSession {
|
|
|
569
655
|
terminalStoreProgressDone = false;
|
|
570
656
|
emptyTurnReprompted = false;
|
|
571
657
|
abortRequested = false;
|
|
572
|
-
|
|
658
|
+
disposeModels;
|
|
659
|
+
constructor(agentSession, config, createdSymlink, appliedReasoningEffort = null, disposeModels = async () => {}) {
|
|
573
660
|
this.agentSession = agentSession;
|
|
661
|
+
this.disposeModels = disposeModels;
|
|
574
662
|
this.config = config;
|
|
575
663
|
this.createdSymlink = createdSymlink;
|
|
576
664
|
this.appliedReasoningEffort = appliedReasoningEffort;
|
|
@@ -595,7 +683,7 @@ class PiMonoSession {
|
|
|
595
683
|
return this.config.model;
|
|
596
684
|
}
|
|
597
685
|
emit(event) {
|
|
598
|
-
const scrubbed =
|
|
686
|
+
const scrubbed = scrubObject(event);
|
|
599
687
|
this.logFileHandle.write(`${JSON.stringify({ ...scrubbed, timestamp: new Date().toISOString() })}
|
|
600
688
|
`);
|
|
601
689
|
if (this.listeners.length > 0) {
|
|
@@ -746,7 +834,7 @@ class PiMonoSession {
|
|
|
746
834
|
const cost = this.buildCostData(stats);
|
|
747
835
|
if (this.terminalError) {
|
|
748
836
|
const classification = classifyAwsSdkError(this.terminalError);
|
|
749
|
-
const message = classification?.message ?? this.terminalError;
|
|
837
|
+
const message = scrubSecrets(classification?.message ?? this.terminalError);
|
|
750
838
|
const category = classification?.category;
|
|
751
839
|
this.emit({ type: "error", message, category });
|
|
752
840
|
return {
|
|
@@ -789,7 +877,7 @@ class PiMonoSession {
|
|
|
789
877
|
sessionId: this._sessionId,
|
|
790
878
|
isError: true,
|
|
791
879
|
errorCategory: awsCatchError?.category,
|
|
792
|
-
failureReason: awsCatchError?.message ?? errorMessage,
|
|
880
|
+
failureReason: scrubSecrets(awsCatchError?.message ?? errorMessage),
|
|
793
881
|
appliedReasoningEffort: this.appliedReasoningEffort
|
|
794
882
|
};
|
|
795
883
|
} finally {
|
|
@@ -799,6 +887,12 @@ class PiMonoSession {
|
|
|
799
887
|
cleanupAgentsMdSymlink(this.config.cwd);
|
|
800
888
|
}
|
|
801
889
|
this.agentSession.dispose();
|
|
890
|
+
try {
|
|
891
|
+
scrubSessionFileSync(this.agentSession.sessionManager?.getSessionFile());
|
|
892
|
+
} catch (err) {
|
|
893
|
+
console.warn(scrubSecrets(`[pi-mono] could not scrub the session file: ${String(err)}`));
|
|
894
|
+
}
|
|
895
|
+
await this.disposeModels();
|
|
802
896
|
}
|
|
803
897
|
}
|
|
804
898
|
async repromptAfterEmptyFinalTurn() {
|
|
@@ -1039,6 +1133,24 @@ function piDefaultToolAdditions(features) {
|
|
|
1039
1133
|
additions.push("+codemode");
|
|
1040
1134
|
return additions;
|
|
1041
1135
|
}
|
|
1136
|
+
var PI_SPAWN_ENV_KEYS = [
|
|
1137
|
+
"PATH",
|
|
1138
|
+
"PI_SESSION_ID",
|
|
1139
|
+
"PI_SESSION_FILE",
|
|
1140
|
+
"PI_PROVIDER",
|
|
1141
|
+
"PI_MODEL",
|
|
1142
|
+
"PI_REASONING_LEVEL"
|
|
1143
|
+
];
|
|
1144
|
+
function buildPiShellEnv(sessionEnv, spawnEnv) {
|
|
1145
|
+
const env = { ...sessionEnv };
|
|
1146
|
+
for (const key of PI_SPAWN_ENV_KEYS) {
|
|
1147
|
+
if (spawnEnv[key] !== undefined)
|
|
1148
|
+
env[key] = spawnEnv[key];
|
|
1149
|
+
else if (key !== "PATH")
|
|
1150
|
+
delete env[key];
|
|
1151
|
+
}
|
|
1152
|
+
return env;
|
|
1153
|
+
}
|
|
1042
1154
|
async function createPiResourceLoader(opts) {
|
|
1043
1155
|
const settingsManager = SettingsManager.create(opts.cwd, opts.agentDir, {
|
|
1044
1156
|
projectTrusted: false
|
|
@@ -1109,10 +1221,25 @@ class PiMonoAdapter {
|
|
|
1109
1221
|
console.log(`\x1B[2m[${config.role}]\x1B[0m Registering ${Object.keys(piMcpServers).length} installed MCP server(s) with pi`);
|
|
1110
1222
|
}
|
|
1111
1223
|
const sessionEnv = config.env ?? process.env;
|
|
1112
|
-
|
|
1113
|
-
const
|
|
1114
|
-
|
|
1115
|
-
|
|
1224
|
+
registerEnvSecrets(sessionEnv);
|
|
1225
|
+
const sessionModels = await writeSessionModelsJson(getAgentDir(), sessionEnv, config.model);
|
|
1226
|
+
try {
|
|
1227
|
+
return await this.createSessionWithModels(config, sessionEnv, sessionModels, {
|
|
1228
|
+
createdSymlink,
|
|
1229
|
+
customTools,
|
|
1230
|
+
deferTools,
|
|
1231
|
+
piMcpServers
|
|
1232
|
+
});
|
|
1233
|
+
} catch (err) {
|
|
1234
|
+
await sessionModels.dispose();
|
|
1235
|
+
throw err;
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
async createSessionWithModels(config, sessionEnv, sessionModels, setup) {
|
|
1239
|
+
const { createdSymlink, customTools, deferTools, piMcpServers } = setup;
|
|
1240
|
+
const modelRuntime = await createPiRuntimeAuth(sessionEnv, sessionModels.modelsPath);
|
|
1241
|
+
const resolvedModel = resolveModel(config.model, sessionEnv, modelRuntime);
|
|
1242
|
+
const model = resolvedModel ? modelRuntime.getModel(resolvedModel.provider, resolvedModel.id) ?? resolvedModel : resolvedModel;
|
|
1116
1243
|
const swarmExtension = createSwarmHooksExtension({
|
|
1117
1244
|
apiUrl: config.apiUrl,
|
|
1118
1245
|
apiKey: config.apiKey,
|
|
@@ -1144,10 +1271,18 @@ class PiMonoAdapter {
|
|
|
1144
1271
|
const reasoningApplication = applyReasoningEffort("pi", config.model, config.reasoningEffort);
|
|
1145
1272
|
const reasoningSessionOptions = reasoningApplication.kind === "pi-session" ? reasoningApplication.sessionOptions : {};
|
|
1146
1273
|
const appliedReasoningEffort = reasoningApplication.kind === "pi-session" ? config.reasoningEffort ?? null : null;
|
|
1274
|
+
const bashTool = defineTool(createBashToolDefinition(config.cwd, {
|
|
1275
|
+
commandPrefix: settingsManager.getShellCommandPrefix(),
|
|
1276
|
+
shellPath: settingsManager.getShellPath(),
|
|
1277
|
+
spawnHook: (context) => ({ ...context, env: buildPiShellEnv(sessionEnv, context.env) })
|
|
1278
|
+
}));
|
|
1279
|
+
const sessionManager = SessionManager.create(config.cwd);
|
|
1280
|
+
scrubPiSessionPersistence(sessionManager);
|
|
1147
1281
|
const sessionOptions = {
|
|
1148
1282
|
cwd: config.cwd,
|
|
1283
|
+
sessionManager,
|
|
1149
1284
|
model,
|
|
1150
|
-
customTools,
|
|
1285
|
+
customTools: [...customTools, bashTool],
|
|
1151
1286
|
resourceLoader,
|
|
1152
1287
|
settingsManager,
|
|
1153
1288
|
modelRuntime,
|
|
@@ -1155,7 +1290,7 @@ class PiMonoAdapter {
|
|
|
1155
1290
|
};
|
|
1156
1291
|
const { session } = await createAgentSession(sessionOptions);
|
|
1157
1292
|
await session.bindExtensions({});
|
|
1158
|
-
return new PiMonoSession(session, config, createdSymlink, appliedReasoningEffort);
|
|
1293
|
+
return new PiMonoSession(session, config, createdSymlink, appliedReasoningEffort, sessionModels.dispose);
|
|
1159
1294
|
}
|
|
1160
1295
|
async canResume(sessionId) {
|
|
1161
1296
|
try {
|
|
@@ -1179,12 +1314,13 @@ export {
|
|
|
1179
1314
|
PiMonoSession,
|
|
1180
1315
|
SWARM_TOOL_NAMESPACE,
|
|
1181
1316
|
boundCodemodeTool,
|
|
1317
|
+
buildPiShellEnv,
|
|
1182
1318
|
checkPiMonoCredentials,
|
|
1183
1319
|
createBoundedCodemodeExtension,
|
|
1184
1320
|
createPiResourceLoader,
|
|
1185
1321
|
createPiRuntimeAuth,
|
|
1186
1322
|
createSwarmMcpExtension,
|
|
1187
|
-
|
|
1323
|
+
customProviderModelsBlock,
|
|
1188
1324
|
extractPiAssistantText,
|
|
1189
1325
|
isCoreSwarmTool,
|
|
1190
1326
|
isPiCodemodeEnabled,
|
|
@@ -1195,5 +1331,7 @@ export {
|
|
|
1195
1331
|
piExtensionFactories,
|
|
1196
1332
|
resolveModel,
|
|
1197
1333
|
runBedrockSdkProbeAndEnumerate,
|
|
1198
|
-
|
|
1334
|
+
scrubPiSessionPersistence,
|
|
1335
|
+
toPiMcpServers,
|
|
1336
|
+
writeSessionModelsJson
|
|
1199
1337
|
};
|
|
@@ -7,29 +7,31 @@ import {
|
|
|
7
7
|
requestModelCatalogRefresh,
|
|
8
8
|
resetModelCatalogRefreshGuardForTests,
|
|
9
9
|
startPricingRefreshLoop
|
|
10
|
-
} from "./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-7mm2r1kp.js";
|
|
10
|
+
} from "./cli-z5jjpaxw.js";
|
|
11
|
+
import"./cli-r62a35ea.js";
|
|
12
|
+
import"./cli-ef1hg1wv.js";
|
|
13
|
+
import"./cli-hnmhtzvh.js";
|
|
14
|
+
import"./cli-cgtksawx.js";
|
|
15
|
+
import"./cli-s2sp957d.js";
|
|
17
16
|
import"./cli-dmtrxqhg.js";
|
|
17
|
+
import"./cli-7mm2r1kp.js";
|
|
18
|
+
import"./cli-5hkm7whv.js";
|
|
18
19
|
import"./cli-mvzyxwg3.js";
|
|
19
|
-
import"./cli-tadfgd0t.js";
|
|
20
20
|
import"./cli-fdvbjtbw.js";
|
|
21
21
|
import"./cli-ywybs5as.js";
|
|
22
22
|
import"./cli-f9w1semm.js";
|
|
23
23
|
import"./cli-1a2j50m0.js";
|
|
24
24
|
import"./cli-a35hzdve.js";
|
|
25
|
-
import"./cli-
|
|
25
|
+
import"./cli-stfs0k5s.js";
|
|
26
26
|
import"./cli-sd0mxa3c.js";
|
|
27
27
|
import"./cli-w5e1d1vv.js";
|
|
28
|
-
import"./cli-
|
|
28
|
+
import"./cli-p0sg24zp.js";
|
|
29
|
+
import"./cli-k382tshb.js";
|
|
29
30
|
import"./cli-zf8jjwex.js";
|
|
30
31
|
import"./cli-gd4favx9.js";
|
|
31
32
|
import"./cli-ej6gbxfb.js";
|
|
32
|
-
import"./cli-
|
|
33
|
+
import"./cli-p1x85d2t.js";
|
|
34
|
+
import"./cli-e3g5mbkz.js";
|
|
33
35
|
import"./cli-bc05qbss.js";
|
|
34
36
|
export {
|
|
35
37
|
MODEL_CATALOG_FORCE_COOLDOWN_MS,
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PermissionVerbSchema,
|
|
3
3
|
init_rbac
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-przpmdgr.js";
|
|
5
5
|
import {
|
|
6
6
|
getDb,
|
|
7
7
|
getDbClient,
|
|
8
8
|
init_db1 as init_db
|
|
9
|
-
} from "./cli-
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-7mm2r1kp.js";
|
|
9
|
+
} from "./cli-ef1hg1wv.js";
|
|
10
|
+
import"./cli-hnmhtzvh.js";
|
|
11
|
+
import"./cli-cgtksawx.js";
|
|
12
|
+
import"./cli-s2sp957d.js";
|
|
14
13
|
import"./cli-dmtrxqhg.js";
|
|
14
|
+
import"./cli-7mm2r1kp.js";
|
|
15
|
+
import"./cli-5hkm7whv.js";
|
|
15
16
|
import"./cli-mvzyxwg3.js";
|
|
16
|
-
import"./cli-tadfgd0t.js";
|
|
17
17
|
import"./cli-fdvbjtbw.js";
|
|
18
18
|
import"./cli-ywybs5as.js";
|
|
19
19
|
import"./cli-f9w1semm.js";
|
|
20
20
|
import"./cli-1a2j50m0.js";
|
|
21
21
|
import"./cli-a35hzdve.js";
|
|
22
|
-
import"./cli-
|
|
22
|
+
import"./cli-stfs0k5s.js";
|
|
23
23
|
import"./cli-sd0mxa3c.js";
|
|
24
24
|
import"./cli-w5e1d1vv.js";
|
|
25
|
-
import"./cli-
|
|
25
|
+
import"./cli-p0sg24zp.js";
|
|
26
|
+
import"./cli-k382tshb.js";
|
|
26
27
|
import"./cli-zf8jjwex.js";
|
|
27
28
|
import"./cli-gd4favx9.js";
|
|
28
29
|
import {
|
|
29
30
|
init_env_flag,
|
|
30
31
|
isEnvFlagEnabled
|
|
31
32
|
} from "./cli-ej6gbxfb.js";
|
|
32
|
-
import"./cli-
|
|
33
|
+
import"./cli-p1x85d2t.js";
|
|
34
|
+
import"./cli-e3g5mbkz.js";
|
|
33
35
|
import"./cli-bc05qbss.js";
|
|
34
36
|
|
|
35
37
|
// src/be/rbac-roles.ts
|