@dxos/plugin-assistant 0.8.4-main.2e9d522 → 0.8.4-main.67995b8

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 (109) hide show
  1. package/dist/lib/browser/{TemplateContainer-RPJ2LBOB.mjs → BlueprintContainer-IZ4AK5EO.mjs} +9 -8
  2. package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs.map +7 -0
  3. package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs → ChatContainer-RP3QEXYX.mjs} +3 -3
  4. package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs → ChatDialog-ZVLXFHEY.mjs} +3 -3
  5. package/dist/lib/browser/{app-graph-builder-JTXBKE7O.mjs → app-graph-builder-XSEOKJLG.mjs} +5 -64
  6. package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-OWY4CUQY.mjs → chunk-63GG6U6D.mjs} +18 -37
  8. package/dist/lib/browser/chunk-63GG6U6D.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-JQBVLTM5.mjs → chunk-7W7LHTRH.mjs} +14 -1
  10. package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-AEAEKWOC.mjs → chunk-KFXSBNZR.mjs} +10 -19
  12. package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-EQDW6BYQ.mjs → chunk-LERGF5YG.mjs} +7 -7
  14. package/dist/lib/browser/{chunk-EQDW6BYQ.mjs.map → chunk-LERGF5YG.mjs.map} +3 -3
  15. package/dist/lib/browser/index.mjs +42 -30
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-5RMMCMXG.mjs → intent-resolver-MV3VSZLS.mjs} +19 -4
  18. package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-surface-66VY37YQ.mjs → react-surface-3GYEHQRP.mjs} +14 -14
  21. package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +7 -0
  22. package/dist/lib/browser/{settings-2DGP3UTS.mjs → settings-5GTTCVGD.mjs} +2 -2
  23. package/dist/lib/browser/types/index.mjs +1 -1
  24. package/dist/lib/node-esm/{TemplateContainer-A3NAQCZE.mjs → BlueprintContainer-RGTMNLNX.mjs} +9 -8
  25. package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs.map +7 -0
  26. package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs → ChatContainer-W3W6FWV3.mjs} +3 -3
  27. package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs → ChatDialog-QW4JRKVO.mjs} +3 -3
  28. package/dist/lib/node-esm/{app-graph-builder-OWSOXFTD.mjs → app-graph-builder-PANCJUHV.mjs} +5 -64
  29. package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +7 -0
  30. package/dist/lib/node-esm/{chunk-SENTQAEO.mjs → chunk-BFO3KHYL.mjs} +18 -37
  31. package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +7 -0
  32. package/dist/lib/node-esm/{chunk-E33DNNDW.mjs → chunk-MS3PJARN.mjs} +7 -7
  33. package/dist/lib/node-esm/{chunk-E33DNNDW.mjs.map → chunk-MS3PJARN.mjs.map} +3 -3
  34. package/dist/lib/node-esm/{chunk-2XL6MNPE.mjs → chunk-VIIMA3XQ.mjs} +10 -19
  35. package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +7 -0
  36. package/dist/lib/node-esm/{chunk-BISJDTBK.mjs → chunk-Z7PUODRT.mjs} +14 -1
  37. package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +7 -0
  38. package/dist/lib/node-esm/index.mjs +42 -30
  39. package/dist/lib/node-esm/index.mjs.map +3 -3
  40. package/dist/lib/node-esm/{intent-resolver-YPPYELY3.mjs → intent-resolver-3FMC3GHC.mjs} +19 -4
  41. package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +7 -0
  42. package/dist/lib/node-esm/meta.json +1 -1
  43. package/dist/lib/node-esm/{react-surface-RJMRBR2M.mjs → react-surface-QDQWJ7FZ.mjs} +14 -14
  44. package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +7 -0
  45. package/dist/lib/node-esm/{settings-47RYZOU4.mjs → settings-J2EXEM5H.mjs} +2 -2
  46. package/dist/lib/node-esm/types/index.mjs +1 -1
  47. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  49. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  50. package/dist/types/src/capability-definitions.d.ts +7 -0
  51. package/dist/types/src/capability-definitions.d.ts.map +1 -0
  52. package/dist/types/src/components/BlueprintContainer.d.ts +8 -0
  53. package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
  54. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +0 -42
  55. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  56. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  57. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  58. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -1
  59. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  60. package/dist/types/src/components/index.d.ts +1 -1
  61. package/dist/types/src/components/index.d.ts.map +1 -1
  62. package/dist/types/src/hooks/useChatServices.d.ts +2 -2
  63. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  64. package/dist/types/src/stories/Chat.stories.d.ts +2 -44
  65. package/dist/types/src/stories/Chat.stories.d.ts.map +1 -1
  66. package/dist/types/src/translations.d.ts +1 -10
  67. package/dist/types/src/translations.d.ts.map +1 -1
  68. package/dist/types/src/types/schema.d.ts +32 -0
  69. package/dist/types/src/types/schema.d.ts.map +1 -1
  70. package/dist/types/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +75 -73
  72. package/src/AssistantPlugin.tsx +32 -6
  73. package/src/capabilities/app-graph-builder.ts +2 -86
  74. package/src/capabilities/intent-resolver.ts +16 -2
  75. package/src/capabilities/react-surface.tsx +7 -7
  76. package/src/capability-definitions.ts +15 -0
  77. package/src/components/BlueprintContainer.tsx +24 -0
  78. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -4
  79. package/src/components/TemplateEditor/TemplateEditor.tsx +12 -10
  80. package/src/components/TemplateEditor/TemplateForm.stories.tsx +4 -4
  81. package/src/components/TemplateEditor/TemplateForm.tsx +3 -2
  82. package/src/components/index.ts +1 -1
  83. package/src/hooks/useChatServices.ts +24 -48
  84. package/src/stories/Chat.stories.tsx +17 -24
  85. package/src/translations.ts +1 -10
  86. package/src/types/schema.ts +13 -0
  87. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
  88. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
  89. package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
  90. package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
  92. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
  93. package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
  94. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
  95. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
  96. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
  97. package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
  99. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
  100. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
  101. package/dist/types/src/components/TemplateContainer.d.ts +0 -8
  102. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  103. package/src/components/TemplateContainer.tsx +0 -24
  104. /package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs.map → ChatContainer-RP3QEXYX.mjs.map} +0 -0
  105. /package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs.map → ChatDialog-ZVLXFHEY.mjs.map} +0 -0
  106. /package/dist/lib/browser/{settings-2DGP3UTS.mjs.map → settings-5GTTCVGD.mjs.map} +0 -0
  107. /package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs.map → ChatContainer-W3W6FWV3.mjs.map} +0 -0
  108. /package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs.map → ChatDialog-QW4JRKVO.mjs.map} +0 -0
  109. /package/dist/lib/node-esm/{settings-47RYZOU4.mjs.map → settings-J2EXEM5H.mjs.map} +0 -0
