@burdenoff/fluidgrids-fe-sdk 2026.1110.7 → 2026.1110.8
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/{WorkflowBuilder-AOWQJ6OS.js → WorkflowBuilder-XF6VBYZB.js} +4 -4
- package/dist/{chunk-MWZFI4ZK.js → chunk-4FDWZFBP.js} +1 -1
- package/dist/{chunk-CVTQYGJD.js → chunk-CRLEVO22.js} +279 -17
- package/dist/{chunk-VVJRZM6D.js → chunk-KQ43EVRO.js} +1 -1
- package/dist/{chunk-GC73RBYI.js → chunk-TIUSQ6MW.js} +1 -1
- package/dist/{chunk-IK7BHEVM.js → chunk-TNFMGVWW.js} +4 -4
- package/dist/{chunk-HONN7S5R.js → chunk-YGWPVIGB.js} +1 -1
- package/dist/index.js +11 -11
- package/dist/{node-detail-view-3M2UBEWP.js → node-detail-view-VF6UTUBV.js} +1 -1
- package/dist/{quick-config-panel-MKCY2UG3.js → quick-config-panel-YX7UGEBR.js} +2 -2
- package/dist/templates.js +4 -4
- package/dist/workflow-builder.js +5 -5
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-KQ43EVRO.js';
|
|
2
2
|
import './chunk-NRI7AUBH.js';
|
|
3
3
|
import './chunk-PIKYQE7P.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-TNFMGVWW.js';
|
|
5
5
|
import './chunk-JNSHR2J2.js';
|
|
6
6
|
import './chunk-GEMNVFPK.js';
|
|
7
7
|
import './chunk-B6CCE2RW.js';
|
|
@@ -9,8 +9,8 @@ import './chunk-IEVSFCFS.js';
|
|
|
9
9
|
import './chunk-YXMFRQYV.js';
|
|
10
10
|
import './chunk-TFCIZFDM.js';
|
|
11
11
|
import './chunk-QUYK5PAZ.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
12
|
+
import './chunk-4FDWZFBP.js';
|
|
13
|
+
import './chunk-CRLEVO22.js';
|
|
14
14
|
import './chunk-LSRF7JLO.js';
|
|
15
15
|
import './chunk-KZCNJAMK.js';
|
|
16
16
|
import './chunk-NK7IQUZF.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TabButton, ReadOnlyFieldset, NodeSettingsPanel, NodeParamsForm, SchedulePanel, SCHEDULE_NODE_TYPE } from './chunk-
|
|
1
|
+
import { TabButton, ReadOnlyFieldset, NodeSettingsPanel, NodeParamsForm, SchedulePanel, SCHEDULE_NODE_TYPE } from './chunk-CRLEVO22.js';
|
|
2
2
|
import { nodeTitle, FieldTree } from './chunk-LSRF7JLO.js';
|
|
3
3
|
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-ERT444RG.js';
|
|
4
4
|
import { usePhaseCFlags } from './chunk-X7LWPPVE.js';
|
|
@@ -748,8 +748,8 @@ function useWebhookTestListener(target, onReceived) {
|
|
|
748
748
|
var SECTION_LABEL2 = "text-[11px] font-semibold uppercase tracking-[0.12em] text-muted-foreground";
|
|
749
749
|
function isSafeHttpUrl(value) {
|
|
750
750
|
try {
|
|
751
|
-
const
|
|
752
|
-
return
|
|
751
|
+
const parsed2 = new URL(value);
|
|
752
|
+
return parsed2.protocol === "https:" || parsed2.protocol === "http:";
|
|
753
753
|
} catch {
|
|
754
754
|
return false;
|
|
755
755
|
}
|
|
@@ -2263,8 +2263,8 @@ function toNumber(value) {
|
|
|
2263
2263
|
if (typeof value === "string") {
|
|
2264
2264
|
const trimmed = value.trim();
|
|
2265
2265
|
if (trimmed === "") return void 0;
|
|
2266
|
-
const
|
|
2267
|
-
return Number.isFinite(
|
|
2266
|
+
const parsed2 = Number(trimmed);
|
|
2267
|
+
return Number.isFinite(parsed2) ? parsed2 : void 0;
|
|
2268
2268
|
}
|
|
2269
2269
|
return void 0;
|
|
2270
2270
|
}
|
|
@@ -2983,12 +2983,12 @@ function AssertRulesEditor({
|
|
|
2983
2983
|
useEffect(() => {
|
|
2984
2984
|
if (value === written.current) return;
|
|
2985
2985
|
written.current = value;
|
|
2986
|
-
const
|
|
2986
|
+
const parsed2 = readAssertRulesSetting(value);
|
|
2987
2987
|
setJsonText(textOf(value));
|
|
2988
|
-
if (
|
|
2988
|
+
if (parsed2 === null) {
|
|
2989
2989
|
setJsonView(true);
|
|
2990
2990
|
} else {
|
|
2991
|
-
setRows(rowsFromRules(
|
|
2991
|
+
setRows(rowsFromRules(parsed2));
|
|
2992
2992
|
}
|
|
2993
2993
|
}, [value]);
|
|
2994
2994
|
const write = (next) => {
|
|
@@ -3018,9 +3018,9 @@ function AssertRulesEditor({
|
|
|
3018
3018
|
} : "problem" in check ? describeAssertRuleProblem(check.problem) : null;
|
|
3019
3019
|
const toggleView = () => {
|
|
3020
3020
|
if (jsonView) {
|
|
3021
|
-
const
|
|
3022
|
-
if (
|
|
3023
|
-
setRows(rowsFromRules(
|
|
3021
|
+
const parsed2 = readAssertRulesSetting(jsonText);
|
|
3022
|
+
if (parsed2 === null) return;
|
|
3023
|
+
setRows(rowsFromRules(parsed2));
|
|
3024
3024
|
setJsonView(false);
|
|
3025
3025
|
} else {
|
|
3026
3026
|
setJsonText(textOf(serialiseRows(rows, value)));
|
|
@@ -3235,6 +3235,250 @@ function AssertRulesEditor({
|
|
|
3235
3235
|
}
|
|
3236
3236
|
);
|
|
3237
3237
|
}
|
|
3238
|
+
|
|
3239
|
+
// src/builder/lib/tool-approval-rules.ts
|
|
3240
|
+
var TOOL_APPROVAL_RULES = [
|
|
3241
|
+
"always",
|
|
3242
|
+
"ask",
|
|
3243
|
+
"never"
|
|
3244
|
+
];
|
|
3245
|
+
function isRule(value) {
|
|
3246
|
+
return typeof value === "string" && TOOL_APPROVAL_RULES.includes(value);
|
|
3247
|
+
}
|
|
3248
|
+
function isRecord2(value) {
|
|
3249
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3250
|
+
}
|
|
3251
|
+
function parsed(value) {
|
|
3252
|
+
if (typeof value !== "string") return value;
|
|
3253
|
+
try {
|
|
3254
|
+
return JSON.parse(value);
|
|
3255
|
+
} catch {
|
|
3256
|
+
return void 0;
|
|
3257
|
+
}
|
|
3258
|
+
}
|
|
3259
|
+
function readToolApprovalRows(value) {
|
|
3260
|
+
const raw = parsed(value);
|
|
3261
|
+
if (Array.isArray(raw)) {
|
|
3262
|
+
return raw.filter(isRecord2).map((row) => ({
|
|
3263
|
+
toolName: typeof row.toolName === "string" ? row.toolName : "",
|
|
3264
|
+
rule: isRule(row.rule) ? row.rule : "ask"
|
|
3265
|
+
}));
|
|
3266
|
+
}
|
|
3267
|
+
if (isRecord2(raw)) {
|
|
3268
|
+
return Object.entries(raw).map(([toolName, rule]) => ({
|
|
3269
|
+
toolName,
|
|
3270
|
+
rule: isRule(rule) ? rule : "ask"
|
|
3271
|
+
}));
|
|
3272
|
+
}
|
|
3273
|
+
return [];
|
|
3274
|
+
}
|
|
3275
|
+
function connectedToolNames(agentId, nodes, edges) {
|
|
3276
|
+
const byId = new Map(nodes.map((node) => [node.id, node]));
|
|
3277
|
+
const names = /* @__PURE__ */ new Set();
|
|
3278
|
+
for (const edge of edges) {
|
|
3279
|
+
if (edge.source !== agentId || edge.sourceHandle !== "Tool") continue;
|
|
3280
|
+
const node = edge.target ? byId.get(edge.target) : void 0;
|
|
3281
|
+
const args = isRecord2(node?.data) ? node.data.args : void 0;
|
|
3282
|
+
const state = isRecord2(args) ? args.state : void 0;
|
|
3283
|
+
const name = isRecord2(state) ? state.toolName : void 0;
|
|
3284
|
+
if (typeof name === "string" && name.trim()) names.add(name.trim());
|
|
3285
|
+
}
|
|
3286
|
+
return [...names];
|
|
3287
|
+
}
|
|
3288
|
+
function duplicateToolNames(rows) {
|
|
3289
|
+
const seen = /* @__PURE__ */ new Set();
|
|
3290
|
+
const duplicated = /* @__PURE__ */ new Set();
|
|
3291
|
+
for (const row of rows) {
|
|
3292
|
+
const name = row.toolName.trim();
|
|
3293
|
+
if (!name) continue;
|
|
3294
|
+
if (seen.has(name)) duplicated.add(name);
|
|
3295
|
+
seen.add(name);
|
|
3296
|
+
}
|
|
3297
|
+
return [...duplicated];
|
|
3298
|
+
}
|
|
3299
|
+
function withKeys(list, counter) {
|
|
3300
|
+
return list.map((row) => ({ ...row, key: counter.current++ }));
|
|
3301
|
+
}
|
|
3302
|
+
var rowInput3 = "rounded-md border border-input bg-background px-2 py-1 text-xs text-foreground outline-none focus:border-primary";
|
|
3303
|
+
function ToolApprovalRulesEditor({
|
|
3304
|
+
value,
|
|
3305
|
+
onChange,
|
|
3306
|
+
toolNames,
|
|
3307
|
+
testIdPrefix = "ndv"
|
|
3308
|
+
}) {
|
|
3309
|
+
const tr = useTr();
|
|
3310
|
+
const listId = useId();
|
|
3311
|
+
const nextKey = useRef(0);
|
|
3312
|
+
const [rows, setRows] = useState(
|
|
3313
|
+
() => withKeys(readToolApprovalRows(value), nextKey)
|
|
3314
|
+
);
|
|
3315
|
+
const written = useRef(value);
|
|
3316
|
+
useEffect(() => {
|
|
3317
|
+
if (value === written.current) return;
|
|
3318
|
+
written.current = value;
|
|
3319
|
+
setRows(withKeys(readToolApprovalRows(value), nextKey));
|
|
3320
|
+
}, [value]);
|
|
3321
|
+
const write = (next) => {
|
|
3322
|
+
setRows(next);
|
|
3323
|
+
const stored = next.map(({ toolName, rule }) => ({ toolName, rule }));
|
|
3324
|
+
written.current = stored;
|
|
3325
|
+
onChange(stored);
|
|
3326
|
+
};
|
|
3327
|
+
const ruleLabel = (rule) => {
|
|
3328
|
+
switch (rule) {
|
|
3329
|
+
case "always":
|
|
3330
|
+
return tr(
|
|
3331
|
+
"fluidgrids.builder.toolApproval.ruleAlways",
|
|
3332
|
+
"Run without asking"
|
|
3333
|
+
);
|
|
3334
|
+
case "ask":
|
|
3335
|
+
return tr(
|
|
3336
|
+
"fluidgrids.builder.toolApproval.ruleAsk",
|
|
3337
|
+
"Ask for approval"
|
|
3338
|
+
);
|
|
3339
|
+
case "never":
|
|
3340
|
+
return tr("fluidgrids.builder.toolApproval.ruleNever", "Never run");
|
|
3341
|
+
}
|
|
3342
|
+
};
|
|
3343
|
+
const named = new Set(rows.map((row) => row.toolName.trim()));
|
|
3344
|
+
const unlisted = toolNames.filter((name) => !named.has(name));
|
|
3345
|
+
const duplicates = duplicateToolNames(rows);
|
|
3346
|
+
return /* @__PURE__ */ jsxs(
|
|
3347
|
+
"div",
|
|
3348
|
+
{
|
|
3349
|
+
className: "flex flex-col gap-2",
|
|
3350
|
+
"data-testid": `${testIdPrefix}-tool-approval-rules`,
|
|
3351
|
+
children: [
|
|
3352
|
+
rows.length === 0 && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: tr(
|
|
3353
|
+
"fluidgrids.builder.toolApproval.empty",
|
|
3354
|
+
"No rules yet: every tool follows the rule for other tools."
|
|
3355
|
+
) }),
|
|
3356
|
+
duplicates.length > 0 && /* @__PURE__ */ jsx(
|
|
3357
|
+
"p",
|
|
3358
|
+
{
|
|
3359
|
+
role: "status",
|
|
3360
|
+
className: "text-xs text-status-warning-text",
|
|
3361
|
+
"data-testid": `${testIdPrefix}-tool-approval-duplicates`,
|
|
3362
|
+
children: tr(
|
|
3363
|
+
"fluidgrids.builder.toolApproval.duplicates",
|
|
3364
|
+
"Listed more than once: {{names}}. The strictest of their rules applies (never, then ask, then always).",
|
|
3365
|
+
{ names: duplicates.join(", ") }
|
|
3366
|
+
)
|
|
3367
|
+
}
|
|
3368
|
+
),
|
|
3369
|
+
/* @__PURE__ */ jsx("datalist", { id: listId, children: toolNames.map((name) => /* @__PURE__ */ jsx("option", { value: name }, name)) }),
|
|
3370
|
+
rows.map((row, index) => /* @__PURE__ */ jsxs(
|
|
3371
|
+
"div",
|
|
3372
|
+
{
|
|
3373
|
+
className: "flex items-center gap-1.5",
|
|
3374
|
+
"data-testid": `${testIdPrefix}-tool-approval-rule-${index}`,
|
|
3375
|
+
children: [
|
|
3376
|
+
/* @__PURE__ */ jsx(
|
|
3377
|
+
"input",
|
|
3378
|
+
{
|
|
3379
|
+
type: "text",
|
|
3380
|
+
value: row.toolName,
|
|
3381
|
+
list: listId,
|
|
3382
|
+
placeholder: tr(
|
|
3383
|
+
"fluidgrids.builder.toolApproval.toolPlaceholder",
|
|
3384
|
+
"Tool name"
|
|
3385
|
+
),
|
|
3386
|
+
"aria-label": tr(
|
|
3387
|
+
"fluidgrids.builder.toolApproval.toolLabel",
|
|
3388
|
+
"Tool {{number}}",
|
|
3389
|
+
{ number: index + 1 }
|
|
3390
|
+
),
|
|
3391
|
+
onChange: (event) => write(
|
|
3392
|
+
rows.map(
|
|
3393
|
+
(r, i) => i === index ? { ...r, toolName: event.target.value } : r
|
|
3394
|
+
)
|
|
3395
|
+
),
|
|
3396
|
+
className: cn$1(rowInput3, "min-w-0 flex-1 font-mono")
|
|
3397
|
+
}
|
|
3398
|
+
),
|
|
3399
|
+
/* @__PURE__ */ jsx(
|
|
3400
|
+
"select",
|
|
3401
|
+
{
|
|
3402
|
+
value: row.rule,
|
|
3403
|
+
"aria-label": tr(
|
|
3404
|
+
"fluidgrids.builder.toolApproval.ruleLabel",
|
|
3405
|
+
"Rule for tool {{number}}",
|
|
3406
|
+
{ number: index + 1 }
|
|
3407
|
+
),
|
|
3408
|
+
onChange: (event) => {
|
|
3409
|
+
const rule = TOOL_APPROVAL_RULES.find(
|
|
3410
|
+
(candidate) => candidate === event.target.value
|
|
3411
|
+
);
|
|
3412
|
+
if (!rule) return;
|
|
3413
|
+
write(rows.map((r, i) => i === index ? { ...r, rule } : r));
|
|
3414
|
+
},
|
|
3415
|
+
className: rowInput3,
|
|
3416
|
+
children: TOOL_APPROVAL_RULES.map((rule) => /* @__PURE__ */ jsx("option", { value: rule, children: ruleLabel(rule) }, rule))
|
|
3417
|
+
}
|
|
3418
|
+
),
|
|
3419
|
+
/* @__PURE__ */ jsx(
|
|
3420
|
+
"button",
|
|
3421
|
+
{
|
|
3422
|
+
type: "button",
|
|
3423
|
+
onClick: () => write(rows.filter((_, i) => i !== index)),
|
|
3424
|
+
"aria-label": tr(
|
|
3425
|
+
"fluidgrids.builder.toolApproval.remove",
|
|
3426
|
+
"Remove the rule for tool {{number}}",
|
|
3427
|
+
{ number: index + 1 }
|
|
3428
|
+
),
|
|
3429
|
+
className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
3430
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-3.5 w-3.5", "aria-hidden": "true" })
|
|
3431
|
+
}
|
|
3432
|
+
)
|
|
3433
|
+
]
|
|
3434
|
+
},
|
|
3435
|
+
row.key
|
|
3436
|
+
)),
|
|
3437
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-1.5", children: /* @__PURE__ */ jsxs(
|
|
3438
|
+
"button",
|
|
3439
|
+
{
|
|
3440
|
+
type: "button",
|
|
3441
|
+
onClick: () => write([
|
|
3442
|
+
...rows,
|
|
3443
|
+
...withKeys(
|
|
3444
|
+
[{ toolName: unlisted[0] ?? "", rule: "ask" }],
|
|
3445
|
+
nextKey
|
|
3446
|
+
)
|
|
3447
|
+
]),
|
|
3448
|
+
className: "inline-flex items-center gap-1 text-xs text-primary hover:underline",
|
|
3449
|
+
"data-testid": `${testIdPrefix}-tool-approval-add`,
|
|
3450
|
+
children: [
|
|
3451
|
+
/* @__PURE__ */ jsx(Plus, { className: "h-3.5 w-3.5", "aria-hidden": "true" }),
|
|
3452
|
+
tr("fluidgrids.builder.toolApproval.add", "Add a tool")
|
|
3453
|
+
]
|
|
3454
|
+
}
|
|
3455
|
+
) })
|
|
3456
|
+
]
|
|
3457
|
+
}
|
|
3458
|
+
);
|
|
3459
|
+
}
|
|
3460
|
+
function AgentToolApprovalRules({
|
|
3461
|
+
agentId,
|
|
3462
|
+
value,
|
|
3463
|
+
onChange,
|
|
3464
|
+
testIdPrefix
|
|
3465
|
+
}) {
|
|
3466
|
+
const nodes = useFlowStore((state) => state.workflow.nodes);
|
|
3467
|
+
const edges = useFlowStore((state) => state.workflow.edges);
|
|
3468
|
+
const toolNames = useMemo(
|
|
3469
|
+
() => agentId ? connectedToolNames(agentId, nodes, edges) : [],
|
|
3470
|
+
[agentId, nodes, edges]
|
|
3471
|
+
);
|
|
3472
|
+
return /* @__PURE__ */ jsx(
|
|
3473
|
+
ToolApprovalRulesEditor,
|
|
3474
|
+
{
|
|
3475
|
+
value,
|
|
3476
|
+
onChange,
|
|
3477
|
+
toolNames,
|
|
3478
|
+
testIdPrefix
|
|
3479
|
+
}
|
|
3480
|
+
);
|
|
3481
|
+
}
|
|
3238
3482
|
function formatRunInZone(date, timezone) {
|
|
3239
3483
|
try {
|
|
3240
3484
|
return new Intl.DateTimeFormat(void 0, {
|
|
@@ -3629,17 +3873,17 @@ var PLATFORM_EVENT_SOURCES_QUERY = gql`
|
|
|
3629
3873
|
`;
|
|
3630
3874
|
var CACHE_TTL_MS2 = 3 * 60 * 1e3;
|
|
3631
3875
|
var caches = /* @__PURE__ */ new WeakMap();
|
|
3632
|
-
function
|
|
3876
|
+
function isRecord3(value) {
|
|
3633
3877
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3634
3878
|
}
|
|
3635
3879
|
function readPlatformEventSources(data) {
|
|
3636
|
-
const list =
|
|
3880
|
+
const list = isRecord3(data) ? data.platformEventSources : void 0;
|
|
3637
3881
|
if (!Array.isArray(list)) return [];
|
|
3638
3882
|
const sources = [];
|
|
3639
3883
|
for (const item of list) {
|
|
3640
|
-
if (!
|
|
3884
|
+
if (!isRecord3(item) || typeof item.module !== "string") continue;
|
|
3641
3885
|
const recordTypes = Array.isArray(item.recordTypes) ? item.recordTypes.flatMap(
|
|
3642
|
-
(type) =>
|
|
3886
|
+
(type) => isRecord3(type) && typeof type.name === "string" ? [
|
|
3643
3887
|
{
|
|
3644
3888
|
name: type.name,
|
|
3645
3889
|
actions: Array.isArray(type.actions) ? type.actions.filter(
|
|
@@ -3924,15 +4168,15 @@ var MY_TIME_TRIGGERS_QUERY = gql`
|
|
|
3924
4168
|
`;
|
|
3925
4169
|
var CACHE_TTL_MS3 = 30 * 1e3;
|
|
3926
4170
|
var caches2 = /* @__PURE__ */ new WeakMap();
|
|
3927
|
-
function
|
|
4171
|
+
function isRecord4(value) {
|
|
3928
4172
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3929
4173
|
}
|
|
3930
4174
|
function readTimeTriggers(data) {
|
|
3931
|
-
const list =
|
|
4175
|
+
const list = isRecord4(data) ? data.timeCampusMyTimeTriggers : void 0;
|
|
3932
4176
|
if (!Array.isArray(list)) return [];
|
|
3933
4177
|
const triggers = [];
|
|
3934
4178
|
for (const item of list) {
|
|
3935
|
-
if (!
|
|
4179
|
+
if (!isRecord4(item) || typeof item.id !== "string" || !item.id) continue;
|
|
3936
4180
|
triggers.push({
|
|
3937
4181
|
id: item.id,
|
|
3938
4182
|
name: typeof item.name === "string" && item.name.trim() ? item.name.trim() : item.id,
|
|
@@ -5276,6 +5520,24 @@ function NodeParamsForm({
|
|
|
5276
5520
|
)
|
|
5277
5521
|
] }, p.name);
|
|
5278
5522
|
}
|
|
5523
|
+
if (nodeType === "store/ai-agent" && p.name === "toolApprovalRules") {
|
|
5524
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
5525
|
+
/* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-foreground", children: tr(
|
|
5526
|
+
"fluidgrids.builder.toolApproval.label",
|
|
5527
|
+
"Tool approval rules"
|
|
5528
|
+
) }),
|
|
5529
|
+
/* @__PURE__ */ jsx(
|
|
5530
|
+
AgentToolApprovalRules,
|
|
5531
|
+
{
|
|
5532
|
+
agentId: config.node?.id,
|
|
5533
|
+
value: argsState[p.name],
|
|
5534
|
+
onChange: (next) => writeFixed(p.name, next),
|
|
5535
|
+
testIdPrefix
|
|
5536
|
+
}
|
|
5537
|
+
),
|
|
5538
|
+
p.description && /* @__PURE__ */ jsx("span", { className: "text-[11px] leading-snug text-muted-foreground", children: p.description })
|
|
5539
|
+
] }, p.name);
|
|
5540
|
+
}
|
|
5279
5541
|
if (p.type === "workflow" || nodeType === "internal:subworkflow" && p.name === "workflowKey") {
|
|
5280
5542
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
5281
5543
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, decideMissingWorkflow } from './chunk-NRI7AUBH.js';
|
|
2
2
|
import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
|
|
3
|
-
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-
|
|
3
|
+
import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-TNFMGVWW.js';
|
|
4
4
|
import { paramsFromOperation } from './chunk-LSRF7JLO.js';
|
|
5
5
|
import { CreateWorkflowRefusalDialog } from './chunk-NK7IQUZF.js';
|
|
6
6
|
import { canvasFromDefinition } from './chunk-CKF2FBUP.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-
|
|
1
|
+
import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-TNFMGVWW.js';
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
3
|
import { useWorkflowDefinition } from './chunk-PHJBQCQS.js';
|
|
4
4
|
import { Button } from './chunk-QJAZXCFQ.js';
|
|
@@ -5,8 +5,8 @@ import { Input } from './chunk-IEVSFCFS.js';
|
|
|
5
5
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
|
|
6
6
|
import { Badge as Badge$1 } from './chunk-TFCIZFDM.js';
|
|
7
7
|
import { LogsPanel } from './chunk-QUYK5PAZ.js';
|
|
8
|
-
import { useNodeEditorTab, NodeEditorTabs, NodeInputFields, NodeEditorTabBody } from './chunk-
|
|
9
|
-
import { useGlobalStoreClient, NodeExecutionActions } from './chunk-
|
|
8
|
+
import { useNodeEditorTab, NodeEditorTabs, NodeInputFields, NodeEditorTabBody } from './chunk-4FDWZFBP.js';
|
|
9
|
+
import { useGlobalStoreClient, NodeExecutionActions } from './chunk-CRLEVO22.js';
|
|
10
10
|
import { useNodeConfig, nodeSubtitle, nodeTitle } from './chunk-LSRF7JLO.js';
|
|
11
11
|
import { CreateWorkflowRefusalDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-NK7IQUZF.js';
|
|
12
12
|
import { emptyTestCaseDraft, EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useWorkflowTests, pinnedOutputsFromCanvas, enabledCaseIds, isTestRunOpen, MAX_TEST_CASES, draftFromTestCase, testRunSummaryText, testStatusLabel, TEST_STATUS_TONE_CLASS, testStatusTone, MAX_CASE_NAME, nextSortOrder, draftToInput } from './chunk-POCNK7FY.js';
|
|
@@ -20497,12 +20497,12 @@ function EditLeaseBanner() {
|
|
|
20497
20497
|
);
|
|
20498
20498
|
}
|
|
20499
20499
|
var LazyNodeDetailView = lazy(
|
|
20500
|
-
() => import('./node-detail-view-
|
|
20500
|
+
() => import('./node-detail-view-VF6UTUBV.js').then((m) => ({
|
|
20501
20501
|
default: m.NodeDetailView
|
|
20502
20502
|
}))
|
|
20503
20503
|
);
|
|
20504
20504
|
var LazyQuickConfigPanel = lazy(
|
|
20505
|
-
() => import('./quick-config-panel-
|
|
20505
|
+
() => import('./quick-config-panel-YX7UGEBR.js').then((m) => ({
|
|
20506
20506
|
default: m.QuickConfigPanel
|
|
20507
20507
|
}))
|
|
20508
20508
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TEMPLATE_STORE_CATEGORIES, useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-
|
|
1
|
+
import { TEMPLATE_STORE_CATEGORIES, useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-TNFMGVWW.js';
|
|
2
2
|
import { QuotaExhaustedDialog } from './chunk-NK7IQUZF.js';
|
|
3
3
|
import { templatesControls } from './chunk-FNZZ5JJL.js';
|
|
4
4
|
import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-PHJBQCQS.js';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { Label } from './chunk-VTQVPNUQ.js';
|
|
2
|
-
import { EnsureThemeProvider } from './chunk-
|
|
3
|
-
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-
|
|
4
|
-
export { GuidedTourStarter, START_FIELD_PREFIX, START_NAME_PARAM, START_NODE_PARAM, START_OPERATION_PARAM, WorkflowBuilder as WorkflowBuilderPage, readStartNodeRequest, startNodeLink } from './chunk-
|
|
2
|
+
import { EnsureThemeProvider } from './chunk-TIUSQ6MW.js';
|
|
3
|
+
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-TIUSQ6MW.js';
|
|
4
|
+
export { GuidedTourStarter, START_FIELD_PREFIX, START_NAME_PARAM, START_NODE_PARAM, START_OPERATION_PARAM, WorkflowBuilder as WorkflowBuilderPage, readStartNodeRequest, startNodeLink } from './chunk-KQ43EVRO.js';
|
|
5
5
|
export { FirstWorkflowChecklist, FirstWorkflowChecklistView, WorkflowsList, useCreateWorkflowFirst } from './chunk-TOCD4SVA.js';
|
|
6
6
|
export { GUIDED_FIRST_WORKFLOW_NAV, GUIDED_FIRST_WORKFLOW_STATE, GUIDED_TOUR_STATE, firstWorkflowProgress, isGuidedTourIntent, pickGuidedTour } from './chunk-NRI7AUBH.js';
|
|
7
7
|
import './chunk-PIKYQE7P.js';
|
|
@@ -21,10 +21,10 @@ export { ManagedAiPolicyAuthorityProvider, SettingsPage } from './chunk-XM3IMHA7
|
|
|
21
21
|
export { checkCodecServerUrl, decodePayloads, isEncodedPayload } from './chunk-5NZANNKX.js';
|
|
22
22
|
export { useDataSinkData, useDataSinks, useInsightsData, useLogStreamDestinationActions, useLogStreamDestinations, useRunReplayActions } from './chunk-JGHDGMYV.js';
|
|
23
23
|
import './chunk-5ERAJC2I.js';
|
|
24
|
-
import { ThemeProvider, extractTemplateGraph } from './chunk-
|
|
25
|
-
export { TemplatePreview, TemplatesPage } from './chunk-
|
|
26
|
-
import { useAiWorkflowTemplates, AI_DRAFT_MAX_PROMPT_LENGTH, FlowBuilderPage, FluidGridsMark, draftToCanvas, enrichDraftNodes } from './chunk-
|
|
27
|
-
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runsQuotaLevel, summarizeRunsQuota, useRunsQuota } from './chunk-
|
|
24
|
+
import { ThemeProvider, extractTemplateGraph } from './chunk-YGWPVIGB.js';
|
|
25
|
+
export { TemplatePreview, TemplatesPage } from './chunk-YGWPVIGB.js';
|
|
26
|
+
import { useAiWorkflowTemplates, AI_DRAFT_MAX_PROMPT_LENGTH, FlowBuilderPage, FluidGridsMark, draftToCanvas, enrichDraftNodes } from './chunk-TNFMGVWW.js';
|
|
27
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runsQuotaLevel, summarizeRunsQuota, useRunsQuota } from './chunk-TNFMGVWW.js';
|
|
28
28
|
import './chunk-JNSHR2J2.js';
|
|
29
29
|
import './chunk-GEMNVFPK.js';
|
|
30
30
|
import './chunk-B6CCE2RW.js';
|
|
@@ -32,9 +32,9 @@ export { Input } from './chunk-IEVSFCFS.js';
|
|
|
32
32
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-YXMFRQYV.js';
|
|
33
33
|
export { Badge, badgeVariants } from './chunk-TFCIZFDM.js';
|
|
34
34
|
import './chunk-QUYK5PAZ.js';
|
|
35
|
-
import './chunk-
|
|
36
|
-
import { useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-
|
|
37
|
-
export { Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, runnerInstallCommand, useRunnerActions, useRunners } from './chunk-
|
|
35
|
+
import './chunk-4FDWZFBP.js';
|
|
36
|
+
import { useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-CRLEVO22.js';
|
|
37
|
+
export { Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, runnerInstallCommand, useRunnerActions, useRunners } from './chunk-CRLEVO22.js';
|
|
38
38
|
export { resolveUiSpec, stripSubmitActions } from './chunk-LSRF7JLO.js';
|
|
39
39
|
import './chunk-KZCNJAMK.js';
|
|
40
40
|
import { CreateWorkflowRefusalDialog } from './chunk-NK7IQUZF.js';
|
|
@@ -110,7 +110,7 @@ var WorkflowsList2 = lazy(
|
|
|
110
110
|
() => import('./WorkflowsList-CBMAAP2H.js').then((m) => ({ default: m.WorkflowsList }))
|
|
111
111
|
);
|
|
112
112
|
var WorkflowBuilder3 = lazy(
|
|
113
|
-
() => import('./WorkflowBuilder-
|
|
113
|
+
() => import('./WorkflowBuilder-XF6VBYZB.js').then((m) => ({
|
|
114
114
|
default: m.WorkflowBuilder
|
|
115
115
|
}))
|
|
116
116
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useRunHistory, RunHistoryView, SignalRunDialog } from './chunk-W5ZTQQUI.js';
|
|
2
2
|
import { agentTracePath } from './chunk-NZAYYUQ4.js';
|
|
3
3
|
import { TableView, JsonView } from './chunk-QUYK5PAZ.js';
|
|
4
|
-
import { SCHEDULE_NODE_TYPE, NDV_Z_INDEX, NodeExecutionActions, TabButton, SchedulePanel, ReadOnlyFieldset, NodeParamsForm, NodeSettingsPanel } from './chunk-
|
|
4
|
+
import { SCHEDULE_NODE_TYPE, NDV_Z_INDEX, NodeExecutionActions, TabButton, SchedulePanel, ReadOnlyFieldset, NodeParamsForm, NodeSettingsPanel } from './chunk-CRLEVO22.js';
|
|
5
5
|
import { useNodeConfig, latestNodeLog, nodeTitle, nodeSubtitle, FieldTree } from './chunk-LSRF7JLO.js';
|
|
6
6
|
import { CodeEditorField } from './chunk-KZCNJAMK.js';
|
|
7
7
|
import './chunk-JDLQ6QIB.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useNodeEditorTab, NodeInputFields, NodeEditorTabs, NodeEditorTabBody } from './chunk-
|
|
2
|
-
import { NodeExecutionActions } from './chunk-
|
|
1
|
+
import { useNodeEditorTab, NodeInputFields, NodeEditorTabs, NodeEditorTabBody } from './chunk-4FDWZFBP.js';
|
|
2
|
+
import { NodeExecutionActions } from './chunk-CRLEVO22.js';
|
|
3
3
|
import { useNodeConfig, nodeSubtitle, nodeTitle } from './chunk-LSRF7JLO.js';
|
|
4
4
|
import './chunk-KZCNJAMK.js';
|
|
5
5
|
import './chunk-JDLQ6QIB.js';
|
package/dist/templates.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { TemplatePreview, TemplatesPage } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { TemplatePreview, TemplatesPage } from './chunk-YGWPVIGB.js';
|
|
2
|
+
import './chunk-TNFMGVWW.js';
|
|
3
3
|
import './chunk-JNSHR2J2.js';
|
|
4
4
|
import './chunk-GEMNVFPK.js';
|
|
5
5
|
import './chunk-B6CCE2RW.js';
|
|
@@ -7,8 +7,8 @@ import './chunk-IEVSFCFS.js';
|
|
|
7
7
|
import './chunk-YXMFRQYV.js';
|
|
8
8
|
import './chunk-TFCIZFDM.js';
|
|
9
9
|
import './chunk-QUYK5PAZ.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
10
|
+
import './chunk-4FDWZFBP.js';
|
|
11
|
+
import './chunk-CRLEVO22.js';
|
|
12
12
|
import './chunk-LSRF7JLO.js';
|
|
13
13
|
import './chunk-KZCNJAMK.js';
|
|
14
14
|
import './chunk-NK7IQUZF.js';
|
package/dist/workflow-builder.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-
|
|
2
|
-
export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-
|
|
1
|
+
export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-TIUSQ6MW.js';
|
|
2
|
+
export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-KQ43EVRO.js';
|
|
3
3
|
import './chunk-NRI7AUBH.js';
|
|
4
4
|
import './chunk-PIKYQE7P.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-TNFMGVWW.js';
|
|
6
6
|
import './chunk-JNSHR2J2.js';
|
|
7
7
|
import './chunk-GEMNVFPK.js';
|
|
8
8
|
import './chunk-B6CCE2RW.js';
|
|
@@ -10,8 +10,8 @@ import './chunk-IEVSFCFS.js';
|
|
|
10
10
|
import './chunk-YXMFRQYV.js';
|
|
11
11
|
import './chunk-TFCIZFDM.js';
|
|
12
12
|
import './chunk-QUYK5PAZ.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
13
|
+
import './chunk-4FDWZFBP.js';
|
|
14
|
+
import './chunk-CRLEVO22.js';
|
|
15
15
|
import './chunk-LSRF7JLO.js';
|
|
16
16
|
import './chunk-KZCNJAMK.js';
|
|
17
17
|
import './chunk-NK7IQUZF.js';
|