@dxos/plugin-automation 0.7.5-main.e9bb01b → 0.7.5-staging.2ff1350
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.
- package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs +8 -0
- package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-AZPLZJ5H.mjs +12 -0
- package/dist/lib/browser/ChatContainer-AZPLZJ5H.mjs.map +7 -0
- package/dist/lib/browser/ai-client-T2PBJISL.mjs +22 -0
- package/dist/lib/browser/ai-client-T2PBJISL.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-F22H4YBQ.mjs +111 -0
- package/dist/lib/browser/app-graph-builder-F22H4YBQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-67KDIIM6.mjs +15 -0
- package/dist/lib/browser/chunk-67KDIIM6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DQ7ZSYJJ.mjs → chunk-HZSTXZWK.mjs} +3 -1
- package/dist/lib/browser/chunk-HZSTXZWK.mjs.map +7 -0
- package/dist/lib/browser/chunk-L2YLAKCS.mjs +151 -0
- package/dist/lib/browser/chunk-L2YLAKCS.mjs.map +7 -0
- package/dist/lib/{node-esm/AutomationPanel-MW42U6I4.mjs → browser/chunk-LJ7F4KDM.mjs} +26 -15
- package/dist/lib/browser/chunk-LJ7F4KDM.mjs.map +7 -0
- package/dist/lib/browser/chunk-M4MWUOUC.mjs +382 -0
- package/dist/lib/browser/chunk-M4MWUOUC.mjs.map +7 -0
- package/dist/lib/browser/chunk-U435IUIA.mjs +1775 -0
- package/dist/lib/browser/chunk-U435IUIA.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +127 -42
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-MONKAKTY.mjs +30 -0
- package/dist/lib/browser/intent-resolver-MONKAKTY.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-7QWCWE4K.mjs +58 -0
- package/dist/lib/browser/react-surface-7QWCWE4K.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +14 -3
- package/dist/lib/node/AutomationPanel-6COLKRIB.cjs +26 -0
- package/dist/lib/node/AutomationPanel-6COLKRIB.cjs.map +7 -0
- package/dist/lib/node/ChatContainer-SBEUFMQ3.cjs +33 -0
- package/dist/lib/node/ChatContainer-SBEUFMQ3.cjs.map +7 -0
- package/dist/lib/node/ai-client-L5GUSAER.cjs +38 -0
- package/dist/lib/node/ai-client-L5GUSAER.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-OCSH5R6U.cjs +123 -0
- package/dist/lib/node/app-graph-builder-OCSH5R6U.cjs.map +7 -0
- package/dist/lib/node/{chunk-TQEDPRY5.cjs → chunk-BAQRBGOJ.cjs} +7 -4
- package/dist/lib/node/chunk-BAQRBGOJ.cjs.map +7 -0
- package/dist/lib/node/chunk-BZFAEBME.cjs +1747 -0
- package/dist/lib/node/chunk-BZFAEBME.cjs.map +7 -0
- package/dist/lib/node/chunk-K3F5JNZ6.cjs +394 -0
- package/dist/lib/node/chunk-K3F5JNZ6.cjs.map +7 -0
- package/dist/lib/node/chunk-NUOYHYAF.cjs +174 -0
- package/dist/lib/node/chunk-NUOYHYAF.cjs.map +7 -0
- package/dist/lib/node/{AutomationPanel-H5WE4FIU.cjs → chunk-V4L7LTWM.cjs} +34 -18
- package/dist/lib/node/chunk-V4L7LTWM.cjs.map +7 -0
- package/dist/lib/node/chunk-VNBYGJ4K.cjs +34 -0
- package/dist/lib/node/chunk-VNBYGJ4K.cjs.map +7 -0
- package/dist/lib/node/index.cjs +157 -86
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-KQGTYVF2.cjs +45 -0
- package/dist/lib/node/intent-resolver-KQGTYVF2.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-S6U5ISJ6.cjs → react-surface-IXKIJFRP.cjs} +31 -12
- package/dist/lib/node/react-surface-IXKIJFRP.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +17 -6
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs +9 -0
- package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-JCDLYMDZ.mjs +13 -0
- package/dist/lib/node-esm/ChatContainer-JCDLYMDZ.mjs.map +7 -0
- package/dist/lib/node-esm/ai-client-45LZLW7V.mjs +23 -0
- package/dist/lib/node-esm/ai-client-45LZLW7V.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-XSM7DETF.mjs +112 -0
- package/dist/lib/node-esm/app-graph-builder-XSM7DETF.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-53FFD4VO.mjs +1776 -0
- package/dist/lib/node-esm/chunk-53FFD4VO.mjs.map +7 -0
- package/dist/lib/{browser/AutomationPanel-KT3YFV56.mjs → node-esm/chunk-AWAU4BHR.mjs} +27 -14
- package/dist/lib/node-esm/chunk-AWAU4BHR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JFHI22MF.mjs → chunk-IG4GSWZN.mjs} +3 -1
- package/dist/lib/node-esm/chunk-IG4GSWZN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-K5NNSGIV.mjs +152 -0
- package/dist/lib/node-esm/chunk-K5NNSGIV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RAT3GSJP.mjs +383 -0
- package/dist/lib/node-esm/chunk-RAT3GSJP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-SS7U6GCX.mjs +16 -0
- package/dist/lib/node-esm/chunk-SS7U6GCX.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +127 -42
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-XSZRLU6V.mjs +31 -0
- package/dist/lib/node-esm/intent-resolver-XSZRLU6V.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-FZAAAXGR.mjs +59 -0
- package/dist/lib/node-esm/react-surface-FZAAAXGR.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +14 -3
- package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-client.d.ts +5 -0
- package/dist/types/src/capabilities/ai-client.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +23 -22
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +5 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +3 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +7 -0
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -0
- package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +8 -0
- package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/AmbientDialog/index.d.ts +2 -0
- package/dist/types/src/components/AmbientDialog/index.d.ts.map +1 -0
- package/dist/types/src/components/AssistantDialog/AssistantDialog.d.ts +6 -0
- package/dist/types/src/components/AssistantDialog/AssistantDialog.d.ts.map +1 -0
- package/dist/types/src/components/AssistantDialog/index.d.ts +2 -0
- package/dist/types/src/components/AssistantDialog/index.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +6 -0
- package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/components/ChatContainer/index.d.ts +4 -0
- package/dist/types/src/components/ChatContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/Prompt.d.ts +13 -0
- package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts +9 -0
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/PromptBar.d.ts +10 -0
- package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/autocomplete.d.ts +21 -0
- package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/index.d.ts +3 -0
- package/dist/types/src/components/Prompt/index.d.ts.map +1 -0
- package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +1 -2
- package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +1 -1
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +5 -0
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
- package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
- package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
- package/dist/types/src/components/Thread/Thread.d.ts +15 -0
- package/dist/types/src/components/Thread/Thread.d.ts.map +1 -0
- package/dist/types/src/components/Thread/Thread.stories.d.ts +11 -0
- package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -0
- package/dist/types/src/components/Thread/ThreadContainer.d.ts +8 -0
- package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -0
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +15 -0
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/Thread/ThreadMessage.d.ts +13 -0
- package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -0
- package/dist/types/src/components/Thread/ToolInvocations.d.ts +13 -0
- package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -0
- package/dist/types/src/components/Thread/index.d.ts +3 -0
- package/dist/types/src/components/Thread/index.d.ts.map +1 -0
- package/dist/types/src/components/Thread/reducer.d.ts +12 -0
- package/dist/types/src/components/Thread/reducer.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +19 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +8 -0
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/index.d.ts +2 -0
- package/dist/types/src/components/Toolbox/index.d.ts.map +1 -0
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +13 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +5 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts +75 -0
- package/dist/types/src/hooks/processor.d.ts.map +1 -0
- package/dist/types/src/hooks/processor.test.d.ts +2 -0
- package/dist/types/src/hooks/processor.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts +7 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -0
- package/dist/types/src/hooks/useMessageQueue.d.ts +41 -0
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -0
- package/dist/types/src/hooks/useServices.d.ts +7 -0
- package/dist/types/src/hooks/useServices.d.ts.map +1 -0
- package/dist/types/src/hooks/useTextInputEvents.d.ts +13 -0
- package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +1 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +2 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/{testing.d.ts → test-functions.d.ts} +3 -1
- package/dist/types/src/testing/test-functions.d.ts.map +1 -0
- package/dist/types/src/testing/test-services.d.ts +5 -0
- package/dist/types/src/testing/test-services.d.ts.map +1 -0
- package/dist/types/src/tools/function.d.ts +5 -0
- package/dist/types/src/tools/function.d.ts.map +1 -0
- package/dist/types/src/tools/index.d.ts +3 -0
- package/dist/types/src/tools/index.d.ts.map +1 -0
- package/dist/types/src/tools/openapi.d.ts +10 -0
- package/dist/types/src/tools/openapi.d.ts.map +1 -0
- package/dist/types/src/tools/openapi.test.d.ts +2 -0
- package/dist/types/src/tools/openapi.test.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +95 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/registry.d.ts +10 -0
- package/dist/types/src/types/registry.d.ts.map +1 -0
- package/dist/types/src/types/schema.d.ts +161 -3
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +19 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/package.json +59 -40
- package/src/AutomationPlugin.tsx +51 -14
- package/src/capabilities/ai-client.ts +19 -0
- package/src/capabilities/app-graph-builder.ts +83 -110
- package/src/capabilities/capabilities.ts +12 -0
- package/src/capabilities/index.ts +4 -0
- package/src/capabilities/intent-resolver.ts +26 -0
- package/src/capabilities/react-surface.tsx +21 -6
- package/src/components/AmbientDialog/AmbientDialog.stories.tsx +81 -0
- package/src/components/AmbientDialog/AmbientDialog.tsx +103 -0
- package/src/components/AmbientDialog/index.ts +5 -0
- package/src/components/AssistantDialog/AssistantDialog.tsx +23 -0
- package/src/components/AssistantDialog/index.ts +5 -0
- package/src/components/ChatContainer/ChatContainer.tsx +19 -0
- package/src/components/ChatContainer/index.ts +9 -0
- package/src/components/Prompt/Prompt.stories.tsx +79 -0
- package/src/components/Prompt/Prompt.tsx +79 -0
- package/src/components/Prompt/PromptBar.tsx +100 -0
- package/src/components/Prompt/autocomplete.ts +212 -0
- package/src/components/Prompt/index.ts +6 -0
- package/src/components/PromptEditor/PromptEditor.stories.tsx +3 -3
- package/src/components/PromptEditor/PromptEditor.tsx +3 -3
- package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +49 -0
- package/src/components/ServiceRegistry/ServiceRegistry.tsx +76 -0
- package/src/components/ServiceRegistry/index.ts +5 -0
- package/src/components/Thread/Thread.stories.tsx +210 -0
- package/src/components/Thread/Thread.tsx +106 -0
- package/src/components/Thread/ThreadContainer.stories.tsx +245 -0
- package/src/components/Thread/ThreadContainer.tsx +67 -0
- package/src/components/Thread/ThreadMessage.tsx +187 -0
- package/src/components/Thread/ToolInvocations.tsx +86 -0
- package/src/components/Thread/index.ts +6 -0
- package/src/components/Thread/reducer.ts +52 -0
- package/src/components/Toolbox/Toolbox.stories.tsx +66 -0
- package/src/components/Toolbox/Toolbox.tsx +89 -0
- package/src/components/Toolbox/index.ts +5 -0
- package/src/components/TriggerEditor/TriggerEditor.tsx +18 -11
- package/src/components/index.ts +10 -1
- package/src/hooks/index.ts +6 -0
- package/src/hooks/processor.test.ts +15 -0
- package/src/hooks/processor.ts +218 -0
- package/src/hooks/useChatProcessor.tsx +75 -0
- package/src/hooks/useMessageQueue.ts +23 -0
- package/src/hooks/useServices.ts +28 -0
- package/src/hooks/useTextInputEvents.ts +49 -0
- package/src/meta.ts +2 -0
- package/src/testing/index.ts +2 -1
- package/src/testing/{testing.ts → test-functions.ts} +9 -2
- package/src/testing/test-services.ts +131 -0
- package/src/tools/function.ts +47 -0
- package/src/tools/index.ts +6 -0
- package/src/tools/openapi.test.ts +224 -0
- package/src/tools/openapi.ts +331 -0
- package/src/translations.ts +17 -2
- package/src/types/index.ts +2 -0
- package/src/types/registry.ts +26 -0
- package/src/types/schema.ts +95 -1
- package/src/types/types.ts +22 -0
- package/src/typings.d.ts +9 -0
- package/dist/lib/browser/AssistantPanel-NTOUHOWA.mjs +0 -339
- package/dist/lib/browser/AssistantPanel-NTOUHOWA.mjs.map +0 -7
- package/dist/lib/browser/AutomationPanel-KT3YFV56.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-6FSMLMT4.mjs +0 -131
- package/dist/lib/browser/app-graph-builder-6FSMLMT4.mjs.map +0 -7
- package/dist/lib/browser/chunk-4ODBJDXM.mjs +0 -10
- package/dist/lib/browser/chunk-4ODBJDXM.mjs.map +0 -7
- package/dist/lib/browser/chunk-DL6LB2NI.mjs +0 -43
- package/dist/lib/browser/chunk-DL6LB2NI.mjs.map +0 -7
- package/dist/lib/browser/chunk-DQ7ZSYJJ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-5YTE5MRE.mjs +0 -34
- package/dist/lib/browser/react-surface-5YTE5MRE.mjs.map +0 -7
- package/dist/lib/node/AssistantPanel-U7GDWPRC.cjs +0 -359
- package/dist/lib/node/AssistantPanel-U7GDWPRC.cjs.map +0 -7
- package/dist/lib/node/AutomationPanel-H5WE4FIU.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-65TBXO3I.cjs +0 -147
- package/dist/lib/node/app-graph-builder-65TBXO3I.cjs.map +0 -7
- package/dist/lib/node/chunk-JNDMZQH7.cjs +0 -68
- package/dist/lib/node/chunk-JNDMZQH7.cjs.map +0 -7
- package/dist/lib/node/chunk-JUSXT4U5.cjs +0 -43
- package/dist/lib/node/chunk-JUSXT4U5.cjs.map +0 -7
- package/dist/lib/node/chunk-TQEDPRY5.cjs.map +0 -7
- package/dist/lib/node/react-surface-S6U5ISJ6.cjs.map +0 -7
- package/dist/lib/node-esm/AssistantPanel-M67P24GS.mjs +0 -340
- package/dist/lib/node-esm/AssistantPanel-M67P24GS.mjs.map +0 -7
- package/dist/lib/node-esm/AutomationPanel-MW42U6I4.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-4SD4F3KN.mjs +0 -132
- package/dist/lib/node-esm/app-graph-builder-4SD4F3KN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GIAYUM5I.mjs +0 -45
- package/dist/lib/node-esm/chunk-GIAYUM5I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JFHI22MF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XVIEXSEZ.mjs +0 -12
- package/dist/lib/node-esm/chunk-XVIEXSEZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RWTR3TKT.mjs +0 -35
- package/dist/lib/node-esm/react-surface-RWTR3TKT.mjs.map +0 -7
- package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +0 -8
- package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +0 -1
- package/dist/types/src/components/AssistantPanel/index.d.ts +0 -3
- package/dist/types/src/components/AssistantPanel/index.d.ts.map +0 -1
- package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +0 -6
- package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +0 -1
- package/dist/types/src/testing/testing.d.ts.map +0 -1
- package/src/components/AssistantPanel/AssistantPanel.tsx +0 -227
- package/src/components/AssistantPanel/index.ts +0 -7
- package/src/components/AssistantPanel/system-instructions.ts +0 -166
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChatContainer,
|
|
3
|
+
ChatContainer_default
|
|
4
|
+
} from "./chunk-U435IUIA.mjs";
|
|
5
|
+
import "./chunk-67KDIIM6.mjs";
|
|
6
|
+
import "./chunk-L2YLAKCS.mjs";
|
|
7
|
+
import "./chunk-HZSTXZWK.mjs";
|
|
8
|
+
export {
|
|
9
|
+
ChatContainer,
|
|
10
|
+
ChatContainer_default as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ChatContainer-AZPLZJ5H.mjs.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AutomationCapabilities
|
|
3
|
+
} from "./chunk-67KDIIM6.mjs";
|
|
4
|
+
import "./chunk-HZSTXZWK.mjs";
|
|
5
|
+
|
|
6
|
+
// packages/plugins/experimental/plugin-automation/src/capabilities/ai-client.ts
|
|
7
|
+
import { contributes } from "@dxos/app-framework";
|
|
8
|
+
import { AIServiceClientImpl } from "@dxos/assistant";
|
|
9
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
10
|
+
var DEFAULT_AI_SERVICE_URL = "http://localhost:8788";
|
|
11
|
+
var ai_client_default = (context) => {
|
|
12
|
+
const client = context.requestCapability(ClientCapabilities.Client);
|
|
13
|
+
const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;
|
|
14
|
+
const aiClient = new AIServiceClientImpl({
|
|
15
|
+
endpoint
|
|
16
|
+
});
|
|
17
|
+
return contributes(AutomationCapabilities.AiClient, aiClient);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
ai_client_default as default
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=ai-client-T2PBJISL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/ai-client.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { AIServiceClientImpl } from '@dxos/assistant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AutomationCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Factor out.\nconst DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;\n const aiClient = new AIServiceClientImpl({ endpoint });\n return contributes(AutomationCapabilities.AiClient, aiClient);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,mBAAwC;AACjD,SAASC,2BAA2B;AACpC,SAASC,0BAA0B;AAKnC,IAAMC,yBAAyB;AAE/B,IAAA,oBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,QAAMC,WAAWJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,IAAIC,UAAUZ;AACvE,QAAMa,WAAW,IAAIC,oBAAoB;IAAER;EAAS,CAAA;AACpD,SAAOS,YAAYC,uBAAuBC,UAAUJ,QAAAA;AACtD;",
|
|
6
|
+
"names": ["contributes", "AIServiceClientImpl", "ClientCapabilities", "DEFAULT_AI_SERVICE_URL", "context", "client", "requestCapability", "ClientCapabilities", "Client", "endpoint", "config", "values", "runtime", "services", "ai", "server", "aiClient", "AIServiceClientImpl", "contributes", "AutomationCapabilities", "AiClient"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AIChatType,
|
|
3
|
+
AutomationAction
|
|
4
|
+
} from "./chunk-L2YLAKCS.mjs";
|
|
5
|
+
import {
|
|
6
|
+
ASSISTANT_DIALOG,
|
|
7
|
+
AUTOMATION_PLUGIN
|
|
8
|
+
} from "./chunk-HZSTXZWK.mjs";
|
|
9
|
+
|
|
10
|
+
// packages/plugins/experimental/plugin-automation/src/capabilities/app-graph-builder.ts
|
|
11
|
+
import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
|
|
12
|
+
import { invariant } from "@dxos/invariant";
|
|
13
|
+
import { log } from "@dxos/log";
|
|
14
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
15
|
+
import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
|
|
16
|
+
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
17
|
+
import { Filter, getSpace } from "@dxos/react-client/echo";
|
|
18
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-automation/src/capabilities/app-graph-builder.ts";
|
|
19
|
+
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
20
|
+
createExtension({
|
|
21
|
+
id: `${AUTOMATION_PLUGIN}/assistant`,
|
|
22
|
+
filter: (node) => node.id === ROOT_ID,
|
|
23
|
+
actions: () => [
|
|
24
|
+
{
|
|
25
|
+
id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,
|
|
26
|
+
data: async () => {
|
|
27
|
+
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
|
|
28
|
+
const client = context.requestCapability(ClientCapabilities.Client);
|
|
29
|
+
const layout = context.requestCapability(Capabilities.Layout);
|
|
30
|
+
const { graph } = context.requestCapability(Capabilities.AppGraph);
|
|
31
|
+
let chat;
|
|
32
|
+
if (layout.active.length > 0) {
|
|
33
|
+
const node = graph.findNode(layout.active[0]);
|
|
34
|
+
if (node) {
|
|
35
|
+
const space = getSpace(node.data);
|
|
36
|
+
if (space) {
|
|
37
|
+
chat = await getOrCreateChat(dispatch, space);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
const space = client.spaces.default;
|
|
42
|
+
chat = await getOrCreateChat(dispatch, space);
|
|
43
|
+
}
|
|
44
|
+
if (!chat) {
|
|
45
|
+
log.warn("no chat found", void 0, {
|
|
46
|
+
F: __dxlog_file,
|
|
47
|
+
L: 54,
|
|
48
|
+
S: void 0,
|
|
49
|
+
C: (f, a) => f(...a)
|
|
50
|
+
});
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
await dispatch(createIntent(LayoutAction.UpdateDialog, {
|
|
54
|
+
part: "dialog",
|
|
55
|
+
subject: ASSISTANT_DIALOG,
|
|
56
|
+
options: {
|
|
57
|
+
state: true,
|
|
58
|
+
blockAlign: "end",
|
|
59
|
+
props: {
|
|
60
|
+
chat
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
},
|
|
65
|
+
properties: {
|
|
66
|
+
label: [
|
|
67
|
+
"open assistant label",
|
|
68
|
+
{
|
|
69
|
+
ns: AUTOMATION_PLUGIN
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
// TODO(wittjosiah): Use logo icon.
|
|
73
|
+
icon: "ph--chat-centered-text--regular",
|
|
74
|
+
disposition: "item",
|
|
75
|
+
position: "hoist",
|
|
76
|
+
keyBinding: {
|
|
77
|
+
macos: "shift+meta+k",
|
|
78
|
+
windows: "shift+ctrl+k"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
})
|
|
84
|
+
]);
|
|
85
|
+
var getOrCreateChat = async (dispatch, space) => {
|
|
86
|
+
const { objects } = await space.db.query(Filter.schema(AIChatType)).run();
|
|
87
|
+
if (objects.length > 0) {
|
|
88
|
+
return objects[objects.length - 1];
|
|
89
|
+
}
|
|
90
|
+
const { data } = await dispatch(createIntent(AutomationAction.CreateChat, {
|
|
91
|
+
spaceId: space.id
|
|
92
|
+
}));
|
|
93
|
+
invariant(data?.object instanceof AIChatType, void 0, {
|
|
94
|
+
F: __dxlog_file,
|
|
95
|
+
L: 97,
|
|
96
|
+
S: void 0,
|
|
97
|
+
A: [
|
|
98
|
+
"data?.object instanceof AIChatType",
|
|
99
|
+
""
|
|
100
|
+
]
|
|
101
|
+
});
|
|
102
|
+
await dispatch(createIntent(SpaceAction.AddObject, {
|
|
103
|
+
target: space,
|
|
104
|
+
object: data.object
|
|
105
|
+
}));
|
|
106
|
+
return data.object;
|
|
107
|
+
};
|
|
108
|
+
export {
|
|
109
|
+
app_graph_builder_default as default
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=app-graph-builder-F22H4YBQ.mjs.map
|
|
@@ -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 {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, getSpace } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, AUTOMATION_PLUGIN } from '../meta';\nimport { AIChatType, AutomationAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${AUTOMATION_PLUGIN}/assistant`,\n filter: (node): node is Node<null> => node.id === ROOT_ID,\n actions: () => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const layout = context.requestCapability(Capabilities.Layout);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.findNode(layout.active[0]);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\n if (!chat) {\n log.warn('no chat found');\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: AUTOMATION_PLUGIN }],\n // TODO(wittjosiah): Use logo icon.\n icon: 'ph--chat-centered-text--regular',\n disposition: 'item',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ],\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.schema(AIChatType)).run();\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AutomationAction.CreateChat, { spaceId: space.id }));\n invariant(data?.object instanceof AIChatType);\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAIA,SACEA,cACAC,aACAC,cACAC,oBAGK;AACP,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,iBAA4BC,eAAe;AACpD,SAASC,mBAAmB;AAC5B,SAAqBC,QAAQC,gBAAgB;;AAK7C,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,iBAAAA;IACPC,QAAQ,CAACC,SAA6BA,KAAKH,OAAOI;IAClDC,SAAS,MAAM;MACb;QACEL,IAAI,GAAGM,aAAaC,aAAaC,IAAI;QACrCC,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKhB,QAAQiB,kBAAkBf,aAAagB,gBAAgB;AAC7F,gBAAMC,SAASnB,QAAQiB,kBAAkBG,mBAAmBC,MAAM;AAClE,gBAAMC,SAAStB,QAAQiB,kBAAkBf,aAAaqB,MAAM;AAC5D,gBAAM,EAAEC,MAAK,IAAKxB,QAAQiB,kBAAkBf,aAAauB,QAAQ;AAIjE,cAAIC;AACJ,cAAIJ,OAAOK,OAAOC,SAAS,GAAG;AAC5B,kBAAMpB,OAAOgB,MAAMK,SAASP,OAAOK,OAAO,CAAA,CAAE;AAC5C,gBAAInB,MAAM;AACR,oBAAMsB,QAAQC,SAASvB,KAAKM,IAAI;AAChC,kBAAIgB,OAAO;AACTJ,uBAAO,MAAMM,gBAAgBhB,UAAUc,KAAAA;cACzC;YACF;UACF,OAAO;AACL,kBAAMA,QAAQX,OAAOc,OAAOC;AAC5BR,mBAAO,MAAMM,gBAAgBhB,UAAUc,KAAAA;UACzC;AAEA,cAAI,CAACJ,MAAM;AACTS,gBAAIC,KAAK,iBAAA,QAAA;;;;;;AACT;UACF;AAEA,gBAAMpB,SACJqB,aAAa1B,aAAaC,cAAc;YACtC0B,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,OAAO;cACPC,YAAY;cACZC,OAAO;gBACLlB;cACF;YACF;UACF,CAAA,CAAA;QAEJ;QACAmB,YAAY;UACVC,OAAO;YAAC;YAAwB;cAAEC,IAAIzC;YAAkB;;;UAExD0C,MAAM;UACNC,aAAa;UACbC,UAAU;UACVC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;;EAEJ,CAAA;CACD;AAGH,IAAMrB,kBAAkB,OAAOhB,UAAmCc,UAAAA;AAChE,QAAM,EAAEwB,QAAO,IAAK,MAAMxB,MAAMyB,GAAGC,MAAMC,OAAOC,OAAOC,UAAAA,CAAAA,EAAaC,IAAG;AACvE,MAAIN,QAAQ1B,SAAS,GAAG;AAEtB,WAAO0B,QAAQA,QAAQ1B,SAAS,CAAA;EAClC;AAEA,QAAM,EAAEd,KAAI,IAAK,MAAME,SAASqB,aAAawB,iBAAiBC,YAAY;IAAEC,SAASjC,MAAMzB;EAAG,CAAA,CAAA;AAC9F2D,YAAUlD,MAAMmD,kBAAkBN,YAAAA,QAAAA;;;;;;;;;AAClC,QAAM3C,SAASqB,aAAa6B,YAAYC,WAAW;IAAEC,QAAQtC;IAAOmC,QAAQnD,KAAKmD;EAAO,CAAA,CAAA;AACxF,SAAOnD,KAAKmD;AACd;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "invariant", "log", "ClientCapabilities", "createExtension", "ROOT_ID", "SpaceAction", "Filter", "getSpace", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "AUTOMATION_PLUGIN", "filter", "node", "ROOT_ID", "actions", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "findNode", "space", "getSpace", "getOrCreateChat", "spaces", "default", "log", "warn", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "objects", "db", "query", "Filter", "schema", "AIChatType", "run", "AutomationAction", "CreateChat", "spaceId", "invariant", "object", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AUTOMATION_PLUGIN
|
|
3
|
+
} from "./chunk-HZSTXZWK.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/experimental/plugin-automation/src/capabilities/capabilities.ts
|
|
6
|
+
import { defineCapability } from "@dxos/app-framework";
|
|
7
|
+
var AutomationCapabilities;
|
|
8
|
+
(function(AutomationCapabilities2) {
|
|
9
|
+
AutomationCapabilities2.AiClient = defineCapability(`${AUTOMATION_PLUGIN}/capability/ai-client`);
|
|
10
|
+
})(AutomationCapabilities || (AutomationCapabilities = {}));
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
AutomationCapabilities
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=chunk-67KDIIM6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type AIServiceClientImpl } from '@dxos/assistant';\n\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport namespace AutomationCapabilities {\n export const AiClient = defineCapability<AIServiceClientImpl>(`${AUTOMATION_PLUGIN}/capability/ai-client`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,wBAAwB;;UAKhBC,yBAAAA;0BACFC,WAAWC,iBAAsC,GAAGC,iBAAAA,uBAAwC;AAC3G,GAFiBH,2BAAAA,yBAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["defineCapability", "AutomationCapabilities", "AiClient", "defineCapability", "AUTOMATION_PLUGIN"]
|
|
7
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// packages/plugins/experimental/plugin-automation/src/meta.ts
|
|
2
2
|
var AUTOMATION_PLUGIN = "dxos.org/plugin/automation";
|
|
3
|
+
var ASSISTANT_DIALOG = `${AUTOMATION_PLUGIN}/assistant/dialog`;
|
|
3
4
|
var meta = {
|
|
4
5
|
id: AUTOMATION_PLUGIN,
|
|
5
6
|
name: "Automation",
|
|
@@ -13,6 +14,7 @@ var meta = {
|
|
|
13
14
|
|
|
14
15
|
export {
|
|
15
16
|
AUTOMATION_PLUGIN,
|
|
17
|
+
ASSISTANT_DIALOG,
|
|
16
18
|
meta
|
|
17
19
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-HZSTXZWK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const AUTOMATION_PLUGIN = 'dxos.org/plugin/automation';\n\nexport const ASSISTANT_DIALOG = `${AUTOMATION_PLUGIN}/assistant/dialog`;\n\nexport const meta = {\n id: AUTOMATION_PLUGIN,\n name: 'Automation',\n description:\n 'The Automation tab allows you to trigger pre-defined workflows related to the element you are interacting with inside of Composer.',\n icon: 'ph--magic-wand--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-automation',\n tags: ['experimental'],\n} satisfies PluginMeta;\n"],
|
|
5
|
+
"mappings": ";AAMO,IAAMA,oBAAoB;AAE1B,IAAMC,mBAAmB,GAAGD,iBAAAA;AAE5B,IAAME,OAAO;EAClBC,IAAIH;EACJI,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
|
|
6
|
+
"names": ["AUTOMATION_PLUGIN", "ASSISTANT_DIALOG", "meta", "id", "name", "description", "icon", "source", "tags"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AUTOMATION_PLUGIN
|
|
3
|
+
} from "./chunk-HZSTXZWK.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/experimental/plugin-automation/src/types/registry.ts
|
|
6
|
+
var categoryIcons = {
|
|
7
|
+
finance: "ph--bank--regular",
|
|
8
|
+
health: "ph--heart--regular",
|
|
9
|
+
geolocation: "ph--globe-simple--regular",
|
|
10
|
+
education: "ph--books--regular",
|
|
11
|
+
entertainment: "ph--music-notes--regular",
|
|
12
|
+
shopping: "ph--shopping-cart--regular",
|
|
13
|
+
travel: "ph--airplane-takeoff--regular",
|
|
14
|
+
utilities: "ph--lightning--regular",
|
|
15
|
+
weather: "ph--cloud-rain--regular"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// packages/plugins/experimental/plugin-automation/src/types/schema.ts
|
|
19
|
+
import { ComputeGraph } from "@dxos/conductor";
|
|
20
|
+
import { Expando, Ref, S, TypedObject } from "@dxos/echo-schema";
|
|
21
|
+
import { FunctionType } from "@dxos/functions";
|
|
22
|
+
var ChainInputType;
|
|
23
|
+
(function(ChainInputType2) {
|
|
24
|
+
ChainInputType2[ChainInputType2["VALUE"] = 0] = "VALUE";
|
|
25
|
+
ChainInputType2[ChainInputType2["PASS_THROUGH"] = 1] = "PASS_THROUGH";
|
|
26
|
+
ChainInputType2[ChainInputType2["RETRIEVER"] = 2] = "RETRIEVER";
|
|
27
|
+
ChainInputType2[ChainInputType2["FUNCTION"] = 3] = "FUNCTION";
|
|
28
|
+
ChainInputType2[ChainInputType2["QUERY"] = 4] = "QUERY";
|
|
29
|
+
ChainInputType2[ChainInputType2["RESOLVER"] = 5] = "RESOLVER";
|
|
30
|
+
ChainInputType2[ChainInputType2["CONTEXT"] = 6] = "CONTEXT";
|
|
31
|
+
ChainInputType2[ChainInputType2["SCHEMA"] = 7] = "SCHEMA";
|
|
32
|
+
})(ChainInputType || (ChainInputType = {}));
|
|
33
|
+
var ChainInputSchema = S.mutable(S.Struct({
|
|
34
|
+
name: S.String,
|
|
35
|
+
type: S.optional(S.Enums(ChainInputType)),
|
|
36
|
+
value: S.optional(S.String)
|
|
37
|
+
}));
|
|
38
|
+
var ChainPromptType = class extends TypedObject({
|
|
39
|
+
typename: "dxos.org/type/ChainPrompt",
|
|
40
|
+
version: "0.1.0"
|
|
41
|
+
})({
|
|
42
|
+
command: S.optional(S.String),
|
|
43
|
+
template: S.String,
|
|
44
|
+
inputs: S.optional(S.mutable(S.Array(ChainInputSchema)))
|
|
45
|
+
}) {
|
|
46
|
+
};
|
|
47
|
+
var ChainType = class extends TypedObject({
|
|
48
|
+
typename: "dxos.org/type/Chain",
|
|
49
|
+
version: "0.1.0"
|
|
50
|
+
})({
|
|
51
|
+
name: S.optional(S.String),
|
|
52
|
+
prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType))))
|
|
53
|
+
}) {
|
|
54
|
+
};
|
|
55
|
+
var AIChatType = class extends TypedObject({
|
|
56
|
+
typename: "dxos.org/type/AIChat",
|
|
57
|
+
version: "0.1.0"
|
|
58
|
+
})({
|
|
59
|
+
name: S.optional(S.String),
|
|
60
|
+
// TODO(wittjosiah): Should be a ref to a Queue.
|
|
61
|
+
queue: Ref(Expando)
|
|
62
|
+
}) {
|
|
63
|
+
};
|
|
64
|
+
var ApiAuthorizationKey = S.Struct({
|
|
65
|
+
type: S.Literal("api-key"),
|
|
66
|
+
key: S.String,
|
|
67
|
+
placement: S.Union(S.Struct({
|
|
68
|
+
type: S.Literal("authorization-header")
|
|
69
|
+
}), S.Struct({
|
|
70
|
+
type: S.Literal("query"),
|
|
71
|
+
name: S.String
|
|
72
|
+
}))
|
|
73
|
+
});
|
|
74
|
+
var ApiAuthorizationOauth = S.Struct({
|
|
75
|
+
type: S.Literal("oauth"),
|
|
76
|
+
clientId: S.String,
|
|
77
|
+
clientSecret: S.String,
|
|
78
|
+
tokenUrl: S.String,
|
|
79
|
+
grantType: S.String
|
|
80
|
+
});
|
|
81
|
+
var ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
|
|
82
|
+
var ServiceInterfaceFunction = S.Struct({
|
|
83
|
+
kind: S.Literal("function"),
|
|
84
|
+
fn: Ref(FunctionType)
|
|
85
|
+
});
|
|
86
|
+
var ServiceInterfaceWorkflow = S.Struct({
|
|
87
|
+
kind: S.Literal("workflow"),
|
|
88
|
+
workflow: Ref(ComputeGraph)
|
|
89
|
+
});
|
|
90
|
+
var ServiceInterfaceApi = S.Struct({
|
|
91
|
+
kind: S.Literal("api"),
|
|
92
|
+
/**
|
|
93
|
+
* URL to fetch the openapi schema.
|
|
94
|
+
*/
|
|
95
|
+
schemaUrl: S.optional(S.String),
|
|
96
|
+
/**
|
|
97
|
+
* Inlined openapi schema.
|
|
98
|
+
*/
|
|
99
|
+
schema: S.optional(S.Any),
|
|
100
|
+
/**
|
|
101
|
+
* Authorization configuration if required.
|
|
102
|
+
*/
|
|
103
|
+
authorization: S.optional(ApiAuthorization)
|
|
104
|
+
});
|
|
105
|
+
var ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
|
|
106
|
+
var ServiceType = class extends TypedObject({
|
|
107
|
+
typename: "dxos.org/type/ServiceType",
|
|
108
|
+
version: "0.1.0"
|
|
109
|
+
})({
|
|
110
|
+
serviceId: S.String,
|
|
111
|
+
name: S.optional(S.String),
|
|
112
|
+
description: S.optional(S.String),
|
|
113
|
+
category: S.optional(S.String),
|
|
114
|
+
enabled: S.optional(S.Boolean),
|
|
115
|
+
/**
|
|
116
|
+
* Entries exposed: functions, workflows, and APIs.
|
|
117
|
+
*/
|
|
118
|
+
interfaces: S.optional(S.Array(ServiceInterface))
|
|
119
|
+
}) {
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// packages/plugins/experimental/plugin-automation/src/types/types.ts
|
|
123
|
+
import { S as S2 } from "@dxos/echo-schema";
|
|
124
|
+
var AutomationAction;
|
|
125
|
+
(function(AutomationAction2) {
|
|
126
|
+
const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;
|
|
127
|
+
class CreateChat extends S2.TaggedClass()(`${AUTOMATION_ACTION}/create-chat`, {
|
|
128
|
+
input: S2.Struct({
|
|
129
|
+
spaceId: S2.optional(S2.String),
|
|
130
|
+
name: S2.optional(S2.String)
|
|
131
|
+
}),
|
|
132
|
+
output: S2.Struct({
|
|
133
|
+
object: AIChatType
|
|
134
|
+
})
|
|
135
|
+
}) {
|
|
136
|
+
}
|
|
137
|
+
AutomationAction2.CreateChat = CreateChat;
|
|
138
|
+
})(AutomationAction || (AutomationAction = {}));
|
|
139
|
+
|
|
140
|
+
export {
|
|
141
|
+
categoryIcons,
|
|
142
|
+
ChainInputType,
|
|
143
|
+
ChainInputSchema,
|
|
144
|
+
ChainPromptType,
|
|
145
|
+
ChainType,
|
|
146
|
+
AIChatType,
|
|
147
|
+
ApiAuthorization,
|
|
148
|
+
ServiceType,
|
|
149
|
+
AutomationAction
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=chunk-L2YLAKCS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/registry.ts", "../../../src/types/schema.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ServiceType } from './schema';\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 { ComputeGraph } from '@dxos/conductor';\nimport { Expando, Ref, S, TypedObject, type Ref$ } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\n// TODO(burdon): Change to S.Literal (and discriminated union).\nexport enum ChainInputType {\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 ChainInputSchema = S.mutable(\n S.Struct({\n name: S.String,\n type: S.optional(S.Enums(ChainInputType)),\n value: S.optional(S.String),\n }),\n);\n\nexport type ChainInput = S.Schema.Type<typeof ChainInputSchema>;\n\nexport class ChainPromptType extends TypedObject({ typename: 'dxos.org/type/ChainPrompt', version: '0.1.0' })({\n command: S.optional(S.String),\n template: S.String,\n inputs: S.optional(S.mutable(S.Array(ChainInputSchema))),\n}) {}\n\nexport class ChainType extends TypedObject({ typename: 'dxos.org/type/Chain', version: '0.1.0' })({\n name: S.optional(S.String),\n prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType)))),\n}) {}\n\nexport class AIChatType extends TypedObject({ typename: 'dxos.org/type/AIChat', version: '0.1.0' })({\n name: S.optional(S.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}) {}\n\nconst ApiAuthorizationKey = S.Struct({\n type: S.Literal('api-key'),\n key: S.String,\n placement: S.Union(\n S.Struct({\n type: S.Literal('authorization-header'),\n }),\n S.Struct({\n type: S.Literal('query'),\n name: S.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = S.Struct({\n type: S.Literal('oauth'),\n clientId: S.String,\n clientSecret: S.String,\n tokenUrl: S.String,\n grantType: S.String,\n});\n\nexport const ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = S.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = S.Struct({\n kind: S.Literal('function'),\n fn: Ref(FunctionType) as Ref$<FunctionType>,\n});\n\nconst ServiceInterfaceWorkflow = S.Struct({\n kind: S.Literal('workflow'),\n workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,\n});\n\nconst ServiceInterfaceApi = S.Struct({\n kind: S.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: S.optional(S.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: S.optional(S.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: S.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = S.Schema.Type<typeof ServiceInterface>;\n\n// export const ServiceType = S.Struct({\n// serviceId: S.String,\n// name: S.optional(S.String),\n// description: S.optional(S.String),\n// category: S.optional(S.String),\n// enabled: S.optional(S.Boolean),\n\n// /**\n// * Entries exposed: functions, workflows, and APIs.\n// */\n// interfaces: S.optional(S.Array(ServiceInterface)),\n// }).pipe(EchoObject('dxos.org/type/Service', '0.1.0'));\n// dxn:type:dxos.org/type/Service\n\n// export type ServiceType = S.Schema.Type<typeof ServiceType>;\n\nexport class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({\n serviceId: S.String,\n name: S.optional(S.String),\n description: S.optional(S.String),\n category: S.optional(S.String),\n enabled: S.optional(S.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: S.optional(S.Array(ServiceInterface)),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { AIChatType } from './schema';\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport namespace AutomationAction {\n const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;\n\n export class CreateChat extends S.TaggedClass<CreateChat>()(`${AUTOMATION_ACTION}/create-chat`, {\n input: S.Struct({\n spaceId: S.optional(S.String),\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: AIChatType,\n }),\n }) {}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "ComputeGraph", "Expando", "Ref", "S", "TypedObject", "FunctionType", "ChainInputType", "ChainInputSchema", "S", "mutable", "Struct", "name", "String", "type", "optional", "Enums", "value", "ChainPromptType", "TypedObject", "typename", "version", "command", "template", "inputs", "Array", "ChainType", "prompts", "Ref", "AIChatType", "queue", "Expando", "ApiAuthorizationKey", "Literal", "key", "placement", "Union", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "S", "AutomationAction", "AUTOMATION_ACTION", "AUTOMATION_PLUGIN", "CreateChat", "S", "TaggedClass", "input", "Struct", "spaceId", "optional", "String", "name", "output", "object", "AIChatType"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
1
|
import {
|
|
3
2
|
AUTOMATION_PLUGIN
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HZSTXZWK.mjs";
|
|
5
4
|
|
|
6
5
|
// packages/plugins/experimental/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx
|
|
7
6
|
import React2, { useState as useState2 } from "react";
|
|
@@ -14,7 +13,8 @@ import { List } from "@dxos/react-ui-list";
|
|
|
14
13
|
import { ghostHover, mx } from "@dxos/react-ui-theme";
|
|
15
14
|
|
|
16
15
|
// packages/plugins/experimental/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx
|
|
17
|
-
import React, { useState } from "react";
|
|
16
|
+
import React, { useEffect, useState } from "react";
|
|
17
|
+
import { ComputeGraph } from "@dxos/conductor";
|
|
18
18
|
import { FunctionType, FunctionTriggerSchema, ScriptType, TriggerKind } from "@dxos/functions";
|
|
19
19
|
import { Filter, useQuery } from "@dxos/react-client/echo";
|
|
20
20
|
import { IconButton, Input, useTranslation } from "@dxos/react-ui";
|
|
@@ -22,6 +22,7 @@ import { Form, SelectInput, TextInput } from "@dxos/react-ui-form";
|
|
|
22
22
|
var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
|
|
23
23
|
const { t } = useTranslation(AUTOMATION_PLUGIN);
|
|
24
24
|
const functions = useQuery(space, Filter.schema(FunctionType));
|
|
25
|
+
const workflows = useQuery(space, Filter.schema(ComputeGraph));
|
|
25
26
|
const scripts = useQuery(space, Filter.schema(ScriptType));
|
|
26
27
|
const handleSave = (values) => {
|
|
27
28
|
onSave?.(values);
|
|
@@ -34,10 +35,7 @@ var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
|
|
|
34
35
|
Custom: {
|
|
35
36
|
["function"]: (props) => /* @__PURE__ */ React.createElement(SelectInput, {
|
|
36
37
|
...props,
|
|
37
|
-
options:
|
|
38
|
-
value: fn.name,
|
|
39
|
-
label: getFunctionName(scripts, fn)
|
|
40
|
-
}))
|
|
38
|
+
options: getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))
|
|
41
39
|
}),
|
|
42
40
|
["spec.type"]: (props) => /* @__PURE__ */ React.createElement(SelectInput, {
|
|
43
41
|
...props,
|
|
@@ -48,10 +46,10 @@ var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
|
|
|
48
46
|
}),
|
|
49
47
|
["meta"]: (props) => {
|
|
50
48
|
const meta = props.getValue();
|
|
51
|
-
|
|
52
|
-
React.useEffect(() => props.onValueChange("object", {
|
|
49
|
+
useEffect(() => props.onValueChange("object", {
|
|
53
50
|
...meta
|
|
54
51
|
}), []);
|
|
52
|
+
const [newMetaFieldName, setNewMetaFieldName] = useState("");
|
|
55
53
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", null, props.label), [
|
|
56
54
|
...Object.keys(meta)
|
|
57
55
|
].map((key) => {
|
|
@@ -65,6 +63,7 @@ var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
|
|
|
65
63
|
className: "flex-1"
|
|
66
64
|
}, /* @__PURE__ */ React.createElement(TextInput, {
|
|
67
65
|
...props,
|
|
66
|
+
getValue: () => props.getValue()[key],
|
|
68
67
|
type: "string",
|
|
69
68
|
label: key
|
|
70
69
|
})), /* @__PURE__ */ React.createElement(IconButton, {
|
|
@@ -110,8 +109,18 @@ var TriggerEditor = ({ space, trigger, onSave, onCancel }) => {
|
|
|
110
109
|
}
|
|
111
110
|
});
|
|
112
111
|
};
|
|
113
|
-
var
|
|
114
|
-
return
|
|
112
|
+
var getWorkflowOptions = (graphs) => {
|
|
113
|
+
return graphs.map((graph) => ({
|
|
114
|
+
label: `compute-${graph.id}`,
|
|
115
|
+
value: `dxn:echo:@:${graph.id}`
|
|
116
|
+
}));
|
|
117
|
+
};
|
|
118
|
+
var getFunctionOptions = (scripts, functions) => {
|
|
119
|
+
const getLabel = (fn) => scripts.find((s) => fn.source?.target?.id === s.id)?.name ?? fn.name;
|
|
120
|
+
return functions.map((fn) => ({
|
|
121
|
+
label: getLabel(fn),
|
|
122
|
+
value: `dxn:worker:${fn.name}`
|
|
123
|
+
}));
|
|
115
124
|
};
|
|
116
125
|
|
|
117
126
|
// packages/plugins/experimental/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx
|
|
@@ -175,7 +184,7 @@ var AutomationPanel = ({ space, object }) => {
|
|
|
175
184
|
}, /* @__PURE__ */ React2.createElement(List.ItemTitle, {
|
|
176
185
|
classNames: "px-1 cursor-pointer w-0 shrink truncate",
|
|
177
186
|
onClick: () => handleSelect(trigger2)
|
|
178
|
-
},
|
|
187
|
+
}, getFunctionName(scripts, functions, trigger2) ?? "\u2205"), copyAction && /* @__PURE__ */ React2.createElement(Button, {
|
|
179
188
|
onClick: () => navigator.clipboard.writeText(copyAction.contentProvider())
|
|
180
189
|
}, t(copyAction.translationKey))), /* @__PURE__ */ React2.createElement(List.ItemDeleteButton, {
|
|
181
190
|
onClick: () => handleDelete(trigger2)
|
|
@@ -215,7 +224,7 @@ var getWebhookUrl = (client, trigger) => {
|
|
|
215
224
|
edgeUrl.protocol = isSecure ? "https" : "http";
|
|
216
225
|
return new URL(`/webhook/${spaceId}:${trigger.id}`, edgeUrl).toString();
|
|
217
226
|
};
|
|
218
|
-
var
|
|
227
|
+
var getFunctionName = (scripts, functions, trigger) => {
|
|
219
228
|
const shortId = trigger.function && `${trigger.function?.slice(0, 16)}\u2026`;
|
|
220
229
|
const functionObject = functions.find((fn) => fn.name === trigger.function);
|
|
221
230
|
if (!functionObject) {
|
|
@@ -226,7 +235,9 @@ var getFunctionName2 = (scripts, functions, trigger) => {
|
|
|
226
235
|
|
|
227
236
|
// packages/plugins/experimental/plugin-automation/src/components/AutomationPanel/index.ts
|
|
228
237
|
var AutomationPanel_default = AutomationPanel;
|
|
238
|
+
|
|
229
239
|
export {
|
|
230
|
-
|
|
240
|
+
TriggerEditor,
|
|
241
|
+
AutomationPanel_default
|
|
231
242
|
};
|
|
232
|
-
//# sourceMappingURL=
|
|
243
|
+
//# sourceMappingURL=chunk-LJ7F4KDM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/AutomationPanel/AutomationPanel.tsx", "../../../src/components/TriggerEditor/TriggerEditor.tsx", "../../../src/components/AutomationPanel/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { S } from '@dxos/echo-schema';\nimport {\n FunctionType,\n FunctionTrigger,\n FunctionTriggerSchema,\n TriggerKind,\n type FunctionTriggerType,\n ScriptType,\n} from '@dxos/functions';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { create, Filter, useQuery, type Space, type ReactiveObject, getSpace } from '@dxos/react-client/echo';\nimport { IconButton, Input, useTranslation, Button } from '@dxos/react-ui';\nimport { List } from '@dxos/react-ui-list';\nimport { ghostHover, mx } from '@dxos/react-ui-theme';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { TriggerEditor, type TriggerEditorProps } from '../TriggerEditor';\n\nconst grid = 'grid grid-cols-[40px_1fr_32px] min-bs-[2.5rem]';\n\nexport type AutomationPanelProps = {\n space: Space;\n object?: ReactiveObject<any>;\n};\n\n// TODO(burdon): Factor out common layout with ViewEditor.\nexport const AutomationPanel = ({ space, object }: AutomationPanelProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const client = useClient();\n const triggers = useQuery(space, Filter.schema(FunctionTrigger));\n const functions = useQuery(space, Filter.schema(FunctionType));\n const scripts = useQuery(space, Filter.schema(ScriptType));\n\n const [trigger, setTrigger] = useState<FunctionTriggerType>();\n const [selected, setSelected] = useState<FunctionTrigger>();\n\n const handleSelect = (trigger: FunctionTrigger) => {\n const { id: _, ...values } = trigger;\n setTrigger(values);\n setSelected(trigger);\n };\n\n const handleAdd = () => {\n setTrigger(create(FunctionTriggerSchema, { meta: {} }));\n setSelected(undefined);\n };\n\n const handleDelete = (trigger: FunctionTrigger) => {\n space.db.remove(trigger);\n setTrigger(undefined);\n setSelected(undefined);\n };\n\n const handleSave: TriggerEditorProps['onSave'] = (trigger) => {\n if (selected) {\n Object.assign(selected, trigger);\n } else {\n space.db.add(create(FunctionTrigger, trigger));\n }\n\n setTrigger(undefined);\n setSelected(undefined);\n };\n\n const handleCancel: TriggerEditorProps['onCancel'] = () => {\n setTrigger(undefined);\n };\n\n return (\n <div className='flex flex-col w-full divide-y divide-separator overflow-y-auto'>\n <List.Root<FunctionTrigger> items={triggers} isItem={S.is(FunctionTrigger)} getId={(field) => field.id}>\n {({ items: triggers }) => (\n <div role='list' className='flex flex-col w-full'>\n {triggers?.map((trigger) => {\n const copyAction = getCopyAction(client, trigger);\n return (\n <List.Item<FunctionTrigger>\n key={trigger.id}\n item={trigger}\n classNames={mx(grid, ghostHover, 'items-center', 'px-2')}\n >\n <Input.Root>\n <Input.Switch\n checked={trigger.enabled}\n onCheckedChange={(checked) => (trigger.enabled = checked)}\n />\n </Input.Root>\n\n <div className={'flex'}>\n <List.ItemTitle\n classNames='px-1 cursor-pointer w-0 shrink truncate'\n onClick={() => handleSelect(trigger)}\n >\n {getFunctionName(scripts, functions, trigger) ?? '∅'}\n </List.ItemTitle>\n\n {/* TODO: a better way to expose copy action */}\n {copyAction && (\n <Button onClick={() => navigator.clipboard.writeText(copyAction.contentProvider())}>\n {t(copyAction.translationKey)}\n </Button>\n )}\n </div>\n\n <List.ItemDeleteButton onClick={() => handleDelete(trigger)} />\n </List.Item>\n );\n })}\n </div>\n )}\n </List.Root>\n\n {trigger && <TriggerEditor space={space} trigger={trigger} onSave={handleSave} onCancel={handleCancel} />}\n\n {!trigger && (\n <div className='flex p-2 justify-center'>\n <IconButton icon='ph--plus--regular' label={t('new trigger')} onClick={handleAdd} />\n </div>\n )}\n </div>\n );\n};\n\nconst getCopyAction = (client: Client, trigger: FunctionTrigger | undefined) => {\n if (trigger?.spec?.type === TriggerKind.Email) {\n return { translationKey: 'trigger copy email', contentProvider: () => `${getSpace(trigger)!.id}@dxos.network` };\n }\n\n if (trigger?.spec?.type === TriggerKind.Webhook) {\n return { translationKey: 'trigger copy url', contentProvider: () => getWebhookUrl(client, trigger) };\n }\n\n return undefined;\n};\n\nconst getWebhookUrl = (client: Client, trigger: FunctionTrigger) => {\n const spaceId = getSpace(trigger)!.id;\n const edgeUrl = new URL(client.config.values.runtime!.services!.edge!.url!);\n const isSecure = edgeUrl.protocol.startsWith('https') || edgeUrl.protocol.startsWith('wss');\n edgeUrl.protocol = isSecure ? 'https' : 'http';\n return new URL(`/webhook/${spaceId}:${trigger.id}`, edgeUrl).toString();\n};\n\nconst getFunctionName = (scripts: ScriptType[], functions: FunctionType[], trigger: FunctionTriggerType) => {\n const shortId = trigger.function && `${trigger.function?.slice(0, 16)}…`;\n const functionObject = functions.find((fn) => fn.name === trigger.function);\n if (!functionObject) {\n return shortId;\n }\n return scripts.find((s) => functionObject.source?.target?.id === s.id)?.name ?? shortId;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport {\n FunctionType,\n FunctionTriggerSchema,\n type FunctionTriggerType,\n type FunctionTrigger,\n ScriptType,\n TriggerKind,\n} from '@dxos/functions';\nimport { Filter, useQuery, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, useTranslation } from '@dxos/react-ui';\nimport { Form, SelectInput, TextInput } from '@dxos/react-ui-form';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\n\nexport type TriggerEditorProps = {\n space: Space;\n trigger: FunctionTriggerType;\n onSave?: (trigger: Omit<FunctionTrigger, 'id'>) => void;\n onCancel?: () => void;\n};\n\nexport const TriggerEditor = ({ space, trigger, onSave, onCancel }: TriggerEditorProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n\n const functions = useQuery(space, Filter.schema(FunctionType));\n const workflows = useQuery(space, Filter.schema(ComputeGraph));\n const scripts = useQuery(space, Filter.schema(ScriptType));\n\n const handleSave = (values: FunctionTriggerType) => {\n onSave?.(values);\n };\n\n return (\n <Form<FunctionTriggerType>\n schema={FunctionTriggerSchema}\n values={trigger}\n onSave={handleSave}\n onCancel={onCancel}\n Custom={{\n ['function' satisfies keyof FunctionTriggerType]: (props) => (\n <SelectInput\n {...props}\n options={getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))}\n />\n ),\n ['spec.type' as const]: (props) => (\n <SelectInput\n {...props}\n options={Object.values(TriggerKind).map((kind) => ({\n value: kind,\n label: t(`trigger type ${kind}`),\n }))}\n />\n ),\n ['meta' as const]: (props) => {\n const meta = props.getValue()!;\n useEffect(() => props.onValueChange('object', { ...meta }), []);\n const [newMetaFieldName, setNewMetaFieldName] = useState('');\n\n return (\n <>\n <div>{props.label}</div>\n {[...Object.keys(meta)].map((key) => {\n const compositeKey: any = `meta.${key}`;\n return (\n <div key={compositeKey} role='none' className='flex items-center mt-2 gap-1'>\n <div role='none' className='flex-1'>\n <TextInput\n {...props}\n getValue={() => (props.getValue() as any)[key]}\n type={'string'}\n label={key}\n />\n </div>\n <IconButton\n icon='ph--trash--regular'\n iconOnly\n classNames={'mt-6'}\n label={t('trigger meta remove')}\n onClick={() => {\n const newValues: any = { ...props.getValue() };\n delete newValues[key];\n props.onValueChange('object', newValues);\n }}\n />\n </div>\n );\n })}\n <div role='none' className='flex items-center mt-2 gap-1 plb-1'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.TextInput\n placeholder={t('trigger meta prop name placeholder')}\n value={newMetaFieldName}\n onChange={(event) => setNewMetaFieldName(event.target.value)}\n />\n </Input.Root>\n </div>\n <IconButton\n icon='ph--plus--regular'\n iconOnly\n label={t('trigger meta add')}\n onClick={() => {\n if (newMetaFieldName.length) {\n const meta = props.getValue() ?? {};\n const metaWithNewProp = { ...meta, [newMetaFieldName]: '' };\n setNewMetaFieldName('');\n props.onValueChange('object', metaWithNewProp);\n }\n }}\n />\n </div>\n </>\n );\n },\n }}\n />\n );\n};\n\nconst getWorkflowOptions = (graphs: ComputeGraph[]) => {\n return graphs.map((graph) => ({ label: `compute-${graph.id}`, value: `dxn:echo:@:${graph.id}` }));\n};\n\nconst getFunctionOptions = (scripts: ScriptType[], functions: FunctionType[]) => {\n const getLabel = (fn: FunctionType) => scripts.find((s) => fn.source?.target?.id === s.id)?.name ?? fn.name;\n return functions.map((fn) => ({ label: getLabel(fn), value: `dxn:worker:${fn.name}` }));\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { AutomationPanel } from './AutomationPanel';\n\nexport default AutomationPanel;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useState", "S", "FunctionType", "FunctionTrigger", "FunctionTriggerSchema", "TriggerKind", "ScriptType", "useClient", "create", "Filter", "useQuery", "getSpace", "IconButton", "Input", "useTranslation", "Button", "List", "ghostHover", "mx", "React", "useEffect", "useState", "ComputeGraph", "FunctionType", "FunctionTriggerSchema", "ScriptType", "TriggerKind", "Filter", "useQuery", "IconButton", "Input", "useTranslation", "Form", "SelectInput", "TextInput", "TriggerEditor", "space", "trigger", "onSave", "onCancel", "t", "useTranslation", "AUTOMATION_PLUGIN", "functions", "useQuery", "Filter", "schema", "FunctionType", "workflows", "ComputeGraph", "scripts", "ScriptType", "handleSave", "values", "Form", "FunctionTriggerSchema", "Custom", "props", "SelectInput", "options", "getWorkflowOptions", "concat", "getFunctionOptions", "Object", "TriggerKind", "map", "kind", "value", "label", "meta", "getValue", "useEffect", "onValueChange", "newMetaFieldName", "setNewMetaFieldName", "useState", "div", "keys", "key", "compositeKey", "role", "className", "TextInput", "type", "IconButton", "icon", "iconOnly", "classNames", "onClick", "newValues", "Input", "Root", "placeholder", "onChange", "event", "target", "length", "metaWithNewProp", "graphs", "graph", "id", "getLabel", "fn", "find", "s", "source", "name", "grid", "AutomationPanel", "space", "object", "t", "useTranslation", "AUTOMATION_PLUGIN", "client", "useClient", "triggers", "useQuery", "Filter", "schema", "FunctionTrigger", "functions", "FunctionType", "scripts", "ScriptType", "trigger", "setTrigger", "useState", "selected", "setSelected", "handleSelect", "id", "_", "values", "handleAdd", "create", "FunctionTriggerSchema", "meta", "undefined", "handleDelete", "db", "remove", "handleSave", "Object", "assign", "add", "handleCancel", "React", "div", "className", "List", "Root", "items", "isItem", "S", "is", "getId", "field", "role", "map", "copyAction", "getCopyAction", "Item", "key", "item", "classNames", "mx", "ghostHover", "Input", "Switch", "checked", "enabled", "onCheckedChange", "ItemTitle", "onClick", "getFunctionName", "Button", "navigator", "clipboard", "writeText", "contentProvider", "translationKey", "ItemDeleteButton", "TriggerEditor", "onSave", "onCancel", "IconButton", "icon", "label", "spec", "type", "TriggerKind", "Email", "getSpace", "Webhook", "getWebhookUrl", "spaceId", "edgeUrl", "URL", "config", "runtime", "services", "edge", "url", "isSecure", "protocol", "startsWith", "toString", "shortId", "function", "slice", "functionObject", "find", "fn", "name", "s", "source", "target", "AutomationPanel"]
|
|
7
|
+
}
|