@burdenoff/fluidgrids-fe-sdk 2026.1113.6 → 2026.1113.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.
Files changed (69) hide show
  1. package/dist/{AiStudioPage-DzvEkuoS.js → AiStudioPage-Di3eW5Lb.js} +4 -4
  2. package/dist/{DataSinkDashboardPage-DYuBqD2Y.js → DataSinkDashboardPage-231cS9dt.js} +1 -1
  3. package/dist/{ExecutionDetailPage-D40dK9iB.js → ExecutionDetailPage-B2jVApvM.js} +9 -6
  4. package/dist/{ExecutionsListPage-C-dujSS3.js → ExecutionsListPage-ZCmFNid9.js} +7 -4
  5. package/dist/{FluidGridsProvider-gB2POEu6.js → FluidGridsProvider-DQP7gPxN.js} +2 -1
  6. package/dist/{HistoryPage-8lQ6xf5Q.js → HistoryPage-C99YGv7V.js} +1 -1
  7. package/dist/{InsightsPage-YC1Bpqiz.js → InsightsPage-ySywDcp_.js} +1 -1
  8. package/dist/{NodesPage-DeBc3zix.js → NodesPage-B8fqXtey.js} +5 -4
  9. package/dist/{PaidTemplateConfirm-BadoJJPx.js → PaidTemplateConfirm-CI6TDivO.js} +1 -1
  10. package/dist/{QuotaExhaustedDialog-BBK3aX_0.js → QuotaExhaustedDialog-nlnRlQ2i.js} +1 -1
  11. package/dist/{SettingsPage-BfBa-qSk.js → SettingsPage-tKzJkG-L.js} +8 -8
  12. package/dist/{TemplateCard-lKGodHU8.js → TemplateCard-UnjAFsS4.js} +2 -2
  13. package/dist/{TemplatePreview-CwJfGqoH.js → TemplatePreview-DYxxlBad.js} +4 -4
  14. package/dist/{TemplatesPage-mRzYPtOC.js → TemplatesPage-Z2LDGg3g.js} +6 -6
  15. package/dist/TranslationBridge-Bd4aJKMs.d.ts +11 -0
  16. package/dist/{VariablesPage-8yuyDzCH.js → VariablesPage-_RKdfiw5.js} +1 -1
  17. package/dist/{WorkflowBuilder-DKqz8W6n.js → WorkflowBuilder-Dp9chOr5.js} +4 -4
  18. package/dist/{WorkflowBuilder-DtSOvYST.js → WorkflowBuilder-LkCC0Arp.js} +6 -6
  19. package/dist/{WorkflowSearchRedirect-mX-YNhkj.js → WorkflowSearchRedirect-DoiDmeyL.js} +1 -1
  20. package/dist/{WorkflowsList-DBKQLEUU.js → WorkflowsList-C86YEuZZ.js} +6 -6
  21. package/dist/agent-tools.d.ts +1 -1
  22. package/dist/agent-tools.js +2 -2
  23. package/dist/{agentTools-Dle04WMj.js → agentTools-BQbgd_wK.js} +3 -3
  24. package/dist/{attach-node-helpers-CNsYtLOR.js → attach-node-helpers-CtV1mej0.js} +1 -1
  25. package/dist/{canvasNoteTools-Bror30X8.js → canvasNoteTools-D9RwHOz4.js} +3 -3
  26. package/dist/{constants-XdvUxeWK.d.ts → constants-svpG-QrV.d.ts} +1 -9
  27. package/dist/entities-I_0kio3q.js +38 -0
  28. package/dist/executions.js +2 -2
  29. package/dist/{flow-builder-CErj7Fgi.js → flow-builder-7gVV3Y8R.js} +125 -26
  30. package/dist/history.js +1 -1
  31. package/dist/{index-Df6NgmmH.d.ts → index-8Ai8teoo.d.ts} +1 -1
  32. package/dist/{index-CHeY7_A1.d.ts → index-BZCX9eJJ.d.ts} +13 -0
  33. package/dist/index.d.ts +4 -3
  34. package/dist/index.js +34 -33
  35. package/dist/{logs-panel-2L4TLGcG.js → logs-panel-Cn4gGng9.js} +1 -1
  36. package/dist/{marksStore-DGCXjTmZ.js → marksStore-a9oIMMot.js} +25 -1
  37. package/dist/{node-detail-view-BqGpYHEE.js → node-detail-view-DtZe2ggI.js} +6 -6
  38. package/dist/{node-editor-tab-body-f2EIl5lh.js → node-editor-tab-body-CFprr94T.js} +3 -3
  39. package/dist/{node-operation-selection-Czeeb2D4.js → node-operation-selection-BGj5YwAS.js} +2 -30
  40. package/dist/node-type-icon-D28t8I64.js +35 -0
  41. package/dist/nodes.js +1 -1
  42. package/dist/observability.d.ts +1 -1
  43. package/dist/observability.js +2 -2
  44. package/dist/{popover-3Vs4f1Uy.js → popover-DuaVzhfH.js} +2 -2
  45. package/dist/proactive.d.ts +66 -0
  46. package/dist/proactive.js +237 -0
  47. package/dist/{quick-config-panel-Aja-lh3W.js → quick-config-panel-CmL27iO-.js} +5 -4
  48. package/dist/{schedule-panel-DCzLeJvi.js → schedule-panel-DIUNqU9B.js} +5 -5
  49. package/dist/settings.js +1 -1
  50. package/dist/{sidebar-node-editor-CWdejdLi.js → sidebar-node-editor-C_mhVSxd.js} +5 -4
  51. package/dist/templates.js +2 -2
  52. package/dist/{uiMarkTools-DZ6akjQK.js → uiMarkTools-B2581Qg-.js} +1 -1
  53. package/dist/{useWorkflowProposal-UtJYycLv.js → use-workflow-tests-BUzndyWO.js} +4 -3265
  54. package/dist/{useAgentDefinitions-DoMEv0kS.js → useAgentDefinitions-CKZ7oDZD.js} +1 -1
  55. package/dist/{useDurableParity-9mQYNpiP.js → useDurableParity-BUSM-z_7.js} +1 -1
  56. package/dist/{useExecutions-BvldyVgF.js → useExecutions-DSZisQHk.js} +1 -1
  57. package/dist/{useGlobalStoreClient-CpTRykJx.js → useGlobalStoreClient-CXPqlK1M.js} +1 -1
  58. package/dist/{useObservability-Cps9Y9a3.js → useObservability-n7Qdc8Xg.js} +1 -1
  59. package/dist/{useRunHistory-DoxQsQIm.js → useRunHistory-Bxs6LrME.js} +1 -1
  60. package/dist/{useWorkflowCodeExport-BLl0hv2J.js → useWorkflowCodeExport-Bj4QY-xY.js} +1 -1
  61. package/dist/useWorkflowProposal-B9vXLKef.js +3280 -0
  62. package/dist/{useWorkflows-Z4M64JlD.js → useWorkflows-BY5b8r9n.js} +1 -1
  63. package/dist/workflow-builder.js +5 -5
  64. package/dist/workflow-host.d.ts +2 -1
  65. package/dist/workflow-pages.d.ts +1 -1
  66. package/dist/workflow-pages.js +15 -15
  67. package/dist/workflow-preview.js +1 -1
  68. package/dist/workflows-list.js +1 -1
  69. package/package.json +7 -3
