@arbidocs/blocks 0.5.117 → 0.5.118

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 (100) hide show
  1. package/dist/{ConnectedCallDock-OZBTU3IT.cjs → ConnectedCallDock-E7RMQMMT.cjs} +15 -15
  2. package/dist/{ConnectedCallDock-OZBTU3IT.cjs.map → ConnectedCallDock-E7RMQMMT.cjs.map} +1 -1
  3. package/dist/{ConnectedCallRoom-VMZE2NFP.cjs → ConnectedCallRoom-FF7X6LQ2.cjs} +8 -8
  4. package/dist/{ConnectedCallRoom-VMZE2NFP.cjs.map → ConnectedCallRoom-FF7X6LQ2.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxComparison-7OUKTKYP.cjs → ConnectedNativeDocxComparison-PB2LXT5U.cjs} +16 -16
  6. package/dist/{ConnectedNativeDocxComparison-7OUKTKYP.cjs.map → ConnectedNativeDocxComparison-PB2LXT5U.cjs.map} +1 -1
  7. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs → ConnectedProductionSetDialog-LHB4VQWC.cjs} +3 -3
  8. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs.map → ConnectedProductionSetDialog-LHB4VQWC.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-7V24ZDAC.cjs → ConnectedStreamedWordArtifact-S7ICDK5T.cjs} +16 -16
  10. package/dist/{ConnectedStreamedWordArtifact-7V24ZDAC.cjs.map → ConnectedStreamedWordArtifact-S7ICDK5T.cjs.map} +1 -1
  11. package/dist/{DocumentReviewCard-OCPFVMLD.cjs → DocumentReviewCard-L472OMQS.cjs} +15 -15
  12. package/dist/{DocumentReviewCard-OCPFVMLD.cjs.map → DocumentReviewCard-L472OMQS.cjs.map} +1 -1
  13. package/dist/{FilesViewerDialog-KLRDIYEH.cjs → FilesViewerDialog-JK25HKKF.cjs} +43 -43
  14. package/dist/{FilesViewerDialog-KLRDIYEH.cjs.map → FilesViewerDialog-JK25HKKF.cjs.map} +1 -1
  15. package/dist/{WorkspaceTableView-IMAZICIZ.cjs → WorkspaceTableView-JCTDEMIL.cjs} +8 -8
  16. package/dist/{WorkspaceTableView-IMAZICIZ.cjs.map → WorkspaceTableView-JCTDEMIL.cjs.map} +1 -1
  17. package/dist/agents/index.cjs +296 -296
  18. package/dist/{ai-7U4B4CVF.cjs → ai-OBS67QV4.cjs} +20 -20
  19. package/dist/ai-OBS67QV4.cjs.map +1 -0
  20. package/dist/calls/index.cjs +121 -121
  21. package/dist/chat/index.cjs +1 -1
  22. package/dist/{chunk-Q6DQGGP4.cjs → chunk-325GVZE6.cjs} +3 -3
  23. package/dist/{chunk-Q6DQGGP4.cjs.map → chunk-325GVZE6.cjs.map} +1 -1
  24. package/dist/{chunk-WW6LXQY6.cjs → chunk-3LNUQYAF.cjs} +11 -11
  25. package/dist/{chunk-WW6LXQY6.cjs.map → chunk-3LNUQYAF.cjs.map} +1 -1
  26. package/dist/{chunk-OZVDOAXG.cjs → chunk-5XAJ4N2S.cjs} +4 -4
  27. package/dist/{chunk-OZVDOAXG.cjs.map → chunk-5XAJ4N2S.cjs.map} +1 -1
  28. package/dist/{chunk-BW5MF464.cjs → chunk-6ULADDBW.cjs} +4 -4
  29. package/dist/{chunk-BW5MF464.cjs.map → chunk-6ULADDBW.cjs.map} +1 -1
  30. package/dist/{chunk-7XT5B2DZ.cjs → chunk-7IPIKMCY.cjs} +46 -46
  31. package/dist/{chunk-7XT5B2DZ.cjs.map → chunk-7IPIKMCY.cjs.map} +1 -1
  32. package/dist/{chunk-H5OLHP2U.cjs → chunk-7OPOPYV6.cjs} +3 -3
  33. package/dist/{chunk-H5OLHP2U.cjs.map → chunk-7OPOPYV6.cjs.map} +1 -1
  34. package/dist/{chunk-4VZZWYEC.cjs → chunk-BQ5RIWWT.cjs} +3 -3
  35. package/dist/{chunk-4VZZWYEC.cjs.map → chunk-BQ5RIWWT.cjs.map} +1 -1
  36. package/dist/{chunk-D7ICHGWM.cjs → chunk-CB3YYZAU.cjs} +58 -58
  37. package/dist/{chunk-D7ICHGWM.cjs.map → chunk-CB3YYZAU.cjs.map} +1 -1
  38. package/dist/{chunk-MC4F2URI.cjs → chunk-CPG7II4E.cjs} +28 -28
  39. package/dist/{chunk-MC4F2URI.cjs.map → chunk-CPG7II4E.cjs.map} +1 -1
  40. package/dist/{chunk-VTYJAZDU.cjs → chunk-K6AUKKUN.cjs} +10 -10
  41. package/dist/{chunk-VTYJAZDU.cjs.map → chunk-K6AUKKUN.cjs.map} +1 -1
  42. package/dist/{chunk-UNDQYTRF.cjs → chunk-KHAO7ZTO.cjs} +6 -6
  43. package/dist/{chunk-UNDQYTRF.cjs.map → chunk-KHAO7ZTO.cjs.map} +1 -1
  44. package/dist/{chunk-UUENH4BJ.cjs → chunk-KXIRVKCJ.cjs} +3 -3
  45. package/dist/{chunk-UUENH4BJ.cjs.map → chunk-KXIRVKCJ.cjs.map} +1 -1
  46. package/dist/{chunk-XKDUPU7B.cjs → chunk-L6APDO3Y.cjs} +3 -3
  47. package/dist/{chunk-XKDUPU7B.cjs.map → chunk-L6APDO3Y.cjs.map} +1 -1
  48. package/dist/{chunk-E4DUXU5K.cjs → chunk-MMVDVHKE.cjs} +7 -7
  49. package/dist/{chunk-E4DUXU5K.cjs.map → chunk-MMVDVHKE.cjs.map} +1 -1
  50. package/dist/{chunk-5QUL5BZO.cjs → chunk-NNUK5ZM7.cjs} +4 -4
  51. package/dist/{chunk-5QUL5BZO.cjs.map → chunk-NNUK5ZM7.cjs.map} +1 -1
  52. package/dist/{chunk-4NPCDS2X.cjs → chunk-NY3YUCOW.cjs} +3 -3
  53. package/dist/{chunk-4NPCDS2X.cjs.map → chunk-NY3YUCOW.cjs.map} +1 -1
  54. package/dist/{chunk-E4BLRF2L.cjs → chunk-O4F77VSO.cjs} +5 -5
  55. package/dist/{chunk-E4BLRF2L.cjs.map → chunk-O4F77VSO.cjs.map} +1 -1
  56. package/dist/{chunk-6DCIZA3X.cjs → chunk-OPH4UZQN.cjs} +71 -71
  57. package/dist/{chunk-6DCIZA3X.cjs.map → chunk-OPH4UZQN.cjs.map} +1 -1
  58. package/dist/{chunk-TDN33HSK.cjs → chunk-P2MOLUFO.cjs} +6 -6
  59. package/dist/{chunk-TDN33HSK.cjs.map → chunk-P2MOLUFO.cjs.map} +1 -1
  60. package/dist/{chunk-3ODEWSRO.cjs → chunk-P77YTTJ3.cjs} +4 -4
  61. package/dist/{chunk-3ODEWSRO.cjs.map → chunk-P77YTTJ3.cjs.map} +1 -1
  62. package/dist/{chunk-3U36VYMD.cjs → chunk-PVPRVI54.cjs} +26 -26
  63. package/dist/{chunk-3U36VYMD.cjs.map → chunk-PVPRVI54.cjs.map} +1 -1
  64. package/dist/{chunk-LFRNBT2I.cjs → chunk-QOXK5O6M.cjs} +10 -10
  65. package/dist/{chunk-LFRNBT2I.cjs.map → chunk-QOXK5O6M.cjs.map} +1 -1
  66. package/dist/{chunk-2W5E62EY.cjs → chunk-SGYSDABK.cjs} +6 -6
  67. package/dist/{chunk-2W5E62EY.cjs.map → chunk-SGYSDABK.cjs.map} +1 -1
  68. package/dist/{chunk-57EE6CMW.cjs → chunk-SUYPXUE6.cjs} +13 -13
  69. package/dist/{chunk-57EE6CMW.cjs.map → chunk-SUYPXUE6.cjs.map} +1 -1
  70. package/dist/{chunk-4IOYQLKG.cjs → chunk-TP5PGWIO.cjs} +3 -3
  71. package/dist/{chunk-4IOYQLKG.cjs.map → chunk-TP5PGWIO.cjs.map} +1 -1
  72. package/dist/{chunk-7X3FS5HQ.cjs → chunk-TT4IF52H.cjs} +35 -35
  73. package/dist/{chunk-7X3FS5HQ.cjs.map → chunk-TT4IF52H.cjs.map} +1 -1
  74. package/dist/{chunk-GQXPNIRE.cjs → chunk-WAV762GP.cjs} +6 -6
  75. package/dist/{chunk-GQXPNIRE.cjs.map → chunk-WAV762GP.cjs.map} +1 -1
  76. package/dist/{chunk-MZ2KZXNU.cjs → chunk-WXUU3COI.cjs} +3 -3
  77. package/dist/{chunk-MZ2KZXNU.cjs.map → chunk-WXUU3COI.cjs.map} +1 -1
  78. package/dist/{chunk-LYTIQQQ2.cjs → chunk-XZYIS2JZ.cjs} +3 -3
  79. package/dist/{chunk-LYTIQQQ2.cjs.map → chunk-XZYIS2JZ.cjs.map} +1 -1
  80. package/dist/{chunk-BKY2LAV2.cjs → chunk-YDPLSXHB.cjs} +4 -4
  81. package/dist/{chunk-BKY2LAV2.cjs.map → chunk-YDPLSXHB.cjs.map} +1 -1
  82. package/dist/{chunk-7TEUGFIL.cjs → chunk-YGXOKB5Z.cjs} +4 -4
  83. package/dist/{chunk-7TEUGFIL.cjs.map → chunk-YGXOKB5Z.cjs.map} +1 -1
  84. package/dist/{chunk-VBL3SHWX.cjs → chunk-ZCIQBHH5.cjs} +45 -45
  85. package/dist/{chunk-VBL3SHWX.cjs.map → chunk-ZCIQBHH5.cjs.map} +1 -1
  86. package/dist/connect/docx.cjs +19 -19
  87. package/dist/connect/index.cjs +965 -965
  88. package/dist/connect/viewer.cjs +33 -33
  89. package/dist/embed/index.cjs +37 -37
  90. package/dist/files/index.cjs +224 -224
  91. package/dist/index.cjs +1581 -1581
  92. package/dist/settings/index.cjs +147 -147
  93. package/dist/shell/index.cjs +80 -80
  94. package/dist/studio/index.cjs +23 -23
  95. package/dist/workflow-canvas/index.cjs +52 -52
  96. package/node_modules/@arbidocs/coedit/package.json +1 -1
  97. package/node_modules/@docx-editor.dev/core/dist/chunk-T6K2QYNZ.cjs +1 -1
  98. package/node_modules/@docx-editor.dev/core/dist/chunk-U4JZVSOE.js +1 -1
  99. package/package.json +5 -5
  100. package/dist/ai-7U4B4CVF.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkLFRNBT2I_cjs = require('./chunk-LFRNBT2I.cjs');
