@oomol-lab/open-flow 0.1.0-beta.78 → 0.1.0-beta.79

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 (35) hide show
  1. package/dist/browser/{createResourceDialog-DCGxfKFM.js → createResourceDialog-DkovGogv.js} +2 -2
  2. package/dist/browser/{dialog-WzR4CRFH.js → dialog-CFFuRM8s.js} +27 -6
  3. package/dist/browser/{flowChanges-Bz4dbDN_.js → flowChanges-CN2R-m1M.js} +59 -40
  4. package/dist/browser/{flowWorkspace-BI6L6a4r.js → flowWorkspace-CXVL1FNv.js} +85 -39
  5. package/dist/browser/preview.js +122 -48
  6. package/dist/browser/{typeScriptSession-CRoezJPN.js → typeScriptSession-CoEIptNC.js} +1 -1
  7. package/dist/browser/workbench.js +4 -4
  8. package/dist/browser/{workbenchSelect-DtAd0zc4.js → workbenchSelect-CkOS95gX.js} +1 -1
  9. package/dist/command/index.js +29 -29
  10. package/dist/common/control-api-conformance.js +80 -7
  11. package/dist/common/control-api.d.ts +3 -2
  12. package/dist/common/control-api.js +40 -7
  13. package/dist/common/control-requests.d.ts +5 -0
  14. package/dist/common/control-requests.js +28 -5
  15. package/dist/common/flow-authoring.js +26 -5
  16. package/dist/common/flow-change.js +26 -5
  17. package/dist/common/flow-encoding.js +26 -5
  18. package/dist/common/flow-semantics.js +26 -5
  19. package/dist/common/flow-state.d.ts +33 -4
  20. package/dist/common/flow-state.js +49 -6
  21. package/dist/common/mcp.d.ts +32 -1
  22. package/dist/common/mcp.js +40 -8
  23. package/dist/common/runtime-contract.d.ts +4 -1
  24. package/dist/common/runtime-contract.js +60 -5
  25. package/dist/common/scheduler.js +26 -5
  26. package/dist/index.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/src/control/common/api.ts +16 -4
  29. package/src/control/common/conformance.ts +31 -0
  30. package/src/control/common/mcp.ts +7 -2
  31. package/src/control/common/requests.ts +3 -0
  32. package/src/runtime/common/runtime.ts +39 -5
  33. package/src/state/common/conformance.ts +16 -0
  34. package/src/state/common/state.ts +41 -8
  35. package/src/types/index.ts +1 -0
@@ -1,7 +1,7 @@
1
1
  import { l as useTranslate } from "./dist-BFmpkX4P.js";
2
2
  import { xr as Button } from "./tooltip-BDcVTNpu.js";
3
- import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, nn as Input, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-WzR4CRFH.js";
4
- import { t as WorkbenchSelect } from "./workbenchSelect-DtAd0zc4.js";
3
+ import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, o as DialogHeader, p as FieldError, r as DialogContent, rn as Input, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-CFFuRM8s.js";
4
+ import { t as WorkbenchSelect } from "./workbenchSelect-CkOS95gX.js";
5
5
  import { useEffect, useRef, useState } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/workbench/browser/runtime/shell/createResourceDialog.tsx
@@ -2276,13 +2276,24 @@ function dequal(foo, bar) {
2276
2276
  }
2277
2277
  return foo !== foo && bar !== bar;
2278
2278
  }
2279
+ //#endregion
2280
+ //#region src/state/common/state.ts
2281
+ var stateReadLimits = {
2282
+ maxKeys: 16,
2283
+ maxBytes: 1048576
2284
+ };
2285
+ var keySchema = string().min(1).refine((value) => new TextEncoder().encode(value).length <= 256);
2286
+ strictObject({
2287
+ scope: _enum(["draft", "live"]),
2288
+ values: literal(false).optional()
2289
+ });
2279
2290
  strictObject({
2280
2291
  scope: _enum(["draft", "live"]),
2281
- values: boolean().optional()
2292
+ keys: array(keySchema).min(1).max(stateReadLimits.maxKeys).refine((keys) => new Set(keys).size === keys.length, "State keys must be distinct.")
2282
2293
  });
2283
2294
  strictObject({
2284
2295
  scope: _enum(["draft", "live"]),
2285
- key: string().min(1).refine((key) => new TextEncoder().encode(key).length <= 256).optional()
2296
+ key: keySchema.optional()
2286
2297
  });
