@desplega.ai/agent-swarm 1.152.2 → 1.154.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 +2 -2
- package/dist/{acp-adapter-pfeje2v5.js → acp-adapter-eb2aj8xy.js} +4 -4
- package/dist/{actions-0sttc7f5.js → actions-kpnwp1kz.js} +31 -27
- package/dist/{anthropic-messages-2y8nktar.js → anthropic-messages-9vqsbznt.js} +112 -84
- package/dist/{app-p8teva95.js → app-zk1apkf6.js} +10 -7
- package/dist/{assistant-r45jnsrt.js → assistant-kwq4y50q.js} +32 -28
- package/dist/{azure-openai-responses-f38x2avq.js → azure-openai-responses-04qwdwfq.js} +27 -13
- package/dist/{boot-reembed-je26h5y7.js → boot-reembed-22hd3jjn.js} +9 -7
- package/dist/{boot-reembed-1qmybsd4.js → boot-reembed-qe168424.js} +10 -8
- package/dist/{boot-scrub-logs-gte3h1mm.js → boot-scrub-logs-pkdpsrjd.js} +7 -5
- package/dist/{claude-adapter-csc1mzka.js → claude-adapter-3fx90nww.js} +18 -16
- package/dist/{claude-managed-adapter-dsmkcrjy.js → claude-managed-adapter-ea2aga6w.js} +3 -3
- package/dist/{claude-sdk-session-fcd6f078.js → claude-sdk-session-z7fahf1k.js} +18 -16
- package/dist/{cli-r2fpe7cx.js → cli-00w2c66p.js} +61 -55
- package/dist/{cli-wbyk465z.js → cli-09y3tjxz.js} +1 -1
- package/dist/{cli-ht5rs63n.js → cli-0e31nm4n.js} +16 -7
- package/dist/cli-0x5qzvkg.js +4279 -0
- package/dist/{cli-d3p82erb.js → cli-18amys3y.js} +9 -9
- package/dist/{cli-4ahpr4sw.js → cli-1jpjafw4.js} +5 -5
- package/dist/{cli-jbmc0r7r.js → cli-243tzws8.js} +1 -1
- package/dist/{cli-ch38q5z4.js → cli-24k806sc.js} +6789 -2542
- package/dist/cli-3bkz2p7j.js +2828 -0
- package/dist/cli-3er6gcsn.js +1849 -0
- package/dist/cli-4k7jazkq.js +3339 -0
- package/dist/{cli-c4eeb5q2.js → cli-5b6b62tz.js} +1 -1
- package/dist/{cli-qd65dvr6.js → cli-5vs0nh43.js} +65 -44
- package/dist/{cli-z3wkng35.js → cli-6r3cgpk2.js} +224 -156
- package/dist/{cli-pgj4a5fb.js → cli-71cj99hx.js} +4 -3
- package/dist/cli-8sea27q4.js +14075 -0
- package/dist/{cli-jvy9qgjs.js → cli-913yakhv.js} +22 -7
- package/dist/{cli-pf9q3696.js → cli-927erqqt.js} +5 -2
- package/dist/cli-95jnpnqg.js +230 -0
- package/dist/{cli-wpv5rgg2.js → cli-abp3g4ax.js} +15 -2
- package/dist/{cli-ckz5t2hb.js → cli-acy6bfhr.js} +10 -7
- package/dist/{cli-4yc5d8fk.js → cli-avkd6mqv.js} +50 -0
- package/dist/{cli-8wrympd7.js → cli-bzr0ftht.js} +26 -7
- package/dist/{cli-qn042eh7.js → cli-c1v10xb2.js} +194 -1913
- package/dist/cli-cgj4hc12.js +18902 -0
- package/dist/{cli-2nnd56zt.js → cli-e0pg4zeh.js} +3 -2
- package/dist/{cli-r84ctdxn.js → cli-e31ehqwy.js} +2 -2
- package/dist/{cli-gphgnvpf.js → cli-e3229na9.js} +3 -3
- package/dist/{cli-gpqcs935.js → cli-e3cyf59d.js} +2 -2
- package/dist/{cli-s25avqg9.js → cli-e781c6f9.js} +1 -0
- package/dist/{cli-s2qjdd6z.js → cli-eetrvv91.js} +1 -1
- package/dist/{cli-j4nv2wqy.js → cli-fdzg6jhf.js} +10 -4
- package/dist/{cli-fm4ytsdk.js → cli-g2h29qar.js} +2 -2
- package/dist/{cli-zvgj5zg8.js → cli-ge67p080.js} +302 -3497
- package/dist/cli-h38x0qhg.js +6912 -0
- package/dist/{cli-9xvdm3bx.js → cli-h60qfasa.js} +742 -278
- package/dist/{cli-jew3jda5.js → cli-hws0vn86.js} +2 -2
- package/dist/{cli-j8dggbcr.js → cli-k0g1sjzm.js} +23 -31
- package/dist/{cli-xw7vak96.js → cli-kp3qs53m.js} +5 -5
- package/dist/{cli-rgvp6r2x.js → cli-mcnhgnn1.js} +193 -4
- package/dist/{cli-zvkq5csn.js → cli-myaxtgh8.js} +7 -6
- package/dist/{cli-56h18ng2.js → cli-n62atwh9.js} +1 -1
- package/dist/cli-n7h1kqpf.js +29 -0
- package/dist/{cli-fmy65jdn.js → cli-pf1v8xhb.js} +7 -5
- package/dist/{cli-xy1cchaf.js → cli-q85qhckh.js} +238 -11
- package/dist/{cli-3bpzj8me.js → cli-r1d3dzt6.js} +2 -2
- package/dist/{pi-mono-adapter-jcqt71cg.js → cli-rxkqvngf.js} +67343 -101083
- package/dist/{cli-kj76p1ez.js → cli-scwq51gn.js} +13 -7
- package/dist/{cli-b9dd0h3k.js → cli-stwsmd6k.js} +3 -2
- package/dist/{cli-c2mk1kgf.js → cli-v4en75c5.js} +8 -1
- package/dist/{cli-z61ykvam.js → cli-wg04s9kr.js} +4 -3
- package/dist/cli-yn0a417a.js +4069 -0
- package/dist/{cli-zfzznn7c.js → cli-ytxs7mn1.js} +26 -2
- package/dist/{cli-4j8k1m4w.js → cli-zt1227k1.js} +1162 -192
- package/dist/cli.js +28 -35
- package/dist/{codex-adapter-fxmpsabw.js → codex-adapter-ttdm995v.js} +12 -11
- package/dist/{codex-hook-8jexc34x.js → codex-hook-8gx7bcz0.js} +3 -3
- package/dist/{codex-session-runner-rr1e47ea.js → codex-session-runner-3v8nh4c8.js} +12 -11
- package/dist/{commands-0f5rxz51.js → commands-1cxwbhhq.js} +7 -5
- package/dist/{db-r3jxf3wy.js → db-y9zwsr79.js} +25 -5
- package/dist/{dispatcher-06vph6q4.js → dispatcher-9m9zss36.js} +30 -26
- package/dist/dsh-adapter-gsb2qqf9.js +19 -0
- package/dist/{e2b-413b8t4v.js → e2b-93x1k0j5.js} +6 -7
- package/dist/{google-generative-ai-ndjmj5fa.js → google-generative-ai-gwwrnzqn.js} +33 -73
- package/dist/{google-vertex-fr665tqs.js → google-vertex-5wfawpwz.js} +38 -68
- package/dist/{handlers-0hgtc910.js → handlers-36fm1bwn.js} +33 -29
- package/dist/{hook-9kvrv1er.js → hook-pntw4r8h.js} +12 -10
- package/dist/{hook-fbfhkat3.js → hook-vwq8y26p.js} +13 -11
- package/dist/{http-xbyx8k5j.js → http-20jesakk.js} +357 -261
- package/dist/{index-jsw3aynb.js → index-6artrehg.js} +30 -26
- package/dist/{cli-pdz9qde4.js → index-9ch1n761.js} +10 -11
- package/dist/{index-rnyahfn5.js → index-9n5z2492.js} +30 -26
- package/dist/{index-66xz5e9j.js → index-h5gs261z.js} +521 -9
- package/dist/{index-tfsdxyv6.js → index-j5wrf1yw.js} +40 -25
- package/dist/{index-2sp0384z.js → index-kkeftv5h.js} +738 -21
- package/dist/{index-sgk50mbg.js → index-m2xqpz5r.js} +31 -27
- package/dist/{index-gpfn1741.js → index-m9ks8a7t.js} +9 -7
- package/dist/index-w097eg0x.js +5 -0
- package/dist/jiti-loader-b4837mtm.js +34 -0
- package/dist/jiti-static-loader-q2g5ds0y.js +31267 -0
- package/dist/{keepalive-s3xpr7sw.js → keepalive-pwxvxd2c.js} +9 -7
- package/dist/{lead-rq4n5r16.js → lead-m789wqa3.js} +46 -41
- package/dist/{maintenance-f0atj1ab.js → maintenance-bvg6w7e2.js} +10 -8
- package/dist/{mistral-conversations-qhr84ph3.js → mistral-conversations-zx0kn554.js} +24 -18
- package/dist/{node-x1g4v0pq.js → node-5qtycf6a.js} +16 -11
- package/dist/{oauth-refresh-sweep-q0t3bxre.js → oauth-refresh-sweep-6v4bd737.js} +8 -6
- package/dist/{onboard-br5j1kch.js → onboard-snckpcj1.js} +115 -35
- package/dist/{openai-codex-responses-wy6a43wd.js → openai-codex-responses-4vjqzvjp.js} +33 -27
- package/dist/{openai-completions-32rdwmze.js → openai-completions-pxsmym7g.js} +52 -64
- package/dist/{openai-responses-6xwf7bzg.js → openai-responses-tmn0rqp0.js} +23 -24
- package/dist/{opencode-adapter-28axqa09.js → opencode-adapter-qbmv4tpy.js} +6 -6
- package/dist/{otel-impl-vdqge2nt.js → otel-impl-e0ytens5.js} +4 -4
- package/dist/{pi-messages-b1mbr6gp.js → pi-messages-txpjj39q.js} +3 -3
- package/dist/pi-mono-adapter-c4ggemhz.js +1316 -0
- package/dist/{pricing-refresh-hb3691fd.js → pricing-refresh-52g2ywrw.js} +9 -7
- package/dist/{rbac-roles-t78xt39b.js → rbac-roles-5455kfdn.js} +8 -6
- package/dist/{rbac-roles-jh280k9g.js → rbac-roles-hbf0xa52.js} +9 -7
- package/dist/{render-v2-7p8r2ymg.js → render-v2-npm8xdzh.js} +16 -9
- package/dist/{seed-pricing-hf889enh.js → seed-pricing-650wbr1n.js} +8 -6
- package/dist/{setup-w6mb03jv.js → setup-k1mew5rf.js} +4 -5
- package/dist/virtual-modules-2q5b2pk4.js +54 -0
- package/dist/{work-objects-nt8gy1kj.js → work-objects-2ea3kvwg.js} +33 -29
- package/dist/{worker-dwy617t0.js → worker-ec6hvc4m.js} +46 -41
- package/openapi.json +109 -16
- package/package.json +7 -6
- package/plugin/opencode-plugins/lib/memory-raters.ts +7 -0
- package/src/be/automation-preflight.ts +6 -4
- package/src/be/db/agents.ts +75 -2
- package/src/be/db/tasks/read.ts +2 -0
- package/src/be/db/tasks/write.ts +7 -1
- package/src/be/db.ts +140 -18
- package/src/be/extensions/db.ts +35 -4
- package/src/be/memory/raters/llm.ts +2 -6
- package/src/be/memory/raters/noop.ts +2 -3
- package/src/be/memory/raters/registry.ts +4 -10
- package/src/be/migrations/157_defer_provenance_and_marker.sql +27 -0
- package/src/be/models-catalog.ts +2 -0
- package/src/be/modelsdev-cache.json +213 -0
- package/src/be/rbac-audit.ts +2 -0
- package/src/be/seed/agent-fs-provision.ts +23 -0
- package/src/be/seed-pricing.ts +3 -1
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/onboard/compose-generator.ts +16 -1
- package/src/commands/onboard/env-generator.ts +14 -1
- package/src/commands/onboard/manifest.ts +1 -0
- package/src/commands/onboard/steps/integration-slack.tsx +56 -16
- package/src/commands/onboard/steps/review.tsx +5 -0
- package/src/commands/onboard/types.ts +6 -0
- package/src/commands/onboard.tsx +5 -1
- package/src/commands/provider-credentials.ts +14 -2
- package/src/commands/runner.ts +18 -2
- package/src/extensions/identity.ts +15 -7
- package/src/extensions/lifecycle.ts +15 -21
- package/src/hooks/codex-hook.ts +7 -1
- package/src/http/agents.ts +12 -4
- package/src/http/config.ts +1 -1
- package/src/http/core.ts +5 -3
- package/src/http/extensions.ts +108 -34
- package/src/http/poll.ts +7 -0
- package/src/http/schedules.ts +10 -0
- package/src/http/script-runs.ts +35 -26
- package/src/http/status.ts +24 -11
- package/src/http/tasks.ts +6 -1
- package/src/prompts/base-prompt.ts +15 -7
- package/src/prompts/memories.ts +5 -7
- package/src/prompts/session-templates.ts +3 -2
- package/src/prompts/steering-delivery.ts +2 -0
- package/src/providers/claude-managed-models.ts +8 -0
- package/src/providers/codex-adapter.ts +3 -6
- package/src/providers/codex-models.ts +15 -1
- package/src/providers/dsh-adapter.ts +248 -0
- package/src/providers/index.ts +5 -1
- package/src/providers/modelsdev-reasoning.json +50 -0
- package/src/providers/pi-mono-extension.ts +2 -5
- package/src/rbac/legacy-policy.ts +15 -1
- package/src/rbac/types.ts +2 -0
- package/src/server.ts +7 -1
- package/src/slack/ack.ts +43 -8
- package/src/slack/app.ts +32 -10
- package/src/slack/config.ts +29 -0
- package/src/slack/handlers.ts +7 -1
- package/src/slack/render-v2.ts +186 -17
- package/src/slack/responses.ts +1 -3
- package/src/slack/task-output.ts +66 -8
- package/src/slack/thread-buffer.ts +27 -3
- package/src/telemetry.ts +2 -3
- package/src/tests/agent-fs-provision-seeder.test.ts +56 -2
- package/src/tests/agents-harness-provider.test.ts +19 -0
- package/src/tests/agents-list-model-display.test.ts +60 -1
- package/src/tests/base-prompt.test.ts +25 -0
- package/src/tests/claude-managed-adapter.test.ts +6 -0
- package/src/tests/codex-gpt6-release.test.ts +97 -0
- package/src/tests/codex-steering-hook.test.ts +2 -2
- package/src/tests/config-api-only-keys.test.ts +9 -0
- package/src/tests/context-window.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +9 -0
- package/src/tests/db-task-write-contract.test.ts +9 -0
- package/src/tests/defer-task.test.ts +115 -16
- package/src/tests/dsh-adapter.test.ts +276 -0
- package/src/tests/e2e-nightly-report.test.ts +3 -3
- package/src/tests/e2e-redact.test.ts +2 -0
- package/src/tests/env-flag.test.ts +6 -0
- package/src/tests/extension-agent-visibility.test.ts +474 -0
- package/src/tests/extensions-db.test.ts +41 -0
- package/src/tests/extensions-http.test.ts +148 -4
- package/src/tests/extensions-lifecycle.test.ts +21 -1
- package/src/tests/extensions-mcp-tools.test.ts +9 -5
- package/src/tests/fetch-resolved-env.test.ts +43 -0
- package/src/tests/internal-ai/complete-structured.test.ts +32 -9
- package/src/tests/internal-ai/credentials.test.ts +4 -4
- package/src/tests/internal-ai/models.test.ts +20 -0
- package/src/tests/memory-rate-tool.test.ts +7 -10
- package/src/tests/memory-rater-defaults.test.ts +23 -0
- package/src/tests/memory-rater-e2e.test.ts +2 -3
- package/src/tests/migration-046-budgets.test.ts +2 -0
- package/src/tests/model-control.test.ts +2 -2
- package/src/tests/onboard-compose.test.ts +14 -0
- package/src/tests/onboard-env.test.ts +17 -0
- package/src/tests/onboard-manifest.test.ts +12 -0
- package/src/tests/opus-5-5-registry.test.ts +48 -0
- package/src/tests/pricing-refresh.test.ts +1 -1
- package/src/tests/pricing-routes.test.ts +15 -3
- package/src/tests/provider-registration.test.ts +5 -2
- package/src/tests/rbac-admission-e2e.test.ts +54 -0
- package/src/tests/rbac-e2e-helpers.ts +2 -0
- package/src/tests/rbac-engine.test.ts +32 -0
- package/src/tests/rbac-wire-e2e.test.ts +33 -0
- package/src/tests/reasoning-effort.test.ts +8 -0
- package/src/tests/reload-config.test.ts +33 -0
- package/src/tests/script-connections.test.ts +3 -0
- package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
- package/src/tests/slack-config.test.ts +136 -0
- package/src/tests/slack-mode-lifecycle.test.ts +69 -0
- package/src/tests/slack-render-v2.test.ts +446 -16
- package/src/tests/slack-steering.test.ts +69 -1
- package/src/tests/slack-task-output.test.ts +33 -12
- package/src/tests/status.test.ts +22 -2
- package/src/tests/steering-core.test.ts +35 -0
- package/src/tests/steering-delivery.test.ts +39 -0
- package/src/tests/steering-transport.test.ts +2 -2
- package/src/tests/task-tool-preload-mcp.test.ts +3 -1
- package/src/tests/telemetry-init.test.ts +18 -0
- package/src/tests/workflow-live-recovery.test.ts +126 -0
- package/src/tests/workflow-llm.test.ts +3 -3
- package/src/tools/defer-task.ts +64 -26
- package/src/tools/extension-common.ts +4 -0
- package/src/tools/extension-install.ts +1 -1
- package/src/tools/extension-list.ts +4 -3
- package/src/tools/join-swarm.ts +1 -1
- package/src/tools/schedules/create-schedule.ts +11 -1
- package/src/tools/schedules/patch-schedule.ts +5 -0
- package/src/tools/schedules/update-schedule.ts +5 -0
- package/src/tools/send-task.ts +6 -0
- package/src/tools/utils.ts +1 -1
- package/src/types.ts +30 -8
- package/src/utils/context-window.ts +1 -0
- package/src/utils/credentials.ts +8 -0
- package/src/utils/internal-ai/complete-structured.ts +8 -0
- package/src/utils/internal-ai/models.ts +5 -5
- package/src/utils/memory-raters.ts +3 -0
- package/src/workflows/engine.ts +28 -0
- package/src/workflows/recovery.ts +7 -4
- package/templates/schedules/daily-status-report/content.md +25 -12
- package/templates/schedules/daily-workflow-health-audit/content.md +1 -1
- package/templates/skills/swarm-extensions/content.md +9 -5
- package/dist/cli-4wppfkcm.js +0 -16384
- package/dist/cli-55qrx3q8.js +0 -6041
- package/dist/cli-cg4vnyh4.js +0 -305
- package/dist/cli-jyetr64j.js +0 -52
- package/dist/cli-pp9ax9pa.js +0 -520
- package/dist/cli-qa66qaf0.js +0 -6076
- package/dist/cli-qghpvca2.js +0 -590
- package/dist/cli-rembwgt8.js +0 -861
- package/dist/cli-tcvj7j2r.js +0 -1971
- package/dist/cli-vfcth11k.js +0 -36
- package/dist/cli-w1d1bgkk.js +0 -1422
- package/dist/cli-y6x0gqtg.js +0 -5977
- package/dist/es5-tj3tn4jj.js +0 -844
- package/dist/index-1kq5hw2p.js +0 -467
- package/dist/index-1p8wdstt.js +0 -7
- package/dist/index-8fdjzb2f.js +0 -100
- package/dist/index-bxmwzbgw.js +0 -365
- package/dist/index-nzerxd5z.js +0 -7
- package/dist/index-pyymnzat.js +0 -1168
- package/dist/index-qv6atbab.js +0 -619
- package/dist/index-rja32qa7.js +0 -801
- package/dist/index-tzg5srfp.js +0 -211
- package/dist/index-vhncw983.js +0 -90
- package/dist/index-xk036zsk.js +0 -859
- package/dist/index-zyazbzcb.js +0 -6
- package/dist/{claude-managed-setup-48dwg9bv.js → claude-managed-setup-f5pmsyrp.js} +3 -3
|
@@ -7,9 +7,10 @@ import {
|
|
|
7
7
|
DEFAULT_MODEL,
|
|
8
8
|
LlmRater,
|
|
9
9
|
REFERENCES_SOURCE_MAX_LENGTH,
|
|
10
|
+
getMemoryRaterNames,
|
|
10
11
|
resolveCredential,
|
|
11
12
|
sanitizeReferencesSource
|
|
12
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-3bkz2p7j.js";
|
|
13
14
|
import {
|
|
14
15
|
isMultiRuntimeEnabled
|
|
15
16
|
} from "./cli-re8z5p8p.js";
|
|
@@ -18,18 +19,21 @@ import {
|
|
|
18
19
|
} from "./cli-3dpj7atn.js";
|
|
19
20
|
import {
|
|
20
21
|
startPricingRefreshLoop
|
|
21
|
-
} from "./cli-
|
|
22
|
+
} from "./cli-stwsmd6k.js";
|
|
23
|
+
import {
|
|
24
|
+
seedPricingFromModelsDev
|
|
25
|
+
} from "./cli-e0pg4zeh.js";
|
|
22
26
|
import {
|
|
23
27
|
ensureRbacSeedsSynced,
|
|
24
28
|
getUserGrant
|
|
25
|
-
} from "./cli-
|
|
29
|
+
} from "./cli-e31ehqwy.js";
|
|
26
30
|
import {
|
|
27
31
|
can,
|
|
28
32
|
decideAdmission,
|
|
29
33
|
grantLeadEquivalence,
|
|
30
34
|
isRbacEnabled,
|
|
31
35
|
revokeLeadEquivalence
|
|
32
|
-
} from "./cli-
|
|
36
|
+
} from "./cli-ytxs7mn1.js";
|
|
33
37
|
import {
|
|
34
38
|
AppDefinitionSchema,
|
|
35
39
|
AppElementsSchema,
|
|
@@ -93,7 +97,7 @@ import {
|
|
|
93
97
|
upsertScriptConnection,
|
|
94
98
|
validateDefinition,
|
|
95
99
|
writeBareImportShim
|
|
96
|
-
} from "./cli-
|
|
100
|
+
} from "./cli-pf1v8xhb.js";
|
|
97
101
|
import {
|
|
98
102
|
detachedProcessGroup,
|
|
99
103
|
registerProcessGroup,
|
|
@@ -102,10 +106,6 @@ import {
|
|
|
102
106
|
import {
|
|
103
107
|
getApiKey
|
|
104
108
|
} from "./cli-f14fvzag.js";
|
|
105
|
-
import {
|
|
106
|
-
ZodFirstPartyTypeKind,
|
|
107
|
-
objectType
|
|
108
|
-
} from "./cli-fad8m16k.js";
|
|
109
109
|
import {
|
|
110
110
|
buildAuthorizationUrl,
|
|
111
111
|
createOAuthApp,
|
|
@@ -120,10 +120,28 @@ import {
|
|
|
120
120
|
listAuthorizationsForApp,
|
|
121
121
|
onAuthorizationRefreshed,
|
|
122
122
|
upsertOAuthApp
|
|
123
|
-
} from "./cli-
|
|
123
|
+
} from "./cli-n62atwh9.js";
|
|
124
124
|
import {
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
ZodFirstPartyTypeKind,
|
|
126
|
+
objectType
|
|
127
|
+
} from "./cli-fad8m16k.js";
|
|
128
|
+
import {
|
|
129
|
+
AgentFsProvider,
|
|
130
|
+
getFileStorageProvider,
|
|
131
|
+
providerPath
|
|
132
|
+
} from "./cli-jsp14b6c.js";
|
|
133
|
+
import {
|
|
134
|
+
CANDIDATE_SET_MULTIPLIER,
|
|
135
|
+
computeScore,
|
|
136
|
+
getEmbeddingProvider,
|
|
137
|
+
getMemoryStore,
|
|
138
|
+
init_constants as init_constants2,
|
|
139
|
+
init_reranker,
|
|
140
|
+
init_sqlite_store,
|
|
141
|
+
isGraphExpansionEnabled,
|
|
142
|
+
rerank,
|
|
143
|
+
rowToCandidate
|
|
144
|
+
} from "./cli-hws0vn86.js";
|
|
127
145
|
import {
|
|
128
146
|
require_dist
|
|
129
147
|
} from "./cli-51tf7ac3.js";
|
|
@@ -137,82 +155,24 @@ import {
|
|
|
137
155
|
startSlackApp,
|
|
138
156
|
stopSlackApp,
|
|
139
157
|
withSpan
|
|
140
|
-
} from "./cli-
|
|
141
|
-
import {
|
|
142
|
-
CANDIDATE_SET_MULTIPLIER,
|
|
143
|
-
computeScore,
|
|
144
|
-
getEmbeddingProvider,
|
|
145
|
-
getMemoryStore,
|
|
146
|
-
init_constants as init_constants2,
|
|
147
|
-
init_reranker,
|
|
148
|
-
init_sqlite_store,
|
|
149
|
-
isGraphExpansionEnabled,
|
|
150
|
-
rerank,
|
|
151
|
-
rowToCandidate
|
|
152
|
-
} from "./cli-jew3jda5.js";
|
|
158
|
+
} from "./cli-c1v10xb2.js";
|
|
153
159
|
import {
|
|
154
160
|
init_task_attachment_links,
|
|
155
161
|
taskAttachmentDisplayUrl,
|
|
156
162
|
taskAttachmentFetchCommand
|
|
157
163
|
} from "./cli-2658f6at.js";
|
|
158
164
|
import {
|
|
159
|
-
AgentFsProvider,
|
|
160
|
-
getFileStorageProvider,
|
|
161
|
-
providerPath
|
|
162
|
-
} from "./cli-jsp14b6c.js";
|
|
163
|
-
import {
|
|
164
|
-
$OpenAPIRegistry,
|
|
165
|
-
$OpenApiGeneratorV31,
|
|
166
|
-
AgentAvatarSchema,
|
|
167
|
-
AgentMemoryScopeSchema,
|
|
168
|
-
AgentMemorySourceSchema,
|
|
169
|
-
AgentStatusSchema,
|
|
170
|
-
AgentTaskStatusSchema,
|
|
171
|
-
AssetKeySchema,
|
|
172
|
-
AttachmentInputSchema,
|
|
173
|
-
BudgetRefusalCauseSchema,
|
|
174
|
-
ChannelTypeSchema,
|
|
175
|
-
CooldownConfigSchema,
|
|
176
|
-
CreateTaskOptionsSchema,
|
|
177
165
|
CredentialBindingSchema,
|
|
178
|
-
|
|
179
|
-
FollowUpConfigSchema,
|
|
180
|
-
InputValueSchema,
|
|
181
|
-
KvKeySchema,
|
|
182
|
-
KvNamespaceSchema,
|
|
166
|
+
EXTENSION_AGENT_ROLE,
|
|
183
167
|
KvTypeCollisionError,
|
|
184
|
-
KvValueTypeSchema,
|
|
185
168
|
MAX_EMPTY_POLLS,
|
|
186
|
-
MetricDefinitionSchema,
|
|
187
|
-
ModelTierSchema,
|
|
188
|
-
OnUnsupportedSchema,
|
|
189
|
-
PageAuthModeSchema,
|
|
190
|
-
PageContentTypeSchema,
|
|
191
|
-
PromptTemplateScopeSchema,
|
|
192
|
-
PromptTemplateStateSchema,
|
|
193
|
-
ProviderNameSchema,
|
|
194
|
-
ReasoningEffortSchema,
|
|
195
|
-
RepoGuidelinesInputSchema,
|
|
196
|
-
RepoHooksSchema,
|
|
197
|
-
RoutingReasonSchema,
|
|
198
|
-
ScheduledTaskTargetTypeSchema,
|
|
199
|
-
ScriptRunStatusSchema,
|
|
200
|
-
ServiceStatusSchema,
|
|
201
|
-
SteerModeSchema,
|
|
202
|
-
SteerOutcomeSchema,
|
|
203
169
|
SteeringRequestError,
|
|
204
|
-
SwarmConfigScopeSchema,
|
|
205
|
-
TriggerConfigSchema,
|
|
206
|
-
WorkflowDefinitionSchema,
|
|
207
|
-
WorkflowNodePatchSchema,
|
|
208
|
-
WorkflowRunStatusSchema,
|
|
209
170
|
acceptTask,
|
|
210
171
|
agentContextKey,
|
|
211
172
|
agentmailContextKey,
|
|
212
173
|
beginRequestAuthScope,
|
|
213
174
|
buildJiraContextKey,
|
|
214
175
|
buildRoutingAffinityFromAgent,
|
|
215
|
-
canWriteAssetKey,
|
|
216
176
|
cancelPendingApprovalRequestsForRun,
|
|
217
177
|
cancelTask,
|
|
218
178
|
checkDependencies,
|
|
@@ -257,6 +217,7 @@ import {
|
|
|
257
217
|
deleteWorkflow,
|
|
258
218
|
emitMcpServerConnectedTelemetry,
|
|
259
219
|
exports_db,
|
|
220
|
+
extensionAgentAssignmentError,
|
|
260
221
|
failTask,
|
|
261
222
|
findCompletedTaskInThread,
|
|
262
223
|
findExistingLinearTrackerContextWork,
|
|
@@ -365,14 +326,11 @@ import {
|
|
|
365
326
|
incrKv,
|
|
366
327
|
incrementEmptyPollCount,
|
|
367
328
|
initDb,
|
|
368
|
-
init_bundle_path,
|
|
369
329
|
init_context_key,
|
|
370
330
|
init_credential_broker,
|
|
371
331
|
init_date_utils,
|
|
372
332
|
init_db,
|
|
373
333
|
init_db_client,
|
|
374
|
-
init_dist,
|
|
375
|
-
init_key,
|
|
376
334
|
init_request_auth_context,
|
|
377
335
|
init_slack_routing,
|
|
378
336
|
init_steering,
|
|
@@ -380,17 +338,14 @@ import {
|
|
|
380
338
|
init_task_lifecycle_events,
|
|
381
339
|
init_telemetry,
|
|
382
340
|
init_templates,
|
|
383
|
-
init_types,
|
|
384
|
-
init_zod_openapi,
|
|
385
341
|
insertTaskAttachment,
|
|
386
342
|
installMcpServer,
|
|
387
343
|
installSkill,
|
|
388
344
|
isAgentEligibleForTask,
|
|
345
|
+
isExtensionAgent,
|
|
389
346
|
isInTransaction,
|
|
390
347
|
isReservedConfigKey,
|
|
391
|
-
isSafeBundlePath,
|
|
392
348
|
isSteeringEnabled,
|
|
393
|
-
isTerminalTaskStatus,
|
|
394
349
|
linearContextKey,
|
|
395
350
|
listCancelledApprovalRequestsForRun,
|
|
396
351
|
listKv,
|
|
@@ -404,12 +359,10 @@ import {
|
|
|
404
359
|
maskSecrets,
|
|
405
360
|
moveTaskFromBacklog,
|
|
406
361
|
moveTaskToBacklog,
|
|
407
|
-
normalizeAssetKey,
|
|
408
362
|
normalizeDateRequired,
|
|
409
363
|
onTaskStarted,
|
|
410
364
|
overwriteTerminalTaskResultText,
|
|
411
365
|
pageContextKey,
|
|
412
|
-
parseAssetKey,
|
|
413
366
|
placeholderForConfigKey,
|
|
414
367
|
postMessage,
|
|
415
368
|
promoteDraftTask,
|
|
@@ -433,7 +386,6 @@ import {
|
|
|
433
386
|
setBudgetRefusalFollowUpTaskId,
|
|
434
387
|
setRequestAuth,
|
|
435
388
|
shouldBlockPolling,
|
|
436
|
-
splitLegacyModelAlias,
|
|
437
389
|
startTask,
|
|
438
390
|
sweepExpiredKvPrefix,
|
|
439
391
|
telemetry,
|
|
@@ -463,13 +415,67 @@ import {
|
|
|
463
415
|
upsertSwarmConfig,
|
|
464
416
|
validateConfigValue,
|
|
465
417
|
workflowContextKey
|
|
466
|
-
} from "./cli-
|
|
418
|
+
} from "./cli-ge67p080.js";
|
|
419
|
+
import {
|
|
420
|
+
$OpenAPIRegistry,
|
|
421
|
+
$OpenApiGeneratorV31,
|
|
422
|
+
AgentAvatarSchema,
|
|
423
|
+
AgentMemoryScopeSchema,
|
|
424
|
+
AgentMemorySourceSchema,
|
|
425
|
+
AgentStatusSchema,
|
|
426
|
+
AgentTaskStatusSchema,
|
|
427
|
+
AssetKeySchema,
|
|
428
|
+
AttachmentInputSchema,
|
|
429
|
+
BudgetRefusalCauseSchema,
|
|
430
|
+
ChannelTypeSchema,
|
|
431
|
+
CooldownConfigSchema,
|
|
432
|
+
CreateTaskOptionsSchema,
|
|
433
|
+
ExtensionManifestSchema,
|
|
434
|
+
FollowUpConfigSchema,
|
|
435
|
+
InputValueSchema,
|
|
436
|
+
KvKeySchema,
|
|
437
|
+
KvNamespaceSchema,
|
|
438
|
+
KvValueTypeSchema,
|
|
439
|
+
MetricDefinitionSchema,
|
|
440
|
+
ModelTierSchema,
|
|
441
|
+
OnUnsupportedSchema,
|
|
442
|
+
PageAuthModeSchema,
|
|
443
|
+
PageContentTypeSchema,
|
|
444
|
+
PromptTemplateScopeSchema,
|
|
445
|
+
PromptTemplateStateSchema,
|
|
446
|
+
ProviderNameSchema,
|
|
447
|
+
ReasoningEffortSchema,
|
|
448
|
+
RepoGuidelinesInputSchema,
|
|
449
|
+
RepoHooksSchema,
|
|
450
|
+
RoutingReasonSchema,
|
|
451
|
+
ScheduledTaskTargetTypeSchema,
|
|
452
|
+
ScriptRunStatusSchema,
|
|
453
|
+
ServiceStatusSchema,
|
|
454
|
+
SteerModeSchema,
|
|
455
|
+
SteerOutcomeSchema,
|
|
456
|
+
SwarmConfigScopeSchema,
|
|
457
|
+
TriggerConfigSchema,
|
|
458
|
+
WorkflowDefinitionSchema,
|
|
459
|
+
WorkflowNodePatchSchema,
|
|
460
|
+
WorkflowRunStatusSchema,
|
|
461
|
+
canWriteAssetKey,
|
|
462
|
+
init_bundle_path,
|
|
463
|
+
init_dist,
|
|
464
|
+
init_key,
|
|
465
|
+
init_types,
|
|
466
|
+
init_zod_openapi,
|
|
467
|
+
isSafeBundlePath,
|
|
468
|
+
isTerminalTaskStatus,
|
|
469
|
+
normalizeAssetKey,
|
|
470
|
+
parseAssetKey,
|
|
471
|
+
splitLegacyModelAlias
|
|
472
|
+
} from "./cli-4k7jazkq.js";
|
|
467
473
|
import {
|
|
468
474
|
generateDefaultClaudeMd,
|
|
469
475
|
generateDefaultIdentityMd,
|
|
470
476
|
generateDefaultSoulMd,
|
|
471
477
|
init_defaults
|
|
472
|
-
} from "./cli-
|
|
478
|
+
} from "./cli-0e31nm4n.js";
|
|
473
479
|
import {
|
|
474
480
|
deepInterpolate,
|
|
475
481
|
findInterpolationTokens,
|
|
@@ -480,7 +486,7 @@ import {
|
|
|
480
486
|
interpolate,
|
|
481
487
|
registerTemplate,
|
|
482
488
|
resolveTemplate
|
|
483
|
-
} from "./cli-
|
|
489
|
+
} from "./cli-wg04s9kr.js";
|
|
484
490
|
import {
|
|
485
491
|
MAX_PROFILE_FILE_LENGTH,
|
|
486
492
|
getAppUrl,
|
|
@@ -488,6 +494,11 @@ import {
|
|
|
488
494
|
getPublicMcpBaseUrl,
|
|
489
495
|
init_constants
|
|
490
496
|
} from "./cli-dv6cdjs2.js";
|
|
497
|
+
import {
|
|
498
|
+
getSlackConfiguration,
|
|
499
|
+
init_config,
|
|
500
|
+
isSlackConfigured
|
|
501
|
+
} from "./cli-n7h1kqpf.js";
|
|
491
502
|
import {
|
|
492
503
|
init_env_flag,
|
|
493
504
|
isEnvFlagEnabled,
|
|
@@ -541,7 +552,7 @@ import {
|
|
|
541
552
|
import {
|
|
542
553
|
init_package,
|
|
543
554
|
package_default
|
|
544
|
-
} from "./cli-
|
|
555
|
+
} from "./cli-myaxtgh8.js";
|
|
545
556
|
import {
|
|
546
557
|
init_secret_scrubber,
|
|
547
558
|
isSensitiveKey,
|
|
@@ -14276,6 +14287,9 @@ init_db_client();
|
|
|
14276
14287
|
|
|
14277
14288
|
// src/be/extensions/db.ts
|
|
14278
14289
|
init_db();
|
|
14290
|
+
|
|
14291
|
+
class ExtensionOwnershipError extends Error {
|
|
14292
|
+
}
|
|
14279
14293
|
function rowToExtension(row) {
|
|
14280
14294
|
return {
|
|
14281
14295
|
...row,
|
|
@@ -14302,6 +14316,12 @@ async function installExtension(args) {
|
|
|
14302
14316
|
args.manifest.name
|
|
14303
14317
|
]);
|
|
14304
14318
|
const existing = existingRow ? rowToExtension(existingRow) : null;
|
|
14319
|
+
if (existing && args.ownerOnly && existing.createdByAgentId !== args.ownerOnly) {
|
|
14320
|
+
throw new ExtensionOwnershipError("Forbidden: extension belongs to another owner");
|
|
14321
|
+
}
|
|
14322
|
+
if (existing?.enabled && args.ownerOnly && (args.config !== undefined && JSON.stringify(args.config) !== existing.configJson || args.priority !== undefined && args.priority !== existing.priority)) {
|
|
14323
|
+
throw new ExtensionOwnershipError("Forbidden: only a lead or operator may change live extension configuration");
|
|
14324
|
+
}
|
|
14305
14325
|
const now = new Date().toISOString();
|
|
14306
14326
|
if (!existing) {
|
|
14307
14327
|
const id = crypto.randomUUID();
|
|
@@ -14499,11 +14519,17 @@ async function updateExtensionMeta(id, args) {
|
|
|
14499
14519
|
sets.push("description = ?");
|
|
14500
14520
|
values.push(args.description);
|
|
14501
14521
|
}
|
|
14502
|
-
if (sets.length === 0)
|
|
14522
|
+
if (sets.length === 0 && !args.ownerOnly)
|
|
14503
14523
|
return getExtensionById(id);
|
|
14504
14524
|
sets.push("updated_by = ?", "updatedAt = ?");
|
|
14505
14525
|
values.push(args.updatedBy ?? null, new Date().toISOString(), id);
|
|
14506
|
-
const
|
|
14526
|
+
const ownerCondition = args.ownerOnly ? " AND createdByAgentId = ? AND enabled = 0" : "";
|
|
14527
|
+
if (args.ownerOnly)
|
|
14528
|
+
values.push(args.ownerOnly);
|
|
14529
|
+
const row = await getDbClient().get(`UPDATE extensions SET ${sets.join(", ")} WHERE id = ?${ownerCondition} RETURNING *`, values);
|
|
14530
|
+
if (!row && args.ownerOnly) {
|
|
14531
|
+
throw new ExtensionOwnershipError("Forbidden: extension must be your own disabled draft");
|
|
14532
|
+
}
|
|
14507
14533
|
return row ? rowToExtension(row) : null;
|
|
14508
14534
|
}
|
|
14509
14535
|
async function setExtensionState(id, args) {
|
|
@@ -14544,8 +14570,11 @@ async function recordExtensionFailure(id, lastError, maxConsecutiveFailures) {
|
|
|
14544
14570
|
RETURNING *`, [lastError, maxConsecutiveFailures, maxConsecutiveFailures, new Date().toISOString(), id]);
|
|
14545
14571
|
return row ? rowToExtension(row) : null;
|
|
14546
14572
|
}
|
|
14547
|
-
async function deleteExtension(id) {
|
|
14548
|
-
const result = await getDbClient().run(
|
|
14573
|
+
async function deleteExtension(id, ownerOnly) {
|
|
14574
|
+
const result = await getDbClient().run(`DELETE FROM extensions WHERE id = ?${ownerOnly ? " AND createdByAgentId = ? AND enabled = 0" : ""}`, ownerOnly ? [id, ownerOnly] : [id]);
|
|
14575
|
+
if (result.changes === 0 && ownerOnly) {
|
|
14576
|
+
throw new ExtensionOwnershipError("Forbidden: extension must be your own disabled draft");
|
|
14577
|
+
}
|
|
14549
14578
|
return result.changes > 0;
|
|
14550
14579
|
}
|
|
14551
14580
|
async function insertExtensionRun(args) {
|
|
@@ -20757,6 +20786,8 @@ function resourceIdOf(resource) {
|
|
|
20757
20786
|
return resource.agentId;
|
|
20758
20787
|
case "kv-namespace":
|
|
20759
20788
|
return resource.namespace;
|
|
20789
|
+
case "extension":
|
|
20790
|
+
return resource.extensionId ?? null;
|
|
20760
20791
|
case "app":
|
|
20761
20792
|
return resource.appId;
|
|
20762
20793
|
case "owned":
|
|
@@ -23685,7 +23716,7 @@ async function notifySlack(text) {
|
|
|
23685
23716
|
return;
|
|
23686
23717
|
}
|
|
23687
23718
|
try {
|
|
23688
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
23719
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-zk1apkf6.js");
|
|
23689
23720
|
const app = getSlackApp2();
|
|
23690
23721
|
if (!app) {
|
|
23691
23722
|
console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
|
|
@@ -23756,7 +23787,7 @@ async function deleteJiraWebhook(webhookId) {
|
|
|
23756
23787
|
console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
|
|
23757
23788
|
}
|
|
23758
23789
|
async function overwriteWebhookIds(next) {
|
|
23759
|
-
const { getDbClient: getDbClient2 } = await import("./db-
|
|
23790
|
+
const { getDbClient: getDbClient2 } = await import("./db-y9zwsr79.js");
|
|
23760
23791
|
await getDbClient2().transaction(async (tx) => {
|
|
23761
23792
|
const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
|
|
23762
23793
|
if (!row) {
|
|
@@ -97476,9 +97507,10 @@ async function reloadGlobalConfigsAndIntegrations() {
|
|
|
97476
97507
|
return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
|
|
97477
97508
|
}
|
|
97478
97509
|
async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
97479
|
-
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-
|
|
97510
|
+
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-m9ks8a7t.js");
|
|
97480
97511
|
const wasEmbeddingsConfigured = getEmbeddingProvider2().isConfigured();
|
|
97481
97512
|
const updated = await loadGlobalConfigsIntoEnv(true);
|
|
97513
|
+
await stopSlackApp();
|
|
97482
97514
|
const { resetFileStorageProvider } = await import("./registry-v5wytg0s.js");
|
|
97483
97515
|
resetFileStorageProvider();
|
|
97484
97516
|
resetEmbeddingProvider();
|
|
@@ -97488,10 +97520,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
|
97488
97520
|
integrations.push("embeddings");
|
|
97489
97521
|
}
|
|
97490
97522
|
if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
|
|
97491
|
-
import("./boot-reembed-
|
|
97523
|
+
import("./boot-reembed-22hd3jjn.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
|
|
97492
97524
|
console.error("[config-reload] memory backfill failed (non-fatal):", err);
|
|
97493
97525
|
});
|
|
97494
|
-
import("./boot-reembed-
|
|
97526
|
+
import("./boot-reembed-qe168424.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
|
|
97495
97527
|
console.error("[config-reload] script backfill failed (non-fatal):", err);
|
|
97496
97528
|
});
|
|
97497
97529
|
}
|
|
@@ -97511,9 +97543,8 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
|
97511
97543
|
resetJira();
|
|
97512
97544
|
if (await initJira())
|
|
97513
97545
|
integrations.push("jira");
|
|
97514
|
-
await
|
|
97515
|
-
|
|
97516
|
-
integrations.push("slack");
|
|
97546
|
+
if (await startSlackApp())
|
|
97547
|
+
integrations.push("slack");
|
|
97517
97548
|
return {
|
|
97518
97549
|
configsLoaded: updated.length,
|
|
97519
97550
|
keysUpdated: updated,
|
|
@@ -97813,6 +97844,7 @@ async function handleCore(req, res, myAgentId, apiKey) {
|
|
|
97813
97844
|
|
|
97814
97845
|
// src/server.ts
|
|
97815
97846
|
init_resolver();
|
|
97847
|
+
init_config();
|
|
97816
97848
|
|
|
97817
97849
|
// src/tools/accept-steer.ts
|
|
97818
97850
|
init_zod();
|
|
@@ -97978,7 +98010,7 @@ var storeProgressBlockedWaitingNudge = (r) => {
|
|
|
97978
98010
|
const ms = r.data?.blockedWaitingElapsedMs;
|
|
97979
98011
|
if (typeof ms !== "number")
|
|
97980
98012
|
return;
|
|
97981
|
-
return `That reads as blocked-waiting, ${formatIdleDuration(ms)} since your last update —
|
|
98013
|
+
return `That reads as blocked-waiting, ${formatIdleDuration(ms)} since your last update — keep working if you can, and if the wait is genuinely long, defer-task is one way to resume later instead of polling.`;
|
|
97982
98014
|
};
|
|
97983
98015
|
var workflowLongScriptTimeoutNudge = (r) => {
|
|
97984
98016
|
if (!r.ok)
|
|
@@ -98304,7 +98336,7 @@ function setPreloadedTools(server, names) {
|
|
|
98304
98336
|
async function applyPreToolCall(name, args, requestInfo, inputSchema) {
|
|
98305
98337
|
if (requestInfo.callOrigin !== "mcp")
|
|
98306
98338
|
return { args };
|
|
98307
|
-
const dispatcher = await import("./dispatcher-
|
|
98339
|
+
const dispatcher = await import("./dispatcher-9m9zss36.js");
|
|
98308
98340
|
const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
|
|
98309
98341
|
validateModify: async (data) => {
|
|
98310
98342
|
const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
|
|
@@ -104632,11 +104664,7 @@ var FACTORIES = {
|
|
|
104632
104664
|
};
|
|
104633
104665
|
var SERVER_RATERS = new Set(["implicit-citation"]);
|
|
104634
104666
|
function getRegisteredRaters() {
|
|
104635
|
-
const
|
|
104636
|
-
if (!raw || raw.trim() === "") {
|
|
104637
|
-
return [new NoopRater];
|
|
104638
|
-
}
|
|
104639
|
-
const names = raw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
104667
|
+
const names = getMemoryRaterNames();
|
|
104640
104668
|
const raters = [];
|
|
104641
104669
|
for (const name of names) {
|
|
104642
104670
|
const factory = FACTORIES[name];
|
|
@@ -105491,7 +105519,6 @@ async function guardTerminalTaskResultWrite(task, write) {
|
|
|
105491
105519
|
|
|
105492
105520
|
// src/tools/defer-task.ts
|
|
105493
105521
|
init_types();
|
|
105494
|
-
init_constants();
|
|
105495
105522
|
|
|
105496
105523
|
class DeferAbortedError extends Error {
|
|
105497
105524
|
}
|
|
@@ -105534,7 +105561,7 @@ function formatDeferralDateTime(target, now, tz) {
|
|
|
105534
105561
|
zone = "UTC";
|
|
105535
105562
|
}
|
|
105536
105563
|
const t = partsInTz(target, zone);
|
|
105537
|
-
const time = `${t.hour}:${t.minute}
|
|
105564
|
+
const time = `${t.hour}:${t.minute}`;
|
|
105538
105565
|
const n = partsInTz(now, zone);
|
|
105539
105566
|
if (t.year === n.year && t.month === n.month && t.day === n.day)
|
|
105540
105567
|
return { date: "today", time };
|
|
@@ -105552,22 +105579,26 @@ async function resolveRequesterTimezone(requestedByUserId) {
|
|
|
105552
105579
|
}
|
|
105553
105580
|
return { tz: "UTC", isFallback: true };
|
|
105554
105581
|
}
|
|
105555
|
-
function
|
|
105556
|
-
|
|
105557
|
-
|
|
105558
|
-
|
|
105559
|
-
return firstLine;
|
|
105560
|
-
return `${firstLine.slice(0, max - 1).trimEnd()}…`;
|
|
105582
|
+
function joinNames(names) {
|
|
105583
|
+
if (names.length < 2)
|
|
105584
|
+
return names[0] ?? "";
|
|
105585
|
+
return `${names.slice(0, -1).join(", ")} and ${names[names.length - 1]}`;
|
|
105561
105586
|
}
|
|
105562
|
-
function
|
|
105563
|
-
const
|
|
105564
|
-
|
|
105565
|
-
|
|
105587
|
+
function renderWaitingOn(agentNames, watchedCount) {
|
|
105588
|
+
const named = joinNames([...new Set(agentNames.filter((name) => name.trim()))]);
|
|
105589
|
+
if (named)
|
|
105590
|
+
return named;
|
|
105591
|
+
return `${watchedCount} task${watchedCount === 1 ? "" : "s"}`;
|
|
105592
|
+
}
|
|
105593
|
+
function renderWhen(nextRunAt, tz, isFallbackTz) {
|
|
105594
|
+
const { date: date2, time } = formatDeferralDateTime(new Date(nextRunAt), new Date, tz);
|
|
105566
105595
|
const timeLabel = isFallbackTz ? `${time} UTC` : time;
|
|
105567
|
-
const
|
|
105568
|
-
|
|
105569
|
-
|
|
105570
|
-
|
|
105596
|
+
const day = date2 === "today" || date2 === "tomorrow" ? date2 : `on ${date2}`;
|
|
105597
|
+
return `${day} at ${timeLabel}`;
|
|
105598
|
+
}
|
|
105599
|
+
function renderHumanFacingDeferral(nextRunAt, tz, isFallbackTz, waitingOn) {
|
|
105600
|
+
const when = renderWhen(nextRunAt, tz, isFallbackTz);
|
|
105601
|
+
return waitingOn ? `Waiting on ${waitingOn} — or ${when} at the latest` : `Checking back ${when}`;
|
|
105571
105602
|
}
|
|
105572
105603
|
var registerDeferTaskTool = (server) => {
|
|
105573
105604
|
createToolRegistrar(server)("defer-task", {
|
|
@@ -105650,6 +105681,7 @@ var registerDeferTaskTool = (server) => {
|
|
|
105650
105681
|
const { tz: requesterTz, isFallback: isFallbackTz } = await resolveRequesterTimezone(task.requestedByUserId);
|
|
105651
105682
|
try {
|
|
105652
105683
|
const committed = await getDbClient().transaction(async () => {
|
|
105684
|
+
const watchedAgentNames = [];
|
|
105653
105685
|
for (const watchedId of watchedTaskIds) {
|
|
105654
105686
|
if (watchedId === taskId)
|
|
105655
105687
|
throw new DeferAbortedError("Cannot wake on the task being deferred.");
|
|
@@ -105658,6 +105690,9 @@ var registerDeferTaskTool = (server) => {
|
|
|
105658
105690
|
throw new DeferAbortedError(`Watched task ${watchedId} not found.`);
|
|
105659
105691
|
if (isTerminalTaskStatus(watched.status))
|
|
105660
105692
|
throw new DeferAbortedError(`Watched task ${watchedId} is already ${watched.status}; read its result instead of deferring.`);
|
|
105693
|
+
const watchedAgent = watched.agentId ? await getAgentById(watched.agentId) : null;
|
|
105694
|
+
if (watchedAgent?.name)
|
|
105695
|
+
watchedAgentNames.push(watchedAgent.name);
|
|
105661
105696
|
}
|
|
105662
105697
|
const schedule = await createScheduledTask({
|
|
105663
105698
|
name: `deferred-${taskId.slice(0, 8)}-${Date.now()}-${crypto.randomUUID()}`,
|
|
@@ -105671,6 +105706,8 @@ var registerDeferTaskTool = (server) => {
|
|
|
105671
105706
|
taskType: "deferred",
|
|
105672
105707
|
tags: ["deferred"],
|
|
105673
105708
|
priority: task.priority,
|
|
105709
|
+
requestedDelayMs: delayMs,
|
|
105710
|
+
requestedRunAt: runAt,
|
|
105674
105711
|
modelTier: task.modelTier,
|
|
105675
105712
|
parentTaskId: taskId,
|
|
105676
105713
|
createdBy
|
|
@@ -105689,9 +105726,10 @@ var registerDeferTaskTool = (server) => {
|
|
|
105689
105726
|
const deferralDetails = `${summary}
|
|
105690
105727
|
|
|
105691
105728
|
Deferred until ${nextRunAt} (schedule ${schedule.id}). Pending: ${note}${checksBlock}`;
|
|
105692
|
-
const terminalOutput = task.outputSchema ? output : renderHumanFacingDeferral(
|
|
105729
|
+
const terminalOutput = task.outputSchema ? output : renderHumanFacingDeferral(nextRunAt, requesterTz, isFallbackTz, wakeOn ? renderWaitingOn(watchedAgentNames, watchedTaskIds.length) : undefined);
|
|
105693
105730
|
const completed = await completeTask(taskId, terminalOutput, {
|
|
105694
|
-
addTags: ["deferred"]
|
|
105731
|
+
addTags: ["deferred"],
|
|
105732
|
+
deferredAt: new Date().toISOString()
|
|
105695
105733
|
});
|
|
105696
105734
|
if (!completed) {
|
|
105697
105735
|
throw new DeferAbortedError(`Task ${taskId} reached a terminal state before this deferral committed.`);
|
|
@@ -106058,6 +106096,7 @@ var extensionListItemSchema = looseObject({
|
|
|
106058
106096
|
name: string().optional(),
|
|
106059
106097
|
version: number().optional(),
|
|
106060
106098
|
activeVersion: number().optional(),
|
|
106099
|
+
createdByAgentId: string().nullable().optional(),
|
|
106061
106100
|
enabled: boolean().optional(),
|
|
106062
106101
|
status: string().optional(),
|
|
106063
106102
|
priority: number().optional(),
|
|
@@ -106068,6 +106107,7 @@ var extensionToolOutputSchema = swarmToolOutputSchema({
|
|
|
106068
106107
|
name: string().optional(),
|
|
106069
106108
|
version: number().optional(),
|
|
106070
106109
|
activeVersion: number().optional(),
|
|
106110
|
+
createdByAgentId: string().nullable().optional(),
|
|
106071
106111
|
enabled: boolean().optional(),
|
|
106072
106112
|
status: string().optional(),
|
|
106073
106113
|
priority: number().optional(),
|
|
@@ -106083,6 +106123,7 @@ function coerceExtensionSummary(entry) {
|
|
|
106083
106123
|
const extension = isRecord2(entry) ? entry : {};
|
|
106084
106124
|
return {
|
|
106085
106125
|
id: typeof extension.id === "string" ? extension.id : undefined,
|
|
106126
|
+
createdByAgentId: typeof extension.createdByAgentId === "string" ? extension.createdByAgentId : null,
|
|
106086
106127
|
name: typeof extension.name === "string" ? extension.name : undefined,
|
|
106087
106128
|
version: typeof extension.version === "number" ? extension.version : undefined,
|
|
106088
106129
|
activeVersion: typeof extension.activeVersion === "number" ? extension.activeVersion : undefined,
|
|
@@ -106207,7 +106248,7 @@ var registerExtensionEnableTool = (server) => {
|
|
|
106207
106248
|
// src/tools/extension-install.ts
|
|
106208
106249
|
init_zod();
|
|
106209
106250
|
init_types();
|
|
106210
|
-
var EXTENSION_INSTALL_DESCRIPTION = "
|
|
106251
|
+
var EXTENSION_INSTALL_DESCRIPTION = "Any authenticated agent may create and install its own TypeScript extension bundle (manifest plus a files map with one hooks.ts). Fetch the hook contract first: GET /api/extensions/type-defs returns swarm-extension.d.ts with every event and modify shape. The installing agent is recorded as createdByAgentId. Workers may install subsequent versions only for their own extensions; those versions remain inactive. A new extension remains disabled until a lead, operator, or dashboard user enables it with extension-enable.";
|
|
106211
106252
|
function extensionInstallResult(data, fallbackName) {
|
|
106212
106253
|
const body = data;
|
|
106213
106254
|
const extension = coerceExtensionSummary(body.extension);
|
|
@@ -106254,9 +106295,9 @@ function extensionListItems(data) {
|
|
|
106254
106295
|
return data.extensions.map(coerceExtensionSummary);
|
|
106255
106296
|
}
|
|
106256
106297
|
function renderExtensionsTable(extensions) {
|
|
106257
|
-
const header = "| Name | Version | Active | Enabled | Status | Priority | Failures |";
|
|
106258
|
-
const divider = "| --- | ---: | ---: | --- | --- | ---: | ---: |";
|
|
106259
|
-
const rows = extensions.map((extension) => `| ${extension.name ?? "?"} | ${extension.version ?? "?"} | ${extension.activeVersion ?? "?"} | ${extension.enabled ?? false} | ${extension.status ?? "unknown"} | ${extension.priority ?? "?"} | ${extension.consecutiveFailures ?? 0} |`);
|
|
106298
|
+
const header = "| Name | Owner agent | Version | Active | Enabled | Status | Priority | Failures |";
|
|
106299
|
+
const divider = "| --- | --- | ---: | ---: | --- | --- | ---: | ---: |";
|
|
106300
|
+
const rows = extensions.map((extension) => `| ${extension.name ?? "?"} | ${extension.createdByAgentId ?? "operator/user"} | ${extension.version ?? "?"} | ${extension.activeVersion ?? "?"} | ${extension.enabled ?? false} | ${extension.status ?? "unknown"} | ${extension.priority ?? "?"} | ${extension.consecutiveFailures ?? 0} |`);
|
|
106260
106301
|
return [header, divider, ...rows].join(`
|
|
106261
106302
|
`);
|
|
106262
106303
|
}
|
|
@@ -106661,7 +106702,7 @@ var registerJoinSwarmTool = (server) => {
|
|
|
106661
106702
|
const agentId = requestInfo.agentId ?? requestedId ?? "";
|
|
106662
106703
|
try {
|
|
106663
106704
|
const agent = await getDbClient().transaction(async () => {
|
|
106664
|
-
const agents = await getAllAgents();
|
|
106705
|
+
const agents = await getAllAgents({ includeExtensions: true });
|
|
106665
106706
|
const existingIdAgent = agents.find((agent3) => agent3.id === agentId);
|
|
106666
106707
|
if (existingIdAgent) {
|
|
106667
106708
|
throw new Error(`Agent with ID "${agentId}" already exists.`);
|
|
@@ -117032,7 +117073,7 @@ async function notifyAutomationPreflightFailure(preflight) {
|
|
|
117032
117073
|
return;
|
|
117033
117074
|
}
|
|
117034
117075
|
try {
|
|
117035
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
117076
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-zk1apkf6.js");
|
|
117036
117077
|
const app = getSlackApp2();
|
|
117037
117078
|
if (!app) {
|
|
117038
117079
|
console.warn("[Automation Preflight] Slack not available, cannot send notification");
|
|
@@ -117055,6 +117096,7 @@ Fix setup: ${getAppUrl()}${preflight.fixUrl}`),
|
|
|
117055
117096
|
}
|
|
117056
117097
|
|
|
117057
117098
|
// src/be/automation-preflight.ts
|
|
117099
|
+
init_config();
|
|
117058
117100
|
init_db();
|
|
117059
117101
|
var NEEDS_SETUP_PREFIX = "needs_setup:";
|
|
117060
117102
|
function hasValue(value) {
|
|
@@ -117232,7 +117274,7 @@ async function getAutomationSetupStates() {
|
|
|
117232
117274
|
const agentFsOrg = process.env.AGENT_FS_DEFAULT_ORG_ID ?? process.env.AGENT_FS_SHARED_ORG_ID;
|
|
117233
117275
|
const gscConfigured = present(process.env.GSC_SERVICE_ACCOUNT_BASE64) || present(process.env.GSC_SERVICE_ACCOUNT_JSON);
|
|
117234
117276
|
return {
|
|
117235
|
-
slack:
|
|
117277
|
+
slack: getSlackConfiguration().mode === "socket" && isSlackConfigured() ? "configured" : "unverified",
|
|
117236
117278
|
github: present(process.env.GITHUB_WEBHOOK_SECRET) && present(process.env.GITHUB_APP_ID) && present(process.env.GITHUB_APP_PRIVATE_KEY) ? "verified" : "unverified",
|
|
117237
117279
|
linear: linearTokens ? "verified" : "unverified",
|
|
117238
117280
|
jira: jiraTokens && jiraCloudId ? "verified" : "unverified",
|
|
@@ -117774,7 +117816,23 @@ async function startWorkflowExecution(workflow, triggerData, registry, options =
|
|
|
117774
117816
|
await walkGraph(workflow.definition, runId, ctx, entryNodes, registry, workflow.id, secretKeys, options);
|
|
117775
117817
|
return runId;
|
|
117776
117818
|
}
|
|
117819
|
+
var activeWalks = new Map;
|
|
117820
|
+
function isWorkflowRunActive(runId) {
|
|
117821
|
+
return activeWalks.has(runId);
|
|
117822
|
+
}
|
|
117777
117823
|
async function walkGraph(def, runId, ctx, startNodes, registry, workflowId, secretKeys = new Set, options = {}) {
|
|
117824
|
+
activeWalks.set(runId, (activeWalks.get(runId) ?? 0) + 1);
|
|
117825
|
+
try {
|
|
117826
|
+
await walkGraphOwned(def, runId, ctx, startNodes, registry, workflowId, secretKeys, options);
|
|
117827
|
+
} finally {
|
|
117828
|
+
const remaining = activeWalks.get(runId) - 1;
|
|
117829
|
+
if (remaining === 0)
|
|
117830
|
+
activeWalks.delete(runId);
|
|
117831
|
+
else
|
|
117832
|
+
activeWalks.set(runId, remaining);
|
|
117833
|
+
}
|
|
117834
|
+
}
|
|
117835
|
+
async function walkGraphOwned(def, runId, ctx, startNodes, registry, workflowId, secretKeys = new Set, options = {}) {
|
|
117778
117836
|
if (!options.requestedByUserId) {
|
|
117779
117837
|
options = {
|
|
117780
117838
|
...options,
|
|
@@ -119062,7 +119120,7 @@ async function recoverIncompleteRuns(registry) {
|
|
|
119062
119120
|
recovered += await recoverApprovalWaitingRuns(registry);
|
|
119063
119121
|
recovered += await recoverWaitStates(registry);
|
|
119064
119122
|
if (recovered > 0) {
|
|
119065
|
-
console.log(`[workflows] Recovered ${recovered} incomplete run(s)
|
|
119123
|
+
console.log(`[workflows] Recovered ${recovered} incomplete run(s)`);
|
|
119066
119124
|
}
|
|
119067
119125
|
return recovered;
|
|
119068
119126
|
}
|
|
@@ -119071,6 +119129,8 @@ async function recoverRunningRuns(registry) {
|
|
|
119071
119129
|
let recovered = 0;
|
|
119072
119130
|
for (const runId of runningRunIds) {
|
|
119073
119131
|
try {
|
|
119132
|
+
if (isWorkflowRunActive(runId))
|
|
119133
|
+
continue;
|
|
119074
119134
|
const run = await getWorkflowRun(runId);
|
|
119075
119135
|
if (!run || run.status !== "running")
|
|
119076
119136
|
continue;
|
|
@@ -119080,6 +119140,8 @@ async function recoverRunningRuns(registry) {
|
|
|
119080
119140
|
const completedNodeIds = new Set(await getCompletedStepNodeIds(runId));
|
|
119081
119141
|
const ctx = run.context ?? {};
|
|
119082
119142
|
const readyNodes = findReadyNodes(workflow.definition, completedNodeIds);
|
|
119143
|
+
if (isWorkflowRunActive(runId))
|
|
119144
|
+
continue;
|
|
119083
119145
|
if (readyNodes.length === 0) {
|
|
119084
119146
|
await updateWorkflowRun(runId, {
|
|
119085
119147
|
status: "completed",
|
|
@@ -120177,7 +120239,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
|
|
|
120177
120239
|
}
|
|
120178
120240
|
if (notification.channel === "slack") {
|
|
120179
120241
|
try {
|
|
120180
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
120242
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-zk1apkf6.js");
|
|
120181
120243
|
const slackApp = getSlackApp2();
|
|
120182
120244
|
if (!slackApp) {
|
|
120183
120245
|
console.warn("[HITL] Slack not initialized — cannot send notification");
|
|
@@ -120297,7 +120359,7 @@ class NotifyExecutor extends BaseExecutor {
|
|
|
120297
120359
|
}
|
|
120298
120360
|
}
|
|
120299
120361
|
case "slack": {
|
|
120300
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
120362
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-zk1apkf6.js");
|
|
120301
120363
|
const app = getSlackApp2();
|
|
120302
120364
|
if (!app) {
|
|
120303
120365
|
return {
|
|
@@ -121604,6 +121666,9 @@ var registerCreateScheduleTool = (server) => {
|
|
|
121604
121666
|
if (!agent) {
|
|
121605
121667
|
return toolErr(`Target agent not found: ${targetAgentId}`);
|
|
121606
121668
|
}
|
|
121669
|
+
if (isExtensionAgent(agent)) {
|
|
121670
|
+
return toolErr(extensionAgentAssignmentError(agent));
|
|
121671
|
+
}
|
|
121607
121672
|
}
|
|
121608
121673
|
const resolvedTargetType = targetType ?? "agent-task";
|
|
121609
121674
|
if (resolvedTargetType === "agent-task" && !taskTemplate) {
|
|
@@ -122142,6 +122207,9 @@ var registerPatchScheduleTool = (server) => {
|
|
|
122142
122207
|
if (!agent) {
|
|
122143
122208
|
return toolErr(`Target agent not found: ${targetAgentId}`);
|
|
122144
122209
|
}
|
|
122210
|
+
if (isExtensionAgent(agent)) {
|
|
122211
|
+
return toolErr(extensionAgentAssignmentError(agent));
|
|
122212
|
+
}
|
|
122145
122213
|
}
|
|
122146
122214
|
if (newName && newName !== schedule.name) {
|
|
122147
122215
|
const existing = await getScheduledTaskByName(newName);
|
|
@@ -122429,6 +122497,9 @@ var registerUpdateScheduleTool = (server) => {
|
|
|
122429
122497
|
if (!agent) {
|
|
122430
122498
|
return toolErr(`Target agent not found: ${targetAgentId}`);
|
|
122431
122499
|
}
|
|
122500
|
+
if (isExtensionAgent(agent)) {
|
|
122501
|
+
return toolErr(extensionAgentAssignmentError(agent));
|
|
122502
|
+
}
|
|
122432
122503
|
}
|
|
122433
122504
|
if (newName && newName !== schedule.name) {
|
|
122434
122505
|
const existing = await getScheduledTaskByName(newName);
|
|
@@ -123634,6 +123705,9 @@ async function sendTaskHandler(ctx, {
|
|
|
123634
123705
|
message: `Agent with ID "${targetAgentId}" not found.`
|
|
123635
123706
|
};
|
|
123636
123707
|
}
|
|
123708
|
+
if (isExtensionAgent(agent)) {
|
|
123709
|
+
return { success: false, message: extensionAgentAssignmentError(agent) };
|
|
123710
|
+
}
|
|
123637
123711
|
if (taskOptions.routingAffinity?.leadOnly && !agent.isLead) {
|
|
123638
123712
|
return {
|
|
123639
123713
|
success: false,
|
|
@@ -129105,7 +129179,8 @@ function hasCapability(cap) {
|
|
|
129105
129179
|
return getCapabilities().has(cap);
|
|
129106
129180
|
}
|
|
129107
129181
|
function getEnabledCapabilities() {
|
|
129108
|
-
|
|
129182
|
+
const capabilities = Array.from(getCapabilities());
|
|
129183
|
+
return getSlackConfiguration().mode === "socket" ? capabilities : capabilities.filter((capability) => capability !== "slack");
|
|
129109
129184
|
}
|
|
129110
129185
|
function isScriptsOnlyMcp() {
|
|
129111
129186
|
return resolveScriptsOnlyMode({ env: process.env.SCRIPTS_ONLY_MCP });
|
|
@@ -130228,7 +130303,7 @@ function extensionAgentName(name) {
|
|
|
130228
130303
|
async function ensureExtensionAgent(name) {
|
|
130229
130304
|
const agentName = extensionAgentName(name);
|
|
130230
130305
|
return await getDbClient().transaction(async () => {
|
|
130231
|
-
let agent = (await getAllAgents()).find((candidate) => candidate.name === agentName);
|
|
130306
|
+
let agent = (await getAllAgents({ includeExtensions: true })).find((candidate) => candidate.name === agentName);
|
|
130232
130307
|
if (!agent) {
|
|
130233
130308
|
agent = await createAgent({
|
|
130234
130309
|
name: agentName,
|
|
@@ -130244,14 +130319,14 @@ async function ensureExtensionAgent(name) {
|
|
|
130244
130319
|
await updateAgentMaxTasks(agent.id, 0);
|
|
130245
130320
|
await updateAgentProfile(agent.id, {
|
|
130246
130321
|
description: `System agent for extension ${name}`,
|
|
130247
|
-
role:
|
|
130322
|
+
role: EXTENSION_AGENT_ROLE,
|
|
130248
130323
|
capabilities: []
|
|
130249
|
-
});
|
|
130324
|
+
}, undefined, { allowExtensionRole: true });
|
|
130250
130325
|
return agent.id;
|
|
130251
130326
|
});
|
|
130252
130327
|
}
|
|
130253
130328
|
async function deactivateExtensionAgent(name) {
|
|
130254
|
-
const agent = (await getAllAgents()).find((candidate) => candidate.name === extensionAgentName(name));
|
|
130329
|
+
const agent = (await getAllAgents({ includeExtensions: true })).find((candidate) => candidate.name === extensionAgentName(name));
|
|
130255
130330
|
if (agent && agent.status !== "offline")
|
|
130256
130331
|
await updateAgentStatus(agent.id, "offline");
|
|
130257
130332
|
}
|
|
@@ -130540,25 +130615,18 @@ function maxUpdatedAt(extensions) {
|
|
|
130540
130615
|
return extensions.reduce((latest, extension) => extension.updatedAt > latest ? extension.updatedAt : latest, "");
|
|
130541
130616
|
}
|
|
130542
130617
|
async function loadableExtension(record3) {
|
|
130543
|
-
|
|
130544
|
-
|
|
130545
|
-
|
|
130546
|
-
throw new ExtensionLifecycleError(`Extension version ${record3.activeVersion} was not found`, 404);
|
|
130547
|
-
}
|
|
130548
|
-
return {
|
|
130549
|
-
record: {
|
|
130550
|
-
...record3,
|
|
130551
|
-
manifestJson: version.manifestJson,
|
|
130552
|
-
contentHash: version.contentHash
|
|
130553
|
-
},
|
|
130554
|
-
manifest: ExtensionManifestSchema.parse(JSON.parse(version.manifestJson)),
|
|
130555
|
-
files: JSON.parse(version.filesJson)
|
|
130556
|
-
};
|
|
130618
|
+
const version = await getExtensionVersion(record3.id, record3.activeVersion);
|
|
130619
|
+
if (!version) {
|
|
130620
|
+
throw new ExtensionLifecycleError(`Extension version ${record3.activeVersion} was not found`, 404);
|
|
130557
130621
|
}
|
|
130558
130622
|
return {
|
|
130559
|
-
record:
|
|
130560
|
-
|
|
130561
|
-
|
|
130623
|
+
record: {
|
|
130624
|
+
...record3,
|
|
130625
|
+
manifestJson: version.manifestJson,
|
|
130626
|
+
contentHash: version.contentHash
|
|
130627
|
+
},
|
|
130628
|
+
manifest: ExtensionManifestSchema.parse(JSON.parse(version.manifestJson)),
|
|
130629
|
+
files: JSON.parse(version.filesJson)
|
|
130562
130630
|
};
|
|
130563
130631
|
}
|
|
130564
130632
|
async function removeRegistered(id2) {
|
|
@@ -131183,4 +131251,4 @@ async function dispatchPost(event, payload, opts) {
|
|
|
131183
131251
|
}
|
|
131184
131252
|
}
|
|
131185
131253
|
|
|
131186
|
-
export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, McpServer, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, findUserById, findUserByExternalId, getUserIdentities, listUserEvents, listUserTokens, recordIdentityEvent, findOrCreateUserByEmail, linkIdentity, unlinkIdentity, mintToken, revokeToken, resolveUserByToken, mintSessionToken, revokeSessionToken, fingerprintApiKey, resolveIdentity, renderIdentity, createAdditiveBuffer, installExtension, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, deleteExtension, listExtensionRuns, SDK_ALLOWLIST, mcpToolNameForSdkMethod, mcpOverflowAuthError, toolErr, createToolRegistrar, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, runtimeInstanceHeader, describeRequestRoute, route, handleMcpBridge, Redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, ExtensionConfigError, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, ExtensionAbortedError, isRegistered, isExtensionAgentId, getExtensionBridgeToken, resolveBridgeCallOrigin, extensionIdForAgent, runContext, registerLoaded, unregister, listRegistered, dispatchPre, dispatchPost, TaskCreationBlockedError, createTaskWithSiblingAwareness, isInboxAllowed, isSenderAllowed, handleMessageReceived, AGENT_MAX_TASKS_CONFIG_KEY, reconcileAgentMaxTasksPolicy, resetAgentMaxTasksMirror, upsertSwarmConfigWithPolicyMirror, runtimeStaleThresholdMinutes, upsertRuntimeInstance, getRuntimeInstanceById, touchRuntimeInstance, countActiveRuntimeInstancesForAgent, listRuntimeInstancesForAgent, setRuntimeCredentialReady, reconcileAgentStatusFromRuntimes, agentsWithLiveRuntime, expireStaleRuntimeInstances, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2 as handleIssue1, handleNote, handlePipeline, repointTrackerSyncBySwarmId, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, recordUnmappedIdentity, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, hasOtherUserMention, broadcastMatches, routeMessage, extractTaskFromMessage, extractSlackMessageText, registerJiraWebhook, deleteJiraWebhook, isJiraEnabled, initJira, handleJiraWebhook, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, isLinearEnabled, initLinear, parseCookieHeader, extractAndVerifyCookie, issuePageSessionCookie, resolveHttpRequestAuth, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, userCtx, resolveTaskAuditUserId, resolveHttpAuditUserId, resolveHttpFavoriteOwner, handleApps, getUserCommsPrefs, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, snapshotMetric, AssetKeyAuthorizationError, authorizeAssetKeyWrite, snapshotPage, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, scopedResourceScopeIdSchema, resolveScopedResourceId, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, ExplicitSelfDuplicateError, applyRating, shouldPersistAutomaticTaskMemory, REBOOT_RETRY_PIN_TAG, getPinCandidateAgent, resolveLeadOnlyRecoveryAssignment, getResumeGeneration, getNextResumeGeneration, createWorkerTaskFollowUp, createResumeFollowUp, createRerouteDecisionTask, createPoolStarvationDecisionTask, validateJsonSchema, guardTerminalTaskResultWrite, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, reservedNamespaceError, reservedRoomKeyError, refreshLinks, canReadMemory, getLinksForMemory, expandCandidatesWithGraph, indexMemoryContent, markKapsoMessageRead, sendKapsoReaction, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, RoomOperationSchema, removeAwarenessStates, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, automationIntegrationFixUrl, preflightAutomation, getAutomationSetupStates, listEnabledAutomationPreflightInputs, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleEventTrigger, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, snapshotAndUpdateWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, getExecutorRegistry, initWorkflows, dispatchScheduleTarget, calculateNextRun, startScheduler, stopScheduler, runScheduleNow, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, mergeScheduleTiming, validateRecurringTiming, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, parseSkillContent, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, canClaim, emitBudgetRefusalSideEffects, taskActionInputSchema, taskActionOutputSchema, taskActionHandler, patchWorkflowDefinition, resolveScriptsOnlyMode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer };
|
|
131254
|
+
export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, McpServer, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, findUserById, findUserByExternalId, getUserIdentities, listUserEvents, listUserTokens, recordIdentityEvent, findOrCreateUserByEmail, linkIdentity, unlinkIdentity, mintToken, revokeToken, resolveUserByToken, mintSessionToken, revokeSessionToken, fingerprintApiKey, resolveIdentity, renderIdentity, createAdditiveBuffer, ExtensionOwnershipError, installExtension, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, deleteExtension, listExtensionRuns, SDK_ALLOWLIST, mcpToolNameForSdkMethod, mcpOverflowAuthError, toolErr, createToolRegistrar, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, runtimeInstanceHeader, describeRequestRoute, route, handleMcpBridge, Redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, ExtensionConfigError, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, ExtensionAbortedError, isRegistered, isExtensionAgentId, getExtensionBridgeToken, resolveBridgeCallOrigin, extensionIdForAgent, runContext, registerLoaded, unregister, listRegistered, dispatchPre, dispatchPost, TaskCreationBlockedError, createTaskWithSiblingAwareness, isInboxAllowed, isSenderAllowed, handleMessageReceived, AGENT_MAX_TASKS_CONFIG_KEY, reconcileAgentMaxTasksPolicy, resetAgentMaxTasksMirror, upsertSwarmConfigWithPolicyMirror, runtimeStaleThresholdMinutes, upsertRuntimeInstance, getRuntimeInstanceById, touchRuntimeInstance, countActiveRuntimeInstancesForAgent, listRuntimeInstancesForAgent, setRuntimeCredentialReady, reconcileAgentStatusFromRuntimes, agentsWithLiveRuntime, expireStaleRuntimeInstances, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2 as handleIssue1, handleNote, handlePipeline, repointTrackerSyncBySwarmId, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, recordUnmappedIdentity, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, hasOtherUserMention, broadcastMatches, routeMessage, extractTaskFromMessage, extractSlackMessageText, registerJiraWebhook, deleteJiraWebhook, isJiraEnabled, initJira, handleJiraWebhook, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, isLinearEnabled, initLinear, parseCookieHeader, extractAndVerifyCookie, issuePageSessionCookie, resolveHttpRequestAuth, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, userCtx, resolveTaskAuditUserId, resolveHttpAuditUserId, resolveHttpFavoriteOwner, handleApps, getUserCommsPrefs, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, snapshotMetric, AssetKeyAuthorizationError, authorizeAssetKeyWrite, snapshotPage, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, scopedResourceScopeIdSchema, resolveScopedResourceId, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, ExplicitSelfDuplicateError, applyRating, shouldPersistAutomaticTaskMemory, REBOOT_RETRY_PIN_TAG, getPinCandidateAgent, resolveLeadOnlyRecoveryAssignment, getResumeGeneration, getNextResumeGeneration, createWorkerTaskFollowUp, createResumeFollowUp, createRerouteDecisionTask, createPoolStarvationDecisionTask, validateJsonSchema, guardTerminalTaskResultWrite, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, reservedNamespaceError, reservedRoomKeyError, refreshLinks, canReadMemory, getLinksForMemory, expandCandidatesWithGraph, indexMemoryContent, markKapsoMessageRead, sendKapsoReaction, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, RoomOperationSchema, removeAwarenessStates, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, automationIntegrationFixUrl, preflightAutomation, getAutomationSetupStates, listEnabledAutomationPreflightInputs, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleEventTrigger, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, snapshotAndUpdateWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, getExecutorRegistry, initWorkflows, dispatchScheduleTarget, calculateNextRun, startScheduler, stopScheduler, runScheduleNow, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, mergeScheduleTiming, validateRecurringTiming, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, parseSkillContent, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, canClaim, emitBudgetRefusalSideEffects, taskActionInputSchema, taskActionOutputSchema, taskActionHandler, patchWorkflowDefinition, resolveScriptsOnlyMode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer };
|