@burdenoff/fluidgrids-fe-sdk 2026.1028.8 → 2026.1028.9

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.
@@ -1,10 +1,10 @@
1
- export { ExecutionDetailPage } from './chunk-J3PETXDA.js';
1
+ export { ExecutionDetailPage } from './chunk-4NRANBK7.js';
2
2
  import './chunk-2ZV6UJD6.js';
3
3
  import './chunk-YNOR2AGJ.js';
4
4
  import './chunk-SQ6VSXFI.js';
5
5
  import './chunk-GQQV2L74.js';
6
6
  import './chunk-5ERAJC2I.js';
7
- import './chunk-VZHR7FCD.js';
7
+ import './chunk-3ZBS2R6F.js';
8
8
  import './chunk-6T5EBO7G.js';
9
9
  import './chunk-D3UWK7GY.js';
10
10
  import './chunk-PJAWNFJV.js';
@@ -1,12 +1,12 @@
1
- export { WorkflowBuilder } from './chunk-DL2OCKHC.js';
1
+ export { WorkflowBuilder } from './chunk-XAOMAVHB.js';
2
2
  import './chunk-OAFNNQN7.js';
3
- import './chunk-QBEQOQF7.js';
3
+ import './chunk-PXIWI7OB.js';
4
4
  import './chunk-GEMNVFPK.js';
5
5
  import './chunk-IEVSFCFS.js';
6
6
  import './chunk-YXMFRQYV.js';
7
7
  import './chunk-BQXVT32O.js';
8
8
  import './chunk-M62CJVTR.js';
9
- import './chunk-VZHR7FCD.js';
9
+ import './chunk-3ZBS2R6F.js';
10
10
  import './chunk-6T5EBO7G.js';
11
11
  import './chunk-YQZ7HBOJ.js';
12
12
  import './chunk-DOPSPCO3.js';
@@ -363,6 +363,22 @@ function nodeLine(node, withFields) {
363
363
  const base = `${node.label} \xB7 ${node.type}`;
364
364
  return withFields && node.fields.length > 0 ? `${base} \u2014 ${node.fields.join(", ")}` : base;
365
365
  }
