@runfusion/fusion 0.77.0-beta.12 → 0.77.0-beta.13
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/bin.js +1636 -903
- package/dist/child-process-worker.js +1064 -466
- package/dist/client/.vite/manifest.json +260 -260
- package/dist/client/assets/AgentDetailView-DPoh46Ym.css +1 -0
- package/dist/client/assets/{AgentDetailView-BZfDgV8f.js → AgentDetailView-DwCr9HOY.js} +1 -1
- package/dist/client/assets/{AgentPermissionPolicyEditor-8yBqnwbx.js → AgentPermissionPolicyEditor-CXRP1R7V.js} +1 -1
- package/dist/client/assets/{AgentsView-BjMOtIMq.js → AgentsView-DEVhP_Ad.js} +3 -3
- package/dist/client/assets/CommandCenter-BshTzOtB.css +1 -0
- package/dist/client/assets/{CommandCenter-CDuO3HPd.js → CommandCenter-sNTR0N1L.js} +22 -22
- package/dist/client/assets/{DevServerView-C96RV0QJ.js → DevServerView-X1Ncu9x-.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-iRielXf7.js → DirectoryPicker-UrDTGJYj.js} +1 -1
- package/dist/client/assets/{DocumentsView-DhAUnUD_.js → DocumentsView-DyyfLF1R.js} +1 -1
- package/dist/client/assets/{EvalsView--n1p2Bt0.js → EvalsView-DgMdhmj1.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-DraglCCV.js → ExperimentalAgentOnboardingModal-DqETOMkr.js} +1 -1
- package/dist/client/assets/{GoalsView-BOWOua5t.js → GoalsView-Cai1_q1j.js} +1 -1
- package/dist/client/assets/{InsightsView-C5YcJZSc.js → InsightsView-DN9i_pr2.js} +1 -1
- package/dist/client/assets/{MemoryView-DsCuGVGx.js → MemoryView-DpVhI_BB.js} +1 -1
- package/dist/client/assets/{PatchnodeView-CzgChkJV.js → PatchnodeView-C9glaWoU.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-qYbmaigE.js → PiExtensionsManager-DkJ3I9ur.js} +1 -1
- package/dist/client/assets/{PluginManager-Cklj4Smo.js → PluginManager-C3BKqDE-.js} +1 -1
- package/dist/client/assets/{PullRequestView-C6vozTTI.js → PullRequestView-BCPolzJY.js} +1 -1
- package/dist/client/assets/{ReportModal-B0LU4E4L.js → ReportModal-CBc5lSf3.js} +1 -1
- package/dist/client/assets/{ResearchView-CpESx46e.js → ResearchView-BInIb1tK.js} +1 -1
- package/dist/client/assets/{SecretsView-8ZdH9Yzs.js → SecretsView-Db2mKOcp.js} +1 -1
- package/dist/client/assets/SettingsModal-BEULP2a7.css +1 -0
- package/dist/client/assets/SettingsModal-Dn9vcqW7.js +21 -0
- package/dist/client/assets/{SettingsModal-BJXu-dhz.js → SettingsModal-tnr4Y2cG.js} +1 -1
- package/dist/client/assets/{SettingsTextareaRow-th-q0_2k.js → SettingsTextareaRow-DDIEo7kX.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-CBElxrRA.js → SetupWizardModal-BgpCpOJi.js} +2 -2
- package/dist/client/assets/{SkillsView-BuoicLbJ.js → SkillsView-C4_dPxaH.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-BDw0LpWM.js → WorkflowNodeEditor-BRIoMtdz.js} +1 -1
- package/dist/client/assets/{agent-import-generation-CNridJHO.js → agent-import-generation-DZjrAuLD.js} +1 -1
- package/dist/client/assets/{agentsOrgChartLayout-BopFGp0r.js → agentsOrgChartLayout-T3vfKGm-.js} +1 -1
- package/dist/client/assets/{app-DKzqBaeH.js → app-BUPxz3_I.js} +1 -1
- package/dist/client/assets/{app-y8x9KYqa.js → app-Bsb-vSJ2.js} +3 -3
- package/dist/client/assets/{app-DkJZhePX.js → app-CDMzhkVk.js} +1 -1
- package/dist/client/assets/{app-BtBMuy2Z.js → app-Ca3_7roP.js} +3 -3
- package/dist/client/assets/{app-JnrgtY9I.js → app-CaiQxtA9.js} +3 -3
- package/dist/client/assets/{app-LrO9EOLE.js → app-D7N3gRgK.js} +3 -3
- package/dist/client/assets/{app-Cv-4fcPl.js → app-Du0s0Xs8.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-2_yoUOD5.js → architectureDiagram-3BPJPVTR-CG7lqp3T.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-ueBSwDJh.js → blockDiagram-GPEHLZMM-CCQyln9-.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-D0cUU3pE.js → c4Diagram-AAUBKEIU-DgTWfMuv.js} +1 -1
- package/dist/client/assets/channel-DQn8tAbt.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-DKJnGdD6.js → chunk-2J33WTMH-DbvgPKWu.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-BUrgUtvt.js → chunk-4BX2VUAB-Jeug78io.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-DHy2hCYz.js → chunk-55IACEB6-wSkfWEqo.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-Dgbhllem.js → chunk-727SXJPM-o-cSBR4a.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-tPbicvl-.js → chunk-AQP2D5EJ-9iL_Co48.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BpHFGFmo.js → chunk-FMBD7UC4-HKJKjpLt.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-DUTQ63ld.js → chunk-ND2GUHAM-DZUdY7Yv.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-ChCf_usL.js → chunk-QZHKN3VN-AFzlVJep.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BVZs0DmH.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BVZs0DmH.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DgWzHtF9.js → cose-bilkent-S5V4N54A-vhimfYza.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-gQ1C1xHJ.js → dagre-BM42HDAG-wPz2jgXD.js} +1 -1
- package/dist/client/assets/{dashboard-view-BtFepPos.js → dashboard-view-BJVPfjWI.js} +1 -1
- package/dist/client/assets/{dashboard-view-BXtoQ9a4.js → dashboard-view-BN6as5aN.js} +1 -1
- package/dist/client/assets/{dashboard-view-AQmzkBNb.js → dashboard-view-ByLTU9KO.js} +1 -1
- package/dist/client/assets/{dashboard-view-BLenRoXu.js → dashboard-view-HiX6AOAw.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-Dv96I1MI.js → diagram-2AECGRRQ-DvPGnzo9.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-BRyhjYes.js → diagram-5GNKFQAL-CUD0xVXq.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-Bmj3ihjc.js → diagram-KO2AKTUF-p88av64o.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-BYHVCFK2.js → diagram-LMA3HP47-B2V_VFOf.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-0WZBLayt.js → diagram-OG6HWLK6-CO02xKJJ.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-Cu-yj8hA.js → erDiagram-TEJ5UH35-LiIZMOks.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-BSetu6oh.js → flowDiagram-I6XJVG4X-BMgU0xdB.js} +1 -1
- package/dist/client/assets/{folder-open-CkswT0lE.js → folder-open-Bfz0pfA0.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-B5qn0KFQ.js → ganttDiagram-6RSMTGT7-C-DNnJ7F.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-BVB3wm46.js → gitGraphDiagram-PVQCEYII-BKnH_s4c.js} +1 -1
- package/dist/client/assets/index-D6zw4rNc.js +2937 -0
- package/dist/client/assets/index-lxhrCjd_.css +1 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-ZBNKOBSK.js → infoDiagram-5YYISTIA-DrFgtiS_.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CbNKgenI.js → ishikawaDiagram-YF4QCWOH-cXcVkWVR.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-BLc2FHIF.js → journeyDiagram-JHISSGLW-2rAR6JrI.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-B08tij8f.js → kanban-definition-UN3LZRKU-uaIVKg6k.js} +1 -1
- package/dist/client/assets/{mermaid.core-QX5z7w8Z.js → mermaid.core-Bl1eKb-3.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-C1md8M3c.js → mindmap-definition-RKZ34NQL-C_ZfL855.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BoQbn3Xp.js → pieDiagram-4H26LBE5-B-GWMxe6.js} +1 -1
- package/dist/client/assets/{puzzle-DCqPnWPE.js → puzzle--EYtEUHj.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DPvNcVK-.js → quadrantDiagram-W4KKPZXB-C4yu-vxx.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-KfdYf15t.js → requirementDiagram-4Y6WPE33-CmsMO-mZ.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-D1Eyoanf.js → sankeyDiagram-5OEKKPKP-DKXXMJDr.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CmODsbCf.js → sequenceDiagram-3UESZ5HK-DbpptsX5.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-D_mPaGcG.js → standing-instructions-template-bCcrFYtU.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-Blbw_21G.js → stateDiagram-AJRCARHV-DDwdEj_k.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DwMgvYO8.js → stateDiagram-v2-BHNVJYJU-CjOnclTc.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-DDtndgLc.js → timeline-definition-PNZ67QCA-Q8Appf3Z.js} +1 -1
- package/dist/client/assets/{upload-DGCjJkMH.js → upload-Ka3GrAEL.js} +1 -1
- package/dist/client/assets/{users-CbWZvFZP.js → users-B7a_oi7v.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-B6Sx0OqW.js → vennDiagram-CIIHVFJN-ZsuVN3Hk.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-_SQFYU4g.js → wardley-L42UT6IY-Eh9WyxS2.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Ce5igv6s.js → wardleyDiagram-YWT4CUSO-CG1fl8Sj.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-zI0zyvDP.js → xychartDiagram-2RQKCTM6-BnZAlrGh.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +1479 -798
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugin-sdk/index.d.ts +1 -1
- package/dist/plugin-sdk/index.js +25 -14
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +25 -14
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/AgentDetailView-jzgy1BAS.css +0 -1
- package/dist/client/assets/CommandCenter-ilm-DbtI.css +0 -1
- package/dist/client/assets/SettingsModal-B1UCDc_h.js +0 -21
- package/dist/client/assets/SettingsModal-C5ic1ls7.css +0 -1
- package/dist/client/assets/channel-DfvbdnTK.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-CkMyClXV.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CkMyClXV.js +0 -1
- package/dist/client/assets/index-BgE915SE.js +0 -2937
- package/dist/client/assets/index-e2yEk7y4.css +0 -1
|
@@ -273,6 +273,7 @@ interface WorkflowStep {
|
|
|
273
273
|
gateMode: WorkflowStepGateMode;
|
|
274
274
|
prompt: string;
|
|
275
275
|
toolMode?: WorkflowStepToolMode;
|
|
276
|
+
readonlyMcpServers?: string[];
|
|
276
277
|
skillName?: string;
|
|
277
278
|
requiresBrowser?: boolean;
|
|
278
279
|
scriptName?: string;
|
|
@@ -5077,7 +5078,6 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
5077
5078
|
taskIdIntegrityReport: TaskIdIntegrityReport;
|
|
5078
5079
|
lastTaskIdIntegrityLogSignature: string | null;
|
|
5079
5080
|
workflowStepsCache: WorkflowStep[] | null;
|
|
5080
|
-
workflowDefinitionsCache: WorkflowDefinition[] | null;
|
|
5081
5081
|
_pluginWorkflowStepTemplates: Array<{
|
|
5082
5082
|
pluginId: string;
|
|
5083
5083
|
template: WorkflowStepTemplate;
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -9027,6 +9027,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9027
9027
|
};
|
|
9028
9028
|
}
|
|
9029
9029
|
|
|
9030
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9031
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9032
|
+
"merge-gate",
|
|
9033
|
+
"merge-attempt",
|
|
9034
|
+
"manual-merge-hold",
|
|
9035
|
+
"retry-backoff",
|
|
9036
|
+
"recovery-router",
|
|
9037
|
+
"branch-group-member-integration",
|
|
9038
|
+
"branch-group-promotion",
|
|
9039
|
+
"pr-create",
|
|
9040
|
+
"pr-respond",
|
|
9041
|
+
"pr-merge"
|
|
9042
|
+
]);
|
|
9043
|
+
|
|
9030
9044
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9031
9045
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9032
9046
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10575,20 +10589,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10575
10589
|
}
|
|
10576
10590
|
}
|
|
10577
10591
|
|
|
10578
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10579
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10580
|
-
"merge-gate",
|
|
10581
|
-
"merge-attempt",
|
|
10582
|
-
"manual-merge-hold",
|
|
10583
|
-
"retry-backoff",
|
|
10584
|
-
"recovery-router",
|
|
10585
|
-
"branch-group-member-integration",
|
|
10586
|
-
"branch-group-promotion",
|
|
10587
|
-
"pr-create",
|
|
10588
|
-
"pr-respond",
|
|
10589
|
-
"pr-merge"
|
|
10590
|
-
]);
|
|
10591
|
-
|
|
10592
10592
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10593
10593
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10594
10594
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11580,6 +11580,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11580
11580
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11581
11581
|
}
|
|
11582
11582
|
}
|
|
11583
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11584
|
+
for (const node of nodes2) {
|
|
11585
|
+
const value = node.config?.readonlyMcpServers;
|
|
11586
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11587
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11588
|
+
}
|
|
11589
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11590
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11591
|
+
}
|
|
11592
|
+
}
|
|
11583
11593
|
function validateThinkingLevelConfig(nodes2) {
|
|
11584
11594
|
for (const node of nodes2) {
|
|
11585
11595
|
const value = node.config?.thinkingLevel;
|
|
@@ -12194,6 +12204,7 @@ function validateV2(ir) {
|
|
|
12194
12204
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12195
12205
|
validateStepExecutePlacement(ir.nodes);
|
|
12196
12206
|
validateThinkingLevelConfig(ir.nodes);
|
|
12207
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12197
12208
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12198
12209
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12199
12210
|
for (const node of ir.nodes) {
|
|
@@ -9026,6 +9026,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9026
9026
|
};
|
|
9027
9027
|
}
|
|
9028
9028
|
|
|
9029
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9030
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9031
|
+
"merge-gate",
|
|
9032
|
+
"merge-attempt",
|
|
9033
|
+
"manual-merge-hold",
|
|
9034
|
+
"retry-backoff",
|
|
9035
|
+
"recovery-router",
|
|
9036
|
+
"branch-group-member-integration",
|
|
9037
|
+
"branch-group-promotion",
|
|
9038
|
+
"pr-create",
|
|
9039
|
+
"pr-respond",
|
|
9040
|
+
"pr-merge"
|
|
9041
|
+
]);
|
|
9042
|
+
|
|
9029
9043
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9044
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9045
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10583,20 +10597,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10583
10597
|
}
|
|
10584
10598
|
}
|
|
10585
10599
|
|
|
10586
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10587
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10588
|
-
"merge-gate",
|
|
10589
|
-
"merge-attempt",
|
|
10590
|
-
"manual-merge-hold",
|
|
10591
|
-
"retry-backoff",
|
|
10592
|
-
"recovery-router",
|
|
10593
|
-
"branch-group-member-integration",
|
|
10594
|
-
"branch-group-promotion",
|
|
10595
|
-
"pr-create",
|
|
10596
|
-
"pr-respond",
|
|
10597
|
-
"pr-merge"
|
|
10598
|
-
]);
|
|
10599
|
-
|
|
10600
10600
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10601
10601
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10602
10602
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11588,6 +11588,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11588
11588
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11589
11589
|
}
|
|
11590
11590
|
}
|
|
11591
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11592
|
+
for (const node of nodes2) {
|
|
11593
|
+
const value = node.config?.readonlyMcpServers;
|
|
11594
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11595
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11596
|
+
}
|
|
11597
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11598
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11599
|
+
}
|
|
11600
|
+
}
|
|
11591
11601
|
function validateThinkingLevelConfig(nodes2) {
|
|
11592
11602
|
for (const node of nodes2) {
|
|
11593
11603
|
const value = node.config?.thinkingLevel;
|
|
@@ -12202,6 +12212,7 @@ function validateV2(ir) {
|
|
|
12202
12212
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12203
12213
|
validateStepExecutePlacement(ir.nodes);
|
|
12204
12214
|
validateThinkingLevelConfig(ir.nodes);
|
|
12215
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12205
12216
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12206
12217
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12207
12218
|
for (const node of ir.nodes) {
|
|
@@ -9026,6 +9026,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9026
9026
|
};
|
|
9027
9027
|
}
|
|
9028
9028
|
|
|
9029
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9030
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9031
|
+
"merge-gate",
|
|
9032
|
+
"merge-attempt",
|
|
9033
|
+
"manual-merge-hold",
|
|
9034
|
+
"retry-backoff",
|
|
9035
|
+
"recovery-router",
|
|
9036
|
+
"branch-group-member-integration",
|
|
9037
|
+
"branch-group-promotion",
|
|
9038
|
+
"pr-create",
|
|
9039
|
+
"pr-respond",
|
|
9040
|
+
"pr-merge"
|
|
9041
|
+
]);
|
|
9042
|
+
|
|
9029
9043
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9044
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9045
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10583,20 +10597,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10583
10597
|
}
|
|
10584
10598
|
}
|
|
10585
10599
|
|
|
10586
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10587
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10588
|
-
"merge-gate",
|
|
10589
|
-
"merge-attempt",
|
|
10590
|
-
"manual-merge-hold",
|
|
10591
|
-
"retry-backoff",
|
|
10592
|
-
"recovery-router",
|
|
10593
|
-
"branch-group-member-integration",
|
|
10594
|
-
"branch-group-promotion",
|
|
10595
|
-
"pr-create",
|
|
10596
|
-
"pr-respond",
|
|
10597
|
-
"pr-merge"
|
|
10598
|
-
]);
|
|
10599
|
-
|
|
10600
10600
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10601
10601
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10602
10602
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11588,6 +11588,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11588
11588
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11589
11589
|
}
|
|
11590
11590
|
}
|
|
11591
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11592
|
+
for (const node of nodes2) {
|
|
11593
|
+
const value = node.config?.readonlyMcpServers;
|
|
11594
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11595
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11596
|
+
}
|
|
11597
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11598
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11599
|
+
}
|
|
11600
|
+
}
|
|
11591
11601
|
function validateThinkingLevelConfig(nodes2) {
|
|
11592
11602
|
for (const node of nodes2) {
|
|
11593
11603
|
const value = node.config?.thinkingLevel;
|
|
@@ -12202,6 +12212,7 @@ function validateV2(ir) {
|
|
|
12202
12212
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12203
12213
|
validateStepExecutePlacement(ir.nodes);
|
|
12204
12214
|
validateThinkingLevelConfig(ir.nodes);
|
|
12215
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12205
12216
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12206
12217
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12207
12218
|
for (const node of ir.nodes) {
|
|
@@ -9146,6 +9146,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9146
9146
|
};
|
|
9147
9147
|
}
|
|
9148
9148
|
|
|
9149
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9150
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9151
|
+
"merge-gate",
|
|
9152
|
+
"merge-attempt",
|
|
9153
|
+
"manual-merge-hold",
|
|
9154
|
+
"retry-backoff",
|
|
9155
|
+
"recovery-router",
|
|
9156
|
+
"branch-group-member-integration",
|
|
9157
|
+
"branch-group-promotion",
|
|
9158
|
+
"pr-create",
|
|
9159
|
+
"pr-respond",
|
|
9160
|
+
"pr-merge"
|
|
9161
|
+
]);
|
|
9162
|
+
|
|
9149
9163
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9150
9164
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9151
9165
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10695,20 +10709,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10695
10709
|
}
|
|
10696
10710
|
}
|
|
10697
10711
|
|
|
10698
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10699
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10700
|
-
"merge-gate",
|
|
10701
|
-
"merge-attempt",
|
|
10702
|
-
"manual-merge-hold",
|
|
10703
|
-
"retry-backoff",
|
|
10704
|
-
"recovery-router",
|
|
10705
|
-
"branch-group-member-integration",
|
|
10706
|
-
"branch-group-promotion",
|
|
10707
|
-
"pr-create",
|
|
10708
|
-
"pr-respond",
|
|
10709
|
-
"pr-merge"
|
|
10710
|
-
]);
|
|
10711
|
-
|
|
10712
10712
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10713
10713
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10714
10714
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11700,6 +11700,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11700
11700
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11701
11701
|
}
|
|
11702
11702
|
}
|
|
11703
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11704
|
+
for (const node of nodes2) {
|
|
11705
|
+
const value = node.config?.readonlyMcpServers;
|
|
11706
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11707
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11708
|
+
}
|
|
11709
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11710
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11711
|
+
}
|
|
11712
|
+
}
|
|
11703
11713
|
function validateThinkingLevelConfig(nodes2) {
|
|
11704
11714
|
for (const node of nodes2) {
|
|
11705
11715
|
const value = node.config?.thinkingLevel;
|
|
@@ -12314,6 +12324,7 @@ function validateV2(ir) {
|
|
|
12314
12324
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12315
12325
|
validateStepExecutePlacement(ir.nodes);
|
|
12316
12326
|
validateThinkingLevelConfig(ir.nodes);
|
|
12327
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12317
12328
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12318
12329
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12319
12330
|
for (const node of ir.nodes) {
|
|
@@ -9026,6 +9026,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9026
9026
|
};
|
|
9027
9027
|
}
|
|
9028
9028
|
|
|
9029
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9030
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9031
|
+
"merge-gate",
|
|
9032
|
+
"merge-attempt",
|
|
9033
|
+
"manual-merge-hold",
|
|
9034
|
+
"retry-backoff",
|
|
9035
|
+
"recovery-router",
|
|
9036
|
+
"branch-group-member-integration",
|
|
9037
|
+
"branch-group-promotion",
|
|
9038
|
+
"pr-create",
|
|
9039
|
+
"pr-respond",
|
|
9040
|
+
"pr-merge"
|
|
9041
|
+
]);
|
|
9042
|
+
|
|
9029
9043
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9044
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9045
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10575,20 +10589,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10575
10589
|
}
|
|
10576
10590
|
}
|
|
10577
10591
|
|
|
10578
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10579
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10580
|
-
"merge-gate",
|
|
10581
|
-
"merge-attempt",
|
|
10582
|
-
"manual-merge-hold",
|
|
10583
|
-
"retry-backoff",
|
|
10584
|
-
"recovery-router",
|
|
10585
|
-
"branch-group-member-integration",
|
|
10586
|
-
"branch-group-promotion",
|
|
10587
|
-
"pr-create",
|
|
10588
|
-
"pr-respond",
|
|
10589
|
-
"pr-merge"
|
|
10590
|
-
]);
|
|
10591
|
-
|
|
10592
10592
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10593
10593
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10594
10594
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11580,6 +11580,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11580
11580
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11581
11581
|
}
|
|
11582
11582
|
}
|
|
11583
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11584
|
+
for (const node of nodes2) {
|
|
11585
|
+
const value = node.config?.readonlyMcpServers;
|
|
11586
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11587
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11588
|
+
}
|
|
11589
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11590
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11591
|
+
}
|
|
11592
|
+
}
|
|
11583
11593
|
function validateThinkingLevelConfig(nodes2) {
|
|
11584
11594
|
for (const node of nodes2) {
|
|
11585
11595
|
const value = node.config?.thinkingLevel;
|
|
@@ -12194,6 +12204,7 @@ function validateV2(ir) {
|
|
|
12194
12204
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12195
12205
|
validateStepExecutePlacement(ir.nodes);
|
|
12196
12206
|
validateThinkingLevelConfig(ir.nodes);
|
|
12207
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12197
12208
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12198
12209
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12199
12210
|
for (const node of ir.nodes) {
|
|
@@ -9029,6 +9029,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9029
9029
|
};
|
|
9030
9030
|
}
|
|
9031
9031
|
|
|
9032
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9033
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9034
|
+
"merge-gate",
|
|
9035
|
+
"merge-attempt",
|
|
9036
|
+
"manual-merge-hold",
|
|
9037
|
+
"retry-backoff",
|
|
9038
|
+
"recovery-router",
|
|
9039
|
+
"branch-group-member-integration",
|
|
9040
|
+
"branch-group-promotion",
|
|
9041
|
+
"pr-create",
|
|
9042
|
+
"pr-respond",
|
|
9043
|
+
"pr-merge"
|
|
9044
|
+
]);
|
|
9045
|
+
|
|
9032
9046
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9033
9047
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
9048
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10578,20 +10592,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10578
10592
|
}
|
|
10579
10593
|
}
|
|
10580
10594
|
|
|
10581
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10582
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10583
|
-
"merge-gate",
|
|
10584
|
-
"merge-attempt",
|
|
10585
|
-
"manual-merge-hold",
|
|
10586
|
-
"retry-backoff",
|
|
10587
|
-
"recovery-router",
|
|
10588
|
-
"branch-group-member-integration",
|
|
10589
|
-
"branch-group-promotion",
|
|
10590
|
-
"pr-create",
|
|
10591
|
-
"pr-respond",
|
|
10592
|
-
"pr-merge"
|
|
10593
|
-
]);
|
|
10594
|
-
|
|
10595
10595
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10596
10596
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10597
10597
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11583,6 +11583,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11583
11583
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11584
11584
|
}
|
|
11585
11585
|
}
|
|
11586
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11587
|
+
for (const node of nodes2) {
|
|
11588
|
+
const value = node.config?.readonlyMcpServers;
|
|
11589
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11590
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11591
|
+
}
|
|
11592
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11593
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11594
|
+
}
|
|
11595
|
+
}
|
|
11586
11596
|
function validateThinkingLevelConfig(nodes2) {
|
|
11587
11597
|
for (const node of nodes2) {
|
|
11588
11598
|
const value = node.config?.thinkingLevel;
|
|
@@ -12197,6 +12207,7 @@ function validateV2(ir) {
|
|
|
12197
12207
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12198
12208
|
validateStepExecutePlacement(ir.nodes);
|
|
12199
12209
|
validateThinkingLevelConfig(ir.nodes);
|
|
12210
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12200
12211
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12201
12212
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12202
12213
|
for (const node of ir.nodes) {
|
|
@@ -9026,6 +9026,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9026
9026
|
};
|
|
9027
9027
|
}
|
|
9028
9028
|
|
|
9029
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9030
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9031
|
+
"merge-gate",
|
|
9032
|
+
"merge-attempt",
|
|
9033
|
+
"manual-merge-hold",
|
|
9034
|
+
"retry-backoff",
|
|
9035
|
+
"recovery-router",
|
|
9036
|
+
"branch-group-member-integration",
|
|
9037
|
+
"branch-group-promotion",
|
|
9038
|
+
"pr-create",
|
|
9039
|
+
"pr-respond",
|
|
9040
|
+
"pr-merge"
|
|
9041
|
+
]);
|
|
9042
|
+
|
|
9029
9043
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9044
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9045
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10575,20 +10589,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10575
10589
|
}
|
|
10576
10590
|
}
|
|
10577
10591
|
|
|
10578
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10579
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10580
|
-
"merge-gate",
|
|
10581
|
-
"merge-attempt",
|
|
10582
|
-
"manual-merge-hold",
|
|
10583
|
-
"retry-backoff",
|
|
10584
|
-
"recovery-router",
|
|
10585
|
-
"branch-group-member-integration",
|
|
10586
|
-
"branch-group-promotion",
|
|
10587
|
-
"pr-create",
|
|
10588
|
-
"pr-respond",
|
|
10589
|
-
"pr-merge"
|
|
10590
|
-
]);
|
|
10591
|
-
|
|
10592
10592
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10593
10593
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10594
10594
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11580,6 +11580,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11580
11580
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11581
11581
|
}
|
|
11582
11582
|
}
|
|
11583
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11584
|
+
for (const node of nodes2) {
|
|
11585
|
+
const value = node.config?.readonlyMcpServers;
|
|
11586
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11587
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11588
|
+
}
|
|
11589
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11590
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11591
|
+
}
|
|
11592
|
+
}
|
|
11583
11593
|
function validateThinkingLevelConfig(nodes2) {
|
|
11584
11594
|
for (const node of nodes2) {
|
|
11585
11595
|
const value = node.config?.thinkingLevel;
|
|
@@ -12194,6 +12204,7 @@ function validateV2(ir) {
|
|
|
12194
12204
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12195
12205
|
validateStepExecutePlacement(ir.nodes);
|
|
12196
12206
|
validateThinkingLevelConfig(ir.nodes);
|
|
12207
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12197
12208
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12198
12209
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12199
12210
|
for (const node of ir.nodes) {
|
|
@@ -9026,6 +9026,20 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9026
9026
|
};
|
|
9027
9027
|
}
|
|
9028
9028
|
|
|
9029
|
+
// ../core/src/workflows/workflow-merge-region.ts
|
|
9030
|
+
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
9031
|
+
"merge-gate",
|
|
9032
|
+
"merge-attempt",
|
|
9033
|
+
"manual-merge-hold",
|
|
9034
|
+
"retry-backoff",
|
|
9035
|
+
"recovery-router",
|
|
9036
|
+
"branch-group-member-integration",
|
|
9037
|
+
"branch-group-promotion",
|
|
9038
|
+
"pr-create",
|
|
9039
|
+
"pr-respond",
|
|
9040
|
+
"pr-merge"
|
|
9041
|
+
]);
|
|
9042
|
+
|
|
9029
9043
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9044
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9045
|
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
@@ -10575,20 +10589,6 @@ function classifyWorkflowAgentNode(node) {
|
|
|
10575
10589
|
}
|
|
10576
10590
|
}
|
|
10577
10591
|
|
|
10578
|
-
// ../core/src/workflows/workflow-merge-region.ts
|
|
10579
|
-
var MERGE_REGION_ENTRY_NODE_KINDS = /* @__PURE__ */ new Set([
|
|
10580
|
-
"merge-gate",
|
|
10581
|
-
"merge-attempt",
|
|
10582
|
-
"manual-merge-hold",
|
|
10583
|
-
"retry-backoff",
|
|
10584
|
-
"recovery-router",
|
|
10585
|
-
"branch-group-member-integration",
|
|
10586
|
-
"branch-group-promotion",
|
|
10587
|
-
"pr-create",
|
|
10588
|
-
"pr-respond",
|
|
10589
|
-
"pr-merge"
|
|
10590
|
-
]);
|
|
10591
|
-
|
|
10592
10592
|
// ../core/src/workflows/workflow-extension-types.ts
|
|
10593
10593
|
function workflowExtensionRegistryId(pluginId, extensionId) {
|
|
10594
10594
|
return `plugin:${pluginId}:${extensionId}`;
|
|
@@ -11580,6 +11580,16 @@ function validateReviewerAgentOverrides(nodes2) {
|
|
|
11580
11580
|
if (Array.isArray(templateNodes)) validateReviewerAgentOverrides(templateNodes);
|
|
11581
11581
|
}
|
|
11582
11582
|
}
|
|
11583
|
+
function validateReadonlyMcpServersConfig(nodes2) {
|
|
11584
|
+
for (const node of nodes2) {
|
|
11585
|
+
const value = node.config?.readonlyMcpServers;
|
|
11586
|
+
if (value !== void 0 && (!Array.isArray(value) || value.some((name) => typeof name !== "string" || !name.trim()))) {
|
|
11587
|
+
throw new WorkflowIrError(`Workflow node '${node.id}' readonlyMcpServers must be an array of non-empty strings when present`);
|
|
11588
|
+
}
|
|
11589
|
+
const templateNodes = node.config?.template?.nodes;
|
|
11590
|
+
if (Array.isArray(templateNodes)) validateReadonlyMcpServersConfig(templateNodes);
|
|
11591
|
+
}
|
|
11592
|
+
}
|
|
11583
11593
|
function validateThinkingLevelConfig(nodes2) {
|
|
11584
11594
|
for (const node of nodes2) {
|
|
11585
11595
|
const value = node.config?.thinkingLevel;
|
|
@@ -12194,6 +12204,7 @@ function validateV2(ir) {
|
|
|
12194
12204
|
const topLevelIds = new Set(ir.nodes.map((n) => n.id));
|
|
12195
12205
|
validateStepExecutePlacement(ir.nodes);
|
|
12196
12206
|
validateThinkingLevelConfig(ir.nodes);
|
|
12207
|
+
validateReadonlyMcpServersConfig(ir.nodes);
|
|
12197
12208
|
validateCredentialInstanceIdConfig(ir.nodes);
|
|
12198
12209
|
validateReviewerAgentOverrides(ir.nodes);
|
|
12199
12210
|
for (const node of ir.nodes) {
|