@desplega.ai/agent-swarm 1.136.0 → 1.138.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 +12 -3
- package/dist/acp-adapter-6nttxe2q.js +4787 -0
- package/dist/{actions-agcbc8nd.js → actions-z9dzgh3f.js} +7 -8
- package/dist/{app-g2s78xya.js → app-wb6bc7tt.js} +4 -5
- package/dist/{assistant-yd3jkb9d.js → assistant-08pd6pgy.js} +9 -10
- package/dist/{boot-reembed-6spqw4q0.js → boot-reembed-hstr4e2c.js} +4 -4
- package/dist/{boot-reembed-b22s9w5x.js → boot-reembed-y7p7qjbf.js} +5 -5
- package/dist/{boot-scrub-logs-6h3cqkc0.js → boot-scrub-logs-azbnxwhn.js} +3 -3
- package/dist/{claude-adapter-ng5y8zd7.js → claude-adapter-rwaq6eda.js} +10 -9
- package/dist/{claude-managed-adapter-5zr3n86v.js → claude-managed-adapter-vtseey1x.js} +3 -3
- package/dist/{cli-qckgdqmr.js → cli-005yr57a.js} +2 -2
- package/dist/{cli-54ht104h.js → cli-0cka8dnm.js} +3 -3
- package/dist/{cli-gpdtxzar.js → cli-23cpnqk9.js} +1 -1
- package/dist/{cli-qhfkxrpg.js → cli-2ypjdmqg.js} +223 -474
- package/dist/{cli-bnq8h7ea.js → cli-3719ggyf.js} +17 -10
- package/dist/cli-390sgxn5.js +257 -0
- package/dist/{cli-z6e8eqrm.js → cli-47esr8ht.js} +2 -2
- package/dist/{cli-jjhnma34.js → cli-4jaj24py.js} +248 -101
- package/dist/{cli-6gwgzdgw.js → cli-69377c2a.js} +5 -5
- package/dist/{cli-ads0hfw2.js → cli-6v4d8r8c.js} +205 -75
- package/dist/{cli-mgef08pc.js → cli-8rtyss6g.js} +1 -1
- package/dist/{cli-35jknh9e.js → cli-9w7vsmbm.js} +5 -5
- package/dist/{cli-m3z53bed.js → cli-b4zdc3x6.js} +1 -1
- package/dist/{cli-fpjmcbhz.js → cli-ba87cw29.js} +4 -4
- package/dist/{cli-4gzv54ss.js → cli-bzk75kdc.js} +43 -11
- package/dist/{cli-d5ygfv18.js → cli-cywkhzqs.js} +35 -11
- package/dist/{cli-0crn5kaz.js → cli-d62cd9qs.js} +16 -4
- package/dist/{cli-5bnz1t86.js → cli-f9skf1v7.js} +51 -7
- package/dist/{cli-06ghj6pe.js → cli-fytpjraz.js} +4 -4
- package/dist/{cli-j7qp8gtf.js → cli-h7c5dam1.js} +16 -11
- package/dist/{cli-4r4jkqep.js → cli-kkn46gfr.js} +9 -3
- package/dist/{cli-tmn19cdz.js → cli-kq9htgbr.js} +415 -62
- package/dist/{cli-8v57p983.js → cli-pkmqqxp8.js} +45 -69
- package/dist/{cli-84vrhesc.js → cli-qf34ej1d.js} +1 -1
- package/dist/{cli-v3qda694.js → cli-rnyttbh0.js} +0 -5
- package/dist/cli-rx5cxzn2.js +7 -0
- package/dist/{cli-cw70hymf.js → cli-s25avqg9.js} +2 -0
- package/dist/{cli-tee8w7tq.js → cli-s6t1qv67.js} +15 -10
- package/dist/{cli-68vayryq.js → cli-tb4csb08.js} +2 -2
- package/dist/{cli-y16cesaq.js → cli-vy48y9bx.js} +2 -2
- package/dist/{cli-3y553gws.js → cli-y294regh.js} +1 -1
- package/dist/{cli-spf767vc.js → cli-y43043ws.js} +1 -1
- package/dist/{cli-hz5hp6wn.js → cli-yh2eybyt.js} +1 -1
- package/dist/{cli-edwrx42s.js → cli-zmyxt25p.js} +5 -5
- package/dist/cli.js +40 -18
- package/dist/{codex-adapter-kw11ps3j.js → codex-adapter-yzep6mvb.js} +7 -6
- package/dist/{codex-session-runner-sffb69v7.js → codex-session-runner-25e8tn72.js} +7 -6
- package/dist/{commands-0xxp4tz8.js → commands-0vv72d6a.js} +3 -3
- package/dist/{db-0npp39zd.js → db-x61ncfa1.js} +19 -3
- package/dist/{google-generative-ai-6xxdj4t3.js → google-generative-ai-zyhy3dab.js} +1 -1
- package/dist/{google-vertex-zma18wb0.js → google-vertex-t25h65yd.js} +1 -1
- package/dist/{handlers-5p7a1jx6.js → handlers-fwdcaahf.js} +9 -10
- package/dist/{hook-jjpxn4se.js → hook-mpwfgynm.js} +6 -5
- package/dist/{hook-hpefr0a8.js → hook-x18504ja.js} +8 -7
- package/dist/{http-wfp33653.js → http-83m6qdds.js} +590 -192
- package/dist/{index-pe58mf1r.js → index-1nsdwvn5.js} +2 -1
- package/dist/{index-17h657rg.js → index-38f98ck3.js} +9 -9
- package/dist/{index-m2p7ctyh.js → index-7kxvtd38.js} +24 -12
- package/dist/{index-racb4wfq.js → index-a4naswjn.js} +23 -10
- package/dist/{index-p13cfsc2.js → index-agykc6k2.js} +2 -1
- package/dist/{index-zh66wm65.js → index-dawtzfhw.js} +22 -9
- package/dist/{keepalive-wxjd633a.js → keepalive-y0m8g5wn.js} +5 -5
- package/dist/{lead-359ec2z0.js → lead-ka18ef6a.js} +36 -36
- package/dist/{maintenance-rr03qjtb.js → maintenance-x585p56c.js} +5 -5
- package/dist/{oauth-refresh-sweep-jwj22yb8.js → oauth-refresh-sweep-kdm9vj7a.js} +4 -4
- package/dist/{onboard-asnhchcv.js → onboard-5v229nvt.js} +664 -248
- package/dist/{opencode-adapter-sx38y7f7.js → opencode-adapter-46nnmnvv.js} +3 -3
- package/dist/{otel-impl-54cra6mw.js → otel-impl-k47aj4sd.js} +73 -4
- package/dist/{pi-mono-adapter-29g7axgj.js → pi-mono-adapter-wawfj09v.js} +42 -40
- package/dist/{pricing-refresh-mkyy7c2y.js → pricing-refresh-ky2gjp05.js} +5 -5
- package/dist/{rbac-roles-kb3afm95.js → rbac-roles-0j0f7s8r.js} +4 -4
- package/dist/{rbac-roles-ak56tr75.js → rbac-roles-az4wc15e.js} +3 -3
- package/dist/{render-v2-434asg49.js → render-v2-seyxq61z.js} +4 -5
- package/dist/{seed-pricing-nbmd7ah8.js → seed-pricing-fev611hx.js} +4 -4
- package/dist/{setup-wh4qmjs4.js → setup-hy404zwh.js} +2 -2
- package/dist/{worker-j1d27tjv.js → worker-g1j5hn16.js} +36 -36
- package/openapi.json +197 -27
- package/package.json +9 -3
- package/src/be/db-client.ts +58 -5
- package/src/be/db-retention.ts +550 -121
- package/src/be/db.ts +367 -55
- package/src/be/memory/raters/retrieval.ts +40 -0
- package/src/be/migrations/140_approval_request_cancelled_status.sql +64 -0
- package/src/be/pricing-normalize.ts +3 -0
- package/src/be/script-connections.ts +26 -6
- package/src/be/seed-pricing.ts +18 -8
- package/src/be/swarm-config-guard.ts +33 -0
- package/src/cli.tsx +20 -1
- package/src/commands/onboard/compose-generator.ts +63 -7
- package/src/commands/onboard/env-generator.ts +32 -4
- package/src/commands/onboard/manifest.ts +4 -1
- package/src/commands/onboard/non-interactive.ts +159 -0
- package/src/commands/onboard/steps/generate.tsx +1 -34
- package/src/commands/onboard/steps/harness-credentials.tsx +181 -1
- package/src/commands/onboard/steps/harness.tsx +20 -6
- package/src/commands/onboard/steps/review.tsx +3 -2
- package/src/commands/onboard/types.ts +48 -1
- package/src/commands/onboard.tsx +18 -13
- package/src/commands/provider-credentials.ts +17 -3
- package/src/commands/runner.ts +1 -0
- package/src/heartbeat/heartbeat.ts +47 -7
- package/src/http/approval-requests.ts +53 -8
- package/src/http/index.ts +9 -1
- package/src/http/mcp-servers.ts +2 -0
- package/src/http/memory.ts +27 -1
- package/src/http/oauth-callback.ts +33 -0
- package/src/http/repos.ts +6 -0
- package/src/http/script-connections.ts +77 -0
- package/src/http/session-data.ts +5 -1
- package/src/http/stats.ts +21 -30
- package/src/http/tasks.ts +10 -0
- package/src/oauth/presets.ts +29 -0
- package/src/otel-impl.ts +96 -1
- package/src/otel.ts +34 -0
- package/src/prompts/memories.ts +2 -2
- package/src/providers/acp-adapter.ts +325 -0
- package/src/providers/acp-swarm-events.ts +113 -0
- package/src/providers/acp-targets.ts +103 -0
- package/src/providers/claude-managed-models.ts +17 -1
- package/src/providers/codex-adapter.ts +3 -3
- package/src/providers/codex-oauth/auth-json-fs.ts +2 -2
- package/src/providers/codex-oauth/home.ts +13 -0
- package/src/providers/index.ts +5 -1
- package/src/providers/types.ts +1 -1
- package/src/server-user.ts +1 -0
- package/src/slack/app.ts +5 -1
- package/src/tasks/worker-follow-up.ts +78 -7
- package/src/telemetry.ts +151 -0
- package/src/tests/acp-adapter.test.ts +192 -0
- package/src/tests/acp-swarm-events.test.ts +132 -0
- package/src/tests/agents-list-model-display.test.ts +20 -0
- package/src/tests/approval-cancellation-migration.test.ts +134 -0
- package/src/tests/approval-requests.test.ts +456 -2
- package/src/tests/apps-spike2.test.ts +4 -1
- package/src/tests/apps-sync-engine.test.ts +22 -18
- package/src/tests/claude-managed-adapter.test.ts +12 -0
- package/src/tests/codex-oauth-auth-json-fs.test.ts +19 -0
- package/src/tests/connection-embedded-auth.test.ts +4 -1
- package/src/tests/context-window.test.ts +2 -0
- package/src/tests/credential-check.test.ts +6 -0
- package/src/tests/db-client-busy-retry.test.ts +18 -0
- package/src/tests/db-client.test.ts +23 -0
- package/src/tests/db-retention-telemetry.test.ts +569 -0
- package/src/tests/db-retention.test.ts +456 -117
- package/src/tests/heartbeat.test.ts +140 -0
- package/src/tests/memory-http-recall-gating.test.ts +120 -13
- package/src/tests/memory-store.test.ts +41 -0
- package/src/tests/migration-046-budgets.test.ts +27 -5
- package/src/tests/oauth-presets.test.ts +17 -5
- package/src/tests/onboard-compose.test.ts +99 -0
- package/src/tests/onboard-env.test.ts +43 -0
- package/src/tests/onboard-manifest.test.ts +17 -1
- package/src/tests/onboard-non-interactive.test.ts +89 -0
- package/src/tests/pool-affinity.test.ts +100 -0
- package/src/tests/promote-draft-task-route.test.ts +32 -1
- package/src/tests/sandbox-spawn-test-helpers.ts +3 -0
- package/src/tests/sandboxed-process.test.ts +2 -2
- package/src/tests/schedule-target-type.test.ts +6 -3
- package/src/tests/script-connections-http.test.ts +4 -3
- package/src/tests/script-connections.test.ts +6 -1
- package/src/tests/script-workflows-runtime-e2e.test.ts +36 -28
- package/src/tests/scripts-external-api.test.ts +8 -5
- package/src/tests/scripts-http.test.ts +6 -3
- package/src/tests/scripts-mcp-e2e.test.ts +65 -60
- package/src/tests/scripts-retention.test.ts +6 -3
- package/src/tests/scripts-runtime-identity.test.ts +4 -2
- package/src/tests/scripts-runtime.test.ts +18 -16
- package/src/tests/session-costs-model-key-normalize.test.ts +2 -0
- package/src/tests/slack-read-boundaries.test.ts +3 -1
- package/src/tests/task-lifecycle-telemetry.test.ts +1 -0
- package/src/tests/task-tools-ctx.test.ts +88 -1
- package/src/tests/telemetry-init.test.ts +61 -0
- package/src/tests/tool-annotations.test.ts +4 -1
- package/src/tests/vendored-openapi.test.ts +15 -2
- package/src/tests/workflow-e2e.test.ts +4 -1
- package/src/tests/workflow-engine-v2.test.ts +5 -2
- package/src/tests/workflow-executors.test.ts +24 -19
- package/src/tests/workflow-http-v2.test.ts +17 -2
- package/src/tests/workflow-llm.test.ts +57 -0
- package/src/tests/workflow-retry-v2.test.ts +142 -1
- package/src/tests/workflow-swarm-script.test.ts +20 -17
- package/src/tools/get-task-details.ts +1 -0
- package/src/tools/mcp-servers/mcp-server-create.ts +7 -1
- package/src/tools/memory-search.ts +27 -2
- package/src/tools/send-task.ts +28 -10
- package/src/tools/task-action.ts +13 -5
- package/src/types.ts +31 -2
- package/src/utils/context-window.ts +2 -0
- package/src/workflows/approval-notifications.ts +72 -0
- package/src/workflows/checkpoint.ts +16 -9
- package/src/workflows/completed-step-routing.ts +31 -0
- package/src/workflows/engine.ts +59 -43
- package/src/workflows/executors/human-in-the-loop.ts +38 -4
- package/src/workflows/executors/raw-llm.ts +8 -6
- package/src/workflows/executors/validate.ts +6 -5
- package/src/workflows/executors/workflow-llm.ts +35 -0
- package/src/workflows/resume.ts +90 -13
- package/src/workflows/retry-poller.ts +8 -1
- package/vendored-openapi/README.md +4 -2
- package/vendored-openapi/manifest.json +33 -0
- package/vendored-openapi/microsoft-graph.json +781 -0
- package/dist/cli-5tnr64pm.js +0 -29
- package/dist/{anthropic-messages-pm7pp23c.js → anthropic-messages-tvgm75yc.js} +3 -3
- package/dist/{azure-openai-responses-cwesc845.js → azure-openai-responses-hed7waek.js} +4 -4
- package/dist/{cli-s9gpxh9q.js → cli-5kmzp1wx.js} +0 -0
- package/dist/{cli-s73zwwqn.js → cli-xjx3fbtn.js} +4 -4
- package/dist/{openai-codex-responses-xxca1qr1.js → openai-codex-responses-gv3n8rg0.js} +3 -3
- package/dist/{openai-completions-yzftqrft.js → openai-completions-dkrj9433.js} +8 -8
- package/dist/{openai-responses-e4dcwm9g.js → openai-responses-spk6t7kh.js} +11 -11
- package/dist/{openrouter-images-asqqnbvh.js → openrouter-images-71hthwh9.js} +3 -3
|
@@ -1,31 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cleanupSessionResources,
|
|
3
|
-
registerSessionResourceCleanup,
|
|
4
|
-
uuidv7
|
|
5
|
-
} from "./cli-v1mwc5v2.js";
|
|
6
|
-
import {
|
|
7
|
-
BASE_SUMMARIZE_PROMPT,
|
|
8
|
-
SummaryWithRatingsSchema,
|
|
9
|
-
buildSummaryWithRatingsPrompt
|
|
10
|
-
} from "./cli-8p37s71j.js";
|
|
11
1
|
import {
|
|
12
2
|
getValidCodexOAuth,
|
|
13
3
|
persistCodexOAuth
|
|
14
4
|
} from "./cli-e7d20cty.js";
|
|
15
5
|
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
init_zod
|
|
21
|
-
} from "./cli-s35981d0.js";
|
|
22
|
-
import {
|
|
23
|
-
init_secret_scrubber,
|
|
24
|
-
scrubSecrets
|
|
25
|
-
} from "./cli-mkq1rk7b.js";
|
|
26
|
-
import {
|
|
27
|
-
exports_external
|
|
28
|
-
} from "./cli-pqv5gvyf.js";
|
|
6
|
+
cleanupSessionResources,
|
|
7
|
+
registerSessionResourceCleanup,
|
|
8
|
+
uuidv7
|
|
9
|
+
} from "./cli-v1mwc5v2.js";
|
|
29
10
|
import {
|
|
30
11
|
bedrockConverseStreamApi,
|
|
31
12
|
setBedrockProviderModule
|
|
@@ -5610,7 +5591,7 @@ function amazonBedrockProvider() {
|
|
|
5610
5591
|
}
|
|
5611
5592
|
|
|
5612
5593
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.js
|
|
5613
|
-
var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-
|
|
5594
|
+
var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-dkrj9433.js"));
|
|
5614
5595
|
|
|
5615
5596
|
// node_modules/@earendil-works/pi-ai/dist/auth/helpers.js
|
|
5616
5597
|
function envApiKeyAuth(name, envVars) {
|
|
@@ -5666,7 +5647,7 @@ function antLingProvider() {
|
|
|
5666
5647
|
}
|
|
5667
5648
|
|
|
5668
5649
|
// node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.js
|
|
5669
|
-
var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-
|
|
5650
|
+
var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-tvgm75yc.js"));
|
|
5670
5651
|
|
|
5671
5652
|
// node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js
|
|
5672
5653
|
var __rewriteRelativeImportExtension = function(path, preserveJsx) {
|
|
@@ -5904,7 +5885,7 @@ function anthropicProvider() {
|
|
|
5904
5885
|
}
|
|
5905
5886
|
|
|
5906
5887
|
// node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.js
|
|
5907
|
-
var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-
|
|
5888
|
+
var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-hed7waek.js"));
|
|
5908
5889
|
|
|
5909
5890
|
// node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js
|
|
5910
5891
|
function azureOpenAIResponsesProvider() {
|
|
@@ -5942,7 +5923,7 @@ function cerebrasProvider() {
|
|
|
5942
5923
|
}
|
|
5943
5924
|
|
|
5944
5925
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.js
|
|
5945
|
-
var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-
|
|
5926
|
+
var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-spk6t7kh.js"));
|
|
5946
5927
|
|
|
5947
5928
|
// node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js
|
|
5948
5929
|
var CLOUDFLARE_API_KEY = "CLOUDFLARE_API_KEY";
|
|
@@ -6130,7 +6111,7 @@ function githubCopilotProvider() {
|
|
|
6130
6111
|
}
|
|
6131
6112
|
|
|
6132
6113
|
// node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.js
|
|
6133
|
-
var googleGenerativeAIApi = () => lazyApi(() => import("./google-generative-ai-
|
|
6114
|
+
var googleGenerativeAIApi = () => lazyApi(() => import("./google-generative-ai-zyhy3dab.js"));
|
|
6134
6115
|
|
|
6135
6116
|
// node_modules/@earendil-works/pi-ai/dist/providers/google.js
|
|
6136
6117
|
function googleProvider() {
|
|
@@ -6145,7 +6126,7 @@ function googleProvider() {
|
|
|
6145
6126
|
}
|
|
6146
6127
|
|
|
6147
6128
|
// node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.js
|
|
6148
|
-
var googleVertexApi = () => lazyApi(() => import("./google-vertex-
|
|
6129
|
+
var googleVertexApi = () => lazyApi(() => import("./google-vertex-t25h65yd.js"));
|
|
6149
6130
|
|
|
6150
6131
|
// node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js
|
|
6151
6132
|
var VERTEX_ADC_PATH = "~/.config/gcloud/application_default_credentials.json";
|
|
@@ -6362,7 +6343,7 @@ function openaiProvider() {
|
|
|
6362
6343
|
}
|
|
6363
6344
|
|
|
6364
6345
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.js
|
|
6365
|
-
var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-
|
|
6346
|
+
var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-gv3n8rg0.js"));
|
|
6366
6347
|
|
|
6367
6348
|
// node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js
|
|
6368
6349
|
function openaiCodexProvider() {
|
|
@@ -6434,7 +6415,7 @@ function openrouterProvider() {
|
|
|
6434
6415
|
|
|
6435
6416
|
// node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.lazy.js
|
|
6436
6417
|
var openrouterImagesApi = () => ({
|
|
6437
|
-
generateImages: async (model, context, options) => (await import("./openrouter-images-
|
|
6418
|
+
generateImages: async (model, context, options) => (await import("./openrouter-images-71hthwh9.js")).generateImages(model, context, options)
|
|
6438
6419
|
});
|
|
6439
6420
|
|
|
6440
6421
|
// node_modules/@earendil-works/pi-ai/dist/image-models.generated.js
|
|
@@ -7558,200 +7539,6 @@ function builtinImagesModels(options) {
|
|
|
7558
7539
|
}
|
|
7559
7540
|
return models;
|
|
7560
7541
|
}
|
|
7561
|
-
|
|
7562
|
-
// node_modules/@earendil-works/pi-ai/dist/compat.js
|
|
7563
|
-
var exports_compat = {};
|
|
7564
|
-
__export(exports_compat, {
|
|
7565
|
-
ANTHROPIC_API_KEY_ENV: () => ANTHROPIC_API_KEY_ENV,
|
|
7566
|
-
ANTHROPIC_AUTH_TOKEN_ENV: () => ANTHROPIC_AUTH_TOKEN_ENV,
|
|
7567
|
-
ANTHROPIC_OAUTH_TOKEN_ENV: () => ANTHROPIC_OAUTH_TOKEN_ENV,
|
|
7568
|
-
AssistantMessageEventStream: () => AssistantMessageEventStream,
|
|
7569
|
-
EventStream: () => EventStream,
|
|
7570
|
-
InMemoryCredentialStore: () => InMemoryCredentialStore,
|
|
7571
|
-
InMemoryModelsStore: () => InMemoryModelsStore,
|
|
7572
|
-
ModelsError: () => ModelsError,
|
|
7573
|
-
StringEnum: () => StringEnum,
|
|
7574
|
-
Type: () => exports_typebox,
|
|
7575
|
-
anthropicMessagesApi: () => anthropicMessagesApi,
|
|
7576
|
-
appendAssistantMessageDiagnostic: () => appendAssistantMessageDiagnostic,
|
|
7577
|
-
azureOpenAIResponsesApi: () => azureOpenAIResponsesApi,
|
|
7578
|
-
bedrockConverseStreamApi: () => bedrockConverseStreamApi,
|
|
7579
|
-
calculateCost: () => calculateCost,
|
|
7580
|
-
clampThinkingLevel: () => clampThinkingLevel,
|
|
7581
|
-
cleanupSessionResources: () => cleanupSessionResources,
|
|
7582
|
-
complete: () => complete,
|
|
7583
|
-
completeSimple: () => completeSimple,
|
|
7584
|
-
contentText: () => contentText,
|
|
7585
|
-
createAssistantMessageDiagnostic: () => createAssistantMessageDiagnostic,
|
|
7586
|
-
createAssistantMessageEventStream: () => createAssistantMessageEventStream,
|
|
7587
|
-
createFauxCore: () => createFauxCore,
|
|
7588
|
-
createImagesModels: () => createImagesModels,
|
|
7589
|
-
createImagesProvider: () => createImagesProvider,
|
|
7590
|
-
createModels: () => createModels,
|
|
7591
|
-
createProvider: () => createProvider,
|
|
7592
|
-
defaultProviderAuthContext: () => defaultProviderAuthContext,
|
|
7593
|
-
envApiKeyAuth: () => envApiKeyAuth,
|
|
7594
|
-
extractDiagnosticError: () => extractDiagnosticError,
|
|
7595
|
-
fauxAssistantMessage: () => fauxAssistantMessage,
|
|
7596
|
-
fauxProvider: () => fauxProvider,
|
|
7597
|
-
fauxText: () => fauxText,
|
|
7598
|
-
fauxThinking: () => fauxThinking,
|
|
7599
|
-
fauxToolCall: () => fauxToolCall,
|
|
7600
|
-
findEnvKeys: () => findEnvKeys,
|
|
7601
|
-
formatThrownValue: () => formatThrownValue,
|
|
7602
|
-
generateImages: () => generateImages,
|
|
7603
|
-
generateImagesOpenRouter: () => generateImagesOpenRouter,
|
|
7604
|
-
getApiProvider: () => getApiProvider,
|
|
7605
|
-
getApiProviders: () => getApiProviders,
|
|
7606
|
-
getEnvApiKey: () => getEnvApiKey,
|
|
7607
|
-
getImageModel: () => getImageModel,
|
|
7608
|
-
getImageModels: () => getImageModels,
|
|
7609
|
-
getImageProviders: () => getImageProviders,
|
|
7610
|
-
getImagesApiProvider: () => getImagesApiProvider,
|
|
7611
|
-
getModel: () => getModel,
|
|
7612
|
-
getModels: () => getModels,
|
|
7613
|
-
getOverflowPatterns: () => getOverflowPatterns,
|
|
7614
|
-
getProviders: () => getProviders,
|
|
7615
|
-
getSupportedThinkingLevels: () => getSupportedThinkingLevels,
|
|
7616
|
-
googleGenerativeAIApi: () => googleGenerativeAIApi,
|
|
7617
|
-
googleVertexApi: () => googleVertexApi,
|
|
7618
|
-
hasApi: () => hasApi,
|
|
7619
|
-
isContextOverflow: () => isContextOverflow,
|
|
7620
|
-
isRecoverableLength: () => isRecoverableLength,
|
|
7621
|
-
isRetryableAssistantError: () => isRetryableAssistantError,
|
|
7622
|
-
lazyApi: () => lazyApi,
|
|
7623
|
-
lazyOAuth: () => lazyOAuth,
|
|
7624
|
-
lazyStream: () => lazyStream,
|
|
7625
|
-
mistralConversationsApi: () => mistralConversationsApi,
|
|
7626
|
-
modelsAreEqual: () => modelsAreEqual,
|
|
7627
|
-
openAICodexResponsesApi: () => openAICodexResponsesApi,
|
|
7628
|
-
openAICompletionsApi: () => openAICompletionsApi,
|
|
7629
|
-
openAIResponsesApi: () => openAIResponsesApi,
|
|
7630
|
-
parseJsonWithRepair: () => parseJsonWithRepair,
|
|
7631
|
-
parseStreamingJson: () => parseStreamingJson,
|
|
7632
|
-
piMessagesApi: () => piMessagesApi,
|
|
7633
|
-
registerApiProvider: () => registerApiProvider,
|
|
7634
|
-
registerBuiltInApiProviders: () => registerBuiltInApiProviders,
|
|
7635
|
-
registerBuiltInImagesApiProviders: () => registerBuiltInImagesApiProviders,
|
|
7636
|
-
registerFauxProvider: () => registerFauxProvider,
|
|
7637
|
-
registerImagesApiProvider: () => registerImagesApiProvider,
|
|
7638
|
-
registerSessionResourceCleanup: () => registerSessionResourceCleanup,
|
|
7639
|
-
repairJson: () => repairJson,
|
|
7640
|
-
resetApiProviders: () => resetApiProviders,
|
|
7641
|
-
retryAssistantCall: () => retryAssistantCall,
|
|
7642
|
-
setBedrockProviderModule: () => setBedrockProviderModule,
|
|
7643
|
-
stream: () => stream,
|
|
7644
|
-
streamAnthropic: () => streamAnthropic,
|
|
7645
|
-
streamAzureOpenAIResponses: () => streamAzureOpenAIResponses,
|
|
7646
|
-
streamGoogle: () => streamGoogle,
|
|
7647
|
-
streamGoogleVertex: () => streamGoogleVertex,
|
|
7648
|
-
streamMistral: () => streamMistral,
|
|
7649
|
-
streamOpenAICodexResponses: () => streamOpenAICodexResponses,
|
|
7650
|
-
streamOpenAICompletions: () => streamOpenAICompletions,
|
|
7651
|
-
streamOpenAIResponses: () => streamOpenAIResponses,
|
|
7652
|
-
streamSimple: () => streamSimple,
|
|
7653
|
-
streamSimpleAnthropic: () => streamSimpleAnthropic,
|
|
7654
|
-
streamSimpleAzureOpenAIResponses: () => streamSimpleAzureOpenAIResponses,
|
|
7655
|
-
streamSimpleGoogle: () => streamSimpleGoogle,
|
|
7656
|
-
streamSimpleGoogleVertex: () => streamSimpleGoogleVertex,
|
|
7657
|
-
streamSimpleMistral: () => streamSimpleMistral,
|
|
7658
|
-
streamSimpleOpenAICodexResponses: () => streamSimpleOpenAICodexResponses,
|
|
7659
|
-
streamSimpleOpenAICompletions: () => streamSimpleOpenAICompletions,
|
|
7660
|
-
streamSimpleOpenAIResponses: () => streamSimpleOpenAIResponses,
|
|
7661
|
-
unregisterApiProviders: () => unregisterApiProviders,
|
|
7662
|
-
uuidv7: () => uuidv7,
|
|
7663
|
-
validateToolArguments: () => validateToolArguments,
|
|
7664
|
-
validateToolCall: () => validateToolCall
|
|
7665
|
-
});
|
|
7666
|
-
|
|
7667
|
-
// node_modules/@earendil-works/pi-ai/dist/image-models.js
|
|
7668
|
-
var imageModelRegistry = new Map;
|
|
7669
|
-
for (const [provider, models] of Object.entries(IMAGE_MODELS)) {
|
|
7670
|
-
const providerModels = new Map;
|
|
7671
|
-
for (const [id, model] of Object.entries(models)) {
|
|
7672
|
-
providerModels.set(id, model);
|
|
7673
|
-
}
|
|
7674
|
-
imageModelRegistry.set(provider, providerModels);
|
|
7675
|
-
}
|
|
7676
|
-
function getImageModel(provider, modelId) {
|
|
7677
|
-
const providerModels = imageModelRegistry.get(provider);
|
|
7678
|
-
return providerModels?.get(modelId);
|
|
7679
|
-
}
|
|
7680
|
-
function getImageProviders() {
|
|
7681
|
-
return Array.from(imageModelRegistry.keys());
|
|
7682
|
-
}
|
|
7683
|
-
function getImageModels(provider) {
|
|
7684
|
-
const models = imageModelRegistry.get(provider);
|
|
7685
|
-
return models ? Array.from(models.values()) : [];
|
|
7686
|
-
}
|
|
7687
|
-
// node_modules/@earendil-works/pi-ai/dist/images-api-registry.js
|
|
7688
|
-
var imagesApiProviderRegistry = new Map;
|
|
7689
|
-
function wrapGenerateImages(api, generateImages) {
|
|
7690
|
-
return (model, context, options) => {
|
|
7691
|
-
if (model.api !== api) {
|
|
7692
|
-
throw new Error(`Mismatched api: ${model.api} expected ${api}`);
|
|
7693
|
-
}
|
|
7694
|
-
return generateImages(model, context, options);
|
|
7695
|
-
};
|
|
7696
|
-
}
|
|
7697
|
-
function registerImagesApiProvider(provider, sourceId) {
|
|
7698
|
-
imagesApiProviderRegistry.set(provider.api, {
|
|
7699
|
-
provider: {
|
|
7700
|
-
api: provider.api,
|
|
7701
|
-
generateImages: wrapGenerateImages(provider.api, provider.generateImages)
|
|
7702
|
-
},
|
|
7703
|
-
sourceId
|
|
7704
|
-
});
|
|
7705
|
-
}
|
|
7706
|
-
function getImagesApiProvider(api) {
|
|
7707
|
-
return imagesApiProviderRegistry.get(api)?.provider;
|
|
7708
|
-
}
|
|
7709
|
-
|
|
7710
|
-
// node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js
|
|
7711
|
-
var openRouterImagesProviderModulePromise;
|
|
7712
|
-
function createLazyLoadErrorImages(model, error) {
|
|
7713
|
-
return {
|
|
7714
|
-
api: model.api,
|
|
7715
|
-
provider: model.provider,
|
|
7716
|
-
model: model.id,
|
|
7717
|
-
output: [],
|
|
7718
|
-
stopReason: "error",
|
|
7719
|
-
errorMessage: error instanceof Error ? error.message : String(error),
|
|
7720
|
-
timestamp: Date.now()
|
|
7721
|
-
};
|
|
7722
|
-
}
|
|
7723
|
-
function loadOpenRouterImagesProviderModule() {
|
|
7724
|
-
openRouterImagesProviderModulePromise ||= import("./openrouter-images-asqqnbvh.js").then((module3) => module3);
|
|
7725
|
-
return openRouterImagesProviderModulePromise;
|
|
7726
|
-
}
|
|
7727
|
-
var generateImagesOpenRouter = async (model, context, options) => {
|
|
7728
|
-
try {
|
|
7729
|
-
const module3 = await loadOpenRouterImagesProviderModule();
|
|
7730
|
-
return await module3.generateImages(model, context, options);
|
|
7731
|
-
} catch (error) {
|
|
7732
|
-
return createLazyLoadErrorImages(model, error);
|
|
7733
|
-
}
|
|
7734
|
-
};
|
|
7735
|
-
function registerBuiltInImagesApiProviders() {
|
|
7736
|
-
registerImagesApiProvider({
|
|
7737
|
-
api: "openrouter-images",
|
|
7738
|
-
generateImages: generateImagesOpenRouter
|
|
7739
|
-
});
|
|
7740
|
-
}
|
|
7741
|
-
registerBuiltInImagesApiProviders();
|
|
7742
|
-
|
|
7743
|
-
// node_modules/@earendil-works/pi-ai/dist/images.js
|
|
7744
|
-
function resolveImagesApiProvider(api) {
|
|
7745
|
-
const provider = getImagesApiProvider(api);
|
|
7746
|
-
if (!provider) {
|
|
7747
|
-
throw new Error(`No API provider registered for api: ${api}`);
|
|
7748
|
-
}
|
|
7749
|
-
return provider;
|
|
7750
|
-
}
|
|
7751
|
-
async function generateImages(model, context, options) {
|
|
7752
|
-
const provider = resolveImagesApiProvider(model.api);
|
|
7753
|
-
return provider.generateImages(model, context, options);
|
|
7754
|
-
}
|
|
7755
7542
|
// node_modules/@earendil-works/pi-ai/dist/providers/faux.js
|
|
7756
7543
|
var DEFAULT_API = "faux";
|
|
7757
7544
|
var DEFAULT_PROVIDER = "faux";
|
|
@@ -13149,6 +12936,199 @@ Received arguments:
|
|
|
13149
12936
|
${JSON.stringify(toolCall.arguments, null, 2)}`;
|
|
13150
12937
|
throw new Error(errorMessage);
|
|
13151
12938
|
}
|
|
12939
|
+
// node_modules/@earendil-works/pi-ai/dist/compat.js
|
|
12940
|
+
var exports_compat = {};
|
|
12941
|
+
__export(exports_compat, {
|
|
12942
|
+
ANTHROPIC_API_KEY_ENV: () => ANTHROPIC_API_KEY_ENV,
|
|
12943
|
+
ANTHROPIC_AUTH_TOKEN_ENV: () => ANTHROPIC_AUTH_TOKEN_ENV,
|
|
12944
|
+
ANTHROPIC_OAUTH_TOKEN_ENV: () => ANTHROPIC_OAUTH_TOKEN_ENV,
|
|
12945
|
+
AssistantMessageEventStream: () => AssistantMessageEventStream,
|
|
12946
|
+
EventStream: () => EventStream,
|
|
12947
|
+
InMemoryCredentialStore: () => InMemoryCredentialStore,
|
|
12948
|
+
InMemoryModelsStore: () => InMemoryModelsStore,
|
|
12949
|
+
ModelsError: () => ModelsError,
|
|
12950
|
+
StringEnum: () => StringEnum,
|
|
12951
|
+
Type: () => exports_typebox,
|
|
12952
|
+
anthropicMessagesApi: () => anthropicMessagesApi,
|
|
12953
|
+
appendAssistantMessageDiagnostic: () => appendAssistantMessageDiagnostic,
|
|
12954
|
+
azureOpenAIResponsesApi: () => azureOpenAIResponsesApi,
|
|
12955
|
+
bedrockConverseStreamApi: () => bedrockConverseStreamApi,
|
|
12956
|
+
calculateCost: () => calculateCost,
|
|
12957
|
+
clampThinkingLevel: () => clampThinkingLevel,
|
|
12958
|
+
cleanupSessionResources: () => cleanupSessionResources,
|
|
12959
|
+
complete: () => complete,
|
|
12960
|
+
completeSimple: () => completeSimple,
|
|
12961
|
+
contentText: () => contentText,
|
|
12962
|
+
createAssistantMessageDiagnostic: () => createAssistantMessageDiagnostic,
|
|
12963
|
+
createAssistantMessageEventStream: () => createAssistantMessageEventStream,
|
|
12964
|
+
createFauxCore: () => createFauxCore,
|
|
12965
|
+
createImagesModels: () => createImagesModels,
|
|
12966
|
+
createImagesProvider: () => createImagesProvider,
|
|
12967
|
+
createModels: () => createModels,
|
|
12968
|
+
createProvider: () => createProvider,
|
|
12969
|
+
defaultProviderAuthContext: () => defaultProviderAuthContext,
|
|
12970
|
+
envApiKeyAuth: () => envApiKeyAuth,
|
|
12971
|
+
extractDiagnosticError: () => extractDiagnosticError,
|
|
12972
|
+
fauxAssistantMessage: () => fauxAssistantMessage,
|
|
12973
|
+
fauxProvider: () => fauxProvider,
|
|
12974
|
+
fauxText: () => fauxText,
|
|
12975
|
+
fauxThinking: () => fauxThinking,
|
|
12976
|
+
fauxToolCall: () => fauxToolCall,
|
|
12977
|
+
findEnvKeys: () => findEnvKeys,
|
|
12978
|
+
formatThrownValue: () => formatThrownValue,
|
|
12979
|
+
generateImages: () => generateImages,
|
|
12980
|
+
generateImagesOpenRouter: () => generateImagesOpenRouter,
|
|
12981
|
+
getApiProvider: () => getApiProvider,
|
|
12982
|
+
getApiProviders: () => getApiProviders,
|
|
12983
|
+
getEnvApiKey: () => getEnvApiKey,
|
|
12984
|
+
getImageModel: () => getImageModel,
|
|
12985
|
+
getImageModels: () => getImageModels,
|
|
12986
|
+
getImageProviders: () => getImageProviders,
|
|
12987
|
+
getImagesApiProvider: () => getImagesApiProvider,
|
|
12988
|
+
getModel: () => getModel,
|
|
12989
|
+
getModels: () => getModels,
|
|
12990
|
+
getOverflowPatterns: () => getOverflowPatterns,
|
|
12991
|
+
getProviders: () => getProviders,
|
|
12992
|
+
getSupportedThinkingLevels: () => getSupportedThinkingLevels,
|
|
12993
|
+
googleGenerativeAIApi: () => googleGenerativeAIApi,
|
|
12994
|
+
googleVertexApi: () => googleVertexApi,
|
|
12995
|
+
hasApi: () => hasApi,
|
|
12996
|
+
isContextOverflow: () => isContextOverflow,
|
|
12997
|
+
isRecoverableLength: () => isRecoverableLength,
|
|
12998
|
+
isRetryableAssistantError: () => isRetryableAssistantError,
|
|
12999
|
+
lazyApi: () => lazyApi,
|
|
13000
|
+
lazyOAuth: () => lazyOAuth,
|
|
13001
|
+
lazyStream: () => lazyStream,
|
|
13002
|
+
mistralConversationsApi: () => mistralConversationsApi,
|
|
13003
|
+
modelsAreEqual: () => modelsAreEqual,
|
|
13004
|
+
openAICodexResponsesApi: () => openAICodexResponsesApi,
|
|
13005
|
+
openAICompletionsApi: () => openAICompletionsApi,
|
|
13006
|
+
openAIResponsesApi: () => openAIResponsesApi,
|
|
13007
|
+
parseJsonWithRepair: () => parseJsonWithRepair,
|
|
13008
|
+
parseStreamingJson: () => parseStreamingJson,
|
|
13009
|
+
piMessagesApi: () => piMessagesApi,
|
|
13010
|
+
registerApiProvider: () => registerApiProvider,
|
|
13011
|
+
registerBuiltInApiProviders: () => registerBuiltInApiProviders,
|
|
13012
|
+
registerBuiltInImagesApiProviders: () => registerBuiltInImagesApiProviders,
|
|
13013
|
+
registerFauxProvider: () => registerFauxProvider,
|
|
13014
|
+
registerImagesApiProvider: () => registerImagesApiProvider,
|
|
13015
|
+
registerSessionResourceCleanup: () => registerSessionResourceCleanup,
|
|
13016
|
+
repairJson: () => repairJson,
|
|
13017
|
+
resetApiProviders: () => resetApiProviders,
|
|
13018
|
+
retryAssistantCall: () => retryAssistantCall,
|
|
13019
|
+
setBedrockProviderModule: () => setBedrockProviderModule,
|
|
13020
|
+
stream: () => stream,
|
|
13021
|
+
streamAnthropic: () => streamAnthropic,
|
|
13022
|
+
streamAzureOpenAIResponses: () => streamAzureOpenAIResponses,
|
|
13023
|
+
streamGoogle: () => streamGoogle,
|
|
13024
|
+
streamGoogleVertex: () => streamGoogleVertex,
|
|
13025
|
+
streamMistral: () => streamMistral,
|
|
13026
|
+
streamOpenAICodexResponses: () => streamOpenAICodexResponses,
|
|
13027
|
+
streamOpenAICompletions: () => streamOpenAICompletions,
|
|
13028
|
+
streamOpenAIResponses: () => streamOpenAIResponses,
|
|
13029
|
+
streamSimple: () => streamSimple,
|
|
13030
|
+
streamSimpleAnthropic: () => streamSimpleAnthropic,
|
|
13031
|
+
streamSimpleAzureOpenAIResponses: () => streamSimpleAzureOpenAIResponses,
|
|
13032
|
+
streamSimpleGoogle: () => streamSimpleGoogle,
|
|
13033
|
+
streamSimpleGoogleVertex: () => streamSimpleGoogleVertex,
|
|
13034
|
+
streamSimpleMistral: () => streamSimpleMistral,
|
|
13035
|
+
streamSimpleOpenAICodexResponses: () => streamSimpleOpenAICodexResponses,
|
|
13036
|
+
streamSimpleOpenAICompletions: () => streamSimpleOpenAICompletions,
|
|
13037
|
+
streamSimpleOpenAIResponses: () => streamSimpleOpenAIResponses,
|
|
13038
|
+
unregisterApiProviders: () => unregisterApiProviders,
|
|
13039
|
+
uuidv7: () => uuidv7,
|
|
13040
|
+
validateToolArguments: () => validateToolArguments,
|
|
13041
|
+
validateToolCall: () => validateToolCall
|
|
13042
|
+
});
|
|
13043
|
+
|
|
13044
|
+
// node_modules/@earendil-works/pi-ai/dist/image-models.js
|
|
13045
|
+
var imageModelRegistry = new Map;
|
|
13046
|
+
for (const [provider, models2] of Object.entries(IMAGE_MODELS)) {
|
|
13047
|
+
const providerModels = new Map;
|
|
13048
|
+
for (const [id2, model] of Object.entries(models2)) {
|
|
13049
|
+
providerModels.set(id2, model);
|
|
13050
|
+
}
|
|
13051
|
+
imageModelRegistry.set(provider, providerModels);
|
|
13052
|
+
}
|
|
13053
|
+
function getImageModel(provider, modelId) {
|
|
13054
|
+
const providerModels = imageModelRegistry.get(provider);
|
|
13055
|
+
return providerModels?.get(modelId);
|
|
13056
|
+
}
|
|
13057
|
+
function getImageProviders() {
|
|
13058
|
+
return Array.from(imageModelRegistry.keys());
|
|
13059
|
+
}
|
|
13060
|
+
function getImageModels(provider) {
|
|
13061
|
+
const models2 = imageModelRegistry.get(provider);
|
|
13062
|
+
return models2 ? Array.from(models2.values()) : [];
|
|
13063
|
+
}
|
|
13064
|
+
// node_modules/@earendil-works/pi-ai/dist/images-api-registry.js
|
|
13065
|
+
var imagesApiProviderRegistry = new Map;
|
|
13066
|
+
function wrapGenerateImages(api, generateImages) {
|
|
13067
|
+
return (model, context2, options) => {
|
|
13068
|
+
if (model.api !== api) {
|
|
13069
|
+
throw new Error(`Mismatched api: ${model.api} expected ${api}`);
|
|
13070
|
+
}
|
|
13071
|
+
return generateImages(model, context2, options);
|
|
13072
|
+
};
|
|
13073
|
+
}
|
|
13074
|
+
function registerImagesApiProvider(provider, sourceId) {
|
|
13075
|
+
imagesApiProviderRegistry.set(provider.api, {
|
|
13076
|
+
provider: {
|
|
13077
|
+
api: provider.api,
|
|
13078
|
+
generateImages: wrapGenerateImages(provider.api, provider.generateImages)
|
|
13079
|
+
},
|
|
13080
|
+
sourceId
|
|
13081
|
+
});
|
|
13082
|
+
}
|
|
13083
|
+
function getImagesApiProvider(api) {
|
|
13084
|
+
return imagesApiProviderRegistry.get(api)?.provider;
|
|
13085
|
+
}
|
|
13086
|
+
|
|
13087
|
+
// node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js
|
|
13088
|
+
var openRouterImagesProviderModulePromise;
|
|
13089
|
+
function createLazyLoadErrorImages(model, error2) {
|
|
13090
|
+
return {
|
|
13091
|
+
api: model.api,
|
|
13092
|
+
provider: model.provider,
|
|
13093
|
+
model: model.id,
|
|
13094
|
+
output: [],
|
|
13095
|
+
stopReason: "error",
|
|
13096
|
+
errorMessage: error2 instanceof Error ? error2.message : String(error2),
|
|
13097
|
+
timestamp: Date.now()
|
|
13098
|
+
};
|
|
13099
|
+
}
|
|
13100
|
+
function loadOpenRouterImagesProviderModule() {
|
|
13101
|
+
openRouterImagesProviderModulePromise ||= import("./openrouter-images-71hthwh9.js").then((module3) => module3);
|
|
13102
|
+
return openRouterImagesProviderModulePromise;
|
|
13103
|
+
}
|
|
13104
|
+
var generateImagesOpenRouter = async (model, context2, options) => {
|
|
13105
|
+
try {
|
|
13106
|
+
const module3 = await loadOpenRouterImagesProviderModule();
|
|
13107
|
+
return await module3.generateImages(model, context2, options);
|
|
13108
|
+
} catch (error2) {
|
|
13109
|
+
return createLazyLoadErrorImages(model, error2);
|
|
13110
|
+
}
|
|
13111
|
+
};
|
|
13112
|
+
function registerBuiltInImagesApiProviders() {
|
|
13113
|
+
registerImagesApiProvider({
|
|
13114
|
+
api: "openrouter-images",
|
|
13115
|
+
generateImages: generateImagesOpenRouter
|
|
13116
|
+
});
|
|
13117
|
+
}
|
|
13118
|
+
registerBuiltInImagesApiProviders();
|
|
13119
|
+
|
|
13120
|
+
// node_modules/@earendil-works/pi-ai/dist/images.js
|
|
13121
|
+
function resolveImagesApiProvider(api) {
|
|
13122
|
+
const provider = getImagesApiProvider(api);
|
|
13123
|
+
if (!provider) {
|
|
13124
|
+
throw new Error(`No API provider registered for api: ${api}`);
|
|
13125
|
+
}
|
|
13126
|
+
return provider;
|
|
13127
|
+
}
|
|
13128
|
+
async function generateImages(model, context2, options) {
|
|
13129
|
+
const provider = resolveImagesApiProvider(model.api);
|
|
13130
|
+
return provider.generateImages(model, context2, options);
|
|
13131
|
+
}
|
|
13152
13132
|
// node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.js
|
|
13153
13133
|
var anthropicMessagesStreams = anthropicMessagesApi();
|
|
13154
13134
|
var azureOpenAIResponsesStreams = azureOpenAIResponsesApi();
|
|
@@ -13325,9 +13305,23 @@ async function completeSimple(model, context2, options) {
|
|
|
13325
13305
|
return s.result();
|
|
13326
13306
|
}
|
|
13327
13307
|
|
|
13328
|
-
// src/utils/internal-ai/
|
|
13329
|
-
|
|
13330
|
-
|
|
13308
|
+
// src/utils/internal-ai/models.ts
|
|
13309
|
+
var DEFAULT_MODEL = {
|
|
13310
|
+
openrouter: "openrouter/google/gemini-3-flash-preview",
|
|
13311
|
+
anthropic: "anthropic/claude-haiku-4-5",
|
|
13312
|
+
openai: "openai/gpt-5.4-mini",
|
|
13313
|
+
"openai-codex": "openai-codex/gpt-5.4-mini",
|
|
13314
|
+
"claude-cli": "haiku"
|
|
13315
|
+
};
|
|
13316
|
+
function resolveModelString(kind) {
|
|
13317
|
+
return process.env.MEMORY_RATER_MODEL ?? DEFAULT_MODEL[kind];
|
|
13318
|
+
}
|
|
13319
|
+
function parseModelStr(modelStr) {
|
|
13320
|
+
const idx = modelStr.indexOf("/");
|
|
13321
|
+
if (idx < 0)
|
|
13322
|
+
throw new Error(`invalid model string (no '/'): ${modelStr}`);
|
|
13323
|
+
return [modelStr.slice(0, idx), modelStr.slice(idx + 1)];
|
|
13324
|
+
}
|
|
13331
13325
|
|
|
13332
13326
|
// node_modules/@earendil-works/pi-ai/dist/auth/oauth/oauth-page.js
|
|
13333
13327
|
var LOGO_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800" aria-hidden="true"><path fill="#fff" fill-rule="evenodd" d="M165.29 165.29 H517.36 V400 H400 V517.36 H282.65 V634.72 H165.29 Z M282.65 282.65 V400 H400 V282.65 Z"/><path fill="#fff" d="M517.36 400 H634.72 V634.72 H517.36 Z"/></svg>`;
|
|
@@ -15520,24 +15514,6 @@ function registerBunOAuthFlows() {
|
|
|
15520
15514
|
});
|
|
15521
15515
|
}
|
|
15522
15516
|
|
|
15523
|
-
// src/utils/internal-ai/models.ts
|
|
15524
|
-
var DEFAULT_MODEL = {
|
|
15525
|
-
openrouter: "openrouter/google/gemini-3-flash-preview",
|
|
15526
|
-
anthropic: "anthropic/claude-haiku-4-5",
|
|
15527
|
-
openai: "openai/gpt-5.4-mini",
|
|
15528
|
-
"openai-codex": "openai-codex/gpt-5.4-mini",
|
|
15529
|
-
"claude-cli": "haiku"
|
|
15530
|
-
};
|
|
15531
|
-
function resolveModelString(kind) {
|
|
15532
|
-
return process.env.MEMORY_RATER_MODEL ?? DEFAULT_MODEL[kind];
|
|
15533
|
-
}
|
|
15534
|
-
function parseModelStr(modelStr) {
|
|
15535
|
-
const idx = modelStr.indexOf("/");
|
|
15536
|
-
if (idx < 0)
|
|
15537
|
-
throw new Error(`invalid model string (no '/'): ${modelStr}`);
|
|
15538
|
-
return [modelStr.slice(0, idx), modelStr.slice(idx + 1)];
|
|
15539
|
-
}
|
|
15540
|
-
|
|
15541
15517
|
// src/utils/internal-ai/credentials.ts
|
|
15542
15518
|
registerBunOAuthFlows();
|
|
15543
15519
|
var resolveOAuthApiKey = async (providerId, credentials) => {
|
|
@@ -15635,231 +15611,4 @@ async function resolveCredential(opts = {}) {
|
|
|
15635
15611
|
return null;
|
|
15636
15612
|
}
|
|
15637
15613
|
|
|
15638
|
-
|
|
15639
|
-
var CLAUDE_CLI_TIMEOUT_MS = 30000;
|
|
15640
|
-
function stripJsonFences(raw) {
|
|
15641
|
-
const trimmed = raw.trim();
|
|
15642
|
-
const fenced = trimmed.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/i);
|
|
15643
|
-
return fenced?.[1] ? fenced[1].trim() : trimmed;
|
|
15644
|
-
}
|
|
15645
|
-
function parseJsonText(raw) {
|
|
15646
|
-
try {
|
|
15647
|
-
return JSON.parse(stripJsonFences(raw));
|
|
15648
|
-
} catch {
|
|
15649
|
-
return;
|
|
15650
|
-
}
|
|
15651
|
-
}
|
|
15652
|
-
function errorMessage(err) {
|
|
15653
|
-
const message = err instanceof Error ? err.message : String(err ?? "unknown error");
|
|
15654
|
-
return message.replace(/\s+/g, " ");
|
|
15655
|
-
}
|
|
15656
|
-
async function defaultSpawnClaudeCli(prompt, model, signal, jsonSchema) {
|
|
15657
|
-
const useClaudeBridge = ["true", "1"].includes((process.env.SWARM_USE_CLAUDE_BRIDGE ?? "").trim().toLowerCase());
|
|
15658
|
-
const claudeBinaryRaw = useClaudeBridge ? "claude-bridge" : (process.env.CLAUDE_BINARY ?? "claude").trim();
|
|
15659
|
-
const claudeBinaryArgv = (claudeBinaryRaw || "claude").split(/\s+/);
|
|
15660
|
-
const cmd = [...claudeBinaryArgv, "-p", "--model", model, "--output-format", "json"];
|
|
15661
|
-
if (jsonSchema) {
|
|
15662
|
-
cmd.push("--json-schema", JSON.stringify(jsonSchema));
|
|
15663
|
-
}
|
|
15664
|
-
const env = { ...process.env };
|
|
15665
|
-
if (!env.CLAUDE_CODE_OAUTH_TOKEN && env.AGENT_SWARM_CLAUDE_OAUTH_TOKEN) {
|
|
15666
|
-
env.CLAUDE_CODE_OAUTH_TOKEN = env.AGENT_SWARM_CLAUDE_OAUTH_TOKEN;
|
|
15667
|
-
}
|
|
15668
|
-
env.SKIP_SESSION_SUMMARY = "1";
|
|
15669
|
-
const proc = Bun.spawn({
|
|
15670
|
-
cmd,
|
|
15671
|
-
env,
|
|
15672
|
-
stdin: "pipe",
|
|
15673
|
-
stdout: "pipe",
|
|
15674
|
-
stderr: "pipe"
|
|
15675
|
-
});
|
|
15676
|
-
const timeout = setTimeout(() => {
|
|
15677
|
-
try {
|
|
15678
|
-
proc.kill();
|
|
15679
|
-
} catch {}
|
|
15680
|
-
}, CLAUDE_CLI_TIMEOUT_MS);
|
|
15681
|
-
const abortHandler = () => {
|
|
15682
|
-
try {
|
|
15683
|
-
proc.kill();
|
|
15684
|
-
} catch {}
|
|
15685
|
-
};
|
|
15686
|
-
signal?.addEventListener("abort", abortHandler, { once: true });
|
|
15687
|
-
try {
|
|
15688
|
-
proc.stdin.write(prompt);
|
|
15689
|
-
await proc.stdin.end();
|
|
15690
|
-
const [stdout, stderr, exitCode] = await Promise.all([
|
|
15691
|
-
new Response(proc.stdout).text(),
|
|
15692
|
-
new Response(proc.stderr).text(),
|
|
15693
|
-
proc.exited
|
|
15694
|
-
]);
|
|
15695
|
-
if (exitCode !== 0) {
|
|
15696
|
-
console.error(`internal-ai: claude -p exited ${exitCode}; stderr=${stderr.slice(0, 500)}`);
|
|
15697
|
-
}
|
|
15698
|
-
try {
|
|
15699
|
-
const envelope = JSON.parse(stdout);
|
|
15700
|
-
if (jsonSchema && envelope.structured_output !== undefined) {
|
|
15701
|
-
return JSON.stringify(envelope.structured_output);
|
|
15702
|
-
}
|
|
15703
|
-
return envelope.result ?? stdout;
|
|
15704
|
-
} catch {
|
|
15705
|
-
return stdout;
|
|
15706
|
-
}
|
|
15707
|
-
} finally {
|
|
15708
|
-
clearTimeout(timeout);
|
|
15709
|
-
signal?.removeEventListener("abort", abortHandler);
|
|
15710
|
-
}
|
|
15711
|
-
}
|
|
15712
|
-
async function completeStructured(opts) {
|
|
15713
|
-
const retries = opts.retries ?? 3;
|
|
15714
|
-
const callerTag = opts.callerTag ?? "<unset>";
|
|
15715
|
-
let cred;
|
|
15716
|
-
if (opts._credentialOverride) {
|
|
15717
|
-
cred = opts._credentialOverride;
|
|
15718
|
-
} else {
|
|
15719
|
-
const resolver = opts._resolveCredential ?? resolveCredential;
|
|
15720
|
-
cred = await resolver({
|
|
15721
|
-
env: opts.env ?? process.env,
|
|
15722
|
-
apiUrl: opts.apiUrl,
|
|
15723
|
-
apiKey: opts.apiKey,
|
|
15724
|
-
callerTag: opts.callerTag
|
|
15725
|
-
});
|
|
15726
|
-
}
|
|
15727
|
-
if (!cred) {
|
|
15728
|
-
return null;
|
|
15729
|
-
}
|
|
15730
|
-
console.log(`internal-ai: kind=${cred.kind} callerTag=${callerTag}`);
|
|
15731
|
-
if (cred.kind === "claude-cli") {
|
|
15732
|
-
const spawn = opts._spawnClaudeCli ?? defaultSpawnClaudeCli;
|
|
15733
|
-
const jsonSchema = exports_external.toJSONSchema(opts.zodSchema);
|
|
15734
|
-
const schemaStr = JSON.stringify(jsonSchema);
|
|
15735
|
-
const claudeUserPrompt = `${opts.userPrompt}
|
|
15736
|
-
|
|
15737
|
-
Respond with ONLY a JSON object (no prose, no code fences) matching this schema:
|
|
15738
|
-
${schemaStr}`;
|
|
15739
|
-
let lastErr2 = null;
|
|
15740
|
-
for (let attempt = 0;attempt < retries; attempt++) {
|
|
15741
|
-
try {
|
|
15742
|
-
const raw = await spawn(`${opts.systemPrompt}
|
|
15743
|
-
|
|
15744
|
-
${claudeUserPrompt}`, cred.modelDefault, opts.signal, jsonSchema);
|
|
15745
|
-
let parsedJson;
|
|
15746
|
-
try {
|
|
15747
|
-
parsedJson = JSON.parse(stripJsonFences(raw));
|
|
15748
|
-
} catch (err) {
|
|
15749
|
-
lastErr2 = err;
|
|
15750
|
-
continue;
|
|
15751
|
-
}
|
|
15752
|
-
const validated = opts.zodSchema.safeParse(parsedJson);
|
|
15753
|
-
if (validated.success) {
|
|
15754
|
-
return validated.data;
|
|
15755
|
-
}
|
|
15756
|
-
lastErr2 = validated.error;
|
|
15757
|
-
} catch (err) {
|
|
15758
|
-
lastErr2 = err;
|
|
15759
|
-
}
|
|
15760
|
-
}
|
|
15761
|
-
console.error(scrubSecrets(`internal-ai: structured output failed after ${retries} retries (callerTag=${callerTag} kind=${cred.kind}): ${errorMessage(lastErr2)}`));
|
|
15762
|
-
return null;
|
|
15763
|
-
}
|
|
15764
|
-
const [provider, modelId] = parseModelStr(cred.modelDefault);
|
|
15765
|
-
let model;
|
|
15766
|
-
try {
|
|
15767
|
-
model = getBuiltinModel(provider, modelId);
|
|
15768
|
-
} catch (err) {
|
|
15769
|
-
console.error(`internal-ai: getModel(${provider}, ${modelId}) threw (callerTag=${callerTag})`, err);
|
|
15770
|
-
return null;
|
|
15771
|
-
}
|
|
15772
|
-
const openRouterBaseUrl = getOpenRouterBaseUrl(opts.env ?? process.env);
|
|
15773
|
-
if (provider === "openrouter" && openRouterBaseUrl !== DEFAULT_OPENROUTER_BASE_URL) {
|
|
15774
|
-
model = { ...model, baseUrl: openRouterBaseUrl };
|
|
15775
|
-
}
|
|
15776
|
-
const completeFn = opts._complete ?? complete;
|
|
15777
|
-
const toolChoice = model.api === "anthropic-messages" ? { type: "tool", name: opts.toolName } : "required";
|
|
15778
|
-
let userPrompt = opts.userPrompt;
|
|
15779
|
-
let lastErr = null;
|
|
15780
|
-
for (let attempt = 0;attempt < retries; attempt++) {
|
|
15781
|
-
try {
|
|
15782
|
-
const msg = await completeFn(model, {
|
|
15783
|
-
systemPrompt: opts.systemPrompt,
|
|
15784
|
-
messages: [{ role: "user", content: userPrompt, timestamp: Date.now() }],
|
|
15785
|
-
tools: [
|
|
15786
|
-
{
|
|
15787
|
-
name: opts.toolName,
|
|
15788
|
-
description: opts.toolDescription,
|
|
15789
|
-
parameters: opts.toolSchema
|
|
15790
|
-
}
|
|
15791
|
-
]
|
|
15792
|
-
}, { apiKey: cred.apiKey, signal: opts.signal, toolChoice });
|
|
15793
|
-
const toolCall = msg.content.find((c) => c.type === "toolCall" && c.name === opts.toolName);
|
|
15794
|
-
if (!toolCall) {
|
|
15795
|
-
const assistantText = msg.content.filter((content) => content.type === "text").map((content) => content.text).join(`
|
|
15796
|
-
`);
|
|
15797
|
-
if (assistantText) {
|
|
15798
|
-
const parsedText = parseJsonText(assistantText);
|
|
15799
|
-
if (parsedText !== undefined) {
|
|
15800
|
-
const validatedText = opts.zodSchema.safeParse(parsedText);
|
|
15801
|
-
if (validatedText.success) {
|
|
15802
|
-
return validatedText.data;
|
|
15803
|
-
}
|
|
15804
|
-
}
|
|
15805
|
-
}
|
|
15806
|
-
userPrompt = `${userPrompt}
|
|
15807
|
-
|
|
15808
|
-
You did not call the ${opts.toolName} tool. You MUST call it with the requested arguments.`;
|
|
15809
|
-
lastErr = new Error("no tool call in response");
|
|
15810
|
-
continue;
|
|
15811
|
-
}
|
|
15812
|
-
const validated = opts.zodSchema.safeParse(toolCall.arguments);
|
|
15813
|
-
if (validated.success) {
|
|
15814
|
-
return validated.data;
|
|
15815
|
-
}
|
|
15816
|
-
userPrompt = `${userPrompt}
|
|
15817
|
-
|
|
15818
|
-
The ${opts.toolName} arguments did not validate: ${validated.error.message}. Please retry with correct arguments.`;
|
|
15819
|
-
lastErr = validated.error;
|
|
15820
|
-
} catch (err) {
|
|
15821
|
-
lastErr = err;
|
|
15822
|
-
}
|
|
15823
|
-
}
|
|
15824
|
-
console.error(scrubSecrets(`internal-ai: structured output failed after ${retries} retries (callerTag=${callerTag} kind=${cred.kind}): ${errorMessage(lastErr)}`));
|
|
15825
|
-
return null;
|
|
15826
|
-
}
|
|
15827
|
-
|
|
15828
|
-
// src/utils/internal-ai/summarize-session.ts
|
|
15829
|
-
var summaryToolSchema = exports_typebox.Object({
|
|
15830
|
-
summary: exports_typebox.String(),
|
|
15831
|
-
ratings: exports_typebox.Array(exports_typebox.Object({
|
|
15832
|
-
id: exports_typebox.String({ minLength: 1 }),
|
|
15833
|
-
score: exports_typebox.Number({ minimum: 0, maximum: 1 }),
|
|
15834
|
-
reasoning: exports_typebox.String({ minLength: 1, maxLength: 500 }),
|
|
15835
|
-
referencesSource: exports_typebox.Optional(exports_typebox.String({ minLength: 1, maxLength: 512 }))
|
|
15836
|
-
}))
|
|
15837
|
-
});
|
|
15838
|
-
async function summarizeSession(opts) {
|
|
15839
|
-
if (opts.transcript.length <= 100)
|
|
15840
|
-
return null;
|
|
15841
|
-
const taskLine = opts.taskContext.prompt ? `
|
|
15842
|
-
Task: ${opts.taskContext.prompt}` : "";
|
|
15843
|
-
const basePrompt = `${BASE_SUMMARIZE_PROMPT}${taskLine}
|
|
15844
|
-
|
|
15845
|
-
Transcript:
|
|
15846
|
-
${opts.transcript}`;
|
|
15847
|
-
const userPrompt = buildSummaryWithRatingsPrompt(basePrompt, opts.retrievals);
|
|
15848
|
-
const runner = opts._completeStructured ?? completeStructured;
|
|
15849
|
-
return await runner({
|
|
15850
|
-
zodSchema: SummaryWithRatingsSchema,
|
|
15851
|
-
toolSchema: summaryToolSchema,
|
|
15852
|
-
toolName: "record_session_summary",
|
|
15853
|
-
toolDescription: "Record the high-value learnings extracted from this session, plus per-memory ratings of any retrievals.",
|
|
15854
|
-
systemPrompt: "You are an expert at extracting durable, generalizable learnings from agent sessions.",
|
|
15855
|
-
userPrompt,
|
|
15856
|
-
callerTag: `session-summary:${opts.harness}`,
|
|
15857
|
-
apiUrl: opts.apiUrl,
|
|
15858
|
-
apiKey: opts.apiKey,
|
|
15859
|
-
env: opts.env,
|
|
15860
|
-
signal: opts.signal,
|
|
15861
|
-
retries: 3,
|
|
15862
|
-
...opts._credentialOverride ? { _credentialOverride: opts._credentialOverride } : {}
|
|
15863
|
-
});
|
|
15864
|
-
}
|
|
15865
|
-
export { exports_typebox, exports_build, isContextOverflow, isRecoverableLength, retryAssistantCall, isRetryableAssistantError, contentText, exports_value2 as exports_value, Compile, exports_compile, validateToolArguments, DEFAULT_RADIUS_GATEWAY, radiusProvider, getBuiltinModel, getBuiltinModelDataGeneratedAt, getBuiltinModels, builtinProviders, exports_all, getApiProvider, resetApiProviders, stream, streamSimple, completeSimple, exports_compat, summarizeSession };
|
|
15614
|
+
export { exports_typebox, exports_build, isContextOverflow, isRecoverableLength, retryAssistantCall, isRetryableAssistantError, contentText, exports_value2 as exports_value, Compile, exports_compile, validateToolArguments, DEFAULT_RADIUS_GATEWAY, radiusProvider, getBuiltinModel, getBuiltinModelDataGeneratedAt, getBuiltinModels, builtinProviders, exports_all, getApiProvider, resetApiProviders, stream, complete, streamSimple, completeSimple, exports_compat, DEFAULT_MODEL, parseModelStr, resolveCredential };
|