@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,296 @@
1
+ "use client";
2
+ import { useMemo } from "react";
3
+ import { useOptionalFeatureFlags } from "@burdenoff/fe-libs/shared/feature-flags";
4
+
5
+ // src/feature-flags/index.ts
6
+ /**
7
+ * FluidGrids feature flags evaluated in the builder.
8
+ *
9
+ * Keys are registered in global-tenant-svc (`DEFAULT_PLATFORM_FLAGS`, category
10
+ * `fluidgrids`, so tenant-svc scopes them to FluidGrids) and toggled per
11
+ * workspace from admin.burdenoff.com. wspace-workflow-svc enforces the same
12
+ * keys with `requireFeatureEnabled`, so hiding a control here only mirrors a
13
+ * server-side gate; it is never the gate itself.
14
+ *
15
+ * The SDK runs inside many app shells and only some of them mount
16
+ * `FeatureFlagProvider`, so it reads the optional flag context rather than
17
+ * `useFeatureFlag`, which throws without one. Each flag falls back to its own
18
+ * default (see `FLUIDGRIDS_FLAG_DEFAULTS`).
19
+ */
20
+ const FLUIDGRIDS_FLAGS = {
21
+ /**
22
+ * Operational kill switch for log stream destinations (webhook, syslog,
23
+ * Sentry). Defaults on; an admin turning it off hides the Log streaming
24
+ * settings and the backend rejects destination writes with FEATURE_DISABLED.
25
+ */
26
+ logStreams: "fluidgrids.log-streams",
27
+ /**
28
+ * Code-first workflows (BOFF-9902): the builder's Code view, Export as
29
+ * TypeScript / Python and TypeScript import. A rollout gate, not a kill
30
+ * switch, so it defaults OFF: the controls stay hidden until tenant-svc
31
+ * evaluates the flag on for the workspace, including when the shell mounts
32
+ * no FeatureFlagProvider or the evaluation is still loading.
33
+ */
34
+ codeFirst: "fluidgrids.code-first",
35
+ /**
36
+ * Durable functions (BOFF-9905): the Code Workflow and Wait for Signal
37
+ * nodes, run history, signals and the source editor. A rollout gate like
38
+ * `codeFirst`, so it defaults OFF and fails closed. The durable nodes are
39
+ * shown in the palette only while both this flag and `codeFirst` are on.
40
+ */
41
+ durableFunctions: "fluidgrids.durable-functions",
42
+ /**
43
+ * Durable-function parity (BOFF-9905, spec code-first 11): workflow ids and
44
+ * run chains, run metadata, what a run is waiting on, run counts,
45
+ * completion callbacks, versioning (rollouts, drainage, per-run overrides)
46
+ * and the history caps. A rollout gate like `durableFunctions`, so it
47
+ * defaults OFF and fails closed; the parity surfaces show only while this
48
+ * flag, `durableFunctions` and `codeFirst` are all on.
49
+ */
50
+ durableParity: "fluidgrids.durable-parity",
51
+ /**
52
+ * Phase C (BOFF-9906, PLAN-C §2.1): self-hosted task queues, worker tokens,
53
+ * the task-queue pages and the codec settings. A rollout gate that also
54
+ * needs `codeFirst` and `durableFunctions`, so it defaults OFF and fails
55
+ * closed (see {@link resolvePhaseCFlags}).
56
+ */
57
+ selfHostedWorkers: "fluidgrids.self-hosted-workers",
58
+ /**
59
+ * Phase C run control: updates and queries, reset, activity pause and
60
+ * options, pause rules, signal tokens, batch operations and the Signal Run
61
+ * node. Needs `codeFirst`, plus `durableFunctions` for anything acting on a
62
+ * durable-function run. Defaults OFF, fails closed.
63
+ */
64
+ runControl: "fluidgrids.run-control",
65
+ /**
66
+ * Phase C search attributes: definitions, the runs-list filter, the Set
67
+ * Search Attributes node. Needs `codeFirst`. Defaults OFF, fails closed.
68
+ */
69
+ searchAttributes: "fluidgrids.search-attributes",
70
+ /** Phase C run archival: the archive destination settings. Needs `codeFirst`. */
71
+ runArchival: "fluidgrids.run-archival",
72
+ /**
73
+ * Phase C schedule policies: the schedule panel of a Schedule Trigger
74
+ * (overlap policy, trigger now, backfill, pause with a note). Needs
75
+ * `codeFirst`. Defaults OFF, fails closed.
76
+ */
77
+ schedulePolicies: "fluidgrids.schedule-policies",
78
+ /**
79
+ * Phase C Python durable functions: editing Python sources in the browser
80
+ * editor. Needs `codeFirst` and `durableFunctions`. Defaults OFF.
81
+ */
82
+ pythonDurableFunctions: "fluidgrids.python-durable-functions",
83
+ /**
84
+ * Workflow test suites (BOFF-9960): the builder's Tests panel, saving a run
85
+ * as a test case and the Assert node in the palette. A rollout gate, so it
86
+ * defaults OFF and fails closed; wspace-workflow-svc answers every test-suite
87
+ * field with FEATURE_DISABLED while it is off for the workspace.
88
+ */
89
+ workflowTests: "fluidgrids.workflow-tests",
90
+ /**
91
+ * Continuous optimisation (BOFF-9969): the Suggestions panel on Insights
92
+ * (the per-workspace opt-in, the nightly suggestions, Apply, Dismiss and
93
+ * Snooze). A rollout gate, so it defaults OFF and fails closed;
94
+ * wspace-workflow-svc answers every suggestion field with FEATURE_DISABLED
95
+ * while it is off for the workspace.
96
+ */
97
+ continuousOptimisation: "fluidgrids.continuous-optimisation"
98
+ };
99
+ /**
100
+ * The value each flag takes when it cannot be evaluated (no provider, still
101
+ * loading, or not returned). Kill switches default on so an outage of the
102
+ * flag service never removes a shipped feature; rollout gates default off so
103
+ * it never exposes an unreleased one.
104
+ */
105
+ const FLUIDGRIDS_FLAG_DEFAULTS = {
106
+ [FLUIDGRIDS_FLAGS.logStreams]: true,
107
+ [FLUIDGRIDS_FLAGS.codeFirst]: false,
108
+ [FLUIDGRIDS_FLAGS.durableFunctions]: false,
109
+ [FLUIDGRIDS_FLAGS.durableParity]: false,
110
+ [FLUIDGRIDS_FLAGS.selfHostedWorkers]: false,
111
+ [FLUIDGRIDS_FLAGS.runControl]: false,
112
+ [FLUIDGRIDS_FLAGS.searchAttributes]: false,
113
+ [FLUIDGRIDS_FLAGS.runArchival]: false,
114
+ [FLUIDGRIDS_FLAGS.schedulePolicies]: false,
115
+ [FLUIDGRIDS_FLAGS.pythonDurableFunctions]: false,
116
+ [FLUIDGRIDS_FLAGS.workflowTests]: false,
117
+ [FLUIDGRIDS_FLAGS.continuousOptimisation]: false
118
+ };
119
+ /**
120
+ * Each evaluations map the provider has published as settled (loaded, not
121
+ * fetching), with the workspace it was settled for. The provider replaces the
122
+ * map on every successful fetch and keeps it while a refetch is in flight, so
123
+ * the map itself identifies one completed evaluation.
124
+ */
125
+ const settledEvaluations = /* @__PURE__ */ new WeakMap();
126
+ /**
127
+ * Whether the context's evaluations can be read for the active workspace.
128
+ *
129
+ * Settled: yes, unless the map was settled for another workspace (the
130
+ * provider keeps the old map for the first render after a workspace switch).
131
+ * Fetching: only when this map was already seen settled for this same
132
+ * workspace, i.e. a background refetch (`refreshInterval`, every 5 minutes by
133
+ * default) rather than a first load or a workspace switch. The last known
134
+ * evaluation then stays in force until the refetch settles, instead of the
135
+ * rollout gates blinking off for its duration.
136
+ */
137
+ function evaluationsUsable(context) {
138
+ const { evaluations } = context;
139
+ if (!evaluations) return !context.isLoading;
140
+ const workspace = context.workspaceId ?? null;
141
+ const settledFor = settledEvaluations.get(evaluations);
142
+ if (context.isLoading) return settledFor !== void 0 && settledFor === workspace;
143
+ if (settledFor === void 0) {
144
+ settledEvaluations.set(evaluations, workspace);
145
+ return true;
146
+ }
147
+ return settledFor === workspace;
148
+ }
149
+ /**
150
+ * Resolves one FluidGrids flag from the optional flag context (exported for
151
+ * tests).
152
+ *
153
+ * A kill switch (default on) keeps the resolution it has always had: the
154
+ * evaluated value, else on, and on while the flags are loading.
155
+ * A rollout gate (default off) fails closed, the way wspace-workflow-svc
156
+ * resolves it: it is on only when the flags have loaded without a fetch error
157
+ * and tenant-svc returned an evaluation for it that carries no `errorCode` and
158
+ * the boolean value `true`. No provider, a first load or workspace switch
159
+ * still in flight, a failed fetch, a missing evaluation or an evaluation error
160
+ * all leave it off. A background refetch of the same workspace keeps the last
161
+ * settled evaluation (see `evaluationsUsable`).
162
+ */
163
+ function resolveFluidGridsFlag(context, flag) {
164
+ const fallback = FLUIDGRIDS_FLAG_DEFAULTS[flag];
165
+ if (!context) return fallback;
166
+ if (fallback) {
167
+ if (context.isLoading) return fallback;
168
+ const evaluation = context.getEvaluation(flag);
169
+ return evaluation ? Boolean(evaluation.value) : fallback;
170
+ }
171
+ if (context.error || !evaluationsUsable(context)) return false;
172
+ const evaluation = context.getEvaluation(flag);
173
+ return !!evaluation && !evaluation.errorCode && evaluation.value === true;
174
+ }
175
+ /** Whether a FluidGrids flag is on for the active workspace. */
176
+ function useFluidGridsFlag(flag) {
177
+ const context = useOptionalFeatureFlags();
178
+ return useMemo(() => resolveFluidGridsFlag(context, flag), [context, flag]);
179
+ }
180
+ /**
181
+ * Whether the durable-function nodes (`internal:code-workflow`,
182
+ * `internal:wait-for-signal`) may appear in the builder palette: only while
183
+ * both the code-first and the durable-functions rollout gates are on. Either
184
+ * gate off, unevaluated or failing hides them.
185
+ */
186
+ function useDurableFunctionNodesEnabled() {
187
+ const context = useOptionalFeatureFlags();
188
+ return useMemo(() => resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions), [context]);
189
+ }
190
+ /**
191
+ * Whether the durable-function parity surfaces (BOFF-9905) are shown: only
192
+ * while the code-first, durable-functions and durable-parity rollout gates
193
+ * are all on, the same three flags wspace-workflow-svc checks before it
194
+ * answers a parity field. Any of them off, unevaluated or failing hides them,
195
+ * and the pages then send exactly the requests they sent before.
196
+ */
197
+ function resolveDurableParity(context) {
198
+ return resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableParity);
199
+ }
200
+ /** {@link resolveDurableParity} for the active workspace. */
201
+ function useDurableParityEnabled() {
202
+ const context = useOptionalFeatureFlags();
203
+ return useMemo(() => resolveDurableParity(context), [context]);
204
+ }
205
+ /** Every Phase C gate off: what a shell without the flags sees. */
206
+ const PHASE_C_FLAGS_OFF = Object.freeze({
207
+ runControl: false,
208
+ runControlDurable: false,
209
+ selfHostedWorkers: false,
210
+ searchAttributes: false,
211
+ runArchival: false,
212
+ schedulePolicies: false,
213
+ pythonDurableFunctions: false
214
+ });
215
+ /** Resolves the Phase C gates from the optional flag context (exported for tests). */
216
+ function resolvePhaseCFlags(context) {
217
+ const flag = (key) => resolveFluidGridsFlag(context, key);
218
+ if (!flag(FLUIDGRIDS_FLAGS.codeFirst)) return { ...PHASE_C_FLAGS_OFF };
219
+ const durable = flag(FLUIDGRIDS_FLAGS.durableFunctions);
220
+ const runControl = flag(FLUIDGRIDS_FLAGS.runControl);
221
+ return {
222
+ runControl,
223
+ runControlDurable: runControl && durable,
224
+ selfHostedWorkers: durable && flag(FLUIDGRIDS_FLAGS.selfHostedWorkers),
225
+ searchAttributes: flag(FLUIDGRIDS_FLAGS.searchAttributes),
226
+ runArchival: flag(FLUIDGRIDS_FLAGS.runArchival),
227
+ schedulePolicies: flag(FLUIDGRIDS_FLAGS.schedulePolicies),
228
+ pythonDurableFunctions: durable && flag(FLUIDGRIDS_FLAGS.pythonDurableFunctions)
229
+ };
230
+ }
231
+ /** {@link resolvePhaseCFlags} for the active workspace. */
232
+ function usePhaseCFlags() {
233
+ const context = useOptionalFeatureFlags();
234
+ return useMemo(() => resolvePhaseCFlags(context), [context]);
235
+ }
236
+ /**
237
+ * Whether the rollout gates have settled for the active workspace, so that an
238
+ * off gate means "off" rather than "not evaluated yet" (exported for tests).
239
+ *
240
+ * Settled: no provider (the gates stay off for good), a failed fetch (they
241
+ * fail closed), or evaluations that can be read for this workspace (see
242
+ * `evaluationsUsable`, so a background refetch stays settled). Not settled:
243
+ * the provider's first load, or the first render after a workspace switch.
244
+ * A route that redirects away when its gate is off waits for this, so a deep
245
+ * link to a gated page is not bounced during the first load.
246
+ */
247
+ function resolveFluidGridsFlagsSettled(context) {
248
+ if (!context) return true;
249
+ if (context.error) return true;
250
+ return evaluationsUsable(context);
251
+ }
252
+ /** {@link resolveFluidGridsFlagsSettled} for the active workspace. */
253
+ function useFluidGridsFlagsSettled() {
254
+ const context = useOptionalFeatureFlags();
255
+ return useMemo(() => resolveFluidGridsFlagsSettled(context), [context]);
256
+ }
257
+ /** Whether the self-hosted workers surfaces (task queues, worker tokens) show. */
258
+ function useSelfHostedWorkersEnabled() {
259
+ return usePhaseCFlags().selfHostedWorkers;
260
+ }
261
+ /**
262
+ * Whether the workflow test suites (BOFF-9960) are shown: the Tests panel,
263
+ * "Save as test case" on a run and the Assert node. Fails closed.
264
+ */
265
+ function useWorkflowTestsEnabled() {
266
+ return useFluidGridsFlag(FLUIDGRIDS_FLAGS.workflowTests);
267
+ }
268
+ /**
269
+ * Whether the continuous-optimisation Suggestions panel (BOFF-9969) is shown
270
+ * on Insights. Fails closed: with the flag off the page sends none of the
271
+ * optimisation operations.
272
+ */
273
+ function useContinuousOptimisationEnabled() {
274
+ return useFluidGridsFlag(FLUIDGRIDS_FLAGS.continuousOptimisation);
275
+ }
276
+ /**
277
+ * The gates the builder palettes apply (durable-function nodes, the two
278
+ * run-control nodes of Phase C and the Assert node of the workflow test
279
+ * suites).
280
+ */
281
+ function resolvePaletteGates(context) {
282
+ const phaseC = resolvePhaseCFlags(context);
283
+ return {
284
+ durableFunctions: resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.codeFirst) && resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.durableFunctions),
285
+ runControl: phaseC.runControl,
286
+ searchAttributes: phaseC.searchAttributes,
287
+ workflowTests: resolveFluidGridsFlag(context, FLUIDGRIDS_FLAGS.workflowTests)
288
+ };
289
+ }
290
+ /** {@link resolvePaletteGates} for the active workspace. */
291
+ function usePaletteGates() {
292
+ const context = useOptionalFeatureFlags();
293
+ return useMemo(() => resolvePaletteGates(context), [context]);
294
+ }
295
+
296
+ export { resolvePhaseCFlags as a, useDurableParityEnabled as c, usePaletteGates as d, usePhaseCFlags as f, resolveFluidGridsFlagsSettled as i, useFluidGridsFlag as l, useWorkflowTestsEnabled as m, FLUIDGRIDS_FLAG_DEFAULTS as n, useContinuousOptimisationEnabled as o, useSelfHostedWorkersEnabled as p, PHASE_C_FLAGS_OFF as r, useDurableFunctionNodesEnabled as s, FLUIDGRIDS_FLAGS as t, useFluidGridsFlagsSettled as u };
@@ -0,0 +1,3 @@
1
+
2
+ import { a as PhaseCFlags, c as useContinuousOptimisationEnabled, d as useFluidGridsFlag, f as useFluidGridsFlagsSettled, g as useWorkflowTestsEnabled, h as useSelfHostedWorkersEnabled, l as useDurableFunctionNodesEnabled, m as usePhaseCFlags, n as FLUIDGRIDS_FLAG_DEFAULTS, r as FluidGridsFlagKey, t as FLUIDGRIDS_FLAGS } from "./index-BcdtKBM-.js";
3
+ export { FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, type FluidGridsFlagKey, type PhaseCFlags, useContinuousOptimisationEnabled, useDurableFunctionNodesEnabled, useFluidGridsFlag, useFluidGridsFlagsSettled, usePhaseCFlags, useSelfHostedWorkersEnabled, useWorkflowTestsEnabled };
package/dist/flags.js ADDED
@@ -0,0 +1,4 @@
1
+ "use client";
2
+ import { f as usePhaseCFlags, l as useFluidGridsFlag, m as useWorkflowTestsEnabled, n as FLUIDGRIDS_FLAG_DEFAULTS, o as useContinuousOptimisationEnabled, p as useSelfHostedWorkersEnabled, s as useDurableFunctionNodesEnabled, t as FLUIDGRIDS_FLAGS, u as useFluidGridsFlagsSettled } from "./feature-flags-DM5myWaD.js";
3
+
4
+ export { FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, useContinuousOptimisationEnabled, useDurableFunctionNodesEnabled, useFluidGridsFlag, useFluidGridsFlagsSettled, usePhaseCFlags, useSelfHostedWorkersEnabled, useWorkflowTestsEnabled };