5
- var chunkPGJYD67F_cjs = require('./chunk-PGJYD67F.cjs');
4
+ var chunkQOXK5O6M_cjs = require('./chunk-QOXK5O6M.cjs');
6
5
  var chunk7JLJH5CW_cjs = require('./chunk-7JLJH5CW.cjs');
6
+ var chunkPGJYD67F_cjs = require('./chunk-PGJYD67F.cjs');
7
7
  var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
8
8
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
9
9
  var react$1 = require('react');
@@ -12,9 +12,9 @@ var shell = require('@arbidocs/react/shell');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
 
14
14
  function useChatSlash(send) {
15
- const { items, canBrowseSkills } = chunkLFRNBT2I_cjs.useSlashMenuItems(chunk7JLJH5CW_cjs.BUILTIN_SKILLS);
15
+ const { items, canBrowseSkills } = chunkQOXK5O6M_cjs.useSlashMenuItems(chunk7JLJH5CW_cjs.BUILTIN_SKILLS);
16
16
  const { openSkillsBrowser } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
17
- const { openFor, openForDraft, launcher } = chunkLFRNBT2I_cjs.useSlashSkillWorkflows({
17
+ const { openFor, openForDraft, launcher } = chunkQOXK5O6M_cjs.useSlashSkillWorkflows({
18
18
  landing: "current-chat",
19
19
  send
20
20
  });
@@ -106,5 +106,5 @@ exports.useConnectedAiTask = useConnectedAiTask;
106
106
  exports.useConnectedChat = useConnectedChat;
107
107
  exports.useSemanticSearch = useSemanticSearch;
108
108
  exports.useWorkspaceDocs = useWorkspaceDocs;
109
- //# sourceMappingURL=chunk-TDN33HSK.cjs.map
110
- //# sourceMappingURL=chunk-TDN33HSK.cjs.map
109
+ //# sourceMappingURL=chunk-P2MOLUFO.cjs.map
110
+ //# sourceMappingURL=chunk-P2MOLUFO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/conversation/useChatSlash.ts","../src/connection/ai.tsx"],"names":["useSlashMenuItems","BUILTIN_SKILLS","useBlocksEnvironment","useSlashSkillWorkflows","useMemo","useConnection","useKitAiTask","useCallback","useKitWorkspaceDocs","useKitSemanticSearch","useWorkspaceUsers","useAssistantName","buildMentionCandidates","useConversation","ConversationScope","jsx","AssistantDock"],"mappings":"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","file":"chunk-TDN33HSK.cjs","sourcesContent":["/**\n * `ChatPage`'s `/` menu bound to the connection: the same rows as every other composer\n * (`useSlashMenuItems`) and the same skill form (`useSlashSkillWorkflows`), whose run is sent in\n * this chat through its own `send`, as a typed message is.\n */\nimport { useMemo } from 'react'\nimport type { ChatPageSlash } from '../../chat/chat-page-types'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useSlashSkillWorkflows } from '../workflows/useSlashSkillWorkflows'\nimport { useSlashMenuItems } from './useSlashItems'\nimport { BUILTIN_SKILLS } from '../../agents/workflows/catalogue/seed'\n\nexport function useChatSlash(send: (prompt: string) => void): ChatPageSlash {\n const { items, canBrowseSkills } = useSlashMenuItems(BUILTIN_SKILLS)\n const { openSkillsBrowser } = useBlocksEnvironment()\n const { openFor, openForDraft, launcher } = useSlashSkillWorkflows({\n landing: 'current-chat',\n send,\n })\n return useMemo(\n () => ({\n items,\n pick: openFor,\n startDraft: openForDraft,\n onBrowse: canBrowseSkills && openSkillsBrowser ? () => openSkillsBrowser() : undefined,\n launcher,\n }),\n [items, openFor, openForDraft, canBrowseSkills, openSkillsBrowser, launcher]\n )\n}\n","/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useConversation,\n useWorkspaceUsers,\n buildMentionCandidates,\n ConversationScope,\n type ArbiConversation,\n type UseConversationOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport { MentionCandidate, useAssistantName } from '@arbidocs/react/shell'\nimport type { ChatPageSlash } from '../chat/chat-page-types'\nimport { useChatSlash } from './conversation/useChatSlash'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents (all of them) and return the top matching passages. */\nexport function useSemanticSearch() {\n const { assistantConfig } = useConnection()\n return useKitSemanticSearch([], { model: assistantConfig })\n}\n\n/**\n * The chat engine for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`. It works on the open conversation of the session in\n * scope (wrap a second chat on the page in `ConversationScope`), with the same `/` menu as every\n * other composer.\n */\nexport function useConnectedChat(\n options?: Omit<UseConversationOptions, 'workspaceId'>\n): ArbiConversation & { mentionCandidates: MentionCandidate[]; slash: ChatPageSlash } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n // The engine's own candidates: what the composer inserts is what a send routes on.\n const assistantName = useAssistantName()\n const mentionCandidates = buildMentionCandidates(\n status === 'authenticated' ? members : [],\n user?.externalId,\n assistantName\n )\n const chat = useConversation({\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n // The composer's `/` menu: commands, the host's skill packs and the user's skills, their runs\n // sent in this chat.\n const { send } = chat\n const sendPrompt = useCallback((prompt: string) => void send(prompt), [send])\n const slash = useChatSlash(sendPrompt)\n return {\n ...chat,\n mentionCandidates,\n slash,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n fromOther: !!user?.externalId && message.authorId !== user.externalId,\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Its chat keeps its own open conversation (and\n * survives closing the dock).\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n return (\n <ConversationScope>\n <ScopedAssistantDock {...props} />\n </ConversationScope>\n )\n}\n\nfunction ScopedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/conversation/useChatSlash.ts","../src/connection/ai.tsx"],"names":["useSlashMenuItems","BUILTIN_SKILLS","useBlocksEnvironment","useSlashSkillWorkflows","useMemo","useConnection","useKitAiTask","useCallback","useKitWorkspaceDocs","useKitSemanticSearch","useWorkspaceUsers","useAssistantName","buildMentionCandidates","useConversation","ConversationScope","jsx","AssistantDock"],"mappings":"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","file":"chunk-P2MOLUFO.cjs","sourcesContent":["/**\n * `ChatPage`'s `/` menu bound to the connection: the same rows as every other composer\n * (`useSlashMenuItems`) and the same skill form (`useSlashSkillWorkflows`), whose run is sent in\n * this chat through its own `send`, as a typed message is.\n */\nimport { useMemo } from 'react'\nimport type { ChatPageSlash } from '../../chat/chat-page-types'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useSlashSkillWorkflows } from '../workflows/useSlashSkillWorkflows'\nimport { useSlashMenuItems } from './useSlashItems'\nimport { BUILTIN_SKILLS } from '../../agents/workflows/catalogue/seed'\n\nexport function useChatSlash(send: (prompt: string) => void): ChatPageSlash {\n const { items, canBrowseSkills } = useSlashMenuItems(BUILTIN_SKILLS)\n const { openSkillsBrowser } = useBlocksEnvironment()\n const { openFor, openForDraft, launcher } = useSlashSkillWorkflows({\n landing: 'current-chat',\n send,\n })\n return useMemo(\n () => ({\n items,\n pick: openFor,\n startDraft: openForDraft,\n onBrowse: canBrowseSkills && openSkillsBrowser ? () => openSkillsBrowser() : undefined,\n launcher,\n }),\n [items, openFor, openForDraft, canBrowseSkills, openSkillsBrowser, launcher]\n )\n}\n","/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useConversation,\n useWorkspaceUsers,\n buildMentionCandidates,\n ConversationScope,\n type ArbiConversation,\n type UseConversationOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport { MentionCandidate, useAssistantName } from '@arbidocs/react/shell'\nimport type { ChatPageSlash } from '../chat/chat-page-types'\nimport { useChatSlash } from './conversation/useChatSlash'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents (all of them) and return the top matching passages. */\nexport function useSemanticSearch() {\n const { assistantConfig } = useConnection()\n return useKitSemanticSearch([], { model: assistantConfig })\n}\n\n/**\n * The chat engine for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`. It works on the open conversation of the session in\n * scope (wrap a second chat on the page in `ConversationScope`), with the same `/` menu as every\n * other composer.\n */\nexport function useConnectedChat(\n options?: Omit<UseConversationOptions, 'workspaceId'>\n): ArbiConversation & { mentionCandidates: MentionCandidate[]; slash: ChatPageSlash } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n // The engine's own candidates: what the composer inserts is what a send routes on.\n const assistantName = useAssistantName()\n const mentionCandidates = buildMentionCandidates(\n status === 'authenticated' ? members : [],\n user?.externalId,\n assistantName\n )\n const chat = useConversation({\n ...options,\n workspaceId: wsId,\n model: options?.model ?? assistantConfig,\n })\n // The composer's `/` menu: commands, the host's skill packs and the user's skills, their runs\n // sent in this chat.\n const { send } = chat\n const sendPrompt = useCallback((prompt: string) => void send(prompt), [send])\n const slash = useChatSlash(sendPrompt)\n return {\n ...chat,\n mentionCandidates,\n slash,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n fromOther: !!user?.externalId && message.authorId !== user.externalId,\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Its chat keeps its own open conversation (and\n * survives closing the dock).\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n return (\n <ConversationScope>\n <ScopedAssistantDock {...props} />\n </ConversationScope>\n )\n}\n\nfunction ScopedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk7X3FS5HQ_cjs = require('./chunk-7X3FS5HQ.cjs');
4
+ var chunkTT4IF52H_cjs = require('./chunk-TT4IF52H.cjs');
5
5
  var react = require('@arbidocs/react');
6
6
  var ui = require('@arbidocs/react/ui');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -25,9 +25,9 @@ function DocumentUser({
25
25
  initials: `${user.given_name?.charAt(0) ?? ""}${user.family_name?.charAt(0) ?? ""}`
26
26
  }
27
27
  );
28
- return /* @__PURE__ */ jsxRuntime.jsx(chunk7X3FS5HQ_cjs.UserAvatar, { user, onOpen: openUser });
28
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTT4IF52H_cjs.UserAvatar, { user, onOpen: openUser });
29
29
  }
30
30
 
31
31
  exports.DocumentUser = DocumentUser;
32
- //# sourceMappingURL=chunk-3ODEWSRO.cjs.map
33
- //# sourceMappingURL=chunk-3ODEWSRO.cjs.map
32
+ //# sourceMappingURL=chunk-P77YTTJ3.cjs.map
33
+ //# sourceMappingURL=chunk-P77YTTJ3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/files/fields/DocumentUser.tsx"],"names":["useDocumentsSupport","useDocumentHostActions","jsx","Fragment","UserEntity","getUserDisplayName","UserAvatar"],"mappings":";;;;;;;AAUO,SAAS,YAAA,CAAa;AAAA,EAC3B,IAAA;AAAA,EACA,OAAA,GAAU,IAAA;AAAA,EACV,OAAA,GAAU;AACZ,CAAA,EAMG;AACD,EAAA,MAAM,EAAE,UAAA,EAAW,GAAIA,yBAAA,EAAoB;AAC3C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAIC,4BAAA,EAAuB;AAC5C,EAAA,IAAI,IAAA,IAAQ,UAAA,EAAY,uBAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAG,QAAA,EAAA,UAAA,CAAW,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,CAAA,EAAE,CAAA;AACzE,EAAA,IAAI,QAAQ,OAAA,KAAY,MAAA;AACtB,IAAA,uBACED,cAAA;AAAA,MAACE,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,MAAA;AAAA,QACR,WAAA,EAAaC,sBAAmB,IAAI,CAAA;AAAA,QACpC,SAAS,IAAA,CAAK,OAAA;AAAA,QACd,QAAA,EAAU,CAAA,EAAG,IAAA,CAAK,UAAA,EAAY,OAAO,CAAC,CAAA,IAAK,EAAE,CAAA,EAAG,IAAA,CAAK,WAAA,EAAa,MAAA,CAAO,CAAC,KAAK,EAAE,CAAA;AAAA;AAAA,KACnF;AAEJ,EAAA,uBAAOH,cAAA,CAACI,4BAAA,EAAA,EAAW,IAAA,EAAY,MAAA,EAAQ,QAAA,EAAU,CAAA;AACnD","file":"chunk-3ODEWSRO.cjs","sourcesContent":["/**\n * A person by a document or a field (who made a document, a field, a value): the host's own\n * rendering when it has one (`DocumentsSupport.renderUser`: presence, their card), else the kit's\n * avatar, which opens them when the host can.\n */\n\nimport { useDocumentHostActions, useDocumentsSupport, type DocumentPerson } from '@arbidocs/react'\nimport { UserEntity, getUserDisplayName } from '@arbidocs/react/ui'\nimport { UserAvatar } from '../grid/cells'\n\nexport function DocumentUser({\n user,\n tooltip = true,\n variant = 'icon',\n}: {\n user: DocumentPerson | undefined\n /** Whether hovering shows their card (the host's rendering). */\n tooltip?: boolean\n /** Their face alone (`icon`) or their face and name (`pill`). */\n variant?: 'icon' | 'pill'\n}) {\n const { renderUser } = useDocumentsSupport()\n const { openUser } = useDocumentHostActions()\n if (user && renderUser) return <>{renderUser(user, { tooltip, variant })}</>\n if (user && variant === 'pill')\n return (\n <UserEntity\n size=\"sm\"\n variant=\"pill\"\n displayName={getUserDisplayName(user)}\n picture={user.picture}\n initials={`${user.given_name?.charAt(0) ?? ''}${user.family_name?.charAt(0) ?? ''}`}\n />\n )\n return <UserAvatar user={user} onOpen={openUser} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/files/fields/DocumentUser.tsx"],"names":["useDocumentsSupport","useDocumentHostActions","jsx","Fragment","UserEntity","getUserDisplayName","UserAvatar"],"mappings":";;;;;;;AAUO,SAAS,YAAA,CAAa;AAAA,EAC3B,IAAA;AAAA,EACA,OAAA,GAAU,IAAA;AAAA,EACV,OAAA,GAAU;AACZ,CAAA,EAMG;AACD,EAAA,MAAM,EAAE,UAAA,EAAW,GAAIA,yBAAA,EAAoB;AAC3C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAIC,4BAAA,EAAuB;AAC5C,EAAA,IAAI,IAAA,IAAQ,UAAA,EAAY,uBAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAG,QAAA,EAAA,UAAA,CAAW,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,CAAA,EAAE,CAAA;AACzE,EAAA,IAAI,QAAQ,OAAA,KAAY,MAAA;AACtB,IAAA,uBACED,cAAA;AAAA,MAACE,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,MAAA;AAAA,QACR,WAAA,EAAaC,sBAAmB,IAAI,CAAA;AAAA,QACpC,SAAS,IAAA,CAAK,OAAA;AAAA,QACd,QAAA,EAAU,CAAA,EAAG,IAAA,CAAK,UAAA,EAAY,OAAO,CAAC,CAAA,IAAK,EAAE,CAAA,EAAG,IAAA,CAAK,WAAA,EAAa,MAAA,CAAO,CAAC,KAAK,EAAE,CAAA;AAAA;AAAA,KACnF;AAEJ,EAAA,uBAAOH,cAAA,CAACI,4BAAA,EAAA,EAAW,IAAA,EAAY,MAAA,EAAQ,QAAA,EAAU,CAAA;AACnD","file":"chunk-P77YTTJ3.cjs","sourcesContent":["/**\n * A person by a document or a field (who made a document, a field, a value): the host's own\n * rendering when it has one (`DocumentsSupport.renderUser`: presence, their card), else the kit's\n * avatar, which opens them when the host can.\n */\n\nimport { useDocumentHostActions, useDocumentsSupport, type DocumentPerson } from '@arbidocs/react'\nimport { UserEntity, getUserDisplayName } from '@arbidocs/react/ui'\nimport { UserAvatar } from '../grid/cells'\n\nexport function DocumentUser({\n user,\n tooltip = true,\n variant = 'icon',\n}: {\n user: DocumentPerson | undefined\n /** Whether hovering shows their card (the host's rendering). */\n tooltip?: boolean\n /** Their face alone (`icon`) or their face and name (`pill`). */\n variant?: 'icon' | 'pill'\n}) {\n const { renderUser } = useDocumentsSupport()\n const { openUser } = useDocumentHostActions()\n if (user && renderUser) return <>{renderUser(user, { tooltip, variant })}</>\n if (user && variant === 'pill')\n return (\n <UserEntity\n size=\"sm\"\n variant=\"pill\"\n displayName={getUserDisplayName(user)}\n picture={user.picture}\n initials={`${user.given_name?.charAt(0) ?? ''}${user.family_name?.charAt(0) ?? ''}`}\n />\n )\n return <UserAvatar user={user} onOpen={openUser} />\n}\n"]}
@@ -2,27 +2,27 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkQECKDZ47_cjs = require('./chunk-QECKDZ47.cjs');
5
- var chunk4IOYQLKG_cjs = require('./chunk-4IOYQLKG.cjs');
5
+ var chunkTP5PGWIO_cjs = require('./chunk-TP5PGWIO.cjs');
6
6
  var chunkI4IS6ST6_cjs = require('./chunk-I4IS6ST6.cjs');
7
7
  var chunk7JLJH5CW_cjs = require('./chunk-7JLJH5CW.cjs');
8
- var chunkIN6ILI5A_cjs = require('./chunk-IN6ILI5A.cjs');
9
- var chunkHSLPFBK2_cjs = require('./chunk-HSLPFBK2.cjs');
10
8
  var chunkOYXWQTHF_cjs = require('./chunk-OYXWQTHF.cjs');
11
9
  var chunkS237ORM3_cjs = require('./chunk-S237ORM3.cjs');
12
10
  var chunkII2OEXHW_cjs = require('./chunk-II2OEXHW.cjs');
13
- var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
14
- var chunkLYTIQQQ2_cjs = require('./chunk-LYTIQQQ2.cjs');
11
+ var chunkXZYIS2JZ_cjs = require('./chunk-XZYIS2JZ.cjs');
15
12
  var chunk3YEXZX4H_cjs = require('./chunk-3YEXZX4H.cjs');
16
- var chunkMZ2KZXNU_cjs = require('./chunk-MZ2KZXNU.cjs');
13
+ var chunkWXUU3COI_cjs = require('./chunk-WXUU3COI.cjs');
17
14
  var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
18
- var chunkYVCOQHCE_cjs = require('./chunk-YVCOQHCE.cjs');
19
15
  var chunkRL2HI6NP_cjs = require('./chunk-RL2HI6NP.cjs');
20
16
  var chunk6UZC4XVV_cjs = require('./chunk-6UZC4XVV.cjs');
17
+ var chunkYVCOQHCE_cjs = require('./chunk-YVCOQHCE.cjs');
18
+ var chunkJV5TVUOU_cjs = require('./chunk-JV5TVUOU.cjs');
19
+ var chunkE7TE2WVT_cjs = require('./chunk-E7TE2WVT.cjs');
20
+ var chunkIN6ILI5A_cjs = require('./chunk-IN6ILI5A.cjs');
21
+ var chunkHSLPFBK2_cjs = require('./chunk-HSLPFBK2.cjs');
22
+ var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
21
23
  var chunkQGVOT7E4_cjs = require('./chunk-QGVOT7E4.cjs');
22
24
  var chunkQRAQZTJE_cjs = require('./chunk-QRAQZTJE.cjs');
23
- var chunkJV5TVUOU_cjs = require('./chunk-JV5TVUOU.cjs');
24
25
  var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
25
- var chunkE7TE2WVT_cjs = require('./chunk-E7TE2WVT.cjs');
26
26
  var chunkSJSGSHIT_cjs = require('./chunk-SJSGSHIT.cjs');
27
27
  var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
28
28
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
@@ -1423,7 +1423,7 @@ function WorkflowRunner({
1423
1423
  /* @__PURE__ */ jsxRuntime.jsx(SentBackNote, { state: run.stateOf(step.id), l: pl, testId: tid(step.id) }),
1424
1424
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1425
1425
  /* @__PURE__ */ jsxRuntime.jsx("fieldset", { disabled: run.isLocked(step.id), className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(
1426
- chunkMZ2KZXNU_cjs.SchemaForm,
1426
+ chunkWXUU3COI_cjs.SchemaForm,
1427
1427
  {
1428
1428
  fields: step.inputs,
1429
1429
  values: run.inputs,
@@ -1473,7 +1473,7 @@ function WorkflowRunner({
1473
1473
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1474
1474
  !(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 }),
1475
1475
  (step.fields ?? []).length > 0 && run.phaseOf(step.id) === "ready" && /* @__PURE__ */ jsxRuntime.jsx(
1476
- chunkMZ2KZXNU_cjs.SchemaForm,
1476
+ chunkWXUU3COI_cjs.SchemaForm,
1477
1477
  {
1478
1478
  fields: step.fields ?? [],
1479
1479
  values: run.inputs,
@@ -2223,7 +2223,7 @@ function StepAction({
2223
2223
  const errors = chunkQRAQZTJE_cjs.validateInputs(asForm(step), values);
2224
2224
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-1", "data-testid": tid, children: [
2225
2225
  /* @__PURE__ */ jsxRuntime.jsx(
2226
- chunkMZ2KZXNU_cjs.SchemaForm,
2226
+ chunkWXUU3COI_cjs.SchemaForm,
2227
2227
  {
2228
2228
  fields,
2229
2229
  values,
@@ -4430,16 +4430,16 @@ var DEFAULT_RECURRENCE_BUILDER_LABELS = {
4430
4430
  var pad2 = (n) => String(n).padStart(2, "0");
4431
4431
  function RecurrenceBuilder({ rrule, onChange, testIds, labels }) {
4432
4432
  const l = { ...DEFAULT_RECURRENCE_BUILDER_LABELS, ...labels };
4433
- const [advanced, setAdvanced] = react.useState(() => !!rrule && chunk4IOYQLKG_cjs.parseRRule(rrule) === null);
4433
+ const [advanced, setAdvanced] = react.useState(() => !!rrule && chunkTP5PGWIO_cjs.parseRRule(rrule) === null);
4434
4434
  const [preset, setPreset] = react.useState(
4435
- () => chunk4IOYQLKG_cjs.parseRRule(rrule) ?? chunk4IOYQLKG_cjs.DEFAULT_RECURRENCE
4435
+ () => chunkTP5PGWIO_cjs.parseRRule(rrule) ?? chunkTP5PGWIO_cjs.DEFAULT_RECURRENCE
4436
4436
  );
4437
4437
  react.useEffect(() => {
4438
- if (!rrule) onChange(chunk4IOYQLKG_cjs.buildRRule(chunk4IOYQLKG_cjs.DEFAULT_RECURRENCE));
4438
+ if (!rrule) onChange(chunkTP5PGWIO_cjs.buildRRule(chunkTP5PGWIO_cjs.DEFAULT_RECURRENCE));
4439
4439
  }, []);
4440
4440
  const update = (next) => {
4441
4441
  setPreset(next);
4442
- onChange(chunk4IOYQLKG_cjs.buildRRule(next));
4442
+ onChange(chunkTP5PGWIO_cjs.buildRRule(next));
4443
4443
  };
4444
4444
  const toggleWeekday = (day) => {
4445
4445
  const has = preset.weekdays.includes(day);
@@ -4469,9 +4469,9 @@ function RecurrenceBuilder({ rrule, onChange, testIds, labels }) {
4469
4469
  type: "button",
4470
4470
  className: "text-sm text-muted-foreground hover:text-foreground",
4471
4471
  onClick: () => {
4472
- const parsed = chunk4IOYQLKG_cjs.parseRRule(rrule);
4473
- setPreset(parsed ?? chunk4IOYQLKG_cjs.DEFAULT_RECURRENCE);
4474
- if (!parsed) onChange(chunk4IOYQLKG_cjs.buildRRule(chunk4IOYQLKG_cjs.DEFAULT_RECURRENCE));
4472
+ const parsed = chunkTP5PGWIO_cjs.parseRRule(rrule);
4473
+ setPreset(parsed ?? chunkTP5PGWIO_cjs.DEFAULT_RECURRENCE);
4474
+ if (!parsed) onChange(chunkTP5PGWIO_cjs.buildRRule(chunkTP5PGWIO_cjs.DEFAULT_RECURRENCE));
4475
4475
  setAdvanced(false);
4476
4476
  },
4477
4477
  "data-testid": chunkPLIF5CUV_cjs.testIdOr(testIds?.simple, { testId: "task-recurrence-simple" }),
@@ -4549,7 +4549,7 @@ function RecurrenceBuilder({ rrule, onChange, testIds, labels }) {
4549
4549
  ] }),
4550
4550
  preset.frequency === "weekly" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
4551
4551
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { children: l.on }),
4552
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: chunk4IOYQLKG_cjs.WEEKDAYS.map((day) => /* @__PURE__ */ jsxRuntime.jsx(
4552
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: chunkTP5PGWIO_cjs.WEEKDAYS.map((day) => /* @__PURE__ */ jsxRuntime.jsx(
4553
4553
  ui.Button,
4554
4554
  {
4555
4555
  type: "button",
@@ -5302,7 +5302,7 @@ function TaskTable(props) {
5302
5302
  isMe: mine
5303
5303
  };
5304
5304
  };
5305
- const renderPerson = (person) => /* @__PURE__ */ jsxRuntime.jsx(chunkLYTIQQQ2_cjs.PersonPill, { person });
5305
+ const renderPerson = (person) => /* @__PURE__ */ jsxRuntime.jsx(chunkXZYIS2JZ_cjs.PersonPill, { person });
5306
5306
  const q = (query.trim() || (props.filterText ?? "").trim()).toLowerCase();
5307
5307
  const counts = react.useMemo(() => {
5308
5308
  const map = new Map(STATUS_ORDER.map((s) => [s, 0]));
@@ -5975,7 +5975,7 @@ function ConversationListView(p) {
5975
5975
  valueGetter: ({ data }) => data?.title?.trim() || "Untitled thread",
5976
5976
  cellRenderer: ({ data }) => data && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group flex h-full min-w-0 items-center gap-2", children: [
5977
5977
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: liveProps.current.renderThread ? liveProps.current.renderThread(data) : /* @__PURE__ */ jsxRuntime.jsx(
5978
- chunk4IOYQLKG_cjs.EntityChip,
5978
+ chunkTP5PGWIO_cjs.EntityChip,
5979
5979
  {
5980
5980
  icon: /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: data.is_shared ?? false, className: "size-4" }),
5981
5981
  label: data.title?.trim() || "Untitled thread",
@@ -7769,7 +7769,7 @@ function WorkflowComposer({
7769
7769
  }
7770
7770
  ),
7771
7771
  !noFiles && workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
7772
- chunkMZ2KZXNU_cjs.SchemaForm,
7772
+ chunkWXUU3COI_cjs.SchemaForm,
7773
7773
  {
7774
7774
  fields,
7775
7775
  values: values.inputs,
@@ -8401,7 +8401,7 @@ function WorkTaskComposer({
8401
8401
  )
8402
8402
  ] }),
8403
8403
  workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
8404
- chunkMZ2KZXNU_cjs.SchemaForm,
8404
+ chunkWXUU3COI_cjs.SchemaForm,
8405
8405
  {
8406
8406
  fields,
8407
8407
  values: values.inputs,
@@ -10009,5 +10009,5 @@ exports.useWorkflowView = useWorkflowView;
10009
10009
  exports.withLabelIds = withLabelIds;
10010
10010
  exports.workflowFromSkillMarkdown = workflowFromSkillMarkdown;
10011
10011
  exports.workflowToSkillMarkdown = workflowToSkillMarkdown;
10012
- //# sourceMappingURL=chunk-3U36VYMD.cjs.map
10013
- //# sourceMappingURL=chunk-3U36VYMD.cjs.map
10012
+ //# sourceMappingURL=chunk-PVPRVI54.cjs.map
10013
+ //# sourceMappingURL=chunk-PVPRVI54.cjs.map