@desplega.ai/agent-swarm 1.149.0 → 1.149.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acp-adapter-4jncb126.js → acp-adapter-vhkzfpjg.js} +1 -1
- package/dist/{actions-31vp3ae7.js → actions-9d2694yk.js} +6 -6
- package/dist/{app-1hh67x8w.js → app-fq2ggynt.js} +3 -3
- package/dist/{assistant-z66dmz6p.js → assistant-edb6n9nn.js} +8 -8
- package/dist/{boot-reembed-wxa8ya0s.js → boot-reembed-msweabbp.js} +4 -4
- package/dist/{boot-reembed-fqzxxzjh.js → boot-reembed-q5wd3tha.js} +3 -3
- package/dist/{boot-scrub-logs-jnyndh79.js → boot-scrub-logs-3g1az933.js} +2 -2
- package/dist/{claude-adapter-3qpa9w0j.js → claude-adapter-v3rnzsdc.js} +3 -3
- package/dist/{claude-sdk-session-2yxgjs5d.js → claude-sdk-session-qxrpsna1.js} +3 -3
- package/dist/{cli-nye12xk5.js → cli-01g3x1ca.js} +3 -3
- package/dist/{cli-qaacms9y.js → cli-1c94wvcw.js} +5 -5
- package/dist/{cli-d8ftsp62.js → cli-3sysyjve.js} +7 -7
- package/dist/{cli-2qts1hys.js → cli-3z634pqe.js} +2 -2
- package/dist/{cli-n3dz2942.js → cli-4260r1tg.js} +3 -3
- package/dist/{cli-9fy6nk6g.js → cli-5m0qmvdp.js} +1 -1
- package/dist/{cli-k0cr4kat.js → cli-6skz3rk8.js} +1 -1
- package/dist/{cli-e95cx1eb.js → cli-73gq0zxn.js} +1 -1
- package/dist/{cli-phsxnkp6.js → cli-7evafqvy.js} +9 -9
- package/dist/{cli-ygweqcn4.js → cli-7fehefdf.js} +5 -5
- package/dist/{cli-sd5pv3b1.js → cli-7xx10h0a.js} +2 -2
- package/dist/{cli-ykxrnd1q.js → cli-9br8ypfv.js} +2 -2
- package/dist/{cli-q50ef8g0.js → cli-ayvy5kde.js} +1 -1
- package/dist/{cli-9hspd3dp.js → cli-cd60fv6j.js} +1 -1
- package/dist/{cli-yb9qhqam.js → cli-cv7s5zdq.js} +18 -18
- package/dist/{cli-6pqcb4q0.js → cli-ddfw1mc4.js} +8 -8
- package/dist/{cli-kjwt6hdf.js → cli-e06a8a7y.js} +1 -1
- package/dist/{cli-19f354qr.js → cli-hzqmgcm2.js} +2 -2
- package/dist/{cli-gv88e1vf.js → cli-j4d4f6hv.js} +1 -1
- package/dist/{cli-3q5ejx9p.js → cli-jezx9b9c.js} +1 -1
- package/dist/{cli-7smrsr25.js → cli-k351hv5k.js} +2 -2
- package/dist/{cli-yab68w40.js → cli-qgd4sqz5.js} +2 -1
- package/dist/{cli-kgz4np97.js → cli-sdzq01t9.js} +2 -2
- package/dist/{cli-aae6hz6a.js → cli-svbrpf5q.js} +3 -3
- package/dist/{cli-cr12paw2.js → cli-tg8qj8ee.js} +1 -1
- package/dist/{cli-gjhjfeeg.js → cli-wby1xnnb.js} +1 -1
- package/dist/{cli-mnmsfd1w.js → cli-y3pq4v9g.js} +1 -1
- package/dist/cli.js +11 -11
- package/dist/{codex-adapter-8meawydj.js → codex-adapter-jyw7a91z.js} +2 -2
- package/dist/{codex-session-runner-gjgxyp5j.js → codex-session-runner-bmngj0s5.js} +2 -2
- package/dist/{commands-hz3nb95f.js → commands-n755g391.js} +2 -2
- package/dist/{db-ggz97zbm.js → db-s1cgh5gv.js} +2 -2
- package/dist/{handlers-nbzdzn9k.js → handlers-nsg0bcye.js} +8 -8
- package/dist/{hook-bks2q1f6.js → hook-h9cqrm8q.js} +1 -1
- package/dist/{hook-kq9wp0ep.js → hook-jf0xe8zh.js} +2 -2
- package/dist/{http-hrf77v87.js → http-nc6pydw5.js} +34 -34
- package/dist/{index-cqtebbhb.js → index-0wdy6gwc.js} +9 -9
- package/dist/{index-8hmeg8j1.js → index-769nc012.js} +10 -10
- package/dist/{index-6nsbg88z.js → index-ezxkds2n.js} +173 -49
- package/dist/{index-n28pw1zt.js → index-x1zcj09z.js} +11 -11
- package/dist/{keepalive-dxc12gvg.js → keepalive-nesm3xb6.js} +4 -4
- package/dist/{lead-yckfn18d.js → lead-bwy6t2za.js} +22 -22
- package/dist/{maintenance-6kfb2m5e.js → maintenance-8w393zf0.js} +4 -4
- package/dist/{oauth-refresh-sweep-1x1ac722.js → oauth-refresh-sweep-sh8xjy08.js} +3 -3
- package/dist/{onboard-dcyt1609.js → onboard-25ps29h1.js} +2 -2
- package/dist/{otel-impl-tbk3e5dr.js → otel-impl-b93gxnz5.js} +1 -1
- package/dist/{pricing-refresh-kaqg567e.js → pricing-refresh-5v56x7gb.js} +4 -4
- package/dist/{rbac-roles-cf97v1vd.js → rbac-roles-0p0s6pbj.js} +3 -3
- package/dist/{rbac-roles-ammq6rd2.js → rbac-roles-x55cnezn.js} +2 -2
- package/dist/{render-v2-80w603vy.js → render-v2-hyd45w8b.js} +3 -3
- package/dist/{seed-pricing-zbrn83xv.js → seed-pricing-49gbgn96.js} +3 -3
- package/dist/{setup-fe66kczs.js → setup-qvq64vzq.js} +2 -2
- package/dist/{worker-qmb2d1e2.js → worker-scj60cxg.js} +22 -22
- package/openapi.json +1 -1
- package/package.json +1 -1
- package/src/be/seed/automation-toggle.ts +69 -0
- package/src/be/seed/schedules-seeder.ts +28 -6
- package/src/be/seed/workflows-seeder.ts +18 -6
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/tests/seed-registry.test.ts +2 -2
- package/src/tests/seed-schedules.test.ts +99 -3
- package/src/tests/seed-workflows.test.ts +74 -0
- package/templates/schedules/daily-blocker-digest/config.json +6 -1
- package/templates/schedules/daily-compounding-reflection/config.json +1 -0
- package/templates/schedules/daily-status-report/config.json +6 -1
- package/templates/schedules/daily-swarm-update-check/config.json +19 -0
- package/templates/schedules/daily-swarm-update-check/content.md +49 -0
- package/templates/schedules/daily-workflow-health-audit/config.json +6 -1
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
extractArgsJsonSchema,
|
|
7
7
|
extractScriptSignature,
|
|
8
8
|
typecheckScript
|
|
9
|
-
} from "./cli-
|
|
10
|
-
import"./cli-
|
|
9
|
+
} from "./cli-4260r1tg.js";
|
|
10
|
+
import"./cli-hzqmgcm2.js";
|
|
11
11
|
import {
|
|
12
12
|
require_dist
|
|
13
13
|
} from "./cli-qgm2pfpq.js";
|
|
@@ -16,14 +16,14 @@ import {
|
|
|
16
16
|
upsertScriptByName,
|
|
17
17
|
validateDefinition,
|
|
18
18
|
validateScriptImports
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-svbrpf5q.js";
|
|
20
20
|
import"./cli-epan13p1.js";
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
21
|
+
import"./cli-3z634pqe.js";
|
|
22
|
+
import"./cli-jezx9b9c.js";
|
|
23
23
|
import"./cli-y89t4nca.js";
|
|
24
24
|
import"./cli-f14fvzag.js";
|
|
25
25
|
import"./cli-zvz62chv.js";
|
|
26
|
-
import"./cli-
|
|
26
|
+
import"./cli-cd60fv6j.js";
|
|
27
27
|
import"./cli-aehm1rbq.js";
|
|
28
28
|
import"./cli-9d8ntetj.js";
|
|
29
29
|
import {
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
updateSkill,
|
|
43
43
|
updateWorkflow,
|
|
44
44
|
upsertSkillFiles
|
|
45
|
-
} from "./cli-
|
|
45
|
+
} from "./cli-qgd4sqz5.js";
|
|
46
46
|
import"./cli-08b07b4r.js";
|
|
47
47
|
import"./cli-3apbzgyk.js";
|
|
48
48
|
import"./cli-e29gmdmw.js";
|
|
@@ -50,7 +50,7 @@ import"./cli-c2mk1kgf.js";
|
|
|
50
50
|
import"./cli-ej6gbxfb.js";
|
|
51
51
|
import"./cli-sd0mxa3c.js";
|
|
52
52
|
import"./cli-w5e1d1vv.js";
|
|
53
|
-
import"./cli-
|
|
53
|
+
import"./cli-e06a8a7y.js";
|
|
54
54
|
import"./cli-r2ap2czm.js";
|
|
55
55
|
import"./cli-zf8jjwex.js";
|
|
56
56
|
import {
|
|
@@ -14805,7 +14805,12 @@ var config_default52 = `{
|
|
|
14805
14805
|
"placeholders": [],
|
|
14806
14806
|
"requires": [],
|
|
14807
14807
|
"runAllSeedersCandidate": true,
|
|
14808
|
-
"
|
|
14808
|
+
"autoEnableCandidate": true,
|
|
14809
|
+
"tags": [
|
|
14810
|
+
"operations",
|
|
14811
|
+
"slack",
|
|
14812
|
+
"digest"
|
|
14813
|
+
]
|
|
14809
14814
|
}
|
|
14810
14815
|
`;
|
|
14811
14816
|
|
|
@@ -14992,6 +14997,7 @@ var config_default53 = `{
|
|
|
14992
14997
|
"placeholders": [],
|
|
14993
14998
|
"requires": [],
|
|
14994
14999
|
"runAllSeedersCandidate": true,
|
|
15000
|
+
"autoEnableCandidate": true,
|
|
14995
15001
|
"tags": [
|
|
14996
15002
|
"memory",
|
|
14997
15003
|
"skills",
|
|
@@ -15239,7 +15245,12 @@ var config_default54 = `{
|
|
|
15239
15245
|
"placeholders": [],
|
|
15240
15246
|
"requires": [],
|
|
15241
15247
|
"runAllSeedersCandidate": true,
|
|
15242
|
-
"
|
|
15248
|
+
"autoEnableCandidate": true,
|
|
15249
|
+
"tags": [
|
|
15250
|
+
"operations",
|
|
15251
|
+
"status",
|
|
15252
|
+
"digest"
|
|
15253
|
+
]
|
|
15243
15254
|
}
|
|
15244
15255
|
`;
|
|
15245
15256
|
|
|
@@ -15326,8 +15337,82 @@ Integration setup: [missing credentials from /status], or all verified.
|
|
|
15326
15337
|
- ❌ Omitting the Waiting on you section — say explicitly when no automation is in \`needs_setup\` and all integrations are verified.
|
|
15327
15338
|
`;
|
|
15328
15339
|
|
|
15329
|
-
// templates/schedules/daily-
|
|
15340
|
+
// templates/schedules/daily-swarm-update-check/config.json
|
|
15330
15341
|
var config_default55 = `{
|
|
15342
|
+
"kind": "schedule",
|
|
15343
|
+
"name": "daily-swarm-update-check",
|
|
15344
|
+
"displayName": "Daily Agent-Swarm Update Check",
|
|
15345
|
+
"slug": "daily-swarm-update-check",
|
|
15346
|
+
"title": "Daily Agent-Swarm Update Check",
|
|
15347
|
+
"description": "Compare the running agent-swarm version against the latest published GitHub release and flag the operator when an upgrade is available. Zero-config: no repo clone, no integration required.",
|
|
15348
|
+
"version": "1.0.0",
|
|
15349
|
+
"category": "schedules",
|
|
15350
|
+
"placeholders": [],
|
|
15351
|
+
"requires": [],
|
|
15352
|
+
"runAllSeedersCandidate": true,
|
|
15353
|
+
"autoEnableCandidate": true,
|
|
15354
|
+
"tags": [
|
|
15355
|
+
"operations",
|
|
15356
|
+
"release",
|
|
15357
|
+
"upgrade"
|
|
15358
|
+
]
|
|
15359
|
+
}
|
|
15360
|
+
`;
|
|
15361
|
+
|
|
15362
|
+
// templates/schedules/daily-swarm-update-check/content.md
|
|
15363
|
+
var content_default55 = `# Daily Agent-Swarm Update Check
|
|
15364
|
+
|
|
15365
|
+
Zero-config auto-update watchdog: compares the swarm's own running version against the latest published GitHub release of \`desplega-ai/agent-swarm\`, and flags the operator when an upgrade is available. No placeholders and no integration required — every install gets this by default.
|
|
15366
|
+
|
|
15367
|
+
## Schedule
|
|
15368
|
+
|
|
15369
|
+
\`\`\`json
|
|
15370
|
+
{"cron":"0 9 * * *","timezone":"UTC","agentRole":"lead","enabled":true}
|
|
15371
|
+
\`\`\`
|
|
15372
|
+
|
|
15373
|
+
## Scheduled Task
|
|
15374
|
+
|
|
15375
|
+
This schedule runs by default. It needs no repository clone and no integration — it only reads its own task metadata and calls the public GitHub API.
|
|
15376
|
+
|
|
15377
|
+
Task Type: Daily Agent-Swarm Update Check
|
|
15378
|
+
|
|
15379
|
+
You are Lead. Determine whether a newer \`desplega-ai/agent-swarm\` release is published than the version currently running on this install, and tell the operator if so.
|
|
15380
|
+
|
|
15381
|
+
## Phase 1 — Determine the running version
|
|
15382
|
+
|
|
15383
|
+
Call \`get-task-details\` for THIS task's own id and read \`task.swarmVersion\` — the API server stamps every task with the \`package.json\` version it was running at task-creation time, so this is the version currently deployed on this install.
|
|
15384
|
+
|
|
15385
|
+
If \`swarmVersion\` is missing or empty (an older install, or the field predates this schedule), complete with \`output\`: \`"Unable to determine running version — swarmVersion not set on this task."\` and stop. Do not guess a version.
|
|
15386
|
+
|
|
15387
|
+
## Phase 2 — Fetch the latest published release
|
|
15388
|
+
|
|
15389
|
+
\`\`\`bash
|
|
15390
|
+
curl -fsSL https://api.github.com/repos/desplega-ai/agent-swarm/releases/latest
|
|
15391
|
+
\`\`\`
|
|
15392
|
+
|
|
15393
|
+
Read \`.tag_name\` (strip a leading \`v\` if present) and \`.html_url\`. If the request fails (network, rate limit, non-200), complete with \`output\`: \`"Could not reach GitHub releases API: <error>"\` and stop — do not retry in a loop.
|
|
15394
|
+
|
|
15395
|
+
## Phase 3 — Compare and act
|
|
15396
|
+
|
|
15397
|
+
Compare the two versions as dotted numeric triples (major.minor.patch) — never as plain strings (\`"1.9.0" < "1.10.0"\` is false as strings).
|
|
15398
|
+
|
|
15399
|
+
- **Latest <= running:** complete with \`output\`: \`"Up to date: running <running>, latest published <latest>."\` No further action.
|
|
15400
|
+
- **Latest > running:** raise it for the operator:
|
|
15401
|
+
1. Post a short message to your configured admin delivery channel (or the in-app fallback if none is configured) naming the running version, the new version, and the release URL.
|
|
15402
|
+
2. Complete \`store-progress\` with \`status: "completed"\` and \`output\`: \`"Update available: running <running>, latest <latest> — <releaseUrl>"\`.
|
|
15403
|
+
|
|
15404
|
+
Do not attempt the upgrade yourself — this schedule only detects and reports. \`weekly-harness-upgrade-check\` is the separate routine that bumps pinned harness versions inside the repo; this schedule is about the agent-swarm release itself.
|
|
15405
|
+
|
|
15406
|
+
## Anti-patterns
|
|
15407
|
+
|
|
15408
|
+
- ❌ Cloning the repo or reading \`package.json\` from disk — this schedule must work on any install, including ones where the API pod has no repo checkout.
|
|
15409
|
+
- ❌ String-comparing versions.
|
|
15410
|
+
- ❌ Treating a missing \`swarmVersion\` as "no update available" — it's "unknown", say so explicitly.
|
|
15411
|
+
- ❌ Retrying a failed GitHub API call in a loop.
|
|
15412
|
+
`;
|
|
15413
|
+
|
|
15414
|
+
// templates/schedules/daily-workflow-health-audit/config.json
|
|
15415
|
+
var config_default56 = `{
|
|
15331
15416
|
"kind": "schedule",
|
|
15332
15417
|
"name": "daily-workflow-health-audit",
|
|
15333
15418
|
"displayName": "Daily Workflow Health Audit",
|
|
@@ -15339,12 +15424,17 @@ var config_default55 = `{
|
|
|
15339
15424
|
"placeholders": [],
|
|
15340
15425
|
"requires": [],
|
|
15341
15426
|
"runAllSeedersCandidate": true,
|
|
15342
|
-
"
|
|
15427
|
+
"autoEnableCandidate": true,
|
|
15428
|
+
"tags": [
|
|
15429
|
+
"workflows",
|
|
15430
|
+
"schedules",
|
|
15431
|
+
"reliability"
|
|
15432
|
+
]
|
|
15343
15433
|
}
|
|
15344
15434
|
`;
|
|
15345
15435
|
|
|
15346
15436
|
// templates/schedules/daily-workflow-health-audit/content.md
|
|
15347
|
-
var
|
|
15437
|
+
var content_default56 = `# Daily Workflow Health Audit
|
|
15348
15438
|
|
|
15349
15439
|
Delivery uses configured admin channels with an in-app fallback.
|
|
15350
15440
|
|
|
@@ -15538,7 +15628,7 @@ Omit any section whose count is 0. Cap message at 4000 chars (Slack limit) — i
|
|
|
15538
15628
|
`;
|
|
15539
15629
|
|
|
15540
15630
|
// templates/schedules/gtm-weekly-review/config.json
|
|
15541
|
-
var
|
|
15631
|
+
var config_default57 = `{
|
|
15542
15632
|
"kind": "schedule",
|
|
15543
15633
|
"name": "gtm-weekly-review",
|
|
15544
15634
|
"displayName": "Weekly GTM Metrics Review",
|
|
@@ -15555,7 +15645,7 @@ var config_default56 = `{
|
|
|
15555
15645
|
`;
|
|
15556
15646
|
|
|
15557
15647
|
// templates/schedules/gtm-weekly-review/content.md
|
|
15558
|
-
var
|
|
15648
|
+
var content_default57 = `Template parameters: {{REPO_URL}}, {{GSC_PROPERTY}}
|
|
15559
15649
|
|
|
15560
15650
|
# Weekly GTM Metrics Review
|
|
15561
15651
|
|
|
@@ -15636,7 +15726,7 @@ This is part of your team's GTM goal; update the goal statement before enabling
|
|
|
15636
15726
|
`;
|
|
15637
15727
|
|
|
15638
15728
|
// templates/schedules/weekly-code-health-reports/config.json
|
|
15639
|
-
var
|
|
15729
|
+
var config_default58 = `{
|
|
15640
15730
|
"kind": "schedule",
|
|
15641
15731
|
"name": "weekly-code-health-reports",
|
|
15642
15732
|
"displayName": "Weekly Code Health Reports",
|
|
@@ -15653,7 +15743,7 @@ var config_default57 = `{
|
|
|
15653
15743
|
`;
|
|
15654
15744
|
|
|
15655
15745
|
// templates/schedules/weekly-code-health-reports/content.md
|
|
15656
|
-
var
|
|
15746
|
+
var content_default58 = `# Weekly Code Health Reports
|
|
15657
15747
|
|
|
15658
15748
|
Template parameters: {{REPO_URL}}, {{BRANCH}}, {{SCOPE_PATH}}, {{REPORT_NAME}}, {{PAGE_ID}}
|
|
15659
15749
|
|
|
@@ -15718,7 +15808,7 @@ Call \`store-progress\` with status \`completed\` and an output summary that inc
|
|
|
15718
15808
|
`;
|
|
15719
15809
|
|
|
15720
15810
|
// templates/schedules/weekly-dependabot-triage/config.json
|
|
15721
|
-
var
|
|
15811
|
+
var config_default59 = `{
|
|
15722
15812
|
"kind": "schedule",
|
|
15723
15813
|
"name": "weekly-dependabot-triage",
|
|
15724
15814
|
"displayName": "Weekly Dependency Triage",
|
|
@@ -15735,7 +15825,7 @@ var config_default58 = `{
|
|
|
15735
15825
|
`;
|
|
15736
15826
|
|
|
15737
15827
|
// templates/schedules/weekly-dependabot-triage/content.md
|
|
15738
|
-
var
|
|
15828
|
+
var content_default59 = `# Weekly Dependency Triage
|
|
15739
15829
|
|
|
15740
15830
|
Template parameters: {{SLACK_CHANNEL_ID}}, {{REPO_URL}}, {{TIMEZONE}}
|
|
15741
15831
|
|
|
@@ -15789,7 +15879,7 @@ Call \`store-progress\` with status \`completed\` and an output summary listing
|
|
|
15789
15879
|
`;
|
|
15790
15880
|
|
|
15791
15881
|
// templates/schedules/weekly-dora-metrics/config.json
|
|
15792
|
-
var
|
|
15882
|
+
var config_default60 = `{
|
|
15793
15883
|
"kind": "schedule",
|
|
15794
15884
|
"name": "weekly-dora-metrics",
|
|
15795
15885
|
"displayName": "Weekly DORA Metrics",
|
|
@@ -15806,7 +15896,7 @@ var config_default59 = `{
|
|
|
15806
15896
|
`;
|
|
15807
15897
|
|
|
15808
15898
|
// templates/schedules/weekly-dora-metrics/content.md
|
|
15809
|
-
var
|
|
15899
|
+
var content_default60 = `# Weekly DORA Metrics
|
|
15810
15900
|
|
|
15811
15901
|
Template parameters: {{REPO_URL}}, {{BRANCH}}, {{TAG_PATTERN}}, {{REPORT_NAME}}, {{PAGE_ID}}
|
|
15812
15902
|
|
|
@@ -15874,8 +15964,24 @@ Call \`store-progress\` with status \`completed\` and an output summary that inc
|
|
|
15874
15964
|
// src/be/seed/schedules-seeder.ts
|
|
15875
15965
|
init_db();
|
|
15876
15966
|
|
|
15967
|
+
// src/be/seed/automation-toggle.ts
|
|
15968
|
+
var SEED_AUTOMATIONS_ENABLED_ENV = "SEED_AUTOMATIONS_ENABLED";
|
|
15969
|
+
var SEED_AUTOMATIONS_ENABLED_DEFAULT = true;
|
|
15970
|
+
function isSeedAutomationsEnabled(env = process.env) {
|
|
15971
|
+
const raw = env[SEED_AUTOMATIONS_ENABLED_ENV];
|
|
15972
|
+
if (raw === undefined || raw === "")
|
|
15973
|
+
return SEED_AUTOMATIONS_ENABLED_DEFAULT;
|
|
15974
|
+
return raw.toLowerCase() === "true" || raw === "1";
|
|
15975
|
+
}
|
|
15976
|
+
function isZeroConfigAutomation(requires, requiredParams) {
|
|
15977
|
+
return requires.length === 0 && requiredParams.length === 0;
|
|
15978
|
+
}
|
|
15979
|
+
function resolveSeededEnabled(params) {
|
|
15980
|
+
return isSeedAutomationsEnabled(params.env) && isZeroConfigAutomation(params.requires, params.requiredParams) && params.autoEnableCandidate && params.templateRecommendsEnabled;
|
|
15981
|
+
}
|
|
15982
|
+
|
|
15877
15983
|
// templates/workflows/alerts-triage/config.json
|
|
15878
|
-
var
|
|
15984
|
+
var config_default61 = `{
|
|
15879
15985
|
"kind": "workflow",
|
|
15880
15986
|
"name": "alerts-triage",
|
|
15881
15987
|
"displayName": "Alerts Triage",
|
|
@@ -15892,7 +15998,7 @@ var config_default60 = `{
|
|
|
15892
15998
|
`;
|
|
15893
15999
|
|
|
15894
16000
|
// templates/workflows/alerts-triage/content.md
|
|
15895
|
-
var
|
|
16001
|
+
var content_default61 = `# Alerts Triage
|
|
15896
16002
|
|
|
15897
16003
|
The Slack handler emits \`slack.message\`; this workflow keeps the event-driven path and deduplicates work after the channel filter.
|
|
15898
16004
|
|
|
@@ -15912,7 +16018,7 @@ The Slack handler emits \`slack.message\`; this workflow keeps the event-driven
|
|
|
15912
16018
|
`;
|
|
15913
16019
|
|
|
15914
16020
|
// templates/workflows/autopilot/config.json
|
|
15915
|
-
var
|
|
16021
|
+
var config_default62 = `{
|
|
15916
16022
|
"kind": "workflow",
|
|
15917
16023
|
"name": "autopilot",
|
|
15918
16024
|
"displayName": "Autopilot Feature Pipeline",
|
|
@@ -15929,7 +16035,7 @@ var config_default61 = `{
|
|
|
15929
16035
|
`;
|
|
15930
16036
|
|
|
15931
16037
|
// templates/workflows/autopilot/content.md
|
|
15932
|
-
var
|
|
16038
|
+
var content_default62 = `# Autopilot Feature Pipeline
|
|
15933
16039
|
|
|
15934
16040
|
Template parameter: {{REPO_URL}}
|
|
15935
16041
|
|
|
@@ -15941,7 +16047,7 @@ Use this workflow as a canonical feature delivery pipeline. Customize roles and
|
|
|
15941
16047
|
`;
|
|
15942
16048
|
|
|
15943
16049
|
// templates/workflows/competitor-radar/config.json
|
|
15944
|
-
var
|
|
16050
|
+
var config_default63 = `{
|
|
15945
16051
|
"kind": "workflow",
|
|
15946
16052
|
"name": "competitor-radar",
|
|
15947
16053
|
"displayName": "Competitor Radar",
|
|
@@ -15958,7 +16064,7 @@ var config_default62 = `{
|
|
|
15958
16064
|
`;
|
|
15959
16065
|
|
|
15960
16066
|
// templates/workflows/competitor-radar/content.md
|
|
15961
|
-
var
|
|
16067
|
+
var content_default63 = `# Competitor Radar
|
|
15962
16068
|
|
|
15963
16069
|
This self-hosted port retains the scheduled, fixture, extraction, gap-analysis, litmus, cooldown, and bounded-report behavior. Its pinned GSC helper is embedded in the workflow, so it does not fetch executable code from Desplega infrastructure.
|
|
15964
16070
|
|
|
@@ -15968,7 +16074,7 @@ This self-hosted port retains the scheduled, fixture, extraction, gap-analysis,
|
|
|
15968
16074
|
`;
|
|
15969
16075
|
|
|
15970
16076
|
// templates/workflows/docs-site-releases/config.json
|
|
15971
|
-
var
|
|
16077
|
+
var config_default64 = `{
|
|
15972
16078
|
"kind": "workflow",
|
|
15973
16079
|
"name": "docs-site-releases",
|
|
15974
16080
|
"displayName": "Documentation Release Notes",
|
|
@@ -15985,7 +16091,7 @@ var config_default63 = `{
|
|
|
15985
16091
|
`;
|
|
15986
16092
|
|
|
15987
16093
|
// templates/workflows/docs-site-releases/content.md
|
|
15988
|
-
var
|
|
16094
|
+
var content_default64 = `# Documentation Release Notes
|
|
15989
16095
|
|
|
15990
16096
|
This topology-preserving self-hosted port removes installation-specific identities, endpoints, and credentials while retaining the live workflow's nodes, edges, input mappings, guards, retries, cooldown, and triggers. Configure the declared template parameters and integrations before enabling it.
|
|
15991
16097
|
|
|
@@ -16000,7 +16106,7 @@ This topology-preserving self-hosted port removes installation-specific identiti
|
|
|
16000
16106
|
`;
|
|
16001
16107
|
|
|
16002
16108
|
// templates/workflows/linear-drain-loop/config.json
|
|
16003
|
-
var
|
|
16109
|
+
var config_default65 = `{
|
|
16004
16110
|
"kind": "workflow",
|
|
16005
16111
|
"name": "linear-drain-loop",
|
|
16006
16112
|
"displayName": "Linear Drain Loop",
|
|
@@ -16022,7 +16128,7 @@ var config_default64 = `{
|
|
|
16022
16128
|
`;
|
|
16023
16129
|
|
|
16024
16130
|
// templates/workflows/linear-drain-loop/content.md
|
|
16025
|
-
var
|
|
16131
|
+
var content_default65 = `# Linear Drain Loop
|
|
16026
16132
|
|
|
16027
16133
|
Template parameter: {{LINEAR_PROJECT_ID}}
|
|
16028
16134
|
|
|
@@ -16067,7 +16173,7 @@ Blocked and ambiguous items are explicitly left alone — the dispatch node surf
|
|
|
16067
16173
|
`;
|
|
16068
16174
|
|
|
16069
16175
|
// templates/workflows/llm-safe-release-context/config.json
|
|
16070
|
-
var
|
|
16176
|
+
var config_default66 = `{
|
|
16071
16177
|
"kind": "workflow",
|
|
16072
16178
|
"name": "llm-safe-release-context",
|
|
16073
16179
|
"displayName": "LLM-Safe Release Context",
|
|
@@ -16084,7 +16190,7 @@ var config_default65 = `{
|
|
|
16084
16190
|
`;
|
|
16085
16191
|
|
|
16086
16192
|
// templates/workflows/llm-safe-release-context/content.md
|
|
16087
|
-
var
|
|
16193
|
+
var content_default66 = `# LLM-Safe Release Context
|
|
16088
16194
|
|
|
16089
16195
|
Template parameters: {{ORG_ID}}, {{REPO_URL}}
|
|
16090
16196
|
|
|
@@ -16158,7 +16264,7 @@ This avoids the common failure mode where a large \`context.json\` fills the mod
|
|
|
16158
16264
|
`;
|
|
16159
16265
|
|
|
16160
16266
|
// templates/workflows/pr-review-status-sweep/config.json
|
|
16161
|
-
var
|
|
16267
|
+
var config_default67 = `{
|
|
16162
16268
|
"kind": "workflow",
|
|
16163
16269
|
"name": "pr-review-status-sweep",
|
|
16164
16270
|
"displayName": "PR Review Status Sweep",
|
|
@@ -16175,7 +16281,7 @@ var config_default66 = `{
|
|
|
16175
16281
|
`;
|
|
16176
16282
|
|
|
16177
16283
|
// templates/workflows/pr-review-status-sweep/content.md
|
|
16178
|
-
var
|
|
16284
|
+
var content_default67 = `# PR Review Status Sweep
|
|
16179
16285
|
|
|
16180
16286
|
This topology-preserving self-hosted port removes installation-specific identities, endpoints, and credentials while retaining the live workflow's nodes, edges, input mappings, guards, retries, cooldown, and triggers. Configure the declared template parameters and integrations before enabling it.
|
|
16181
16287
|
|
|
@@ -16188,7 +16294,7 @@ This topology-preserving self-hosted port removes installation-specific identiti
|
|
|
16188
16294
|
`;
|
|
16189
16295
|
|
|
16190
16296
|
// templates/workflows/ralph-loop/config.json
|
|
16191
|
-
var
|
|
16297
|
+
var config_default68 = `{
|
|
16192
16298
|
"kind": "workflow",
|
|
16193
16299
|
"name": "ralph-loop",
|
|
16194
16300
|
"displayName": "Iterative Review Loop",
|
|
@@ -16205,7 +16311,7 @@ var config_default67 = `{
|
|
|
16205
16311
|
`;
|
|
16206
16312
|
|
|
16207
16313
|
// templates/workflows/ralph-loop/content.md
|
|
16208
|
-
var
|
|
16314
|
+
var content_default68 = `# Iterative Review Loop
|
|
16209
16315
|
|
|
16210
16316
|
Template parameter: {{REPO_URL}}
|
|
16211
16317
|
|
|
@@ -16256,14 +16362,14 @@ The \`maxIterations\` parameter is declarative: the reviewer signals PASS when d
|
|
|
16256
16362
|
init_db();
|
|
16257
16363
|
var asText2 = (value) => value;
|
|
16258
16364
|
var BUILT_IN_WORKFLOW_SOURCES = [
|
|
16259
|
-
{ config: asText2(config_default60), content: asText2(content_default60) },
|
|
16260
16365
|
{ config: asText2(config_default61), content: asText2(content_default61) },
|
|
16261
16366
|
{ config: asText2(config_default62), content: asText2(content_default62) },
|
|
16262
16367
|
{ config: asText2(config_default63), content: asText2(content_default63) },
|
|
16263
16368
|
{ config: asText2(config_default64), content: asText2(content_default64) },
|
|
16264
16369
|
{ config: asText2(config_default65), content: asText2(content_default65) },
|
|
16265
16370
|
{ config: asText2(config_default66), content: asText2(content_default66) },
|
|
16266
|
-
{ config: asText2(config_default67), content: asText2(content_default67) }
|
|
16371
|
+
{ config: asText2(config_default67), content: asText2(content_default67) },
|
|
16372
|
+
{ config: asText2(config_default68), content: asText2(content_default68) }
|
|
16267
16373
|
];
|
|
16268
16374
|
function sortJson(value) {
|
|
16269
16375
|
if (Array.isArray(value))
|
|
@@ -16283,10 +16389,17 @@ function parseWorkflowSource(source) {
|
|
|
16283
16389
|
if (!match?.[1])
|
|
16284
16390
|
throw new Error(`Workflow template ${config.name} has no JSON definition`);
|
|
16285
16391
|
const payload = JSON.parse(match[1]);
|
|
16392
|
+
const requires = config.requires ?? [];
|
|
16393
|
+
const requiredParams = config.placeholders ?? [];
|
|
16286
16394
|
return {
|
|
16287
16395
|
name: config.name,
|
|
16288
16396
|
description: config.description,
|
|
16289
|
-
enabled:
|
|
16397
|
+
enabled: resolveSeededEnabled({
|
|
16398
|
+
requires,
|
|
16399
|
+
requiredParams,
|
|
16400
|
+
autoEnableCandidate: config.autoEnableCandidate === true,
|
|
16401
|
+
templateRecommendsEnabled: payload.enabled !== false
|
|
16402
|
+
}),
|
|
16290
16403
|
definition: {
|
|
16291
16404
|
nodes: payload.nodes,
|
|
16292
16405
|
onNodeFailure: payload.onNodeFailure ?? "fail"
|
|
@@ -16296,8 +16409,8 @@ function parseWorkflowSource(source) {
|
|
|
16296
16409
|
input: payload.input,
|
|
16297
16410
|
triggerSchema: payload.triggerSchema,
|
|
16298
16411
|
params: {},
|
|
16299
|
-
requiredParams
|
|
16300
|
-
requires
|
|
16412
|
+
requiredParams,
|
|
16413
|
+
requires
|
|
16301
16414
|
};
|
|
16302
16415
|
}
|
|
16303
16416
|
function loadSeedWorkflows(sources = BUILT_IN_WORKFLOW_SOURCES) {
|
|
@@ -16382,16 +16495,20 @@ var BUILT_IN_SCHEDULE_SOURCES = [
|
|
|
16382
16495
|
config: asText3(config_default55),
|
|
16383
16496
|
content: asText3(content_default55)
|
|
16384
16497
|
},
|
|
16385
|
-
{ config: asText3(config_default56), content: asText3(content_default56) },
|
|
16386
16498
|
{
|
|
16387
|
-
config: asText3(
|
|
16388
|
-
content: asText3(
|
|
16499
|
+
config: asText3(config_default56),
|
|
16500
|
+
content: asText3(content_default56)
|
|
16389
16501
|
},
|
|
16502
|
+
{ config: asText3(config_default57), content: asText3(content_default57) },
|
|
16390
16503
|
{
|
|
16391
16504
|
config: asText3(config_default58),
|
|
16392
16505
|
content: asText3(content_default58)
|
|
16393
16506
|
},
|
|
16394
|
-
{
|
|
16507
|
+
{
|
|
16508
|
+
config: asText3(config_default59),
|
|
16509
|
+
content: asText3(content_default59)
|
|
16510
|
+
},
|
|
16511
|
+
{ config: asText3(config_default60), content: asText3(content_default60) }
|
|
16395
16512
|
];
|
|
16396
16513
|
function parseScheduleSource(source) {
|
|
16397
16514
|
const config = JSON.parse(source.config);
|
|
@@ -16409,18 +16526,25 @@ function parseScheduleSource(source) {
|
|
|
16409
16526
|
const taskTemplate = source.content.slice(taskHeading >= 0 ? taskHeading + "## Scheduled Task".length : afterBlock).trim();
|
|
16410
16527
|
if (!taskTemplate)
|
|
16411
16528
|
throw new Error(`Schedule template ${config.name} has no task prompt`);
|
|
16529
|
+
const requires = config.requires ?? [];
|
|
16530
|
+
const requiredParams = config.placeholders ?? [];
|
|
16412
16531
|
return {
|
|
16413
16532
|
name: config.name,
|
|
16414
16533
|
description: config.description,
|
|
16415
16534
|
cronExpression: block.cron,
|
|
16416
16535
|
timezone: block.timezone ?? "UTC",
|
|
16417
|
-
enabled:
|
|
16536
|
+
enabled: resolveSeededEnabled({
|
|
16537
|
+
requires,
|
|
16538
|
+
requiredParams,
|
|
16539
|
+
autoEnableCandidate: config.autoEnableCandidate === true,
|
|
16540
|
+
templateRecommendsEnabled: block.enabled !== false
|
|
16541
|
+
}),
|
|
16418
16542
|
taskTemplate,
|
|
16419
16543
|
taskType: config.title,
|
|
16420
16544
|
tags: config.tags ?? [],
|
|
16421
16545
|
params: {},
|
|
16422
|
-
requiredParams
|
|
16423
|
-
requires
|
|
16546
|
+
requiredParams,
|
|
16547
|
+
requires
|
|
16424
16548
|
};
|
|
16425
16549
|
}
|
|
16426
16550
|
function loadSeedSchedules(sources = BUILT_IN_SCHEDULE_SOURCES) {
|
|
@@ -4,29 +4,29 @@ import {
|
|
|
4
4
|
runRebootSweep,
|
|
5
5
|
startHeartbeat,
|
|
6
6
|
stopHeartbeat
|
|
7
|
-
} from "./cli-
|
|
8
|
-
import"./cli-
|
|
7
|
+
} from "./cli-01g3x1ca.js";
|
|
8
|
+
import"./cli-y3pq4v9g.js";
|
|
9
9
|
import"./cli-07jd68a1.js";
|
|
10
|
-
import"./cli-
|
|
10
|
+
import"./cli-ddfw1mc4.js";
|
|
11
11
|
import"./cli-1ebpar1q.js";
|
|
12
12
|
import"./cli-e7d20cty.js";
|
|
13
13
|
import"./cli-3dpj7atn.js";
|
|
14
|
-
import"./cli-
|
|
14
|
+
import"./cli-svbrpf5q.js";
|
|
15
15
|
import"./cli-epan13p1.js";
|
|
16
|
-
import"./cli-
|
|
17
|
-
import"./cli-
|
|
16
|
+
import"./cli-3z634pqe.js";
|
|
17
|
+
import"./cli-jezx9b9c.js";
|
|
18
18
|
import"./cli-y89t4nca.js";
|
|
19
19
|
import"./cli-f14fvzag.js";
|
|
20
20
|
import"./cli-zvz62chv.js";
|
|
21
|
-
import"./cli-
|
|
21
|
+
import"./cli-cd60fv6j.js";
|
|
22
22
|
import"./cli-aehm1rbq.js";
|
|
23
23
|
import"./cli-bsakbbkm.js";
|
|
24
|
-
import"./cli-
|
|
25
|
-
import"./cli-
|
|
24
|
+
import"./cli-ayvy5kde.js";
|
|
25
|
+
import"./cli-3sysyjve.js";
|
|
26
26
|
import"./cli-q51yprfq.js";
|
|
27
27
|
import"./cli-9d8ntetj.js";
|
|
28
28
|
import"./cli-yatxqynm.js";
|
|
29
|
-
import"./cli-
|
|
29
|
+
import"./cli-qgd4sqz5.js";
|
|
30
30
|
import"./cli-08b07b4r.js";
|
|
31
31
|
import"./cli-3apbzgyk.js";
|
|
32
32
|
import"./cli-e29gmdmw.js";
|
|
@@ -34,7 +34,7 @@ import"./cli-c2mk1kgf.js";
|
|
|
34
34
|
import"./cli-ej6gbxfb.js";
|
|
35
35
|
import"./cli-sd0mxa3c.js";
|
|
36
36
|
import"./cli-w5e1d1vv.js";
|
|
37
|
-
import"./cli-
|
|
37
|
+
import"./cli-e06a8a7y.js";
|
|
38
38
|
import"./cli-r2ap2czm.js";
|
|
39
39
|
import"./cli-pzxba7gw.js";
|
|
40
40
|
import"./cli-f7kvq46p.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureAuthorizationTokenOrThrow,
|
|
3
3
|
listKeepAliveAuthorizations
|
|
4
|
-
} from "./cli-
|
|
5
|
-
import"./cli-
|
|
4
|
+
} from "./cli-cd60fv6j.js";
|
|
5
|
+
import"./cli-qgd4sqz5.js";
|
|
6
6
|
import"./cli-08b07b4r.js";
|
|
7
7
|
import"./cli-3apbzgyk.js";
|
|
8
8
|
import"./cli-e29gmdmw.js";
|
|
@@ -10,7 +10,7 @@ import"./cli-c2mk1kgf.js";
|
|
|
10
10
|
import"./cli-ej6gbxfb.js";
|
|
11
11
|
import"./cli-sd0mxa3c.js";
|
|
12
12
|
import"./cli-w5e1d1vv.js";
|
|
13
|
-
import"./cli-
|
|
13
|
+
import"./cli-e06a8a7y.js";
|
|
14
14
|
import {
|
|
15
15
|
init_secret_scrubber,
|
|
16
16
|
scrubSecrets
|
|
@@ -66,7 +66,7 @@ async function notifySlack(text) {
|
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
try {
|
|
69
|
-
const { getSlackApp } = await import("./app-
|
|
69
|
+
const { getSlackApp } = await import("./app-fq2ggynt.js");
|
|
70
70
|
const app = getSlackApp();
|
|
71
71
|
if (!app) {
|
|
72
72
|
console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runAgent
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-7evafqvy.js";
|
|
4
4
|
import"./cli-xm87hzbw.js";
|
|
5
|
-
import"./cli-
|
|
5
|
+
import"./cli-73gq0zxn.js";
|
|
6
6
|
import"./cli-6664w7y4.js";
|
|
7
7
|
import"./cli-hsxj0yar.js";
|
|
8
8
|
import"./cli-9b13ggd1.js";
|
|
@@ -12,11 +12,11 @@ import"./cli-r94z9p1z.js";
|
|
|
12
12
|
import"./cli-2djtr51b.js";
|
|
13
13
|
import {
|
|
14
14
|
getEnabledCapabilities
|
|
15
|
-
} from "./cli-
|
|
15
|
+
} from "./cli-cv7s5zdq.js";
|
|
16
16
|
import"./cli-0z2v4nhw.js";
|
|
17
17
|
import"./cli-j490egb5.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
18
|
+
import"./cli-k351hv5k.js";
|
|
19
|
+
import"./cli-tg8qj8ee.js";
|
|
20
20
|
import"./cli-4wtq5jjv.js";
|
|
21
21
|
import"./cli-b5b30yzk.js";
|
|
22
22
|
import"./cli-jecc01cb.js";
|
|
@@ -27,40 +27,40 @@ import"./cli-s25avqg9.js";
|
|
|
27
27
|
import"./cli-eree7rnv.js";
|
|
28
28
|
import"./cli-xvkmedgn.js";
|
|
29
29
|
import"./cli-4yc5d8fk.js";
|
|
30
|
-
import"./cli-
|
|
31
|
-
import"./cli-
|
|
32
|
-
import"./cli-
|
|
33
|
-
import"./cli-
|
|
30
|
+
import"./cli-7fehefdf.js";
|
|
31
|
+
import"./cli-7xx10h0a.js";
|
|
32
|
+
import"./cli-5m0qmvdp.js";
|
|
33
|
+
import"./cli-6skz3rk8.js";
|
|
34
34
|
import"./cli-cmp8g3sw.js";
|
|
35
|
-
import"./cli-
|
|
35
|
+
import"./cli-hzqmgcm2.js";
|
|
36
36
|
import"./cli-qgm2pfpq.js";
|
|
37
|
-
import"./cli-
|
|
37
|
+
import"./cli-y3pq4v9g.js";
|
|
38
38
|
import"./cli-07jd68a1.js";
|
|
39
|
-
import"./cli-
|
|
39
|
+
import"./cli-ddfw1mc4.js";
|
|
40
40
|
import"./cli-1ebpar1q.js";
|
|
41
41
|
import"./cli-e7d20cty.js";
|
|
42
42
|
import"./cli-3dpj7atn.js";
|
|
43
|
-
import"./cli-
|
|
43
|
+
import"./cli-svbrpf5q.js";
|
|
44
44
|
import"./cli-epan13p1.js";
|
|
45
|
-
import"./cli-
|
|
46
|
-
import"./cli-
|
|
45
|
+
import"./cli-3z634pqe.js";
|
|
46
|
+
import"./cli-jezx9b9c.js";
|
|
47
47
|
import"./cli-y89t4nca.js";
|
|
48
48
|
import"./cli-f14fvzag.js";
|
|
49
49
|
import"./cli-zvz62chv.js";
|
|
50
|
-
import"./cli-
|
|
50
|
+
import"./cli-cd60fv6j.js";
|
|
51
51
|
import"./cli-fad8m16k.js";
|
|
52
52
|
import"./cli-aehm1rbq.js";
|
|
53
53
|
import"./cli-bsakbbkm.js";
|
|
54
54
|
import"./cli-51tf7ac3.js";
|
|
55
|
-
import"./cli-
|
|
55
|
+
import"./cli-sdzq01t9.js";
|
|
56
56
|
import"./cli-jsp14b6c.js";
|
|
57
|
-
import"./cli-
|
|
58
|
-
import"./cli-
|
|
59
|
-
import"./cli-
|
|
57
|
+
import"./cli-j4d4f6hv.js";
|
|
58
|
+
import"./cli-ayvy5kde.js";
|
|
59
|
+
import"./cli-3sysyjve.js";
|
|
60
60
|
import"./cli-q51yprfq.js";
|
|
61
61
|
import"./cli-9d8ntetj.js";
|
|
62
62
|
import"./cli-yatxqynm.js";
|
|
63
|
-
import"./cli-
|
|
63
|
+
import"./cli-qgd4sqz5.js";
|
|
64
64
|
import"./cli-08b07b4r.js";
|
|
65
65
|
import"./cli-3apbzgyk.js";
|
|
66
66
|
import"./cli-e29gmdmw.js";
|
|
@@ -68,7 +68,7 @@ import"./cli-c2mk1kgf.js";
|
|
|
68
68
|
import"./cli-ej6gbxfb.js";
|
|
69
69
|
import"./cli-sd0mxa3c.js";
|
|
70
70
|
import"./cli-w5e1d1vv.js";
|
|
71
|
-
import"./cli-
|
|
71
|
+
import"./cli-e06a8a7y.js";
|
|
72
72
|
import"./cli-r2ap2czm.js";
|
|
73
73
|
import"./cli-pzxba7gw.js";
|
|
74
74
|
import"./cli-f7kvq46p.js";
|