@@ -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 { meta } from '../../meta';\nimport { LLM_PROVIDERS, type Assistant } 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: Assistant.Settings }) => {\n const { t } = useTranslation(meta.id);\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 React from 'react';\n\nimport { type Template } from '@dxos/blueprints';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const PromptSettings = ({ template }: { template: Template.Template }) => {\n const { t } = useTranslation(meta.id);\n\n // const handleKindChange = useCallback(\n // (value: string) => {\n // const kind = Match.type<string>().pipe(\n // Match.withReturnType<Schema.Schema.Type<typeof Template.Template>>(),\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 {Template.Kinds.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 './AssistantSettings';\nexport * from './Chat';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\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\n\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const ChatDialog = lazy(() => import('./ChatDialog'));\nexport const SequenceContainer = lazy(() => import('./SequenceContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
- "mappings": ";;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,qBAAqBC,6BAA6B;AAC3D,SAASC,OAAOC,QAAQC,sBAAsB;AAC9C,SAASC,yBAAyBC,2BAA2B;AAM7D,IAAMC,gBAAgB;AAEtB,IAAMC,sBAAsB;EAC1BC,MAAM;EACNC,QAAQ;EACRC,UAAU;AACZ;AAEO,IAAMC,oBAAoB,CAAC,EAAEC,SAAQ,MAAoC;;;AAC9E,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,WACE,sBAAA,cAACC,yBAAAA,MACC,sBAAA,cAACC,qBAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,sBAAA,cAACO,MAAMC,QAAM;MACXC,SAAS,CAAC,CAACV,SAASW;MACpBC,iBAAiB,CAACF,YAAaV,SAASW,gBAAgBD;SAI5D,sBAAA,cAACJ,qBAAAA;MAAoBC,OAAON,EAAE,6BAAA;OAC5B,sBAAA,cAACY,OAAOC,MAAI;MACVC,OAAOf,SAASgB,eAAe;MAC/BC,eAAe,CAACF,UAAAA;AACdf,iBAASgB,cAAcD,UAAUrB,gBAAgBwB,SAAaH;MAChE;OAEA,sBAAA,cAACF,OAAOM,eAAa;MAACC,aAAanB,EAAE,6BAAA;QACrC,sBAAA,cAACY,OAAOQ,QAAM,MACZ,sBAAA,cAACR,OAAOS,SAAO,MACb,sBAAA,cAACT,OAAOU,UAAQ,MACd,sBAAA,cAACV,OAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvCwB,cAAcC,IAAI,CAACC,UAClB,sBAAA,cAACd,OAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BhC,oBAAoBgC,KAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GASzC,sBAAA,cAACrB,qBAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,sBAAA,cAACY,OAAOC,MAAI;MACVC,OAAOf,SAAS6B,aAAanC;MAC7BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS6B,YAAYd,UAAUrB,gBAAgBwB,SAAYH;MAC7D;OAEA,sBAAA,cAACF,OAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,sBAAA,cAACY,OAAOQ,QAAM,MACZ,sBAAA,cAACR,OAAOS,SAAO,MACb,sBAAA,cAACT,OAAOU,UAAQ,MACd,sBAAA,cAACV,OAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC6B,oBAAoBJ,IAAI,CAACC,UACxB,sBAAA,cAACd,OAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GASf,sBAAA,cAACrB,qBAAAA;MAAoBC,OAAON,EAAE,iCAAA;OAC5B,sBAAA,cAACY,OAAOC,MAAI;MACVC,OAAOf,SAAS+B,eAAerC;MAC/BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS+B,cAAchB,UAAUrB,gBAAgBwB,SAAYH;MAC/D;OAEA,sBAAA,cAACF,OAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,sBAAA,cAACY,OAAOQ,QAAM,MACZ,sBAAA,cAACR,OAAOS,SAAO,MACb,sBAAA,cAACT,OAAOU,UAAQ,MACd,sBAAA,cAACV,OAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC+B,sBAAsBN,IAAI,CAACC,UAC1B,sBAAA,cAACd,OAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;AAUrB;;;;ACpGA,OAAOM,YAAW;AAGlB,SAASC,SAASC,kBAAAA,uBAAsB;AAIjC,IAAMC,iBAAiB,CAAC,EAAEC,SAAQ,MAAmC;;;AAC1E,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AAmCpC,WACE,gBAAAC,OAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,gBAAAF,OAAA,cAACG,MAAAA,MAAIP,EAAE,oBAAA,CAAA,GACP,gBAAAI,OAAA,cAACI,QAAQC,MAAI,IAAA,CAAA;;;;AAsCnB;;;ACpFA,SAASC,YAAY;AAYd,IAAMC,gBAAgBC,KAAK,MAAM,OAAO,8BAAA,CAAA;AACxC,IAAMC,aAAaD,KAAK,MAAM,OAAO,2BAAA,CAAA;AACrC,IAAME,oBAAoBF,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC5C,IAAMG,oBAAoBH,KAAK,MAAM,OAAO,kCAAA,CAAA;",
6
- "names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "meta", "id", "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", "React", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "meta", "id", "React", "div", "className", "h2", "Toolbar", "Root", "lazy", "ChatContainer", "lazy", "ChatDialog", "SequenceContainer", "TemplateContainer"]
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 { meta } from '../../meta';\nimport { LLM_PROVIDERS, type Assistant } 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: Assistant.Settings }) => {\n const { t } = useTranslation(meta.id);\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 React from 'react';\n\nimport { type Template } from '@dxos/blueprints';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const PromptSettings = ({ template }: { template: Template.Template }) => {\n const { t } = useTranslation(meta.id);\n\n // const handleKindChange = useCallback(\n // (value: string) => {\n // const kind = Match.type<string>().pipe(\n // Match.withReturnType<Schema.Schema.Type<typeof Template.Template>>(),\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 {Template.Kinds.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 './AssistantSettings';\nexport * from './Chat';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\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\n\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const ChatDialog = lazy(() => import('./ChatDialog'));\nexport const SequenceContainer = lazy(() => import('./SequenceContainer'));\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "meta", "id", "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", "React", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "meta", "id", "React", "div", "className", "h2", "Toolbar", "Root", "lazy", "BlueprintContainer", "lazy", "ChatContainer", "ChatDialog", "SequenceContainer"]
7
7
  }
@@ -1,27 +1,28 @@
1
1
  import {
2
2
  AssistantSettings,
3
+ BlueprintContainer,
3
4
  ChatContainer,
4
5
  ChatDialog,
5
6
  PromptSettings,
6
- SequenceContainer,
7
- TemplateContainer
8
- } from "./chunk-EQDW6BYQ.mjs";
7
+ SequenceContainer
8
+ } from "./chunk-LERGF5YG.mjs";
9
+ import {
10
+ TemplateEditor,
11
+ handlebarsHighlightStyle
12
+ } from "./chunk-KFXSBNZR.mjs";
9
13
  import {
14
+ AssistantCapabilities,
10
15
  Chat,
11
16
  Toolbox,
12
17
  ToolboxContainer
13
- } from "./chunk-OWY4CUQY.mjs";
18
+ } from "./chunk-63GG6U6D.mjs";
14
19
  import {
15
20
  ApiAuthorization,
16
21
  Assistant,
17
22
  LLM_PROVIDERS,
18
23
  ServiceType,
19
24
  categoryIcons
20
- } from "./chunk-JQBVLTM5.mjs";
21
- import {
22
- TemplateEditor,
23
- handlebarsHighlightStyle
24
- } from "./chunk-AEAEKWOC.mjs";
25
+ } from "./chunk-7W7LHTRH.mjs";
25
26
  import {
26
27
  ASSISTANT_DIALOG,
27
28
  ASSISTANT_PLUGIN,
@@ -30,10 +31,10 @@ import {
30
31
 
31
32
  // src/capabilities/index.ts
32
33
  import { lazy } from "@dxos/app-framework";
33
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-JTXBKE7O.mjs"));
34
- var IntentResolver = lazy(() => import("./intent-resolver-5RMMCMXG.mjs"));
35
- var ReactSurface = lazy(() => import("./react-surface-66VY37YQ.mjs"));
36
- var Settings = lazy(() => import("./settings-2DGP3UTS.mjs"));
34
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-XSEOKJLG.mjs"));
35
+ var IntentResolver = lazy(() => import("./intent-resolver-MV3VSZLS.mjs"));
36
+ var ReactSurface = lazy(() => import("./react-surface-3GYEHQRP.mjs"));
37
+ var Settings = lazy(() => import("./settings-5GTTCVGD.mjs"));
37
38
 
38
39
  // src/events.ts
39
40
  import { Events } from "@dxos/app-framework";
@@ -43,8 +44,10 @@ import { Events } from "@dxos/app-framework";
43
44
  var AssistantEvents;
44
45
 
45
46
  // src/AssistantPlugin.tsx
47
+ import { Layer } from "effect";
48
+ import { AiServiceTestingPreset } from "@dxos/ai/testing";
46
49
  import { Capabilities, Events as Events2, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
47
- import { Template as Template2 } from "@dxos/blueprints";
50
+ import { Blueprint as Blueprint2 } from "@dxos/blueprints";
48
51
  import { Sequence as Sequence2 } from "@dxos/conductor";
49
52
  import { Type } from "@dxos/echo";
50
53
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
@@ -52,7 +55,7 @@ import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
52
55
  import { defineObjectForm } from "@dxos/plugin-space/types";
53
56
 
54
57
  // src/translations.ts
55
- import { Blueprint, Template } from "@dxos/blueprints";
58
+ import { Blueprint } from "@dxos/blueprints";
56
59
  import { Sequence } from "@dxos/conductor";
57
60
  var translations = [
58
61
  {
@@ -67,15 +70,6 @@ var translations = [
67
70
  "rename object label": "Rename blueprint",
68
71
  "delete object label": "Delete blueprint"
69
72
  },
70
- [Template.Template.typename]: {
71
- "typename label": "Template",
72
- "typename label_zero": "Templates",
73
- "typename label_one": "Template",
74
- "typename label_other": "Templates",
75
- "object name placeholder": "New template",
76
- "rename object label": "Rename template",
77
- "delete object label": "Delete template"
78
- },
79
73
  // TODO(burdon): From conductor.
80
74
  [Sequence.typename]: {
81
75
  "typename label": "Sequence",
@@ -152,15 +146,21 @@ var AssistantPlugin = () => definePlugin(meta, [
152
146
  activatesOn: Events2.SetupMetadata,
153
147
  activate: () => [
154
148
  contributes(Capabilities.Metadata, {
155
- id: Type.getTypename(Sequence2),
149
+ id: Type.getTypename(Assistant.Chat),
156
150
  metadata: {
157
- icon: "ph--circuitry--regular"
151
+ icon: "ph--atom--regular"
158
152
  }
159
153
  }),
160
154
  contributes(Capabilities.Metadata, {
161
- id: Type.getTypename(Assistant.Chat),
155
+ id: Type.getTypename(Blueprint2.Blueprint),
162
156
  metadata: {
163
- icon: "ph--atom--regular"
157
+ icon: "ph--blueprint--regular"
158
+ }
159
+ }),
160
+ contributes(Capabilities.Metadata, {
161
+ id: Type.getTypename(Sequence2),
162
+ metadata: {
163
+ icon: "ph--circuitry--regular"
164
164
  }
165
165
  })
166
166
  ]
@@ -175,6 +175,11 @@ var AssistantPlugin = () => definePlugin(meta, [
175
175
  space: options.space
176
176
  })
177
177
  })),
178
+ contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
179
+ objectSchema: Blueprint2.Blueprint,
180
+ formSchema: Assistant.BlueprintForm,
181
+ getIntent: (props) => createIntent(Assistant.CreateBlueprint, props)
182
+ })),
178
183
  contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
179
184
  objectSchema: Sequence2,
180
185
  getIntent: () => createIntent(Assistant.CreateSequence)
@@ -186,7 +191,6 @@ var AssistantPlugin = () => definePlugin(meta, [
186
191
  activatesOn: ClientEvents.SetupSchema,
187
192
  activate: () => contributes(ClientCapabilities.Schema, [
188
193
  ServiceType,
189
- Template2.Template,
190
194
  Assistant.CompanionTo
191
195
  ])
192
196
  }),
@@ -216,6 +220,14 @@ var AssistantPlugin = () => definePlugin(meta, [
216
220
  Events2.SetupArtifactDefinition
217
221
  ],
218
222
  activate: ReactSurface
223
+ }),
224
+ defineModule({
225
+ id: `${meta.id}/module/ai-service`,
226
+ activatesOn: Events2.Startup,
227
+ activate: () => [
228
+ // TODO(dmaretskyi): Read config from settings.
229
+ contributes(AssistantCapabilities.AiServiceLayer, AiServiceTestingPreset("edge-remote").pipe(Layer.orDie))
230
+ ]
219
231
  })
220
232
  ]);
