@arbidocs/blocks 0.5.116 → 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 (71) hide show
  1. package/dist/{ConnectedCallDock-WER7R222.cjs → ConnectedCallDock-E7RMQMMT.cjs} +12 -12
  2. package/dist/{ConnectedCallDock-WER7R222.cjs.map → ConnectedCallDock-E7RMQMMT.cjs.map} +1 -1
  3. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs → ConnectedCallRoom-FF7X6LQ2.cjs} +12 -12
  4. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs.map → ConnectedCallRoom-FF7X6LQ2.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxComparison-546ILGLW.cjs → ConnectedNativeDocxComparison-PB2LXT5U.cjs} +11 -11
  6. package/dist/{ConnectedNativeDocxComparison-546ILGLW.cjs.map → ConnectedNativeDocxComparison-PB2LXT5U.cjs.map} +1 -1
  7. package/dist/{ConnectedStreamedWordArtifact-S2ZFZLZQ.cjs → ConnectedStreamedWordArtifact-S7ICDK5T.cjs} +11 -11
  8. package/dist/{ConnectedStreamedWordArtifact-S2ZFZLZQ.cjs.map → ConnectedStreamedWordArtifact-S7ICDK5T.cjs.map} +1 -1
  9. package/dist/{DocumentReviewCard-ZSBZBGFK.cjs → DocumentReviewCard-L472OMQS.cjs} +5 -5
  10. package/dist/{DocumentReviewCard-ZSBZBGFK.cjs.map → DocumentReviewCard-L472OMQS.cjs.map} +1 -1
  11. package/dist/{FilesViewerDialog-6UKR5WEF.cjs → FilesViewerDialog-JK25HKKF.cjs} +21 -21
  12. package/dist/{FilesViewerDialog-6UKR5WEF.cjs.map → FilesViewerDialog-JK25HKKF.cjs.map} +1 -1
  13. package/dist/{WorkspaceTableView-J3C6VH4T.cjs → WorkspaceTableView-JCTDEMIL.cjs} +8 -8
  14. package/dist/{WorkspaceTableView-J3C6VH4T.cjs.map → WorkspaceTableView-JCTDEMIL.cjs.map} +1 -1
  15. package/dist/agents/index.cjs +187 -187
  16. package/dist/{ai-IM4A23YT.cjs → ai-OBS67QV4.cjs} +16 -16
  17. package/dist/ai-OBS67QV4.cjs.map +1 -0
  18. package/dist/calls/index.cjs +2 -2
  19. package/dist/{chunk-B3LZITVF.cjs → chunk-3LNUQYAF.cjs} +3 -3
  20. package/dist/{chunk-B3LZITVF.cjs.map → chunk-3LNUQYAF.cjs.map} +1 -1
  21. package/dist/{chunk-QHOHDNBU.cjs → chunk-5XAJ4N2S.cjs} +4 -4
  22. package/dist/{chunk-QHOHDNBU.cjs.map → chunk-5XAJ4N2S.cjs.map} +1 -1
  23. package/dist/{chunk-XKVPSOKP.cjs → chunk-6ULADDBW.cjs} +4 -4
  24. package/dist/{chunk-XKVPSOKP.cjs.map → chunk-6ULADDBW.cjs.map} +1 -1
  25. package/dist/{chunk-CPR6EHG7.cjs → chunk-7IPIKMCY.cjs} +3 -3
  26. package/dist/{chunk-CPR6EHG7.cjs.map → chunk-7IPIKMCY.cjs.map} +1 -1
  27. package/dist/{chunk-SB4M3ITT.cjs → chunk-CB3YYZAU.cjs} +9 -9
  28. package/dist/{chunk-SB4M3ITT.cjs.map → chunk-CB3YYZAU.cjs.map} +1 -1
  29. package/dist/{chunk-6UTKM5AB.cjs → chunk-JSQQV23D.cjs} +3 -3
  30. package/dist/{chunk-6UTKM5AB.cjs.map → chunk-JSQQV23D.cjs.map} +1 -1
  31. package/dist/{chunk-VGCTYTEW.cjs → chunk-K6AUKKUN.cjs} +6 -6
  32. package/dist/{chunk-VGCTYTEW.cjs.map → chunk-K6AUKKUN.cjs.map} +1 -1
  33. package/dist/{chunk-T23UTIRI.cjs → chunk-KHAO7ZTO.cjs} +5 -5
  34. package/dist/{chunk-T23UTIRI.cjs.map → chunk-KHAO7ZTO.cjs.map} +1 -1
  35. package/dist/{chunk-NJCK6V6U.cjs → chunk-L6APDO3Y.cjs} +3 -3
  36. package/dist/{chunk-NJCK6V6U.cjs.map → chunk-L6APDO3Y.cjs.map} +1 -1
  37. package/dist/{chunk-NIE3N6OM.cjs → chunk-MMVDVHKE.cjs} +5 -5
  38. package/dist/{chunk-NIE3N6OM.cjs.map → chunk-MMVDVHKE.cjs.map} +1 -1
  39. package/dist/{chunk-TDO5UWXF.cjs → chunk-O4F77VSO.cjs} +5 -5
  40. package/dist/{chunk-TDO5UWXF.cjs.map → chunk-O4F77VSO.cjs.map} +1 -1
  41. package/dist/{chunk-OEREKAAP.cjs → chunk-OPH4UZQN.cjs} +30 -30
  42. package/dist/{chunk-OEREKAAP.cjs.map → chunk-OPH4UZQN.cjs.map} +1 -1
  43. package/dist/{chunk-KTQOGT2L.cjs → chunk-P2MOLUFO.cjs} +6 -6
  44. package/dist/{chunk-KTQOGT2L.cjs.map → chunk-P2MOLUFO.cjs.map} +1 -1
  45. package/dist/{chunk-DDIW4HLU.cjs → chunk-PVPRVI54.cjs} +6 -6
  46. package/dist/{chunk-DDIW4HLU.cjs.map → chunk-PVPRVI54.cjs.map} +1 -1
  47. package/dist/{chunk-557MJ4IH.cjs → chunk-QOXK5O6M.cjs} +12 -12
  48. package/dist/{chunk-557MJ4IH.cjs.map → chunk-QOXK5O6M.cjs.map} +1 -1
  49. package/dist/{chunk-Y24V6HPR.cjs → chunk-SUYPXUE6.cjs} +4 -4
  50. package/dist/{chunk-Y24V6HPR.cjs.map → chunk-SUYPXUE6.cjs.map} +1 -1
  51. package/dist/{chunk-R7CJEIA5.cjs → chunk-XZYIS2JZ.cjs} +3 -3
  52. package/dist/{chunk-R7CJEIA5.cjs.map → chunk-XZYIS2JZ.cjs.map} +1 -1
  53. package/dist/{chunk-HB2O4THB.cjs → chunk-YDPLSXHB.cjs} +4 -4
  54. package/dist/{chunk-HB2O4THB.cjs.map → chunk-YDPLSXHB.cjs.map} +1 -1
  55. package/dist/{chunk-B2HNNG25.cjs → chunk-ZCIQBHH5.cjs} +35 -35
  56. package/dist/{chunk-B2HNNG25.cjs.map → chunk-ZCIQBHH5.cjs.map} +1 -1
  57. package/dist/connect/docx.cjs +14 -14
  58. package/dist/connect/index.cjs +625 -625
  59. package/dist/connect/viewer.cjs +11 -11
  60. package/dist/dashboards/index.cjs +1 -1
  61. package/dist/embed/index.cjs +21 -21
  62. package/dist/index.cjs +316 -316
  63. package/dist/settings/index.cjs +147 -147
  64. package/dist/shell/index.cjs +35 -35
  65. package/dist/studio/index.cjs +8 -8
  66. package/dist/workflow-canvas/index.cjs +27 -27
  67. package/node_modules/@arbidocs/coedit/package.json +1 -1
  68. package/node_modules/@docx-editor.dev/core/dist/chunk-T6K2QYNZ.cjs +1 -1
  69. package/node_modules/@docx-editor.dev/core/dist/chunk-U4JZVSOE.js +1 -1
  70. package/package.json +5 -5
  71. package/dist/ai-IM4A23YT.cjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk557MJ4IH_cjs = require('./chunk-557MJ4IH.cjs');
