@arbidocs/blocks 0.5.90 → 0.5.91

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 (127) hide show
  1. package/dist/{ConnectedCallDock-FNJRJ653.js → ConnectedCallDock-PJE7EZ6T.js} +4 -4
  2. package/dist/{ConnectedCallDock-FNJRJ653.js.map → ConnectedCallDock-PJE7EZ6T.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-W66NDZIJ.cjs → ConnectedCallDock-ZRSZYSLO.cjs} +4 -4
  4. package/dist/{ConnectedCallDock-W66NDZIJ.cjs.map → ConnectedCallDock-ZRSZYSLO.cjs.map} +1 -1
  5. package/dist/ConnectedCallRoom-S7DO2MP6.js +2 -2
  6. package/dist/ConnectedCallRoom-XK2RPNO6.cjs +2 -2
  7. package/dist/{ConnectedMailInviteCard-RSNELYZX.cjs → ConnectedMailInviteCard-OBDYWUFM.cjs} +5 -5
  8. package/dist/{ConnectedMailInviteCard-RSNELYZX.cjs.map → ConnectedMailInviteCard-OBDYWUFM.cjs.map} +1 -1
  9. package/dist/{ConnectedMailInviteCard-2TXUPVV7.js → ConnectedMailInviteCard-YYPLRL6G.js} +4 -4
  10. package/dist/{ConnectedMailInviteCard-2TXUPVV7.js.map → ConnectedMailInviteCard-YYPLRL6G.js.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-77BRPLGW.js → ConnectedNativeDocxComparison-2RIERXLW.js} +11 -11
  12. package/dist/{ConnectedNativeDocxComparison-77BRPLGW.js.map → ConnectedNativeDocxComparison-2RIERXLW.js.map} +1 -1
  13. package/dist/{ConnectedNativeDocxComparison-7G57TZC7.cjs → ConnectedNativeDocxComparison-46C7LYGT.cjs} +12 -12
  14. package/dist/{ConnectedNativeDocxComparison-7G57TZC7.cjs.map → ConnectedNativeDocxComparison-46C7LYGT.cjs.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-YKLNR2FO.cjs → ConnectedNativeDocxEditor-6XMB2XT7.cjs} +12 -12
  16. package/dist/{ConnectedNativeDocxEditor-YKLNR2FO.cjs.map → ConnectedNativeDocxEditor-6XMB2XT7.cjs.map} +1 -1
  17. package/dist/{ConnectedNativeDocxEditor-JSZURNVZ.js → ConnectedNativeDocxEditor-K6X63CPL.js} +10 -10
  18. package/dist/{ConnectedNativeDocxEditor-JSZURNVZ.js.map → ConnectedNativeDocxEditor-K6X63CPL.js.map} +1 -1
  19. package/dist/{ConnectedProductionSetDialog-ZEKYUQXE.js → ConnectedProductionSetDialog-JXQLGDIH.js} +3 -3
  20. package/dist/{ConnectedProductionSetDialog-ZEKYUQXE.js.map → ConnectedProductionSetDialog-JXQLGDIH.js.map} +1 -1
  21. package/dist/{ConnectedProductionSetDialog-MQ5OLTSR.cjs → ConnectedProductionSetDialog-T3Q32XPJ.cjs} +3 -3
  22. package/dist/{ConnectedProductionSetDialog-MQ5OLTSR.cjs.map → ConnectedProductionSetDialog-T3Q32XPJ.cjs.map} +1 -1
  23. package/dist/{ConnectedStreamedWordArtifact-TMVTOSEP.js → ConnectedStreamedWordArtifact-6UMLSR3G.js} +11 -11
  24. package/dist/ConnectedStreamedWordArtifact-6UMLSR3G.js.map +1 -0
  25. package/dist/{ConnectedStreamedWordArtifact-WOE4WNJO.cjs → ConnectedStreamedWordArtifact-GFFLCGF7.cjs} +12 -12
  26. package/dist/ConnectedStreamedWordArtifact-GFFLCGF7.cjs.map +1 -0
  27. package/dist/{DocumentReviewCard-FOYUZWAW.js → DocumentReviewCard-SAKLHM4Y.js} +4 -4
  28. package/dist/{DocumentReviewCard-FOYUZWAW.js.map → DocumentReviewCard-SAKLHM4Y.js.map} +1 -1
  29. package/dist/{DocumentReviewCard-JY2WZCEK.cjs → DocumentReviewCard-XGYMO5YS.cjs} +4 -4
  30. package/dist/{DocumentReviewCard-JY2WZCEK.cjs.map → DocumentReviewCard-XGYMO5YS.cjs.map} +1 -1
  31. package/dist/{FilesViewerDialog-SVT7CVAZ.cjs → FilesViewerDialog-3C6JUMVS.cjs} +11 -11
  32. package/dist/{FilesViewerDialog-SVT7CVAZ.cjs.map → FilesViewerDialog-3C6JUMVS.cjs.map} +1 -1
  33. package/dist/{FilesViewerDialog-MPMYI5NP.js → FilesViewerDialog-HNBRY7RQ.js} +10 -10
  34. package/dist/{FilesViewerDialog-MPMYI5NP.js.map → FilesViewerDialog-HNBRY7RQ.js.map} +1 -1
  35. package/dist/WorkspaceTableView-DFN4WGRI.js +1 -1
  36. package/dist/WorkspaceTableView-UOP3EB2F.cjs +1 -1
  37. package/dist/agents/index.cjs +254 -254
  38. package/dist/agents/index.js +4 -4
  39. package/dist/calendar/index.cjs +116 -116
  40. package/dist/calendar/index.js +1 -1
  41. package/dist/calls/index.cjs +2 -2
  42. package/dist/calls/index.js +2 -2
  43. package/dist/chat/index.cjs +18 -18
  44. package/dist/chat/index.js +2 -2
  45. package/dist/{chunk-WVCTH42C.cjs → chunk-3TECBO75.cjs} +12 -12
  46. package/dist/{chunk-WVCTH42C.cjs.map → chunk-3TECBO75.cjs.map} +1 -1
  47. package/dist/{chunk-AJ4TBTA3.js → chunk-4KARJ4CC.js} +3 -3
  48. package/dist/{chunk-AJ4TBTA3.js.map → chunk-4KARJ4CC.js.map} +1 -1
  49. package/dist/{chunk-PIFTGL57.js → chunk-4RFNQRUD.js} +5 -5
  50. package/dist/{chunk-PIFTGL57.js.map → chunk-4RFNQRUD.js.map} +1 -1
  51. package/dist/{chunk-K2AVKRZI.cjs → chunk-4VUKYB32.cjs} +4 -4
  52. package/dist/{chunk-K2AVKRZI.cjs.map → chunk-4VUKYB32.cjs.map} +1 -1
  53. package/dist/{chunk-7MFZS24I.cjs → chunk-5YBH5CQD.cjs} +9 -9
  54. package/dist/{chunk-7MFZS24I.cjs.map → chunk-5YBH5CQD.cjs.map} +1 -1
  55. package/dist/{chunk-JSWF2AMA.js → chunk-636KUL53.js} +4 -4
  56. package/dist/{chunk-JSWF2AMA.js.map → chunk-636KUL53.js.map} +1 -1
  57. package/dist/{chunk-B5FFLDK7.js → chunk-6T4ZMGGT.js} +3 -3
  58. package/dist/{chunk-B5FFLDK7.js.map → chunk-6T4ZMGGT.js.map} +1 -1
  59. package/dist/{chunk-7E3SUV4J.cjs → chunk-6Y7MHSIT.cjs} +3 -3
  60. package/dist/{chunk-7E3SUV4J.cjs.map → chunk-6Y7MHSIT.cjs.map} +1 -1
  61. package/dist/{chunk-KUBNSEQP.cjs → chunk-CLPDKHSP.cjs} +10 -10
  62. package/dist/{chunk-KUBNSEQP.cjs.map → chunk-CLPDKHSP.cjs.map} +1 -1
  63. package/dist/{chunk-UPG4IEQV.js → chunk-EXZPKMMP.js} +11 -11
  64. package/dist/{chunk-UPG4IEQV.js.map → chunk-EXZPKMMP.js.map} +1 -1
  65. package/dist/{chunk-IMINN6RD.js → chunk-FKPFKSDT.js} +3 -3
  66. package/dist/{chunk-IMINN6RD.js.map → chunk-FKPFKSDT.js.map} +1 -1
  67. package/dist/{chunk-WVEYUH6C.cjs → chunk-GNKQVCMW.cjs} +6 -6
  68. package/dist/{chunk-WVEYUH6C.cjs.map → chunk-GNKQVCMW.cjs.map} +1 -1
  69. package/dist/{chunk-EZGK7FLE.js → chunk-GUGSUCIK.js} +3 -3
  70. package/dist/{chunk-EZGK7FLE.js.map → chunk-GUGSUCIK.js.map} +1 -1
  71. package/dist/{chunk-GS5OCYNQ.cjs → chunk-HMS3GRMI.cjs} +3 -3
  72. package/dist/{chunk-GS5OCYNQ.cjs.map → chunk-HMS3GRMI.cjs.map} +1 -1
  73. package/dist/{chunk-I6SPGHFY.cjs → chunk-HUE76NAI.cjs} +2 -2
  74. package/dist/{chunk-I6SPGHFY.cjs.map → chunk-HUE76NAI.cjs.map} +1 -1
  75. package/dist/{chunk-KFKRZ5WX.js → chunk-IXA534S4.js} +7 -7
  76. package/dist/{chunk-KFKRZ5WX.js.map → chunk-IXA534S4.js.map} +1 -1
  77. package/dist/{chunk-MTSXOBK2.js → chunk-KPD7WAXP.js} +3 -3
  78. package/dist/{chunk-MTSXOBK2.js.map → chunk-KPD7WAXP.js.map} +1 -1
  79. package/dist/{chunk-KLRYWHLD.cjs → chunk-KXRGVY3M.cjs} +4 -4
  80. package/dist/{chunk-KLRYWHLD.cjs.map → chunk-KXRGVY3M.cjs.map} +1 -1
  81. package/dist/{chunk-6GSKZGLR.cjs → chunk-NZ26UYEQ.cjs} +11 -11
  82. package/dist/{chunk-6GSKZGLR.cjs.map → chunk-NZ26UYEQ.cjs.map} +1 -1
  83. package/dist/{chunk-LTRFQ2IC.js → chunk-PYLG3M6G.js} +2 -2
  84. package/dist/{chunk-LTRFQ2IC.js.map → chunk-PYLG3M6G.js.map} +1 -1
  85. package/dist/{chunk-F3KBCQKH.cjs → chunk-RCOJ7JG5.cjs} +4 -4
  86. package/dist/{chunk-F3KBCQKH.cjs.map → chunk-RCOJ7JG5.cjs.map} +1 -1
  87. package/dist/{chunk-FHJOI5GV.js → chunk-TSP5JJ56.js} +3 -3
  88. package/dist/{chunk-FHJOI5GV.js.map → chunk-TSP5JJ56.js.map} +1 -1
  89. package/dist/{chunk-SUP6LS22.js → chunk-TVLY7FTU.js} +3 -3
  90. package/dist/{chunk-SUP6LS22.js.map → chunk-TVLY7FTU.js.map} +1 -1
  91. package/dist/{chunk-LFXUJNXJ.cjs → chunk-VJLW3UPL.cjs} +6 -6
  92. package/dist/{chunk-LFXUJNXJ.cjs.map → chunk-VJLW3UPL.cjs.map} +1 -1
  93. package/dist/{chunk-D3ABKS7T.cjs → chunk-VK5Q5JXU.cjs} +3 -3
  94. package/dist/{chunk-D3ABKS7T.cjs.map → chunk-VK5Q5JXU.cjs.map} +1 -1
  95. package/dist/{chunk-B36GZ4FJ.js → chunk-WWMVVAA5.js} +6 -6
  96. package/dist/{chunk-B36GZ4FJ.js.map → chunk-WWMVVAA5.js.map} +1 -1
  97. package/dist/{chunk-VEG4LR55.cjs → chunk-YACOI5ZU.cjs} +48 -48
  98. package/dist/{chunk-VEG4LR55.cjs.map → chunk-YACOI5ZU.cjs.map} +1 -1
  99. package/dist/{chunk-6U6IY7DB.js → chunk-YIJ4MFYM.js} +3 -3
  100. package/dist/{chunk-6U6IY7DB.js.map → chunk-YIJ4MFYM.js.map} +1 -1
  101. package/dist/connect/docx.cjs +15 -15
  102. package/dist/connect/docx.js +11 -11
  103. package/dist/connect/index.cjs +432 -431
  104. package/dist/connect/index.cjs.map +1 -1
  105. package/dist/connect/index.js +40 -39
  106. package/dist/connect/index.js.map +1 -1
  107. package/dist/connect/viewer.cjs +9 -9
  108. package/dist/connect/viewer.js +8 -8
  109. package/dist/connection/files/ConnectedBulkTagCrumbs.d.ts +6 -1
  110. package/dist/embed/index.cjs +15 -15
  111. package/dist/embed/index.js +9 -9
  112. package/dist/facts/index.cjs +44 -44
  113. package/dist/facts/index.js +3 -3
  114. package/dist/index.cjs +430 -430
  115. package/dist/index.js +13 -13
  116. package/dist/settings/index.cjs +1 -1
  117. package/dist/settings/index.js +1 -1
  118. package/dist/site/index.cjs +5 -5
  119. package/dist/site/index.js +1 -1
  120. package/dist/studio/index.cjs +1 -1
  121. package/dist/studio/index.js +1 -1
  122. package/dist/workflow-canvas/index.cjs +32 -32
  123. package/dist/workflow-canvas/index.js +17 -17
  124. package/node_modules/@arbidocs/coedit/package.json +1 -1
  125. package/package.json +5 -5
  126. package/dist/ConnectedStreamedWordArtifact-TMVTOSEP.js.map +0 -1
  127. package/dist/ConnectedStreamedWordArtifact-WOE4WNJO.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk7MFZS24I_cjs = require('./chunk-7MFZS24I.cjs');
