@desplega.ai/agent-swarm 1.152.2 → 1.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{acp-adapter-pfeje2v5.js → acp-adapter-ahmjxhek.js} +4 -4
- package/dist/{actions-0sttc7f5.js → actions-jzrfpkmn.js} +30 -26
- package/dist/{anthropic-messages-2y8nktar.js → anthropic-messages-9vqsbznt.js} +112 -84
- package/dist/{app-p8teva95.js → app-03na2vwb.js} +9 -6
- package/dist/{assistant-r45jnsrt.js → assistant-hfkxvhgt.js} +31 -27
- package/dist/{azure-openai-responses-f38x2avq.js → azure-openai-responses-04qwdwfq.js} +27 -13
- package/dist/{boot-reembed-je26h5y7.js → boot-reembed-c98xrad3.js} +8 -6
- package/dist/{boot-reembed-1qmybsd4.js → boot-reembed-zt3qm9xn.js} +9 -7
- package/dist/{boot-scrub-logs-gte3h1mm.js → boot-scrub-logs-jcqd8ksj.js} +6 -4
- package/dist/{claude-adapter-csc1mzka.js → claude-adapter-mgryg8g3.js} +17 -15
- package/dist/{claude-managed-adapter-dsmkcrjy.js → claude-managed-adapter-ea2aga6w.js} +3 -3
- package/dist/{claude-sdk-session-fcd6f078.js → claude-sdk-session-jjf4zss1.js} +17 -15
- package/dist/{cli-r2fpe7cx.js → cli-00w2c66p.js} +61 -55
- package/dist/{cli-fm4ytsdk.js → cli-0d9nbqxf.js} +1 -1
- package/dist/cli-0x5qzvkg.js +4279 -0
- package/dist/{cli-d3p82erb.js → cli-18amys3y.js} +9 -9
- package/dist/{cli-wbyk465z.js → cli-1hwnb4hc.js} +1 -1
- package/dist/{cli-xw7vak96.js → cli-3bcmp015.js} +5 -5
- package/dist/cli-3er6gcsn.js +1849 -0
- package/dist/{cli-c4eeb5q2.js → cli-5b6b62tz.js} +1 -1
- package/dist/{cli-4ahpr4sw.js → cli-5mbmvxnn.js} +5 -5
- package/dist/{cli-xy1cchaf.js → cli-5taqtpze.js} +235 -8
- package/dist/{cli-fmy65jdn.js → cli-6ks9xf1n.js} +7 -5
- package/dist/cli-7g9s78jf.js +2827 -0
- package/dist/{cli-jew3jda5.js → cli-7pnz2v6s.js} +2 -2
- package/dist/{cli-r84ctdxn.js → cli-83wkg402.js} +2 -2
- package/dist/{cli-jvy9qgjs.js → cli-a9scg8sv.js} +4 -4
- package/dist/{cli-4yc5d8fk.js → cli-avkd6mqv.js} +50 -0
- package/dist/{cli-ht5rs63n.js → cli-b2g6mzjc.js} +15 -6
- package/dist/{cli-jbmc0r7r.js → cli-bw0dfwkr.js} +1 -1
- package/dist/{cli-8wrympd7.js → cli-bzr0ftht.js} +26 -7
- package/dist/{cli-wpv5rgg2.js → cli-cdq08v3r.js} +2 -2
- package/dist/cli-cgj4hc12.js +18902 -0
- package/dist/cli-d6hk10xx.js +14075 -0
- package/dist/{cli-zvgj5zg8.js → cli-djvxhnc4.js} +31 -3324
- package/dist/{cli-s25avqg9.js → cli-e781c6f9.js} +1 -0
- package/dist/{cli-3bpzj8me.js → cli-eazstkad.js} +2 -2
- package/dist/{cli-s2qjdd6z.js → cli-eetrvv91.js} +1 -1
- package/dist/cli-h38x0qhg.js +6912 -0
- package/dist/{cli-9xvdm3bx.js → cli-h60qfasa.js} +742 -278
- package/dist/{pi-mono-adapter-jcqt71cg.js → cli-ja7mrygn.js} +67343 -101083
- package/dist/{cli-j8dggbcr.js → cli-k0g1sjzm.js} +23 -31
- package/dist/{cli-gphgnvpf.js → cli-m04pt18h.js} +2 -2
- package/dist/{cli-rgvp6r2x.js → cli-mcnhgnn1.js} +193 -4
- package/dist/{cli-j4nv2wqy.js → cli-mzgyhxbe.js} +10 -4
- package/dist/{cli-qn042eh7.js → cli-n0q9b7j4.js} +46 -1870
- package/dist/cli-n7h1kqpf.js +29 -0
- package/dist/{cli-ckz5t2hb.js → cli-nq0kgyxe.js} +5 -5
- package/dist/{cli-z3wkng35.js → cli-qrqhc31j.js} +151 -125
- package/dist/{cli-56h18ng2.js → cli-r8tdds6s.js} +1 -1
- package/dist/{cli-ch38q5z4.js → cli-rj7de4b2.js} +6788 -2541
- package/dist/{cli-qd65dvr6.js → cli-s5s1f2yn.js} +56 -40
- package/dist/{cli-kj76p1ez.js → cli-scwq51gn.js} +13 -7
- package/dist/{cli-2nnd56zt.js → cli-tdh4hjr2.js} +3 -2
- package/dist/{cli-c2mk1kgf.js → cli-v4en75c5.js} +8 -1
- package/dist/{cli-b9dd0h3k.js → cli-vw03hg5t.js} +3 -2
- package/dist/{cli-zvkq5csn.js → cli-ybpp1srm.js} +6 -6
- package/dist/cli-yn0a417a.js +4069 -0
- package/dist/{cli-gpqcs935.js → cli-ysc1kbet.js} +2 -2
- package/dist/{cli-zfzznn7c.js → cli-ytxs7mn1.js} +26 -2
- package/dist/cli-zcsyfw2z.js +3335 -0
- package/dist/{cli-4j8k1m4w.js → cli-zt1227k1.js} +1162 -192
- package/dist/cli-zy5w9gpt.js +230 -0
- package/dist/cli.js +26 -34
- package/dist/{codex-adapter-fxmpsabw.js → codex-adapter-8548daap.js} +12 -11
- package/dist/{codex-session-runner-rr1e47ea.js → codex-session-runner-2dad8p4x.js} +12 -11
- package/dist/{commands-0f5rxz51.js → commands-355dbpa8.js} +6 -4
- package/dist/{db-r3jxf3wy.js → db-4jjvwz1s.js} +6 -4
- package/dist/{dispatcher-06vph6q4.js → dispatcher-ca590nkz.js} +29 -25
- package/dist/dsh-adapter-rgvj6ykp.js +19 -0
- package/dist/{e2b-413b8t4v.js → e2b-93x1k0j5.js} +6 -7
- package/dist/{google-generative-ai-ndjmj5fa.js → google-generative-ai-xtw7tggr.js} +33 -73
- package/dist/{google-vertex-fr665tqs.js → google-vertex-zdqpms6n.js} +38 -68
- package/dist/{handlers-0hgtc910.js → handlers-2y6dqpvf.js} +32 -28
- package/dist/{hook-9kvrv1er.js → hook-0s8knepr.js} +11 -9
- package/dist/{hook-fbfhkat3.js → hook-k0gec254.js} +12 -10
- package/dist/{http-xbyx8k5j.js → http-jp2nb4zw.js} +300 -237
- package/dist/{index-tfsdxyv6.js → index-0wzg3sp3.js} +39 -24
- package/dist/{index-rnyahfn5.js → index-3mq6ce93.js} +29 -25
- package/dist/{index-jsw3aynb.js → index-42s7eezq.js} +29 -25
- package/dist/{cli-pdz9qde4.js → index-9ch1n761.js} +10 -11
- package/dist/{index-gpfn1741.js → index-b56xkbc7.js} +8 -6
- package/dist/{index-66xz5e9j.js → index-h5gs261z.js} +521 -9
- package/dist/{index-2sp0384z.js → index-kkeftv5h.js} +738 -21
- package/dist/{index-sgk50mbg.js → index-s37dbevy.js} +30 -26
- 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-9pfw7t02.js} +8 -6
- package/dist/{lead-rq4n5r16.js → lead-7vcmcdq4.js} +44 -39
- package/dist/{maintenance-f0atj1ab.js → maintenance-x277jbpd.js} +9 -7
- 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-5fwa7th2.js} +7 -5
- package/dist/{onboard-br5j1kch.js → onboard-17sv0f51.js} +103 -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-srjy4be4.js} +4 -4
- package/dist/{pi-messages-b1mbr6gp.js → pi-messages-txpjj39q.js} +3 -3
- package/dist/pi-mono-adapter-946a0sdd.js +1316 -0
- package/dist/{pricing-refresh-hb3691fd.js → pricing-refresh-vetcm563.js} +8 -6
- package/dist/{rbac-roles-jh280k9g.js → rbac-roles-cfzgr6r1.js} +8 -6
- package/dist/{rbac-roles-t78xt39b.js → rbac-roles-cmxaddmy.js} +7 -5
- package/dist/{render-v2-7p8r2ymg.js → render-v2-f9hzff72.js} +9 -6
- package/dist/{seed-pricing-hf889enh.js → seed-pricing-jggk6rsy.js} +7 -5
- package/dist/{setup-w6mb03jv.js → setup-8mfceb9t.js} +4 -5
- package/dist/virtual-modules-ax661xp0.js +54 -0
- package/dist/{work-objects-nt8gy1kj.js → work-objects-vdsdcczj.js} +32 -28
- package/dist/{worker-dwy617t0.js → worker-cd0nhyv1.js} +44 -39
- package/openapi.json +36 -14
- package/package.json +6 -6
- package/src/be/automation-preflight.ts +6 -4
- package/src/be/extensions/db.ts +35 -4
- 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-pricing.ts +3 -1
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/onboard/compose-generator.ts +6 -1
- package/src/commands/onboard/env-generator.ts +6 -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/extensions/lifecycle.ts +15 -21
- package/src/http/agents.ts +2 -2
- package/src/http/config.ts +1 -1
- package/src/http/core.ts +5 -3
- package/src/http/extensions.ts +108 -34
- package/src/http/status.ts +22 -10
- package/src/prompts/base-prompt.ts +15 -7
- package/src/providers/claude-managed-models.ts +8 -0
- 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/rbac/legacy-policy.ts +15 -1
- package/src/rbac/types.ts +2 -0
- package/src/server.ts +7 -1
- package/src/slack/app.ts +32 -10
- package/src/slack/config.ts +29 -0
- package/src/telemetry.ts +2 -3
- 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/config-api-only-keys.test.ts +9 -0
- package/src/tests/context-window.test.ts +1 -0
- 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/extensions-db.test.ts +41 -0
- package/src/tests/extensions-http.test.ts +148 -4
- package/src/tests/extensions-lifecycle.test.ts +18 -0
- package/src/tests/extensions-mcp-tools.test.ts +9 -5
- 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/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/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/status.test.ts +22 -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-llm.test.ts +3 -3
- 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/types.ts +17 -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/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
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm
|
|
3
|
+
} from "./cli-bc05qbss.js";
|
|
4
|
+
|
|
5
|
+
// src/slack/config.ts
|
|
6
|
+
function getSlackConfiguration(env = process.env) {
|
|
7
|
+
const rawMode = env.SLACK_MODE === undefined ? "socket" : env.SLACK_MODE.trim();
|
|
8
|
+
const mode = SLACK_MODES.includes(rawMode) ? rawMode : null;
|
|
9
|
+
const missingCredentials = ["SLACK_BOT_TOKEN"];
|
|
10
|
+
if (mode === "socket")
|
|
11
|
+
missingCredentials.push("SLACK_APP_TOKEN");
|
|
12
|
+
if (mode === "http")
|
|
13
|
+
missingCredentials.push("SLACK_SIGNING_SECRET");
|
|
14
|
+
return {
|
|
15
|
+
disabled: env.SLACK_DISABLE === "true" || env.SLACK_DISABLE === "1",
|
|
16
|
+
mode,
|
|
17
|
+
missingCredentials: missingCredentials.filter((key) => !env[key]?.trim())
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function isSlackConfigured(env = process.env) {
|
|
21
|
+
const config = getSlackConfiguration(env);
|
|
22
|
+
return !config.disabled && config.mode !== null && config.missingCredentials.length === 0;
|
|
23
|
+
}
|
|
24
|
+
var SLACK_MODES;
|
|
25
|
+
var init_config = __esm(() => {
|
|
26
|
+
SLACK_MODES = ["socket", "http"];
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export { getSlackConfiguration, isSlackConfigured, init_config };
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
instantFlush,
|
|
6
6
|
requestSlackThreadSteering,
|
|
7
7
|
wasEventSeen
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-a9scg8sv.js";
|
|
9
9
|
import {
|
|
10
10
|
enrichSlackUserEmail,
|
|
11
11
|
resolveSlackUserId,
|
|
12
12
|
rewriteSlackMentions
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-eazstkad.js";
|
|
14
14
|
import {
|
|
15
15
|
TaskCreationBlockedError,
|
|
16
16
|
broadcastMatches,
|
|
@@ -23,14 +23,14 @@ import {
|
|
|
23
23
|
hasOtherUserMention,
|
|
24
24
|
notifySlackFileFailures,
|
|
25
25
|
routeMessage
|
|
26
|
-
} from "./cli-
|
|
26
|
+
} from "./cli-qrqhc31j.js";
|
|
27
27
|
import {
|
|
28
28
|
ackSlackMessage,
|
|
29
29
|
buildTreeBlocks,
|
|
30
30
|
ensureSlackThreadTree,
|
|
31
31
|
isSlackRenderV2Enabled,
|
|
32
32
|
registerTreeMessage
|
|
33
|
-
} from "./cli-
|
|
33
|
+
} from "./cli-n0q9b7j4.js";
|
|
34
34
|
import {
|
|
35
35
|
getAgentById,
|
|
36
36
|
getAgentWorkingOnThread,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
init_db,
|
|
43
43
|
reactionName,
|
|
44
44
|
slackContextKey
|
|
45
|
-
} from "./cli-
|
|
45
|
+
} from "./cli-djvxhnc4.js";
|
|
46
46
|
import {
|
|
47
47
|
init_resolver,
|
|
48
48
|
resolveTemplate
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
REFERENCES_SOURCE_MAX_LENGTH,
|
|
10
10
|
resolveCredential,
|
|
11
11
|
sanitizeReferencesSource
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-7g9s78jf.js";
|
|
13
13
|
import {
|
|
14
14
|
isMultiRuntimeEnabled
|
|
15
15
|
} from "./cli-re8z5p8p.js";
|
|
@@ -18,18 +18,21 @@ import {
|
|
|
18
18
|
} from "./cli-3dpj7atn.js";
|
|
19
19
|
import {
|
|
20
20
|
startPricingRefreshLoop
|
|
21
|
-
} from "./cli-
|
|
21
|
+
} from "./cli-vw03hg5t.js";
|
|
22
|
+
import {
|
|
23
|
+
seedPricingFromModelsDev
|
|
24
|
+
} from "./cli-tdh4hjr2.js";
|
|
22
25
|
import {
|
|
23
26
|
ensureRbacSeedsSynced,
|
|
24
27
|
getUserGrant
|
|
25
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-83wkg402.js";
|
|
26
29
|
import {
|
|
27
30
|
can,
|
|
28
31
|
decideAdmission,
|
|
29
32
|
grantLeadEquivalence,
|
|
30
33
|
isRbacEnabled,
|
|
31
34
|
revokeLeadEquivalence
|
|
32
|
-
} from "./cli-
|
|
35
|
+
} from "./cli-ytxs7mn1.js";
|
|
33
36
|
import {
|
|
34
37
|
AppDefinitionSchema,
|
|
35
38
|
AppElementsSchema,
|
|
@@ -93,7 +96,7 @@ import {
|
|
|
93
96
|
upsertScriptConnection,
|
|
94
97
|
validateDefinition,
|
|
95
98
|
writeBareImportShim
|
|
96
|
-
} from "./cli-
|
|
99
|
+
} from "./cli-6ks9xf1n.js";
|
|
97
100
|
import {
|
|
98
101
|
detachedProcessGroup,
|
|
99
102
|
registerProcessGroup,
|
|
@@ -102,10 +105,6 @@ import {
|
|
|
102
105
|
import {
|
|
103
106
|
getApiKey
|
|
104
107
|
} from "./cli-f14fvzag.js";
|
|
105
|
-
import {
|
|
106
|
-
ZodFirstPartyTypeKind,
|
|
107
|
-
objectType
|
|
108
|
-
} from "./cli-fad8m16k.js";
|
|
109
108
|
import {
|
|
110
109
|
buildAuthorizationUrl,
|
|
111
110
|
createOAuthApp,
|
|
@@ -120,10 +119,28 @@ import {
|
|
|
120
119
|
listAuthorizationsForApp,
|
|
121
120
|
onAuthorizationRefreshed,
|
|
122
121
|
upsertOAuthApp
|
|
123
|
-
} from "./cli-
|
|
122
|
+
} from "./cli-r8tdds6s.js";
|
|
124
123
|
import {
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
ZodFirstPartyTypeKind,
|
|
125
|
+
objectType
|
|
126
|
+
} from "./cli-fad8m16k.js";
|
|
127
|
+
import {
|
|
128
|
+
AgentFsProvider,
|
|
129
|
+
getFileStorageProvider,
|
|
130
|
+
providerPath
|
|
131
|
+
} from "./cli-jsp14b6c.js";
|
|
132
|
+
import {
|
|
133
|
+
CANDIDATE_SET_MULTIPLIER,
|
|
134
|
+
computeScore,
|
|
135
|
+
getEmbeddingProvider,
|
|
136
|
+
getMemoryStore,
|
|
137
|
+
init_constants as init_constants2,
|
|
138
|
+
init_reranker,
|
|
139
|
+
init_sqlite_store,
|
|
140
|
+
isGraphExpansionEnabled,
|
|
141
|
+
rerank,
|
|
142
|
+
rowToCandidate
|
|
143
|
+
} from "./cli-7pnz2v6s.js";
|
|
127
144
|
import {
|
|
128
145
|
require_dist
|
|
129
146
|
} from "./cli-51tf7ac3.js";
|
|
@@ -137,82 +154,23 @@ import {
|
|
|
137
154
|
startSlackApp,
|
|
138
155
|
stopSlackApp,
|
|
139
156
|
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";
|
|
157
|
+
} from "./cli-n0q9b7j4.js";
|
|
153
158
|
import {
|
|
154
159
|
init_task_attachment_links,
|
|
155
160
|
taskAttachmentDisplayUrl,
|
|
156
161
|
taskAttachmentFetchCommand
|
|
157
162
|
} from "./cli-2658f6at.js";
|
|
158
163
|
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
164
|
CredentialBindingSchema,
|
|
178
|
-
ExtensionManifestSchema,
|
|
179
|
-
FollowUpConfigSchema,
|
|
180
|
-
InputValueSchema,
|
|
181
|
-
KvKeySchema,
|
|
182
|
-
KvNamespaceSchema,
|
|
183
165
|
KvTypeCollisionError,
|
|
184
|
-
KvValueTypeSchema,
|
|
185
166
|
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
167
|
SteeringRequestError,
|
|
204
|
-
SwarmConfigScopeSchema,
|
|
205
|
-
TriggerConfigSchema,
|
|
206
|
-
WorkflowDefinitionSchema,
|
|
207
|
-
WorkflowNodePatchSchema,
|
|
208
|
-
WorkflowRunStatusSchema,
|
|
209
168
|
acceptTask,
|
|
210
169
|
agentContextKey,
|
|
211
170
|
agentmailContextKey,
|
|
212
171
|
beginRequestAuthScope,
|
|
213
172
|
buildJiraContextKey,
|
|
214
173
|
buildRoutingAffinityFromAgent,
|
|
215
|
-
canWriteAssetKey,
|
|
216
174
|
cancelPendingApprovalRequestsForRun,
|
|
217
175
|
cancelTask,
|
|
218
176
|
checkDependencies,
|
|
@@ -365,14 +323,11 @@ import {
|
|
|
365
323
|
incrKv,
|
|
366
324
|
incrementEmptyPollCount,
|
|
367
325
|
initDb,
|
|
368
|
-
init_bundle_path,
|
|
369
326
|
init_context_key,
|
|
370
327
|
init_credential_broker,
|
|
371
328
|
init_date_utils,
|
|
372
329
|
init_db,
|
|
373
330
|
init_db_client,
|
|
374
|
-
init_dist,
|
|
375
|
-
init_key,
|
|
376
331
|
init_request_auth_context,
|
|
377
332
|
init_slack_routing,
|
|
378
333
|
init_steering,
|
|
@@ -380,17 +335,13 @@ import {
|
|
|
380
335
|
init_task_lifecycle_events,
|
|
381
336
|
init_telemetry,
|
|
382
337
|
init_templates,
|
|
383
|
-
init_types,
|
|
384
|
-
init_zod_openapi,
|
|
385
338
|
insertTaskAttachment,
|
|
386
339
|
installMcpServer,
|
|
387
340
|
installSkill,
|
|
388
341
|
isAgentEligibleForTask,
|
|
389
342
|
isInTransaction,
|
|
390
343
|
isReservedConfigKey,
|
|
391
|
-
isSafeBundlePath,
|
|
392
344
|
isSteeringEnabled,
|
|
393
|
-
isTerminalTaskStatus,
|
|
394
345
|
linearContextKey,
|
|
395
346
|
listCancelledApprovalRequestsForRun,
|
|
396
347
|
listKv,
|
|
@@ -404,12 +355,10 @@ import {
|
|
|
404
355
|
maskSecrets,
|
|
405
356
|
moveTaskFromBacklog,
|
|
406
357
|
moveTaskToBacklog,
|
|
407
|
-
normalizeAssetKey,
|
|
408
358
|
normalizeDateRequired,
|
|
409
359
|
onTaskStarted,
|
|
410
360
|
overwriteTerminalTaskResultText,
|
|
411
361
|
pageContextKey,
|
|
412
|
-
parseAssetKey,
|
|
413
362
|
placeholderForConfigKey,
|
|
414
363
|
postMessage,
|
|
415
364
|
promoteDraftTask,
|
|
@@ -433,7 +382,6 @@ import {
|
|
|
433
382
|
setBudgetRefusalFollowUpTaskId,
|
|
434
383
|
setRequestAuth,
|
|
435
384
|
shouldBlockPolling,
|
|
436
|
-
splitLegacyModelAlias,
|
|
437
385
|
startTask,
|
|
438
386
|
sweepExpiredKvPrefix,
|
|
439
387
|
telemetry,
|
|
@@ -463,13 +411,67 @@ import {
|
|
|
463
411
|
upsertSwarmConfig,
|
|
464
412
|
validateConfigValue,
|
|
465
413
|
workflowContextKey
|
|
466
|
-
} from "./cli-
|
|
414
|
+
} from "./cli-djvxhnc4.js";
|
|
415
|
+
import {
|
|
416
|
+
$OpenAPIRegistry,
|
|
417
|
+
$OpenApiGeneratorV31,
|
|
418
|
+
AgentAvatarSchema,
|
|
419
|
+
AgentMemoryScopeSchema,
|
|
420
|
+
AgentMemorySourceSchema,
|
|
421
|
+
AgentStatusSchema,
|
|
422
|
+
AgentTaskStatusSchema,
|
|
423
|
+
AssetKeySchema,
|
|
424
|
+
AttachmentInputSchema,
|
|
425
|
+
BudgetRefusalCauseSchema,
|
|
426
|
+
ChannelTypeSchema,
|
|
427
|
+
CooldownConfigSchema,
|
|
428
|
+
CreateTaskOptionsSchema,
|
|
429
|
+
ExtensionManifestSchema,
|
|
430
|
+
FollowUpConfigSchema,
|
|
431
|
+
InputValueSchema,
|
|
432
|
+
KvKeySchema,
|
|
433
|
+
KvNamespaceSchema,
|
|
434
|
+
KvValueTypeSchema,
|
|
435
|
+
MetricDefinitionSchema,
|
|
436
|
+
ModelTierSchema,
|
|
437
|
+
OnUnsupportedSchema,
|
|
438
|
+
PageAuthModeSchema,
|
|
439
|
+
PageContentTypeSchema,
|
|
440
|
+
PromptTemplateScopeSchema,
|
|
441
|
+
PromptTemplateStateSchema,
|
|
442
|
+
ProviderNameSchema,
|
|
443
|
+
ReasoningEffortSchema,
|
|
444
|
+
RepoGuidelinesInputSchema,
|
|
445
|
+
RepoHooksSchema,
|
|
446
|
+
RoutingReasonSchema,
|
|
447
|
+
ScheduledTaskTargetTypeSchema,
|
|
448
|
+
ScriptRunStatusSchema,
|
|
449
|
+
ServiceStatusSchema,
|
|
450
|
+
SteerModeSchema,
|
|
451
|
+
SteerOutcomeSchema,
|
|
452
|
+
SwarmConfigScopeSchema,
|
|
453
|
+
TriggerConfigSchema,
|
|
454
|
+
WorkflowDefinitionSchema,
|
|
455
|
+
WorkflowNodePatchSchema,
|
|
456
|
+
WorkflowRunStatusSchema,
|
|
457
|
+
canWriteAssetKey,
|
|
458
|
+
init_bundle_path,
|
|
459
|
+
init_dist,
|
|
460
|
+
init_key,
|
|
461
|
+
init_types,
|
|
462
|
+
init_zod_openapi,
|
|
463
|
+
isSafeBundlePath,
|
|
464
|
+
isTerminalTaskStatus,
|
|
465
|
+
normalizeAssetKey,
|
|
466
|
+
parseAssetKey,
|
|
467
|
+
splitLegacyModelAlias
|
|
468
|
+
} from "./cli-zcsyfw2z.js";
|
|
467
469
|
import {
|
|
468
470
|
generateDefaultClaudeMd,
|
|
469
471
|
generateDefaultIdentityMd,
|
|
470
472
|
generateDefaultSoulMd,
|
|
471
473
|
init_defaults
|
|
472
|
-
} from "./cli-
|
|
474
|
+
} from "./cli-b2g6mzjc.js";
|
|
473
475
|
import {
|
|
474
476
|
deepInterpolate,
|
|
475
477
|
findInterpolationTokens,
|
|
@@ -488,6 +490,11 @@ import {
|
|
|
488
490
|
getPublicMcpBaseUrl,
|
|
489
491
|
init_constants
|
|
490
492
|
} from "./cli-dv6cdjs2.js";
|
|
493
|
+
import {
|
|
494
|
+
getSlackConfiguration,
|
|
495
|
+
init_config,
|
|
496
|
+
isSlackConfigured
|
|
497
|
+
} from "./cli-n7h1kqpf.js";
|
|
491
498
|
import {
|
|
492
499
|
init_env_flag,
|
|
493
500
|
isEnvFlagEnabled,
|
|
@@ -541,7 +548,7 @@ import {
|
|
|
541
548
|
import {
|
|
542
549
|
init_package,
|
|
543
550
|
package_default
|
|
544
|
-
} from "./cli-
|
|
551
|
+
} from "./cli-ybpp1srm.js";
|
|
545
552
|
import {
|
|
546
553
|
init_secret_scrubber,
|
|
547
554
|
isSensitiveKey,
|
|
@@ -14276,6 +14283,9 @@ init_db_client();
|
|
|
14276
14283
|
|
|
14277
14284
|
// src/be/extensions/db.ts
|
|
14278
14285
|
init_db();
|
|
14286
|
+
|
|
14287
|
+
class ExtensionOwnershipError extends Error {
|
|
14288
|
+
}
|
|
14279
14289
|
function rowToExtension(row) {
|
|
14280
14290
|
return {
|
|
14281
14291
|
...row,
|
|
@@ -14302,6 +14312,12 @@ async function installExtension(args) {
|
|
|
14302
14312
|
args.manifest.name
|
|
14303
14313
|
]);
|
|
14304
14314
|
const existing = existingRow ? rowToExtension(existingRow) : null;
|
|
14315
|
+
if (existing && args.ownerOnly && existing.createdByAgentId !== args.ownerOnly) {
|
|
14316
|
+
throw new ExtensionOwnershipError("Forbidden: extension belongs to another owner");
|
|
14317
|
+
}
|
|
14318
|
+
if (existing?.enabled && args.ownerOnly && (args.config !== undefined && JSON.stringify(args.config) !== existing.configJson || args.priority !== undefined && args.priority !== existing.priority)) {
|
|
14319
|
+
throw new ExtensionOwnershipError("Forbidden: only a lead or operator may change live extension configuration");
|
|
14320
|
+
}
|
|
14305
14321
|
const now = new Date().toISOString();
|
|
14306
14322
|
if (!existing) {
|
|
14307
14323
|
const id = crypto.randomUUID();
|
|
@@ -14499,11 +14515,17 @@ async function updateExtensionMeta(id, args) {
|
|
|
14499
14515
|
sets.push("description = ?");
|
|
14500
14516
|
values.push(args.description);
|
|
14501
14517
|
}
|
|
14502
|
-
if (sets.length === 0)
|
|
14518
|
+
if (sets.length === 0 && !args.ownerOnly)
|
|
14503
14519
|
return getExtensionById(id);
|
|
14504
14520
|
sets.push("updated_by = ?", "updatedAt = ?");
|
|
14505
14521
|
values.push(args.updatedBy ?? null, new Date().toISOString(), id);
|
|
14506
|
-
const
|
|
14522
|
+
const ownerCondition = args.ownerOnly ? " AND createdByAgentId = ? AND enabled = 0" : "";
|
|
14523
|
+
if (args.ownerOnly)
|
|
14524
|
+
values.push(args.ownerOnly);
|
|
14525
|
+
const row = await getDbClient().get(`UPDATE extensions SET ${sets.join(", ")} WHERE id = ?${ownerCondition} RETURNING *`, values);
|
|
14526
|
+
if (!row && args.ownerOnly) {
|
|
14527
|
+
throw new ExtensionOwnershipError("Forbidden: extension must be your own disabled draft");
|
|
14528
|
+
}
|
|
14507
14529
|
return row ? rowToExtension(row) : null;
|
|
14508
14530
|
}
|
|
14509
14531
|
async function setExtensionState(id, args) {
|
|
@@ -14544,8 +14566,11 @@ async function recordExtensionFailure(id, lastError, maxConsecutiveFailures) {
|
|
|
14544
14566
|
RETURNING *`, [lastError, maxConsecutiveFailures, maxConsecutiveFailures, new Date().toISOString(), id]);
|
|
14545
14567
|
return row ? rowToExtension(row) : null;
|
|
14546
14568
|
}
|
|
14547
|
-
async function deleteExtension(id) {
|
|
14548
|
-
const result = await getDbClient().run(
|
|
14569
|
+
async function deleteExtension(id, ownerOnly) {
|
|
14570
|
+
const result = await getDbClient().run(`DELETE FROM extensions WHERE id = ?${ownerOnly ? " AND createdByAgentId = ? AND enabled = 0" : ""}`, ownerOnly ? [id, ownerOnly] : [id]);
|
|
14571
|
+
if (result.changes === 0 && ownerOnly) {
|
|
14572
|
+
throw new ExtensionOwnershipError("Forbidden: extension must be your own disabled draft");
|
|
14573
|
+
}
|
|
14549
14574
|
return result.changes > 0;
|
|
14550
14575
|
}
|
|
14551
14576
|
async function insertExtensionRun(args) {
|
|
@@ -20757,6 +20782,8 @@ function resourceIdOf(resource) {
|
|
|
20757
20782
|
return resource.agentId;
|
|
20758
20783
|
case "kv-namespace":
|
|
20759
20784
|
return resource.namespace;
|
|
20785
|
+
case "extension":
|
|
20786
|
+
return resource.extensionId ?? null;
|
|
20760
20787
|
case "app":
|
|
20761
20788
|
return resource.appId;
|
|
20762
20789
|
case "owned":
|
|
@@ -23685,7 +23712,7 @@ async function notifySlack(text) {
|
|
|
23685
23712
|
return;
|
|
23686
23713
|
}
|
|
23687
23714
|
try {
|
|
23688
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
23715
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-03na2vwb.js");
|
|
23689
23716
|
const app = getSlackApp2();
|
|
23690
23717
|
if (!app) {
|
|
23691
23718
|
console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
|
|
@@ -23756,7 +23783,7 @@ async function deleteJiraWebhook(webhookId) {
|
|
|
23756
23783
|
console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
|
|
23757
23784
|
}
|
|
23758
23785
|
async function overwriteWebhookIds(next) {
|
|
23759
|
-
const { getDbClient: getDbClient2 } = await import("./db-
|
|
23786
|
+
const { getDbClient: getDbClient2 } = await import("./db-4jjvwz1s.js");
|
|
23760
23787
|
await getDbClient2().transaction(async (tx) => {
|
|
23761
23788
|
const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
|
|
23762
23789
|
if (!row) {
|
|
@@ -97476,9 +97503,10 @@ async function reloadGlobalConfigsAndIntegrations() {
|
|
|
97476
97503
|
return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
|
|
97477
97504
|
}
|
|
97478
97505
|
async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
97479
|
-
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-
|
|
97506
|
+
const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-b56xkbc7.js");
|
|
97480
97507
|
const wasEmbeddingsConfigured = getEmbeddingProvider2().isConfigured();
|
|
97481
97508
|
const updated = await loadGlobalConfigsIntoEnv(true);
|
|
97509
|
+
await stopSlackApp();
|
|
97482
97510
|
const { resetFileStorageProvider } = await import("./registry-v5wytg0s.js");
|
|
97483
97511
|
resetFileStorageProvider();
|
|
97484
97512
|
resetEmbeddingProvider();
|
|
@@ -97488,10 +97516,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
|
97488
97516
|
integrations.push("embeddings");
|
|
97489
97517
|
}
|
|
97490
97518
|
if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
|
|
97491
|
-
import("./boot-reembed-
|
|
97519
|
+
import("./boot-reembed-c98xrad3.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
|
|
97492
97520
|
console.error("[config-reload] memory backfill failed (non-fatal):", err);
|
|
97493
97521
|
});
|
|
97494
|
-
import("./boot-reembed-
|
|
97522
|
+
import("./boot-reembed-zt3qm9xn.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
|
|
97495
97523
|
console.error("[config-reload] script backfill failed (non-fatal):", err);
|
|
97496
97524
|
});
|
|
97497
97525
|
}
|
|
@@ -97511,9 +97539,8 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
|
|
|
97511
97539
|
resetJira();
|
|
97512
97540
|
if (await initJira())
|
|
97513
97541
|
integrations.push("jira");
|
|
97514
|
-
await
|
|
97515
|
-
|
|
97516
|
-
integrations.push("slack");
|
|
97542
|
+
if (await startSlackApp())
|
|
97543
|
+
integrations.push("slack");
|
|
97517
97544
|
return {
|
|
97518
97545
|
configsLoaded: updated.length,
|
|
97519
97546
|
keysUpdated: updated,
|
|
@@ -97813,6 +97840,7 @@ async function handleCore(req, res, myAgentId, apiKey) {
|
|
|
97813
97840
|
|
|
97814
97841
|
// src/server.ts
|
|
97815
97842
|
init_resolver();
|
|
97843
|
+
init_config();
|
|
97816
97844
|
|
|
97817
97845
|
// src/tools/accept-steer.ts
|
|
97818
97846
|
init_zod();
|
|
@@ -98304,7 +98332,7 @@ function setPreloadedTools(server, names) {
|
|
|
98304
98332
|
async function applyPreToolCall(name, args, requestInfo, inputSchema) {
|
|
98305
98333
|
if (requestInfo.callOrigin !== "mcp")
|
|
98306
98334
|
return { args };
|
|
98307
|
-
const dispatcher = await import("./dispatcher-
|
|
98335
|
+
const dispatcher = await import("./dispatcher-ca590nkz.js");
|
|
98308
98336
|
const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
|
|
98309
98337
|
validateModify: async (data) => {
|
|
98310
98338
|
const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
|
|
@@ -106058,6 +106086,7 @@ var extensionListItemSchema = looseObject({
|
|
|
106058
106086
|
name: string().optional(),
|
|
106059
106087
|
version: number().optional(),
|
|
106060
106088
|
activeVersion: number().optional(),
|
|
106089
|
+
createdByAgentId: string().nullable().optional(),
|
|
106061
106090
|
enabled: boolean().optional(),
|
|
106062
106091
|
status: string().optional(),
|
|
106063
106092
|
priority: number().optional(),
|
|
@@ -106068,6 +106097,7 @@ var extensionToolOutputSchema = swarmToolOutputSchema({
|
|
|
106068
106097
|
name: string().optional(),
|
|
106069
106098
|
version: number().optional(),
|
|
106070
106099
|
activeVersion: number().optional(),
|
|
106100
|
+
createdByAgentId: string().nullable().optional(),
|
|
106071
106101
|
enabled: boolean().optional(),
|
|
106072
106102
|
status: string().optional(),
|
|
106073
106103
|
priority: number().optional(),
|
|
@@ -106083,6 +106113,7 @@ function coerceExtensionSummary(entry) {
|
|
|
106083
106113
|
const extension = isRecord2(entry) ? entry : {};
|
|
106084
106114
|
return {
|
|
106085
106115
|
id: typeof extension.id === "string" ? extension.id : undefined,
|
|
106116
|
+
createdByAgentId: typeof extension.createdByAgentId === "string" ? extension.createdByAgentId : null,
|
|
106086
106117
|
name: typeof extension.name === "string" ? extension.name : undefined,
|
|
106087
106118
|
version: typeof extension.version === "number" ? extension.version : undefined,
|
|
106088
106119
|
activeVersion: typeof extension.activeVersion === "number" ? extension.activeVersion : undefined,
|
|
@@ -106207,7 +106238,7 @@ var registerExtensionEnableTool = (server) => {
|
|
|
106207
106238
|
// src/tools/extension-install.ts
|
|
106208
106239
|
init_zod();
|
|
106209
106240
|
init_types();
|
|
106210
|
-
var EXTENSION_INSTALL_DESCRIPTION = "
|
|
106241
|
+
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
106242
|
function extensionInstallResult(data, fallbackName) {
|
|
106212
106243
|
const body = data;
|
|
106213
106244
|
const extension = coerceExtensionSummary(body.extension);
|
|
@@ -106254,9 +106285,9 @@ function extensionListItems(data) {
|
|
|
106254
106285
|
return data.extensions.map(coerceExtensionSummary);
|
|
106255
106286
|
}
|
|
106256
106287
|
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} |`);
|
|
106288
|
+
const header = "| Name | Owner agent | Version | Active | Enabled | Status | Priority | Failures |";
|
|
106289
|
+
const divider = "| --- | --- | ---: | ---: | --- | --- | ---: | ---: |";
|
|
106290
|
+
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
106291
|
return [header, divider, ...rows].join(`
|
|
106261
106292
|
`);
|
|
106262
106293
|
}
|
|
@@ -117032,7 +117063,7 @@ async function notifyAutomationPreflightFailure(preflight) {
|
|
|
117032
117063
|
return;
|
|
117033
117064
|
}
|
|
117034
117065
|
try {
|
|
117035
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
117066
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-03na2vwb.js");
|
|
117036
117067
|
const app = getSlackApp2();
|
|
117037
117068
|
if (!app) {
|
|
117038
117069
|
console.warn("[Automation Preflight] Slack not available, cannot send notification");
|
|
@@ -117055,6 +117086,7 @@ Fix setup: ${getAppUrl()}${preflight.fixUrl}`),
|
|
|
117055
117086
|
}
|
|
117056
117087
|
|
|
117057
117088
|
// src/be/automation-preflight.ts
|
|
117089
|
+
init_config();
|
|
117058
117090
|
init_db();
|
|
117059
117091
|
var NEEDS_SETUP_PREFIX = "needs_setup:";
|
|
117060
117092
|
function hasValue(value) {
|
|
@@ -117232,7 +117264,7 @@ async function getAutomationSetupStates() {
|
|
|
117232
117264
|
const agentFsOrg = process.env.AGENT_FS_DEFAULT_ORG_ID ?? process.env.AGENT_FS_SHARED_ORG_ID;
|
|
117233
117265
|
const gscConfigured = present(process.env.GSC_SERVICE_ACCOUNT_BASE64) || present(process.env.GSC_SERVICE_ACCOUNT_JSON);
|
|
117234
117266
|
return {
|
|
117235
|
-
slack:
|
|
117267
|
+
slack: getSlackConfiguration().mode === "socket" && isSlackConfigured() ? "configured" : "unverified",
|
|
117236
117268
|
github: present(process.env.GITHUB_WEBHOOK_SECRET) && present(process.env.GITHUB_APP_ID) && present(process.env.GITHUB_APP_PRIVATE_KEY) ? "verified" : "unverified",
|
|
117237
117269
|
linear: linearTokens ? "verified" : "unverified",
|
|
117238
117270
|
jira: jiraTokens && jiraCloudId ? "verified" : "unverified",
|
|
@@ -120177,7 +120209,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
|
|
|
120177
120209
|
}
|
|
120178
120210
|
if (notification.channel === "slack") {
|
|
120179
120211
|
try {
|
|
120180
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
120212
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-03na2vwb.js");
|
|
120181
120213
|
const slackApp = getSlackApp2();
|
|
120182
120214
|
if (!slackApp) {
|
|
120183
120215
|
console.warn("[HITL] Slack not initialized — cannot send notification");
|
|
@@ -120297,7 +120329,7 @@ class NotifyExecutor extends BaseExecutor {
|
|
|
120297
120329
|
}
|
|
120298
120330
|
}
|
|
120299
120331
|
case "slack": {
|
|
120300
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
120332
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-03na2vwb.js");
|
|
120301
120333
|
const app = getSlackApp2();
|
|
120302
120334
|
if (!app) {
|
|
120303
120335
|
return {
|
|
@@ -129105,7 +129137,8 @@ function hasCapability(cap) {
|
|
|
129105
129137
|
return getCapabilities().has(cap);
|
|
129106
129138
|
}
|
|
129107
129139
|
function getEnabledCapabilities() {
|
|
129108
|
-
|
|
129140
|
+
const capabilities = Array.from(getCapabilities());
|
|
129141
|
+
return getSlackConfiguration().mode === "socket" ? capabilities : capabilities.filter((capability) => capability !== "slack");
|
|
129109
129142
|
}
|
|
129110
129143
|
function isScriptsOnlyMcp() {
|
|
129111
129144
|
return resolveScriptsOnlyMode({ env: process.env.SCRIPTS_ONLY_MCP });
|
|
@@ -130540,25 +130573,18 @@ function maxUpdatedAt(extensions) {
|
|
|
130540
130573
|
return extensions.reduce((latest, extension) => extension.updatedAt > latest ? extension.updatedAt : latest, "");
|
|
130541
130574
|
}
|
|
130542
130575
|
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
|
-
};
|
|
130576
|
+
const version = await getExtensionVersion(record3.id, record3.activeVersion);
|
|
130577
|
+
if (!version) {
|
|
130578
|
+
throw new ExtensionLifecycleError(`Extension version ${record3.activeVersion} was not found`, 404);
|
|
130557
130579
|
}
|
|
130558
130580
|
return {
|
|
130559
|
-
record:
|
|
130560
|
-
|
|
130561
|
-
|
|
130581
|
+
record: {
|
|
130582
|
+
...record3,
|
|
130583
|
+
manifestJson: version.manifestJson,
|
|
130584
|
+
contentHash: version.contentHash
|
|
130585
|
+
},
|
|
130586
|
+
manifest: ExtensionManifestSchema.parse(JSON.parse(version.manifestJson)),
|
|
130587
|
+
files: JSON.parse(version.filesJson)
|
|
130562
130588
|
};
|
|
130563
130589
|
}
|
|
130564
130590
|
async function removeRegistered(id2) {
|
|
@@ -131183,4 +131209,4 @@ async function dispatchPost(event, payload, opts) {
|
|
|
131183
131209
|
}
|
|
131184
131210
|
}
|
|
131185
131211
|
|
|
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 };
|
|
131212
|
+
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 };
|