@fnndsc/brasa 0.7.0 → 0.9.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/dist/builtins/help.js +19 -3
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/res/diagram.tree.d.ts +47 -0
- package/dist/builtins/res/diagram.tree.js +101 -0
- package/dist/builtins/res/diagram.tree.js.map +1 -0
- package/dist/builtins/res/feed.diagram.d.ts +12 -0
- package/dist/builtins/res/feed.diagram.js +46 -0
- package/dist/builtins/res/feed.diagram.js.map +1 -0
- package/dist/builtins/res/feed.js +65 -11
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/feed.tree.render.d.ts +10 -0
- package/dist/builtins/res/feed.tree.render.js +55 -63
- package/dist/builtins/res/feed.tree.render.js.map +1 -1
- package/dist/builtins/res/feed.tree.signalflow.d.ts +65 -0
- package/dist/builtins/res/feed.tree.signalflow.js +97 -0
- package/dist/builtins/res/feed.tree.signalflow.js.map +1 -0
- package/dist/builtins/res/pipeline.d.ts +1 -0
- package/dist/builtins/res/pipeline.diagram.d.ts +11 -0
- package/dist/builtins/res/pipeline.diagram.js +68 -0
- package/dist/builtins/res/pipeline.diagram.js.map +1 -0
- package/dist/builtins/res/pipeline.js +37 -2
- package/dist/builtins/res/pipeline.js.map +1 -1
- package/dist/core/dispatch.js +20 -5
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/version.d.ts +3 -2
- package/dist/core/version.js +15 -12
- package/dist/core/version.js.map +1 -1
- package/package.json +5 -3
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import chalk from 'chalk';
|
|
12
12
|
import { collapse_build } from './feed.tree.collapse.js';
|
|
13
|
+
import { diagramTopology_nest, diagramTree_walk, } from './diagram.tree.js';
|
|
13
14
|
/** Max anomalous ids listed on a collapsed group line before eliding. */
|
|
14
15
|
const MAX_ANOMALY_IDS = 3;
|
|
15
16
|
/** Width of the status distribution bar. */
|
|
@@ -71,68 +72,58 @@ function anomaly_label(anomalies) {
|
|
|
71
72
|
function collapsedNode_label(node) {
|
|
72
73
|
if (node.count === 1) {
|
|
73
74
|
const status = status_paint(node.anomalies.length > 0 ? node.anomalies[0].status : 'finishedSuccessfully');
|
|
74
|
-
|
|
75
|
-
return `${node.pluginName}_${node.memberIds[0]} ${status}${join}`;
|
|
75
|
+
return `${node.pluginName}_${node.memberIds[0]} ${status}`;
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
return `${chalk.bold(`${node.pluginName} ×${node.count}`)} ${status_bar(node.tally)} ${tally_label(node.tally)}${anomaly_label(node.anomalies)}${join}`;
|
|
77
|
+
return `${chalk.bold(`${node.pluginName} ×${node.count}`)} ${status_bar(node.tally)} ${tally_label(node.tally)}${anomaly_label(node.anomalies)}`;
|
|
79
78
|
}
|
|
80
|
-
/**
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
const children = new Map();
|
|
84
|
-
for (const n of graph.nodes) {
|
|
85
|
-
if (n.parentID !== null) {
|
|
86
|
-
const kids = children.get(n.parentID) ?? [];
|
|
87
|
-
kids.push(n.id);
|
|
88
|
-
children.set(n.parentID, kids);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
const lines = [];
|
|
92
|
-
let shown = 0;
|
|
93
|
-
let truncated = false;
|
|
94
|
-
const flat_label = (node) => {
|
|
79
|
+
/** Builds nested diagram nodes for an uncollapsed feed. */
|
|
80
|
+
function feedFlatNodes_build(graph, roots) {
|
|
81
|
+
return diagramTopology_nest(graph.nodes, roots, (node, children) => {
|
|
95
82
|
const status = status_paint(node.status);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
shown++;
|
|
110
|
-
const kids = children.get(id) ?? [];
|
|
111
|
-
const childPrefix = isRoot ? '' : prefix + (isLast ? ' ' : '│ ');
|
|
112
|
-
kids.forEach((kid, i) => emit(kid, childPrefix, i === kids.length - 1, false));
|
|
113
|
-
};
|
|
114
|
-
roots.forEach((rootID, i) => emit(rootID, '', i === roots.length - 1, roots.length === 1));
|
|
115
|
-
return { lines, shown, truncated };
|
|
83
|
+
return {
|
|
84
|
+
memberIDs: [node.id],
|
|
85
|
+
pluginName: node.pluginName,
|
|
86
|
+
functionName: `${node.pluginName}_${node.id}`,
|
|
87
|
+
signalName: `${node.pluginName}_${node.id}`,
|
|
88
|
+
label: `${node.pluginName}_${node.id} ${status}`,
|
|
89
|
+
multiplicity: 1,
|
|
90
|
+
hasJoin: node.joinParentIDs.length > 0,
|
|
91
|
+
joinParentIDs: node.joinParentIDs,
|
|
92
|
+
arguments: [],
|
|
93
|
+
children,
|
|
94
|
+
};
|
|
95
|
+
});
|
|
116
96
|
}
|
|
117
|
-
/**
|
|
118
|
-
function
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
node.children.
|
|
97
|
+
/** Converts one collapsed feed node into the shared diagram model. */
|
|
98
|
+
function collapsedNode_toDiagram(node) {
|
|
99
|
+
const functionName = node.count === 1
|
|
100
|
+
? `${node.pluginName}_${node.memberIds[0]}`
|
|
101
|
+
: `${node.pluginName}_x${node.count}_${node.memberIds[0]}`;
|
|
102
|
+
return {
|
|
103
|
+
memberIDs: node.memberIds,
|
|
104
|
+
pluginName: node.pluginName,
|
|
105
|
+
functionName,
|
|
106
|
+
signalName: functionName,
|
|
107
|
+
label: collapsedNode_label(node),
|
|
108
|
+
multiplicity: node.count,
|
|
109
|
+
hasJoin: node.hasJoin,
|
|
110
|
+
joinParentIDs: node.joinParentIDs,
|
|
111
|
+
arguments: [],
|
|
112
|
+
children: node.children.map((child) => collapsedNode_toDiagram(child)),
|
|
133
113
|
};
|
|
134
|
-
|
|
135
|
-
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Adapts a feed graph to the shared nested diagram model.
|
|
117
|
+
*
|
|
118
|
+
* @param graph - Feed graph projection.
|
|
119
|
+
* @param roots - Feed roots or focused subtree root.
|
|
120
|
+
* @param flat - Whether to bypass sibling collapse.
|
|
121
|
+
* @returns Nested diagram nodes for shallow or SignalFlow rendering.
|
|
122
|
+
*/
|
|
123
|
+
export function feedDiagramNodes_build(graph, roots, flat = false) {
|
|
124
|
+
return flat
|
|
125
|
+
? feedFlatNodes_build(graph, roots)
|
|
126
|
+
: collapse_build(graph, roots).map((node) => collapsedNode_toDiagram(node));
|
|
136
127
|
}
|
|
137
128
|
/**
|
|
138
129
|
* Pure render of a {@link FeedGraph} into an annotated tree. Collapses isomorphic siblings
|
|
@@ -149,14 +140,15 @@ export function feedTree_render(graph, focusId, maxNodes, flat = false) {
|
|
|
149
140
|
return { rendered: '', shown: 0, truncated: false, error: `Node ${focusId} is not in feed ${graph.feedID}.` };
|
|
150
141
|
}
|
|
151
142
|
const roots = focusId !== undefined ? [focusId] : graph.rootIDs;
|
|
152
|
-
const
|
|
153
|
-
const { lines, shown, truncated } = flat
|
|
154
|
-
? tree_walk(graph, roots, cap)
|
|
155
|
-
: collapsed_walk(collapse_build(graph, roots), cap);
|
|
143
|
+
const walk = diagramTree_walk(feedDiagramNodes_build(graph, roots, flat), maxNodes);
|
|
156
144
|
const mode = flat ? chalk.dim(' [flat]') : '';
|
|
157
145
|
const header = `${chalk.bold(`feed ${graph.feedID}`)} ${chalk.gray(`"${graph.title}"`)} — ` +
|
|
158
146
|
`${status_paint(graph.feedStatus)} · ${graph.total} nodes${mode}` +
|
|
159
|
-
(truncated ? chalk.yellow(` (showing ${shown}; --max-nodes 0 for all, --focus <id> to scope)`) : '');
|
|
160
|
-
return {
|
|
147
|
+
(walk.truncated ? chalk.yellow(` (showing ${walk.shown}; --max-nodes 0 for all, --focus <id> to scope)`) : '');
|
|
148
|
+
return {
|
|
149
|
+
rendered: `${header}\n${walk.rendered}\n`,
|
|
150
|
+
shown: walk.shown,
|
|
151
|
+
truncated: walk.truncated,
|
|
152
|
+
};
|
|
161
153
|
}
|
|
162
154
|
//# sourceMappingURL=feed.tree.render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.tree.render.js","sourceRoot":"","sources":["../../../src/builtins/res/feed.tree.render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAA8B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.tree.render.js","sourceRoot":"","sources":["../../../src/builtins/res/feed.tree.render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAA8B,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAE3B,yEAAyE;AACzE,MAAM,eAAe,GAAW,CAAC,CAAC;AAClC,4CAA4C;AAC5C,MAAM,SAAS,GAAW,EAAE,CAAC;AAE7B,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,mBAAmB;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,UAAU,CAAC,CAAc;IACvC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,IAAI,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAW,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,EAAE,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,EAAE,CAAC;;YAAM,MAAM;QAAC,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAC7F,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnI,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,CAAc;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,sEAAsE;AACtE,SAAS,aAAa,CAAC,SAAqC;IAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAW,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAW,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;IACxD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,6FAA6F;AAC7F,SAAS,mBAAmB,CAAC,IAAmB;IAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAW,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACnH,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;AACrJ,CAAC;AAED,2DAA2D;AAC3D,SAAS,mBAAmB,CAAC,KAAgB,EAAE,KAAe;IAC5D,OAAO,oBAAoB,CACzB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,CAAC,IAAc,EAAE,QAAuB,EAAe,EAAE;QACvD,MAAM,MAAM,GAAW,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO;YACL,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;YAC7C,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;YAC3C,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE;YACjD,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,EAAE;YACb,QAAQ;SACT,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,SAAS,uBAAuB,CAAC,IAAmB;IAClD,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,KAAK,CAAC;QAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY;QACZ,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAoB,EAAe,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACnG,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAgB,EAChB,KAAe,EACf,OAAgB,KAAK;IAErB,OAAO,IAAI;QACT,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;QACnC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAmB,EAAe,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5G,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAgB,EAChB,OAA2B,EAC3B,QAAgB,EAChB,OAAgB,KAAK;IAErB,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAW,EAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAC3F,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,OAAO,mBAAmB,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAChH,CAAC;IAED,MAAM,KAAK,GAAa,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC1E,MAAM,IAAI,GAAoB,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAErG,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,MAAM,GACV,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK;QAC5E,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,SAAS,IAAI,EAAE;QACjE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,KAAK,iDAAiD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAElH,OAAO;QACL,QAAQ,EAAE,GAAG,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI;QACzC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Adapter: a collapsed feed DAG → a SignalFlow document.
|
|
3
|
+
*
|
|
4
|
+
* Pure (no network, no salsa runtime — consumes the shared {@link DiagramNode} tree).
|
|
5
|
+
* Produces a SignalFlow doc object that serializes to JSON (valid YAML)
|
|
6
|
+
* for the SignalFlow renderer. SignalFlow is a replaceable rendering leaf: the render IR
|
|
7
|
+
* is the feed graph, and this converter is the only SignalFlow-shaped code.
|
|
8
|
+
*
|
|
9
|
+
* Mapping:
|
|
10
|
+
* - each collapsed node → one SignalFlow chip (`module` = `<plugin>.plugin`, `func` unique;
|
|
11
|
+
* a `×N` group is one named chip);
|
|
12
|
+
* - each anchor edge → a minted `signal` (parent `output_ports` → child `input_ports`);
|
|
13
|
+
* - each `ts` join (singletons only; groups aggregate joins away) → the node-reuse recipe:
|
|
14
|
+
* the join node is declared fully under its anchor parent and referenced *bare* under each
|
|
15
|
+
* join source, which emits the matching signal, with `chip_io.input.explicit`.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import type { DiagramNode } from './diagram.tree.js';
|
|
20
|
+
/** A SignalFlow port (forward-only: signal, no return). */
|
|
21
|
+
interface SfPort {
|
|
22
|
+
signal: string;
|
|
23
|
+
}
|
|
24
|
+
/** A SignalFlow chip node. */
|
|
25
|
+
export interface SfNode {
|
|
26
|
+
module: string;
|
|
27
|
+
func: string;
|
|
28
|
+
input_ports?: SfPort[];
|
|
29
|
+
output_ports?: SfPort[];
|
|
30
|
+
chip_io?: {
|
|
31
|
+
input: {
|
|
32
|
+
explicit: boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
calls: SfNode[];
|
|
36
|
+
}
|
|
37
|
+
/** A complete SignalFlow document. */
|
|
38
|
+
export interface SfDoc {
|
|
39
|
+
title: string;
|
|
40
|
+
config: {
|
|
41
|
+
channelWidth: number;
|
|
42
|
+
verticalChipPadding: number;
|
|
43
|
+
};
|
|
44
|
+
world: {
|
|
45
|
+
sense: string;
|
|
46
|
+
occupancy_policy: string;
|
|
47
|
+
packing_policy: string;
|
|
48
|
+
};
|
|
49
|
+
tree: SfNode;
|
|
50
|
+
}
|
|
51
|
+
/** Options for {@link signalflowDoc_build}. */
|
|
52
|
+
export interface SignalflowDocOptions {
|
|
53
|
+
subject: 'feed' | 'pipeline';
|
|
54
|
+
subjectID: number;
|
|
55
|
+
title: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Builds a SignalFlow document from the collapsed roots of a feed DAG.
|
|
59
|
+
*
|
|
60
|
+
* @param roots - Top-level collapsed nodes (feed roots, or a focused subtree).
|
|
61
|
+
* @param options - Feed id and title for the document header.
|
|
62
|
+
* @returns A SignalFlow document object (serialize to JSON for the renderer).
|
|
63
|
+
*/
|
|
64
|
+
export declare function signalflowDoc_build(roots: DiagramNode[], options: SignalflowDocOptions): SfDoc;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** Unique, human-readable chip identity for a collapsed node. */
|
|
2
|
+
function node_func(n) {
|
|
3
|
+
return n.functionName;
|
|
4
|
+
}
|
|
5
|
+
/** Signal name for the anchor edge into a node. */
|
|
6
|
+
function edge_signal(n) {
|
|
7
|
+
return `e_${n.signalName}`;
|
|
8
|
+
}
|
|
9
|
+
/** Signal name for a join edge from `source` into `join` node. */
|
|
10
|
+
function join_signal(join, source) {
|
|
11
|
+
return `j_${join.signalName}_${source.signalName}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Builds a SignalFlow document from the collapsed roots of a feed DAG.
|
|
15
|
+
*
|
|
16
|
+
* @param roots - Top-level collapsed nodes (feed roots, or a focused subtree).
|
|
17
|
+
* @param options - Feed id and title for the document header.
|
|
18
|
+
* @returns A SignalFlow document object (serialize to JSON for the renderer).
|
|
19
|
+
*/
|
|
20
|
+
export function signalflowDoc_build(roots, options) {
|
|
21
|
+
// Index every node and map member instance ids → the node that holds them (a join
|
|
22
|
+
// source may live inside a collapsed group).
|
|
23
|
+
const allNodes = [];
|
|
24
|
+
const memberToNode = new Map();
|
|
25
|
+
const collect = (n) => {
|
|
26
|
+
allNodes.push(n);
|
|
27
|
+
for (const id of n.memberIDs)
|
|
28
|
+
memberToNode.set(id, n);
|
|
29
|
+
for (const c of n.children)
|
|
30
|
+
collect(c);
|
|
31
|
+
};
|
|
32
|
+
for (const r of roots)
|
|
33
|
+
collect(r);
|
|
34
|
+
const wiring = {
|
|
35
|
+
inputSignals: new Map(),
|
|
36
|
+
bareRefs: new Map(),
|
|
37
|
+
outputSignals: new Map(),
|
|
38
|
+
};
|
|
39
|
+
const push = (m, k, v) => { m.set(k, [...(m.get(k) ?? []), v]); };
|
|
40
|
+
for (const join of allNodes) {
|
|
41
|
+
if (join.multiplicity !== 1 || join.joinParentIDs.length === 0)
|
|
42
|
+
continue;
|
|
43
|
+
for (const sourceId of join.joinParentIDs) {
|
|
44
|
+
const source = memberToNode.get(sourceId);
|
|
45
|
+
if (!source || source === join)
|
|
46
|
+
continue;
|
|
47
|
+
const sig = join_signal(join, source);
|
|
48
|
+
push(wiring.inputSignals, join, sig);
|
|
49
|
+
push(wiring.outputSignals, source, sig);
|
|
50
|
+
push(wiring.bareRefs, source, join);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const buildFull = (n, hasAnchorParent) => {
|
|
54
|
+
const func = node_func(n);
|
|
55
|
+
const inputs = [];
|
|
56
|
+
if (hasAnchorParent)
|
|
57
|
+
inputs.push({ signal: edge_signal(n) });
|
|
58
|
+
for (const sig of wiring.inputSignals.get(n) ?? [])
|
|
59
|
+
inputs.push({ signal: sig });
|
|
60
|
+
const outputs = [];
|
|
61
|
+
for (const c of n.children)
|
|
62
|
+
outputs.push({ signal: edge_signal(c) });
|
|
63
|
+
for (const sig of wiring.outputSignals.get(n) ?? [])
|
|
64
|
+
outputs.push({ signal: sig });
|
|
65
|
+
const calls = n.children.map((c) => buildFull(c, true));
|
|
66
|
+
for (const ref of wiring.bareRefs.get(n) ?? []) {
|
|
67
|
+
calls.push({ module: `${ref.pluginName}.plugin`, func: node_func(ref), calls: [] });
|
|
68
|
+
}
|
|
69
|
+
const node = { module: `${n.pluginName}.plugin`, func, calls };
|
|
70
|
+
if (inputs.length)
|
|
71
|
+
node.input_ports = inputs;
|
|
72
|
+
if (outputs.length)
|
|
73
|
+
node.output_ports = outputs;
|
|
74
|
+
if ((wiring.inputSignals.get(n) ?? []).length)
|
|
75
|
+
node.chip_io = { input: { explicit: true } };
|
|
76
|
+
return node;
|
|
77
|
+
};
|
|
78
|
+
let tree;
|
|
79
|
+
if (roots.length === 1) {
|
|
80
|
+
tree = buildFull(roots[0], false);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
tree = {
|
|
84
|
+
module: `${options.subject}.root`,
|
|
85
|
+
func: `${options.subject}_${options.subjectID}`,
|
|
86
|
+
output_ports: roots.map((r) => ({ signal: edge_signal(r) })),
|
|
87
|
+
calls: roots.map((r) => buildFull(r, true)),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
title: `${options.subject} ${options.subjectID}: ${options.title}`,
|
|
92
|
+
config: { channelWidth: 6, verticalChipPadding: 1 },
|
|
93
|
+
world: { sense: 'west_to_east', occupancy_policy: 'strip', packing_policy: 'monotone' },
|
|
94
|
+
tree,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=feed.tree.signalflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.tree.signalflow.js","sourceRoot":"","sources":["../../../src/builtins/res/feed.tree.signalflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* - `info` — show a pipeline's nodes and default parameters
|
|
7
7
|
* - `run` — instantiate a pipeline as a workflow on the current context node
|
|
8
8
|
* - `source` — display the pipeline's YAML source file
|
|
9
|
+
* - `diagram` — render the registered pipeline as a shallow tree or SignalFlow YAML
|
|
9
10
|
*
|
|
10
11
|
* Pipelines also appear as executables in `/bin` (colored distinctly from plugins)
|
|
11
12
|
* and can be invoked directly by name. `cat /bin/<name>` returns the YAML source.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CommandEnvelope } from '@fnndsc/cumin';
|
|
2
|
+
/** Pipeline diagram output mode. */
|
|
3
|
+
export type PipelineDiagramMode = 'shallow' | 'shallow-withargs' | 'signalflow';
|
|
4
|
+
/**
|
|
5
|
+
* Resolves and renders one registered pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @param specifier - Pipeline ID, full name, slug, or unambiguous search.
|
|
8
|
+
* @param mode - Shallow, shallow with arguments, or SignalFlow YAML.
|
|
9
|
+
* @returns A typed pipeline diagram command envelope.
|
|
10
|
+
*/
|
|
11
|
+
export declare function pipelineDiagram_handle(specifier: string, mode: PipelineDiagramMode): Promise<CommandEnvelope>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `pipeline diagram` rendering over the shared feed/pipeline diagram core.
|
|
3
|
+
*
|
|
4
|
+
* Registered pipeline pipings are nested without aggregation: every authored
|
|
5
|
+
* piping remains visible. Shallow output can append stored defaults; SignalFlow
|
|
6
|
+
* output serializes the same node tree as YAML.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import { dump as yamlDump } from 'js-yaml';
|
|
12
|
+
import { pipelineDiagram_get, } from '@fnndsc/salsa';
|
|
13
|
+
import { errorStack, envelope_error, envelope_ok, } from '@fnndsc/cumin';
|
|
14
|
+
import { diagramTopology_nest, diagramTree_walk, } from './diagram.tree.js';
|
|
15
|
+
import { signalflowDoc_build } from './feed.tree.signalflow.js';
|
|
16
|
+
/** Builds nested shared diagram nodes without collapsing authored pipings. */
|
|
17
|
+
function pipelineDiagramNodes_build(graph) {
|
|
18
|
+
return diagramTopology_nest(graph.nodes, graph.rootIDs, (node, children) => {
|
|
19
|
+
return {
|
|
20
|
+
memberIDs: [node.id],
|
|
21
|
+
pluginName: node.pluginName,
|
|
22
|
+
functionName: node.title,
|
|
23
|
+
signalName: `piping_${node.id}`,
|
|
24
|
+
label: `${chalk.bold(node.title)} ${chalk.yellow(node.pluginName)} ${chalk.dim(`[piping ${node.id}]`)}`,
|
|
25
|
+
multiplicity: 1,
|
|
26
|
+
hasJoin: node.joinParentIDs.length > 0,
|
|
27
|
+
joinParentIDs: node.joinParentIDs,
|
|
28
|
+
arguments: node.arguments.map((argument) => ({ ...argument })),
|
|
29
|
+
children,
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolves and renders one registered pipeline.
|
|
35
|
+
*
|
|
36
|
+
* @param specifier - Pipeline ID, full name, slug, or unambiguous search.
|
|
37
|
+
* @param mode - Shallow, shallow with arguments, or SignalFlow YAML.
|
|
38
|
+
* @returns A typed pipeline diagram command envelope.
|
|
39
|
+
*/
|
|
40
|
+
export async function pipelineDiagram_handle(specifier, mode) {
|
|
41
|
+
const result = await pipelineDiagram_get(specifier);
|
|
42
|
+
if (!result.ok) {
|
|
43
|
+
const problem = errorStack.stack_pop();
|
|
44
|
+
process.exitCode = 1;
|
|
45
|
+
return envelope_error('', undefined, `${chalk.red(problem?.message ?? 'Pipeline not found.')}\n`);
|
|
46
|
+
}
|
|
47
|
+
const graph = result.value;
|
|
48
|
+
const roots = pipelineDiagramNodes_build(graph);
|
|
49
|
+
if (mode === 'signalflow') {
|
|
50
|
+
const doc = signalflowDoc_build(roots, {
|
|
51
|
+
subject: 'pipeline',
|
|
52
|
+
subjectID: graph.pipelineID,
|
|
53
|
+
title: graph.name,
|
|
54
|
+
});
|
|
55
|
+
const yaml = yamlDump(doc, { lineWidth: -1, noRefs: true });
|
|
56
|
+
return envelope_ok(yaml, {
|
|
57
|
+
kind: 'pipeline.diagram',
|
|
58
|
+
data: { pipelineID: graph.pipelineID, name: graph.name, dialect: 'signalflow', nodes: graph.nodes.length },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const walk = diagramTree_walk(roots, 0, mode === 'shallow-withargs');
|
|
62
|
+
const header = `${chalk.bold(`pipeline ${graph.pipelineID}`)} ${chalk.gray(`"${graph.name}"`)} — ${graph.nodes.length} nodes`;
|
|
63
|
+
return envelope_ok(`${header}\n${walk.rendered}\n`, {
|
|
64
|
+
kind: 'pipeline.diagram',
|
|
65
|
+
data: { pipelineID: graph.pipelineID, name: graph.name, dialect: 'shallow', nodes: graph.nodes.length },
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=pipeline.diagram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.diagram.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.diagram.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* - `info` — show a pipeline's nodes and default parameters
|
|
7
7
|
* - `run` — instantiate a pipeline as a workflow on the current context node
|
|
8
8
|
* - `source` — display the pipeline's YAML source file
|
|
9
|
+
* - `diagram` — render the registered pipeline as a shallow tree or SignalFlow YAML
|
|
9
10
|
*
|
|
10
11
|
* Pipelines also appear as executables in `/bin` (colored distinctly from plugins)
|
|
11
12
|
* and can be invoked directly by name. `cat /bin/<name>` returns the YAML source.
|
|
@@ -20,6 +21,7 @@ import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
|
20
21
|
import { args_checkHasHelpFlag, help_render } from '../help.js';
|
|
21
22
|
import { sink_get, sink_dataLine, sink_errLine } from '../../core/sink.js';
|
|
22
23
|
import { pipelineRunArgs_parse } from './pipeline.args.js';
|
|
24
|
+
import { pipelineDiagram_handle } from './pipeline.diagram.js';
|
|
23
25
|
import { session } from '../../session/index.js';
|
|
24
26
|
/**
|
|
25
27
|
* Renders a pipeline's node structure by fetching its piping definitions.
|
|
@@ -206,6 +208,37 @@ async function pipelineInspect_handle() {
|
|
|
206
208
|
sink_dataLine(chalk.gray('No fields found.'));
|
|
207
209
|
}
|
|
208
210
|
}
|
|
211
|
+
/** Parses diagram flags while preserving every non-flag word as the search specifier. */
|
|
212
|
+
function pipelineDiagramArgs_parse(args) {
|
|
213
|
+
const words = [];
|
|
214
|
+
let withArguments = false;
|
|
215
|
+
let signalflow = false;
|
|
216
|
+
for (const argument of args.slice(1)) {
|
|
217
|
+
if (argument === '--withargs')
|
|
218
|
+
withArguments = true;
|
|
219
|
+
else if (argument === '--signalflow')
|
|
220
|
+
signalflow = true;
|
|
221
|
+
else
|
|
222
|
+
words.push(argument);
|
|
223
|
+
}
|
|
224
|
+
return { specifier: words.join(' ').trim(), withArguments, signalflow };
|
|
225
|
+
}
|
|
226
|
+
/** Handles shallow and SignalFlow pipeline diagram output. */
|
|
227
|
+
async function pipelineDiagramCommand_handle(args) {
|
|
228
|
+
const parsed = pipelineDiagramArgs_parse(args);
|
|
229
|
+
if (!parsed.specifier) {
|
|
230
|
+
process.exitCode = 1;
|
|
231
|
+
return envelope_error('', undefined, `${chalk.red('Usage: pipeline diagram [--withargs | --signalflow] <name|id>')}\n`);
|
|
232
|
+
}
|
|
233
|
+
if (parsed.withArguments && parsed.signalflow) {
|
|
234
|
+
process.exitCode = 1;
|
|
235
|
+
return envelope_error('', undefined, `${chalk.red('pipeline diagram: --withargs is only available for shallow rendering')}\n`);
|
|
236
|
+
}
|
|
237
|
+
const mode = parsed.signalflow
|
|
238
|
+
? 'signalflow'
|
|
239
|
+
: parsed.withArguments ? 'shallow-withargs' : 'shallow';
|
|
240
|
+
return pipelineDiagram_handle(parsed.specifier, mode);
|
|
241
|
+
}
|
|
209
242
|
/**
|
|
210
243
|
* Manages ChRIS pipeline registration, inspection, and execution.
|
|
211
244
|
*
|
|
@@ -218,7 +251,7 @@ export async function builtin_pipeline(args) {
|
|
|
218
251
|
const subcommand = args[0];
|
|
219
252
|
if (!subcommand) {
|
|
220
253
|
const current = await chrisContext.ChRISplugin_get();
|
|
221
|
-
sink_dataLine(chalk.gray('Usage: pipeline <list|info|run|source> [args]'));
|
|
254
|
+
sink_dataLine(chalk.gray('Usage: pipeline <list|info|run|source|diagram> [args]'));
|
|
222
255
|
if (current) {
|
|
223
256
|
sink_dataLine(chalk.gray(` Current context node: instance ${current}`));
|
|
224
257
|
}
|
|
@@ -237,6 +270,8 @@ export async function builtin_pipeline(args) {
|
|
|
237
270
|
case 'source':
|
|
238
271
|
await pipelineSource_handle(args);
|
|
239
272
|
return envelope_ok('');
|
|
273
|
+
case 'diagram':
|
|
274
|
+
return pipelineDiagramCommand_handle(args);
|
|
240
275
|
case 'inspect':
|
|
241
276
|
await pipelineInspect_handle();
|
|
242
277
|
return envelope_ok('');
|
|
@@ -244,7 +279,7 @@ export async function builtin_pipeline(args) {
|
|
|
244
279
|
return builtin_pipeline(['list', args[1] ?? '']);
|
|
245
280
|
default:
|
|
246
281
|
sink_errLine(chalk.red(`pipeline: unknown subcommand '${subcommand}'`));
|
|
247
|
-
sink_dataLine(chalk.gray(' Subcommands: list, search, inspect, info, run, source'));
|
|
282
|
+
sink_dataLine(chalk.gray(' Subcommands: list, search, inspect, info, run, source, diagram'));
|
|
248
283
|
process.exitCode = 1;
|
|
249
284
|
return envelope_error('');
|
|
250
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/builtins/res/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAEhB,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAA4B,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAO,MAOzB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,UAAU,YAAY,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QAE3C,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,aAAa,CACX,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAC1F,CAAC;QACF,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,GAA4B,MAAM,CAAC,IAAI,CAAC;YAC/C,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,MAAM,GAAW,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxG,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,MAAM,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CACX,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC9H,CAAC;IACF,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,EAAE,GAAW,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAW,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAW,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,QAAQ,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAC,WAAW;QAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,OAAO;QAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,QAAQ;QAAK,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1E,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,0BAA0B,CAAC,gBAAoC;IAC5E,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAE5D,MAAM,UAAU,GAAkB,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACxE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAW,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1B,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,UAAU,GAAG,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAc;IAC9C,MAAM,QAAQ,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAyB,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEhG,MAAM,cAAc,GAAkB,MAAM,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IACzF,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO;IAEpC,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,EAAE,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,cAAc,CAAC,KAAK,CAAC,IAAI,iBAAiB,cAAc,KAAK,CAAC,CAAC,CAAC;IAE9G,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IAChF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,EAAE,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,UAAU,cAAc,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC;IAC5G,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,IAAc;IACjD,MAAM,QAAQ,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,OAAO,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB;IACnC,MAAM,MAAM,GAAoB,MAAM,oBAAoB,EAAE,CAAC;IAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9J,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AASD,yFAAyF;AACzF,SAAS,yBAAyB,CAAC,IAAc;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAY,KAAK,CAAC;IACnC,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,IAAI,QAAQ,KAAK,YAAY;YAAE,aAAa,GAAG,IAAI,CAAC;aAC/C,IAAI,QAAQ,KAAK,cAAc;YAAE,UAAU,GAAG,IAAI,CAAC;;YACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC;AAED,8DAA8D;AAC9D,KAAK,UAAU,6BAA6B,CAAC,IAAc;IACzD,MAAM,MAAM,GAAwB,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,IAAI,CAAC,CAAC;IAC1H,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,IAAI,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,IAAI,GAAwB,MAAM,CAAC,UAAU;QACjD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,OAAO,sBAAsB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAkB,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;QACpE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACnF,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,MAAM;YACT,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,KAAK;YACR,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,QAAQ;YACX,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,MAAM,sBAAsB,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD;YACE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,UAAU,GAAG,CAAC,CAAC,CAAC;YACxE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
package/dist/core/dispatch.js
CHANGED
|
@@ -229,23 +229,36 @@ export function command_timingMaybePrint(startTime, enabled) {
|
|
|
229
229
|
/**
|
|
230
230
|
* Handles a pipeline name invoked directly as an executable from /bin.
|
|
231
231
|
* Routes flag combinations to the appropriate pipeline subcommand:
|
|
232
|
+
* --diagram → pipeline diagram (preserving renderer flags)
|
|
232
233
|
* --nodes / --parameters → pipeline info
|
|
233
234
|
* --source / --readme → pipeline source
|
|
234
235
|
* (bare or --compute) → pipeline run
|
|
235
236
|
*
|
|
236
237
|
* @param name - The pipeline name as typed.
|
|
237
238
|
* @param args - Arguments following the pipeline name.
|
|
239
|
+
* @returns The pipeline builtin's envelope, preserving diagram models and text.
|
|
238
240
|
*/
|
|
239
241
|
async function pipelineExecutable_handle(name, args) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
+
const exitCodeBefore = exitCode_read();
|
|
243
|
+
let envelope;
|
|
244
|
+
if (args.includes('--diagram')) {
|
|
245
|
+
const diagramArgs = args.filter((argument) => argument !== '--diagram');
|
|
246
|
+
envelope = await builtin_pipeline(['diagram', name, ...diagramArgs]);
|
|
247
|
+
}
|
|
248
|
+
else if (args.includes('--nodes') || args.includes('--parameters')) {
|
|
249
|
+
envelope = await builtin_pipeline(['info', name]);
|
|
242
250
|
}
|
|
243
251
|
else if (args.includes('--source') || args.includes('--readme')) {
|
|
244
|
-
await builtin_pipeline(['source', name]);
|
|
252
|
+
envelope = await builtin_pipeline(['source', name]);
|
|
245
253
|
}
|
|
246
254
|
else {
|
|
247
|
-
await builtin_pipeline(['run', name, ...args]);
|
|
255
|
+
envelope = await builtin_pipeline(['run', name, ...args]);
|
|
248
256
|
}
|
|
257
|
+
const result = envelope ?? { status: 'ok', rendered: '' };
|
|
258
|
+
const exitCodeAfter = exitCode_read();
|
|
259
|
+
if (exitCodeAfter !== 0 && exitCodeAfter !== exitCodeBefore)
|
|
260
|
+
result.status = 'error';
|
|
261
|
+
return result;
|
|
249
262
|
}
|
|
250
263
|
/**
|
|
251
264
|
* Expands `$NAME` and `${NAME}` environment references in one token.
|
|
@@ -377,7 +390,9 @@ async function commandDispatchEnvelope_run(command, args) {
|
|
|
377
390
|
return handler_runDirect((pluginArgs) => builtin_executePlugin(command, pluginArgs), args);
|
|
378
391
|
}
|
|
379
392
|
if (pipelineItem) {
|
|
380
|
-
|
|
393
|
+
const envelope = await pipelineExecutable_handle(command, args);
|
|
394
|
+
envelope_deliver(envelope);
|
|
395
|
+
return envelope;
|
|
381
396
|
}
|
|
382
397
|
}
|
|
383
398
|
// Unknown commands are guarded, then delegated to chili — its output is
|