2287
2298
  strictObject({
2288
2299
  scope: _enum(["draft", "live"]),
@@ -2319,11 +2330,10 @@ var flowStateViewSchema = object({
2319
2330
  maxIdentities: number().positive(),
2320
2331
  maxRunWrites: number().positive()
2321
2332
  }),
2322
- values: array(object({
2333
+ values: array(strictObject({
2323
2334
  key: string(),
2324
2335
  size: number().nonnegative(),
2325
- updatedAt: number(),
2326
- value: json$1().optional()
2336
+ updatedAt: number()
2327
2337
  })),
2328
2338
  spaces: array(object({
2329
2339
  space: string(),
@@ -2333,6 +2343,17 @@ var flowStateViewSchema = object({
2333
2343
  updatedAt: number()
2334
2344
  }))
2335
2345
  });
2346
+ var flowStateValuesSchema = object({
2347
+ version: literal(1),
2348
+ scope: _enum(["draft", "live"]),
2349
+ values: array(strictObject({
2350
+ key: keySchema,
2351
+ value: json$1()
2352
+ })).min(1).max(stateReadLimits.maxKeys)
2353
+ }).refine((response) => {
2354
+ const encoder = new TextEncoder();
2355
+ return response.values.reduce((bytes, item) => bytes + (item.value === null ? 0 : encoder.encode(JSON.stringify(item.value)).byteLength), 0) <= stateReadLimits.maxBytes;
2356
+ }, "State values exceed the 1 MiB read limit.");
2336
2357
  //#endregion
2337
2358
  //#region ../../node_modules/.bun/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js
2338
2359
  function deepCompareStrict(a, b) {
@@ -9339,4 +9360,4 @@ function DialogDescription({ className, ...props }) {
9339
9360
  });
9340
9361
  }
9341
9362
  //#endregion
9342
- export { waitAutoContinueSchema as $, removeItem as $t, comparisonIssue as A, variableInputCompatible as At, authoringDefinitionSchemas as B, SelectGroup as Bt, upgradeManualTrigger as C, limitDecisionQuestions as Ct, nodeSystemOutputPorts as D, matchesSchema as Dt, nodeErrorSchema as E, comparePorts as Et, operatorsForType as F, skipDuplicatesTask as Ft, workflowAgentToolSchema as G, resolveAriaLabelledBy as Gt, connectorCapabilitySchema as H, SelectSeparator as Ht, otherwiseOutput as I, dequal as It, webhookResponseAllowsBody as J, stringifyAsLabel as Jt, webhookHeaderValuePort as K, hasNullItemLabel as Kt, unaryOperator as L, Select as Lt, mapConditionSources as M, format as Mt, nodeInputMappings as N, flowStateViewSchema as Nt, supportsNodeErrorHandling as O, portsAssignable as Ot, operandHandle as P, skipDuplicatesConfigSchema as Pt, workflowOutputsPort as Q, findItemIndex as Qt, valueType as R, SelectChevron as Rt, resourceNameIssue as S, defaultDecisionQuestion as St, workflowToolNameIssue as T, webhookSupportsBody as Tt, decodeRevisionContent as U, SelectTrigger as Ut, connectorAgentToolSchema as V, SelectItem as Vt, httpCapabilitySchema as W, SelectValue as Wt, webhookResponseTimeout as X, compareItemEquality as Xt, webhookResponseInputs as Y, stringifyAsValue as Yt, webhookStatusCodePort as Z, defaultItemEquality as Zt, applyFlowChanges as _, isHttpHost as _t, DialogFooter as a, httpHeaderSchema as at, nodeNameIssue as b, decisionQuestionIssues as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, selectedValueIncludes as en, defaultNodeRetry as et, FieldDescription as f, withHttpParameterSource as ft, FlowChangeError as g, renamedPort as gt, FieldLabel as h, renameOutputMapping as ht, DialogDescription as i, checkJsonDepth as it, conditionInputPorts as j, isSchemaKeyword as jt, clearConditionBindings as k, schemaObject as kt, Icon as l, httpRequestIssues as lt, FieldGroup as m, remapInputMappings as mt, DialogClose as n, Input as nn, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, isGroupedItems as qt, DialogContent as r, ChevronDown as rn, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, Label as tn, nodeRetryLimits as tt, Spinner as u, httpRequestTask as ut, isTriggerNode as v, decisionLimits as vt, upgradeRevisionContent as w, webhookMethods as wt, normalizeNodeName as x, decisionTask as xt, nextNodeName as y, decisionModel as yt, agentToolFields as z, SelectContent as zt };
9363
+ export { waitAutoContinueSchema as $, findItemIndex as $t, comparisonIssue as A, variableInputCompatible as At, authoringDefinitionSchemas as B, SelectContent as Bt, upgradeManualTrigger as C, limitDecisionQuestions as Ct, nodeSystemOutputPorts as D, matchesSchema as Dt, nodeErrorSchema as E, comparePorts as Et, operatorsForType as F, skipDuplicatesConfigSchema as Ft, workflowAgentToolSchema as G, SelectValue as Gt, connectorCapabilitySchema as H, SelectItem as Ht, otherwiseOutput as I, skipDuplicatesTask as It, webhookResponseAllowsBody as J, isGroupedItems as Jt, webhookHeaderValuePort as K, resolveAriaLabelledBy as Kt, unaryOperator as L, dequal as Lt, mapConditionSources as M, format as Mt, nodeInputMappings as N, flowStateValuesSchema as Nt, supportsNodeErrorHandling as O, portsAssignable as Ot, operandHandle as P, flowStateViewSchema as Pt, workflowOutputsPort as Q, defaultItemEquality as Qt, valueType as R, Select as Rt, resourceNameIssue as S, defaultDecisionQuestion as St, workflowToolNameIssue as T, webhookSupportsBody as Tt, decodeRevisionContent as U, SelectSeparator as Ut, connectorAgentToolSchema as V, SelectGroup as Vt, httpCapabilitySchema as W, SelectTrigger as Wt, webhookResponseTimeout as X, stringifyAsValue as Xt, webhookResponseInputs as Y, stringifyAsLabel as Yt, webhookStatusCodePort as Z, compareItemEquality as Zt, applyFlowChanges as _, isHttpHost as _t, DialogFooter as a, httpHeaderSchema as at, nodeNameIssue as b, decisionQuestionIssues as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, removeItem as en, defaultNodeRetry as et, FieldDescription as f, withHttpParameterSource as ft, FlowChangeError as g, renamedPort as gt, FieldLabel as h, renameOutputMapping as ht, DialogDescription as i, ChevronDown as in, checkJsonDepth as it, conditionInputPorts as j, isSchemaKeyword as jt, clearConditionBindings as k, schemaObject as kt, Icon as l, httpRequestIssues as lt, FieldGroup as m, remapInputMappings as mt, DialogClose as n, Label as nn, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, hasNullItemLabel as qt, DialogContent as r, Input as rn, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, selectedValueIncludes as tn, nodeRetryLimits as tt, Spinner as u, httpRequestTask as ut, isTriggerNode as v, decisionLimits as vt, upgradeRevisionContent as w, webhookMethods as wt, normalizeNodeName as x, decisionTask as xt, nextNodeName as y, decisionModel as yt, agentToolFields as z, SelectChevron as zt };
@@ -3,7 +3,7 @@ import { $ as zh_CN_default$2, A as DropdownMenuSeparator, E as DropdownMenuItem
3
3
  import { a as derive, i as compute, l as val, t as arrayShallowEqual } from "./dist-bO8nvHFH.js";
4
4
  import { a as toPlainObject, l as useTranslate, o as I18nProvider, u as useVal } from "./dist-BFmpkX4P.js";
5
5
  import { $n as inputClear, A as string$1, Bn as transitionStatusMapping, Br as useRefWithInit, C as literal, Cr as cn, Dn as getTarget, Dr as EMPTY_ARRAY, E as object$2, En as contains, Er as useRenderElement, Et as useFloatingRootContext, F as IndexGuessBehavior, Fr as formatErrorMessage, Ft as useDismiss, Gn as createGenericEventDetails, I as useCompositeListItem, In as useTransitionStatus, Ir as mergeProps, It as useClick, Jn as closePress, Kt as DROPDOWN_COLLISION_AVOIDANCE, Ln as useOpenChangeComplete, Lr as useIsoLayoutEffect, Lt as FloatingFocusManager, M as unknown, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, O as record$3, On as isAndroid, Or as EMPTY_OBJECT, Qn as inputChange, Qt as useStore, S as lazy$1, Sn as stopEvent, Sr as buttonVariants, T as number, Un as useValueChanged, Ur as isElement, Wn as createChangeEventDetails, Wt as FloatingPortal, Yn as escapeKey, Zt as Store, _ as array, _r as fieldValidityMapping, an as useOnFirstRender, at as useAnchorPositioning, b as int, br as useControlled, bt as useListNavigation, ct as CompositeList, dr as useFormContext, er as inputPress, et as useAnchoredPopupScrollLock, fr as useRegisterFieldControl, ft as popupStateMapping, g as _enum, gr as DEFAULT_FIELD_STATE_ATTRIBUTES, ht as useOpenInteractionType, i as TooltipTrigger, in as useValueAsRef, it as InternalBackdrop, j as union, jr as useMergedRefs, k as strictObject, kn as isFirefox, kr as NOOP, lt as inertValue, mr as useBaseUiId, n as TooltipContent, nr as listNavigation, nt as usePositioner, p as timeZoneOffsetMinutes, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, rn as createSelector, rr as none, rt as getDisabledMountTransitionStyles, sn as useTimeout, st as useDirection, t as Tooltip, tr as itemPress, ur as useLabelableContext, ut as getPseudoElementBounds, v as boolean, vr as visuallyHidden, vt as useTypeahead, wn as isInteractiveElement, wr as cva, x as json$3, xr as Button, xt as useInteractions, y as discriminatedUnion, yr as visuallyHiddenInput, zr as useStableCallback } from "./tooltip-BDcVTNpu.js";
6
- import { $t as removeItem, B as authoringDefinitionSchemas, Bt as SelectGroup, D as nodeSystemOutputPorts, Dt as matchesSchema, Et as comparePorts, Ft as skipDuplicatesTask, G as workflowAgentToolSchema, Gt as resolveAriaLabelledBy, H as connectorCapabilitySchema, I as otherwiseOutput, It as dequal$1, J as webhookResponseAllowsBody, Jt as stringifyAsLabel, K as webhookHeaderValuePort, Kt as hasNullItemLabel, Lt as Select, Mt as format, N as nodeInputMappings, Nt as flowStateViewSchema, Ot as portsAssignable, Pt as skipDuplicatesConfigSchema, Q as workflowOutputsPort, Qt as findItemIndex, S as resourceNameIssue, Tt as webhookSupportsBody, U as decodeRevisionContent, Ut as SelectTrigger, V as connectorAgentToolSchema, Vt as SelectItem, W as httpCapabilitySchema, Wt as SelectValue, Xt as compareItemEquality, Y as webhookResponseInputs, Yt as stringifyAsValue, Z as webhookStatusCodePort, Zt as defaultItemEquality, _ as applyFlowChanges$1, a as DialogFooter, ct as httpRequestInputs, d as Field, dt as withHttpParameterFields, en as selectedValueIncludes, ft as withHttpParameterSource, gt as renamedPort, h as FieldLabel, ht as renameOutputMapping, i as DialogDescription, it as checkJsonDepth, j as conditionInputPorts, jt as isSchemaKeyword, k as clearConditionBindings, kt as schemaObject, mt as remapInputMappings, n as DialogClose, nn as Input, nt as retryConfigurationSchema, o as DialogHeader, p as FieldError, pt as httpHeaderNameIssue, q as webhookHeadersPort, qt as isGroupedItems, r as DialogContent, s as DialogTitle, st as httpRequestConfigSchema, t as Dialog, tn as Label, ut as httpRequestTask, v as isTriggerNode, x as normalizeNodeName, xt as decisionTask, y as nextNodeName, z as agentToolFields, zt as SelectContent } from "./dialog-WzR4CRFH.js";
6
+ import { $t as findItemIndex, B as authoringDefinitionSchemas, Bt as SelectContent, D as nodeSystemOutputPorts, Dt as matchesSchema, Et as comparePorts, Ft as skipDuplicatesConfigSchema, G as workflowAgentToolSchema, Gt as SelectValue, H as connectorCapabilitySchema, Ht as SelectItem, I as otherwiseOutput, It as skipDuplicatesTask, J as webhookResponseAllowsBody, Jt as isGroupedItems, K as webhookHeaderValuePort, Kt as resolveAriaLabelledBy, Lt as dequal$1, Mt as format, N as nodeInputMappings, Nt as flowStateValuesSchema, Ot as portsAssignable, Pt as flowStateViewSchema, Q as workflowOutputsPort, Qt as defaultItemEquality, Rt as Select, S as resourceNameIssue, Tt as webhookSupportsBody, U as decodeRevisionContent, V as connectorAgentToolSchema, Vt as SelectGroup, W as httpCapabilitySchema, Wt as SelectTrigger, Xt as stringifyAsValue, Y as webhookResponseInputs, Yt as stringifyAsLabel, Z as webhookStatusCodePort, Zt as compareItemEquality, _ as applyFlowChanges$1, a as DialogFooter, ct as httpRequestInputs, d as Field, dt as withHttpParameterFields, en as removeItem, ft as withHttpParameterSource, gt as renamedPort, h as FieldLabel, ht as renameOutputMapping, i as DialogDescription, it as checkJsonDepth, j as conditionInputPorts, jt as isSchemaKeyword, k as clearConditionBindings, kt as schemaObject, mt as remapInputMappings, n as DialogClose, nn as Label, nt as retryConfigurationSchema, o as DialogHeader, p as FieldError, pt as httpHeaderNameIssue, q as webhookHeadersPort, qt as hasNullItemLabel, r as DialogContent, rn as Input, s as DialogTitle, st as httpRequestConfigSchema, t as Dialog, tn as selectedValueIncludes, ut as httpRequestTask, v as isTriggerNode, x as normalizeNodeName, xt as decisionTask, y as nextNodeName, z as agentToolFields } from "./dialog-CFFuRM8s.js";
7
7
  import { a as uiLanguages, n as isUiLanguage, r as resolveUiLanguage } from "./languages-gYzoQqCi.js";
8
8
  import "./lib-Dws05GHj.js";
9
9
  import { i as objectValue, s as valueType, t as initialValue } from "./value-BbFQZZ_V.js";
@@ -4184,10 +4184,22 @@ var ControlClient = class {
4184
4184
  })
4185
4185
  }));
4186
4186
  }
