@arbidocs/blocks 0.5.96 → 0.5.97

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 (147) hide show
  1. package/README.md +8 -1
  2. package/dist/{ConnectedCallDock-D4DG4VDA.cjs → ConnectedCallDock-HI2KMQZ3.cjs} +12 -12
  3. package/dist/{ConnectedCallDock-D4DG4VDA.cjs.map → ConnectedCallDock-HI2KMQZ3.cjs.map} +1 -1
  4. package/dist/{ConnectedCallDock-VVZUSFFK.js → ConnectedCallDock-Y64FTKFF.js} +11 -11
  5. package/dist/{ConnectedCallDock-VVZUSFFK.js.map → ConnectedCallDock-Y64FTKFF.js.map} +1 -1
  6. package/dist/{ConnectedCallRoom-EDHNAJHA.js → ConnectedCallRoom-LEBIJGFT.js} +11 -11
  7. package/dist/{ConnectedCallRoom-EDHNAJHA.js.map → ConnectedCallRoom-LEBIJGFT.js.map} +1 -1
  8. package/dist/{ConnectedCallRoom-VDQD25QW.cjs → ConnectedCallRoom-UXIJJKNG.cjs} +12 -12
  9. package/dist/{ConnectedCallRoom-VDQD25QW.cjs.map → ConnectedCallRoom-UXIJJKNG.cjs.map} +1 -1
  10. package/dist/{ConnectedNativeDocxComparison-IS27M6FV.js → ConnectedNativeDocxComparison-6KL5XI3L.js} +10 -10
  11. package/dist/{ConnectedNativeDocxComparison-IS27M6FV.js.map → ConnectedNativeDocxComparison-6KL5XI3L.js.map} +1 -1
  12. package/dist/{ConnectedNativeDocxComparison-ADQURGHU.cjs → ConnectedNativeDocxComparison-P346QOX5.cjs} +11 -11
  13. package/dist/{ConnectedNativeDocxComparison-ADQURGHU.cjs.map → ConnectedNativeDocxComparison-P346QOX5.cjs.map} +1 -1
  14. package/dist/{ConnectedNativeDocxEditor-7EQ6DE3Q.cjs → ConnectedNativeDocxEditor-7JHSQ6KI.cjs} +11 -11
  15. package/dist/{ConnectedNativeDocxEditor-7EQ6DE3Q.cjs.map → ConnectedNativeDocxEditor-7JHSQ6KI.cjs.map} +1 -1
  16. package/dist/{ConnectedNativeDocxEditor-JYXGX55F.js → ConnectedNativeDocxEditor-ATZ2TG2L.js} +9 -9
  17. package/dist/{ConnectedNativeDocxEditor-JYXGX55F.js.map → ConnectedNativeDocxEditor-ATZ2TG2L.js.map} +1 -1
  18. package/dist/{ConnectedStreamedWordArtifact-IYAQ2L7G.cjs → ConnectedStreamedWordArtifact-5HI3WSAJ.cjs} +11 -11
  19. package/dist/ConnectedStreamedWordArtifact-5HI3WSAJ.cjs.map +1 -0
  20. package/dist/{ConnectedStreamedWordArtifact-KLLG6W5L.js → ConnectedStreamedWordArtifact-FHSGQHXQ.js} +10 -10
  21. package/dist/ConnectedStreamedWordArtifact-FHSGQHXQ.js.map +1 -0
  22. package/dist/{DocumentReviewCard-FEVDNY6U.js → DocumentReviewCard-7UFQGDOG.js} +6 -6
  23. package/dist/{DocumentReviewCard-FEVDNY6U.js.map → DocumentReviewCard-7UFQGDOG.js.map} +1 -1
  24. package/dist/{DocumentReviewCard-3H66FMMO.cjs → DocumentReviewCard-E3HB3K2G.cjs} +6 -6
  25. package/dist/{DocumentReviewCard-3H66FMMO.cjs.map → DocumentReviewCard-E3HB3K2G.cjs.map} +1 -1
  26. package/dist/{FilesViewerDialog-DSK5HMLL.cjs → FilesViewerDialog-3KWTQARB.cjs} +12 -12
  27. package/dist/{FilesViewerDialog-DSK5HMLL.cjs.map → FilesViewerDialog-3KWTQARB.cjs.map} +1 -1
  28. package/dist/{FilesViewerDialog-HL4E57K5.js → FilesViewerDialog-EQKBFAWI.js} +10 -10
  29. package/dist/{FilesViewerDialog-HL4E57K5.js.map → FilesViewerDialog-EQKBFAWI.js.map} +1 -1
  30. package/dist/{WorkspaceTableView-X3KZ7YFI.js → WorkspaceTableView-DYABS53K.js} +6 -6
  31. package/dist/{WorkspaceTableView-X3KZ7YFI.js.map → WorkspaceTableView-DYABS53K.js.map} +1 -1
  32. package/dist/{WorkspaceTableView-5DWNJN6J.cjs → WorkspaceTableView-ZIQ7JWT5.cjs} +8 -8
  33. package/dist/{WorkspaceTableView-5DWNJN6J.cjs.map → WorkspaceTableView-ZIQ7JWT5.cjs.map} +1 -1
  34. package/dist/agents/index.cjs +255 -255
  35. package/dist/agents/index.js +5 -5
  36. package/dist/agents/workflows/WorkflowStepAction.d.ts +9 -2
  37. package/dist/agents/workflows/requiredLabels.d.ts +7 -2
  38. package/dist/calls/index.cjs +2 -2
  39. package/dist/calls/index.js +2 -2
  40. package/dist/{chunk-VSZPY4LK.js → chunk-42IVGYNL.js} +5 -5
  41. package/dist/{chunk-VSZPY4LK.js.map → chunk-42IVGYNL.js.map} +1 -1
  42. package/dist/{chunk-GEUP5IV7.js → chunk-4LTDELP2.js} +3 -3
  43. package/dist/{chunk-GEUP5IV7.js.map → chunk-4LTDELP2.js.map} +1 -1
  44. package/dist/{chunk-HA27RMKD.js → chunk-4RCLA52C.js} +7 -7
  45. package/dist/{chunk-HA27RMKD.js.map → chunk-4RCLA52C.js.map} +1 -1
  46. package/dist/{chunk-6NMLRGUJ.cjs → chunk-6IS3IRUF.cjs} +4 -4
  47. package/dist/{chunk-6NMLRGUJ.cjs.map → chunk-6IS3IRUF.cjs.map} +1 -1
  48. package/dist/{chunk-KQUFEMPP.js → chunk-76O7J6IZ.js} +3 -3
  49. package/dist/{chunk-KQUFEMPP.js.map → chunk-76O7J6IZ.js.map} +1 -1
  50. package/dist/{chunk-5YIUHRTR.cjs → chunk-AINS6VU6.cjs} +4 -4
  51. package/dist/{chunk-5YIUHRTR.cjs.map → chunk-AINS6VU6.cjs.map} +1 -1
  52. package/dist/{chunk-ZA3ZELSH.cjs → chunk-CCALU47C.cjs} +5 -5
  53. package/dist/{chunk-ZA3ZELSH.cjs.map → chunk-CCALU47C.cjs.map} +1 -1
  54. package/dist/{chunk-BAJNXRI5.cjs → chunk-DDIV3MYQ.cjs} +5 -5
  55. package/dist/{chunk-BAJNXRI5.cjs.map → chunk-DDIV3MYQ.cjs.map} +1 -1
  56. package/dist/{chunk-ZJ3NII4U.cjs → chunk-ECCV4YOL.cjs} +9 -9
  57. package/dist/{chunk-ZJ3NII4U.cjs.map → chunk-ECCV4YOL.cjs.map} +1 -1
  58. package/dist/{chunk-S2CKH2LH.js → chunk-FNGFSHVE.js} +3 -3
  59. package/dist/{chunk-S2CKH2LH.js.map → chunk-FNGFSHVE.js.map} +1 -1
  60. package/dist/{chunk-CMMFXSTS.cjs → chunk-HXWBXYVN.cjs} +3 -3
  61. package/dist/{chunk-CMMFXSTS.cjs.map → chunk-HXWBXYVN.cjs.map} +1 -1
  62. package/dist/{chunk-NRE7ZR6M.js → chunk-ITK7GW7B.js} +3 -3
  63. package/dist/{chunk-NRE7ZR6M.js.map → chunk-ITK7GW7B.js.map} +1 -1
  64. package/dist/{chunk-FAKRTCAL.cjs → chunk-J4CXF4A7.cjs} +172 -14
  65. package/dist/chunk-J4CXF4A7.cjs.map +1 -0
  66. package/dist/{chunk-AS3HX7LL.js → chunk-K6UKLIRR.js} +3 -3
  67. package/dist/{chunk-AS3HX7LL.js.map → chunk-K6UKLIRR.js.map} +1 -1
  68. package/dist/{chunk-RMJNCYPD.js → chunk-KJLHFS7T.js} +3 -3
  69. package/dist/{chunk-RMJNCYPD.js.map → chunk-KJLHFS7T.js.map} +1 -1
  70. package/dist/{chunk-4DRLOAVD.js → chunk-LZI4EGOW.js} +209 -56
  71. package/dist/chunk-LZI4EGOW.js.map +1 -0
  72. package/dist/{chunk-6OXR4R6J.cjs → chunk-MMSHLHTA.cjs} +3 -3
  73. package/dist/{chunk-6OXR4R6J.cjs.map → chunk-MMSHLHTA.cjs.map} +1 -1
  74. package/dist/{chunk-VEK64VEE.js → chunk-N77UYRV7.js} +3 -3
  75. package/dist/{chunk-VEK64VEE.js.map → chunk-N77UYRV7.js.map} +1 -1
  76. package/dist/{chunk-64KZM3RZ.cjs → chunk-NZQZ2HFU.cjs} +3 -3
  77. package/dist/{chunk-64KZM3RZ.cjs.map → chunk-NZQZ2HFU.cjs.map} +1 -1
  78. package/dist/{chunk-7XVQATK2.cjs → chunk-OXHAUVK2.cjs} +3 -3
  79. package/dist/{chunk-7XVQATK2.cjs.map → chunk-OXHAUVK2.cjs.map} +1 -1
  80. package/dist/{chunk-YIKE2IY4.js → chunk-QSBPOYWA.js} +3 -3
  81. package/dist/{chunk-YIKE2IY4.js.map → chunk-QSBPOYWA.js.map} +1 -1
  82. package/dist/{chunk-NCGJKKGR.js → chunk-RQW2CFOQ.js} +9 -9
  83. package/dist/{chunk-NCGJKKGR.js.map → chunk-RQW2CFOQ.js.map} +1 -1
  84. package/dist/{chunk-DCNBNLWC.js → chunk-RZG4ALKZ.js} +4 -4
  85. package/dist/{chunk-DCNBNLWC.js.map → chunk-RZG4ALKZ.js.map} +1 -1
  86. package/dist/{chunk-O2ATVRRO.cjs → chunk-SDXK2COQ.cjs} +27 -27
  87. package/dist/{chunk-O2ATVRRO.cjs.map → chunk-SDXK2COQ.cjs.map} +1 -1
  88. package/dist/{chunk-CVYFX7AD.js → chunk-SEBNGA3F.js} +31 -15
  89. package/dist/chunk-SEBNGA3F.js.map +1 -0
  90. package/dist/{chunk-ZBQTFA5X.cjs → chunk-SYWJNSPS.cjs} +4 -4
  91. package/dist/{chunk-ZBQTFA5X.cjs.map → chunk-SYWJNSPS.cjs.map} +1 -1
  92. package/dist/{chunk-2JXJE7Y4.js → chunk-T7LLYVOW.js} +168 -10
  93. package/dist/chunk-T7LLYVOW.js.map +1 -0
  94. package/dist/{chunk-TANZTMPL.cjs → chunk-V2CNHRLZ.cjs} +4 -4
  95. package/dist/{chunk-TANZTMPL.cjs.map → chunk-V2CNHRLZ.cjs.map} +1 -1
  96. package/dist/{chunk-IMFE6FKN.cjs → chunk-WN7XPEYK.cjs} +7 -7
  97. package/dist/{chunk-IMFE6FKN.cjs.map → chunk-WN7XPEYK.cjs.map} +1 -1
  98. package/dist/{chunk-KVKKVSBT.cjs → chunk-XM4KRGCK.cjs} +252 -99
  99. package/dist/chunk-XM4KRGCK.cjs.map +1 -0
  100. package/dist/{chunk-MB2OXZEA.cjs → chunk-XTCNETMI.cjs} +4 -4
  101. package/dist/{chunk-MB2OXZEA.cjs.map → chunk-XTCNETMI.cjs.map} +1 -1
  102. package/dist/{chunk-4HMJQ66B.js → chunk-Y7UHKEVT.js} +4 -4
  103. package/dist/{chunk-4HMJQ66B.js.map → chunk-Y7UHKEVT.js.map} +1 -1
  104. package/dist/{chunk-CIXA5A65.cjs → chunk-YZ6YOOTF.cjs} +30 -14
  105. package/dist/chunk-YZ6YOOTF.cjs.map +1 -0
  106. package/dist/{chunk-QJVDQAYQ.js → chunk-Z4IPTLRS.js} +3 -3
  107. package/dist/{chunk-QJVDQAYQ.js.map → chunk-Z4IPTLRS.js.map} +1 -1
  108. package/dist/collaboration/index.cjs +1 -1
  109. package/dist/collaboration/index.js +1 -1
  110. package/dist/connect/docx.cjs +14 -14
  111. package/dist/connect/docx.js +10 -10
  112. package/dist/connect/index.cjs +680 -677
  113. package/dist/connect/index.cjs.map +1 -1
  114. package/dist/connect/index.js +43 -40
  115. package/dist/connect/index.js.map +1 -1
  116. package/dist/connect/viewer.cjs +9 -9
  117. package/dist/connect/viewer.js +8 -8
  118. package/dist/connection/workflows/ConnectedWorkflowRunPage.d.ts +4 -3
  119. package/dist/connection/workflows/WorkflowRunPage.d.ts +18 -15
  120. package/dist/connection/workflows/index.d.ts +2 -1
  121. package/dist/connection/workflows/runProject.d.ts +47 -0
  122. package/dist/dashboards/index.cjs +1 -1
  123. package/dist/dashboards/index.js +1 -1
  124. package/dist/embed/index.cjs +19 -19
  125. package/dist/embed/index.js +13 -13
  126. package/dist/index.cjs +383 -383
  127. package/dist/index.js +12 -12
  128. package/dist/settings/index.cjs +151 -151
  129. package/dist/settings/index.js +2 -2
  130. package/dist/shell/index.cjs +33 -33
  131. package/dist/shell/index.js +3 -3
  132. package/dist/studio/index.cjs +5 -5
  133. package/dist/studio/index.js +4 -4
  134. package/dist/workflow-canvas/index.cjs +32 -32
  135. package/dist/workflow-canvas/index.js +17 -17
  136. package/dist/workspaces/index.cjs +8 -8
  137. package/dist/workspaces/index.js +1 -1
  138. package/node_modules/@arbidocs/coedit/package.json +1 -1
  139. package/package.json +5 -5
  140. package/dist/ConnectedStreamedWordArtifact-IYAQ2L7G.cjs.map +0 -1
  141. package/dist/ConnectedStreamedWordArtifact-KLLG6W5L.js.map +0 -1
  142. package/dist/chunk-2JXJE7Y4.js.map +0 -1
  143. package/dist/chunk-4DRLOAVD.js.map +0 -1
  144. package/dist/chunk-CIXA5A65.cjs.map +0 -1
  145. package/dist/chunk-CVYFX7AD.js.map +0 -1
  146. package/dist/chunk-FAKRTCAL.cjs.map +0 -1
  147. package/dist/chunk-KVKKVSBT.cjs.map +0 -1