4
+ var chunkQOXK5O6M_cjs = require('./chunk-QOXK5O6M.cjs');
5
5
  var chunk7JLJH5CW_cjs = require('./chunk-7JLJH5CW.cjs');
6
- var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
7
6
  var chunkPGJYD67F_cjs = require('./chunk-PGJYD67F.cjs');
7
+ var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
8
8
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
9
9
  var react$1 = require('react');
10
10
  var react = require('@arbidocs/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 } = chunk557MJ4IH_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 } = chunk557MJ4IH_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-KTQOGT2L.cjs.map
110
- //# sourceMappingURL=chunk-KTQOGT2L.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-KTQOGT2L.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"]}
@@ -8,7 +8,7 @@ var chunk7JLJH5CW_cjs = require('./chunk-7JLJH5CW.cjs');
8
8
  var chunkOYXWQTHF_cjs = require('./chunk-OYXWQTHF.cjs');
9
9
  var chunkS237ORM3_cjs = require('./chunk-S237ORM3.cjs');
10
10
  var chunkII2OEXHW_cjs = require('./chunk-II2OEXHW.cjs');
11
- var chunkR7CJEIA5_cjs = require('./chunk-R7CJEIA5.cjs');
11
+ var chunkXZYIS2JZ_cjs = require('./chunk-XZYIS2JZ.cjs');
12
12
  var chunk3YEXZX4H_cjs = require('./chunk-3YEXZX4H.cjs');
13
13
  var chunkWXUU3COI_cjs = require('./chunk-WXUU3COI.cjs');
14
14
  var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
@@ -17,14 +17,14 @@ var chunk6UZC4XVV_cjs = require('./chunk-6UZC4XVV.cjs');
17
17
  var chunkYVCOQHCE_cjs = require('./chunk-YVCOQHCE.cjs');
18
18
  var chunkJV5TVUOU_cjs = require('./chunk-JV5TVUOU.cjs');
19
19
  var chunkE7TE2WVT_cjs = require('./chunk-E7TE2WVT.cjs');
20
- var chunkSJSGSHIT_cjs = require('./chunk-SJSGSHIT.cjs');
21
- var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
22
20
  var chunkIN6ILI5A_cjs = require('./chunk-IN6ILI5A.cjs');
23
21
  var chunkHSLPFBK2_cjs = require('./chunk-HSLPFBK2.cjs');
24
22
  var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
25
23
  var chunkQGVOT7E4_cjs = require('./chunk-QGVOT7E4.cjs');
26
24
  var chunkQRAQZTJE_cjs = require('./chunk-QRAQZTJE.cjs');
27
25
  var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
26
+ var chunkSJSGSHIT_cjs = require('./chunk-SJSGSHIT.cjs');
27
+ var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
28
28
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
29
29
  var chunkJDFBEGQO_cjs = require('./chunk-JDFBEGQO.cjs');
30
30
  var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
@@ -5302,7 +5302,7 @@ function TaskTable(props) {
5302
5302
  isMe: mine
5303
5303
  };
5304
5304
  };
5305
- const renderPerson = (person) => /* @__PURE__ */ jsxRuntime.jsx(chunkR7CJEIA5_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]));
@@ -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-DDIW4HLU.cjs.map
10013
- //# sourceMappingURL=chunk-DDIW4HLU.cjs.map
10012
+ //# sourceMappingURL=chunk-PVPRVI54.cjs.map
10013
+ //# sourceMappingURL=chunk-PVPRVI54.cjs.map