@@ -0,0 +1,237 @@
1
+ "use client";
2
+ import { n as FLUIDGRIDS_PROACTIVE_ENTITY, r as runSuggestAnchorProps, t as FLUIDGRIDS_PROACTIVE_ACTION } from "./entities-I_0kio3q.js";
3
+ import { n as useAgentMarksStore } from "./marksStore-a9oIMMot.js";
4
+ import { t as WorkflowProposalCard } from "./WorkflowProposalCard-SmRv_Egf.js";
5
+ import { n as FluidGridsTranslationProvider, r as useTr } from "./TranslationBridge-Da-TPgQm.js";
6
+ import { t as useWorkflowProposal } from "./useWorkflowProposal-B9vXLKef.js";
7
+ import { useEffect } from "react";
8
+ import { create } from "zustand";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { toast } from "sonner";
11
+ import { ResponsiveDialog, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogHeader, ResponsiveDialogTitle } from "@burdenoff/fe-libs/ui";
12
+ import { defineProactiveAction } from "@burdenoff/fe-libs/shared/proactive";
13
+ import { z } from "zod";
14
+
15
+ // src/proactive/paths.ts
16
+ /**
17
+ * ★ BOFF-13166: the in-app paths a FluidGrids proactive suggestion may open,
18
+ * and the allowlist the shell gives `ProactiveProvider` as `isAllowedRoute`.
19
+ *
20
+ * The routes are microfe-workflows' (`/workflows/*`) and microfe-integrations'
21
+ * (`/integrations/*`). A path is allowed only when its every segment is a
22
+ * plain id: no query, no fragment, no encoded separators, so a suggestion can
23
+ * only ever open one of these pages, never an arbitrary one.
24
+ */
25
+ /** One path segment: an id, a workflowKey slug or a version such as `v3`. */
26
+ const SEGMENT = "[A-Za-z0-9][A-Za-z0-9_.-]{0,127}";
27
+ const ALLOWED_ROUTES = [
28
+ new RegExp(`^/workflows/runs(?:/${SEGMENT})?$`),
29
+ new RegExp(`^/workflows/workflow/${SEGMENT}(?:/${SEGMENT})?$`),
30
+ /^\/workflows\/list$/,
31
+ /^\/workflows\/insights(?:\/errors)?$/,
32
+ new RegExp(`^/integrations/connections(?:/${SEGMENT})?$`)
33
+ ];
34
+ /** May a proactive `navigate` action open this path in FluidGrids? */
35
+ function isFluidGridsProactiveRoute(path) {
36
+ return ALLOWED_ROUTES.some((route) => route.test(path));
37
+ }
38
+ /** A run's detail page. */
39
+ function proactiveRunPath(runId) {
40
+ return `/workflows/runs/${encodeURIComponent(runId)}`;
41
+ }
42
+ /** A workflow in the builder, at a version when one is given. */
43
+ function proactiveWorkflowPath(workflowKey, version) {
44
+ const base = `/workflows/workflow/${encodeURIComponent(workflowKey)}`;
45
+ return version ? `${base}/${encodeURIComponent(version)}` : base;
46
+ }
47
+ /** A connection's detail page, where the person reconnects it. */
48
+ function proactiveConnectionPath(connectionId) {
49
+ return `/integrations/connections/${encodeURIComponent(connectionId)}`;
50
+ }
51
+
52
+ // src/proactive/proposalReviewStore.ts
53
+ const useProposalReviewStore = create()(() => ({ request: null }));
54
+ let token = 0;
55
+ /** Open the review dialog on a proposal, or on a fix to propose for a run. */
56
+ function requestProposalReview(input) {
57
+ token += 1;
58
+ useProposalReviewStore.setState({ request: {
59
+ ...input,
60
+ token
61
+ } });
62
+ }
63
+ /** Close the review dialog. */
64
+ function closeProposalReview() {
65
+ useProposalReviewStore.setState({ request: null });
66
+ }
67
+
68
+ // src/proactive/actions.ts
69
+ /**
70
+ * ★ BOFF-13166: the FluidGrids proactive action handlers, registered with the
71
+ * shell's `ProactiveProvider` (`actions`). Each one runs only from a person's
72
+ * click on a suggestion card, and its arguments were bound by the backend
73
+ * pack's detector, never by a model; the zod schema below rejects anything
74
+ * else, and an action whose arguments do not validate is not offered at all.
75
+ *
76
+ * - `review-proposal` `{ proposalId }`: opens an existing AI proposal (a
77
+ * run-failure triage cluster's or an optimisation suggestion's) in the same
78
+ * card the run page shows. Applying it creates a new DRAFT version only.
79
+ * - `propose-fix` `{ runId }`: asks the workflow service for a fix to a failed
80
+ * run (`proposeRunFix`, as the person), then shows it in that card once it is
81
+ * ready.
82
+ * - `open-connection` `{ connectionId }`: opens the connection's page, where
83
+ * it is reconnected.
84
+ *
85
+ * Nothing here grants anything: the proposal and the connection are read again
86
+ * through the API under the person's own session, and its `@rbac` decides.
87
+ */
88
+ /** An id as the backend pack binds it (the same bounds fe-libs uses). */
89
+ const ID = z.string().trim().min(1).max(255).regex(/^[A-Za-z0-9][A-Za-z0-9_.-]*$/);
90
+ const REVIEW_PROPOSAL_ARGS = z.strictObject({ proposalId: ID });
91
+ const PROPOSE_FIX_ARGS = z.strictObject({ runId: ID });
92
+ const OPEN_CONNECTION_ARGS = z.strictObject({ connectionId: ID });
93
+ var ProactiveNavigationRefusedError = class extends Error {
94
+ constructor(path) {
95
+ super(`The page ${path} could not be opened.`);
96
+ this.name = "ProactiveNavigationRefusedError";
97
+ }
98
+ };
99
+ /** The FluidGrids handlers, by action type, for `ProactiveProvider`'s `actions`. */
100
+ function createFluidGridsProactiveActions() {
101
+ return {
102
+ [FLUIDGRIDS_PROACTIVE_ACTION.reviewProposal]: defineProactiveAction({
103
+ args: REVIEW_PROPOSAL_ARGS,
104
+ run: ({ proposalId }) => {
105
+ requestProposalReview({
106
+ kind: "review",
107
+ proposalId
108
+ });
109
+ }
110
+ }),
111
+ [FLUIDGRIDS_PROACTIVE_ACTION.proposeFix]: defineProactiveAction({
112
+ args: PROPOSE_FIX_ARGS,
113
+ run: ({ runId }) => {
114
+ requestProposalReview({
115
+ kind: "runFix",
116
+ runId
117
+ });
118
+ }
119
+ }),
120
+ [FLUIDGRIDS_PROACTIVE_ACTION.openConnection]: defineProactiveAction({
121
+ args: OPEN_CONNECTION_ARGS,
122
+ run: ({ connectionId }, context) => {
123
+ const path = proactiveConnectionPath(connectionId);
124
+ if (!context.navigate(path)) throw new ProactiveNavigationRefusedError(path);
125
+ }
126
+ })
127
+ };
128
+ }
129
+
130
+ // src/proactive/workflowAnchorAdapter.ts
131
+ /** Is this anchor the saved workflow open on the canvas? */
132
+ function canvasResolvesAnchor(anchor) {
133
+ const canvas = useAgentMarksStore.getState().canvas;
134
+ return canvas !== null && anchor.entityType === FLUIDGRIDS_PROACTIVE_ENTITY.workflow && anchor.entityId === canvas.workflowKey;
135
+ }
136
+ const fluidGridsWorkflowAnchorAdapter = {
137
+ canResolve: canvasResolvesAnchor,
138
+ update: (suggestions, controls) => {
139
+ useAgentMarksStore.getState().actions.setCanvasSuggestions(suggestions, suggestions.length === 0 ? null : controls);
140
+ }
141
+ };
142
+ /** The adapters to pass as `ProactiveProvider`'s `anchorAdapters`. */
143
+ const FLUIDGRIDS_PROACTIVE_ANCHOR_ADAPTERS = { [FLUIDGRIDS_PROACTIVE_ENTITY.workflow]: fluidGridsWorkflowAnchorAdapter };
144
+
145
+ // src/proactive/ProactiveProposalReview.tsx
146
+ /**
147
+ * ★ BOFF-13166: the review dialog behind the proactive `review-proposal` and
148
+ * `propose-fix` actions.
149
+ *
150
+ * The shell mounts one. When a suggestion's action puts a request in
151
+ * `proposalReviewStore`, the dialog opens on it and shows the same
152
+ * `WorkflowProposalCard` the run page shows (BOFF-3662):
153
+ *
154
+ * - `review`: the existing proposal is read, and polled while it is still
155
+ * PROCESSING;
156
+ * - `runFix`: `proposeRunFix` is called as the person, exactly as the run
157
+ * page's "Propose a fix" does, and the card appears once the proposal is
158
+ * ready.
159
+ *
160
+ * Apply creates a new DRAFT version and never activates anything; Reject and
161
+ * Cancel are the card's own. The workspace gateway's `@rbac` decides every one
162
+ * of these calls; a refusal is shown as the card's error.
163
+ */
164
+ const ProactiveProposalReview = ({ client, onOpenWorkflow }) => {
165
+ const tr = useTr();
166
+ const request = useProposalReviewStore((state) => state.request);
167
+ const proposal = useWorkflowProposal({ client: client ?? null });
168
+ const { start, open, reset } = proposal;
169
+ const token = request?.token ?? null;
170
+ const kind = request?.kind ?? null;
171
+ const target = request === null ? null : request.kind === "review" ? request.proposalId : request.runId;
172
+ useEffect(() => {
173
+ if (token === null || kind === null || target === null) return;
174
+ if (kind === "review") open(target);
175
+ else start({
176
+ kind: "runFix",
177
+ runId: target
178
+ });
179
+ }, [
180
+ token,
181
+ kind,
182
+ target,
183
+ open,
184
+ start
185
+ ]);
186
+ const close = () => {
187
+ closeProposalReview();
188
+ reset();
189
+ };
190
+ const apply = async () => {
191
+ const applied = await proposal.apply();
192
+ const appliedStatus = applied ? String(applied.status) : void 0;
193
+ if (appliedStatus === "APPLIED") toast.success(tr("fluidgrids.ai.runAssist.appliedToast", "Fix saved as draft {{version}}", { version: applied?.appliedVersion ?? "" }));
194
+ else if (appliedStatus === "STALE") toast.warning(tr("fluidgrids.ai.runAssist.staleToast", "The workflow changed since this run. Propose the fix again."));
195
+ };
196
+ const openWorkflow = (workflowKey, version) => {
197
+ close();
198
+ onOpenWorkflow(workflowKey, version);
199
+ };
200
+ return /* @__PURE__ */ jsx(ResponsiveDialog, {
201
+ open: request !== null,
202
+ onOpenChange: (next) => {
203
+ if (!next) close();
204
+ },
205
+ children: /* @__PURE__ */ jsxs(ResponsiveDialogContent, {
206
+ className: "max-h-[85vh] overflow-y-auto sm:max-w-2xl",
207
+ "data-agent": "deny",
208
+ "data-testid": "proactive-proposal-review",
209
+ children: [
210
+ /* @__PURE__ */ jsxs(ResponsiveDialogHeader, { children: [/* @__PURE__ */ jsx(ResponsiveDialogTitle, { children: kind === "runFix" ? tr("fluidgrids.proactive.review.fixTitle", "Proposed fix") : tr("fluidgrids.proactive.review.title", "Proposed change") }), /* @__PURE__ */ jsx(ResponsiveDialogDescription, { children: tr("fluidgrids.proactive.review.description", "Applying saves the change as a new draft version. Nothing runs until you activate it.") })] }),
211
+ proposal.isWorking && !proposal.proposal && /* @__PURE__ */ jsx("p", {
212
+ className: "text-sm text-text-secondary",
213
+ "data-testid": "proactive-proposal-working",
214
+ children: kind === "runFix" ? tr("fluidgrids.ai.runAssist.proposing", "Proposing…") : tr("fluidgrids.proactive.review.loading", "Loading…")
215
+ }),
216
+ proposal.error && /* @__PURE__ */ jsx("p", {
217
+ className: "text-sm text-[var(--color-status-error-text)]",
218
+ children: proposal.error
219
+ }),
220
+ proposal.timedOut && /* @__PURE__ */ jsx("p", {
221
+ className: "text-sm text-text-secondary",
222
+ children: tr("fluidgrids.ai.runAssist.timedOut", "The fix is taking longer than usual. Check back in a minute.")
223
+ }),
224
+ proposal.proposal && /* @__PURE__ */ jsx(WorkflowProposalCard, {
225
+ proposal: proposal.proposal,
226
+ isDeciding: proposal.isDeciding,
227
+ onOpenWorkflow: openWorkflow,
228
+ onApply: () => void apply(),
229
+ onReject: () => void proposal.reject(),
230
+ onCancel: () => void proposal.cancel()
231
+ })
232
+ ]
233
+ })
234
+ });
235
+ };
236
+
237
+ export { FLUIDGRIDS_PROACTIVE_ACTION, FLUIDGRIDS_PROACTIVE_ANCHOR_ADAPTERS, FLUIDGRIDS_PROACTIVE_ENTITY, FluidGridsTranslationProvider, OPEN_CONNECTION_ARGS, PROPOSE_FIX_ARGS, ProactiveNavigationRefusedError, ProactiveProposalReview, REVIEW_PROPOSAL_ARGS, canvasResolvesAnchor, closeProposalReview, createFluidGridsProactiveActions, fluidGridsWorkflowAnchorAdapter, isFluidGridsProactiveRoute, proactiveConnectionPath, proactiveRunPath, proactiveWorkflowPath, requestProposalReview, runSuggestAnchorProps, useProposalReviewStore };
@@ -1,9 +1,10 @@
1
1
  "use client";
