@burdenoff/fluidgrids-fe-sdk 2026.1108.1 → 2026.1108.2
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/{ExecutionDetailPage-STW6RPK6.js → ExecutionDetailPage-PY5OE2RJ.js} +15 -14
- package/dist/{ExecutionsListPage-753XDOTM.js → ExecutionsListPage-LKNYPXNZ.js} +11 -10
- package/dist/{TemplateDetailPanel-ZTYXKWRI.js → TemplateDetailPanel-5WY75DVB.js} +1 -1
- package/dist/{WorkflowBuilder-HY3PZZVD.js → WorkflowBuilder-YFPBMOWZ.js} +16 -16
- package/dist/{WorkflowsList-YFDT7ZPX.js → WorkflowsList-TETNEMYP.js} +10 -10
- package/dist/{agentTools-3UQNOO7V.js → agentTools-BW2XMHRV.js} +6 -6
- package/dist/{chunk-KE677WYY.js → chunk-2CXUTQUH.js} +1 -1
- package/dist/{chunk-H4ERTSMX.js → chunk-2VSYOGNI.js} +1948 -35
- package/dist/{chunk-NZMUKAXG.js → chunk-54NXUOHI.js} +1 -1
- package/dist/{chunk-YQOXXM5V.js → chunk-62RJORF7.js} +4 -4
- package/dist/{chunk-26GYGAC5.js → chunk-66AKFXP7.js} +15 -15
- package/dist/{chunk-47OW3OM5.js → chunk-7SSMRID2.js} +5 -5
- package/dist/{chunk-I23KAUR6.js → chunk-7XW6BC4B.js} +1 -1
- package/dist/{chunk-5375NUIO.js → chunk-AR22A74Y.js} +11 -0
- package/dist/{chunk-QHRRYTOL.js → chunk-D5Y3DHGJ.js} +1 -1
- package/dist/{chunk-JXJ2DESW.js → chunk-DG4UO5OY.js} +5 -5
- package/dist/{chunk-NMYENCP2.js → chunk-E7KIH3CF.js} +1 -1
- package/dist/{chunk-5OVWMFPL.js → chunk-GI6BQIQA.js} +124 -42
- package/dist/{chunk-Z3ABLERJ.js → chunk-GOZR72NK.js} +64 -1
- package/dist/{chunk-KHS2DZHH.js → chunk-HICQ4J4W.js} +1 -1
- package/dist/chunk-HPNZ3PYU.js +1448 -0
- package/dist/{chunk-F522K3P5.js → chunk-HQSSW7K3.js} +8 -8
- package/dist/{chunk-63X5ORDO.js → chunk-HSOSMPRC.js} +1 -1
- package/dist/{chunk-JRSCUUBT.js → chunk-IPJV2IOH.js} +1 -1
- package/dist/{chunk-HPYXHIRI.js → chunk-IWLNBDR2.js} +5 -5
- package/dist/{chunk-3QV3L3YY.js → chunk-IZOPKR64.js} +3 -3
- package/dist/{chunk-2CM26W2I.js → chunk-JRR4VKYD.js} +95 -6
- package/dist/{chunk-4OZISYDF.js → chunk-JSJSBB76.js} +2 -2
- package/dist/{chunk-PF7XQA2S.js → chunk-KJB3WZVD.js} +2 -2
- package/dist/{chunk-OHKSDHNC.js → chunk-L7PHZ7RY.js} +2 -2
- package/dist/{chunk-HRZMKJEC.js → chunk-LOMLLWHD.js} +705 -12
- package/dist/{chunk-XAXZ4T6H.js → chunk-MYPB2KTJ.js} +13 -6
- package/dist/{chunk-TKHW2G7O.js → chunk-N2QXEV5Y.js} +7 -7
- package/dist/{chunk-EXJW7EKR.js → chunk-OJHBCOBA.js} +164 -1
- package/dist/{chunk-ZKRDO4IG.js → chunk-POYMF7L6.js} +1 -1
- package/dist/{chunk-WX5BNZVX.js → chunk-RNYFPG7R.js} +4 -4
- package/dist/{chunk-PASKZCII.js → chunk-TN3NGTF7.js} +3 -3
- package/dist/{chunk-TYE252O5.js → chunk-VH3EET6H.js} +2 -2
- package/dist/{chunk-UZJKX5FN.js → chunk-X3F5IQBP.js} +5 -3
- package/dist/chunk-YASVILWQ.js +398 -0
- package/dist/{chunk-36TEHKVN.js → chunk-ZHXJYOOG.js} +2115 -25
- package/dist/executions.js +16 -15
- package/dist/history.js +8 -8
- package/dist/index.d.ts +15456 -235
- package/dist/index.js +1057 -55
- package/dist/{node-detail-view-GFC3UDYD.js → node-detail-view-BGWKE6KW.js} +489 -21
- package/dist/nodes.js +2 -2
- package/dist/observability.js +8 -8
- package/dist/{quick-config-panel-6XUUXIHX.js → quick-config-panel-67BU4I23.js} +8 -8
- package/dist/settings.js +10 -8
- package/dist/templates.js +15 -15
- package/dist/workflow-builder.js +17 -17
- package/dist/workflow-preview.js +2 -2
- package/dist/workflows-list.js +10 -10
- package/package.json +2 -2
- package/dist/chunk-ODWKSYMZ.js +0 -529
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-
|
|
2
|
-
import { TerminateWorkflowRunDocument, WorkflowRunHistoryDocument, RunEventAppendedDocument, DurableRunFieldsDocument, WorkflowRunDeterminismStatusDocument, WorkflowRunStackTraceDocument, SignalWorkflowRunDocument } from './chunk-
|
|
1
|
+
import { signalPayloadCard, components_default, payloadFromCardValues, parseRawSignalPayload } from './chunk-GI6BQIQA.js';
|
|
2
|
+
import { TerminateWorkflowRunDocument, WorkflowRunHistoryDocument, RunEventAppendedDocument, DurableRunFieldsDocument, WorkflowRunDeterminismStatusDocument, WorkflowRunStackTraceDocument, SignalWorkflowRunDocument } from './chunk-GOZR72NK.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
4
|
import { getFluidGridsClient, getFluidGridsClientSafe } from './chunk-PDODDDHY.js';
|
|
5
5
|
import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -380,6 +380,8 @@ function RunHistoryView({
|
|
|
380
380
|
defaultShowTasks = false,
|
|
381
381
|
compact = false,
|
|
382
382
|
showBenign = false,
|
|
383
|
+
renderPayload,
|
|
384
|
+
eventActions,
|
|
383
385
|
"data-testid": testId = "run-history"
|
|
384
386
|
}) {
|
|
385
387
|
const tr = useTr();
|
|
@@ -463,7 +465,9 @@ function RunHistoryView({
|
|
|
463
465
|
onViewChildRun,
|
|
464
466
|
compact,
|
|
465
467
|
benign: showBenign && group.failure?.benign === true,
|
|
466
|
-
statusLabel: tr(...STATUS_LABEL[group.status])
|
|
468
|
+
statusLabel: tr(...STATUS_LABEL[group.status]),
|
|
469
|
+
renderPayload,
|
|
470
|
+
eventActions
|
|
467
471
|
},
|
|
468
472
|
group.key
|
|
469
473
|
)) })
|
|
@@ -476,7 +480,9 @@ function HistoryRow({
|
|
|
476
480
|
onViewChildRun,
|
|
477
481
|
compact,
|
|
478
482
|
benign,
|
|
479
|
-
statusLabel
|
|
483
|
+
statusLabel,
|
|
484
|
+
renderPayload,
|
|
485
|
+
eventActions
|
|
480
486
|
}) {
|
|
481
487
|
const tr = useTr();
|
|
482
488
|
return /* @__PURE__ */ jsxs(
|
|
@@ -571,7 +577,8 @@ function HistoryRow({
|
|
|
571
577
|
event.seq
|
|
572
578
|
] }),
|
|
573
579
|
/* @__PURE__ */ jsx("span", { className: "text-text-primary", children: event.type }),
|
|
574
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto", children: formatTime(event.createdAt) })
|
|
580
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto", children: formatTime(event.createdAt) }),
|
|
581
|
+
eventActions?.(event)
|
|
575
582
|
] }),
|
|
576
583
|
isHttpsUrl(event.payloadUrl) ? /* @__PURE__ */ jsx(
|
|
577
584
|
"a",
|
|
@@ -585,7 +592,7 @@ function HistoryRow({
|
|
|
585
592
|
"Download payload"
|
|
586
593
|
)
|
|
587
594
|
}
|
|
588
|
-
) : event.payload && Object.keys(event.payload).length > 0 ? /* @__PURE__ */ jsx("pre", { className: "mt-1 max-h-48 overflow-auto whitespace-pre-wrap break-words rounded bg-background-secondary p-2 font-mono text-text-primary", children: JSON.stringify(event.payload, null, 2) }) : null
|
|
595
|
+
) : event.payload && Object.keys(event.payload).length > 0 && renderPayload ? renderPayload(event) : event.payload && Object.keys(event.payload).length > 0 ? /* @__PURE__ */ jsx("pre", { className: "mt-1 max-h-48 overflow-auto whitespace-pre-wrap break-words rounded bg-background-secondary p-2 font-mono text-text-primary", children: JSON.stringify(event.payload, null, 2) }) : null
|
|
589
596
|
] }, event.seq))
|
|
590
597
|
] })
|
|
591
598
|
]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-
|
|
1
|
+
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-7XW6BC4B.js';
|
|
2
2
|
import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
|
|
3
|
-
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-
|
|
4
|
-
import { canvasFromDefinition } from './chunk-
|
|
5
|
-
import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-
|
|
6
|
-
import { refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-
|
|
7
|
-
import { useFlowStore, mergeStickyNotes } from './chunk-
|
|
8
|
-
import { WorkflowDefinitionDocument } from './chunk-
|
|
3
|
+
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-66AKFXP7.js';
|
|
4
|
+
import { canvasFromDefinition } from './chunk-2CXUTQUH.js';
|
|
5
|
+
import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-KJB3WZVD.js';
|
|
6
|
+
import { refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-GI6BQIQA.js';
|
|
7
|
+
import { useFlowStore, mergeStickyNotes } from './chunk-X3F5IQBP.js';
|
|
8
|
+
import { WorkflowDefinitionDocument } from './chunk-GOZR72NK.js';
|
|
9
9
|
import { useTr } from './chunk-UULVIT25.js';
|
|
10
10
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
11
11
|
import { throwIfResultError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1198,4 +1198,167 @@ function ActionPoliciesTab() {
|
|
|
1198
1198
|
] });
|
|
1199
1199
|
}
|
|
1200
1200
|
|
|
1201
|
-
|
|
1201
|
+
// src/modules/run-control/utils/codec-client.ts
|
|
1202
|
+
var ENCODED_KEYS = /* @__PURE__ */ new Set([
|
|
1203
|
+
"$fgp",
|
|
1204
|
+
"encoding",
|
|
1205
|
+
"metadata",
|
|
1206
|
+
"data"
|
|
1207
|
+
]);
|
|
1208
|
+
var BASE64 = /^[A-Za-z0-9+/]*={0,2}$/;
|
|
1209
|
+
function isEncodedPayload(value) {
|
|
1210
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
1211
|
+
return false;
|
|
1212
|
+
const entries = Object.entries(value);
|
|
1213
|
+
if (!entries.every(([key]) => ENCODED_KEYS.has(key))) return false;
|
|
1214
|
+
const record = Object.fromEntries(entries);
|
|
1215
|
+
if (record["$fgp"] !== 1) return false;
|
|
1216
|
+
const encoding = record["encoding"];
|
|
1217
|
+
if (typeof encoding !== "string" || !encoding || encoding === "json/plain")
|
|
1218
|
+
return false;
|
|
1219
|
+
const data = record["data"];
|
|
1220
|
+
if (typeof data !== "string" || data.length % 4 !== 0 || !BASE64.test(data))
|
|
1221
|
+
return false;
|
|
1222
|
+
const metadata = record["metadata"];
|
|
1223
|
+
if (metadata === void 0) return true;
|
|
1224
|
+
if (typeof metadata !== "object" || metadata === null || Array.isArray(metadata))
|
|
1225
|
+
return false;
|
|
1226
|
+
return Object.values(metadata).every((entry) => typeof entry === "string");
|
|
1227
|
+
}
|
|
1228
|
+
function containsEncodedPayload(value, depth = 0) {
|
|
1229
|
+
if (depth > 32) return false;
|
|
1230
|
+
if (isEncodedPayload(value)) return true;
|
|
1231
|
+
if (Array.isArray(value))
|
|
1232
|
+
return value.some((item) => containsEncodedPayload(item, depth + 1));
|
|
1233
|
+
if (typeof value === "object" && value !== null)
|
|
1234
|
+
return Object.values(value).some(
|
|
1235
|
+
(item) => containsEncodedPayload(item, depth + 1)
|
|
1236
|
+
);
|
|
1237
|
+
return false;
|
|
1238
|
+
}
|
|
1239
|
+
function encodedPayloadBytes(payload) {
|
|
1240
|
+
const padding = payload.data.endsWith("==") ? 2 : payload.data.endsWith("=") ? 1 : 0;
|
|
1241
|
+
return Math.max(0, payload.data.length / 4 * 3 - padding);
|
|
1242
|
+
}
|
|
1243
|
+
function toBase64(text) {
|
|
1244
|
+
const bytes = new TextEncoder().encode(text);
|
|
1245
|
+
let binary = "";
|
|
1246
|
+
for (const byte of bytes) binary += String.fromCharCode(byte);
|
|
1247
|
+
return btoa(binary);
|
|
1248
|
+
}
|
|
1249
|
+
function fromBase64(value) {
|
|
1250
|
+
const binary = atob(value);
|
|
1251
|
+
const bytes = new Uint8Array(binary.length);
|
|
1252
|
+
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
|
|
1253
|
+
return new TextDecoder().decode(bytes);
|
|
1254
|
+
}
|
|
1255
|
+
function checkCodecServerUrl(value) {
|
|
1256
|
+
let url;
|
|
1257
|
+
try {
|
|
1258
|
+
url = new URL(value.trim());
|
|
1259
|
+
} catch {
|
|
1260
|
+
return { ok: false, reason: "invalid" };
|
|
1261
|
+
}
|
|
1262
|
+
if (url.username || url.password) return { ok: false, reason: "invalid" };
|
|
1263
|
+
if (url.protocol === "https:") return { ok: true, url };
|
|
1264
|
+
if (url.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname))
|
|
1265
|
+
return { ok: true, url };
|
|
1266
|
+
return {
|
|
1267
|
+
ok: false,
|
|
1268
|
+
reason: url.protocol === "http:" ? "insecure" : "invalid"
|
|
1269
|
+
};
|
|
1270
|
+
}
|
|
1271
|
+
function codecServerErrorMessage(code, params) {
|
|
1272
|
+
switch (code) {
|
|
1273
|
+
case "invalidUrl":
|
|
1274
|
+
return "The codec server URL must be https (or http to localhost).";
|
|
1275
|
+
case "unreachable":
|
|
1276
|
+
return `The codec server could not be reached: ${params.detail ?? ""}`;
|
|
1277
|
+
case "http":
|
|
1278
|
+
return `The codec server answered HTTP ${params.status ?? 0}.`;
|
|
1279
|
+
case "notPayloadList":
|
|
1280
|
+
return "The codec server's answer is not a list of payloads.";
|
|
1281
|
+
case "notJson":
|
|
1282
|
+
return "The codec server returned a payload that is not JSON.";
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
var CodecServerError = class extends Error {
|
|
1286
|
+
code;
|
|
1287
|
+
params;
|
|
1288
|
+
constructor(code, params = {}) {
|
|
1289
|
+
super(codecServerErrorMessage(code, params));
|
|
1290
|
+
this.name = "CodecServerError";
|
|
1291
|
+
this.code = code;
|
|
1292
|
+
this.params = params;
|
|
1293
|
+
}
|
|
1294
|
+
};
|
|
1295
|
+
function toTemporal(payload) {
|
|
1296
|
+
const metadata = {
|
|
1297
|
+
encoding: toBase64(payload.encoding)
|
|
1298
|
+
};
|
|
1299
|
+
for (const [key, value] of Object.entries(payload.metadata ?? {}))
|
|
1300
|
+
if (key !== "encoding") metadata[key] = toBase64(value);
|
|
1301
|
+
return { metadata, data: payload.data };
|
|
1302
|
+
}
|
|
1303
|
+
function fromTemporal(payload) {
|
|
1304
|
+
const metadata = payload.metadata ?? {};
|
|
1305
|
+
const encoding = metadata["encoding"] ? fromBase64(metadata["encoding"]) : "json/plain";
|
|
1306
|
+
const data = payload.data ?? "";
|
|
1307
|
+
if (encoding === "json/plain") {
|
|
1308
|
+
const text = data ? fromBase64(data) : "";
|
|
1309
|
+
return text ? JSON.parse(text) : null;
|
|
1310
|
+
}
|
|
1311
|
+
const rest = {};
|
|
1312
|
+
for (const [key, value] of Object.entries(metadata))
|
|
1313
|
+
if (key !== "encoding") rest[key] = fromBase64(value);
|
|
1314
|
+
const still = { $fgp: 1, encoding, data };
|
|
1315
|
+
if (Object.keys(rest).length > 0) still.metadata = rest;
|
|
1316
|
+
return still;
|
|
1317
|
+
}
|
|
1318
|
+
function isTemporalPayloadList(value) {
|
|
1319
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1320
|
+
const payloads = Reflect.get(value, "payloads");
|
|
1321
|
+
return Array.isArray(payloads) && payloads.every(
|
|
1322
|
+
(item) => typeof item === "object" && item !== null && !Array.isArray(item)
|
|
1323
|
+
);
|
|
1324
|
+
}
|
|
1325
|
+
async function decodePayloads(server, payloads, fetchImpl = fetch) {
|
|
1326
|
+
const checked = checkCodecServerUrl(server.url);
|
|
1327
|
+
if (!checked.ok) throw new CodecServerError("invalidUrl");
|
|
1328
|
+
const endpoint = new URL(
|
|
1329
|
+
`${checked.url.pathname.replace(/\/+$/, "")}/decode`,
|
|
1330
|
+
checked.url
|
|
1331
|
+
);
|
|
1332
|
+
let response;
|
|
1333
|
+
try {
|
|
1334
|
+
response = await fetchImpl(endpoint.toString(), {
|
|
1335
|
+
method: "POST",
|
|
1336
|
+
mode: "cors",
|
|
1337
|
+
credentials: server.includeCredentials ? "include" : "omit",
|
|
1338
|
+
referrerPolicy: "no-referrer",
|
|
1339
|
+
headers: { "content-type": "application/json" },
|
|
1340
|
+
body: JSON.stringify({ payloads: payloads.map(toTemporal) })
|
|
1341
|
+
});
|
|
1342
|
+
} catch (error) {
|
|
1343
|
+
throw new CodecServerError("unreachable", {
|
|
1344
|
+
detail: error instanceof Error ? error.message : String(error)
|
|
1345
|
+
});
|
|
1346
|
+
}
|
|
1347
|
+
if (!response.ok)
|
|
1348
|
+
throw new CodecServerError("http", { status: response.status });
|
|
1349
|
+
let body;
|
|
1350
|
+
try {
|
|
1351
|
+
body = await response.json();
|
|
1352
|
+
} catch {
|
|
1353
|
+
throw new CodecServerError("notPayloadList");
|
|
1354
|
+
}
|
|
1355
|
+
if (!isTemporalPayloadList(body) || body.payloads.length !== payloads.length)
|
|
1356
|
+
throw new CodecServerError("notPayloadList");
|
|
1357
|
+
try {
|
|
1358
|
+
return body.payloads.map(fromTemporal);
|
|
1359
|
+
} catch {
|
|
1360
|
+
throw new CodecServerError("notJson");
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
export { ActionPoliciesTab, CodecServerError, RunPolicyDecisions, checkCodecServerUrl, containsEncodedPayload, decodePayloads, encodedPayloadBytes, isEncodedPayload, useRunPolicyDecisions };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LOG_STREAM_DESTINATIONS, CREATE_LOG_STREAM_DESTINATION, UPDATE_LOG_STREAM_DESTINATION, DELETE_LOG_STREAM_DESTINATION, TEST_LOG_STREAM_DESTINATION, REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS, OBSERVABILITY_DASHBOARD_SUMMARY, OBSERVABILITY_FAILED_RUNS, OBSERVABILITY_DATA_SINKS, OBSERVABILITY_DATA_SINK_DATA } from './chunk-5ERAJC2I.js';
|
|
2
|
-
import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-
|
|
2
|
+
import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt, useFluidGridsFlag, FLUIDGRIDS_FLAGS } from './chunk-GI6BQIQA.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
4
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
5
5
|
import { throwIfResultError, describeOperationError, emitFluidGridsEvent } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-
|
|
1
|
+
import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-JRR4VKYD.js';
|
|
2
2
|
import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
|
|
3
|
-
import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-
|
|
3
|
+
import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-HICQ4J4W.js';
|
|
4
4
|
import { executionsControls } from './chunk-FNZZ5JJL.js';
|
|
5
5
|
import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
6
|
-
import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-
|
|
7
|
-
import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-
|
|
6
|
+
import { useDurableParityEnabled, formatElapsedMs, runDurationMs, nodeStateDurationMs } from './chunk-GI6BQIQA.js';
|
|
7
|
+
import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-GOZR72NK.js';
|
|
8
8
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
9
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
10
10
|
import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { operatorSpec, normaliseAssertRules, describeAssertRuleProblem } from './chunk-JDLQ6QIB.js';
|
|
2
|
-
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-
|
|
2
|
+
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-HICQ4J4W.js';
|
|
3
3
|
import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
4
|
-
import { ErrorType } from './chunk-
|
|
5
|
-
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, WorkflowTestCasesDocument, WorkflowTestRunsDocument, WorkflowTestRunDocument, CreateWorkflowTestCaseDocument, UpdateWorkflowTestCaseDocument, DeleteWorkflowTestCaseDocument, RunWorkflowTestsDocument, CreateWorkflowTestCaseFromRunDocument } from './chunk-
|
|
4
|
+
import { ErrorType } from './chunk-2VSYOGNI.js';
|
|
5
|
+
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, WorkflowTestCasesDocument, WorkflowTestRunsDocument, WorkflowTestRunDocument, CreateWorkflowTestCaseDocument, UpdateWorkflowTestCaseDocument, DeleteWorkflowTestCaseDocument, RunWorkflowTestsDocument, CreateWorkflowTestCaseFromRunDocument } from './chunk-GOZR72NK.js';
|
|
6
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
7
7
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
8
8
|
import { throwIfResultError, isForbiddenError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { versionsOfWorkflow, VersionDiffDialog } from './chunk-
|
|
1
|
+
import { versionsOfWorkflow, VersionDiffDialog } from './chunk-L7PHZ7RY.js';
|
|
2
2
|
import { historyControls } from './chunk-FNZZ5JJL.js';
|
|
3
|
-
import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-
|
|
3
|
+
import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-KJB3WZVD.js';
|
|
4
4
|
import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
5
5
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
6
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
@@ -1442,9 +1442,11 @@ function sourceLanguageOf(path) {
|
|
|
1442
1442
|
if (/\.json$/.test(path)) return "json";
|
|
1443
1443
|
return "text";
|
|
1444
1444
|
}
|
|
1445
|
-
function isEditableSourcePath(path) {
|
|
1445
|
+
function isEditableSourcePath(path, { python = false } = {}) {
|
|
1446
1446
|
if (path.startsWith(".fluidgrids/")) return false;
|
|
1447
1447
|
const language = sourceLanguageOf(path);
|
|
1448
|
+
if (language === "python")
|
|
1449
|
+
return python && !path.startsWith("_vendor/") && !path.includes("/_vendor/");
|
|
1448
1450
|
return language === "typescript" || language === "json";
|
|
1449
1451
|
}
|
|
1450
1452
|
function projectLanguage(files) {
|
|
@@ -1458,10 +1460,10 @@ function changedSourceFiles(loaded, current) {
|
|
|
1458
1460
|
return now !== void 0 && now !== file.content;
|
|
1459
1461
|
}).map((file) => ({ path: file.path, content: current[file.path] })).sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
1460
1462
|
}
|
|
1461
|
-
function defaultSourcePath(files, entry) {
|
|
1463
|
+
function defaultSourcePath(files, entry, options = {}) {
|
|
1462
1464
|
if (entry && files.some((file) => file.path === entry)) return entry;
|
|
1463
1465
|
return files.find(
|
|
1464
|
-
(file) => file.path.startsWith("workflows/") && isEditableSourcePath(file.path)
|
|
1466
|
+
(file) => file.path.startsWith("workflows/") && isEditableSourcePath(file.path, options)
|
|
1465
1467
|
)?.path ?? files[0]?.path;
|
|
1466
1468
|
}
|
|
1467
1469
|
function diagnosticsByPath(diagnostics) {
|