@burdenoff/fluidgrids-fe-sdk 2026.1111.15 → 2026.1111.17

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.
Files changed (112) hide show
  1. package/README.md +41 -0
  2. package/dist/AiStudioPage-kJHSsIcj.js +774 -0
  3. package/dist/ApprovalInboxPage-dbBDSJ-f.js +558 -0
  4. package/dist/DataSinkDashboardPage-1h2QsMzH.js +270 -0
  5. package/dist/DataTablesPage-BZy2z0LB.js +1690 -0
  6. package/dist/EntityTagPicker-BqRNsLCQ.js +135 -0
  7. package/dist/{ExecutionDetailPage-DO38vZ_F.js → ExecutionDetailPage-BdcZmLT4.js} +799 -4420
  8. package/dist/ExecutionDetailPage-DvQ667OE.d.ts +10 -0
  9. package/dist/ExecutionsListPage-BCUJoAIE.js +2742 -0
  10. package/dist/{FailureTriagePanel-BHiduL7A.js → FailureTriagePanel-B9hDQymi.js} +4 -97
  11. package/dist/{FluidGridsProvider-B9RR_CI_.js → FluidGridsProvider-dvZSNtSW.js} +28 -350
  12. package/dist/HistoryPage-BLoRpJ1R.d.ts +6 -0
  13. package/dist/{HistoryPage-CA42pU85.js → HistoryPage-U0tqupBN.js} +6 -4
  14. package/dist/HumanRequestCard-D-ooVPDn.js +439 -0
  15. package/dist/{InsightsPage-CBoN_Mj9.js → InsightsPage-CALo16eB.js} +17 -328
  16. package/dist/ManagedAiPolicyAuthority-BxwJ3ptd.js +40 -0
  17. package/dist/{ManagedAiPolicyAuthority-CGux_DaV.d.ts → ManagedAiPolicyAuthority-DM3t3wNr.d.ts} +1 -5
  18. package/dist/ManagedAiPolicyAuthorityContext-CNkxIOZ1.js +10 -0
  19. package/dist/{MissingNodesInstallModal-Dm0nMBXM.js → MissingNodesInstallModal-CMybsI8h.js} +3 -2
  20. package/dist/{NodesPage-ClvhUfbh.js → NodesPage-Bf5PhfBK.js} +7 -3
  21. package/dist/NodesPage-DEbnz9iU.d.ts +6 -0
  22. package/dist/{PublishCustomNodeAction-D2F7oN0S.js → PublishCustomNodeAction-5XXnSA3H.js} +3 -45
  23. package/dist/QuotaExhaustedDialog-7IFSaLyi.js +54 -0
  24. package/dist/RunnerStatusPill-Ctg4TJcP.js +187 -0
  25. package/dist/RunnersPage-CLCOCclc.js +467 -0
  26. package/dist/{ManagedAiPolicyAuthority-CKihmbJE.js → SettingsPage-CgkRlCM5.js} +19 -50
  27. package/dist/SettingsPage-DMHQFj5-.d.ts +9 -0
  28. package/dist/TagFilterSelect-DCBOH6Ou.js +41 -0
  29. package/dist/TaskQueuesPage-9VgSnLdL.js +951 -0
  30. package/dist/TemplateCard-DsC0KNH1.js +1416 -0
  31. package/dist/{TemplateConfigurationModal-Bs_V-E4u.js → TemplateConfigurationModal-BhGWIzpm.js} +3 -2
  32. package/dist/{TemplateDetailPanel-MlT39VLG.js → TemplateDetailPanel-D4cUVr-m.js} +3 -3
  33. package/dist/TemplatePreview-GthzCOSo.js +231 -0
  34. package/dist/TemplatesPage-BG3H-6v6.d.ts +10 -0
  35. package/dist/{TemplatesPage-CHVpWBuw.js → TemplatesPage-CsDNT54N.js} +11 -228
  36. package/dist/VariablesPage-67WR_lVE.js +949 -0
  37. package/dist/{VersionDiffDialog-Dq2xlPFI.js → VersionDiffDialog-DSN0mU0f.js} +2 -1
  38. package/dist/WorkflowBuilder-DEi_9YOb.js +555 -0
  39. package/dist/{WorkflowSearchRedirect-3gyHcYY2.js → WorkflowBuilder-iPqXgbYr.js} +19 -585
  40. package/dist/{WorkflowProposalCard-8Vr56kQa.js → WorkflowProposalCard-qrEeNyYG.js} +4 -405
  41. package/dist/WorkflowSearchRedirect-DwDNZ_q5.js +36 -0
  42. package/dist/{WorkflowShareDialog-0Ai1HED-.js → WorkflowShareDialog-B_gn968c.js} +6 -52
  43. package/dist/{WorkflowsList-CJ3KmMHX.js → WorkflowsList-CA20dVIl.js} +11 -6
  44. package/dist/WorkflowsList-CcNDQge5.d.ts +6 -0
  45. package/dist/agent-form-Bfvm32j1.js +83 -0
  46. package/dist/{agentTools-B1IK1JEO.js → agentTools-CkRJB7r5.js} +3 -2
  47. package/dist/{ai-usage-D5p7ZeRR.js → ai-usage-glCwHyQz.js} +1 -1
  48. package/dist/api-BrCHB5oA.js +224 -0
  49. package/dist/api-C8e0iV-Q.js +55 -0
  50. package/dist/button-DG7y_FVJ.js +48 -0
  51. package/dist/{canvasNoteTools-eewVHVuy.js → canvasNoteTools-CQIc7Oxg.js} +2 -2
  52. package/dist/client-C9XSzSXr.js +1147 -0
  53. package/dist/{codec-client-DstqyzTN.js → codec-client-CJ95Rmqo.js} +1 -1
  54. package/dist/constants-B2lhWNoN.js +202 -0
  55. package/dist/constants-XdvUxeWK.d.ts +162 -0
  56. package/dist/dialog-Cjb4lB4D.js +105 -0
  57. package/dist/executions.d.ts +1 -1
  58. package/dist/executions.js +2 -1
  59. package/dist/feature-flags-DM5myWaD.js +296 -0
  60. package/dist/flags.d.ts +3 -0
  61. package/dist/flags.js +4 -0
  62. package/dist/{flow-builder-C_3sY3pZ.js → flow-builder-y2Y1iG4Y.js} +182 -1821
  63. package/dist/{node-endpoint-configs-DHFGA5MQ.js → graphql-operation-types-kX-MMjgW.js} +1 -1194
  64. package/dist/{graphql-types-XcDLtFwU.js → graphql-types-CDKVWH2R.js} +2 -202
  65. package/dist/history.d.ts +1 -1
  66. package/dist/history.js +1 -1
  67. package/dist/index-72XFgvbn.d.ts +132 -0
  68. package/dist/index-BcdtKBM-.d.ts +56 -0
  69. package/dist/{index-B3BWqafN.d.ts → index-DjiFgEQl.d.ts} +5 -131
  70. package/dist/{index-DRf25-D3.d.ts → index-W2o__Nm6.d.ts} +32 -214
  71. package/dist/index.d.ts +13 -9
  72. package/dist/index.js +50 -5300
  73. package/dist/{node-detail-view-CAws5qjg.js → node-detail-view-B91kXzIy.js} +11 -8
  74. package/dist/node-endpoint-configs-B5bjNMDW.js +37 -0
  75. package/dist/node-registry-refresh-Dy0uRg9f.js +84 -0
  76. package/dist/nodes.d.ts +1 -1
  77. package/dist/nodes.js +1 -1
  78. package/dist/observability.d.ts +1 -1
  79. package/dist/observability.js +2 -1
  80. package/dist/{quick-config-panel-DOzNkSVV.js → quick-config-panel-DggPl1vY.js} +2 -2
  81. package/dist/rolldown-runtime-hDbaFkMy.js +18 -0
  82. package/dist/run-display-BycKYSU0.js +46 -0
  83. package/dist/run-list-links-ByYC0OlV.js +98 -0
  84. package/dist/settings.d.ts +2 -1
  85. package/dist/settings.js +2 -1
  86. package/dist/shared-CMfn30xT.js +196 -0
  87. package/dist/templates.d.ts +1 -1
  88. package/dist/templates.js +2 -1
  89. package/dist/theme-provider-B3mIuz2d.js +11 -0
  90. package/dist/{useAgentDefinitions-NFtLytDR.js → useAgentDefinitions-Dpz0HDTq.js} +2 -1
  91. package/dist/useDurableParity-CzUQMFJ3.js +415 -0
  92. package/dist/useEntityTags-DhnsZcTl.js +236 -0
  93. package/dist/{useExecutions-DkS0FTfw.js → useExecutions-9aLuOt1c.js} +4 -3
  94. package/dist/{useObservability-BkxhHZsX.js → useObservability-CfEw3ZFD.js} +2 -2
  95. package/dist/{useRunHistory-DHehG09Z.js → useRunHistory-B1xJDwl1.js} +4 -3
  96. package/dist/{useWorkflows-DyhtoVwp.js → useWorkflows-BlVVu8NM.js} +3 -2
  97. package/dist/utils-uaL5UVxb.js +65 -0
  98. package/dist/workflow-builder.d.ts +1 -1
  99. package/dist/workflow-builder.js +4 -2
  100. package/dist/workflow-host.d.ts +6 -0
  101. package/dist/workflow-host.js +9 -0
  102. package/dist/workflow-pages.d.ts +55 -0
  103. package/dist/workflow-pages.js +113 -0
  104. package/dist/workflows-list.d.ts +1 -1
  105. package/dist/workflows-list.js +1 -1
  106. package/package.json +13 -1
  107. package/dist/ExecutionDetailPage-MvsnOnE1.d.ts +0 -4
  108. package/dist/HistoryPage-BqUizaFv.d.ts +0 -3
  109. package/dist/NodesPage-C97-9K2Y.d.ts +0 -3
  110. package/dist/TemplatesPage-D0qnXzHh.d.ts +0 -4
  111. package/dist/WorkflowsList-0d5GSKdh.d.ts +0 -3
  112. package/dist/agent-form-BvMWhQ42.js +0 -496