2
- import { A as NodeTypeIcon, M as useFlowStore, k as nodeAccent } from "./node-operation-selection-Czeeb2D4.js";
3
- import { F as nodeTitle, In as getNodeDetail, Jt as useNodeExecution, P as nodeSubtitle, z as useNodeConfig } from "./FluidGridsProvider-gB2POEu6.js";
4
- import { i as NodeInputFields, n as useNodeEditorTab, r as NodeEditorTabs, t as NodeEditorTabBody } from "./node-editor-tab-body-f2EIl5lh.js";
2
+ import { t as NodeTypeIcon } from "./node-type-icon-D28t8I64.js";
3
+ import { A as useFlowStore, k as nodeAccent } from "./node-operation-selection-BGj5YwAS.js";
4
+ import { F as nodeTitle, In as getNodeDetail, Jt as useNodeExecution, P as nodeSubtitle, z as useNodeConfig } from "./FluidGridsProvider-DQP7gPxN.js";
5
+ import { i as NodeInputFields, n as useNodeEditorTab, r as NodeEditorTabs, t as NodeEditorTabBody } from "./node-editor-tab-body-CFprr94T.js";
5
6
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
6
- import { r as NodeExecutionActions } from "./schedule-panel-DCzLeJvi.js";
7
+ import { r as NodeExecutionActions } from "./schedule-panel-DIUNqU9B.js";
7
8
  import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