@@ -2,17 +2,17 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkO2FV2HK2_cjs = require('./chunk-O2FV2HK2.cjs');
5
- var chunkZJ3NII4U_cjs = require('./chunk-ZJ3NII4U.cjs');
5
+ var chunkECCV4YOL_cjs = require('./chunk-ECCV4YOL.cjs');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
8
  function ConnectedStreamedWordArtifact({
9
9
  fontBaseUrl,
10
10
  ...props
11
11
  }) {
12
- const adapter = chunkZJ3NII4U_cjs.useConnectedNativeDocxAdapter(fontBaseUrl);
12
+ const adapter = chunkECCV4YOL_cjs.useConnectedNativeDocxAdapter(fontBaseUrl);
13
13
  return /* @__PURE__ */ jsxRuntime.jsx(chunkO2FV2HK2_cjs.StreamedWordArtifact, { ...props, adapter });
14
14
  }
15
15
 
16
16
  exports.ConnectedStreamedWordArtifact = ConnectedStreamedWordArtifact;
17
- //# sourceMappingURL=chunk-6NMLRGUJ.cjs.map
18
- //# sourceMappingURL=chunk-6NMLRGUJ.cjs.map
17
+ //# sourceMappingURL=chunk-6IS3IRUF.cjs.map
18
+ //# sourceMappingURL=chunk-6IS3IRUF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/docx/ConnectedStreamedWordArtifact.tsx"],"names":["useConnectedNativeDocxAdapter","jsx","StreamedWordArtifact"],"mappings":";;;;;;AAMO,SAAS,6BAAA,CAA8B;AAAA,EAC5C,WAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0E;AACxE,EAAA,MAAM,OAAA,GAAUA,gDAA8B,WAAW,CAAA;AACzD,EAAA,uBAAOC,cAAA,CAACC,sCAAA,EAAA,EAAsB,GAAG,KAAA,EAAO,OAAA,EAAkB,CAAA;AAC5D","file":"chunk-6NMLRGUJ.cjs","sourcesContent":["import { useConnectedNativeDocxAdapter } from './ConnectedNativeDocxEditor'\nimport {\n StreamedWordArtifact,\n type StreamedWordArtifactProps,\n} from '../../docx/StreamedWordArtifact'\n\nexport function ConnectedStreamedWordArtifact({\n fontBaseUrl,\n ...props\n}: Omit<StreamedWordArtifactProps, 'adapter'> & { fontBaseUrl?: string }) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n return <StreamedWordArtifact {...props} adapter={adapter} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/docx/ConnectedStreamedWordArtifact.tsx"],"names":["useConnectedNativeDocxAdapter","jsx","StreamedWordArtifact"],"mappings":";;;;;;AAMO,SAAS,6BAAA,CAA8B;AAAA,EAC5C,WAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0E;AACxE,EAAA,MAAM,OAAA,GAAUA,gDAA8B,WAAW,CAAA;AACzD,EAAA,uBAAOC,cAAA,CAACC,sCAAA,EAAA,EAAsB,GAAG,KAAA,EAAO,OAAA,EAAkB,CAAA;AAC5D","file":"chunk-6IS3IRUF.cjs","sourcesContent":["import { useConnectedNativeDocxAdapter } from './ConnectedNativeDocxEditor'\nimport {\n StreamedWordArtifact,\n type StreamedWordArtifactProps,\n} from '../../docx/StreamedWordArtifact'\n\nexport function ConnectedStreamedWordArtifact({\n fontBaseUrl,\n ...props\n}: Omit<StreamedWordArtifactProps, 'adapter'> & { fontBaseUrl?: string }) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n return <StreamedWordArtifact {...props} adapter={adapter} />\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useWorkflowView } from './chunk-2JXJE7Y4.js';
2
+ import { useWorkflowView } from './chunk-T7LLYVOW.js';
3
3
  import { workflowSteps, initialRunInputs, stepPhase, composeStepPrompt } from './chunk-MMSBCSGH.js';
