@burdenoff/fluidgrids-fe-sdk 2026.1111.16 → 2026.1111.18

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 (119) hide show
  1. package/README.md +41 -0
  2. package/dist/AiStudioPage-BHVEU4Wp.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-D-0_POAf.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-DmvFADFa.js → FluidGridsProvider-dvZSNtSW.js} +10 -350
  12. package/dist/HistoryPage-BLoRpJ1R.d.ts +6 -0
  13. package/dist/{HistoryPage-BbUgxx1I.js → HistoryPage-U0tqupBN.js} +6 -4
  14. package/dist/HumanRequestCard-D-ooVPDn.js +439 -0
  15. package/dist/{InsightsPage-s6f5bU-8.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-B-9gHy2K.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-DsSaz-vg.js → SettingsPage-CJLZvv4J.js} +743 -773
  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-D_Mvgxqa.js → TemplateConfigurationModal-BhGWIzpm.js} +3 -2
  32. package/dist/{TemplateDetailPanel-DfFfUcOe.js → TemplateDetailPanel-D4cUVr-m.js} +3 -3
  33. package/dist/TemplatePreview-FayF6jxh.js +231 -0
  34. package/dist/TemplatesPage-BG3H-6v6.d.ts +10 -0
  35. package/dist/{TemplatesPage-Cku13bav.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-CPnXEL5J.js +555 -0
  39. package/dist/{WorkflowSearchRedirect-CaoOOpEl.js → WorkflowBuilder-YXRysvZc.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-mbIwRQUY.js +168 -0
  43. package/dist/WorkflowsList-CcNDQge5.d.ts +6 -0
  44. package/dist/{WorkflowsList-B2j1Pehb.js → WorkflowsList-DiiGyZkT.js} +12 -6
  45. package/dist/agent-form-Bfvm32j1.js +83 -0
  46. package/dist/{agentTools-DJ5o2ekg.js → agentTools-8s_25Q_F.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-D3zUdEeg.js → canvasNoteTools-B6pYARgU.js} +2 -2
  52. package/dist/client-C9XSzSXr.js +1147 -0
  53. package/dist/code-editor-field-9-GdVE_8.js +111 -0
  54. package/dist/{codec-client-DstqyzTN.js → codec-client-CJ95Rmqo.js} +1 -1
  55. package/dist/constants-B2lhWNoN.js +202 -0
  56. package/dist/constants-XdvUxeWK.d.ts +162 -0
  57. package/dist/dialog-Cjb4lB4D.js +105 -0
  58. package/dist/executions.d.ts +1 -1
  59. package/dist/executions.js +2 -1
  60. package/dist/feature-flags-DM5myWaD.js +296 -0
  61. package/dist/flags.d.ts +3 -0
  62. package/dist/flags.js +4 -0
  63. package/dist/{flow-builder-DEzT8TQu.js → flow-builder-CZDKRc6f.js} +662 -10716
  64. package/dist/{node-endpoint-configs-DHFGA5MQ.js → graphql-operation-types-kX-MMjgW.js} +1 -1194
  65. package/dist/{graphql-types-XcDLtFwU.js → graphql-types-CDKVWH2R.js} +2 -202
  66. package/dist/history.d.ts +1 -1
  67. package/dist/history.js +1 -1
  68. package/dist/{index-DRf25-D3.d.ts → index-6JR2vD9J.d.ts} +33 -215
  69. package/dist/index-72XFgvbn.d.ts +132 -0
  70. package/dist/index-BcdtKBM-.d.ts +56 -0
  71. package/dist/{index-B3BWqafN.d.ts → index-DjiFgEQl.d.ts} +5 -131
  72. package/dist/index.d.ts +13 -9
  73. package/dist/index.js +52 -5300
  74. package/dist/{node-detail-view-LNqeIqN-.js → node-detail-view-CV4ZRwqh.js} +13 -8
  75. package/dist/node-editor-tab-body-DU-dh35X.js +174 -0
  76. package/dist/node-endpoint-configs-B5bjNMDW.js +37 -0
  77. package/dist/node-registry-refresh-Dy0uRg9f.js +84 -0
  78. package/dist/nodes.d.ts +1 -1
  79. package/dist/nodes.js +1 -1
  80. package/dist/observability.d.ts +1 -1
  81. package/dist/observability.js +2 -1
  82. package/dist/popover-BJHvrFGR.js +472 -0
  83. package/dist/{quick-config-panel-D3ogsaFL.js → quick-config-panel-ws3pLvbt.js} +3 -2
  84. package/dist/rolldown-runtime-hDbaFkMy.js +18 -0
  85. package/dist/run-display-BycKYSU0.js +46 -0
  86. package/dist/run-list-links-ByYC0OlV.js +98 -0
  87. package/dist/schedule-panel-C0mfGQSD.js +7542 -0
  88. package/dist/settings.d.ts +2 -1
  89. package/dist/settings.js +2 -1
  90. package/dist/shared-CMfn30xT.js +196 -0
  91. package/dist/sidebar-node-editor-CR1PiZO-.js +177 -0
  92. package/dist/templates.d.ts +1 -1
  93. package/dist/templates.js +2 -1
  94. package/dist/theme-provider-B3mIuz2d.js +11 -0
  95. package/dist/{useAgentDefinitions-NFtLytDR.js → useAgentDefinitions-B0dam3_o.js} +3 -397
  96. package/dist/useConnections-Cs7LCWEM.js +401 -0
  97. package/dist/useDurableParity-CzUQMFJ3.js +415 -0
  98. package/dist/useEntityTags-DhnsZcTl.js +236 -0
  99. package/dist/{useExecutions-DAzeWHS6.js → useExecutions-9aLuOt1c.js} +4 -3
  100. package/dist/{useObservability-COCZ0hUS.js → useObservability-CfEw3ZFD.js} +2 -2
  101. package/dist/{useRunHistory-CsYUbouO.js → useRunHistory-B1xJDwl1.js} +4 -3
  102. package/dist/{WorkflowShareDialog-6RRDe-_v.js → useWorkflowCodeExport-Bu2QYJzA.js} +7 -210
  103. package/dist/{useWorkflows-w4Dx2fF2.js → useWorkflows-BlVVu8NM.js} +3 -2
  104. package/dist/utils-uaL5UVxb.js +65 -0
  105. package/dist/workflow-builder.d.ts +1 -1
  106. package/dist/workflow-builder.js +4 -2
  107. package/dist/workflow-host.d.ts +6 -0
  108. package/dist/workflow-host.js +9 -0
  109. package/dist/workflow-pages.d.ts +55 -0
  110. package/dist/workflow-pages.js +113 -0
  111. package/dist/workflows-list.d.ts +1 -1
  112. package/dist/workflows-list.js +1 -1
  113. package/package.json +13 -1
  114. package/dist/ExecutionDetailPage-MvsnOnE1.d.ts +0 -4
  115. package/dist/HistoryPage-BqUizaFv.d.ts +0 -3
  116. package/dist/NodesPage-C97-9K2Y.d.ts +0 -3
  117. package/dist/TemplatesPage-D0qnXzHh.d.ts +0 -4
  118. package/dist/WorkflowsList-0d5GSKdh.d.ts +0 -3
  119. package/dist/agent-form-BvMWhQ42.js +0 -496
@@ -0,0 +1,401 @@
1
+ "use client";
2
+ import { _ as throwIfResultError, n as getFluidGridsClient } from "./client-C9XSzSXr.js";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ import { gql } from "@apollo/client";
5
+
6
+ // src/modules/connections/hooks/useConnections.ts
7
+ /**
8
+ * Custom hooks for fetching connections from the integrations service.
9
+ *
10
+ * These hooks query the wspace-integrations-svc via the federated GraphQL gateway.
11
+ * Connections replace the legacy credentials system for third-party authentication.
12
+ */
13
+ const PROVIDER_FIELDS = gql`
14
+ fragment ProviderFields on IntegrationProvider {
15
+ id
16
+ key
17
+ name
18
+ description
19
+ category
20
+ authType
21
+ icon
22
+ color
23
+ website
24
+ docsUrl
25
+ isBuiltIn
26
+ isEnabled
27
+ availableScopes
28
+ # How this provider can be authenticated, as data. The builder renders the
29
+ # form from this rather than from a per-provider React component, so a
30
+ # provider or a new method added by an administrator shows up here with no
31
+ # frontend change.
32
+ authMethods {
33
+ key
34
+ displayName
35
+ description
36
+ flow
37
+ authType
38
+ configSchema
39
+ availableScopes
40
+ defaultScopes
41
+ isConfigured
42
+ isEnabled
43
+ displayOrder
44
+ }
45
+ }
46
+ `;
47
+ const CONNECTION_FIELDS = gql`
48
+ ${PROVIDER_FIELDS}
49
+ fragment ConnectionFields on IntegrationConnection {
50
+ id
51
+ name
52
+ description
53
+ providerId
54
+ provider {
55
+ ...ProviderFields
56
+ }
57
+ status
58
+ lastHealthCheck
59
+ lastUsedAt
60
+ errorMessage
61
+ externalAccountId
62
+ externalAccountEmail
63
+ externalAccountName
64
+ grantedScopes
65
+ createdBy
66
+ createdAt
67
+ updatedAt
68
+ visibility
69
+ myAccess
70
+ canUse
71
+ }
72
+ `;
73
+ const GET_CONNECTIONS = gql`
74
+ ${CONNECTION_FIELDS}
75
+ query GetConnections(
76
+ $filter: ConnectionFilterInput
77
+ $pagination: IntegrationsPaginationInput
78
+ ) {
79
+ getConnections(filter: $filter, pagination: $pagination) {
80
+ items {
81
+ ...ConnectionFields
82
+ }
83
+ total
84
+ hasMore
85
+ }
86
+ }
87
+ `;
88
+ const GET_CONNECTION = gql`
89
+ ${CONNECTION_FIELDS}
90
+ query GetConnection($id: ID!) {
91
+ getConnection(id: $id) {
92
+ ...ConnectionFields
93
+ }
94
+ }
95
+ `;
96
+ const GET_CONNECTIONS_BY_PROVIDER = gql`
97
+ ${CONNECTION_FIELDS}
98
+ query GetConnectionsByProvider(
99
+ $providerId: ID!
100
+ $pagination: IntegrationsPaginationInput
101
+ ) {
102
+ getConnectionsByProvider(providerId: $providerId, pagination: $pagination) {
103
+ items {
104
+ ...ConnectionFields
105
+ }
106
+ total
107
+ hasMore
108
+ }
109
+ }
110
+ `;
111
+ const GET_PROVIDERS = gql`
112
+ ${PROVIDER_FIELDS}
113
+ query GetProviders(
114
+ $filter: ProviderFilterInput
115
+ $pagination: IntegrationsPaginationInput
116
+ ) {
117
+ getProviders(filter: $filter, pagination: $pagination) {
118
+ items {
119
+ ...ProviderFields
120
+ }
121
+ total
122
+ hasMore
123
+ }
124
+ }
125
+ `;
126
+ const INITIATE_OAUTH = gql`
127
+ mutation InitiateOAuth($input: InitiateOAuthInput!) {
128
+ initiateOAuth(input: $input) {
129
+ redirectUrl
130
+ state
131
+ }
132
+ }
133
+ `;
134
+ const CREATE_CONNECTION = gql`
135
+ ${CONNECTION_FIELDS}
136
+ mutation CreateConnection($input: CreateConnectionInput!) {
137
+ createConnection(input: $input) {
138
+ ...ConnectionFields
139
+ }
140
+ }
141
+ `;
142
+ /** Page size the integrations service allows; it clamps larger limits to 100. */
143
+ const CONNECTIONS_PAGE_SIZE = 100;
144
+ /**
145
+ * Every page of a connection list. A picker that accepts any provider (the
146
+ * HTTP Request node) must offer every saved connection, not the first 100.
147
+ *
148
+ * Reads until the server says there is no more, the reported total is reached,
149
+ * or a page adds no connection it has not already returned, so a server that
150
+ * keeps answering `hasMore` without progressing cannot loop forever.
151
+ */
152
+ async function fetchAllConnectionPages(fetchPage) {
153
+ const items = [];
154
+ const seen = /* @__PURE__ */ new Set();
155
+ let total = 0;
156
+ let hasMore = false;
157
+ for (let offset = 0;; offset += 100) {
158
+ const result = await fetchPage(offset);
159
+ const fresh = (result?.items ?? []).filter((item) => !seen.has(item.id));
160
+ for (const item of fresh) {
161
+ seen.add(item.id);
162
+ items.push(item);
163
+ }
164
+ total = result?.total ?? items.length;
165
+ hasMore = result?.hasMore ?? false;
166
+ if (!hasMore || fresh.length === 0 || items.length >= total) break;
167
+ }
168
+ return {
169
+ items,
170
+ total,
171
+ hasMore: hasMore && items.length < total
172
+ };
173
+ }
174
+ /**
175
+ * Hook to fetch list of connections from the integrations service.
176
+ */
177
+ function useConnections(filter) {
178
+ const [connections, setConnections] = useState([]);
179
+ const [total, setTotal] = useState(0);
180
+ const [hasMore, setHasMore] = useState(false);
181
+ const [loading, setLoading] = useState(true);
182
+ const [error, setError] = useState(null);
183
+ const filterKey = JSON.stringify(filter);
184
+ const fetchData = useCallback(async () => {
185
+ setLoading(true);
186
+ setError(null);
187
+ try {
188
+ const client = getFluidGridsClient();
189
+ const parsedFilter = filterKey ? JSON.parse(filterKey) : void 0;
190
+ const list = await fetchAllConnectionPages(async (offset) => {
191
+ return (await client.query({
192
+ query: GET_CONNECTIONS,
193
+ variables: {
194
+ filter: parsedFilter,
195
+ pagination: {
196
+ limit: 100,
197
+ offset
198
+ }
199
+ },
200
+ fetchPolicy: "network-only"
201
+ })).data?.getConnections;
202
+ });
203
+ setConnections(list.items);
204
+ setTotal(list.total);
205
+ setHasMore(list.hasMore);
206
+ } catch (err) {
207
+ setError(err);
208
+ } finally {
209
+ setLoading(false);
210
+ }
211
+ }, [filterKey]);
212
+ useEffect(() => {
213
+ fetchData();
214
+ }, [fetchData]);
215
+ return {
216
+ connections,
217
+ total,
218
+ hasMore,
219
+ loading,
220
+ error,
221
+ refetch: fetchData
222
+ };
223
+ }
224
+ /**
225
+ * Hook to fetch a single connection by ID.
226
+ */
227
+ function useConnection(connectionId) {
228
+ const [connection, setConnection] = useState(null);
229
+ const [loading, setLoading] = useState(true);
230
+ const [error, setError] = useState(null);
231
+ const fetchData = useCallback(async () => {
232
+ if (!connectionId) {
233
+ setLoading(false);
234
+ return;
235
+ }
236
+ setLoading(true);
237
+ setError(null);
238
+ try {
239
+ const result = await getFluidGridsClient().query({
240
+ query: GET_CONNECTION,
241
+ variables: { id: connectionId },
242
+ fetchPolicy: "cache-first"
243
+ });
244
+ setConnection(result.data?.getConnection ?? null);
245
+ } catch (err) {
246
+ setError(err);
247
+ } finally {
248
+ setLoading(false);
249
+ }
250
+ }, [connectionId]);
251
+ useEffect(() => {
252
+ fetchData();
253
+ }, [fetchData]);
254
+ return {
255
+ connection,
256
+ loading,
257
+ error,
258
+ refetch: fetchData
259
+ };
260
+ }
261
+ /**
262
+ * Hook to fetch connections for a specific provider.
263
+ */
264
+ function useConnectionsByProvider(providerId) {
265
+ const [connections, setConnections] = useState([]);
266
+ const [total, setTotal] = useState(0);
267
+ const [loading, setLoading] = useState(true);
268
+ const [error, setError] = useState(null);
269
+ const fetchData = useCallback(async () => {
270
+ if (!providerId) {
271
+ setLoading(false);
272
+ return;
273
+ }
274
+ setLoading(true);
275
+ setError(null);
276
+ try {
277
+ const result = await getFluidGridsClient().query({
278
+ query: GET_CONNECTIONS_BY_PROVIDER,
279
+ variables: {
280
+ providerId,
281
+ pagination: { limit: 100 }
282
+ },
283
+ fetchPolicy: "network-only"
284
+ });
285
+ setConnections(result.data?.getConnectionsByProvider?.items ?? []);
286
+ setTotal(result.data?.getConnectionsByProvider?.total ?? 0);
287
+ } catch (err) {
288
+ setError(err);
289
+ } finally {
290
+ setLoading(false);
291
+ }
292
+ }, [providerId]);
293
+ useEffect(() => {
294
+ fetchData();
295
+ }, [fetchData]);
296
+ return {
297
+ connections,
298
+ total,
299
+ loading,
300
+ error,
301
+ refetch: fetchData
302
+ };
303
+ }
304
+ /**
305
+ * Hook to fetch available integration providers.
306
+ */
307
+ function useProviders(filter) {
308
+ const [providers, setProviders] = useState([]);
309
+ const [total, setTotal] = useState(0);
310
+ const [loading, setLoading] = useState(true);
311
+ const [error, setError] = useState(null);
312
+ const filterKey = JSON.stringify(filter);
313
+ const fetchData = useCallback(async () => {
314
+ setLoading(true);
315
+ setError(null);
316
+ try {
317
+ const client = getFluidGridsClient();
318
+ const parsedFilter = filterKey ? JSON.parse(filterKey) : void 0;
319
+ const result = await client.query({
320
+ query: GET_PROVIDERS,
321
+ variables: {
322
+ filter: parsedFilter,
323
+ pagination: { limit: 100 }
324
+ },
325
+ fetchPolicy: "cache-first"
326
+ });
327
+ setProviders(result.data?.getProviders?.items ?? []);
328
+ setTotal(result.data?.getProviders?.total ?? 0);
329
+ } catch (err) {
330
+ setError(err);
331
+ } finally {
332
+ setLoading(false);
333
+ }
334
+ }, [filterKey]);
335
+ useEffect(() => {
336
+ fetchData();
337
+ }, [fetchData]);
338
+ return {
339
+ providers,
340
+ total,
341
+ loading,
342
+ error,
343
+ refetch: fetchData
344
+ };
345
+ }
346
+ /**
347
+ * Hook to create a new connection.
348
+ */
349
+ function useCreateConnection() {
350
+ const [loading, setLoading] = useState(false);
351
+ const [error, setError] = useState(null);
352
+ return {
353
+ createConnection: useCallback(async (input) => {
354
+ setLoading(true);
355
+ setError(null);
356
+ try {
357
+ const client = getFluidGridsClient();
358
+ return throwIfResultError(await client.mutate({
359
+ mutation: CREATE_CONNECTION,
360
+ variables: { input }
361
+ })).data?.createConnection ?? null;
362
+ } catch (err) {
363
+ setError(err);
364
+ return null;
365
+ } finally {
366
+ setLoading(false);
367
+ }
368
+ }, []),
369
+ loading,
370
+ error
371
+ };
372
+ }
373
+ /**
374
+ * Hook to initiate OAuth flow for a connection.
375
+ */
376
+ function useInitiateOAuth() {
377
+ const [loading, setLoading] = useState(false);
378
+ const [error, setError] = useState(null);
379
+ return {
380
+ initiateOAuth: useCallback(async (input) => {
381
+ setLoading(true);
382
+ setError(null);
383
+ try {
384
+ const client = getFluidGridsClient();
385
+ return throwIfResultError(await client.mutate({
386
+ mutation: INITIATE_OAUTH,
387
+ variables: { input }
388
+ })).data?.initiateOAuth ?? null;
389
+ } catch (err) {
390
+ setError(err);
391
+ return null;
392
+ } finally {
393
+ setLoading(false);
394
+ }
395
+ }, []),
396
+ loading,
397
+ error
398
+ };
399
+ }
400
+
401
+ export { useInitiateOAuth as a, useCreateConnection as i, useConnections as n, useProviders as o, useConnectionsByProvider as r, useConnection as t };