8
9
  import { useReactFlow, useStore } from "@xyflow/react";
9
10
  import { Icon } from "@iconify/react";
@@ -2,17 +2,17 @@
2
2
  import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
3
3
  import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
4
4
  import { n as getFluidGridsClient, r as getFluidGridsClientSafe } from "./client-Ctl4jmY3.js";
5
- import { M as useFlowStore } from "./node-operation-selection-Czeeb2D4.js";
6
- import { $ as missingRequiredParameters, $t as parseParameterValue, F as nodeTitle, G as resolveLoadOptionsSpec, H as isStringOptionList, I as optionText, J as casesFromRules, K as ConditionTreeBuilder, L as paramsFromOperation, M as coerceNumber, Q as boundFieldsOf, Qt as formatParameterValue, U as optionListText, W as optionListValues, X as parseMappingValue, an as openRunQuotaUpgradePrompt, en as structuredParameterType, in as useFluidGridsAnalytics, j as asRecord, k as useRunGuard, q as SwitchRulesEditor, rn as isParamVisible, t as FluidGridsContext, yt as useSaveStatusStore } from "./FluidGridsProvider-gB2POEu6.js";
5
+ import { A as useFlowStore } from "./node-operation-selection-BGj5YwAS.js";
6
+ import { $ as missingRequiredParameters, $t as parseParameterValue, F as nodeTitle, G as resolveLoadOptionsSpec, H as isStringOptionList, I as optionText, J as casesFromRules, K as ConditionTreeBuilder, L as paramsFromOperation, M as coerceNumber, Q as boundFieldsOf, Qt as formatParameterValue, U as optionListText, W as optionListValues, X as parseMappingValue, an as openRunQuotaUpgradePrompt, en as structuredParameterType, in as useFluidGridsAnalytics, j as asRecord, k as useRunGuard, q as SwitchRulesEditor, rn as isParamVisible, t as FluidGridsContext, yt as useSaveStatusStore } from "./FluidGridsProvider-DQP7gPxN.js";
7
7
  import { n as useBuilderReadOnly } from "./read-only-context-Dt9N9SIG.js";