4
4
  import { useState, useRef, useEffect } from 'react';
5
5
 
@@ -56,5 +56,5 @@ function useWorkflowPreview(workflow, { answer = "{prompt}", delayMs = 400, reso
56
56
  }
57
57
 
58
58
  export { useWorkflowPreview };
59
- //# sourceMappingURL=chunk-KQUFEMPP.js.map
60
- //# sourceMappingURL=chunk-KQUFEMPP.js.map
59
+ //# sourceMappingURL=chunk-76O7J6IZ.js.map
60
+ //# sourceMappingURL=chunk-76O7J6IZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":[],"mappings":"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","file":"chunk-KQUFEMPP.js","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":[],"mappings":";;;;AAwBO,SAAS,kBAAA,CACd,QAAA,EACA,EAAE,MAAA,GAAS,UAAA,EAAY,OAAA,GAAU,GAAA,EAAK,eAAA,EAAiB,OAAA,EAAQ,GAA+B,EAAC,EAC9E;AACjB,EAAA,MAAM,KAAA,GAAQ,cAAc,QAAQ,CAAA;AACpC,EAAA,MAAM,CAAC,QAAQ,SAAS,CAAA,GAAI,SAAyB,MAAM,gBAAA,CAAiB,QAAQ,CAAC,CAAA;AACrF,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,QAAA,CAA4C,EAAE,CAAA;AAC1E,EAAA,MAAM,GAAA,GAAM,CAAC,EAAA,EAAY,KAAA,KAA6B,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,EAAE,GAAG,OAAM,CAAE,CAAA;AAI9F,EAAA,MAAM,MAAA,GAAS,MAAA,iBAAO,IAAI,GAAA,EAA4C,CAAA;AACtE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,MAAW,CAAA,IAAK,OAAA,CAAQ,MAAA,EAAO,eAAgB,CAAC,CAAA;AAChD,MAAA,OAAA,CAAQ,KAAA,EAAM;AACd,MAAA,SAAA;AAAA,QAAU,CAAC,MACT,MAAA,CAAO,WAAA;AAAA,UACL,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAE,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAA,KAAM;AAAA,YACjC,EAAA;AAAA,YACA,EAAE,MAAA,KAAW,SAAA,GAAY,EAAE,MAAA,EAAQ,WAAU,GAAI;AAAA,WAClD;AAAA;AACH,OACF;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,SAAS,CAAA,EAAG;AAE/D,IAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AAAA,MACjB,CAAC,CAAA,KAAA,CACE,CAAA,CAAE,IAAA,KAAS,OAAA,IAAW,CAAA,CAAE,IAAA,KAAS,QAAA,KAAa,SAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,CAAA,CAAE,EAAE,CAAA,KAAM;AAAA,KACtF;AACA,IAAA,IAAI,CAAC,IAAA,IAAS,IAAA,CAAK,SAAS,OAAA,IAAW,IAAA,CAAK,SAAS,QAAA,EAAW;AAChE,IAAA,MAAM,MAAA,GACJ,IAAA,CAAK,IAAA,KAAS,OAAA,GACV,iBAAA,CAAkB,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,EAAE,eAAA,EAAiB,OAAA,EAAS,CAAA,GACtE,EAAA;AACN,IAAA,GAAA,CAAI,IAAA,CAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,SAAA,EAAW,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY,EAAG,CAAA;AACvE,IAAA,MAAA,CAAO,OAAA,CAAQ,GAAA;AAAA,MACb,IAAA,CAAK,EAAA;AAAA,MACL,WAAW,MAAM;AACf,QAAA,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAC7B,QAAA,GAAA;AAAA,UACE,IAAA,CAAK,EAAA;AAAA,UACL,IAAA,CAAK,IAAA,KAAS,OAAA,GACV,EAAE,QAAQ,MAAA,EAAQ,IAAA,EAAM,MAAA,CAAO,OAAA,CAAQ,YAAY,MAAM,CAAA,EAAE,GAC3D,EAAE,QAAQ,MAAA;AAAO,SACvB;AAAA,MACF,GAAG,OAAO;AAAA,KACZ;AAAA,EAGF,CAAA,EAAG,CAAC,MAAA,EAAQ,KAAA,EAAO,QAAQ,CAAC,CAAA;AAE5B,EAAA,OAAO,eAAA,CAAgB;AAAA,IACrB,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA,EAAU,CAAC,IAAA,EAAM,KAAA,KAAU,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,IAAI,GAAG,OAAM,CAAE,CAAA;AAAA,IACrE,QAAA,EAAU,OAAO,IAAA,KAAS,GAAA,CAAI,KAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,CAAA;AAAA,IACzD,IAAA,EAAM,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IACjD,KAAA,EAAO,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IAClD,UAAU,CAAC,EAAA,KAAO,MAAA,CAAO,EAAE,GAAG,MAAA,KAAW;AAAA,GAC1C,CAAA;AACH","file":"chunk-76O7J6IZ.js","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,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkFAKRTCAL_cjs = require('./chunk-FAKRTCAL.cjs');
4
+ var chunkJ4CXF4A7_cjs = require('./chunk-J4CXF4A7.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 chunkFAKRTCAL_cjs.useWorkflowView({
48
+ return chunkJ4CXF4A7_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-5YIUHRTR.cjs.map
62
- //# sourceMappingURL=chunk-5YIUHRTR.cjs.map
61
+ //# sourceMappingURL=chunk-AINS6VU6.cjs.map
62
+ //# sourceMappingURL=chunk-AINS6VU6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":["workflowSteps","useState","initialRunInputs","useRef","useEffect","stepPhase","composeStepPrompt","useWorkflowView"],"mappings":";;;;;;AAwBO,SAAS,kBAAA,CACd,QAAA,EACA,EAAE,MAAA,GAAS,UAAA,EAAY,OAAA,GAAU,GAAA,EAAK,eAAA,EAAiB,OAAA,EAAQ,GAA+B,EAAC,EAC9E;AACjB,EAAA,MAAM,KAAA,GAAQA,gCAAc,QAAQ,CAAA;AACpC,EAAA,MAAM,CAAC,QAAQ,SAAS,CAAA,GAAIC,eAAyB,MAAMC,kCAAA,CAAiB,QAAQ,CAAC,CAAA;AACrF,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAID,cAAA,CAA4C,EAAE,CAAA;AAC1E,EAAA,MAAM,GAAA,GAAM,CAAC,EAAA,EAAY,KAAA,KAA6B,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,EAAE,GAAG,OAAM,CAAE,CAAA;AAI9F,EAAA,MAAM,MAAA,GAASE,YAAA,iBAAO,IAAI,GAAA,EAA4C,CAAA;AACtE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,MAAW,CAAA,IAAK,OAAA,CAAQ,MAAA,EAAO,eAAgB,CAAC,CAAA;AAChD,MAAA,OAAA,CAAQ,KAAA,EAAM;AACd,MAAA,SAAA;AAAA,QAAU,CAAC,MACT,MAAA,CAAO,WAAA;AAAA,UACL,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAE,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAA,KAAM;AAAA,YACjC,EAAA;AAAA,YACA,EAAE,MAAA,KAAW,SAAA,GAAY,EAAE,MAAA,EAAQ,WAAU,GAAI;AAAA,WAClD;AAAA;AACH,OACF;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAGL,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,SAAS,CAAA,EAAG;AAE/D,IAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AAAA,MACjB,CAAC,CAAA,KAAA,CACE,CAAA,CAAE,IAAA,KAAS,OAAA,IAAW,CAAA,CAAE,IAAA,KAAS,QAAA,KAAaC,2BAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,CAAA,CAAE,EAAE,CAAA,KAAM;AAAA,KACtF;AACA,IAAA,IAAI,CAAC,IAAA,IAAS,IAAA,CAAK,SAAS,OAAA,IAAW,IAAA,CAAK,SAAS,QAAA,EAAW;AAChE,IAAA,MAAM,MAAA,GACJ,IAAA,CAAK,IAAA,KAAS,OAAA,GACVC,mCAAA,CAAkB,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,EAAE,eAAA,EAAiB,OAAA,EAAS,CAAA,GACtE,EAAA;AACN,IAAA,GAAA,CAAI,IAAA,CAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,SAAA,EAAW,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY,EAAG,CAAA;AACvE,IAAA,MAAA,CAAO,OAAA,CAAQ,GAAA;AAAA,MACb,IAAA,CAAK,EAAA;AAAA,MACL,WAAW,MAAM;AACf,QAAA,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAC7B,QAAA,GAAA;AAAA,UACE,IAAA,CAAK,EAAA;AAAA,UACL,IAAA,CAAK,IAAA,KAAS,OAAA,GACV,EAAE,QAAQ,MAAA,EAAQ,IAAA,EAAM,MAAA,CAAO,OAAA,CAAQ,YAAY,MAAM,CAAA,EAAE,GAC3D,EAAE,QAAQ,MAAA;AAAO,SACvB;AAAA,MACF,GAAG,OAAO;AAAA,KACZ;AAAA,EAGF,CAAA,EAAG,CAAC,MAAA,EAAQ,KAAA,EAAO,QAAQ,CAAC,CAAA;AAE5B,EAAA,OAAOC,iCAAA,CAAgB;AAAA,IACrB,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA,EAAU,CAAC,IAAA,EAAM,KAAA,KAAU,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,IAAI,GAAG,OAAM,CAAE,CAAA;AAAA,IACrE,QAAA,EAAU,OAAO,IAAA,KAAS,GAAA,CAAI,KAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,CAAA;AAAA,IACzD,IAAA,EAAM,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IACjD,KAAA,EAAO,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IAClD,UAAU,CAAC,EAAA,KAAO,MAAA,CAAO,EAAE,GAAG,MAAA,KAAW;AAAA,GAC1C,CAAA;AACH","file":"chunk-5YIUHRTR.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-AINS6VU6.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 chunkJIOHDVWH_cjs = require('./chunk-JIOHDVWH.cjs');
5
5
  var chunkSK6HQ46Q_cjs = require('./chunk-SK6HQ46Q.cjs');
6
6
  var chunkBQOL4XNZ_cjs = require('./chunk-BQOL4XNZ.cjs');
7
- var chunkFAKRTCAL_cjs = require('./chunk-FAKRTCAL.cjs');
7
+ var chunkJ4CXF4A7_cjs = require('./chunk-J4CXF4A7.cjs');
8
8
  var chunkLKK52DEY_cjs = require('./chunk-LKK52DEY.cjs');
9
9
  var chunkVZOOGA47_cjs = require('./chunk-VZOOGA47.cjs');
10
10
  var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
@@ -355,9 +355,9 @@ function workspaceActivityHeadline(item) {
355
355
  return item.status ? `${run} (${item.status.replace(/_/g, " ")})` : run;
356
356
  }
357
357
  default: {
358
- const headline = chunkFAKRTCAL_cjs.taskActivityHeadline(
358
+ const headline = chunkJ4CXF4A7_cjs.taskActivityHeadline(
359
359
  { kind: item.kind, detail: item.detail },
360
- chunkFAKRTCAL_cjs.DEFAULT_TASK_ACTIVITY_LABELS
360
+ chunkJ4CXF4A7_cjs.DEFAULT_TASK_ACTIVITY_LABELS
361
361
  );
362
362
  return `${headline} in ${thread}`;
363
363
  }
@@ -1882,5 +1882,5 @@ exports.tagsPageNouns = tagsPageNouns;
1882
1882
  exports.useTipsPlacement = useTipsPlacement;
1883
1883
  exports.workspaceActivityHeadline = workspaceActivityHeadline;
1884
1884
  exports.workspaceActivityTarget = workspaceActivityTarget;
1885
- //# sourceMappingURL=chunk-ZA3ZELSH.cjs.map
1886
- //# sourceMappingURL=chunk-ZA3ZELSH.cjs.map
1885
+ //# sourceMappingURL=chunk-CCALU47C.cjs.map
1886
+ //# sourceMappingURL=chunk-CCALU47C.cjs.map