4187
- async getFlowState(flowId, scope, values = false) {
4188
- const result = flowStateViewSchema.safeParse(await this.request(`/v1/flows/${segment$1(flowId)}/state?scope=${scope}&values=${values}`));
4187
+ async getFlowState(flowId, scope) {
4188
+ const result = flowStateViewSchema.safeParse(await this.request(`/v1/flows/${segment$1(flowId)}/state?scope=${scope}`));
4189
4189
  return result.success && result.data.scope === scope ? result.data : invalidResponse();
4190
4190
  }
4191
+ async getFlowStateValues(flowId, scope, keys, signal) {
4192
+ const result = flowStateValuesSchema.safeParse(await this.request(`/v1/flows/${segment$1(flowId)}/state/read`, {
4193
+ method: "POST",
4194
+ body: JSON.stringify({
4195
+ version: 1,
4196
+ scope,
4197
+ keys
4198
+ }),
4199
+ signal
4200
+ }));
4201
+ return result.success && result.data.scope === scope && result.data.values.length === keys.length && result.data.values.every((item, index) => item.key === keys[index]) ? result.data : invalidResponse();
4202
+ }
4191
4203
  async clearFlowState(flowId, scope, key) {
4192
4204
  const source = record$2(await this.request(`/v1/flows/${segment$1(flowId)}/state?scope=${scope}${key == null ? "" : `&key=${encodeURIComponent(key)}`}`, { method: "DELETE" }));
4193
4205
  if (source.version !== 1 || source.cleared !== true) invalidResponse();
@@ -7294,7 +7306,8 @@ var resources = {
7294
7306
  "nearLimit": "Flow history is at least 80% full. Clear unused history.",
7295
7307
  "history": "History",
7296
7308
  "scope": "Scope",
7297
- "showValues": "Show values",
7309
+ "showValue": "View value",
7310
+ "hideValue": "Hide value",
7298
7311
  "refresh": "Refresh",
7299
7312
  "confirmLive": "This clears production state immediately. Future Live Runs may process these items again. Continue?",
7300
7313
  "cancel": "Cancel",
@@ -8648,7 +8661,8 @@ var resources = {
8648
8661
  "nearLimit": "该流程的去重记录已使用至少 80%。请清理不再需要的记录。",
8649
8662
  "history": "历史记录",
8650
8663
  "scope": "作用域",
8651
- "showValues": "显示值",
8664
+ "showValue": "查看值",
8665
+ "hideValue": "收起值",
8652
8666
  "refresh": "刷新",
8653
8667
  "confirmLive": "这将立即清空生产状态,后续 Live Run 可能再次处理这些条目。是否继续?",
8654
8668
  "cancel": "取消",
@@ -10002,7 +10016,8 @@ var resources = {
10002
10016
  "nearLimit": "此流程的去重記錄已使用至少 80%。請清理不再需要的記錄。",
10003
10017
  "history": "歷史記錄",
10004
10018
  "scope": "範圍",
10005
- "showValues": "顯示值",
10019
+ "showValue": "檢視值",
10020
+ "hideValue": "收合值",
10006
10021
  "refresh": "重新整理",
10007
10022
  "confirmLive": "這會立即清空正式環境狀態,後續 Live Run 可能再次處理這些項目。是否繼續?",
10008
10023
  "cancel": "取消",
@@ -11356,7 +11371,8 @@ var resources = {
11356
11371
  "nearLimit": "フローの重複履歴が 80% 以上使用されています。不要な履歴を削除してください。",
11357
11372
  "history": "履歴",
11358
11373
  "scope": "スコープ",
11359
- "showValues": "値を表示",
11374
+ "showValue": "値を表示",
11375
+ "hideValue": "値を隠す",
11360
11376
  "refresh": "更新",
11361
11377
  "confirmLive": "本番環境の状態が直ちに消去されます。以降の Live Run で同じ項目が再処理される場合があります。続行しますか?",
11362
11378
  "cancel": "キャンセル",
@@ -12710,7 +12726,8 @@ var resources = {
12710
12726
  "nearLimit": "Flow 중복 기록이 80% 이상 찼습니다. 필요 없는 기록을 지우세요.",
12711
12727
  "history": "기록",
12712
12728
  "scope": "범위",
12713
- "showValues": "값 표시",
12729
+ "showValue": "값 보기",
12730
+ "hideValue": "값 숨기기",
12714
12731
  "refresh": "새로 고침",
12715
12732
  "confirmLive": "운영 상태가 즉시 지워집니다. 이후 Live Run에서 해당 항목을 다시 처리할 수 있습니다. 계속할까요?",
12716
12733
  "cancel": "취소",
@@ -14064,7 +14081,8 @@ var resources = {
14064
14081
  "nearLimit": "История Flow заполнена минимум на 80 %. Удалите ненужные записи.",
14065
14082
  "history": "История",
14066
14083
  "scope": "Область",
14067
- "showValues": "Показать значения",
14084
+ "showValue": "Показать значение",
14085
+ "hideValue": "Скрыть значение",
14068
14086
  "refresh": "Обновить",
14069
14087
  "confirmLive": "Рабочее состояние будет немедленно очищено. Последующие Live Run могут повторно обработать эти элементы. Продолжить?",
14070
14088
  "cancel": "Отмена",
@@ -15418,7 +15436,8 @@ var resources = {
15418
15436
  "nearLimit": "L’historique du Flow est rempli à au moins 80 %. Effacez les entrées inutiles.",
15419
15437
  "history": "Historique",
15420
15438
  "scope": "Portée",
15421
- "showValues": "Afficher les valeurs",
15439
+ "showValue": "Voir la valeur",
15440
+ "hideValue": "Masquer la valeur",
15422
15441
  "refresh": "Actualiser",
15423
15442
  "confirmLive": "L’état de production sera immédiatement effacé. Les prochains Runs Live pourront traiter à nouveau ces éléments. Continuer ?",
15424
15443
  "cancel": "Annuler",
@@ -23542,21 +23561,15 @@ function builtinOptions(_draft, t) {
23542
23561
  }]
23543
23562
  },
23544
23563
  {
23545
- description: t("addNode.conditionDescription"),
23564
+ description: t("addNode.valueDescription"),
23546
23565
  group,
23547
- id: "condition",
23548
- icon: ":carbon:child-node:",
23549
- inputs: [{
23550
- handle: "value",
23551
- jsonSchema: {}
23552
- }],
23553
- kind: "condition",
23554
- label: t("addNode.condition"),
23566
+ id: "value",
23567
+ icon: ":oomol:value:",
23568
+ inputs: [],
23569
+ kind: "value",
23570
+ label: t("addNode.value"),
23555
23571
  outputs: [{
23556
- handle: "false",
23557
- jsonSchema: {}
23558
- }, {
23559
- handle: "true",
23572
+ handle: "value",
23560
23573
  jsonSchema: {}
23561
23574
  }]
23562
23575
  },
@@ -23596,16 +23609,6 @@ function builtinOptions(_draft, t) {
23596
23609
  kind: "http-request",
23597
23610
  label: t("httpRequest.title")
23598
23611
  },
23599
- {
23600
- description: t("flowState.warning"),
23601
- group,
23602
- icon: ":lucide-light:list-filter:",
23603
- id: "skip-duplicates",
23604
- inputs: skipDuplicatesTask().inputs.filter((port) => "handle" in port),
23605
- outputs: skipDuplicatesTask().outputs.filter((port) => "handle" in port),
23606
- kind: "skip-duplicates",
23607
- label: t("flowState.nodeTitle")
23608
- },
23609
23612
  {
23610
23613
  description: t("openapi.description"),
23611
23614
  group,
@@ -23617,18 +23620,34 @@ function builtinOptions(_draft, t) {
23617
23620
  label: "OpenAPI"
23618
23621
  },
23619
23622
  {
23620
- description: t("addNode.valueDescription"),
23623
+ description: t("addNode.conditionDescription"),
23621
23624
  group,
23622
- id: "value",
23623
- icon: ":oomol:value:",
23624
- inputs: [],
23625
- kind: "value",
23626
- label: t("addNode.value"),
23627
- outputs: [{
23625
+ id: "condition",
23626
+ icon: ":carbon:child-node:",
23627
+ inputs: [{
23628
23628
  handle: "value",
23629
23629
  jsonSchema: {}
23630
+ }],
23631
+ kind: "condition",
23632
+ label: t("addNode.condition"),
23633
+ outputs: [{
23634
+ handle: "false",
23635
+ jsonSchema: {}
23636
+ }, {
23637
+ handle: "true",
23638
+ jsonSchema: {}
23630
23639
  }]
23631
23640
  },
23641
+ {
23642
+ description: t("flowState.warning"),
23643
+ group,
23644
+ icon: ":lucide-light:list-filter:",
23645
+ id: "skip-duplicates",
23646
+ inputs: skipDuplicatesTask().inputs.filter((port) => "handle" in port),
23647
+ outputs: skipDuplicatesTask().outputs.filter((port) => "handle" in port),
23648
+ kind: "skip-duplicates",
23649
+ label: t("flowState.nodeTitle")
23650
+ },
23632
23651
  {
23633
23652
  description: t("workflow.description"),
23634
23653
  group,
@@ -3,13 +3,13 @@ import { A as DropdownMenuSeparator, C as DropdownMenuCheckboxItem, D as Dropdow
3
3
  import { i as compute, l as val } from "./dist-bO8nvHFH.js";
4
4
  import { c as useLang, l as useTranslate, o as I18nProvider, r as isPlainObject, s as useI18n, u as useVal } from "./dist-BFmpkX4P.js";
5
5
  import { A as string, Bn as transitionStatusMapping, Cr as cn, Dr as EMPTY_ARRAY, En as contains, Er as useRenderElement, Fr as formatErrorMessage, I as useCompositeListItem, In as useTransitionStatus, Ir as mergeProps, Ln as useOpenChangeComplete, Lr as useIsoLayoutEffect, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, Or as EMPTY_OBJECT, Qt as useStore, Sr as buttonVariants, Tn as activeElement, Tr as clsx, Un as useValueChanged, Wn as createChangeEventDetails, _r as fieldValidityMapping, a as createTooltipHandle, br as useControlled, c as TooltipPositioner, ct as CompositeList, d as TooltipRoot, dr as useFormContext, fr as useRegisterFieldControl, i as TooltipTrigger, jr as useMergedRefs, l as TooltipPortal, lt as inertValue, mr as useBaseUiId, mt as triggerOpenStateMapping, n as TooltipContent, nn as require_builtin_esm_external_require_react, o as TooltipArrow, p as timeZoneOffsetMinutes, pr as useFieldRootContext, qn as clearPress, r as TooltipProvider, rr as none, s as TooltipPopup, t as Tooltip, u as TooltipTrigger$1, ur as useLabelableContext, vr as visuallyHidden, wr as cva, xr as Button$1, yr as visuallyHiddenInput, zn as TransitionStatusDataAttributes, zr as useStableCallback } from "./tooltip-BDcVTNpu.js";
6
- import { $ as waitAutoContinueSchema, A as comparisonIssue, At as variableInputCompatible, Bt as SelectGroup, Ct as limitDecisionQuestions, D as nodeSystemOutputPorts, Dt as matchesSchema, E as nodeErrorSchema, F as operatorsForType, Ht as SelectSeparator, It as dequal, J as webhookResponseAllowsBody, K as webhookHeaderValuePort, L as unaryOperator, Lt as Select$1, O as supportsNodeErrorHandling, Ot as portsAssignable, P as operandHandle, Pt as skipDuplicatesConfigSchema, Q as workflowOutputsPort, R as valueType, Rt as SelectChevron, St as defaultDecisionQuestion, T as workflowToolNameIssue, Tt as webhookSupportsBody, U as decodeRevisionContent, Ut as SelectTrigger, Vt as SelectItem, Wt as SelectValue, X as webhookResponseTimeout, Y as webhookResponseInputs, Z as webhookStatusCodePort, _t as isHttpHost, a as DialogFooter, at as httpHeaderSchema, b as nodeNameIssue, bt as decisionQuestionIssues, c as DialogTrigger, d as Field, et as defaultNodeRetry, f as FieldDescription, h as FieldLabel, i as DialogDescription, kt as schemaObject, l as Icon, lt as httpRequestIssues, m as FieldGroup, nn as Input, nt as retryConfigurationSchema, o as DialogHeader, ot as httpQuerySchema, p as FieldError, pt as httpHeaderNameIssue, q as webhookHeadersPort, r as DialogContent, rn as ChevronDown, rt as supportsNodeRetry, s as DialogTitle, t as Dialog, tn as Label, tt as nodeRetryLimits, u as Spinner, ut as httpRequestTask, vt as decisionLimits, wt as webhookMethods, xt as decisionTask, zt as SelectContent } from "./dialog-WzR4CRFH.js";
6
+ import { $ as waitAutoContinueSchema, A as comparisonIssue, At as variableInputCompatible, Bt as SelectContent, Ct as limitDecisionQuestions, D as nodeSystemOutputPorts, Dt as matchesSchema, E as nodeErrorSchema, F as operatorsForType, Ft as skipDuplicatesConfigSchema, Gt as SelectValue, Ht as SelectItem, J as webhookResponseAllowsBody, K as webhookHeaderValuePort, L as unaryOperator, Lt as dequal, O as supportsNodeErrorHandling, Ot as portsAssignable, P as operandHandle, Q as workflowOutputsPort, R as valueType, Rt as Select$1, St as defaultDecisionQuestion, T as workflowToolNameIssue, Tt as webhookSupportsBody, U as decodeRevisionContent, Ut as SelectSeparator, Vt as SelectGroup, Wt as SelectTrigger, X as webhookResponseTimeout, Y as webhookResponseInputs, Z as webhookStatusCodePort, _t as isHttpHost, a as DialogFooter, at as httpHeaderSchema, b as nodeNameIssue, bt as decisionQuestionIssues, c as DialogTrigger, d as Field, et as defaultNodeRetry, f as FieldDescription, h as FieldLabel, i as DialogDescription, in as ChevronDown, kt as schemaObject, l as Icon, lt as httpRequestIssues, m as FieldGroup, nn as Label, nt as retryConfigurationSchema, o as DialogHeader, ot as httpQuerySchema, p as FieldError, pt as httpHeaderNameIssue, q as webhookHeadersPort, r as DialogContent, rn as Input, rt as supportsNodeRetry, s as DialogTitle, t as Dialog, tt as nodeRetryLimits, u as Spinner, ut as httpRequestTask, vt as decisionLimits, wt as webhookMethods, xt as decisionTask, zt as SelectChevron } from "./dialog-CFFuRM8s.js";
7
7
  import { C as toManifestHandleName, E as isSameViewport, S as toViewEdge, T as isMac, _ as timeZoneOffset, a as NodeHistoryContext, b as CanvasTooltip, c as defaultTriggerIcon, d as formatDuration, f as useDebouncedValue, g as timeZoneLongLabel, h as timeZoneLabel, i as setAddItemId, l as JSONViewer, m as selectableTimeZones, n as CompositeRoot, o as Textarea, p as IconStack, r as ACTIVE_COMPOSITE_ITEM, s as CanvasNodeIcon, t as FlowCanvas, u as collapseAllNested, v as cronDescription, w as toManifestNodeId, x as CanvasStore, y as E$1 } from "./FlowCanvas-BQGBcfoL.js";
8
- import { $n as triggerOutputDefinitions, A as schemaForEditor, An as EmptyTitle, B as datePickerValue, Cn as InputGroupAddon, Cr as workflowSelectionTask, D as defaultValueEditorSchema, Dn as EmptyDescription, Dr as controlErrorCode, E as supportsFeishuChatFilter, En as EmptyContent, Et as schemaMismatchMessage, F as calendarChange, Fn as createI18n, G as indexAddNodeOptions, Gn as executionReachableNodes, H as isDateFormat, I as calendarDate, In as FeishuEventPicker, Jn as webhookResponseDiagnostics, Jt as dequal$1, Kn as inputSourceCandidates, L as dateFromTimeZone, Ln as EventSourceSetup, M as getDefaultValue, N as isUnconstrainedSchema, Nn as SourceForm, O as editorComponent, On as EmptyHeader, Or as eventSourceKind, Ot as connectionCatalog, P as typeOfSchema, Pn as SourceSelect, Q as resourceValue, R as dateInTimeZone, Rn as errorNotice, Sn as InputGroup, Sr as workflowCapability, T as feishuResourceKind, Tn as Empty, Tt as diagnosticNodeId, Un as decodeResultList, V as dateTimeWall, X as observeResource, Xn as sourcePort, Xt as IdTooltip, Yn as sourceOutputLabel, Yt as WorkflowExportMenuItem, Z as resourceData, Zt as FlowSettingsButton, _n as selectors, _r as servers, _t as canCancelRun, an as valueEditor_module_default, at as getAppCatalogCache, cn as ComboboxPopup, cr as triggerConfigValues, dn as ComboboxList, dr as object$1, dt as designerGraph, er as isJsonObject, et as provider, fn as GroupCollectionProvider, fr as openApiFieldIssues, ft as semanticNodeIcon, gn as ComboboxRoot, gr as serverAddress, hn as ComboboxInput, hr as selectOperation, ht as providerIcon, in as ValueEditorFeedback, j as valueForEditor, jn as Badge, k as editorGroups, kn as EmptyMedia, ln as ComboboxPositioner, lr as inputValue, mn as ComboboxInputGroup, mr as securityOptions, mt as actionSummary, n as agentTool, nn as selectionMenuItemClass, on as ComboboxItemIndicator, pn as ComboboxTrigger, pr as openApiTask, pt as triggerNodeIcon, q as mapSource, qn as resolutionOutputPorts, rn as ValueControl, rt as decodeAppCatalogResponse, sn as ComboboxItem, sr as triggerConfigValue, tn as selectionMenuContentClass, un as ComboboxPortal, ur as listOperations, ut as loadJson, vn as useComboboxInputValueContext, vr as sameWorkflowInterface, vt as hasRunFilter, wn as InputGroupInput, wt as diagnosticMessage, xn as followWorkbenchLink, xr as workflowCandidateGroup, yn as useComboboxRootContext, yr as workflowAgentTool, yt as revisionView, z as datePickerChange } from "./flowChanges-Bz4dbDN_.js";
8
+ import { $n as triggerOutputDefinitions, A as schemaForEditor, An as EmptyTitle, B as datePickerValue, Cn as InputGroupAddon, Cr as workflowSelectionTask, D as defaultValueEditorSchema, Dn as EmptyDescription, Dr as controlErrorCode, E as supportsFeishuChatFilter, En as EmptyContent, Et as schemaMismatchMessage, F as calendarChange, Fn as createI18n, G as indexAddNodeOptions, Gn as executionReachableNodes, H as isDateFormat, I as calendarDate, In as FeishuEventPicker, Jn as webhookResponseDiagnostics, Jt as dequal$1, Kn as inputSourceCandidates, L as dateFromTimeZone, Ln as EventSourceSetup, M as getDefaultValue, N as isUnconstrainedSchema, Nn as SourceForm, O as editorComponent, On as EmptyHeader, Or as eventSourceKind, Ot as connectionCatalog, P as typeOfSchema, Pn as SourceSelect, Q as resourceValue, R as dateInTimeZone, Rn as errorNotice, Sn as InputGroup, Sr as workflowCapability, T as feishuResourceKind, Tn as Empty, Tt as diagnosticNodeId, Un as decodeResultList, V as dateTimeWall, X as observeResource, Xn as sourcePort, Xt as IdTooltip, Yn as sourceOutputLabel, Yt as WorkflowExportMenuItem, Z as resourceData, Zt as FlowSettingsButton, _n as selectors, _r as servers, _t as canCancelRun, an as valueEditor_module_default, at as getAppCatalogCache, cn as ComboboxPopup, cr as triggerConfigValues, dn as ComboboxList, dr as object$1, dt as designerGraph, er as isJsonObject, et as provider, fn as GroupCollectionProvider, fr as openApiFieldIssues, ft as semanticNodeIcon, gn as ComboboxRoot, gr as serverAddress, hn as ComboboxInput, hr as selectOperation, ht as providerIcon, in as ValueEditorFeedback, j as valueForEditor, jn as Badge, k as editorGroups, kn as EmptyMedia, ln as ComboboxPositioner, lr as inputValue, mn as ComboboxInputGroup, mr as securityOptions, mt as actionSummary, n as agentTool, nn as selectionMenuItemClass, on as ComboboxItemIndicator, pn as ComboboxTrigger, pr as openApiTask, pt as triggerNodeIcon, q as mapSource, qn as resolutionOutputPorts, rn as ValueControl, rt as decodeAppCatalogResponse, sn as ComboboxItem, sr as triggerConfigValue, tn as selectionMenuContentClass, un as ComboboxPortal, ur as listOperations, ut as loadJson, vn as useComboboxInputValueContext, vr as sameWorkflowInterface, vt as hasRunFilter, wn as InputGroupInput, wt as diagnosticMessage, xn as followWorkbenchLink, xr as workflowCandidateGroup, yn as useComboboxRootContext, yr as workflowAgentTool, yt as revisionView, z as datePickerChange } from "./flowChanges-CN2R-m1M.js";
9
9
  import { r as resolveUiLanguage } from "./languages-gYzoQqCi.js";
10
10
  import { a as renameObjectField, i as objectValue, n as isJsonValue, o as setObjectField, r as jsonDataTypes, s as valueType$1, t as initialValue } from "./value-BbFQZZ_V.js";
11
11
  import { n as compile, r as validate } from "./flowRunInputEditorStore-ys1-w9GW.js";
12
- import { t as WorkbenchSelect } from "./workbenchSelect-DtAd0zc4.js";
12
+ import { t as WorkbenchSelect } from "./workbenchSelect-CkOS95gX.js";
13
13
  import * as React from "react";
14
14
  import reactExports, { Children, Fragment, Suspense, createContext, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
15
15
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -5524,7 +5524,70 @@ function NativeSelectOption({ className, ...props }) {
5524
5524
  }
5525
5525
  //#endregion
5526
5526
  //#region src/workbench/browser/runtime/editor/flowStatePanel.tsx
5527
- function FlowStatePanel({ value, nodeIds, busy, onClearValues, onClearSpace, space }) {
5527
+ function StateValueRow({ item, client, flowId, scope, busy, onClear }) {
5528
+ const t = useTranslate();
5529
+ const [open, setOpen] = useState(false);
5530
+ const [result, setResult] = useState();
5531
+ const [error, setError] = useState();
5532
+ useEffect(() => {
5533
+ if (!open) return;
5534
+ const controller = new AbortController();
5535
+ setResult(void 0);
5536
+ setError(void 0);
5537
+ client.getFlowStateValues(flowId, scope, [item.key], controller.signal).then((response) => {
5538
+ if (!controller.signal.aborted) setResult(response.values[0]);
5539
+ }, (reason) => {
5540
+ if (!controller.signal.aborted) setError(String(reason));
5541
+ });
5542
+ return () => controller.abort();
5543
+ }, [
5544
+ client,
5545
+ flowId,
5546
+ scope,
5547
+ item.key,
5548
+ item.updatedAt,
5549
+ open
5550
+ ]);
5551
+ return /* @__PURE__ */ jsxs("div", {
5552
+ className: "flex items-start justify-between gap-3 border-b border-border/60 py-2",
5553
+ children: [/* @__PURE__ */ jsxs("div", {
5554
+ className: "min-w-0 flex-1",
5555
+ children: [/* @__PURE__ */ jsx("p", {
5556
+ className: "m-0 break-all font-medium",
5557
+ children: item.key
5558
+ }), open && (result != null ? /* @__PURE__ */ jsx("pre", {
5559
+ className: "max-h-40 overflow-auto whitespace-pre-wrap break-all text-xs",
5560
+ children: JSON.stringify(result.value, null, 2)
5561
+ }) : error != null ? /* @__PURE__ */ jsx("p", {
5562
+ role: "alert",
5563
+ className: "text-destructive text-sm",
5564
+ children: error
5565
+ }) : /* @__PURE__ */ jsx("p", {
5566
+ role: "status",
5567
+ className: "text-muted-foreground text-sm",
5568
+ children: t("flowState.loading")
5569
+ }))]
5570
+ }), /* @__PURE__ */ jsxs("div", {
5571
+ className: "flex shrink-0 gap-2",
5572
+ children: [/* @__PURE__ */ jsx(Button$1, {
5573
+ variant: "outline",
5574
+ size: "sm",
5575
+ disabled: busy,
5576
+ "aria-expanded": open,
5577
+ "aria-label": `${t(open ? "flowState.hideValue" : "flowState.showValue")}: ${item.key}`,
5578
+ onClick: () => setOpen((value) => !value),
5579
+ children: t(open ? "flowState.hideValue" : "flowState.showValue")
5580
+ }), /* @__PURE__ */ jsx(Button$1, {
5581
+ variant: "outline",
5582
+ size: "sm",
5583
+ disabled: busy,
5584
+ onClick: (event) => onClear(item.key, event.currentTarget),
5585
+ children: t("flowState.delete")
5586
+ })]
5587
+ })]
5588
+ });
5589
+ }
5590
+ function FlowStatePanel({ value, client, flowId, nodeIds, busy, onClearValues, onClearSpace, space }) {
5528
5591
  const t = useTranslate();
5529
5592
  const count = value.spaces.reduce((total, item) => total + item.reservedCount, 0);
5530
5593
  const spaces = space == null ? value.spaces : value.spaces.filter((item) => item.space === space);
@@ -5560,24 +5623,13 @@ function FlowStatePanel({ value, nodeIds, busy, onClearValues, onClearSpace, spa
5560
5623
  className: "m-0 text-sm text-muted-foreground",
5561
5624
  children: t("flowState.emptyValues")
5562
5625
  }),
5563
- value.values.map((item) => /* @__PURE__ */ jsxs("div", {
5564
- className: "flex items-start justify-between gap-3 border-b border-border/60 py-2",
5565
- children: [/* @__PURE__ */ jsxs("div", {
5566
- className: "min-w-0",
5567
- children: [/* @__PURE__ */ jsx("p", {
5568
- className: "m-0 break-all font-medium",
5569
- children: item.key
5570
- }), item.value !== void 0 && /* @__PURE__ */ jsx("pre", {
5571
- className: "max-h-40 overflow-auto whitespace-pre-wrap break-all text-xs",
5572
- children: JSON.stringify(item.value, null, 2)
5573
- })]
5574
- }), /* @__PURE__ */ jsx(Button$1, {
5575
- variant: "outline",
5576
- size: "sm",
5577
- disabled: busy,
5578
- onClick: (event) => onClearValues(item.key, event.currentTarget),
5579
- children: t("flowState.delete")
5580
- })]
5626
+ value.values.map((item) => /* @__PURE__ */ jsx(StateValueRow, {
5627
+ item,
5628
+ client,
5629
+ flowId,
5630
+ scope: value.scope,
5631
+ busy,
5632
+ onClear: onClearValues
5581
5633
  }, item.key))
5582
5634
  ]
5583
5635
  }), /* @__PURE__ */ jsxs("section", {
@@ -5648,7 +5700,6 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5648
5700
  const [open, setOpen] = useState(onClose != null);
5649
5701
  const [scope, setScope] = useState("draft");
5650
5702
  const space = history == null ? void 0 : `node:${history.nodeId}`;
5651
- const [values, setValues] = useState(false);
5652
5703
  const [data, setData] = useState();
5653
5704
  const [error, setError] = useState();
5654
5705
  const [busy, setBusy] = useState(false);
@@ -5668,7 +5719,7 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5668
5719
  let active = true;
5669
5720
  setData(void 0);
5670
5721
  setError(void 0);
5671
- client.getFlowState(flowId, scope, values).then((result) => {
5722
+ client.getFlowState(flowId, scope).then((result) => {
5672
5723
  if (active) setData(result);
5673
5724
  }, (reason) => {
5674
5725
  if (active) setError(String(reason));
@@ -5680,7 +5731,6 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5680
5731
  client,
5681
5732
  flowId,
5682
5733
  scope,
5683
- values,
5684
5734
  refresh,
5685
5735
  open,
5686
5736
  space
@@ -5712,10 +5762,7 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5712
5762
  onOpenChange: (next) => {
5713
5763
  if (!busy) {
5714
5764
  setOpen(next);
5715
- if (next) {
5716
- setScope("draft");
5717
- setValues(false);
5718
- }
5765
+ if (next) setScope("draft");
5719
5766
  if (!next) onClose?.();
5720
5767
  setConfirm(void 0);
5721
5768
  }
@@ -5754,13 +5801,6 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5754
5801
  children: t("flowState.live")
5755
5802
  })]
5756
5803
  }),
5757
- space == null && (values || (data?.values.length ?? 0) > 0) && /* @__PURE__ */ jsxs(Label, {
5758
- className: "flex items-center gap-2 text-sm",
5759
- children: [/* @__PURE__ */ jsx(Checkbox, {
5760
- checked: values,
5761
- onCheckedChange: setValues
5762
- }), t("flowState.showValues")]
5763
- }),
5764
5804
  /* @__PURE__ */ jsx(Button$1, {
5765
5805
  variant: "outline",
5766
5806
  size: "sm",
@@ -5840,12 +5880,18 @@ function FlowStateButton({ client, flowId, nodeIds, history, onClose }) {
5840
5880
  children: error == null ? t("flowState.loading") : ""
5841
5881
  }) : /* @__PURE__ */ jsx(FlowStatePanel, {
5842
5882
  value: data,
5883
+ client,
5884
+ flowId,
5843
5885
  space,
5844
5886
  nodeIds,
5845
5887
  busy,
5846
5888
  onClearValues: (key, trigger) => request({ key }, trigger),
5847
5889
  onClearSpace: (targetSpace, trigger) => request({ space: targetSpace }, trigger)
5848
- })
5890
+ }, JSON.stringify([
5891
+ flowId,
5892
+ scope,
5893
+ refresh
5894
+ ]))
5849
5895
  ]
5850
5896
  })]
5851
5897
  })
@@ -22623,7 +22669,7 @@ function CodeEditor({ ariaDescribedBy, ariaLabel, diagnostics, disabled, errorLa
22623
22669
  darkMode.current = darkMode$;
22624
22670
  setFailed(false);
22625
22671
  setLoading(true);
22626
- const extension = import("./typeScriptSession-CRoezJPN.js").then(({ loadTypeScriptExtension }) => loadTypeScriptExtension(uri, typingRef.current, () => prepareCompletionRef.current?.())).catch(() => void 0);
22672
+ const extension = import("./typeScriptSession-CoEIptNC.js").then(({ loadTypeScriptExtension }) => loadTypeScriptExtension(uri, typingRef.current, () => prepareCompletionRef.current?.())).catch(() => void 0);
22627
22673
  claimEditor(uri).then((nextRelease) => {
22628
22674
  release = nextRelease;
22629
22675
  if (disposed) {
@@ -22710,7 +22756,7 @@ function CodeEditor({ ariaDescribedBy, ariaLabel, diagnostics, disabled, errorLa
22710
22756
  editor.current?.updateOptions({ ariaDescribedBy });
22711
22757
  }, [ariaDescribedBy]);
22712
22758
  useEffect(() => {
22713
- import("./typeScriptSession-CRoezJPN.js").then(({ updateTypeScriptTyping }) => updateTypeScriptTyping(uri, typing)).catch(noop);
22759
+ import("./typeScriptSession-CoEIptNC.js").then(({ updateTypeScriptTyping }) => updateTypeScriptTyping(uri, typing)).catch(noop);
22714
22760
  }, [typing, uri]);
22715
22761
  useEffect(() => {
22716
22762
  if (location != null) editor.current?.revealPosition?.(location.line, location.column);