8
8
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
9
9
  import { L as triggerSchedule, T as pauseSchedule, t as backfillSchedule, u as describeSchedule, z as unpauseSchedule } from "./api-CEnNq15C.js";
10
- import { on as PreviewScheduleDocument, t as useAgentDefinitionList, vt as useRunFromNodeEligibilityQuery } from "./useAgentDefinitions-DoMEv0kS.js";
10
+ import { on as PreviewScheduleDocument, t as useAgentDefinitionList, vt as useRunFromNodeEligibilityQuery } from "./useAgentDefinitions-CKZ7oDZD.js";
11
11
  import { r as describeRule, s as isAgentNodeType } from "./agent-form-D0uLvzx4.js";
12
- import { a as ConnectionSelector, c as StopWebhookTestListenerDocument, i as RunOnSection, l as ListenForWebhookTestEventDocument, n as PopoverContent$1, o as WorkflowCallInputsDocument, r as PopoverTrigger$1, s as WebhookTestListenerDocument, t as Popover$1, u as ListenForFormTestSubmissionDocument } from "./popover-3Vs4f1Uy.js";
12
+ import { a as ConnectionSelector, c as StopWebhookTestListenerDocument, i as RunOnSection, l as ListenForWebhookTestEventDocument, n as PopoverContent$1, o as WorkflowCallInputsDocument, r as PopoverTrigger$1, s as WebhookTestListenerDocument, t as Popover$1, u as ListenForFormTestSubmissionDocument } from "./popover-DuaVzhfH.js";
13
13
  import { a as collectExtensions } from "./quota-Cdt8yz7N.js";