4
+ var chunk5YBH5CQD_cjs = require('./chunk-5YBH5CQD.cjs');
5
5
  var chunkMGVECEQQ_cjs = require('./chunk-MGVECEQQ.cjs');
6
6
  var react = require('react');
7
7
 
@@ -45,7 +45,7 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
45
45
  }, delayMs)
46
46
  );
47
47
  }, [states, steps, workflow]);
48
- return chunk7MFZS24I_cjs.useWorkflowView({
48
+ return chunk5YBH5CQD_cjs.useWorkflowView({
49
49
  steps,
50
50
  states,
51
51
  inputs,
@@ -58,5 +58,5 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
58
58
  }
59
59
 
60
60
  exports.useWorkflowPreview = useWorkflowPreview;
61
- //# sourceMappingURL=chunk-K2AVKRZI.cjs.map
62
- //# sourceMappingURL=chunk-K2AVKRZI.cjs.map
61
+ //# sourceMappingURL=chunk-4VUKYB32.cjs.map
62
+ //# sourceMappingURL=chunk-4VUKYB32.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":["workflowSteps","useState","initialRunInputs","useRef","useEffect","stepPhase","composeStepPrompt","useWorkflowView"],"mappings":"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","file":"chunk-K2AVKRZI.cjs","sourcesContent":["/**\n * A stepped workflow run on screen only (the builder's preview): agent steps run one at a time,\n * the way the server does, and answer with the prompt they would send; action steps just finish.\n * No thread, no agent.\n */\n\nimport { useEffect, useRef, useState } from 'react'\nimport {\n composeStepPrompt,\n initialRunInputs,\n stepPhase,\n workflowSteps,\n type StepComposeOptions,\n} from './run'\nimport type { WorkflowDefinition, WorkflowInputs, WorkflowStepState } from './types'\nimport { useWorkflowView, type WorkflowRunView } from './useWorkflowView'\n\nexport interface UseWorkflowPreviewOptions extends StepComposeOptions {\n /** What a stand-in agent step answers; `{prompt}` is replaced with the prompt it would send. */\n answer?: string\n /** How long a stand-in step takes. */\n delayMs?: number\n}\n\nexport function useWorkflowPreview(\n workflow: WorkflowDefinition,\n { answer = '{prompt}', delayMs = 400, resolveWorkflow, compose }: UseWorkflowPreviewOptions = {}\n): WorkflowRunView {\n const steps = workflowSteps(workflow)\n const [inputs, setInputs] = useState<WorkflowInputs>(() => initialRunInputs(workflow))\n const [states, setStates] = useState<Record<string, WorkflowStepState>>({})\n const set = (id: string, state: WorkflowStepState) => setStates((s) => ({ ...s, [id]: state }))\n\n // A stand-in step's timer outlives the re-render its start causes; it is cleared on unmount, and\n // a step it cut short starts again (StrictMode mounts twice).\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>())\n useEffect(() => {\n const pending = timers.current\n return () => {\n for (const t of pending.values()) clearTimeout(t)\n pending.clear()\n setStates((s) =>\n Object.fromEntries(\n Object.entries(s).map(([id, v]) => [\n id,\n v.status === 'running' ? { status: 'pending' } : v,\n ])\n )\n )\n }\n }, [])\n\n // One turn at a time: start the first ready agent step when nothing is running.\n useEffect(() => {\n if (Object.values(states).some((s) => s.status === 'running')) return\n // An action step (a signature, an email, a review) stands in the same way, with no answer.\n const next = steps.find(\n (s) =>\n (s.kind === 'agent' || s.kind === 'action') && stepPhase(steps, states, s.id) === 'ready'\n )\n if (!next || (next.kind !== 'agent' && next.kind !== 'action')) return\n const prompt =\n next.kind === 'agent'\n ? composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose })\n : ''\n set(next.id, { status: 'running', startedAt: new Date().toISOString() })\n timers.current.set(\n next.id,\n setTimeout(() => {\n timers.current.delete(next.id)\n set(\n next.id,\n next.kind === 'agent'\n ? { status: 'done', text: answer.replace('{prompt}', prompt) }\n : { status: 'done' }\n )\n }, delayMs)\n )\n // `inputs` are read when a step starts, not watched.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [states, steps, workflow])\n\n return useWorkflowView({\n steps,\n states,\n inputs,\n setInput: (name, value) => setInputs((i) => ({ ...i, [name]: value })),\n complete: async (step) => set(step.id, { status: 'done' }),\n skip: async (id) => set(id, { status: 'skipped' }),\n retry: async (id) => set(id, { status: 'pending' }),\n isLocked: (id) => states[id]?.status === 'done',\n })\n}\n"]}
1
+ {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":["workflowSteps","useState","initialRunInputs","useRef","useEffect","stepPhase","composeStepPrompt","useWorkflowView"],"mappings":"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","file":"chunk-4VUKYB32.cjs","sourcesContent":["/**\n * A stepped workflow run on screen only (the builder's preview): agent steps run one at a time,\n * the way the server does, and answer with the prompt they would send; action steps just finish.\n * No thread, no agent.\n */\n\nimport { useEffect, useRef, useState } from 'react'\nimport {\n composeStepPrompt,\n initialRunInputs,\n stepPhase,\n workflowSteps,\n type StepComposeOptions,\n} from './run'\nimport type { WorkflowDefinition, WorkflowInputs, WorkflowStepState } from './types'\nimport { useWorkflowView, type WorkflowRunView } from './useWorkflowView'\n\nexport interface UseWorkflowPreviewOptions extends StepComposeOptions {\n /** What a stand-in agent step answers; `{prompt}` is replaced with the prompt it would send. */\n answer?: string\n /** How long a stand-in step takes. */\n delayMs?: number\n}\n\nexport function useWorkflowPreview(\n workflow: WorkflowDefinition,\n { answer = '{prompt}', delayMs = 400, resolveWorkflow, compose }: UseWorkflowPreviewOptions = {}\n): WorkflowRunView {\n const steps = workflowSteps(workflow)\n const [inputs, setInputs] = useState<WorkflowInputs>(() => initialRunInputs(workflow))\n const [states, setStates] = useState<Record<string, WorkflowStepState>>({})\n const set = (id: string, state: WorkflowStepState) => setStates((s) => ({ ...s, [id]: state }))\n\n // A stand-in step's timer outlives the re-render its start causes; it is cleared on unmount, and\n // a step it cut short starts again (StrictMode mounts twice).\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>())\n useEffect(() => {\n const pending = timers.current\n return () => {\n for (const t of pending.values()) clearTimeout(t)\n pending.clear()\n setStates((s) =>\n Object.fromEntries(\n Object.entries(s).map(([id, v]) => [\n id,\n v.status === 'running' ? { status: 'pending' } : v,\n ])\n )\n )\n }\n }, [])\n\n // One turn at a time: start the first ready agent step when nothing is running.\n useEffect(() => {\n if (Object.values(states).some((s) => s.status === 'running')) return\n // An action step (a signature, an email, a review) stands in the same way, with no answer.\n const next = steps.find(\n (s) =>\n (s.kind === 'agent' || s.kind === 'action') && stepPhase(steps, states, s.id) === 'ready'\n )\n if (!next || (next.kind !== 'agent' && next.kind !== 'action')) return\n const prompt =\n next.kind === 'agent'\n ? composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose })\n : ''\n set(next.id, { status: 'running', startedAt: new Date().toISOString() })\n timers.current.set(\n next.id,\n setTimeout(() => {\n timers.current.delete(next.id)\n set(\n next.id,\n next.kind === 'agent'\n ? { status: 'done', text: answer.replace('{prompt}', prompt) }\n : { status: 'done' }\n )\n }, delayMs)\n )\n // `inputs` are read when a step starts, not watched.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [states, steps, workflow])\n\n return useWorkflowView({\n steps,\n states,\n inputs,\n setInput: (name, value) => setInputs((i) => ({ ...i, [name]: value })),\n complete: async (step) => set(step.id, { status: 'done' }),\n skip: async (id) => set(id, { status: 'skipped' }),\n retry: async (id) => set(id, { status: 'pending' }),\n isLocked: (id) => states[id]?.status === 'done',\n })\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  var chunkKNC77LZZ_cjs = require('./chunk-KNC77LZZ.cjs');
5
5
  var chunkI4IS6ST6_cjs = require('./chunk-I4IS6ST6.cjs');
6
6
  var chunkEVZH6Z5O_cjs = require('./chunk-EVZH6Z5O.cjs');
7
- var chunkGS5OCYNQ_cjs = require('./chunk-GS5OCYNQ.cjs');
7
+ var chunkHMS3GRMI_cjs = require('./chunk-HMS3GRMI.cjs');
8
8
  var chunk3YEXZX4H_cjs = require('./chunk-3YEXZX4H.cjs');
9
9
  var chunkZHUQYIV3_cjs = require('./chunk-ZHUQYIV3.cjs');
10
10
  var chunkOYXWQTHF_cjs = require('./chunk-OYXWQTHF.cjs');
@@ -1420,7 +1420,7 @@ function WorkflowRunner({
1420
1420
  /* @__PURE__ */ jsxRuntime.jsx(SentBackNote, { state: run.stateOf(step.id), l: pl, testId: tid(step.id) }),
1421
1421
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1422
1422
  /* @__PURE__ */ jsxRuntime.jsx("fieldset", { disabled: run.isLocked(step.id), className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(
1423
- chunkGS5OCYNQ_cjs.SchemaForm,
1423
+ chunkHMS3GRMI_cjs.SchemaForm,
1424
1424
  {
1425
1425
  fields: step.inputs,
1426
1426
  values: run.inputs,
@@ -1470,7 +1470,7 @@ function WorkflowRunner({
1470
1470
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1471
1471
  !(run.phaseOf(step.id) === "done" && run.stateOf(step.id)?.by) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", "data-testid": tid(`${step.id}-status`), children: run.phaseOf(step.id) === "done" ? l.approved : run.phaseOf(step.id) === "skipped" ? l.skipped : l.awaitingReview }),
1472
1472
  (step.fields ?? []).length > 0 && run.phaseOf(step.id) === "ready" && /* @__PURE__ */ jsxRuntime.jsx(
1473
- chunkGS5OCYNQ_cjs.SchemaForm,
1473
+ chunkHMS3GRMI_cjs.SchemaForm,
1474
1474
  {
1475
1475
  fields: step.fields ?? [],
1476
1476
  values: run.inputs,
@@ -2472,7 +2472,7 @@ function WorkflowStepAction({
2472
2472
  const errors = chunk5GQOIQCB_cjs.validateInputs(asForm(step), values);
2473
2473
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-1", "data-testid": tid, children: [
2474
2474
  /* @__PURE__ */ jsxRuntime.jsx(
2475
- chunkGS5OCYNQ_cjs.SchemaForm,
2475
+ chunkHMS3GRMI_cjs.SchemaForm,
2476
2476
  {
2477
2477
  fields,
2478
2478
  values,
@@ -5549,7 +5549,7 @@ function TaskTable(props) {
5549
5549
  isMe: mine
5550
5550
  };
5551
5551
  };
5552
- const renderPerson = (person) => /* @__PURE__ */ jsxRuntime.jsx(chunkGS5OCYNQ_cjs.PersonPill, { person });
5552
+ const renderPerson = (person) => /* @__PURE__ */ jsxRuntime.jsx(chunkHMS3GRMI_cjs.PersonPill, { person });
5553
5553
  const q = (query.trim() || (props.filterText ?? "").trim()).toLowerCase();
5554
5554
  const counts = react.useMemo(() => {
5555
5555
  const map = new Map(STATUS_ORDER.map((s) => [s, 0]));
@@ -8341,7 +8341,7 @@ function WorkflowComposer({
8341
8341
  }
8342
8342
  ),
8343
8343
  !noFiles && workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
8344
- chunkGS5OCYNQ_cjs.SchemaForm,
8344
+ chunkHMS3GRMI_cjs.SchemaForm,
8345
8345
  {
8346
8346
  fields,
8347
8347
  values: values.inputs,
@@ -8973,7 +8973,7 @@ function WorkTaskComposer({
8973
8973
  )
8974
8974
  ] }),
8975
8975
  workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
8976
- chunkGS5OCYNQ_cjs.SchemaForm,
8976
+ chunkHMS3GRMI_cjs.SchemaForm,
8977
8977
  {
8978
8978
  fields,
8979
8979
  values: values.inputs,
@@ -10635,5 +10635,5 @@ exports.workflowTaskFields = workflowTaskFields;
10635
10635
  exports.workflowToComposerValues = workflowToComposerValues;
10636
10636
  exports.workflowToSkillMarkdown = workflowToSkillMarkdown;
10637
10637
  exports.workflowWhen = workflowWhen;
10638
- //# sourceMappingURL=chunk-7MFZS24I.cjs.map
10639
- //# sourceMappingURL=chunk-7MFZS24I.cjs.map
10638
+ //# sourceMappingURL=chunk-5YBH5CQD.cjs.map
10639
+ //# sourceMappingURL=chunk-5YBH5CQD.cjs.map