orionfold-relay 0.29.0 → 0.29.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/cli.js
CHANGED
|
@@ -25941,8 +25941,8 @@ import { execFileSync as execFileSync3 } from "child_process";
|
|
|
25941
25941
|
import yaml12 from "js-yaml";
|
|
25942
25942
|
import semver from "semver";
|
|
25943
25943
|
function relayCoreVersion() {
|
|
25944
|
-
if (semver.valid("0.29.
|
|
25945
|
-
return "0.29.
|
|
25944
|
+
if (semver.valid("0.29.1")) {
|
|
25945
|
+
return "0.29.1";
|
|
25946
25946
|
}
|
|
25947
25947
|
try {
|
|
25948
25948
|
const root = getAppRoot(import.meta.dirname, 3);
|
package/package.json
CHANGED
|
@@ -113,6 +113,33 @@ export function RunnableBlueprintCard({
|
|
|
113
113
|
runCount30d,
|
|
114
114
|
}: RunnableBlueprintCardProps) {
|
|
115
115
|
const isRowInsert = card.trigger?.kind === "row-insert";
|
|
116
|
+
|
|
117
|
+
// #31: an unresolved card is a husk — the registry had no definition for this
|
|
118
|
+
// blueprint id, so `name` is the raw id and a Run button would fail downstream
|
|
119
|
+
// at /instantiate. Surface the failure honestly (principle #1) rather than
|
|
120
|
+
// rendering a fake action. `=== false` so a legacy card lacking the flag still
|
|
121
|
+
// renders normally.
|
|
122
|
+
if (card.resolved === false) {
|
|
123
|
+
return (
|
|
124
|
+
<Card className="surface-card border-destructive/30">
|
|
125
|
+
<CardHeader className="pb-2 space-y-1.5">
|
|
126
|
+
<CardTitle className="text-sm font-medium text-muted-foreground">
|
|
127
|
+
{card.name}
|
|
128
|
+
</CardTitle>
|
|
129
|
+
</CardHeader>
|
|
130
|
+
<CardContent>
|
|
131
|
+
<p className="flex items-start gap-1.5 text-xs text-muted-foreground">
|
|
132
|
+
<AlertCircle className="h-3.5 w-3.5 shrink-0 mt-px text-destructive" />
|
|
133
|
+
<span>
|
|
134
|
+
This workflow couldn't load. Its definition wasn't
|
|
135
|
+
found. Reinstall the pack to restore it.
|
|
136
|
+
</span>
|
|
137
|
+
</p>
|
|
138
|
+
</CardContent>
|
|
139
|
+
</Card>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
116
143
|
return (
|
|
117
144
|
<Card
|
|
118
145
|
className={
|
|
@@ -682,6 +682,10 @@ async function loadBlueprintCards(
|
|
|
682
682
|
variables: def?.variables ?? [],
|
|
683
683
|
trigger,
|
|
684
684
|
isPrimary: stub.id === primaryBlueprintId,
|
|
685
|
+
// #31: a definition-less card is a husk (raw id, no variables). Flag it so
|
|
686
|
+
// the card renders an explicit "couldn't load" state instead of a fake Run
|
|
687
|
+
// button that would fail downstream at /instantiate (principle #1).
|
|
688
|
+
resolved: def != null,
|
|
685
689
|
};
|
|
686
690
|
});
|
|
687
691
|
}
|
|
@@ -160,6 +160,15 @@ export interface BlueprintCard {
|
|
|
160
160
|
trigger: { kind: "row-insert"; table: string; tableName: string } | null;
|
|
161
161
|
/** The recommended first workflow, rendered with a "Start here" flag. */
|
|
162
162
|
isPrimary: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Whether the blueprint DEFINITION was resolved from the registry at
|
|
165
|
+
* enrichment time. `false` = the registry had no definition for this id (the
|
|
166
|
+
* files never reached the scanned dir, or the registry import failed), so
|
|
167
|
+
* `name` fell back to the raw id and there are no `variables`/`description`.
|
|
168
|
+
* The card renders an explicit "couldn't load" state instead of a fake Run
|
|
169
|
+
* button that would fail downstream at /instantiate (#31, principle #1).
|
|
170
|
+
*/
|
|
171
|
+
resolved: boolean;
|
|
163
172
|
}
|
|
164
173
|
|
|
165
174
|
/** Phase 2: minimal task summary used by Workflow Hub's secondary + activity. */
|