221
233
  export {
@@ -227,6 +239,7 @@ export {
227
239
  AssistantEvents,
228
240
  AssistantPlugin,
229
241
  AssistantSettings,
242
+ BlueprintContainer,
230
243
  Chat,
231
244
  ChatContainer,
232
245
  ChatDialog,
@@ -237,7 +250,6 @@ export {
237
250
  SequenceContainer,
238
251
  ServiceType,
239
252
  Settings,
240
- TemplateContainer,
241
253
  TemplateEditor,
242
254
  Toolbox,
243
255
  ToolboxContainer,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/index.ts", "../../../src/events.ts", "../../../src/AssistantPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Settings = lazy(() => import('./settings'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace AssistantEvents {\n export const AiClientReady = Events.createStateEvent(`${meta.id}/ai-client-ready`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Template } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface, Settings } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Assistant, ServiceType } from './types';\n\nexport const AssistantPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Sequence),\n metadata: {\n icon: 'ph--circuitry--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Assistant.Chat),\n metadata: {\n icon: 'ph--atom--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Assistant.Chat,\n getIntent: (_, options) => createIntent(Assistant.CreateChat, { space: options.space }),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Sequence,\n getIntent: () => createIntent(Assistant.CreateSequence),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [ServiceType, Template.Template, Assistant.CompanionTo]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.OnSpaceCreated, ({ space, rootCollection }) =>\n createIntent(Assistant.OnSpaceCreated, { space, rootCollection }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the chat is loaded when surfaces activation is more granular.\n activatesBefore: [Events.SetupArtifactDefinition],\n activate: ReactSurface,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Assistant } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n // TODO(burdon): From assistant.\n [Blueprint.Blueprint.typename]: {\n 'typename label': 'Blueprint',\n 'typename label_zero': 'Blueprints',\n 'typename label_one': 'Blueprint',\n 'typename label_other': 'Blueprints',\n 'object name placeholder': 'New blueprint',\n 'rename object label': 'Rename blueprint',\n 'delete object label': 'Delete blueprint',\n },\n [Template.Template.typename]: {\n 'typename label': 'Template',\n 'typename label_zero': 'Templates',\n 'typename label_one': 'Template',\n 'typename label_other': 'Templates',\n 'object name placeholder': 'New template',\n 'rename object label': 'Rename template',\n 'delete object label': 'Delete template',\n },\n // TODO(burdon): From conductor.\n [Sequence.typename]: {\n 'typename label': 'Sequence',\n 'typename label_zero': 'Sequences',\n 'typename label_one': 'Sequence',\n 'typename label_other': 'Sequences',\n 'object name placeholder': 'New sequence',\n 'rename object label': 'Rename sequence',\n 'delete object label': 'Delete sequence',\n },\n [Assistant.Chat.typename]: {\n 'typename label': 'Assistant',\n 'typename label_zero': 'Assistants',\n 'typename label_one': 'Assistant',\n 'typename label_other': 'Assistants',\n 'object name placeholder': 'New assistant',\n 'rename object label': 'Rename assistant',\n 'delete object label': 'Delete assistant',\n },\n [meta.id]: {\n 'templates label': 'Templates',\n 'open ambient chat label': 'Open Assistant',\n 'assistant chat label': 'Assistant',\n 'plugin name': 'Assistant',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'prompt rules label': 'Prompt Rules',\n 'typename placeholder': 'Enter typename of objects which this template is for',\n 'description placeholder': 'Enter description of when this template should be used',\n 'select preset template placeholder': 'Select preset',\n 'service registry label': 'Service Registry',\n\n 'sequence logs label': 'Logs',\n\n 'assistant dialog title': 'Assistant',\n 'open assistant label': 'Open assistant',\n\n 'no tools': 'No tools are configured.',\n\n 'button save': 'Save',\n 'button run': 'Run',\n\n 'search placeholder': 'Search...',\n 'prompt placeholder': 'Ask or search for anything...',\n 'context objects placeholder': 'Add to context...',\n 'button add blueprint': 'Configure blueprints',\n 'button microphone': 'Click to speak',\n 'button cancel processing': 'Stop processing',\n 'button scroll down': 'Scroll down',\n\n 'settings default label': 'Default',\n 'settings custom prompts label': 'Use custom prompts',\n 'settings llm provider label': 'LLM provider',\n 'settings edge llm model label': 'Remote language model',\n 'settings ollama llm model label': 'Ollama language model',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["lazy", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "Settings", "Events", "AssistantEvents", "AiClientReady", "Events", "createStateEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Template", "Sequence", "Type", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "Blueprint", "Template", "Sequence", "translations", "Blueprint", "typename", "Template", "Sequence", "Assistant", "Chat", "meta", "id", "AssistantPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "SetupMetadata", "Metadata", "Type", "getTypename", "Sequence", "metadata", "icon", "Assistant", "Chat", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "CreateChat", "space", "CreateSequence", "ClientCapabilities", "Schema", "ServiceType", "Template", "CompanionTo", "SpaceEvents", "SpaceCreated", "OnSpaceCreated", "rootCollection", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "activatesBefore", "SetupArtifactDefinition", "ReactSurface"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Settings = lazy(() => import('./settings'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace AssistantEvents {\n export const AiClientReady = Events.createStateEvent(`${meta.id}/ai-client-ready`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Layer } from 'effect';\n\nimport { AiServiceTestingPreset } from '@dxos/ai/testing';\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface, Settings } from './capabilities';\nimport { AssistantCapabilities } from './capability-definitions';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Assistant, ServiceType } from './types';\n\nexport const AssistantPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Assistant.Chat),\n metadata: {\n icon: 'ph--atom--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Blueprint.Blueprint),\n metadata: {\n icon: 'ph--blueprint--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Sequence),\n metadata: {\n icon: 'ph--circuitry--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Assistant.Chat,\n getIntent: (_, options) => createIntent(Assistant.CreateChat, { space: options.space }),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Blueprint.Blueprint,\n formSchema: Assistant.BlueprintForm,\n getIntent: (props) => createIntent(Assistant.CreateBlueprint, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Sequence,\n getIntent: () => createIntent(Assistant.CreateSequence),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [ServiceType, Assistant.CompanionTo]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.OnSpaceCreated, ({ space, rootCollection }) =>\n createIntent(Assistant.OnSpaceCreated, { space, rootCollection }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the chat is loaded when surfaces activation is more granular.\n activatesBefore: [Events.SetupArtifactDefinition],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/ai-service`,\n activatesOn: Events.Startup,\n activate: () => [\n // TODO(dmaretskyi): Read config from settings.\n contributes(AssistantCapabilities.AiServiceLayer, AiServiceTestingPreset('edge-remote').pipe(Layer.orDie)),\n ],\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Assistant } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n // TODO(burdon): From assistant.\n [Blueprint.Blueprint.typename]: {\n 'typename label': 'Blueprint',\n 'typename label_zero': 'Blueprints',\n 'typename label_one': 'Blueprint',\n 'typename label_other': 'Blueprints',\n 'object name placeholder': 'New blueprint',\n 'rename object label': 'Rename blueprint',\n 'delete object label': 'Delete blueprint',\n },\n // TODO(burdon): From conductor.\n [Sequence.typename]: {\n 'typename label': 'Sequence',\n 'typename label_zero': 'Sequences',\n 'typename label_one': 'Sequence',\n 'typename label_other': 'Sequences',\n 'object name placeholder': 'New sequence',\n 'rename object label': 'Rename sequence',\n 'delete object label': 'Delete sequence',\n },\n [Assistant.Chat.typename]: {\n 'typename label': 'Assistant',\n 'typename label_zero': 'Assistants',\n 'typename label_one': 'Assistant',\n 'typename label_other': 'Assistants',\n 'object name placeholder': 'New assistant',\n 'rename object label': 'Rename assistant',\n 'delete object label': 'Delete assistant',\n },\n [meta.id]: {\n 'templates label': 'Templates',\n 'open ambient chat label': 'Open Assistant',\n 'assistant chat label': 'Assistant',\n 'plugin name': 'Assistant',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'prompt rules label': 'Prompt Rules',\n 'typename placeholder': 'Enter typename of objects which this template is for',\n 'description placeholder': 'Enter description of when this template should be used',\n 'select preset template placeholder': 'Select preset',\n 'service registry label': 'Service Registry',\n\n 'sequence logs label': 'Logs',\n\n 'assistant dialog title': 'Assistant',\n 'open assistant label': 'Open assistant',\n\n 'no tools': 'No tools are configured.',\n\n 'button save': 'Save',\n 'button run': 'Run',\n\n 'search placeholder': 'Search...',\n 'prompt placeholder': 'Ask or search for anything...',\n 'context objects placeholder': 'Add to context...',\n 'button add blueprint': 'Configure blueprints',\n 'button microphone': 'Click to speak',\n 'button cancel processing': 'Stop processing',\n 'button scroll down': 'Scroll down',\n\n 'settings default label': 'Default',\n 'settings custom prompts label': 'Use custom prompts',\n 'settings llm provider label': 'LLM provider',\n 'settings edge llm model label': 'Remote language model',\n 'settings ollama llm model label': 'Ollama language model',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": "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",
6
+ "names": ["lazy", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "Settings", "Events", "AssistantEvents", "AiClientReady", "Events", "createStateEvent", "meta", "id", "Layer", "AiServiceTestingPreset", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Blueprint", "Sequence", "Type", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "Blueprint", "Sequence", "translations", "Blueprint", "typename", "Sequence", "Assistant", "Chat", "meta", "id", "AssistantPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "SetupMetadata", "Metadata", "Type", "getTypename", "Assistant", "Chat", "metadata", "icon", "Blueprint", "Sequence", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "CreateChat", "space", "formSchema", "BlueprintForm", "props", "CreateBlueprint", "CreateSequence", "ClientCapabilities", "Schema", "ServiceType", "CompanionTo", "SpaceEvents", "SpaceCreated", "OnSpaceCreated", "rootCollection", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "activatesBefore", "SetupArtifactDefinition", "ReactSurface", "Startup", "AssistantCapabilities", "AiServiceLayer", "AiServiceTestingPreset", "pipe", "Layer", "orDie"]
7
7
  }
@@ -1,11 +1,12 @@
1
1
  import {
2
2
  Assistant
3
- } from "./chunk-JQBVLTM5.mjs";
3
+ } from "./chunk-7W7LHTRH.mjs";
4
4
  import "./chunk-FDCJSQYF.mjs";
5
5
 
6
6
  // src/capabilities/intent-resolver.ts
7
7
  import { Effect } from "effect";
8
8
  import { Capabilities, contributes, createIntent, createResolver } from "@dxos/app-framework";
9
+ import { Blueprint } from "@dxos/blueprints";
9
10
  import { Sequence } from "@dxos/conductor";
10
11
  import { Key, Obj, Ref } from "@dxos/echo";
11
12
  import { CollectionAction } from "@dxos/plugin-space/types";
@@ -15,10 +16,13 @@ var intent_resolver_default = (context) => [
15
16
  intent: Assistant.OnSpaceCreated,
16
17
  resolve: ({ space, rootCollection }) => Effect.gen(function* () {
17
18
  const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
18
- const { object: collection } = yield* dispatch(createIntent(CollectionAction.CreateQueryCollection, {
19
+ const { object: chatCollection } = yield* dispatch(createIntent(CollectionAction.CreateQueryCollection, {
19
20
  typename: Assistant.Chat.typename
20
21
  }));
21
- rootCollection.objects.push(Ref.make(collection));
22
+ const { object: blueprintCollection } = yield* dispatch(createIntent(CollectionAction.CreateQueryCollection, {
23
+ typename: Blueprint.Blueprint.typename
24
+ }));
25
+ rootCollection.objects.push(Ref.make(chatCollection), Ref.make(blueprintCollection));
22
26
  const { object: chat } = yield* dispatch(createIntent(Assistant.CreateChat, {
23
27
  space
24
28
  }));
@@ -36,6 +40,17 @@ var intent_resolver_default = (context) => [
36
40
  }
37
41
  })
38
42
  }),
43
+ createResolver({
44
+ intent: Assistant.CreateBlueprint,
45
+ resolve: ({ name, description }) => ({
46
+ data: {
47
+ object: Blueprint.make({
48
+ name,
49
+ description
50
+ })
51
+ }
52
+ })
53
+ }),
39
54
  createResolver({
40
55
  intent: Assistant.CreateSequence,
41
56
  resolve: ({ name }) => ({
@@ -57,4 +72,4 @@ var intent_resolver_default = (context) => [
57
72
  export {
58
73
  intent_resolver_default as default
59
74
  };
60
- //# sourceMappingURL=intent-resolver-5RMMCMXG.mjs.map
75
+ //# sourceMappingURL=intent-resolver-MV3VSZLS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\n\nimport { Capabilities, contributes, createIntent, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { Key, Obj, Ref } from '@dxos/echo';\nimport { CollectionAction } from '@dxos/plugin-space/types';\n\nimport { Assistant } from '../types';\n\nexport default (context: PluginContext) => [\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: Assistant.OnSpaceCreated,\n resolve: ({ space, rootCollection }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { object: chatCollection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Assistant.Chat.typename }),\n );\n const { object: blueprintCollection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Blueprint.Blueprint.typename }),\n );\n rootCollection.objects.push(Ref.make(chatCollection), Ref.make(blueprintCollection));\n\n const { object: chat } = yield* dispatch(createIntent(Assistant.CreateChat, { space }));\n space.db.add(chat);\n\n // TODO(wittjosiah): Create default blueprint.\n // const { object: blueprint } = yield* dispatch(createIntent(Assistant.CreateBlueprint, { ... }));\n // space.db.add(blueprint);\n }),\n }),\n createResolver({\n intent: Assistant.CreateChat,\n resolve: ({ space, name }) => ({\n data: {\n object: Obj.make(Assistant.Chat, {\n name,\n queue: Ref.fromDXN(space.queues.create().dxn),\n }),\n },\n }),\n }),\n createResolver({\n intent: Assistant.CreateBlueprint,\n resolve: ({ name, description }) => ({\n data: { object: Blueprint.make({ name, description }) },\n }),\n }),\n createResolver({\n intent: Assistant.CreateSequence,\n resolve: ({ name }) => ({\n data: {\n object: Obj.make(Sequence, {\n name,\n steps: [\n {\n id: Key.ObjectId.random(),\n instructions: 'You are a helpful assistant.',\n },\n ],\n }),\n },\n }),\n }),\n ]),\n];\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAcC,aAAaC,cAAcC,sBAA0C;AAC5F,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,KAAKC,KAAKC,WAAW;AAC9B,SAASC,wBAAwB;AAIjC,IAAA,0BAAe,CAACC,YAA2B;EACzCC,YAAYC,aAAaC,gBAAgB;IACvCC,eAAe;MACbC,QAAQC,UAAUC;MAClBC,SAAS,CAAC,EAAEC,OAAOC,eAAc,MAC/BC,OAAOC,IAAI,aAAA;AACT,cAAM,EAAEC,SAAQ,IAAKb,QAAQc,cAAcZ,aAAaa,gBAAgB;AACxE,cAAM,EAAEC,QAAQC,eAAc,IAAK,OAAOJ,SACxCK,aAAaC,iBAAiBC,uBAAuB;UAAEC,UAAUf,UAAUgB,KAAKD;QAAS,CAAA,CAAA;AAE3F,cAAM,EAAEL,QAAQO,oBAAmB,IAAK,OAAOV,SAC7CK,aAAaC,iBAAiBC,uBAAuB;UAAEC,UAAUG,UAAUA,UAAUH;QAAS,CAAA,CAAA;AAEhGX,uBAAee,QAAQC,KAAKC,IAAIC,KAAKX,cAAAA,GAAiBU,IAAIC,KAAKL,mBAAAA,CAAAA;AAE/D,cAAM,EAAEP,QAAQa,KAAI,IAAK,OAAOhB,SAASK,aAAaZ,UAAUwB,YAAY;UAAErB;QAAM,CAAA,CAAA;AACpFA,cAAMsB,GAAGC,IAAIH,IAAAA;MAKf,CAAA;IACJ,CAAA;IACAzB,eAAe;MACbC,QAAQC,UAAUwB;MAClBtB,SAAS,CAAC,EAAEC,OAAOwB,KAAI,OAAQ;QAC7BC,MAAM;UACJlB,QAAQmB,IAAIP,KAAKtB,UAAUgB,MAAM;YAC/BW;YACAG,OAAOT,IAAIU,QAAQ5B,MAAM6B,OAAOC,OAAM,EAAGC,GAAG;UAC9C,CAAA;QACF;MACF;IACF,CAAA;IACApC,eAAe;MACbC,QAAQC,UAAUmC;MAClBjC,SAAS,CAAC,EAAEyB,MAAMS,YAAW,OAAQ;QACnCR,MAAM;UAAElB,QAAQQ,UAAUI,KAAK;YAAEK;YAAMS;UAAY,CAAA;QAAG;MACxD;IACF,CAAA;IACAtC,eAAe;MACbC,QAAQC,UAAUqC;MAClBnC,SAAS,CAAC,EAAEyB,KAAI,OAAQ;QACtBC,MAAM;UACJlB,QAAQmB,IAAIP,KAAKgB,UAAU;YACzBX;YACAY,OAAO;cACL;gBACEC,IAAIC,IAAIC,SAASC,OAAM;gBACvBC,cAAc;cAChB;;UAEJ,CAAA;QACF;MACF;IACF,CAAA;GACD;;",
6
+ "names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "Blueprint", "Sequence", "Key", "Obj", "Ref", "CollectionAction", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "Assistant", "OnSpaceCreated", "resolve", "space", "rootCollection", "Effect", "gen", "dispatch", "getCapability", "IntentDispatcher", "object", "chatCollection", "createIntent", "CollectionAction", "CreateQueryCollection", "typename", "Chat", "blueprintCollection", "Blueprint", "objects", "push", "Ref", "make", "chat", "CreateChat", "db", "add", "name", "data", "Obj", "queue", "fromDXN", "queues", "create", "dxn", "CreateBlueprint", "description", "CreateSequence", "Sequence", "steps", "id", "Key", "ObjectId", "random", "instructions"]
7
+ }