@desplega.ai/agent-swarm 1.131.0 → 1.133.1
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 +2 -2
- package/dist/{actions-w53mbns9.js → actions-cskpayd7.js} +11 -9
- package/dist/{anthropic-messages-rjmd2e7n.js → anthropic-messages-tpxtbx7b.js} +28 -12
- package/dist/{app-m9gwqsqv.js → app-ang77nbb.js} +8 -6
- package/dist/{assistant-bp65m6f3.js → assistant-b4exebdw.js} +16 -13
- package/dist/{azure-openai-responses-c0yjmbfd.js → azure-openai-responses-m3921t4y.js} +8 -8
- package/dist/{boot-reembed-62p0at2k.js → boot-reembed-ps2aftpb.js} +9 -7
- package/dist/{boot-reembed-xmfp6wdh.js → boot-reembed-znyk3nxb.js} +10 -8
- package/dist/{boot-scrub-logs-rr8q2dms.js → boot-scrub-logs-2ax3xgz1.js} +7 -5
- package/dist/{claude-adapter-2y47mrkd.js → claude-adapter-3ct8kgxw.js} +13 -9
- package/dist/{claude-managed-adapter-gv19tdew.js → claude-managed-adapter-akx4ntf2.js} +2 -2
- package/dist/{cli-t1xze5qh.js → cli-13w2hwkh.js} +1 -1
- package/dist/{cli-efxfnq6q.js → cli-1532szb1.js} +8 -6
- package/dist/{cli-d2tfkcga.js → cli-23d3rseb.js} +33 -17
- package/dist/{cli-nm5gtp1x.js → cli-2a75z9c5.js} +196 -7
- package/dist/{cli-fywms69x.js → cli-2t30rj0d.js} +1 -1
- package/dist/{cli-cvgjwnh1.js → cli-3c3tdgab.js} +10 -10
- package/dist/{cli-pm6xbh84.js → cli-3zzxa9jz.js} +46 -16
- package/dist/{cli-cdeg08wx.js → cli-4k6233gc.js} +1 -1
- package/dist/{cli-t55yw3a1.js → cli-5p2tz05r.js} +2 -2
- package/dist/{cli-0rcyq6d9.js → cli-5z2yhzvd.js} +125 -47
- package/dist/{cli-3kf51j15.js → cli-6zfq31nj.js} +9 -3
- package/dist/{cli-er3a4bb0.js → cli-8m9de10a.js} +6 -1
- package/dist/{cli-gm9cbhbq.js → cli-8t14vg9w.js} +27 -8
- package/dist/{cli-72q8m8gk.js → cli-9nfc2es8.js} +6 -6
- package/dist/{cli-5ze9rv97.js → cli-9ta3pwms.js} +11 -4
- package/dist/{cli-78xwvkhj.js → cli-avr0ns7z.js} +2 -2
- package/dist/{cli-n6h8qt8n.js → cli-c897wyhw.js} +12 -7
- package/dist/{cli-2q72qz2s.js → cli-dgk20ft7.js} +15 -6
- package/dist/cli-et1bbwqf.js +13 -0
- package/dist/{cli-bqw0mt1n.js → cli-f5w27pj3.js} +3 -3
- package/dist/{cli-2wadx7p2.js → cli-f8dre4bz.js} +2 -2
- package/dist/{cli-e7ckcg4v.js → cli-ftwpv451.js} +170 -387
- package/dist/{cli-g6b8x1h8.js → cli-g854s2dw.js} +1 -1
- package/dist/{cli-5kx36evn.js → cli-ggmdxeqa.js} +13 -8
- package/dist/cli-hkwfe3qj.js +530 -0
- package/dist/{cli-5dsbcjjw.js → cli-jqwnqx9m.js} +1 -1
- package/dist/{cli-9dr5qzc0.js → cli-ny122vh4.js} +21 -10
- package/dist/{cli-5v4rw6yd.js → cli-pvzqhbs9.js} +2 -2
- package/dist/cli-pzq5rjym.js +15 -0
- package/dist/{cli-xpxde7rm.js → cli-qes8ef67.js} +48 -30
- package/dist/{cli-sajgpkqg.js → cli-qs9hhsvb.js} +1723 -325
- package/dist/cli-qys3rhhz.js +27 -0
- package/dist/{cli-rzbpmxdr.js → cli-r6tpm37h.js} +2 -2
- package/dist/{cli-qv61hp37.js → cli-rch80c76.js} +2 -2
- package/dist/{cli-0258203w.js → cli-rpp0x4zy.js} +137 -17
- package/dist/{cli-5n6e5yfn.js → cli-s1k0wxhe.js} +12 -7
- package/dist/{cli-psh3c4va.js → cli-sfd9v7sj.js} +1 -1
- package/dist/{cli-70xqj0z3.js → cli-sh3ytsyj.js} +49 -39
- package/dist/{cli-zsspvvm2.js → cli-w1mp9jy7.js} +1 -1
- package/dist/{cli-d3x3x1c9.js → cli-xdb4mpnp.js} +2 -2
- package/dist/{cli-57khth04.js → cli-xmyqv00z.js} +120 -4
- package/dist/{cli-yw8vghx2.js → cli-xv8t8p3c.js} +65 -32
- package/dist/{cli-f1am9szv.js → cli-xxv5pn4f.js} +1 -1
- package/dist/{cli-t76vw5db.js → cli-y08jvxzx.js} +601 -140
- package/dist/{cli-a4jzdpa3.js → cli-zfbf3srj.js} +650 -245
- package/dist/{cli-a40rnf71.js → cli-zmq89k34.js} +6 -6
- package/dist/{cli-qmdnhpej.js → cli-zr9q011v.js} +23 -13
- package/dist/cli.js +22 -22
- package/dist/{codex-adapter-d24q75wk.js → codex-adapter-bef93pq4.js} +9 -7
- package/dist/{codex-hook-hq54t9ft.js → codex-hook-e8dba65p.js} +3 -2
- package/dist/{codex-session-runner-g50vcsex.js → codex-session-runner-5pkxys7x.js} +9 -7
- package/dist/{commands-c3nrc5hg.js → commands-e23s1bff.js} +9 -7
- package/dist/{db-nt7fg3tw.js → db-m3nabatn.js} +17 -5
- package/dist/{google-generative-ai-hysrd8qx.js → google-generative-ai-8maw55xh.js} +11 -8
- package/dist/{google-vertex-p5arrga0.js → google-vertex-8vjqmx8g.js} +11 -8
- package/dist/{handlers-fkr6swat.js → handlers-akazedvr.js} +16 -13
- package/dist/{hook-77wpvnjc.js → hook-ze4cpf0v.js} +55 -41
- package/dist/{hook-g019yehy.js → hook-zfqyyenw.js} +10 -7
- package/dist/{http-jewj0syk.js → http-sja0n6kw.js} +730 -150
- package/dist/index-0gr8vd6k.js +39 -0
- package/dist/{index-7n2xpbd4.js → index-354vkhdv.js} +154 -74
- package/dist/{index-070v4eyb.js → index-5qthek5t.js} +2 -3
- package/dist/{index-hfvggd0z.js → index-95t3cqq5.js} +16 -14
- package/dist/{index-9znhar3x.js → index-sea66619.js} +3 -4
- package/dist/{index-6gm5he8h.js → index-vpn36mma.js} +15 -13
- package/dist/{keepalive-j0fjvqfd.js → keepalive-3sp3meqj.js} +16 -10
- package/dist/{lead-1n8x30xe.js → lead-mefeewkf.js} +39 -36
- package/dist/{maintenance-gvev11sa.js → maintenance-8tbrbjfg.js} +10 -8
- package/dist/mistral-conversations-00zrp7g4.js +717 -0
- package/dist/{oauth-refresh-sweep-s9ecsvh0.js → oauth-refresh-sweep-srjwjz6m.js} +8 -6
- package/dist/{onboard-pvm5b38w.js → onboard-mt2tgyjg.js} +7 -7
- package/dist/{openai-codex-responses-5g27pd6f.js → openai-codex-responses-map32h2s.js} +18 -18
- package/dist/{openai-completions-3vkmfz2a.js → openai-completions-w871b1cq.js} +12 -11
- package/dist/{openai-responses-dg4t7j7a.js → openai-responses-b0j7xnw8.js} +15 -12
- package/dist/{opencode-adapter-1gm38aba.js → opencode-adapter-b39jefcj.js} +5 -3
- package/dist/{openrouter-images-g3gm8931.js → openrouter-images-srfkywy0.js} +4 -4
- package/dist/{otel-impl-p6jvgd9c.js → otel-impl-z6pxt3j9.js} +224 -9
- package/dist/{pi-mono-adapter-t091s27g.js → pi-mono-adapter-btvqmj58.js} +1138 -408
- package/dist/{pricing-refresh-k49rcyed.js → pricing-refresh-kyq8cezh.js} +9 -7
- package/dist/{rbac-roles-cr80g96t.js → rbac-roles-3ryfrfna.js} +8 -6
- package/dist/{rbac-roles-30pspvy7.js → rbac-roles-6qfvbee1.js} +9 -7
- package/dist/{render-v2-xm457ng1.js → render-v2-p61ppjey.js} +8 -6
- package/dist/{seed-pricing-yhpv35fr.js → seed-pricing-j56bbj4y.js} +8 -6
- package/dist/{setup-nytnmwwr.js → setup-tpr6c1kn.js} +2 -2
- package/dist/{worker-msytr2cw.js → worker-9w1v0mbb.js} +39 -36
- package/openapi.json +542 -16
- package/package.json +6 -6
- package/src/be/budget-refusal-notify.ts +14 -7
- package/src/be/db-queries/task-artifacts.ts +182 -0
- package/src/be/db.ts +783 -169
- package/src/be/events.ts +5 -0
- package/src/be/migrations/130_scratch_script_retention_grace.sql +6 -0
- package/src/be/migrations/131_session_logs_created_at_index.sql +2 -0
- package/src/be/migrations/132_multi_runtime_instances.sql +44 -0
- package/src/be/migrations/133_workflow_run_trigger_type.sql +12 -0
- package/src/be/migrations/135_backfill_task_pull_request_attachments.sql +228 -0
- package/src/be/migrations/136_task_requester_provenance.sql +37 -0
- package/src/be/migrations/137_memory_retrieval_composite_index.sql +1 -0
- package/src/be/multi-runtime.ts +430 -0
- package/src/be/scripts/db.ts +43 -1
- package/src/be/scripts/extract-schema.ts +3 -1
- package/src/be/scripts/retention.ts +164 -0
- package/src/be/scripts/run-saved.ts +16 -1
- package/src/be/scripts/typecheck.ts +3 -2
- package/src/be/seed-skills/index.ts +7 -0
- package/src/be/steering.ts +1 -1
- package/src/be/swarm-config-guard.ts +18 -0
- package/src/commands/credential-wait.ts +54 -0
- package/src/commands/onboard/steps/core-credentials.tsx +1 -1
- package/src/commands/onboard/steps/custom-templates.tsx +1 -1
- package/src/commands/onboard/steps/harness-credentials.tsx +1 -1
- package/src/commands/onboard/steps/health-check.tsx +1 -1
- package/src/commands/onboard/steps/start.tsx +1 -1
- package/src/commands/profile-sync-audit.ts +56 -0
- package/src/commands/profile-sync.ts +287 -15
- package/src/commands/provider-credentials.ts +46 -19
- package/src/commands/runner.ts +196 -33
- package/src/commands/templates.ts +22 -0
- package/src/github/handlers.ts +55 -9
- package/src/heartbeat/heartbeat.ts +71 -12
- package/src/hooks/hook.ts +49 -33
- package/src/http/active-sessions.ts +11 -1
- package/src/http/agents.ts +261 -30
- package/src/http/all-routes.ts +1 -0
- package/src/http/config.ts +13 -2
- package/src/http/core.ts +102 -4
- package/src/http/db-query-bounded.ts +313 -0
- package/src/http/db-query-shared.ts +249 -0
- package/src/http/db-query.ts +54 -42
- package/src/http/events.ts +2 -0
- package/src/http/index.ts +27 -2
- package/src/http/mcp-bridge.ts +37 -3
- package/src/http/mcp.ts +12 -0
- package/src/http/memory.ts +13 -2
- package/src/http/openapi.ts +1 -0
- package/src/http/poll.ts +70 -27
- package/src/http/route-def.ts +43 -9
- package/src/http/schedules.ts +2 -2
- package/src/http/scripts.ts +31 -4
- package/src/http/session-data.ts +44 -0
- package/src/http/tasks.ts +2 -2
- package/src/http/users.ts +74 -52
- package/src/http/webhooks.ts +5 -2
- package/src/http/workflows.ts +1 -4
- package/src/http/x.ts +14 -0
- package/src/integrations/kapso/inbound.ts +1 -1
- package/src/jira/outbound.ts +39 -8
- package/src/jira/webhook-lifecycle.ts +13 -2
- package/src/linear/outbound.ts +43 -10
- package/src/oauth/keepalive.ts +13 -2
- package/src/prompts/base-prompt.ts +1 -1
- package/src/prompts/session-templates.ts +45 -7
- package/src/providers/claude-adapter.ts +6 -0
- package/src/providers/claude-managed-models.ts +34 -10
- package/src/providers/codex-adapter.ts +6 -0
- package/src/providers/opencode-adapter.ts +6 -0
- package/src/providers/pi-mono-adapter.ts +8 -0
- package/src/providers/pricing-sources.md +24 -0
- package/src/queue-stall-alarm.ts +216 -0
- package/src/scheduler/scheduler.ts +7 -0
- package/src/script-workflows/executor.ts +2 -1
- package/src/scripts-runtime/executors/native.ts +2 -1
- package/src/scripts-runtime/executors/types.ts +5 -0
- package/src/scripts-runtime/loader.ts +5 -0
- package/src/scripts-runtime/swarm-config.ts +8 -0
- package/src/scripts-runtime/swarm-sdk.ts +7 -0
- package/src/scripts-runtime/types/stdlib.d.ts +1 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
- package/src/tests/budget-claim-gate.test.ts +20 -0
- package/src/tests/claude-adapter.test.ts +32 -0
- package/src/tests/claude-managed-adapter.test.ts +38 -7
- package/src/tests/codex-adapter.test.ts +30 -0
- package/src/tests/create-task-validation.test.ts +128 -0
- package/src/tests/credential-wait.test.ts +67 -1
- package/src/tests/db-query.test.ts +711 -2
- package/src/tests/http-api-integration.test.ts +81 -0
- package/src/tests/http-users.test.ts +166 -1
- package/src/tests/identity-field-budget.test.ts +176 -0
- package/src/tests/mcp-tools-user.test.ts +34 -0
- package/src/tests/mcp-user-route.test.ts +17 -0
- package/src/tests/metrics-http.test.ts +44 -0
- package/src/tests/multi-runtime-registration.test.ts +2703 -0
- package/src/tests/openapi-response-contract.test.ts +24 -0
- package/src/tests/openapi-route-headers.test.ts +83 -0
- package/src/tests/opencode-adapter.test.ts +40 -0
- package/src/tests/outbound-listener-rejection.test.ts +138 -0
- package/src/tests/pi-mono-adapter.test.ts +98 -0
- package/src/tests/profile-sync-warning.test.ts +277 -0
- package/src/tests/profile-sync.test.ts +232 -6
- package/src/tests/prompt-template-session.test.ts +32 -3
- package/src/tests/queue-stall-alarm.test.ts +226 -0
- package/src/tests/requester-comms.test.ts +32 -0
- package/src/tests/runner-requester-profile.test.ts +38 -0
- package/src/tests/sandboxed-process.test.ts +45 -0
- package/src/tests/schedule-target-type.test.ts +38 -0
- package/src/tests/script-connections.test.ts +16 -3
- package/src/tests/scripts-external-api.test.ts +8 -3
- package/src/tests/scripts-http.test.ts +12 -0
- package/src/tests/scripts-retention.test.ts +384 -0
- package/src/tests/scripts-runtime-identity.test.ts +375 -0
- package/src/tests/scripts-runtime.test.ts +4 -3
- package/src/tests/sdk-allowlist.test.ts +47 -0
- package/src/tests/send-task-requested-by.test.ts +9 -0
- package/src/tests/session-costs.test.ts +506 -1
- package/src/tests/shutdown-error-scrubbing.test.ts +92 -0
- package/src/tests/steering-core.test.ts +28 -0
- package/src/tests/task-artifacts.test.ts +386 -0
- package/src/tests/task-attachments-schema.test.ts +17 -1
- package/src/tests/task-completion-idempotency.test.ts +57 -0
- package/src/tests/task-pull-request-backfill-migration.test.ts +321 -0
- package/src/tests/update-profile-api.test.ts +67 -39
- package/src/tests/update-profile-auth.test.ts +48 -4
- package/src/tests/user-attribution-migration.test.ts +54 -0
- package/src/tests/user-identity.test.ts +72 -0
- package/src/tests/workflow-async-v2.test.ts +39 -1
- package/src/tests/workflow-http-v2.test.ts +3 -2
- package/src/tests/workflow-mcp-trigger-schema.test.ts +52 -3
- package/src/tests/workflow-retry-v2.test.ts +45 -1
- package/src/tests/workflow-swarm-script.test.ts +14 -5
- package/src/tools/db-query.ts +18 -8
- package/src/tools/get-task-details.ts +24 -3
- package/src/tools/manage-user.ts +36 -3
- package/src/tools/poll-task.ts +93 -14
- package/src/tools/script-common.ts +5 -0
- package/src/tools/send-task.ts +1 -4
- package/src/tools/store-progress.ts +13 -2
- package/src/tools/swarm-config/delete-config.ts +9 -0
- package/src/tools/swarm-config/set-config.ts +3 -2
- package/src/tools/task-action.ts +30 -0
- package/src/tools/task-tool-ctx.ts +8 -1
- package/src/tools/update-profile.ts +16 -21
- package/src/tools/utils.ts +5 -0
- package/src/tools/workflows/trigger-workflow.ts +7 -1
- package/src/types.ts +165 -1
- package/src/utils/github-pull-request.ts +76 -0
- package/src/utils/identity-field-budget.ts +73 -0
- package/src/utils/multi-runtime.ts +20 -0
- package/src/utils/requester-comms.ts +24 -0
- package/src/utils/sandboxed-process.ts +40 -14
- package/src/workflows/engine.ts +22 -2
- package/src/workflows/executors/swarm-script.ts +24 -1
- package/src/workflows/resume.ts +19 -11
- package/src/workflows/retry-poller.ts +1 -0
- package/src/workflows/triggers.ts +4 -0
- package/templates/schedules/daily-compounding-reflection/content.md +12 -3
- package/templates/skills/db-query-guidance/config.json +14 -0
- package/templates/skills/db-query-guidance/content.md +57 -0
- package/dist/cli-3te4jdkm.js +0 -225
- package/dist/cli-bmze986d.js +0 -7
- package/dist/cli-kh3ba2zf.js +0 -607
- package/dist/index-hp1kdbjj.js +0 -36
- package/dist/mistral-conversations-81fwav0j.js +0 -30578
- package/dist/otel-nqa12wf3.js +0 -3149
- package/dist/{pi-messages-tqj8q6b9.js → pi-messages-sssy32x4.js} +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runStopHookSessionSummarySubprocess
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-sh3ytsyj.js";
|
|
4
4
|
import {
|
|
5
5
|
SessionErrorTracker,
|
|
6
6
|
buildOtelTraceparentEnv,
|
|
@@ -23,6 +23,9 @@ import {
|
|
|
23
23
|
import {
|
|
24
24
|
applyReasoningEffort
|
|
25
25
|
} from "./cli-8whqavk2.js";
|
|
26
|
+
import {
|
|
27
|
+
swarmRuntimeInstanceId
|
|
28
|
+
} from "./cli-pzq5rjym.js";
|
|
26
29
|
import {
|
|
27
30
|
require_src
|
|
28
31
|
} from "./cli-7zd05xb4.js";
|
|
@@ -179,7 +182,7 @@ async function preseedClaudeTrustDialog(cwd, homeDir = process.env.HOME ?? homed
|
|
|
179
182
|
`);
|
|
180
183
|
console.log(`\x1B[2m[claude]\x1B[0m Pre-seeded trust dialog acceptance for ${cwd} in ${claudeJsonPath}`);
|
|
181
184
|
}
|
|
182
|
-
function mergeMcpConfig(baseConfig, installedServers, taskId, contextKey) {
|
|
185
|
+
function mergeMcpConfig(baseConfig, installedServers, taskId, contextKey, runtimeInstanceId) {
|
|
183
186
|
const config = {
|
|
184
187
|
mcpServers: { ...baseConfig?.mcpServers ?? {} }
|
|
185
188
|
};
|
|
@@ -197,6 +200,9 @@ function mergeMcpConfig(baseConfig, installedServers, taskId, contextKey) {
|
|
|
197
200
|
if (contextKey) {
|
|
198
201
|
server.headers["X-Context-Key"] = contextKey;
|
|
199
202
|
}
|
|
203
|
+
if (runtimeInstanceId) {
|
|
204
|
+
server.headers["X-Runtime-Instance-ID"] = runtimeInstanceId;
|
|
205
|
+
}
|
|
200
206
|
}
|
|
201
207
|
return config;
|
|
202
208
|
}
|
|
@@ -231,7 +237,7 @@ async function createSessionMcpConfig(cwd, taskId, installedServers, contextKey)
|
|
|
231
237
|
mergedServers["plugin_context-mode_context-mode"] = { command: "context-mode" };
|
|
232
238
|
}
|
|
233
239
|
try {
|
|
234
|
-
const config = mergeMcpConfig({ mcpServers: mergedServers }, installedServers ?? null, taskId, contextKey);
|
|
240
|
+
const config = mergeMcpConfig({ mcpServers: mergedServers }, installedServers ?? null, taskId, contextKey, swarmRuntimeInstanceId());
|
|
235
241
|
const sessionConfigPath = `/tmp/mcp-${taskId}.json`;
|
|
236
242
|
await writeFile(sessionConfigPath, JSON.stringify(config, null, 2));
|
|
237
243
|
return sessionConfigPath;
|
|
@@ -2,9 +2,14 @@ import {
|
|
|
2
2
|
ZodFirstPartyTypeKind
|
|
3
3
|
} from "./cli-fad8m16k.js";
|
|
4
4
|
import {
|
|
5
|
+
init_external,
|
|
5
6
|
safeParseAsync1 as safeParseAsync,
|
|
6
7
|
toJSONSchema
|
|
7
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-jqwnqx9m.js";
|
|
9
|
+
|
|
10
|
+
// node_modules/zod/v4/classic/index.js
|
|
11
|
+
init_external();
|
|
12
|
+
init_external();
|
|
8
13
|
|
|
9
14
|
// node_modules/@ai-sdk/provider/dist/index.mjs
|
|
10
15
|
var marker = "vercel.ai.error";
|
|
@@ -7,10 +7,11 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
appendGrammarToolInputJsonDelta,
|
|
9
9
|
getGrammarToolInput,
|
|
10
|
+
getJsonSchemaToolParameters,
|
|
10
11
|
resolveGrammarConstrainedSampling,
|
|
11
12
|
resolveJsonSchemaStrictSampling,
|
|
12
13
|
transformMessages
|
|
13
|
-
} from "./cli-
|
|
14
|
+
} from "./cli-xmyqv00z.js";
|
|
14
15
|
import {
|
|
15
16
|
sanitizeSurrogates
|
|
16
17
|
} from "./cli-y2apkfe2.js";
|
|
@@ -130,7 +131,9 @@ function convertResponsesMessages(model, context, allowedToolCallProviders, opti
|
|
|
130
131
|
} else if (msg.role === "assistant") {
|
|
131
132
|
const output = [];
|
|
132
133
|
const assistantMsg = msg;
|
|
133
|
-
const
|
|
134
|
+
const isSameProviderAndApi = assistantMsg.provider === model.provider && assistantMsg.api === model.api;
|
|
135
|
+
const isSameModel = isSameProviderAndApi && assistantMsg.model === model.id;
|
|
136
|
+
const isDifferentModel = isSameProviderAndApi && assistantMsg.model !== model.id;
|
|
134
137
|
let textBlockIndex = 0;
|
|
135
138
|
for (const block of msg.content) {
|
|
136
139
|
if (block.type === "thinking") {
|
|
@@ -165,13 +168,15 @@ function convertResponsesMessages(model, context, allowedToolCallProviders, opti
|
|
|
165
168
|
if (isDifferentModel && itemId?.startsWith("fc_") || customInputProperty === undefined && !itemId?.startsWith("fc_")) {
|
|
166
169
|
itemId = undefined;
|
|
167
170
|
}
|
|
171
|
+
const canReplayNamespace = isSameModel || options?.deferredTools?.has(toolCall.name) === true;
|
|
168
172
|
if (customInputProperty !== undefined) {
|
|
169
173
|
output.push({
|
|
170
174
|
type: "custom_tool_call",
|
|
171
175
|
id: itemId,
|
|
172
176
|
call_id: callId,
|
|
173
177
|
name: toolCall.name,
|
|
174
|
-
input: sanitizeSurrogates(getGrammarToolInput(toolCall.name, toolCall.arguments, customInputProperty))
|
|
178
|
+
input: sanitizeSurrogates(getGrammarToolInput(toolCall.name, toolCall.arguments, customInputProperty)),
|
|
179
|
+
...canReplayNamespace && toolCall.namespace !== undefined ? { namespace: toolCall.namespace } : {}
|
|
175
180
|
});
|
|
176
181
|
} else {
|
|
177
182
|
output.push({
|
|
@@ -179,7 +184,8 @@ function convertResponsesMessages(model, context, allowedToolCallProviders, opti
|
|
|
179
184
|
id: itemId,
|
|
180
185
|
call_id: callId,
|
|
181
186
|
name: toolCall.name,
|
|
182
|
-
arguments: JSON.stringify(toolCall.arguments)
|
|
187
|
+
arguments: JSON.stringify(toolCall.arguments),
|
|
188
|
+
...canReplayNamespace && toolCall.namespace !== undefined ? { namespace: toolCall.namespace } : {}
|
|
183
189
|
});
|
|
184
190
|
}
|
|
185
191
|
}
|
|
@@ -211,7 +217,13 @@ function convertResponsesMessages(model, context, allowedToolCallProviders, opti
|
|
|
211
217
|
loadedToolNames.add(name);
|
|
212
218
|
deferredTools.push(tool);
|
|
213
219
|
}
|
|
214
|
-
if (deferredTools.length > 0) {
|
|
220
|
+
if (deferredTools.length > 0 && options?.deferredToolsMode === "additional-tools") {
|
|
221
|
+
messages.push({
|
|
222
|
+
type: "additional_tools",
|
|
223
|
+
role: "developer",
|
|
224
|
+
tools: convertResponsesTools(deferredTools, options.toolOptions)
|
|
225
|
+
});
|
|
226
|
+
} else if (deferredTools.length > 0 && options?.deferredToolsMode === "tool-search") {
|
|
215
227
|
const names = deferredTools.map((tool) => tool.name);
|
|
216
228
|
const searchCallId = `pi_tool_load_${shortHash(`${msg.toolCallId}:${names.join(",")}`)}`;
|
|
217
229
|
messages.push({
|
|
@@ -227,7 +239,7 @@ function convertResponsesMessages(model, context, allowedToolCallProviders, opti
|
|
|
227
239
|
execution: "client",
|
|
228
240
|
status: "completed",
|
|
229
241
|
tools: convertResponsesTools(deferredTools, {
|
|
230
|
-
...options
|
|
242
|
+
...options.toolOptions,
|
|
231
243
|
deferLoading: true
|
|
232
244
|
})
|
|
233
245
|
});
|
|
@@ -257,15 +269,16 @@ function convertResponsesTools(tools, options) {
|
|
|
257
269
|
};
|
|
258
270
|
}
|
|
259
271
|
const constrainedStrict = resolveJsonSchemaStrictSampling(tool, supportsStrictMode);
|
|
272
|
+
const strict = constrainedStrict ?? defaultStrict;
|
|
260
273
|
const functionTool = {
|
|
261
274
|
type: "function",
|
|
262
275
|
name: tool.name,
|
|
263
276
|
description: tool.description,
|
|
264
|
-
parameters: tool
|
|
277
|
+
parameters: getJsonSchemaToolParameters(tool, strict === true),
|
|
265
278
|
...options?.deferLoading ? { defer_loading: true } : {}
|
|
266
279
|
};
|
|
267
280
|
if (supportsStrictMode) {
|
|
268
|
-
functionTool.strict =
|
|
281
|
+
functionTool.strict = strict;
|
|
269
282
|
}
|
|
270
283
|
return functionTool;
|
|
271
284
|
});
|
|
@@ -336,6 +349,7 @@ async function processResponsesStream(openaiStream, output, stream, model, optio
|
|
|
336
349
|
id: `${item.call_id}|${item.id}`,
|
|
337
350
|
name: item.name,
|
|
338
351
|
arguments: {},
|
|
352
|
+
...item.namespace !== undefined ? { namespace: item.namespace } : {},
|
|
339
353
|
partialJson: item.arguments || ""
|
|
340
354
|
};
|
|
341
355
|
output.content.push(block);
|
|
@@ -356,6 +370,7 @@ async function processResponsesStream(openaiStream, output, stream, model, optio
|
|
|
356
370
|
id: `${item.call_id}|${item.id}`,
|
|
357
371
|
name: item.name,
|
|
358
372
|
arguments: { [inputProperty]: input },
|
|
373
|
+
...item.namespace !== undefined ? { namespace: item.namespace } : {},
|
|
359
374
|
customInput: {
|
|
360
375
|
property: inputProperty,
|
|
361
376
|
jsonBuffer: { input: "", started: false, closed: false }
|
|
@@ -554,6 +569,8 @@ async function processResponsesStream(openaiStream, output, stream, model, optio
|
|
|
554
569
|
outputSlots.delete(event.output_index);
|
|
555
570
|
} else if (item.type === "function_call" && slot?.type === "toolCall" && slot.block.partialJson !== undefined) {
|
|
556
571
|
slot.block.arguments = parseStreamingJson(item.arguments || slot.block.partialJson || "{}");
|
|
572
|
+
if (item.namespace !== undefined)
|
|
573
|
+
slot.block.namespace = item.namespace;
|
|
557
574
|
delete slot.block.partialJson;
|
|
558
575
|
stream.push({
|
|
559
576
|
type: "toolcall_end",
|
|
@@ -564,6 +581,8 @@ async function processResponsesStream(openaiStream, output, stream, model, optio
|
|
|
564
581
|
outputSlots.delete(event.output_index);
|
|
565
582
|
} else if (item.type === "custom_tool_call" && slot?.type === "toolCall" && slot.block.customInput) {
|
|
566
583
|
pushToolCallDelta(slot, appendCustomToolCallInput(slot.block, item.input ?? getCustomToolCallInput(slot.block), true));
|
|
584
|
+
if (item.namespace !== undefined)
|
|
585
|
+
slot.block.namespace = item.namespace;
|
|
567
586
|
delete slot.block.customInput;
|
|
568
587
|
stream.push({
|
|
569
588
|
type: "toolcall_end",
|
|
@@ -7,7 +7,7 @@ var package_default;
|
|
|
7
7
|
var init_package = __esm(() => {
|
|
8
8
|
package_default = {
|
|
9
9
|
name: "@desplega.ai/agent-swarm",
|
|
10
|
-
version: "1.
|
|
10
|
+
version: "1.133.1",
|
|
11
11
|
description: "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
|
|
12
12
|
keywords: [
|
|
13
13
|
"agent-swarm.dev",
|
|
@@ -176,14 +176,14 @@ var init_package = __esm(() => {
|
|
|
176
176
|
"@aws-sdk/client-bedrock": "3.1048.0",
|
|
177
177
|
"@desplega.ai/business-use": "^0.4.2",
|
|
178
178
|
"@desplega.ai/localtunnel": "^2.2.0",
|
|
179
|
-
"@earendil-works/pi-agent-core": "^0.84.
|
|
180
|
-
"@earendil-works/pi-ai": "^0.84.
|
|
181
|
-
"@earendil-works/pi-coding-agent": "^0.84.
|
|
179
|
+
"@earendil-works/pi-agent-core": "^0.84.2",
|
|
180
|
+
"@earendil-works/pi-ai": "^0.84.2",
|
|
181
|
+
"@earendil-works/pi-coding-agent": "^0.84.2",
|
|
182
182
|
"@inkjs/ui": "^2.0.0",
|
|
183
183
|
"@linear/sdk": "^77.0.0",
|
|
184
184
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
185
|
-
"@openai/codex-sdk": "^0.
|
|
186
|
-
"@opencode-ai/sdk": "^1.18.
|
|
185
|
+
"@openai/codex-sdk": "^0.148.0",
|
|
186
|
+
"@opencode-ai/sdk": "^1.18.18",
|
|
187
187
|
"@openfort/openfort-node": "^0.9.1",
|
|
188
188
|
"@opentelemetry/api": "^1.9.1",
|
|
189
189
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.218.0",
|
|
@@ -2,21 +2,22 @@ import {
|
|
|
2
2
|
getExecutorRegistry,
|
|
3
3
|
handleScheduleTrigger,
|
|
4
4
|
startWorkflowExecution
|
|
5
|
-
} from "./cli-
|
|
5
|
+
} from "./cli-xv8t8p3c.js";
|
|
6
6
|
import {
|
|
7
7
|
buildScriptCredentialBindings,
|
|
8
8
|
getScript,
|
|
9
9
|
getScriptApiConnectionDescriptors,
|
|
10
10
|
getScriptMcpConnectionDescriptors,
|
|
11
11
|
runScript
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-3zzxa9jz.js";
|
|
13
13
|
import {
|
|
14
14
|
createTaskWithSiblingAwareness
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-4k6233gc.js";
|
|
16
16
|
import {
|
|
17
17
|
getDb,
|
|
18
18
|
getDueScheduledTasks,
|
|
19
19
|
getScheduledTaskById,
|
|
20
|
+
getUserById,
|
|
20
21
|
getWorkflow,
|
|
21
22
|
init_context_key,
|
|
22
23
|
init_db,
|
|
@@ -24,7 +25,7 @@ import {
|
|
|
24
25
|
scheduleContextKey,
|
|
25
26
|
telemetry,
|
|
26
27
|
updateScheduledTask
|
|
27
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-zfbf3srj.js";
|
|
28
29
|
import {
|
|
29
30
|
__commonJS,
|
|
30
31
|
__require,
|
|
@@ -6902,7 +6903,13 @@ async function executeScheduleScript(schedule) {
|
|
|
6902
6903
|
throw new Error(output.stderr || `Script '${schedule.scriptName}' exited with code ${output.exitCode}${output.error ? ` (${output.error})` : ""}`);
|
|
6903
6904
|
}
|
|
6904
6905
|
}
|
|
6906
|
+
function withoutDeletedRequester(schedule) {
|
|
6907
|
+
if (!schedule.createdBy || getUserById(schedule.createdBy))
|
|
6908
|
+
return schedule;
|
|
6909
|
+
return { ...schedule, createdBy: undefined };
|
|
6910
|
+
}
|
|
6905
6911
|
async function dispatchScheduleTarget(schedule, extraTags = []) {
|
|
6912
|
+
schedule = withoutDeletedRequester(schedule);
|
|
6906
6913
|
switch (schedule.targetType) {
|
|
6907
6914
|
case "workflow": {
|
|
6908
6915
|
if (!schedule.workflowId) {
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
linkIdentity,
|
|
5
5
|
recordUnmappedIdentity,
|
|
6
6
|
resolveIdentity
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-sfd9v7sj.js";
|
|
8
8
|
import {
|
|
9
9
|
getKv,
|
|
10
10
|
init_db,
|
|
11
11
|
upsertKv
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-zfbf3srj.js";
|
|
13
13
|
|
|
14
14
|
// src/slack/enrich.ts
|
|
15
15
|
init_db();
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
require_cross_spawn
|
|
3
|
-
} from "./cli-yazx6hap.js";
|
|
4
1
|
import {
|
|
5
2
|
resolveSlashSkillPrompt
|
|
6
3
|
} from "./cli-r94z9p1z.js";
|
|
7
|
-
import {
|
|
8
|
-
readPkgVersion
|
|
9
|
-
} from "./cli-d6n0thxw.js";
|
|
10
4
|
import {
|
|
11
5
|
fetchInstalledMcpServers
|
|
12
6
|
} from "./cli-tng3131n.js";
|
|
@@ -18,9 +12,18 @@ import {
|
|
|
18
12
|
clampContextPercent,
|
|
19
13
|
getContextWindowSize
|
|
20
14
|
} from "./cli-cw70hymf.js";
|
|
15
|
+
import {
|
|
16
|
+
require_cross_spawn
|
|
17
|
+
} from "./cli-yazx6hap.js";
|
|
18
|
+
import {
|
|
19
|
+
readPkgVersion
|
|
20
|
+
} from "./cli-d6n0thxw.js";
|
|
21
21
|
import {
|
|
22
22
|
applyReasoningEffort
|
|
23
23
|
} from "./cli-8whqavk2.js";
|
|
24
|
+
import {
|
|
25
|
+
swarmRuntimeInstanceId
|
|
26
|
+
} from "./cli-pzq5rjym.js";
|
|
24
27
|
import {
|
|
25
28
|
DEFAULT_OPENROUTER_BASE_URL,
|
|
26
29
|
getOpenRouterBaseUrl
|
|
@@ -2068,13 +2071,15 @@ class OpencodeAdapter {
|
|
|
2068
2071
|
await Bun.write(agentFilePath, config.systemPrompt ?? "");
|
|
2069
2072
|
} catch {}
|
|
2070
2073
|
const installedMcp = await fetchInstalledMcpServers(config.apiUrl, config.apiKey, config.agentId, "opencode") ?? {};
|
|
2074
|
+
const runtimeInstanceId = swarmRuntimeInstanceId();
|
|
2071
2075
|
const mcpConfig = {
|
|
2072
2076
|
swarm: {
|
|
2073
2077
|
type: "remote",
|
|
2074
2078
|
url: `${config.apiUrl}/mcp`,
|
|
2075
2079
|
headers: {
|
|
2076
2080
|
Authorization: `Bearer ${config.apiKey}`,
|
|
2077
|
-
"X-Agent-ID": config.agentId
|
|
2081
|
+
"X-Agent-ID": config.agentId,
|
|
2082
|
+
...runtimeInstanceId ? { "X-Runtime-Instance-ID": runtimeInstanceId } : {}
|
|
2078
2083
|
}
|
|
2079
2084
|
},
|
|
2080
2085
|
...installedMcp
|
|
@@ -4,18 +4,20 @@ import {
|
|
|
4
4
|
getScriptById,
|
|
5
5
|
getScriptMcpConnectionDescriptors,
|
|
6
6
|
listScriptConnections,
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
restoreScratchScriptLastUsedIfUnchanged,
|
|
8
|
+
runScript,
|
|
9
|
+
touchScratchScriptLastUsed
|
|
10
|
+
} from "./cli-3zzxa9jz.js";
|
|
9
11
|
import {
|
|
10
12
|
defaultAssetKey,
|
|
11
13
|
getDb,
|
|
12
14
|
getLeadAgent,
|
|
13
15
|
init_db,
|
|
14
16
|
init_key
|
|
15
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-zfbf3srj.js";
|
|
16
18
|
import {
|
|
17
19
|
init_zod
|
|
18
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-w1mp9jy7.js";
|
|
19
21
|
import {
|
|
20
22
|
_enum,
|
|
21
23
|
array,
|
|
@@ -29,17 +31,18 @@ import {
|
|
|
29
31
|
string,
|
|
30
32
|
union,
|
|
31
33
|
unknown
|
|
32
|
-
} from "./cli-
|
|
34
|
+
} from "./cli-jqwnqx9m.js";
|
|
33
35
|
|
|
34
36
|
// src/be/scripts/run-saved.ts
|
|
35
37
|
function getSavedScriptOwnerAgentId(script) {
|
|
36
38
|
return script.scopeId ?? script.createdByAgentId;
|
|
37
39
|
}
|
|
38
40
|
async function runSavedScriptAsAgent(args) {
|
|
41
|
+
const runStartTouch = args.script.isScratch ? touchScratchScriptLastUsed(args.script.id) : null;
|
|
39
42
|
const credentials = await buildScriptCredentialBindingsWithFailures({
|
|
40
43
|
agentId: args.agentId
|
|
41
44
|
});
|
|
42
|
-
|
|
45
|
+
const output = await runScript({
|
|
43
46
|
source: args.script.source,
|
|
44
47
|
args: args.input,
|
|
45
48
|
fsMode: args.script.fsMode,
|
|
@@ -49,6 +52,12 @@ async function runSavedScriptAsAgent(args) {
|
|
|
49
52
|
apiConnections: getScriptApiConnectionDescriptors({ agentId: args.agentId }),
|
|
50
53
|
mcpConnections: getScriptMcpConnectionDescriptors({ agentId: args.agentId })
|
|
51
54
|
});
|
|
55
|
+
if (output.exitCode === 0 && !output.error && !output.runtimeError) {
|
|
56
|
+
touchScratchScriptLastUsed(args.script.id);
|
|
57
|
+
} else if (runStartTouch) {
|
|
58
|
+
restoreScratchScriptLastUsedIfUnchanged(args.script.id, args.script.updatedAt, runStartTouch);
|
|
59
|
+
}
|
|
60
|
+
return output;
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
// src/apps/definition.ts
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// node_modules/@earendil-works/pi-ai/dist/utils/pi-user-agent.js
|
|
2
|
+
function loadNodeOs() {
|
|
3
|
+
if (typeof process === "undefined" || !(process.versions?.node || process.versions?.bun)) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
return process.getBuiltinModule?.("node:os") ?? null;
|
|
7
|
+
}
|
|
8
|
+
var nodeOs = loadNodeOs();
|
|
9
|
+
function getPiUserAgent() {
|
|
10
|
+
return nodeOs ? `pi (${nodeOs.platform()} ${nodeOs.release()}; ${nodeOs.arch()})` : "pi (browser)";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { getPiUserAgent };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_env_flag,
|
|
3
3
|
isEnvFlagEnabled
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-qys3rhhz.js";
|
|
5
5
|
import {
|
|
6
6
|
init_zod
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-w1mp9jy7.js";
|
|
8
8
|
import {
|
|
9
9
|
_enum
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-jqwnqx9m.js";
|
|
11
11
|
|
|
12
12
|
// src/rbac/permissions.ts
|
|
13
13
|
init_zod();
|