14
14
  import { CI as WorkflowScheduleOverlapPolicy, pO as ScheduleType } from "./graphql-types-C5Tr6508.js";
15
- import { t as useGlobalStoreClient } from "./useGlobalStoreClient-CpTRykJx.js";
15
+ import { t as useGlobalStoreClient } from "./useGlobalStoreClient-CXPqlK1M.js";
16
16
  import { a as operatorSpec, c as ruleFromRow, i as normaliseAssertRules, n as describeAssertRuleProblem, o as readAssertRulesSetting, r as emptyAssertRuleRow, s as rowsFromRules, t as ASSERT_OPERATORS } from "./assert-rules-C5739QR0.js";
17
17
  import { i as NativeSelect, o as StatusPill, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
18
18
  import { r as normalizeCodeLanguage, t as CodeEditorField } from "./code-editor-field-Cv907s3W.js";
package/dist/settings.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as SettingsPage } from "./SettingsPage-BfBa-qSk.js";
2
+ import { t as SettingsPage } from "./SettingsPage-tKzJkG-L.js";
3
3
  import { t as ManagedAiPolicyAuthorityProvider } from "./ManagedAiPolicyAuthority-BxwJ3ptd.js";
4
4
 
5
5
  export { ManagedAiPolicyAuthorityProvider, SettingsPage };
