@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
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Oi as getFluidGridsClient, Ui as throwIfResultError } from "./node-endpoint-configs-DHFGA5MQ.js";
2
+ import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
3
3
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
4
4
  import { useCallback, useEffect, useState } from "react";
5
5
  import { cn } from "@burdenoff/fe-libs/utils";
@@ -0,0 +1,202 @@
1
+ "use client";
2
+ import { t as cn } from "./cn-QqidFIgr.js";
3
+ import { cloneElement, createContext, forwardRef, useContext, useMemo } from "react";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
+
7
+ // src/ui/tooltip.tsx
8
+ const TooltipProvider = TooltipPrimitive.Provider;
9
+ const Tooltip = TooltipPrimitive.Root;
10
+ const TooltipTrigger = TooltipPrimitive.Trigger;
11
+ const TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Content, {
12
+ ref,
13
+ sideOffset,
14
+ className: cn("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className),
15
+ ...props
16
+ }));
17
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
18
+
19
+ // src/permissions/PermissionsBridge.tsx
20
+ /**
21
+ * FluidGrids Permissions Bridge
22
+ *
23
+ * The SDK never talks to the RBAC service itself and never imports
24
+ * @burdenoff/fe-libs (embed/standalone consumers have no shell providers).
25
+ * Instead, hosts that DO have real permission data (e.g. microfe-workflows,
26
+ * which wraps the SDK in the fe-libs PermissionProvider) bridge it in via
27
+ * FluidGridsPermissionsProvider.
28
+ *
29
+ * Without a provider the context defaults to allow-all (enforced: false):
30
+ * every surface renders enabled and the API gateway remains the enforcement
31
+ * point. This keeps /embed/workflow, /shared/:id and standalone embedders
32
+ * working unchanged.
33
+ */
34
+ /** No-provider default: allow-all, unenforced (gateway remains the gate). */
35
+ const ALLOW_ALL_PERMISSIONS = {
36
+ hasPermission: () => true,
37
+ isLoading: false,
38
+ enforced: false
39
+ };
40
+ const FluidGridsPermissionsContext = createContext(ALLOW_ALL_PERMISSIONS);
41
+ function FluidGridsPermissionsProvider({ hasPermission, isLoading = false, children }) {
42
+ const value = useMemo(() => ({
43
+ hasPermission,
44
+ isLoading,
45
+ enforced: true
46
+ }), [hasPermission, isLoading]);
47
+ return /* @__PURE__ */ jsx(FluidGridsPermissionsContext.Provider, {
48
+ value,
49
+ children
50
+ });
51
+ }
52
+ /**
53
+ * Pure gating semantics, extracted for unit testing: denied while loading
54
+ * (no flash of allowed UI), any-of across a permission list, allow-all when
55
+ * the context is the unenforced default.
56
+ */
57
+ function evaluatePermissionCheck(ctx, permission) {
58
+ const permissions = typeof permission === "string" ? [permission] : permission;
59
+ return {
60
+ allowed: ctx.isLoading ? false : permissions.some((p) => ctx.hasPermission(p)),
61
+ isLoading: ctx.isLoading,
62
+ enforced: ctx.enforced
63
+ };
64
+ }
65
+ /** Accepts a single permission or an any-of list. */
66
+ function useFluidGridsPermission(permission) {
67
+ return evaluatePermissionCheck(useContext(FluidGridsPermissionsContext), permission);
68
+ }
69
+ const DEFAULT_DENIED_TOOLTIP = "You don't have permission to perform this action";
70
+ /**
71
+ * Wraps a single button-like element. When the permission is denied the
72
+ * child is disabled (with an explanatory tooltip) or hidden; while
73
+ * permissions load it renders disabled without the tooltip.
74
+ */
75
+ function SdkPermissionButton({ permission, deniedBehavior = "disable", deniedTooltip = DEFAULT_DENIED_TOOLTIP, deniedTooltipClassName, children }) {
76
+ const { allowed, isLoading } = useFluidGridsPermission(permission);
77
+ if (allowed) return children;
78
+ if (deniedBehavior === "hide") return null;
79
+ const disabledChild = cloneElement(children, {
80
+ disabled: true,
81
+ onClick: void 0
82
+ });
83
+ if (isLoading) return disabledChild;
84
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
85
+ asChild: true,
86
+ children: /* @__PURE__ */ jsx("span", {
87
+ className: "inline-flex cursor-not-allowed",
88
+ children: disabledChild
89
+ })
90
+ }), /* @__PURE__ */ jsx(TooltipContent, {
91
+ className: deniedTooltipClassName,
92
+ children: deniedTooltip
93
+ })] }) });
94
+ }
95
+ /** Renders children only when the permission is granted (and loaded). */
96
+ function SdkPermissionGate({ permission, fallback = null, children }) {
97
+ const { allowed } = useFluidGridsPermission(permission);
98
+ return /* @__PURE__ */ jsx(Fragment, { children: allowed ? children : fallback });
99
+ }
100
+
101
+ // src/permissions/constants.ts
102
+ /**
103
+ * FluidGrids Permission Constants
104
+ *
105
+ * Canonical permission strings for FluidGrids UI surfaces, matching the
106
+ * backend @rbac (resource, action) pairs. Format: '{resourceType}:{action}'.
107
+ *
108
+ * Hosts (e.g. microfe-workflows) bridge real permission data via
109
+ * FluidGridsPermissionsProvider; without a provider the SDK defaults to
110
+ * allow-all and the gateway remains the enforcement point.
111
+ */
112
+ const FLUIDGRIDS_PERMISSIONS = {
113
+ WORKFLOW_LIST: "workflow:list",
114
+ WORKFLOW_READ: "workflow:read",
115
+ WORKFLOW_CREATE: "workflow:create",
116
+ WORKFLOW_UPDATE: "workflow:update",
117
+ WORKFLOW_DELETE: "workflow:delete",
118
+ WORKFLOW_EXECUTE: "workflow:execute",
119
+ /** Activating workflows; also turns failure triage on and off (BOFF-3698). */
120
+ WORKFLOW_PUBLISH: "workflow:publish",
121
+ /** Changing who a workflow is shared with (BOFF-9726); the service also checks the workflow. */
122
+ WORKFLOW_SHARE: "workflow:share",
123
+ WORKFLOW_RUN_LIST: "workflow-run:list",
124
+ WORKFLOW_RUN_READ: "workflow-run:read",
125
+ WORKFLOW_RUN_EXECUTE: "workflow-run:execute",
126
+ /** Terminating a durable-function run (terminateWorkflowRun, BOFF-9905). */
127
+ WORKFLOW_RUN_DELETE: "workflow-run:delete",
128
+ NODE_LIST: "node:list",
129
+ NODE_READ: "node:read",
130
+ NODE_CREATE: "node:create",
131
+ NODE_DELETE: "node:delete",
132
+ NODE_INSTALLATION_LIST: "node-installation:list",
133
+ NODE_INSTALLATION_READ: "node-installation:read",
134
+ NODE_INSTALLATION_CREATE: "node-installation:create",
135
+ NODE_INSTALLATION_UPDATE: "node-installation:update",
136
+ NODE_INSTALLATION_DELETE: "node-installation:delete",
137
+ NODE_ENDPOINT_CONFIG_LIST: "node-endpoint-config:list",
138
+ NODE_ENDPOINT_CONFIG_READ: "node-endpoint-config:read",
139
+ NODE_ENDPOINT_CONFIG_UPDATE: "node-endpoint-config:update",
140
+ NODE_ENDPOINT_CONFIG_DELETE: "node-endpoint-config:delete",
141
+ SCHEDULED_JOB_LIST: "scheduled-job:list",
142
+ SCHEDULED_JOB_READ: "scheduled-job:read",
143
+ SCHEDULED_JOB_CREATE: "scheduled-job:create",
144
+ SCHEDULED_JOB_UPDATE: "scheduled-job:update",
145
+ SCHEDULED_JOB_DELETE: "scheduled-job:delete",
146
+ AI_WORKFLOW_EXECUTE: "ai-workflow:execute",
147
+ AI_WORKFLOW_CREATE: "ai-workflow:create",
148
+ ARTIFACT_LIST: "artifact:list",
149
+ ARTIFACT_READ: "artifact:read",
150
+ ARTIFACT_DELETE: "artifact:delete",
151
+ CHAT_SESSION_LIST: "chat-session:list",
152
+ CHAT_SESSION_READ: "chat-session:read",
153
+ CHAT_SESSION_CREATE: "chat-session:create",
154
+ CHAT_SESSION_DELETE: "chat-session:delete",
155
+ SUBMISSION_LIST: "submission:list",
156
+ SUBMISSION_READ: "submission:read",
157
+ SUBMISSION_DELETE: "submission:delete",
158
+ SUBMISSION_EXECUTE: "submission:execute",
159
+ EVENT_REGISTRATION_LIST: "event-registration:list",
160
+ EVENT_REGISTRATION_READ: "event-registration:read",
161
+ EVENT_REGISTRATION_CREATE: "event-registration:create",
162
+ EVENT_REGISTRATION_UPDATE: "event-registration:update",
163
+ EVENT_REGISTRATION_DELETE: "event-registration:delete",
164
+ USAGE_LIST: "usage:list",
165
+ USAGE_READ: "usage:read",
166
+ DASHBOARD_READ: "dashboard:read",
167
+ SYSTEM_CONFIG_READ: "system-config:read",
168
+ SYSTEM_CONFIG_UPDATE: "system-config:update",
169
+ SYSTEM_CONFIG_MANAGE: "system-config:manage",
170
+ VARIABLE_READ: "workflow-variable:read",
171
+ VARIABLE_CREATE: "workflow-variable:create",
172
+ VARIABLE_UPDATE: "workflow-variable:update",
173
+ VARIABLE_DELETE: "workflow-variable:delete",
174
+ VARIABLE_REVEAL: "workflow-variable:reveal",
175
+ SECRETS_PROVIDER_CONFIG_READ: "secrets-provider-config:read",
176
+ SECRETS_PROVIDER_CONFIG_UPDATE: "secrets-provider-config:update",
177
+ SECRETS_PROVIDER_CONFIG_TEST: "secrets-provider-config:test",
178
+ INTEGRATION_CONNECTION_CREATE: "integration-connection:create",
179
+ SANDBOX_READ: "sandbox:read",
180
+ SANDBOX_CREATE: "sandbox:create",
181
+ /** Rotating a runner's registration token (rotateSandboxRunnerToken). */
182
+ SANDBOX_UPDATE: "sandbox:update",
183
+ SANDBOX_DELETE: "sandbox:delete",
184
+ DATA_TABLE_CREATE: "data-table:create",
185
+ DATA_TABLE_UPDATE: "data-table:update",
186
+ DATA_TABLE_DELETE: "data-table:delete",
187
+ DATA_TABLE_ROW_CREATE: "data-table-row:create",
188
+ DATA_TABLE_ROW_UPDATE: "data-table-row:update",
189
+ DATA_TABLE_ROW_DELETE: "data-table-row:delete",
190
+ TASK_QUEUE_READ: "task-queue:read",
191
+ TASK_QUEUE_CREATE: "task-queue:create",
192
+ TASK_QUEUE_UPDATE: "task-queue:update",
193
+ TASK_QUEUE_DELETE: "task-queue:delete",
194
+ RUNNER_READ: "runner:read",
195
+ RUNNER_CREATE: "runner:create",
196
+ RUNNER_UPDATE: "runner:update",
197
+ RUNNER_DELETE: "runner:delete",
198
+ TOOL_APPROVAL_REQUEST_READ: "tool-approval-request:read",
199
+ TOOL_APPROVAL_REQUEST_EXECUTE: "tool-approval-request:execute"
200
+ };
201
+
202
+ export { SdkPermissionGate as a, Tooltip as c, TooltipTrigger as d, SdkPermissionButton as i, TooltipContent as l, ALLOW_ALL_PERMISSIONS as n, evaluatePermissionCheck as o, FluidGridsPermissionsProvider as r, useFluidGridsPermission as s, FLUIDGRIDS_PERMISSIONS as t, TooltipProvider as u };
@@ -0,0 +1,162 @@
1
+
2
+ import { ReactElement, ReactNode } from "react";
3
+ import { ApolloClient } from "@apollo/client/core";
4
+ type Translator = (key: string, fallback: string, params?: Record<string, string | number>) => string;
5
+ declare const ENGLISH_FALLBACK_TRANSLATOR: Translator;
6
+ interface FluidGridsTranslationProviderProps {
7
+ t: Translator;
8
+ children: ReactNode;
9
+ }
10
+ declare function FluidGridsTranslationProvider({ t, children }: FluidGridsTranslationProviderProps): import("react").JSX.Element;
11
+ declare function useTr(): Translator;
12
+ declare function refreshNodeRegistry(): Promise<void>;
13
+ interface FluidGridsClientConfig {
14
+ apiGatewayUrl: string;
15
+ authToken?: string;
16
+ workspaceToken?: string;
17
+ workspaceId: string;
18
+ tenantId?: string;
19
+ productId?: string;
20
+ }
21
+ declare function createFluidGridsClient(config: FluidGridsClientConfig): ApolloClient;
22
+ declare function setFluidGridsClient(client: ApolloClient): void;
23
+ declare function getFluidGridsClient(): ApolloClient;
24
+ declare function getFluidGridsClientSafe(): ApolloClient | null;
25
+ declare function isFluidGridsClientReady(): boolean;
26
+ declare function waitForFluidGridsClient(timeoutMs?: number, intervalMs?: number): Promise<ApolloClient | null>;
27
+ declare function resetFluidGridsClient(): void;
28
+ interface GlobalClientConfig {
29
+ globalApiUrl: string;
30
+ authToken?: string;
31
+ workspaceId: string;
32
+ tenantId?: string;
33
+ organizationId?: string;
34
+ }
35
+ declare function setGlobalStoreClient(client: ApolloClient | null): void;
36
+ declare function getGlobalStoreClient(): ApolloClient | null;
37
+ declare function resetGlobalStoreClient(): void;
38
+ declare function createGlobalStoreClient(config: GlobalClientConfig): ApolloClient;
39
+ interface FluidGridsPermissionsValue {
40
+ hasPermission: (permission: string) => boolean;
41
+ isLoading: boolean;
42
+ enforced: boolean;
43
+ }
44
+ declare const ALLOW_ALL_PERMISSIONS: FluidGridsPermissionsValue;
45
+ interface FluidGridsPermissionsProviderProps {
46
+ hasPermission: (permission: string) => boolean;
47
+ isLoading?: boolean;
48
+ children: ReactNode;
49
+ }
50
+ declare function FluidGridsPermissionsProvider({ hasPermission, isLoading, children }: FluidGridsPermissionsProviderProps): ReactElement;
51
+ interface PermissionCheck {
52
+ allowed: boolean;
53
+ isLoading: boolean;
54
+ enforced: boolean;
55
+ }
56
+ declare function evaluatePermissionCheck(ctx: FluidGridsPermissionsValue, permission: string | readonly string[]): PermissionCheck;
57
+ declare function useFluidGridsPermission(permission: string | readonly string[]): PermissionCheck;
58
+ interface DisableableProps {
59
+ disabled?: boolean;
60
+ onClick?: (...args: never[]) => unknown;
61
+ }
62
+ interface SdkPermissionButtonProps {
63
+ permission: string | readonly string[];
64
+ deniedBehavior?: "disable" | "hide";
65
+ deniedTooltip?: string;
66
+ deniedTooltipClassName?: string;
67
+ children: ReactElement<DisableableProps>;
68
+ }
69
+ declare function SdkPermissionButton({ permission, deniedBehavior, deniedTooltip, deniedTooltipClassName, children }: SdkPermissionButtonProps): ReactElement | null;
70
+ interface SdkPermissionGateProps {
71
+ permission: string | readonly string[];
72
+ fallback?: ReactNode;
73
+ children: ReactNode;
74
+ }
75
+ declare function SdkPermissionGate({ permission, fallback, children }: SdkPermissionGateProps): ReactElement | null;
76
+ declare const FLUIDGRIDS_PERMISSIONS: {
77
+ readonly WORKFLOW_LIST: "workflow:list";
78
+ readonly WORKFLOW_READ: "workflow:read";
79
+ readonly WORKFLOW_CREATE: "workflow:create";
80
+ readonly WORKFLOW_UPDATE: "workflow:update";
81
+ readonly WORKFLOW_DELETE: "workflow:delete";
82
+ readonly WORKFLOW_EXECUTE: "workflow:execute";
83
+ readonly WORKFLOW_PUBLISH: "workflow:publish";
84
+ readonly WORKFLOW_SHARE: "workflow:share";
85
+ readonly WORKFLOW_RUN_LIST: "workflow-run:list";
86
+ readonly WORKFLOW_RUN_READ: "workflow-run:read";
87
+ readonly WORKFLOW_RUN_EXECUTE: "workflow-run:execute";
88
+ readonly WORKFLOW_RUN_DELETE: "workflow-run:delete";
89
+ readonly NODE_LIST: "node:list";
90
+ readonly NODE_READ: "node:read";
91
+ readonly NODE_CREATE: "node:create";
92
+ readonly NODE_DELETE: "node:delete";
93
+ readonly NODE_INSTALLATION_LIST: "node-installation:list";
94
+ readonly NODE_INSTALLATION_READ: "node-installation:read";
95
+ readonly NODE_INSTALLATION_CREATE: "node-installation:create";
96
+ readonly NODE_INSTALLATION_UPDATE: "node-installation:update";
97
+ readonly NODE_INSTALLATION_DELETE: "node-installation:delete";
98
+ readonly NODE_ENDPOINT_CONFIG_LIST: "node-endpoint-config:list";
99
+ readonly NODE_ENDPOINT_CONFIG_READ: "node-endpoint-config:read";
100
+ readonly NODE_ENDPOINT_CONFIG_UPDATE: "node-endpoint-config:update";
101
+ readonly NODE_ENDPOINT_CONFIG_DELETE: "node-endpoint-config:delete";
102
+ readonly SCHEDULED_JOB_LIST: "scheduled-job:list";
103
+ readonly SCHEDULED_JOB_READ: "scheduled-job:read";
104
+ readonly SCHEDULED_JOB_CREATE: "scheduled-job:create";
105
+ readonly SCHEDULED_JOB_UPDATE: "scheduled-job:update";
106
+ readonly SCHEDULED_JOB_DELETE: "scheduled-job:delete";
107
+ readonly AI_WORKFLOW_EXECUTE: "ai-workflow:execute";
108
+ readonly AI_WORKFLOW_CREATE: "ai-workflow:create";
109
+ readonly ARTIFACT_LIST: "artifact:list";
110
+ readonly ARTIFACT_READ: "artifact:read";
111
+ readonly ARTIFACT_DELETE: "artifact:delete";
112
+ readonly CHAT_SESSION_LIST: "chat-session:list";
113
+ readonly CHAT_SESSION_READ: "chat-session:read";
114
+ readonly CHAT_SESSION_CREATE: "chat-session:create";
115
+ readonly CHAT_SESSION_DELETE: "chat-session:delete";
116
+ readonly SUBMISSION_LIST: "submission:list";
117
+ readonly SUBMISSION_READ: "submission:read";
118
+ readonly SUBMISSION_DELETE: "submission:delete";
119
+ readonly SUBMISSION_EXECUTE: "submission:execute";
120
+ readonly EVENT_REGISTRATION_LIST: "event-registration:list";
121
+ readonly EVENT_REGISTRATION_READ: "event-registration:read";
122
+ readonly EVENT_REGISTRATION_CREATE: "event-registration:create";
123
+ readonly EVENT_REGISTRATION_UPDATE: "event-registration:update";
124
+ readonly EVENT_REGISTRATION_DELETE: "event-registration:delete";
125
+ readonly USAGE_LIST: "usage:list";
126
+ readonly USAGE_READ: "usage:read";
127
+ readonly DASHBOARD_READ: "dashboard:read";
128
+ readonly SYSTEM_CONFIG_READ: "system-config:read";
129
+ readonly SYSTEM_CONFIG_UPDATE: "system-config:update";
130
+ readonly SYSTEM_CONFIG_MANAGE: "system-config:manage";
131
+ readonly VARIABLE_READ: "workflow-variable:read";
132
+ readonly VARIABLE_CREATE: "workflow-variable:create";
133
+ readonly VARIABLE_UPDATE: "workflow-variable:update";
134
+ readonly VARIABLE_DELETE: "workflow-variable:delete";
135
+ readonly VARIABLE_REVEAL: "workflow-variable:reveal";
136
+ readonly SECRETS_PROVIDER_CONFIG_READ: "secrets-provider-config:read";
137
+ readonly SECRETS_PROVIDER_CONFIG_UPDATE: "secrets-provider-config:update";
138
+ readonly SECRETS_PROVIDER_CONFIG_TEST: "secrets-provider-config:test";
139
+ readonly INTEGRATION_CONNECTION_CREATE: "integration-connection:create";
140
+ readonly SANDBOX_READ: "sandbox:read";
141
+ readonly SANDBOX_CREATE: "sandbox:create";
142
+ readonly SANDBOX_UPDATE: "sandbox:update";
143
+ readonly SANDBOX_DELETE: "sandbox:delete";
144
+ readonly DATA_TABLE_CREATE: "data-table:create";
145
+ readonly DATA_TABLE_UPDATE: "data-table:update";
146
+ readonly DATA_TABLE_DELETE: "data-table:delete";
147
+ readonly DATA_TABLE_ROW_CREATE: "data-table-row:create";
148
+ readonly DATA_TABLE_ROW_UPDATE: "data-table-row:update";
149
+ readonly DATA_TABLE_ROW_DELETE: "data-table-row:delete";
150
+ readonly TASK_QUEUE_READ: "task-queue:read";
151
+ readonly TASK_QUEUE_CREATE: "task-queue:create";
152
+ readonly TASK_QUEUE_UPDATE: "task-queue:update";
153
+ readonly TASK_QUEUE_DELETE: "task-queue:delete";
154
+ readonly RUNNER_READ: "runner:read";
155
+ readonly RUNNER_CREATE: "runner:create";
156
+ readonly RUNNER_UPDATE: "runner:update";
157
+ readonly RUNNER_DELETE: "runner:delete";
158
+ readonly TOOL_APPROVAL_REQUEST_READ: "tool-approval-request:read";
159
+ readonly TOOL_APPROVAL_REQUEST_EXECUTE: "tool-approval-request:execute";
160
+ };
161
+ type FluidGridsPermission = (typeof FLUIDGRIDS_PERMISSIONS)[keyof typeof FLUIDGRIDS_PERMISSIONS];
162
+ export { FluidGridsTranslationProviderProps as A, isFluidGridsClientReady as C, refreshNodeRegistry as D, waitForFluidGridsClient as E, useTr as M, ENGLISH_FALLBACK_TRANSLATOR as O, getFluidGridsClientSafe as S, setFluidGridsClient as T, resetGlobalStoreClient as _, FluidGridsPermissionsProviderProps as a, createFluidGridsClient as b, SdkPermissionButton as c, SdkPermissionGateProps as d, evaluatePermissionCheck as f, getGlobalStoreClient as g, createGlobalStoreClient as h, FluidGridsPermissionsProvider as i, Translator as j, FluidGridsTranslationProvider as k, SdkPermissionButtonProps as l, GlobalClientConfig as m, FluidGridsPermission as n, FluidGridsPermissionsValue as o, useFluidGridsPermission as p, ALLOW_ALL_PERMISSIONS as r, PermissionCheck as s, FLUIDGRIDS_PERMISSIONS as t, SdkPermissionGate as u, setGlobalStoreClient as v, resetFluidGridsClient as w, getFluidGridsClient as x, FluidGridsClientConfig as y };
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
+ import { t as cn } from "./cn-QqidFIgr.js";
4
+ import { forwardRef } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { XIcon } from "lucide-react";
7
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
8
+
9
+ // src/ui/input.tsx
10
+ const Input = forwardRef(({ className, type, ...props }, ref) => {
11
+ return /* @__PURE__ */ jsx("input", {
12
+ type,
13
+ className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
14
+ ref,
15
+ ...props
16
+ });
17
+ });
18
+ Input.displayName = "Input";
19
+
20
+ // src/ui/dialog.tsx
21
+ function Dialog({ ...props }) {
22
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, {
23
+ "data-slot": "dialog",
24
+ ...props
25
+ });
26
+ }
27
+ function DialogTrigger({ ...props }) {
28
+ return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, {
29
+ "data-slot": "dialog-trigger",
30
+ ...props
31
+ });
32
+ }
33
+ function DialogPortal({ ...props }) {
34
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, {
35
+ "data-slot": "dialog-portal",
36
+ ...props
37
+ });
38
+ }
39
+ function DialogClose({ ...props }) {
40
+ return /* @__PURE__ */ jsx(DialogPrimitive.Close, {
41
+ "data-slot": "dialog-close",
42
+ ...props
43
+ });
44
+ }
45
+ function DialogOverlay({ className, ...props }) {
46
+ return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
47
+ "data-slot": "dialog-overlay",
48
+ className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-bg-overlay", className),
49
+ ...props
50
+ });
51
+ }
52
+ function DialogContent({ className, children, showCloseButton = true, size = "default", ...props }) {
53
+ const tr = useTr();
54
+ return /* @__PURE__ */ jsxs(DialogPortal, {
55
+ "data-slot": "dialog-portal",
56
+ children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
57
+ "data-slot": "dialog-content",
58
+ className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none", {
59
+ default: "sm:max-w-lg",
60
+ lg: "sm:max-w-3xl",
61
+ xl: "sm:max-w-[1400px] w-[90vw]",
62
+ full: "sm:max-w-[95vw] w-[95vw]"
63
+ }[size], className),
64
+ ...props,
65
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, {
66
+ "data-slot": "dialog-close",
67
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",
68
+ children: [/* @__PURE__ */ jsx(XIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
69
+ className: "sr-only",
70
+ children: tr("fluidgrids.ui.dialog.closeLabel", "Close")
71
+ })]
72
+ })]
73
+ })]
74
+ });
75
+ }
76
+ function DialogHeader({ className, ...props }) {
77
+ return /* @__PURE__ */ jsx("div", {
78
+ "data-slot": "dialog-header",
79
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
80
+ ...props
81
+ });
82
+ }
83
+ function DialogFooter({ className, ...props }) {
84
+ return /* @__PURE__ */ jsx("div", {
85
+ "data-slot": "dialog-footer",
86
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
87
+ ...props
88
+ });
89
+ }
90
+ function DialogTitle({ className, ...props }) {
91
+ return /* @__PURE__ */ jsx(DialogPrimitive.Title, {
92
+ "data-slot": "dialog-title",
93
+ className: cn("text-lg leading-none font-semibold", className),
94
+ ...props
95
+ });
96
+ }
97
+ function DialogDescription({ className, ...props }) {
98
+ return /* @__PURE__ */ jsx(DialogPrimitive.Description, {
99
+ "data-slot": "dialog-description",
100
+ className: cn("text-muted-foreground text-sm", className),
101
+ ...props
102
+ });
103
+ }
104
+
105
+ export { DialogFooter as a, DialogPortal as c, Input as d, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog as t, DialogTrigger as u };
@@ -1,3 +1,3 @@
1
1
 
2
- import { n as ExecutionsListPage, t as ExecutionDetailPage } from "./ExecutionDetailPage-MvsnOnE1.js";
2
+ import { r as ExecutionsListPage, t as ExecutionDetailPage } from "./ExecutionDetailPage-DvQ667OE.js";
3
3
  export { ExecutionDetailPage, ExecutionsListPage };
@@ -1,4 +1,5 @@
1
1
  "use client";
2
- import { t as ExecutionDetailPage, y as ExecutionsListPage } from "./ExecutionDetailPage-DO38vZ_F.js";
2
+ import { t as ExecutionsListPage } from "./ExecutionsListPage-BCUJoAIE.js";
3
+ import { t as ExecutionDetailPage } from "./ExecutionDetailPage-BdcZmLT4.js";
3
4
 
4
5
  export { ExecutionDetailPage, ExecutionsListPage };