366
+ function visibleErrors(errors, shownMessage) {
367
+ const shown = normalise(shownMessage ?? "");
368
+ const seen = /* @__PURE__ */ new Set();
369
+ const result = [];
370
+ for (const error of errors) {
371
+ const key = normalise(error);
372
+ if (!key || seen.has(key)) continue;
373
+ seen.add(key);
374
+ if (shown && shown.includes(key)) continue;
375
+ result.push(error);
376
+ }
377
+ return result;
378
+ }
379
+ function normalise(text) {
380
+ return text.trim().toLowerCase().replace(/^[\s.:;,]+|[\s.:;,]+$/g, "");
381
+ }
366
382
  function WorkflowProposalCard({
367
383
  proposal,
368
384
  isDeciding = false,
@@ -376,7 +392,13 @@ function WorkflowProposalCard({
376
392
  const status = String(proposal.status);
377
393
  const diff = proposal.diff;
378
394
  const warnings = proposal.validation?.warnings ?? [];
379
- const errors = proposal.validation?.valid === false ? proposal.validation.errors : [];
395
+ const showMessage = Boolean(
396
+ proposal.message && status !== "PROPOSED" && status !== "PROCESSING" && status !== "APPLIED"
397
+ );
398
+ const errors = visibleErrors(
399
+ proposal.validation?.valid === false ? proposal.validation.errors : [],
400
+ showMessage ? proposal.message : null
401
+ );
380
402
  const revertTarget = proposal.baseVersion && proposal.workflowKey && proposal.appliedWorkflowKey === proposal.workflowKey ? { workflowKey: proposal.workflowKey, version: proposal.baseVersion } : null;
381
403
  return /* @__PURE__ */ jsxs(
382
404
  "section",
@@ -435,7 +457,14 @@ function WorkflowProposalCard({
435
457
  children: proposal.explanation
436
458
  }
437
459
  ),
438
- proposal.message && status !== "PROPOSED" && status !== "PROCESSING" && status !== "APPLIED" && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-text-secondary", children: proposal.message }),
460
+ showMessage && /* @__PURE__ */ jsx(
461
+ "p",
462
+ {
463
+ className: "mt-2 text-sm text-text-secondary",
464
+ "data-testid": "workflow-proposal-message",
465
+ children: proposal.message
466
+ }
467
+ ),
439
468
  diff && /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-2", "data-testid": "workflow-proposal-diff", children: [
440
469
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-text-primary", children: diff.summary }),
441
470
  /* @__PURE__ */ jsx(
@@ -481,7 +510,14 @@ function WorkflowProposalCard({
481
510
  }
482
511
  )
483
512
  ] }),
484
- errors.length > 0 && /* @__PURE__ */ jsx("ul", { className: "mt-3 space-y-1 text-sm text-[var(--color-status-error-text)]", children: errors.map((message) => /* @__PURE__ */ jsx("li", { children: message }, message)) }),
513
+ errors.length > 0 && /* @__PURE__ */ jsx(
514
+ "ul",
515
+ {
516
+ className: "mt-3 space-y-1 text-sm text-[var(--color-status-error-text)]",
517
+ "data-testid": "workflow-proposal-errors",
518
+ children: errors.map((message) => /* @__PURE__ */ jsx("li", { children: message }, message))
519
+ }
520
+ ),
485
521
  warnings.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-3", "data-testid": "workflow-proposal-warnings", children: [
486
522
  /* @__PURE__ */ jsx("div", { className: "text-xs font-medium uppercase tracking-wide text-text-secondary", children: tr("fluidgrids.ai.proposal.todo", "Still to set up") }),
487
523
  /* @__PURE__ */ jsx("ul", { className: "mt-1 space-y-0.5 text-sm text-text-secondary", children: warnings.map((warning) => /* @__PURE__ */ jsx("li", { children: warning }, warning)) })
@@ -2,7 +2,7 @@ import { buildNodeDisplayMap, ExecutionStatusBadge, formatRunVersion, NodeTimeli
2
2
  import { useExecution, useExecutionActions, useAutoRefresh } from './chunk-YNOR2AGJ.js';
3
3
  import { fetchRunFailureClusters, OPEN_STATUSES, dismissRunFailureCluster, BUCKET_LABELS } from './chunk-SQ6VSXFI.js';
4
4
  import { useRunPolicyDecisions, RunPolicyDecisions } from './chunk-GQQV2L74.js';
5
- import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-VZHR7FCD.js';
5
+ import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-3ZBS2R6F.js';
6
6
  import { throwIfResultError, useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-NVUJFHTQ.js';
7
7
  import { getFluidGridsConfig } from './chunk-CY6KX4RG.js';
8
8
  import { RunLogsDocument, RunLogAppendedDocument, ExplainRunDocument } from './chunk-7PBOU7JC.js';
@@ -1,4 +1,4 @@
1
- import { Card, FluidGridsMark } from './chunk-QBEQOQF7.js';
1
+ import { Card, FluidGridsMark } from './chunk-PXIWI7OB.js';
2
2
  import { Input } from './chunk-IEVSFCFS.js';
3
3
  import { Button } from './chunk-BQXVT32O.js';
4
4
  import { useWorkflowDefinition } from './chunk-YQZ7HBOJ.js';
@@ -1,4 +1,4 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-QBEQOQF7.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-PXIWI7OB.js';
2
2
  import { QuotaExhaustedDialog } from './chunk-M62CJVTR.js';
3
3
  import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-YQZ7HBOJ.js';
4
4
  import { templatesControls } from './chunk-D3UWK7GY.js';
@@ -3,7 +3,7 @@ import { Input } from './chunk-IEVSFCFS.js';
3
3
  import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, DialogFooter } from './chunk-YXMFRQYV.js';
4
4
  import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
5
5
  import { QuotaExhaustedDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-M62CJVTR.js';
6
- import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-VZHR7FCD.js';
6
+ import { EntityTagPicker, useWorkflowProposal, WorkflowProposalCard } from './chunk-3ZBS2R6F.js';
7
7
  import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useLazyWorkflowDefinition, useDeactivateWorkflow } from './chunk-YQZ7HBOJ.js';
8
8
  import { isAgentNodeType, AgentDefinitionSelectField } from './chunk-TX6WIT3N.js';
9
9
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
@@ -1,5 +1,5 @@
1
1
  import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-OAFNNQN7.js';
2
- import { useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-QBEQOQF7.js';
2
+ import { useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-PXIWI7OB.js';
3
3
  import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-YQZ7HBOJ.js';
4
4
  import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, mergeStickyNotes, blankWorkflowCreateInput, classifyCreateRefusal } from './chunk-NVUJFHTQ.js';
5
5
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,12 +1,12 @@
1
1
  import './chunk-AD3BXTJS.js';
2
2
  export { ExecutionsListPage } from './chunk-3GOZYLTM.js';
3
- export { ExecutionDetailPage } from './chunk-J3PETXDA.js';
3
+ export { ExecutionDetailPage } from './chunk-4NRANBK7.js';
4
4
  import './chunk-2ZV6UJD6.js';
5
5
  import './chunk-YNOR2AGJ.js';
6
6
  import './chunk-SQ6VSXFI.js';
7
7
  import './chunk-GQQV2L74.js';
8
8
  import './chunk-5ERAJC2I.js';
9
- import './chunk-VZHR7FCD.js';
9
+ import './chunk-3ZBS2R6F.js';
10
10
  import './chunk-6T5EBO7G.js';
11
11
  import './chunk-YQZ7HBOJ.js';
12
12
  import './chunk-D3UWK7GY.js';
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  export { Label } from './chunk-VTQVPNUQ.js';
2
- export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-3LYRZ4KN.js';
3
- export { GuidedTourStarter, WorkflowBuilder as WorkflowBuilderPage } from './chunk-DL2OCKHC.js';
2
+ export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-B7UN6FGD.js';
3
+ export { GuidedTourStarter, WorkflowBuilder as WorkflowBuilderPage } from './chunk-XAOMAVHB.js';
4
4
  export { FirstWorkflowChecklist, FirstWorkflowChecklistView, WorkflowsList, useCreateWorkflowFirst } from './chunk-EAF47LYM.js';
5
5
  export { CreateWorkflowRefusalDialog, GUIDED_FIRST_WORKFLOW_NAV, GUIDED_FIRST_WORKFLOW_STATE, GUIDED_TOUR_STATE, firstWorkflowProgress, isGuidedTourIntent, pickGuidedTour } from './chunk-OAFNNQN7.js';
6
6
  import './chunk-AD3BXTJS.js';
7
7
  export { ExecutionsListPage } from './chunk-3GOZYLTM.js';
8
- import { usePendingHumanRequests, HumanRequestCard } from './chunk-J3PETXDA.js';
9
- export { ExecutionDetailPage, HumanRequestCard, RunHumanRequests, usePendingHumanRequests, useRespondToHumanRequest, useRunHumanRequests } from './chunk-J3PETXDA.js';
8
+ import { usePendingHumanRequests, HumanRequestCard } from './chunk-4NRANBK7.js';
9
+ export { ExecutionDetailPage, HumanRequestCard, RunHumanRequests, usePendingHumanRequests, useRespondToHumanRequest, useRunHumanRequests } from './chunk-4NRANBK7.js';
10
10
  import { TagFilterSelect } from './chunk-2ZV6UJD6.js';
11
11
  import './chunk-YNOR2AGJ.js';
12
12
  export { HistoryPage } from './chunk-ZFCXCSY4.js';
@@ -17,17 +17,17 @@ export { SettingsPage } from './chunk-GGINSR75.js';
17
17
  import './chunk-GQQV2L74.js';
18
18
  export { useDataSinkData, useDataSinks, useInsightsData, useLogStreamDestinationActions, useLogStreamDestinations, useRunReplayActions } from './chunk-VFPIMW52.js';
19
19
  import './chunk-5ERAJC2I.js';
20
- import { ThemeProvider, extractTemplateGraph } from './chunk-ILTWXDRG.js';
21
- export { TemplatePreview, TemplatesPage } from './chunk-ILTWXDRG.js';
22
- import { external_exports, FlowBuilderPage, FluidGridsMark, useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-QBEQOQF7.js';
23
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runnerInstallCommand, runsQuotaLevel, summarizeRunsQuota, useRunnerActions, useRunners, useRunsQuota } from './chunk-QBEQOQF7.js';
20
+ import { ThemeProvider, extractTemplateGraph } from './chunk-KFCCLXZO.js';
21
+ export { TemplatePreview, TemplatesPage } from './chunk-KFCCLXZO.js';
22
+ import { external_exports, FlowBuilderPage, FluidGridsMark, useRunners, useRunnerActions, RunnerStatusPill, runnerInstallCommand } from './chunk-PXIWI7OB.js';
23
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Popover, PopoverContent, PopoverTrigger, RUNNER_INSTALL_SCRIPT_URL, RunOnSection, RunnerStatusPill, RunsUsageMeter, RunsUsageMeterView, readRunsQuota, runnerInstallCommand, runsQuotaLevel, summarizeRunsQuota, useRunnerActions, useRunners, useRunsQuota } from './chunk-PXIWI7OB.js';
24
24
  import './chunk-GEMNVFPK.js';
25
25
  export { Input } from './chunk-IEVSFCFS.js';
26
26
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-YXMFRQYV.js';
27
27
  export { Badge, Button, badgeVariants, buttonVariants } from './chunk-BQXVT32O.js';
28
28
  import './chunk-M62CJVTR.js';
29
- import { EntityTagPicker } from './chunk-VZHR7FCD.js';
30
- export { EntityTagPicker } from './chunk-VZHR7FCD.js';
29
+ import { EntityTagPicker } from './chunk-3ZBS2R6F.js';
30
+ export { EntityTagPicker } from './chunk-3ZBS2R6F.js';
31
31
  import { useDataTableTagOverlay, tagLabel } from './chunk-6T5EBO7G.js';
32
32
  export { FLUIDGRIDS_ENTITY_TYPES, tagLabel, useAvailableTags, useCreateTag, useDraftEntityTags, useEntityTags, useReplaceEntityTags, useSearchTags, useTagEntity, useUntagEntity } from './chunk-6T5EBO7G.js';
33
33
  export { useActivateWorkflow, useCreateWorkflow, useCreateWorkflowVersion, useDashboardSummary, useDeactivateWorkflow, useDeleteWorkflow, useDuplicateWorkflow, useImportWorkflow, useLazyWorkflowDefinition, useRestoreWorkflowVersion, useTriggerWorkflow, useUpdateWorkflow, useWorkflowDefinition, useWorkflowDefinitions, useWorkflowRun, useWorkflowRuns, useWorkflowVersions } from './chunk-YQZ7HBOJ.js';
@@ -77,7 +77,7 @@ var WorkflowsList2 = lazy(
77
77
  () => import('./WorkflowsList-4HG3KBMR.js').then((m) => ({ default: m.WorkflowsList }))
78
78
  );
79
79
  var WorkflowBuilder3 = lazy(
80
- () => import('./WorkflowBuilder-OECFTQDQ.js').then((m) => ({
80
+ () => import('./WorkflowBuilder-J5APOMKG.js').then((m) => ({
81
81
  default: m.WorkflowBuilder
82
82
  }))
83
83
  );
@@ -87,7 +87,7 @@ var ExecutionsListPage2 = lazy(
87
87
  }))
88
88
  );
89
89
  var ExecutionDetailPage2 = lazy(
90
- () => import('./ExecutionDetailPage-ACTSQG5E.js').then((m) => ({
90
+ () => import('./ExecutionDetailPage-6T7XEVUA.js').then((m) => ({
91
91
  default: m.ExecutionDetailPage
92
92
  }))
93
93
  );
package/dist/templates.js CHANGED
@@ -1,11 +1,11 @@
1
- export { TemplatePreview, TemplatesPage } from './chunk-ILTWXDRG.js';
2
- import './chunk-QBEQOQF7.js';
1
+ export { TemplatePreview, TemplatesPage } from './chunk-KFCCLXZO.js';
2
+ import './chunk-PXIWI7OB.js';
3
3
  import './chunk-GEMNVFPK.js';
4
4
  import './chunk-IEVSFCFS.js';
5
5
  import './chunk-YXMFRQYV.js';
6
6
  import './chunk-BQXVT32O.js';
7
7
  import './chunk-M62CJVTR.js';
8
- import './chunk-VZHR7FCD.js';
8
+ import './chunk-3ZBS2R6F.js';
9
9
  import './chunk-6T5EBO7G.js';
10
10
  import './chunk-YQZ7HBOJ.js';
11
11
  import './chunk-D3UWK7GY.js';
@@ -1,13 +1,13 @@
1
- export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-3LYRZ4KN.js';
2
- export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-DL2OCKHC.js';
1
+ export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-B7UN6FGD.js';
2
+ export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-XAOMAVHB.js';
3
3
  import './chunk-OAFNNQN7.js';
4
- import './chunk-QBEQOQF7.js';
4
+ import './chunk-PXIWI7OB.js';
5
5
  import './chunk-GEMNVFPK.js';
6
6
  import './chunk-IEVSFCFS.js';
7
7
  import './chunk-YXMFRQYV.js';
8
8
  import './chunk-BQXVT32O.js';
9
9
  import './chunk-M62CJVTR.js';
10
- import './chunk-VZHR7FCD.js';
10
+ import './chunk-3ZBS2R6F.js';
11
11
  import './chunk-6T5EBO7G.js';
12
12
  import './chunk-YQZ7HBOJ.js';
13
13
  import './chunk-DOPSPCO3.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fluidgrids-fe-sdk",
3
- "version": "2026.1028.8",
3
+ "version": "2026.1028.9",
4
4
  "description": "FluidGrids Workflow Builder SDK - Embeddable visual workflow automation",
5
5
  "type": "module",
6
6
  "imports": {