@@ -0,0 +1,135 @@
1
+ "use client";
2
+ import { x as getFluidGridsConfig } from "./client-C9XSzSXr.js";
3
+ import { d as useUntagEntity, s as useEntityTags, u as useTagEntity } from "./useEntityTags-DhnsZcTl.js";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { TagBadge, TagsWidget } from "@burdenoff/fe-libs/tag";
7
+
8
+ // src/components/shared/EntityTagPicker.tsx
9
+ /**
10
+ * EntityTagPicker — universal tag strip for FluidGrids entities.
11
+ *
12
+ * Reuse-first: the shared `TagsWidget` from `@burdenoff/fe-libs/tag` supplies
13
+ * the search/create/vocabulary UX and the tags-svc graph sync; this wrapper
14
+ * only owns persistence, which goes through the FluidGrids tag API
15
+ * (`tagFluidgridsEntity` / `untagFluidgridsEntity` → wspace-tags-svc
16
+ * assignment rows). We never stand up a parallel tag store.
17
+ *
18
+ * Workflows are tagged by `workflowKey`, not the version row id — pass the key
19
+ * as `entityId` so every version of a workflow shares one tag set. Runs, data
20
+ * tables, triggers and schedules are tagged by their id.
21
+ *
22
+ * Draft mode: omit `entityId` (create forms). Nothing is fetched or persisted;
23
+ * selections are emitted through `onDraftChange` for the parent to flush with
24
+ * `useDraftEntityTags` once the entity exists.
25
+ */
26
+ function toTagItem(assignment) {
27
+ return {
28
+ id: assignment.tagId,
29
+ key: assignment.tagInfo?.key ?? assignment.tagId,
30
+ label: assignment.tagInfo?.label ?? assignment.tagInfo?.key ?? "Tag",
31
+ color: assignment.tagInfo?.color ?? null
32
+ };
33
+ }
34
+ function EntityTagPicker({ entityType, entityId, onDraftChange, readOnly = false, onChange, className }) {
35
+ const draftMode = !entityId;
36
+ const { workspaceId } = getFluidGridsConfig();
37
+ const { tags: assignments, refetch } = useEntityTags(entityType, entityId);
38
+ const tagEntity = useTagEntity();
39
+ const untagEntity = useUntagEntity();
40
+ const [current, setCurrent] = useState([]);
41
+ const currentRef = useRef([]);
42
+ const assignmentKey = assignments.map((a) => a.tagId).join("|");
43
+ const syncedKey = useRef(null);
44
+ useEffect(() => {
45
+ if (draftMode || syncedKey.current === assignmentKey) return;
46
+ syncedKey.current = assignmentKey;
47
+ const synced = assignments.map(toTagItem);
48
+ currentRef.current = synced;
49
+ setCurrent(synced);
50
+ }, [
51
+ assignmentKey,
52
+ assignments,
53
+ draftMode
54
+ ]);
55
+ const handleAdd = useCallback(async (tag) => {
56
+ if (currentRef.current.some((t) => t.id === tag.id)) return;
57
+ const next = [...currentRef.current, tag];
58
+ currentRef.current = next;
59
+ setCurrent(next);
60
+ if (draftMode) {
61
+ onDraftChange?.(next.map((t) => t.id));
62
+ return;
63
+ }
64
+ try {
65
+ await tagEntity(entityType, entityId, tag.id);
66
+ await refetch();
67
+ onChange?.();
68
+ } catch {
69
+ const rolledBack = currentRef.current.filter((t) => t.id !== tag.id);
70
+ currentRef.current = rolledBack;
71
+ setCurrent(rolledBack);
72
+ }
73
+ }, [
74
+ draftMode,
75
+ entityId,
76
+ entityType,
77
+ onChange,
78
+ onDraftChange,
79
+ refetch,
80
+ tagEntity
81
+ ]);
82
+ const handleRemove = useCallback(async (tagId) => {
83
+ const removed = currentRef.current.find((t) => t.id === tagId);
84
+ const next = currentRef.current.filter((t) => t.id !== tagId);
85
+ currentRef.current = next;
86
+ setCurrent(next);
87
+ if (draftMode) {
88
+ onDraftChange?.(next.map((t) => t.id));
89
+ return;
90
+ }
91
+ try {
92
+ await untagEntity(entityType, entityId, tagId);
93
+ await refetch();
94
+ onChange?.();
95
+ } catch {
96
+ if (removed) {
97
+ const rolledBack = [...currentRef.current, removed];
98
+ currentRef.current = rolledBack;
99
+ setCurrent(rolledBack);
100
+ }
101
+ }
102
+ }, [
103
+ draftMode,
104
+ entityId,
105
+ entityType,
106
+ onChange,
107
+ onDraftChange,
108
+ refetch,
109
+ untagEntity
110
+ ]);
111
+ if (readOnly) {
112
+ if (current.length === 0) return null;
113
+ return /* @__PURE__ */ jsx("div", {
114
+ className: `flex flex-wrap items-center gap-1 ${className ?? ""}`,
115
+ children: current.map((tag) => /* @__PURE__ */ jsx(TagBadge, {
116
+ id: tag.id,
117
+ label: tag.label,
118
+ color: tag.color ?? void 0,
119
+ size: "sm"
120
+ }, tag.id))
121
+ });
122
+ }
123
+ return /* @__PURE__ */ jsx(TagsWidget, {
124
+ entityType,
125
+ entityId: entityId ?? "",
126
+ workspaceId: workspaceId || void 0,
127
+ tags: current,
128
+ onAdd: handleAdd,
129
+ onRemove: handleRemove,
130
+ syncGraphNotifications: !draftMode,
131
+ className
132
+ });
133
+ }
134
+
135
+ export { EntityTagPicker as t };