@dxos/plugin-automation 0.8.4-main.ead640a → 0.8.4-main.effb148878
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/AutomationPanel-OS3ZWYJK.mjs +12 -0
- package/dist/lib/neutral/AutomationPlugin.mjs +10 -0
- package/dist/lib/neutral/AutomationPlugin.node.mjs +1118 -0
- package/dist/lib/neutral/AutomationPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/AutomationPlugin.workerd.mjs +23 -0
- package/dist/lib/neutral/AutomationPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/AutomationSettings-CAFY3J7H.mjs +32 -0
- package/dist/lib/neutral/AutomationSettings-CAFY3J7H.mjs.map +7 -0
- package/dist/lib/neutral/FunctionsContainer-V5AM45ZI.mjs +38 -0
- package/dist/lib/neutral/FunctionsContainer-V5AM45ZI.mjs.map +7 -0
- package/dist/lib/neutral/FunctionsPanel-L32Z67B7.mjs +97 -0
- package/dist/lib/neutral/FunctionsPanel-L32Z67B7.mjs.map +7 -0
- package/dist/lib/neutral/FunctionsRegistry-RTCY3LXE.mjs +95 -0
- package/dist/lib/neutral/FunctionsRegistry-RTCY3LXE.mjs.map +7 -0
- package/dist/lib/neutral/TriggerSettings-XCHIZPOR.mjs +9 -0
- package/dist/lib/neutral/app-graph-builder-4QOUKY5L.mjs +75 -0
- package/dist/lib/neutral/app-graph-builder-4QOUKY5L.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +17 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/node.mjs +15 -0
- package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
- package/dist/lib/neutral/chunk-2H6X4VQY.mjs +435 -0
- package/dist/lib/neutral/chunk-2H6X4VQY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-2JP77CMN.mjs +42 -0
- package/dist/lib/neutral/chunk-2JP77CMN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-33VXVTV4.mjs +38 -0
- package/dist/lib/neutral/chunk-33VXVTV4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ARUHHM4Q.mjs +12 -0
- package/dist/lib/neutral/chunk-ARUHHM4Q.mjs.map +7 -0
- package/dist/lib/neutral/chunk-CMM3AFHR.mjs +111 -0
- package/dist/lib/neutral/chunk-CMM3AFHR.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EBSOLOP6.mjs +8 -0
- package/dist/lib/neutral/chunk-EBSOLOP6.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-KV7RZLFS.mjs +344 -0
- package/dist/lib/neutral/chunk-KV7RZLFS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QLBA6Y46.mjs +39 -0
- package/dist/lib/neutral/chunk-QLBA6Y46.mjs.map +7 -0
- package/dist/lib/neutral/chunk-XC5EPVE3.mjs +76 -0
- package/dist/lib/neutral/chunk-XC5EPVE3.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +16 -0
- package/dist/lib/neutral/containers/index.mjs +13 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-trigger-from-template-IOQZDDSH.mjs +68 -0
- package/dist/lib/neutral/create-trigger-from-template-IOQZDDSH.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +10 -0
- package/dist/lib/neutral/index.mjs +16 -0
- package/dist/lib/neutral/layer-specs-B22CIT3U.mjs +160 -0
- package/dist/lib/neutral/layer-specs-B22CIT3U.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs +13 -0
- package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-3OGMAMKV.mjs +57 -0
- package/dist/lib/neutral/react-surface-3OGMAMKV.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +8 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +60 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/trigger-runtime-controller-BOEJYGWC.mjs +77 -0
- package/dist/lib/neutral/trigger-runtime-controller-BOEJYGWC.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +12 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/AutomationPlugin.d.ts +3 -1
- package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
- package/dist/types/src/AutomationPlugin.node.d.ts +4 -0
- package/dist/types/src/AutomationPlugin.node.d.ts.map +1 -0
- package/dist/types/src/AutomationPlugin.test.d.ts +2 -0
- package/dist/types/src/AutomationPlugin.test.d.ts.map +1 -0
- package/dist/types/src/AutomationPlugin.workerd.d.ts +4 -0
- package/dist/types/src/AutomationPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +7 -5
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/layer-specs.d.ts +5 -0
- package/dist/types/src/capabilities/layer-specs.d.ts.map +1 -0
- package/dist/types/src/capabilities/node.d.ts +7 -0
- package/dist/types/src/capabilities/node.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/trigger-runtime-controller.d.ts +5 -0
- package/dist/types/src/capabilities/trigger-runtime-controller.d.ts.map +1 -0
- package/dist/types/src/capabilities/trigger-runtime-controller.test.d.ts +2 -0
- package/dist/types/src/capabilities/trigger-runtime-controller.test.d.ts.map +1 -0
- package/dist/types/src/commands/index.d.ts +2 -0
- package/dist/types/src/commands/index.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/create/index.d.ts +25 -0
- package/dist/types/src/commands/trigger/create/index.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/create/queue.d.ts +13 -0
- package/dist/types/src/commands/trigger/create/queue.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/create/subscription.d.ts +15 -0
- package/dist/types/src/commands/trigger/create/subscription.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/create/timer.d.ts +13 -0
- package/dist/types/src/commands/trigger/create/timer.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/index.d.ts +57 -0
- package/dist/types/src/commands/trigger/index.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/list.d.ts +7 -0
- package/dist/types/src/commands/trigger/list.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/options.d.ts +10 -0
- package/dist/types/src/commands/trigger/options.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/remove.d.ts +8 -0
- package/dist/types/src/commands/trigger/remove.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/update/index.d.ts +28 -0
- package/dist/types/src/commands/trigger/update/index.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/update/queue.d.ts +11 -0
- package/dist/types/src/commands/trigger/update/queue.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/update/subscription.d.ts +13 -0
- package/dist/types/src/commands/trigger/update/subscription.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/update/timer.d.ts +11 -0
- package/dist/types/src/commands/trigger/update/timer.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/util.d.ts +85 -0
- package/dist/types/src/commands/trigger/util.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +6 -7
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
- package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +45 -28
- package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/AutomationPanel/TriggerEdgeMetadata.d.ts +18 -0
- package/dist/types/src/components/AutomationPanel/TriggerEdgeMetadata.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -1
- package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -1
- package/dist/types/src/components/FunctionsPanel/index.d.ts.map +1 -1
- package/dist/types/src/components/FunctionsRegistry/FunctionsRegistry.d.ts +8 -0
- package/dist/types/src/components/FunctionsRegistry/FunctionsRegistry.d.ts.map +1 -0
- package/dist/types/src/components/FunctionsRegistry/index.d.ts +4 -0
- package/dist/types/src/components/FunctionsRegistry/index.d.ts.map +1 -0
- package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +12 -9
- package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts +6 -3
- package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +9 -8
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +118 -30
- package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts +6 -0
- package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts.map +1 -0
- package/dist/types/src/containers/AutomationSettings/index.d.ts +2 -0
- package/dist/types/src/containers/AutomationSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts +4 -0
- package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts.map +1 -0
- package/dist/types/src/containers/FunctionsContainer/index.d.ts +2 -0
- package/dist/types/src/containers/FunctionsContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerSettings/index.d.ts +3 -0
- package/dist/types/src/containers/TriggerSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +5 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useEdgeTriggersDispatcherStatus.d.ts +13 -0
- package/dist/types/src/hooks/useEdgeTriggersDispatcherStatus.d.ts.map +1 -0
- package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +6 -5
- package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-trigger-from-template.d.ts +5 -0
- package/dist/types/src/operations/create-trigger-from-template.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing/test-functions.d.ts +204 -3
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts +2 -0
- package/dist/types/src/testing.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +45 -29
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/AutomationOperation.d.ts +21 -0
- package/dist/types/src/types/AutomationOperation.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +13 -5
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +145 -68
- package/src/AutomationPlugin.node.ts +32 -0
- package/src/AutomationPlugin.test.ts +27 -0
- package/src/AutomationPlugin.tsx +24 -38
- package/src/AutomationPlugin.workerd.ts +18 -0
- package/src/capabilities/app-graph-builder.ts +59 -80
- package/src/capabilities/index.ts +13 -7
- package/src/capabilities/layer-specs.ts +230 -0
- package/src/capabilities/node.ts +17 -0
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +49 -45
- package/src/capabilities/trigger-runtime-controller.test.ts +103 -0
- package/src/capabilities/trigger-runtime-controller.ts +126 -0
- package/src/commands/index.ts +5 -0
- package/src/commands/trigger/create/index.ts +14 -0
- package/src/commands/trigger/create/queue.ts +87 -0
- package/src/commands/trigger/create/subscription.ts +125 -0
- package/src/commands/trigger/create/timer.ts +90 -0
- package/src/commands/trigger/index.ts +16 -0
- package/src/commands/trigger/list.ts +70 -0
- package/src/commands/trigger/options.ts +47 -0
- package/src/commands/trigger/remove.ts +45 -0
- package/src/commands/trigger/update/index.ts +14 -0
- package/src/commands/trigger/update/queue.ts +191 -0
- package/src/commands/trigger/update/subscription.ts +279 -0
- package/src/commands/trigger/update/timer.ts +195 -0
- package/src/commands/trigger/util.ts +410 -0
- package/src/components/AutomationPanel/AutomationPanel.stories.tsx +13 -7
- package/src/components/AutomationPanel/AutomationPanel.tsx +260 -100
- package/src/components/AutomationPanel/TriggerEdgeMetadata.tsx +148 -0
- package/src/components/FunctionsPanel/FunctionsPanel.tsx +43 -35
- package/src/components/FunctionsRegistry/FunctionsRegistry.tsx +119 -0
- package/src/components/FunctionsRegistry/index.ts +8 -0
- package/src/components/TriggerEditor/FunctionInputEditor.tsx +36 -35
- package/src/components/TriggerEditor/SpecSelector.tsx +28 -22
- package/src/components/TriggerEditor/TriggerEditor.stories.tsx +94 -40
- package/src/components/TriggerEditor/TriggerEditor.tsx +173 -56
- package/src/components/index.ts +1 -2
- package/src/containers/AutomationSettings/AutomationSettings.tsx +31 -0
- package/src/containers/AutomationSettings/index.ts +5 -0
- package/src/containers/FunctionsContainer/FunctionsContainer.tsx +33 -0
- package/src/containers/FunctionsContainer/index.ts +5 -0
- package/src/containers/TriggerSettings/TriggerSettings.tsx +48 -0
- package/src/containers/TriggerSettings/index.ts +6 -0
- package/src/containers/index.ts +9 -0
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useEdgeTriggersDispatcherStatus.ts +78 -0
- package/src/hooks/useTriggerRuntimeControls.ts +39 -19
- package/src/index.ts +1 -5
- package/src/meta.ts +28 -6
- package/src/operations/create-trigger-from-template.ts +70 -0
- package/src/operations/index.ts +7 -0
- package/src/plugin.ts +11 -0
- package/src/testing/test-functions.ts +12 -9
- package/src/testing.ts +7 -0
- package/src/translations.ts +53 -34
- package/src/types/AutomationOperation.ts +39 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +6 -6
- package/dist/lib/browser/AutomationPanel-3PHA5FTJ.mjs +0 -11
- package/dist/lib/browser/AutomationSettings-OQERZHTG.mjs +0 -69
- package/dist/lib/browser/AutomationSettings-OQERZHTG.mjs.map +0 -7
- package/dist/lib/browser/FunctionsContainer-V3OM6BFC.mjs +0 -36
- package/dist/lib/browser/FunctionsContainer-V3OM6BFC.mjs.map +0 -7
- package/dist/lib/browser/FunctionsPanel-PTFCCUTB.mjs +0 -10
- package/dist/lib/browser/app-graph-builder-DV5HMFX4.mjs +0 -81
- package/dist/lib/browser/app-graph-builder-DV5HMFX4.mjs.map +0 -7
- package/dist/lib/browser/chunk-2AOFK5FW.mjs +0 -14
- package/dist/lib/browser/chunk-2AOFK5FW.mjs.map +0 -7
- package/dist/lib/browser/chunk-5ARH77PV.mjs +0 -15
- package/dist/lib/browser/chunk-5ARH77PV.mjs.map +0 -7
- package/dist/lib/browser/chunk-DK7R2HNC.mjs +0 -107
- package/dist/lib/browser/chunk-DK7R2HNC.mjs.map +0 -7
- package/dist/lib/browser/chunk-MVPRI3DB.mjs +0 -53
- package/dist/lib/browser/chunk-MVPRI3DB.mjs.map +0 -7
- package/dist/lib/browser/chunk-QACR4BJ7.mjs +0 -14
- package/dist/lib/browser/chunk-QACR4BJ7.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUKAEYF3.mjs +0 -267
- package/dist/lib/browser/chunk-SUKAEYF3.mjs.map +0 -7
- package/dist/lib/browser/chunk-VGBZKM3O.mjs +0 -38
- package/dist/lib/browser/chunk-VGBZKM3O.mjs.map +0 -7
- package/dist/lib/browser/chunk-VL3KSDVL.mjs +0 -183
- package/dist/lib/browser/chunk-VL3KSDVL.mjs.map +0 -7
- package/dist/lib/browser/chunk-WWURMV25.mjs +0 -13
- package/dist/lib/browser/chunk-WWURMV25.mjs.map +0 -7
- package/dist/lib/browser/compute-runtime-YJREH6WP.mjs +0 -160
- package/dist/lib/browser/compute-runtime-YJREH6WP.mjs.map +0 -7
- package/dist/lib/browser/hooks/index.mjs +0 -12
- package/dist/lib/browser/index.mjs +0 -122
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-D2OHKQRR.mjs +0 -77
- package/dist/lib/browser/intent-resolver-D2OHKQRR.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-POLPITTD.mjs +0 -63
- package/dist/lib/browser/react-surface-POLPITTD.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -8
- package/dist/lib/node-esm/AutomationPanel-EETYIR35.mjs +0 -12
- package/dist/lib/node-esm/AutomationSettings-MCB7HK3O.mjs +0 -70
- package/dist/lib/node-esm/AutomationSettings-MCB7HK3O.mjs.map +0 -7
- package/dist/lib/node-esm/FunctionsContainer-UGODP6YP.mjs +0 -37
- package/dist/lib/node-esm/FunctionsContainer-UGODP6YP.mjs.map +0 -7
- package/dist/lib/node-esm/FunctionsPanel-JQFBRVOC.mjs +0 -11
- package/dist/lib/node-esm/app-graph-builder-TR2WXPX2.mjs +0 -82
- package/dist/lib/node-esm/app-graph-builder-TR2WXPX2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5MQJPJR2.mjs +0 -15
- package/dist/lib/node-esm/chunk-5MQJPJR2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AKHETVIQ.mjs +0 -184
- package/dist/lib/node-esm/chunk-AKHETVIQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CJUI6AKX.mjs +0 -39
- package/dist/lib/node-esm/chunk-CJUI6AKX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-G72KHW5A.mjs +0 -108
- package/dist/lib/node-esm/chunk-G72KHW5A.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-J3XEBEIE.mjs +0 -268
- package/dist/lib/node-esm/chunk-J3XEBEIE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LB7UQ4SK.mjs +0 -16
- package/dist/lib/node-esm/chunk-LB7UQ4SK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QCA543ZR.mjs +0 -54
- package/dist/lib/node-esm/chunk-QCA543ZR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TXFXIA34.mjs +0 -16
- package/dist/lib/node-esm/chunk-TXFXIA34.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WHCSOUNN.mjs +0 -16
- package/dist/lib/node-esm/chunk-WHCSOUNN.mjs.map +0 -7
- package/dist/lib/node-esm/compute-runtime-CMEPAYND.mjs +0 -161
- package/dist/lib/node-esm/compute-runtime-CMEPAYND.mjs.map +0 -7
- package/dist/lib/node-esm/hooks/index.mjs +0 -13
- package/dist/lib/node-esm/index.mjs +0 -123
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-2LGBVXT5.mjs +0 -78
- package/dist/lib/node-esm/intent-resolver-2LGBVXT5.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-5ULTTXAZ.mjs +0 -64
- package/dist/lib/node-esm/react-surface-5ULTTXAZ.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -9
- package/dist/types/src/capabilities/capabilities.d.ts +0 -19
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/compute-runtime.d.ts +0 -5
- package/dist/types/src/capabilities/compute-runtime.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/AutomationSettings.d.ts +0 -5
- package/dist/types/src/components/AutomationSettings.d.ts.map +0 -1
- package/dist/types/src/components/FunctionsContainer.d.ts +0 -7
- package/dist/types/src/components/FunctionsContainer.d.ts.map +0 -1
- package/dist/types/src/components/TriggerSettings.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +0 -8
- package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -48
- package/src/capabilities/compute-runtime.ts +0 -138
- package/src/capabilities/intent-resolver.ts +0 -72
- package/src/components/AutomationSettings.tsx +0 -30
- package/src/components/FunctionsContainer.tsx +0 -29
- package/src/components/TriggerSettings.tsx +0 -25
- package/src/events.ts +0 -11
- package/src/hooks/useComputeRuntimeCallback.ts +0 -30
- /package/dist/lib/{browser/AutomationPanel-3PHA5FTJ.mjs.map → neutral/AutomationPanel-OS3ZWYJK.mjs.map} +0 -0
- /package/dist/lib/{browser/FunctionsPanel-PTFCCUTB.mjs.map → neutral/AutomationPlugin.mjs.map} +0 -0
- /package/dist/lib/{browser/hooks/index.mjs.map → neutral/TriggerSettings-XCHIZPOR.mjs.map} +0 -0
- /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/hooks → neutral/components}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/AutomationPanel-EETYIR35.mjs.map → neutral/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm/FunctionsPanel-JQFBRVOC.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/types/src/{components → containers/TriggerSettings}/TriggerSettings.d.ts +0 -0
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import type * as ManagedRuntime from 'effect/ManagedRuntime';
|
|
6
|
-
|
|
7
|
-
import { type AiService, type ToolExecutionService, type ToolResolverService } from '@dxos/ai';
|
|
8
|
-
import { defineCapability } from '@dxos/app-framework';
|
|
9
|
-
import type {
|
|
10
|
-
CredentialsService,
|
|
11
|
-
DatabaseService,
|
|
12
|
-
FunctionInvocationService,
|
|
13
|
-
InvocationTracer,
|
|
14
|
-
QueueService,
|
|
15
|
-
TriggerDispatcher,
|
|
16
|
-
TriggerStateStore,
|
|
17
|
-
} from '@dxos/functions';
|
|
18
|
-
import type { SpaceId } from '@dxos/keys';
|
|
19
|
-
|
|
20
|
-
import { meta } from '../meta';
|
|
21
|
-
|
|
22
|
-
export namespace AutomationCapabilities {
|
|
23
|
-
/**
|
|
24
|
-
* Service stack for executing agents, functions, and triggers.
|
|
25
|
-
*/
|
|
26
|
-
export type ComputeServices =
|
|
27
|
-
| TriggerDispatcher
|
|
28
|
-
| AiService.AiService
|
|
29
|
-
| DatabaseService
|
|
30
|
-
| QueueService
|
|
31
|
-
| CredentialsService
|
|
32
|
-
| FunctionInvocationService
|
|
33
|
-
| InvocationTracer
|
|
34
|
-
| TriggerStateStore
|
|
35
|
-
// TODO(dmaretskyi): Those should be provided at AI-chat call site.
|
|
36
|
-
| ToolResolverService
|
|
37
|
-
| ToolExecutionService;
|
|
38
|
-
|
|
39
|
-
export type ComputeRuntime = ManagedRuntime.ManagedRuntime<AutomationCapabilities.ComputeServices, never>;
|
|
40
|
-
export interface ComputeRuntimeProvider {
|
|
41
|
-
getRuntime(spaceId: SpaceId): ComputeRuntime;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Runtime for executing agents, functions, and triggers.
|
|
46
|
-
*/
|
|
47
|
-
export const ComputeRuntime = defineCapability<ComputeRuntimeProvider>(`${meta.id}/capability/compute-runtime`);
|
|
48
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import * as Toolkit from '@effect/ai/Toolkit';
|
|
6
|
-
import * as BrowserKeyValueStore from '@effect/platform-browser/BrowserKeyValueStore';
|
|
7
|
-
import * as Effect from 'effect/Effect';
|
|
8
|
-
import * as Layer from 'effect/Layer';
|
|
9
|
-
import * as ManagedRuntime from 'effect/ManagedRuntime';
|
|
10
|
-
|
|
11
|
-
import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
|
|
12
|
-
import { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';
|
|
13
|
-
import { Resource } from '@dxos/context';
|
|
14
|
-
import { Query, Ref } from '@dxos/echo';
|
|
15
|
-
import {
|
|
16
|
-
CredentialsService,
|
|
17
|
-
DatabaseService,
|
|
18
|
-
FunctionImplementationResolver,
|
|
19
|
-
FunctionInvocationService,
|
|
20
|
-
InvocationTracer,
|
|
21
|
-
LocalFunctionExecutionService,
|
|
22
|
-
QueueService,
|
|
23
|
-
RemoteFunctionExecutionService,
|
|
24
|
-
TriggerDispatcher,
|
|
25
|
-
} from '@dxos/functions';
|
|
26
|
-
import { TriggerStateStore } from '@dxos/functions';
|
|
27
|
-
import { invariant } from '@dxos/invariant';
|
|
28
|
-
import { type SpaceId } from '@dxos/keys';
|
|
29
|
-
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
30
|
-
import { PropertiesType } from '@dxos/react-client/echo';
|
|
31
|
-
|
|
32
|
-
import { AutomationCapabilities } from './capabilities';
|
|
33
|
-
|
|
34
|
-
export default async (context: PluginContext) => {
|
|
35
|
-
const provider = await new ComputeRuntimeProviderImpl(context).open();
|
|
36
|
-
return contributes(AutomationCapabilities.ComputeRuntime, provider, async () => {
|
|
37
|
-
await provider.close();
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
class ComputeRuntimeProviderImpl extends Resource implements AutomationCapabilities.ComputeRuntimeProvider {
|
|
42
|
-
readonly #runtimes = new Map<SpaceId, AutomationCapabilities.ComputeRuntime>();
|
|
43
|
-
readonly #context: PluginContext;
|
|
44
|
-
|
|
45
|
-
constructor(context: PluginContext) {
|
|
46
|
-
super();
|
|
47
|
-
this.#context = context;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected override async _open() {}
|
|
51
|
-
|
|
52
|
-
protected override async _close() {
|
|
53
|
-
await Promise.all(Array.from(this.#runtimes.values()).map((rt) => rt.dispose()));
|
|
54
|
-
this.#runtimes.clear();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
getRuntime(spaceId: SpaceId): AutomationCapabilities.ComputeRuntime {
|
|
58
|
-
if (this.#runtimes.has(spaceId)) {
|
|
59
|
-
return this.#runtimes.get(spaceId)!;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const layer = Layer.unwrapEffect(
|
|
63
|
-
Effect.gen(this, function* () {
|
|
64
|
-
const client = this.#context.getCapability(ClientCapabilities.Client);
|
|
65
|
-
const serviceLayer =
|
|
66
|
-
this.#context.getCapability(Capabilities.AiServiceLayer) ?? Layer.die('AiService not found');
|
|
67
|
-
|
|
68
|
-
// TODO(dmaretskyi): Make those reactive.
|
|
69
|
-
const functions = this.#context.getCapabilities(Capabilities.Functions);
|
|
70
|
-
const toolkits = this.#context.getCapabilities(Capabilities.Toolkit);
|
|
71
|
-
const handlers = this.#context.getCapabilities(Capabilities.ToolkitHandler);
|
|
72
|
-
|
|
73
|
-
const allFunctions = functions.flat();
|
|
74
|
-
// TODO(wittjosiah): Don't cast.
|
|
75
|
-
const toolkit = Toolkit.merge(...toolkits) as Toolkit.Toolkit<any>;
|
|
76
|
-
const handlersLayer = Layer.mergeAll(Layer.empty, ...handlers);
|
|
77
|
-
|
|
78
|
-
const space = client.spaces.get(spaceId);
|
|
79
|
-
invariant(space);
|
|
80
|
-
yield* Effect.promise(() => space.waitUntilReady());
|
|
81
|
-
|
|
82
|
-
return Layer.mergeAll(TriggerDispatcher.layer({ timeControl: 'natural' })).pipe(
|
|
83
|
-
Layer.provideMerge(
|
|
84
|
-
Layer.mergeAll(
|
|
85
|
-
InvocationTracerLive,
|
|
86
|
-
TriggerStateStore.layerKv.pipe(Layer.provide(BrowserKeyValueStore.layerLocalStorage)),
|
|
87
|
-
makeToolResolverFromFunctions(allFunctions, toolkit),
|
|
88
|
-
makeToolExecutionServiceFromFunctions(toolkit, handlersLayer),
|
|
89
|
-
),
|
|
90
|
-
),
|
|
91
|
-
Layer.provideMerge(
|
|
92
|
-
Layer.mergeAll(
|
|
93
|
-
FunctionInvocationService.layer.pipe(
|
|
94
|
-
Layer.provideMerge(
|
|
95
|
-
LocalFunctionExecutionService.layerLive.pipe(
|
|
96
|
-
Layer.provideMerge(FunctionImplementationResolver.layerTest({ functions: allFunctions })),
|
|
97
|
-
Layer.provideMerge(
|
|
98
|
-
RemoteFunctionExecutionService.fromClient(
|
|
99
|
-
client.edge.baseUrl,
|
|
100
|
-
// If agent is not enabled do not provide spaceId because space context will be unavailable on EDGE.
|
|
101
|
-
client.config.get('runtime.client.edgeFeatures.agents') ? spaceId : undefined,
|
|
102
|
-
),
|
|
103
|
-
),
|
|
104
|
-
Layer.provideMerge(serviceLayer),
|
|
105
|
-
Layer.provideMerge(CredentialsService.layerFromDatabase()),
|
|
106
|
-
Layer.provideMerge(space ? DatabaseService.layer(space.db) : DatabaseService.notAvailable),
|
|
107
|
-
Layer.provideMerge(space ? QueueService.layer(space.queues) : QueueService.notAvailable),
|
|
108
|
-
),
|
|
109
|
-
),
|
|
110
|
-
),
|
|
111
|
-
),
|
|
112
|
-
),
|
|
113
|
-
);
|
|
114
|
-
}),
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
const runtime = ManagedRuntime.make(layer);
|
|
118
|
-
this.#runtimes.set(spaceId, runtime);
|
|
119
|
-
|
|
120
|
-
return runtime;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const InvocationTracerLive = Layer.unwrapEffect(
|
|
125
|
-
Effect.gen(function* () {
|
|
126
|
-
const {
|
|
127
|
-
objects: [properties],
|
|
128
|
-
} = yield* DatabaseService.runQuery(Query.type(PropertiesType));
|
|
129
|
-
invariant(properties);
|
|
130
|
-
if (!properties.invocationTraceQueue) {
|
|
131
|
-
const queue = yield* QueueService.createQueue({ subspaceTag: 'trace' });
|
|
132
|
-
properties.invocationTraceQueue = Ref.fromDXN(queue.dxn);
|
|
133
|
-
}
|
|
134
|
-
const queue = properties.invocationTraceQueue.target;
|
|
135
|
-
invariant(queue);
|
|
136
|
-
return InvocationTracer.layerLive({ invocationTraceQueue: queue });
|
|
137
|
-
}),
|
|
138
|
-
);
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
Capabilities,
|
|
7
|
-
LayoutAction,
|
|
8
|
-
type PluginContext,
|
|
9
|
-
contributes,
|
|
10
|
-
createIntent,
|
|
11
|
-
createResolver,
|
|
12
|
-
} from '@dxos/app-framework';
|
|
13
|
-
import { Obj, Ref } from '@dxos/echo';
|
|
14
|
-
import { FunctionTrigger, FunctionType, ScriptType } from '@dxos/functions';
|
|
15
|
-
import { type DXN } from '@dxos/keys';
|
|
16
|
-
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
|
|
17
|
-
import { SpaceAction } from '@dxos/plugin-space/types';
|
|
18
|
-
import { Filter } from '@dxos/react-client/echo';
|
|
19
|
-
|
|
20
|
-
import { AutomationAction } from '../types';
|
|
21
|
-
|
|
22
|
-
export default (context: PluginContext) =>
|
|
23
|
-
contributes(Capabilities.IntentResolver, [
|
|
24
|
-
createResolver({
|
|
25
|
-
intent: AutomationAction.CreateTriggerFromTemplate,
|
|
26
|
-
resolve: async ({ space, template, enabled = false, scriptName, input }) => {
|
|
27
|
-
const trigger = Obj.make(FunctionTrigger, { enabled, input });
|
|
28
|
-
|
|
29
|
-
// TODO(wittjosiah): Factor out function lookup by script name?
|
|
30
|
-
if (scriptName) {
|
|
31
|
-
const {
|
|
32
|
-
objects: [script],
|
|
33
|
-
} = await space.db.query(Filter.type(ScriptType, { name: scriptName })).run();
|
|
34
|
-
if (script) {
|
|
35
|
-
const {
|
|
36
|
-
objects: [fn],
|
|
37
|
-
} = await space.db.query(Filter.type(FunctionType, { source: Ref.make(script) })).run();
|
|
38
|
-
if (fn) {
|
|
39
|
-
trigger.function = Ref.make(fn);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
switch (template.type) {
|
|
45
|
-
case 'timer': {
|
|
46
|
-
trigger.spec = { kind: 'timer', cron: template.cron };
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
case 'queue': {
|
|
50
|
-
trigger.spec = { kind: 'queue', queue: (template.queueDXN as DXN).toString() };
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
default: {
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
intents: [
|
|
60
|
-
createIntent(SpaceAction.AddObject, { object: trigger, target: space, hidden: true }),
|
|
61
|
-
createIntent(LayoutAction.Open, {
|
|
62
|
-
part: 'main',
|
|
63
|
-
subject: [`automation-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],
|
|
64
|
-
options: {
|
|
65
|
-
workspace: space.id,
|
|
66
|
-
},
|
|
67
|
-
}),
|
|
68
|
-
],
|
|
69
|
-
};
|
|
70
|
-
},
|
|
71
|
-
}),
|
|
72
|
-
]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React from 'react';
|
|
6
|
-
|
|
7
|
-
import { useTranslation } from '@dxos/react-ui';
|
|
8
|
-
import { ControlPage, ControlSection } from '@dxos/react-ui-form';
|
|
9
|
-
|
|
10
|
-
import { meta } from '../meta';
|
|
11
|
-
|
|
12
|
-
import { AutomationPanel, type AutomationPanelProps } from './AutomationPanel';
|
|
13
|
-
import { TriggersSettings } from './TriggerSettings';
|
|
14
|
-
|
|
15
|
-
export const AutomationSettings = (props: AutomationPanelProps) => {
|
|
16
|
-
const { t } = useTranslation(meta.id);
|
|
17
|
-
return (
|
|
18
|
-
<ControlPage>
|
|
19
|
-
<ControlSection
|
|
20
|
-
title={t('automation verbose label', { ns: meta.id })}
|
|
21
|
-
description={t('automation description', { ns: meta.id })}
|
|
22
|
-
>
|
|
23
|
-
<AutomationPanel {...props} />
|
|
24
|
-
<TriggersSettings space={props.space} />
|
|
25
|
-
</ControlSection>
|
|
26
|
-
</ControlPage>
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export default AutomationSettings;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React from 'react';
|
|
6
|
-
|
|
7
|
-
import { type Space } from '@dxos/react-client/echo';
|
|
8
|
-
import { useTranslation } from '@dxos/react-ui';
|
|
9
|
-
import { ControlPage, ControlSection } from '@dxos/react-ui-form';
|
|
10
|
-
|
|
11
|
-
import { meta } from '../meta';
|
|
12
|
-
|
|
13
|
-
import { FunctionsPanel } from './FunctionsPanel';
|
|
14
|
-
|
|
15
|
-
export const FunctionsContainer = ({ space }: { space: Space }) => {
|
|
16
|
-
const { t } = useTranslation(meta.id);
|
|
17
|
-
return (
|
|
18
|
-
<ControlPage>
|
|
19
|
-
<ControlSection
|
|
20
|
-
title={t('functions verbose label', { ns: meta.id })}
|
|
21
|
-
description={t('functions description', { ns: meta.id })}
|
|
22
|
-
>
|
|
23
|
-
<FunctionsPanel space={space} />
|
|
24
|
-
</ControlSection>
|
|
25
|
-
</ControlPage>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default FunctionsContainer;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React from 'react';
|
|
6
|
-
|
|
7
|
-
import { type Space } from '@dxos/react-client/echo';
|
|
8
|
-
import { Input, useTranslation } from '@dxos/react-ui';
|
|
9
|
-
import { ControlItemInput } from '@dxos/react-ui-form';
|
|
10
|
-
|
|
11
|
-
import { useTriggerRuntimeControls } from '../hooks';
|
|
12
|
-
import { meta } from '../meta';
|
|
13
|
-
|
|
14
|
-
export const TriggersSettings = ({ space }: { space: Space }) => {
|
|
15
|
-
const { triggers, isRunning, start, stop } = useTriggerRuntimeControls(space);
|
|
16
|
-
const { t } = useTranslation(meta.id);
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<div className='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>
|
|
20
|
-
<ControlItemInput title={t('runtime label')} description={t('runtime description')}>
|
|
21
|
-
<Input.Switch classNames='justify-self-end' checked={isRunning} onCheckedChange={isRunning ? stop : start} />
|
|
22
|
-
</ControlItemInput>
|
|
23
|
-
</div>
|
|
24
|
-
);
|
|
25
|
-
};
|
package/src/events.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { defineEvent } from '@dxos/app-framework';
|
|
6
|
-
|
|
7
|
-
import { meta } from './meta';
|
|
8
|
-
|
|
9
|
-
export namespace AutomationEvents {
|
|
10
|
-
export const ComputeRuntimeReady = defineEvent(`${meta.id}/event/compute-runtime-ready`);
|
|
11
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import type * as Effect from 'effect/Effect';
|
|
6
|
-
import { useCallback } from 'react';
|
|
7
|
-
|
|
8
|
-
import { useCapability } from '@dxos/app-framework';
|
|
9
|
-
import type { Space } from '@dxos/react-client/echo';
|
|
10
|
-
|
|
11
|
-
import { AutomationCapabilities } from '../capabilities';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Create an effectful function that has access to compute services
|
|
15
|
-
*/
|
|
16
|
-
export const useComputeRuntimeCallback = <T>(
|
|
17
|
-
space: Space | undefined,
|
|
18
|
-
fn: () => Effect.Effect<T, any, AutomationCapabilities.ComputeServices>,
|
|
19
|
-
deps?: React.DependencyList,
|
|
20
|
-
): (() => Promise<T>) => {
|
|
21
|
-
const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
|
|
22
|
-
const runtime = space !== undefined ? computeRuntime.getRuntime(space.id) : undefined;
|
|
23
|
-
|
|
24
|
-
return useCallback(() => {
|
|
25
|
-
if (!runtime) {
|
|
26
|
-
throw new TypeError('Space not provided to useComputeRuntimeCallback');
|
|
27
|
-
}
|
|
28
|
-
return runtime.runPromise(fn());
|
|
29
|
-
}, [runtime, ...(deps ?? [])]);
|
|
30
|
-
};
|
|
File without changes
|
/package/dist/lib/{browser/FunctionsPanel-PTFCCUTB.mjs.map → neutral/AutomationPlugin.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|