@@ -1,8 +1,9 @@
1
1
  "use client";
2
- import { A as NodeTypeIcon, M as useFlowStore, k as nodeAccent } from "./node-operation-selection-Czeeb2D4.js";
3
- import { F as nodeTitle, In as getNodeDetail, Jt as useNodeExecution, P as nodeSubtitle, z as useNodeConfig } from "./FluidGridsProvider-gB2POEu6.js";
4
- import { i as NodeInputFields, n as useNodeEditorTab, r as NodeEditorTabs, t as NodeEditorTabBody } from "./node-editor-tab-body-f2EIl5lh.js";
5
- import { r as NodeExecutionActions } from "./schedule-panel-DCzLeJvi.js";
2
+ import { A as useFlowStore, k as nodeAccent } from "./node-operation-selection-BGj5YwAS.js";
3
+ import { F as nodeTitle, In as getNodeDetail, Jt as useNodeExecution, P as nodeSubtitle, z as useNodeConfig } from "./FluidGridsProvider-DQP7gPxN.js";
4
+ import { t as NodeTypeIcon } from "./node-type-icon-D28t8I64.js";
5
+ import { i as NodeInputFields, n as useNodeEditorTab, r as NodeEditorTabs, t as NodeEditorTabBody } from "./node-editor-tab-body-CFprr94T.js";
6
+ import { r as NodeExecutionActions } from "./schedule-panel-DIUNqU9B.js";
6
7
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
7
8
  import { useEffect, useState } from "react";
8
9
  import { Icon } from "@iconify/react";
package/dist/templates.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as TemplatesPage } from "./TemplatesPage-mRzYPtOC.js";
3
- import { t as TemplatePreview } from "./TemplatePreview-CwJfGqoH.js";
2
+ import { t as TemplatesPage } from "./TemplatesPage-Z2LDGg3g.js";
3
+ import { t as TemplatePreview } from "./TemplatePreview-DYxxlBad.js";
4
4
 
5
5
  export { TemplatePreview, TemplatesPage };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
3
3
  import { u as nodesOf } from "./fluidgridsEvents-Dm5CaHtr.js";
4
- import { n as useAgentMarksStore } from "./marksStore-DGCXjTmZ.js";
4
+ import { n as useAgentMarksStore } from "./marksStore-a9oIMMot.js";
5
5
  import { useEffect, useState } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import { Sparkles, X } from "lucide-react";