@dxos/plugin-assistant 0.8.3-main.7f5a14c → 0.8.3-staging.0fa589b

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 (155) hide show
  1. package/dist/lib/browser/{AssistantDialog-YCPMFK7Y.mjs → AssistantDialog-MQOOR364.mjs} +5 -5
  2. package/dist/lib/browser/{BlueprintContainer-4MEK52NT.mjs → BlueprintContainer-AT5Y7EXG.mjs} +145 -28
  3. package/dist/lib/browser/BlueprintContainer-AT5Y7EXG.mjs.map +7 -0
  4. package/dist/lib/browser/{ChatContainer-RYFYYEWI.mjs → ChatContainer-C2NEAS3A.mjs} +5 -5
  5. package/dist/lib/browser/{ai-client-MTCTMJ5N.mjs → ai-client-MK2ZZII2.mjs} +6 -6
  6. package/dist/lib/browser/ai-client-MK2ZZII2.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-DBCVARVI.mjs → app-graph-builder-E4H5DCOJ.mjs} +35 -22
  8. package/dist/lib/browser/app-graph-builder-E4H5DCOJ.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-ZVHA24BL.mjs → chunk-AAOKC2JN.mjs} +10 -8
  10. package/dist/lib/browser/{chunk-ZVHA24BL.mjs.map → chunk-AAOKC2JN.mjs.map} +3 -3
  11. package/dist/lib/browser/{chunk-WFZ4EPPI.mjs → chunk-BI6AHRNJ.mjs} +6 -6
  12. package/dist/lib/browser/{chunk-WFZ4EPPI.mjs.map → chunk-BI6AHRNJ.mjs.map} +1 -1
  13. package/dist/lib/browser/{chunk-DLWFPGZE.mjs → chunk-JO4W3MF7.mjs} +6 -6
  14. package/dist/lib/browser/{chunk-DLWFPGZE.mjs.map → chunk-JO4W3MF7.mjs.map} +3 -3
  15. package/dist/lib/browser/chunk-MEGMOFJB.mjs +16 -0
  16. package/dist/lib/browser/{chunk-3TIEETB2.mjs → chunk-UE3IZ4PN.mjs} +1 -1
  17. package/dist/lib/browser/{chunk-3TIEETB2.mjs.map → chunk-UE3IZ4PN.mjs.map} +1 -1
  18. package/dist/lib/browser/index.mjs +66 -23
  19. package/dist/lib/browser/index.mjs.map +4 -4
  20. package/dist/lib/browser/{intent-resolver-ID5NOIIJ.mjs → intent-resolver-3UICTGPM.mjs} +2 -2
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-surface-OD23FVUD.mjs → react-surface-LXCNUSZN.mjs} +23 -6
  23. package/dist/lib/browser/react-surface-LXCNUSZN.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-FUYUBGSQ.mjs → settings-XRHXVWGB.mjs} +2 -2
  25. package/dist/lib/browser/types/index.mjs +1 -1
  26. package/dist/lib/node/{AssistantDialog-B5YKJOAF.cjs → AssistantDialog-AN4Z6YUV.cjs} +9 -9
  27. package/dist/lib/node/{BlueprintContainer-VD6EIWH7.cjs → BlueprintContainer-NOWLDYCZ.cjs} +141 -26
  28. package/dist/lib/node/BlueprintContainer-NOWLDYCZ.cjs.map +7 -0
  29. package/dist/lib/node/{ChatContainer-WFLTSAFA.cjs → ChatContainer-VKYBQHUB.cjs} +9 -9
  30. package/dist/lib/node/{ai-client-3XNIFMJX.cjs → ai-client-7HNSMUMT.cjs} +9 -9
  31. package/dist/lib/node/ai-client-7HNSMUMT.cjs.map +7 -0
  32. package/dist/lib/node/{app-graph-builder-VEPLBTML.cjs → app-graph-builder-PPR5B5KU.cjs} +42 -29
  33. package/dist/lib/node/app-graph-builder-PPR5B5KU.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-BGRQNE3L.cjs → chunk-FUAGEO7Q.cjs} +9 -9
  35. package/dist/lib/node/{chunk-DXBAFX6M.cjs → chunk-IKZBMHSW.cjs} +11 -11
  36. package/dist/lib/node/{chunk-DXBAFX6M.cjs.map → chunk-IKZBMHSW.cjs.map} +1 -1
  37. package/dist/lib/node/{chunk-7TQAIKE2.cjs → chunk-LMDJEGZ2.cjs} +14 -12
  38. package/dist/lib/node/chunk-LMDJEGZ2.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-WR5L3TVB.cjs → chunk-NIDICM57.cjs} +18 -18
  40. package/dist/lib/node/{chunk-WR5L3TVB.cjs.map → chunk-NIDICM57.cjs.map} +3 -3
  41. package/dist/lib/node/{chunk-ZP732NHS.cjs → chunk-QGPWY6GW.cjs} +4 -4
  42. package/dist/lib/node/{chunk-ZP732NHS.cjs.map → chunk-QGPWY6GW.cjs.map} +1 -1
  43. package/dist/lib/node/index.cjs +118 -76
  44. package/dist/lib/node/index.cjs.map +4 -4
  45. package/dist/lib/node/{intent-resolver-SDO4YKJK.cjs → intent-resolver-QSWGTKON.cjs} +8 -8
  46. package/dist/lib/node/meta.json +1 -1
  47. package/dist/lib/node/{react-surface-FANQXIRI.cjs → react-surface-D3NBYRZ6.cjs} +40 -23
  48. package/dist/lib/node/react-surface-D3NBYRZ6.cjs.map +7 -0
  49. package/dist/lib/node/{settings-PXPIPYJN.cjs → settings-2JXLKYGE.cjs} +6 -6
  50. package/dist/lib/node/types/index.cjs +14 -14
  51. package/dist/lib/node/types/index.cjs.map +1 -1
  52. package/dist/lib/node-esm/{AssistantDialog-KPZZD7XC.mjs → AssistantDialog-6WEMLUPU.mjs} +5 -5
  53. package/dist/lib/node-esm/{BlueprintContainer-SVOKCRCP.mjs → BlueprintContainer-STOJAVML.mjs} +145 -28
  54. package/dist/lib/node-esm/BlueprintContainer-STOJAVML.mjs.map +7 -0
  55. package/dist/lib/node-esm/{ChatContainer-WSMKUGS6.mjs → ChatContainer-3MVBTUJN.mjs} +5 -5
  56. package/dist/lib/node-esm/{ai-client-YIP44I4D.mjs → ai-client-XGZBJ6BE.mjs} +6 -6
  57. package/dist/lib/node-esm/ai-client-XGZBJ6BE.mjs.map +7 -0
  58. package/dist/lib/node-esm/{app-graph-builder-WJXDXLBQ.mjs → app-graph-builder-3SY5MBIK.mjs} +35 -22
  59. package/dist/lib/node-esm/app-graph-builder-3SY5MBIK.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-34EX6E5Q.mjs +18 -0
  61. package/dist/lib/node-esm/{chunk-VXGO6Q2L.mjs → chunk-3UEZLJ2V.mjs} +1 -1
  62. package/dist/lib/node-esm/{chunk-VXGO6Q2L.mjs.map → chunk-3UEZLJ2V.mjs.map} +1 -1
  63. package/dist/lib/node-esm/{chunk-24LIHQST.mjs → chunk-J6UXXZGJ.mjs} +10 -8
  64. package/dist/lib/node-esm/{chunk-24LIHQST.mjs.map → chunk-J6UXXZGJ.mjs.map} +3 -3
  65. package/dist/lib/node-esm/{chunk-TTSMEWR6.mjs → chunk-OD574YIU.mjs} +6 -6
  66. package/dist/lib/node-esm/{chunk-TTSMEWR6.mjs.map → chunk-OD574YIU.mjs.map} +3 -3
  67. package/dist/lib/node-esm/{chunk-QFX6SFFZ.mjs → chunk-UCOFKNKN.mjs} +6 -6
  68. package/dist/lib/node-esm/{chunk-QFX6SFFZ.mjs.map → chunk-UCOFKNKN.mjs.map} +1 -1
  69. package/dist/lib/node-esm/index.mjs +66 -23
  70. package/dist/lib/node-esm/index.mjs.map +4 -4
  71. package/dist/lib/node-esm/{intent-resolver-75REJDDQ.mjs → intent-resolver-E6MXTYAU.mjs} +2 -2
  72. package/dist/lib/node-esm/meta.json +1 -1
  73. package/dist/lib/node-esm/{react-surface-NAN4SDCE.mjs → react-surface-7HA5EDWY.mjs} +23 -6
  74. package/dist/lib/node-esm/react-surface-7HA5EDWY.mjs.map +7 -0
  75. package/dist/lib/node-esm/{settings-JHMKX3UV.mjs → settings-5IAY6BT4.mjs} +2 -2
  76. package/dist/lib/node-esm/types/index.mjs +1 -1
  77. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/ai-client.d.ts +2 -2
  79. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/capabilities.d.ts +2 -2
  82. package/dist/types/src/capabilities/index.d.ts +1 -1
  83. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  84. package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -1
  85. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  86. package/dist/types/src/events.d.ts +4 -0
  87. package/dist/types/src/events.d.ts.map +1 -0
  88. package/dist/types/src/hooks/processor.d.ts +3 -3
  89. package/dist/types/src/hooks/useMessageQueue.d.ts +2 -2
  90. package/dist/types/src/index.d.ts +1 -0
  91. package/dist/types/src/index.d.ts.map +1 -1
  92. package/dist/types/src/queue-logger.d.ts +11 -0
  93. package/dist/types/src/queue-logger.d.ts.map +1 -0
  94. package/dist/types/src/translations.d.ts +75 -11
  95. package/dist/types/src/translations.d.ts.map +1 -1
  96. package/dist/types/src/types/chat.d.ts +12 -9
  97. package/dist/types/src/types/chat.d.ts.map +1 -1
  98. package/dist/types/src/types/service.d.ts +51 -102
  99. package/dist/types/src/types/service.d.ts.map +1 -1
  100. package/dist/types/src/types/template.d.ts +3 -23
  101. package/dist/types/src/types/template.d.ts.map +1 -1
  102. package/dist/types/src/types/types.d.ts +5 -5
  103. package/package.json +70 -69
  104. package/src/AssistantPlugin.tsx +26 -3
  105. package/src/capabilities/ai-client.ts +4 -4
  106. package/src/capabilities/app-graph-builder.ts +34 -22
  107. package/src/capabilities/capabilities.ts +2 -2
  108. package/src/capabilities/react-surface.tsx +16 -0
  109. package/src/components/BlueprintContainer.tsx +10 -22
  110. package/src/components/PromptSettings.tsx +1 -1
  111. package/src/components/Thread/Thread.stories.tsx +19 -27
  112. package/src/components/Thread/ThreadContainer.stories.tsx +5 -5
  113. package/src/components/Thread/ThreadContainer.tsx +1 -1
  114. package/src/components/Thread/reducer.ts +3 -3
  115. package/src/events.ts +11 -0
  116. package/src/hooks/processor.ts +4 -4
  117. package/src/index.ts +1 -0
  118. package/src/queue-logger.ts +125 -0
  119. package/src/stories/Query.stories.tsx +4 -4
  120. package/src/stories/Research.stories.tsx +11 -11
  121. package/src/stories/test-data.ts +4 -4
  122. package/src/testing/test-blueprint.ts +1 -1
  123. package/src/tools/openapi.test.ts +4 -4
  124. package/src/translations.ts +16 -4
  125. package/src/types/template.ts +11 -6
  126. package/dist/lib/browser/BlueprintContainer-4MEK52NT.mjs.map +0 -7
  127. package/dist/lib/browser/ai-client-MTCTMJ5N.mjs.map +0 -7
  128. package/dist/lib/browser/app-graph-builder-DBCVARVI.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-AKYSTUBJ.mjs +0 -16
  130. package/dist/lib/browser/react-surface-OD23FVUD.mjs.map +0 -7
  131. package/dist/lib/node/BlueprintContainer-VD6EIWH7.cjs.map +0 -7
  132. package/dist/lib/node/ai-client-3XNIFMJX.cjs.map +0 -7
  133. package/dist/lib/node/app-graph-builder-VEPLBTML.cjs.map +0 -7
  134. package/dist/lib/node/chunk-7TQAIKE2.cjs.map +0 -7
  135. package/dist/lib/node/react-surface-FANQXIRI.cjs.map +0 -7
  136. package/dist/lib/node-esm/BlueprintContainer-SVOKCRCP.mjs.map +0 -7
  137. package/dist/lib/node-esm/ai-client-YIP44I4D.mjs.map +0 -7
  138. package/dist/lib/node-esm/app-graph-builder-WJXDXLBQ.mjs.map +0 -7
  139. package/dist/lib/node-esm/chunk-ZKTIHNT7.mjs +0 -18
  140. package/dist/lib/node-esm/react-surface-NAN4SDCE.mjs.map +0 -7
  141. /package/dist/lib/browser/{AssistantDialog-YCPMFK7Y.mjs.map → AssistantDialog-MQOOR364.mjs.map} +0 -0
  142. /package/dist/lib/browser/{ChatContainer-RYFYYEWI.mjs.map → ChatContainer-C2NEAS3A.mjs.map} +0 -0
  143. /package/dist/lib/browser/{chunk-AKYSTUBJ.mjs.map → chunk-MEGMOFJB.mjs.map} +0 -0
  144. /package/dist/lib/browser/{intent-resolver-ID5NOIIJ.mjs.map → intent-resolver-3UICTGPM.mjs.map} +0 -0
  145. /package/dist/lib/browser/{settings-FUYUBGSQ.mjs.map → settings-XRHXVWGB.mjs.map} +0 -0
  146. /package/dist/lib/node/{AssistantDialog-B5YKJOAF.cjs.map → AssistantDialog-AN4Z6YUV.cjs.map} +0 -0
  147. /package/dist/lib/node/{ChatContainer-WFLTSAFA.cjs.map → ChatContainer-VKYBQHUB.cjs.map} +0 -0
  148. /package/dist/lib/node/{chunk-BGRQNE3L.cjs.map → chunk-FUAGEO7Q.cjs.map} +0 -0
  149. /package/dist/lib/node/{intent-resolver-SDO4YKJK.cjs.map → intent-resolver-QSWGTKON.cjs.map} +0 -0
  150. /package/dist/lib/node/{settings-PXPIPYJN.cjs.map → settings-2JXLKYGE.cjs.map} +0 -0
  151. /package/dist/lib/node-esm/{AssistantDialog-KPZZD7XC.mjs.map → AssistantDialog-6WEMLUPU.mjs.map} +0 -0
  152. /package/dist/lib/node-esm/{ChatContainer-WSMKUGS6.mjs.map → ChatContainer-3MVBTUJN.mjs.map} +0 -0
  153. /package/dist/lib/node-esm/{chunk-ZKTIHNT7.mjs.map → chunk-34EX6E5Q.mjs.map} +0 -0
  154. /package/dist/lib/node-esm/{intent-resolver-75REJDDQ.mjs.map → intent-resolver-E6MXTYAU.mjs.map} +0 -0
  155. /package/dist/lib/node-esm/{settings-JHMKX3UV.mjs.map → settings-5IAY6BT4.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\nimport { getActiveSpace, rxFromQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type Space,\n Filter,\n Query,\n type QueryResult,\n fullyQualifiedId,\n getSpace,\n isSpace,\n} from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, CompanionTo, TemplateType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/assistant`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n\n const space = getActiveSpace(context) ?? client.spaces.default;\n const chat = await getOrCreateChat(dispatch, space);\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<AIChatType> | undefined;\n return Rx.make((get) => {\n const nodeOption = get(node);\n if (Option.isNone(nodeOption)) {\n return [];\n }\n\n const object = nodeOption.value.data;\n if (!Obj.isObject(object)) {\n return [];\n }\n\n const space = getSpace(object);\n if (!space) {\n return [];\n }\n\n if (!query) {\n query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());\n }\n\n const chat = get(rxFromQuery(query))[0];\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: chat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n });\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/blueprint-logs`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(Blueprint, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['blueprint logs label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n\n const templates = get(rxFromQuery(query));\n return templates.length > 0\n ? [\n {\n id: `${ASSISTANT_PLUGIN}/templates`,\n type: `${ASSISTANT_PLUGIN}/templates`,\n data: null,\n properties: {\n label: ['templates label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n space,\n },\n },\n ]\n : [];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node.properties.space)\n ? Option.some(node.properties.space)\n : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n return get(rxFromQuery(query))\n .toSorted((a, b) => {\n const nameA = a.name ?? '';\n const nameB = b.name ?? '';\n return nameA.localeCompare(nameB);\n })\n .map((template) => ({\n id: fullyQualifiedId(template),\n type: `${ASSISTANT_PLUGIN}/template`,\n data: template,\n properties: {\n label: template.name ?? ['object placeholder', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n },\n }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const { objects: allChats } = await space.db.query(Query.type(AIChatType)).run();\n const { objects: relatedChats } = await space.db.query(Query.type(AIChatType).sourceOf(CompanionTo).source()).run();\n const chats = allChats.filter((chat) => !relatedChats.includes(chat));\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (chats.length > 0) {\n // TODO(burdon): Is this the most recent?\n return chats[chats.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(Obj.instanceOf(AIChatType, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_types", "import_echo", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "chat", "getOrCreateChat", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "query", "nodeOption", "isNone", "object", "value", "Obj", "isObject", "getSpace", "db", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "instanceOf", "Blueprint", "SPACE_TYPE", "isSpace", "TemplateType", "templates", "length", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "template", "objects", "allChats", "AIChatType", "run", "relatedChats", "sourceOf", "chats", "filter", "includes", "AssistantAction", "CreateChat", "invariant", "SpaceAction", "AddObject", "target"]
7
+ }
@@ -26,21 +26,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_BGRQNE3L_exports = {};
30
- __export(chunk_BGRQNE3L_exports, {
29
+ var chunk_FUAGEO7Q_exports = {};
30
+ __export(chunk_FUAGEO7Q_exports, {
31
31
  AiClient: () => AiClient,
32
32
  AppGraphBuilder: () => AppGraphBuilder,
33
33
  IntentResolver: () => IntentResolver,
34
34
  ReactSurface: () => ReactSurface,
35
35
  Settings: () => Settings
36
36
  });
37
- module.exports = __toCommonJS(chunk_BGRQNE3L_exports);
37
+ module.exports = __toCommonJS(chunk_FUAGEO7Q_exports);
38
38
  var import_app_framework = require("@dxos/app-framework");
39
- var AiClient = (0, import_app_framework.lazy)(() => import("./ai-client-3XNIFMJX.cjs"));
40
- var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-VEPLBTML.cjs"));
41
- var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-SDO4YKJK.cjs"));
42
- var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-FANQXIRI.cjs"));
43
- var Settings = (0, import_app_framework.lazy)(() => import("./settings-PXPIPYJN.cjs"));
39
+ var AiClient = (0, import_app_framework.lazy)(() => import("./ai-client-7HNSMUMT.cjs"));
40
+ var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-PPR5B5KU.cjs"));
41
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-QSWGTKON.cjs"));
42
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-D3NBYRZ6.cjs"));
43
+ var Settings = (0, import_app_framework.lazy)(() => import("./settings-2JXLKYGE.cjs"));
44
44
  // Annotate the CommonJS export names for ESM import in node:
45
45
  0 && (module.exports = {
46
46
  AiClient,
@@ -49,4 +49,4 @@ var Settings = (0, import_app_framework.lazy)(() => import("./settings-PXPIPYJN.
49
49
  ReactSurface,
50
50
  Settings
51
51
  });
52
- //# sourceMappingURL=chunk-BGRQNE3L.cjs.map
52
+ //# sourceMappingURL=chunk-FUAGEO7Q.cjs.map
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_DXBAFX6M_exports = {};
30
- __export(chunk_DXBAFX6M_exports, {
29
+ var chunk_IKZBMHSW_exports = {};
30
+ __export(chunk_IKZBMHSW_exports, {
31
31
  AssistantDialog: () => AssistantDialog,
32
32
  AssistantSettings: () => AssistantSettings,
33
33
  BlueprintContainer: () => BlueprintContainer,
@@ -35,8 +35,8 @@ __export(chunk_DXBAFX6M_exports, {
35
35
  PromptSettings: () => PromptSettings,
36
36
  TemplateContainer: () => TemplateContainer
37
37
  });
38
- module.exports = __toCommonJS(chunk_DXBAFX6M_exports);
39
- var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
38
+ module.exports = __toCommonJS(chunk_IKZBMHSW_exports);
39
+ var import_chunk_LMDJEGZ2 = require("./chunk-LMDJEGZ2.cjs");
40
40
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
41
41
  var import_tracking = require("@preact-signals/safe-react/tracking");
42
42
  var import_react = __toESM(require("react"));
@@ -75,7 +75,7 @@ var AssistantSettings = ({ settings }) => {
75
75
  placeholder: t("settings llm provider label")
76
76
  }), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Viewport, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
77
77
  value: DEFAULT_VALUE
78
- }, t("settings default label")), import_chunk_7TQAIKE2.LLM_PROVIDERS.map((model) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
78
+ }, t("settings default label")), import_chunk_LMDJEGZ2.LLM_PROVIDERS.map((model) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
79
79
  key: model,
80
80
  value: model
81
81
  }, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.DeprecatedFormInput, {
@@ -146,13 +146,13 @@ var PromptSettings = ({ template }) => {
146
146
  template.kind.include
147
147
  ]);
148
148
  return /* @__PURE__ */ import_react2.default.createElement("div", {
149
- className: "p-2 flex flex-col gap-4"
149
+ className: "flex flex-col gap-4"
150
150
  }, /* @__PURE__ */ import_react2.default.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Toolbar.Root, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Root, {
151
151
  value: template.kind.include,
152
152
  onValueChange: handleKindChange
153
153
  }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Toolbar.Button, {
154
154
  asChild: true
155
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null, import_chunk_7TQAIKE2.TemplateKinds.map((kind) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Option, {
155
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null, import_chunk_LMDJEGZ2.TemplateKinds.map((kind) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Option, {
156
156
  key: kind,
157
157
  value: kind
158
158
  }, kind)))))), template.kind.include === "schema-matching" && /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.TextInput, {
@@ -168,9 +168,9 @@ var PromptSettings = ({ template }) => {
168
168
  _effect.f();
169
169
  }
170
170
  };
171
- var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-B5YKJOAF.cjs"));
172
- var BlueprintContainer = (0, import_react3.lazy)(() => import("./BlueprintContainer-VD6EIWH7.cjs"));
173
- var ChatContainer = (0, import_react3.lazy)(() => import("./ChatContainer-WFLTSAFA.cjs"));
171
+ var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-AN4Z6YUV.cjs"));
172
+ var BlueprintContainer = (0, import_react3.lazy)(() => import("./BlueprintContainer-NOWLDYCZ.cjs"));
173
+ var ChatContainer = (0, import_react3.lazy)(() => import("./ChatContainer-VKYBQHUB.cjs"));
174
174
  var TemplateContainer = (0, import_react3.lazy)(() => import("./TemplateContainer-JZF2DCCG.cjs"));
175
175
  // Annotate the CommonJS export names for ESM import in node:
176
176
  0 && (module.exports = {
@@ -181,4 +181,4 @@ var TemplateContainer = (0, import_react3.lazy)(() => import("./TemplateContaine
181
181
  PromptSettings,
182
182
  TemplateContainer
183
183
  });
184
- //# sourceMappingURL=chunk-DXBAFX6M.cjs.map
184
+ //# sourceMappingURL=chunk-IKZBMHSW.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_react", "import_react_ui", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "PromptSettings", "template", "handleKindChange", "useCallback", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "div", "className", "h2", "Toolbar", "Button", "asChild", "TemplateKinds", "TextInput", "defaultValue", "onChange", "AssistantDialog", "lazy", "BlueprintContainer", "ChatContainer", "TemplateContainer"]
7
7
  }
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_7TQAIKE2_exports = {};
20
- __export(chunk_7TQAIKE2_exports, {
19
+ var chunk_LMDJEGZ2_exports = {};
20
+ __export(chunk_LMDJEGZ2_exports, {
21
21
  AIChatType: () => AIChatType,
22
22
  ApiAuthorization: () => ApiAuthorization,
23
23
  AssistantAction: () => AssistantAction,
@@ -32,7 +32,7 @@ __export(chunk_7TQAIKE2_exports, {
32
32
  TemplateType: () => TemplateType,
33
33
  categoryIcons: () => categoryIcons
34
34
  });
35
- module.exports = __toCommonJS(chunk_7TQAIKE2_exports);
35
+ module.exports = __toCommonJS(chunk_LMDJEGZ2_exports);
36
36
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
37
37
  var import_effect = require("effect");
38
38
  var import_echo = require("@dxos/client/echo");
@@ -43,10 +43,11 @@ var import_echo3 = require("@dxos/echo");
43
43
  var import_echo_schema = require("@dxos/echo-schema");
44
44
  var import_functions = require("@dxos/functions");
45
45
  var import_effect3 = require("effect");
46
+ var import_echo4 = require("@dxos/echo");
46
47
  var import_echo_schema2 = require("@dxos/echo-schema");
47
48
  var import_effect4 = require("effect");
48
49
  var import_assistant = require("@dxos/assistant");
49
- var import_echo4 = require("@dxos/react-client/echo");
50
+ var import_echo5 = require("@dxos/react-client/echo");
50
51
  var AIChatType = import_effect.Schema.Struct({
51
52
  id: import_echo2.Type.ObjectId,
52
53
  name: import_effect.Schema.optional(import_effect.Schema.String),
@@ -164,22 +165,23 @@ var TemplateKindSchema = import_effect3.Schema.Union(import_effect3.Schema.Struc
164
165
  }), import_effect3.Schema.Struct({
165
166
  include: import_effect3.Schema.Literal("manual")
166
167
  }));
167
- var TemplateType = class extends (0, import_echo_schema2.TypedObject)({
168
- typename: "dxos.org/type/Template",
169
- version: "0.1.0"
170
- })({
168
+ var TemplateType = import_effect3.Schema.Struct({
171
169
  name: import_effect3.Schema.optional(import_effect3.Schema.String),
172
170
  kind: import_effect3.Schema.mutable(TemplateKindSchema),
173
171
  source: import_effect3.Schema.String,
174
172
  inputs: import_effect3.Schema.optional(import_effect3.Schema.mutable(import_effect3.Schema.Array(TemplateInputSchema))),
175
173
  command: import_effect3.Schema.optional(import_effect3.Schema.String)
176
- }) {
177
- };
174
+ }).pipe(import_echo_schema2.LabelAnnotation.set([
175
+ "name"
176
+ ]), import_echo4.Type.Obj({
177
+ typename: "dxos.org/type/Template",
178
+ version: "0.1.0"
179
+ }));
178
180
  (function(AssistantAction2) {
179
181
  const ASSISTANT_ACTION = `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/action`;
180
182
  class CreateChat extends import_effect4.Schema.TaggedClass()(`${ASSISTANT_ACTION}/create-chat`, {
181
183
  input: import_effect4.Schema.Struct({
182
- space: import_echo4.SpaceSchema,
184
+ space: import_echo5.SpaceSchema,
183
185
  name: import_effect4.Schema.optional(import_effect4.Schema.String)
184
186
  }),
185
187
  output: import_effect4.Schema.Struct({
@@ -228,4 +230,4 @@ var AssistantAction;
228
230
  TemplateType,
229
231
  categoryIcons
230
232
  });
231
- //# sourceMappingURL=chunk-7TQAIKE2.cjs.map
233
+ //# sourceMappingURL=chunk-LMDJEGZ2.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/chat.ts", "../../../src/types/service.ts", "../../../src/types/template.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Queue } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\n\nexport const AIChatType = Schema.Struct({\n id: Type.ObjectId,\n name: Schema.optional(Schema.String),\n queue: Type.Ref(Queue),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/AIChat',\n version: '0.2.0',\n }),\n);\nexport interface AIChatType extends Schema.Schema.Type<typeof AIChatType> {}\n\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/CompanionTo',\n version: '0.1.0',\n source: AIChatType,\n target: Type.Expando,\n }),\n);\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(FunctionType),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to Schema.Literal (and discriminated union).\nexport enum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const TemplateInputSchema = Schema.mutable(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.Enums(TemplateInputType)),\n value: Schema.optional(Schema.String),\n }),\n);\n\nexport type TemplateInput = Schema.Schema.Type<typeof TemplateInputSchema>;\n\nexport const TemplateKinds = ['always', 'schema-matching', 'automatically', 'manual'] as const;\nexport type TemplateKind = (typeof TemplateKinds)[number];\n\nexport const TemplateKindSchema = Schema.Union(\n Schema.Struct({\n include: Schema.Literal('always'),\n }),\n Schema.Struct({\n include: Schema.Literal('schema-matching'),\n typename: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('automatically'),\n description: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('manual'),\n }),\n);\n\nexport type TemplateKindType = Schema.Schema.Type<typeof TemplateKindSchema>;\nexport const TemplateType = Schema.Struct({\n name: Schema.optional(Schema.String),\n kind: Schema.mutable(TemplateKindSchema),\n source: Schema.String,\n inputs: Schema.optional(Schema.mutable(Schema.Array(TemplateInputSchema))),\n command: Schema.optional(Schema.String),\n}).pipe(\n LabelAnnotation.set(['name']),\n Type.Obj({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n }),\n);\nexport interface TemplateType extends Schema.Schema.Type<typeof TemplateType> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Blueprint } from '@dxos/assistant';\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { AIChatType } from './chat';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends Schema.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${ASSISTANT_ACTION}/create-blueprint`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Blueprint,\n }),\n }) {}\n}\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n\nexport const AssistantSettingsSchema = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = Schema.Schema.Type<typeof AssistantSettingsSchema>;\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "import_effect", "import_echo_schema", "AIChatType", "Schema", "Struct", "id", "Type", "ObjectId", "name", "optional", "String", "queue", "Ref", "Queue", "pipe", "Obj", "typename", "version", "CompanionTo", "Relation", "source", "target", "Expando", "ApiAuthorizationKey", "type", "Literal", "key", "placement", "Union", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "TemplateInputType", "TemplateInputSchema", "mutable", "Enums", "value", "TemplateKinds", "TemplateKindSchema", "include", "TemplateType", "inputs", "command", "LabelAnnotation", "set", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "TaggedClass", "input", "space", "SpaceSchema", "output", "object", "CreateBlueprint", "Blueprint", "LLM_PROVIDERS", "AssistantSettingsSchema", "llmProvider", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts"]
7
+ }
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_WR5L3TVB_exports = {};
30
- __export(chunk_WR5L3TVB_exports, {
29
+ var chunk_NIDICM57_exports = {};
30
+ __export(chunk_NIDICM57_exports, {
31
31
  Prompt: () => Prompt,
32
32
  PromptBar: () => PromptBar,
33
33
  Thread: () => Thread,
@@ -35,9 +35,9 @@ __export(chunk_WR5L3TVB_exports, {
35
35
  Toolbox: () => Toolbox,
36
36
  ToolboxContainer: () => ToolboxContainer
37
37
  });
38
- module.exports = __toCommonJS(chunk_WR5L3TVB_exports);
39
- var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
40
- var import_chunk_ZP732NHS = require("./chunk-ZP732NHS.cjs");
38
+ module.exports = __toCommonJS(chunk_NIDICM57_exports);
39
+ var import_chunk_LMDJEGZ2 = require("./chunk-LMDJEGZ2.cjs");
40
+ var import_chunk_QGPWY6GW = require("./chunk-QGPWY6GW.cjs");
41
41
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
42
42
  var import_tracking = require("@preact-signals/safe-react/tracking");
43
43
  var import_state = require("@codemirror/state");
@@ -1032,7 +1032,7 @@ var ToolboxContainer = ({ classNames, space }) => {
1032
1032
  var _effect = (0, import_tracking3.useSignals)();
1033
1033
  try {
1034
1034
  const artifactDefinitions = (0, import_app_framework.useCapabilities)(import_app_framework.Capabilities.ArtifactDefinition);
1035
- const services = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_chunk_7TQAIKE2.ServiceType));
1035
+ const services = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_chunk_LMDJEGZ2.ServiceType));
1036
1036
  const [serviceTools, setServiceTools] = (0, import_react3.useState)([]);
1037
1037
  (0, import_react3.useEffect)(() => {
1038
1038
  (0, import_log.log)("creating service tools...", {
@@ -1680,7 +1680,7 @@ var ChatProcessor = class {
1680
1680
  C: (f, a) => f(...a)
1681
1681
  });
1682
1682
  if (err instanceof Error && err.message.includes("Overloaded")) {
1683
- this.error.value = new AIServiceOverloadedError("AI service overloaded", {
1683
+ this.error.value = new AiServiceOverloadedError("AI service overloaded", {
1684
1684
  cause: err
1685
1685
  });
1686
1686
  } else {
@@ -1716,7 +1716,7 @@ var ChatProcessor = class {
1716
1716
  return messages;
1717
1717
  }
1718
1718
  };
1719
- var AIServiceOverloadedError = class extends Error {
1719
+ var AiServiceOverloadedError = class extends Error {
1720
1720
  constructor() {
1721
1721
  super(...arguments);
1722
1722
  this.code = "AI_SERVICE_OVERLOADED";
@@ -1733,11 +1733,11 @@ var useChatProcessor = ({
1733
1733
  }) => {
1734
1734
  var _effect = (0, import_tracking8.useSignals)();
1735
1735
  try {
1736
- const aiClient = (0, import_app_framework4.useCapability)(import_chunk_ZP732NHS.AssistantCapabilities.AiClient);
1736
+ const aiClient = (0, import_app_framework4.useCapability)(import_chunk_QGPWY6GW.AssistantCapabilities.AiClient);
1737
1737
  const globalTools = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.Tools);
1738
1738
  const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
1739
1739
  const { dispatchPromise: dispatch } = (0, import_app_framework4.useIntentDispatcher)();
1740
- const services = (0, import_echo8.useQuery)(space, import_echo8.Filter.type(import_chunk_7TQAIKE2.ServiceType));
1740
+ const services = (0, import_echo8.useQuery)(space, import_echo8.Filter.type(import_chunk_LMDJEGZ2.ServiceType));
1741
1741
  const [serviceTools, setServiceTools] = (0, import_react8.useState)([]);
1742
1742
  (0, import_react8.useEffect)(() => {
1743
1743
  (0, import_log7.log)("creating service tools...", void 0, {
@@ -1874,7 +1874,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
1874
1874
  }
1875
1875
  };
1876
1876
  var TEST_SERVICES = [
1877
- import_echo10.Obj.make(import_chunk_7TQAIKE2.ServiceType, {
1877
+ import_echo10.Obj.make(import_chunk_LMDJEGZ2.ServiceType, {
1878
1878
  serviceId: "amadeus.com/service/FlightSearch",
1879
1879
  name: "Amadeus Flight Search",
1880
1880
  description: "Search for local and international flights.",
@@ -1887,7 +1887,7 @@ var TEST_SERVICES = [
1887
1887
  }
1888
1888
  ]
1889
1889
  }),
1890
- import_echo10.Obj.make(import_chunk_7TQAIKE2.ServiceType, {
1890
+ import_echo10.Obj.make(import_chunk_LMDJEGZ2.ServiceType, {
1891
1891
  serviceId: "amadeus.com/service/HotelSearch",
1892
1892
  name: "Amadeus Hotel Search",
1893
1893
  description: "Search for local and international hotels.",
@@ -1900,7 +1900,7 @@ var TEST_SERVICES = [
1900
1900
  }
1901
1901
  ]
1902
1902
  }),
1903
- import_echo10.Obj.make(import_chunk_7TQAIKE2.ServiceType, {
1903
+ import_echo10.Obj.make(import_chunk_LMDJEGZ2.ServiceType, {
1904
1904
  serviceId: "visualcrossing.com/service/Weather",
1905
1905
  name: "Visual Crossing Weather",
1906
1906
  description: "Search for global weather forecasts.",
@@ -1914,7 +1914,7 @@ var TEST_SERVICES = [
1914
1914
  ]
1915
1915
  }),
1916
1916
  // TODO(burdon): Needs auth.
1917
- import_echo10.Obj.make(import_chunk_7TQAIKE2.ServiceType, {
1917
+ import_echo10.Obj.make(import_chunk_LMDJEGZ2.ServiceType, {
1918
1918
  serviceId: "abstractapi.com/service/GeoLocation",
1919
1919
  name: "Abstract GeoLocation",
1920
1920
  description: "Get the location of any IP address.",
@@ -1931,11 +1931,11 @@ var TEST_SERVICES = [
1931
1931
  //
1932
1932
  ...Array.from({
1933
1933
  length: 20
1934
- }, (_, i) => import_echo10.Obj.make(import_chunk_7TQAIKE2.ServiceType, {
1934
+ }, (_, i) => import_echo10.Obj.make(import_chunk_LMDJEGZ2.ServiceType, {
1935
1935
  serviceId: `example.com/service/test-${i}`,
1936
1936
  name: `Test ${i}`,
1937
1937
  description: `Test ${i}`,
1938
- category: Object.keys(import_chunk_7TQAIKE2.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_7TQAIKE2.categoryIcons).length)],
1938
+ category: Object.keys(import_chunk_LMDJEGZ2.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_LMDJEGZ2.categoryIcons).length)],
1939
1939
  interfaces: [
1940
1940
  {
1941
1941
  kind: "api",
@@ -2034,7 +2034,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
2034
2034
  void processor.request(text, {
2035
2035
  history: messageQueue.objects,
2036
2036
  onComplete: (messages2) => {
2037
- messageQueue.append(messages2);
2037
+ void messageQueue.append(messages2);
2038
2038
  }
2039
2039
  });
2040
2040
  return true;
@@ -2077,4 +2077,4 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
2077
2077
  Toolbox,
2078
2078
  ToolboxContainer
2079
2079
  });
2080
- //# sourceMappingURL=chunk-WR5L3TVB.cjs.map
2080
+ //# sourceMappingURL=chunk-NIDICM57.cjs.map