@dxos/plugin-automation 0.8.2-staging.7ac8446 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/lib/browser/AutomationContainer-HQK7FTN6.mjs +40 -0
  2. package/dist/lib/browser/AutomationContainer-HQK7FTN6.mjs.map +7 -0
  3. package/dist/lib/browser/AutomationPanel-GU37N5LO.mjs +11 -0
  4. package/dist/lib/browser/AutomationPanel-GU37N5LO.mjs.map +7 -0
  5. package/dist/lib/browser/FunctionsContainer-B7RDWVMX.mjs +39 -0
  6. package/dist/lib/browser/FunctionsContainer-B7RDWVMX.mjs.map +7 -0
  7. package/dist/lib/browser/FunctionsPanel-LCCPDIT6.mjs +10 -0
  8. package/dist/lib/browser/FunctionsPanel-LCCPDIT6.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-BYECL42X.mjs +80 -0
  10. package/dist/lib/browser/app-graph-builder-BYECL42X.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-4E2KPMLB.mjs +39 -0
  12. package/dist/lib/browser/chunk-4E2KPMLB.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-4QTXMPBC.mjs +229 -0
  14. package/dist/lib/browser/chunk-4QTXMPBC.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-D2ESAYQD.mjs +149 -0
  16. package/dist/lib/browser/chunk-D2ESAYQD.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ELQ2FX5G.mjs +14 -0
  18. package/dist/lib/browser/chunk-ELQ2FX5G.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-WKKQV4PC.mjs → chunk-IHAKPP5A.mjs} +2 -2
  20. package/dist/lib/browser/{chunk-WKKQV4PC.mjs.map → chunk-IHAKPP5A.mjs.map} +1 -1
  21. package/dist/lib/browser/chunk-ZTRYR6RJ.mjs +94 -0
  22. package/dist/lib/browser/chunk-ZTRYR6RJ.mjs.map +7 -0
  23. package/dist/lib/browser/index.mjs +26 -20
  24. package/dist/lib/browser/index.mjs.map +3 -3
  25. package/dist/lib/browser/intent-resolver-ZRBBYZUX.mjs +77 -0
  26. package/dist/lib/browser/intent-resolver-ZRBBYZUX.mjs.map +7 -0
  27. package/dist/lib/browser/meta.json +1 -1
  28. package/dist/lib/browser/react-surface-VKO6PA2P.mjs +68 -0
  29. package/dist/lib/browser/react-surface-VKO6PA2P.mjs.map +7 -0
  30. package/dist/lib/browser/types.mjs +8 -0
  31. package/dist/lib/browser/types.mjs.map +7 -0
  32. package/dist/lib/node/AutomationContainer-5J7LJK7L.cjs +68 -0
  33. package/dist/lib/node/AutomationContainer-5J7LJK7L.cjs.map +7 -0
  34. package/dist/lib/node/AutomationPanel-NPDBUQ7D.cjs +32 -0
  35. package/dist/lib/node/AutomationPanel-NPDBUQ7D.cjs.map +7 -0
  36. package/dist/lib/node/FunctionsContainer-LNLDZUZ6.cjs +67 -0
  37. package/dist/lib/node/FunctionsContainer-LNLDZUZ6.cjs.map +7 -0
  38. package/dist/lib/node/FunctionsPanel-7AOXIQMA.cjs +31 -0
  39. package/dist/lib/node/FunctionsPanel-7AOXIQMA.cjs.map +7 -0
  40. package/dist/lib/node/app-graph-builder-DUKR2BRB.cjs +96 -0
  41. package/dist/lib/node/app-graph-builder-DUKR2BRB.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-7GXNXMSM.cjs → chunk-3EF7MLFX.cjs} +5 -5
  43. package/dist/lib/node/{chunk-7GXNXMSM.cjs.map → chunk-3EF7MLFX.cjs.map} +1 -1
  44. package/dist/lib/node/chunk-4O627QZU.cjs +175 -0
  45. package/dist/lib/node/chunk-4O627QZU.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-AGJ6XTDN.cjs → chunk-DOLMQUQ5.cjs} +16 -7
  47. package/dist/lib/node/chunk-DOLMQUQ5.cjs.map +7 -0
  48. package/dist/lib/node/chunk-GIIVTK4O.cjs +58 -0
  49. package/dist/lib/node/chunk-GIIVTK4O.cjs.map +7 -0
  50. package/dist/lib/node/chunk-O42NQYQT.cjs +252 -0
  51. package/dist/lib/node/chunk-O42NQYQT.cjs.map +7 -0
  52. package/dist/lib/node/chunk-WXQAVUBJ.cjs +122 -0
  53. package/dist/lib/node/chunk-WXQAVUBJ.cjs.map +7 -0
  54. package/dist/lib/node/index.cjs +37 -31
  55. package/dist/lib/node/index.cjs.map +3 -3
  56. package/dist/lib/node/intent-resolver-JC4Q4TYU.cjs +93 -0
  57. package/dist/lib/node/intent-resolver-JC4Q4TYU.cjs.map +7 -0
  58. package/dist/lib/node/meta.json +1 -1
  59. package/dist/lib/node/{react-surface-52M54VWV.cjs → react-surface-HB3MYTCK.cjs} +41 -17
  60. package/dist/lib/node/react-surface-HB3MYTCK.cjs.map +7 -0
  61. package/dist/lib/node/types.cjs +30 -0
  62. package/dist/lib/node/types.cjs.map +7 -0
  63. package/dist/lib/node-esm/AutomationContainer-OJGH76X2.mjs +41 -0
  64. package/dist/lib/node-esm/AutomationContainer-OJGH76X2.mjs.map +7 -0
  65. package/dist/lib/node-esm/AutomationPanel-HIWEJUWL.mjs +12 -0
  66. package/dist/lib/node-esm/AutomationPanel-HIWEJUWL.mjs.map +7 -0
  67. package/dist/lib/node-esm/FunctionsContainer-PPR6XNNR.mjs +40 -0
  68. package/dist/lib/node-esm/FunctionsContainer-PPR6XNNR.mjs.map +7 -0
  69. package/dist/lib/node-esm/FunctionsPanel-SBXKWTHR.mjs +11 -0
  70. package/dist/lib/node-esm/FunctionsPanel-SBXKWTHR.mjs.map +7 -0
  71. package/dist/lib/node-esm/app-graph-builder-UAXHKKGW.mjs +81 -0
  72. package/dist/lib/node-esm/app-graph-builder-UAXHKKGW.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-5IAHBEHR.mjs +95 -0
  74. package/dist/lib/node-esm/chunk-5IAHBEHR.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-6JOJ2NN4.mjs +40 -0
  76. package/dist/lib/node-esm/chunk-6JOJ2NN4.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-D5HK4XLC.mjs +230 -0
  78. package/dist/lib/node-esm/chunk-D5HK4XLC.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-DZ44LGYT.mjs → chunk-HCCLRNMJ.mjs} +2 -2
  80. package/dist/lib/node-esm/{chunk-DZ44LGYT.mjs.map → chunk-HCCLRNMJ.mjs.map} +1 -1
  81. package/dist/lib/node-esm/chunk-P2FKMPRE.mjs +150 -0
  82. package/dist/lib/node-esm/chunk-P2FKMPRE.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-Z7VAQDEE.mjs +16 -0
  84. package/dist/lib/node-esm/chunk-Z7VAQDEE.mjs.map +7 -0
  85. package/dist/lib/node-esm/index.mjs +26 -20
  86. package/dist/lib/node-esm/index.mjs.map +3 -3
  87. package/dist/lib/node-esm/intent-resolver-KRCXJEDR.mjs +78 -0
  88. package/dist/lib/node-esm/intent-resolver-KRCXJEDR.mjs.map +7 -0
  89. package/dist/lib/node-esm/meta.json +1 -1
  90. package/dist/lib/node-esm/react-surface-TRKCIZAB.mjs +69 -0
  91. package/dist/lib/node-esm/react-surface-TRKCIZAB.mjs.map +7 -0
  92. package/dist/lib/node-esm/types.mjs +9 -0
  93. package/dist/lib/node-esm/types.mjs.map +7 -0
  94. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  96. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/index.d.ts +2 -177
  98. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  100. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  102. package/dist/types/src/components/AutomationContainer.d.ts +7 -0
  103. package/dist/types/src/components/AutomationContainer.d.ts.map +1 -0
  104. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +6 -3
  105. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  106. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/AutomationPanel/index.d.ts +1 -0
  108. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -1
  109. package/dist/types/src/components/FunctionsContainer.d.ts +7 -0
  110. package/dist/types/src/components/FunctionsContainer.d.ts.map +1 -0
  111. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts +7 -0
  112. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -0
  113. package/dist/types/src/components/FunctionsPanel/index.d.ts +4 -0
  114. package/dist/types/src/components/FunctionsPanel/index.d.ts.map +1 -0
  115. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +12 -0
  116. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -0
  117. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts +5 -0
  118. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -0
  119. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -1
  120. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  121. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  122. package/dist/types/src/components/index.d.ts +8 -1
  123. package/dist/types/src/components/index.d.ts.map +1 -1
  124. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  125. package/dist/types/src/translations.d.ts +8 -0
  126. package/dist/types/src/translations.d.ts.map +1 -1
  127. package/dist/types/src/types.d.ts +25 -0
  128. package/dist/types/src/types.d.ts.map +1 -0
  129. package/dist/types/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +38 -25
  131. package/src/AutomationPlugin.tsx +5 -10
  132. package/src/capabilities/app-graph-builder.ts +72 -17
  133. package/src/capabilities/index.ts +1 -0
  134. package/src/capabilities/intent-resolver.ts +73 -0
  135. package/src/capabilities/react-surface.tsx +32 -8
  136. package/src/components/AutomationContainer.tsx +31 -0
  137. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +6 -5
  138. package/src/components/AutomationPanel/AutomationPanel.tsx +77 -73
  139. package/src/components/AutomationPanel/index.ts +2 -0
  140. package/src/components/FunctionsContainer.tsx +31 -0
  141. package/src/components/FunctionsPanel/FunctionsPanel.tsx +95 -0
  142. package/src/components/FunctionsPanel/index.ts +8 -0
  143. package/src/components/TriggerEditor/FunctionInputEditor.tsx +77 -0
  144. package/src/components/TriggerEditor/SpecSelector.tsx +59 -0
  145. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +19 -10
  146. package/src/components/TriggerEditor/TriggerEditor.tsx +64 -102
  147. package/src/components/index.ts +3 -0
  148. package/src/meta.ts +1 -1
  149. package/src/testing/test-functions.ts +23 -9
  150. package/src/translations.ts +10 -1
  151. package/src/types.ts +33 -0
  152. package/dist/lib/browser/AutomationPanel-YAHFXQX6.mjs +0 -139
  153. package/dist/lib/browser/AutomationPanel-YAHFXQX6.mjs.map +0 -7
  154. package/dist/lib/browser/app-graph-builder-K3BIQFWW.mjs +0 -40
  155. package/dist/lib/browser/app-graph-builder-K3BIQFWW.mjs.map +0 -7
  156. package/dist/lib/browser/chunk-FALBBJNO.mjs +0 -138
  157. package/dist/lib/browser/chunk-FALBBJNO.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-MT3FZH4V.mjs +0 -8
  159. package/dist/lib/browser/chunk-MT3FZH4V.mjs.map +0 -7
  160. package/dist/lib/browser/react-surface-4QQSJR4A.mjs +0 -42
  161. package/dist/lib/browser/react-surface-4QQSJR4A.mjs.map +0 -7
  162. package/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs +0 -161
  163. package/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs.map +0 -7
  164. package/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs +0 -56
  165. package/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs.map +0 -7
  166. package/dist/lib/node/chunk-AGJ6XTDN.cjs.map +0 -7
  167. package/dist/lib/node/chunk-FTEDH5Q6.cjs +0 -167
  168. package/dist/lib/node/chunk-FTEDH5Q6.cjs.map +0 -7
  169. package/dist/lib/node/react-surface-52M54VWV.cjs.map +0 -7
  170. package/dist/lib/node-esm/AutomationPanel-XF7YPSKM.mjs +0 -140
  171. package/dist/lib/node-esm/AutomationPanel-XF7YPSKM.mjs.map +0 -7
  172. package/dist/lib/node-esm/app-graph-builder-XCJR33VS.mjs +0 -41
  173. package/dist/lib/node-esm/app-graph-builder-XCJR33VS.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-M4QXMIIB.mjs +0 -139
  175. package/dist/lib/node-esm/chunk-M4QXMIIB.mjs.map +0 -7
  176. package/dist/lib/node-esm/chunk-OA75PSGH.mjs +0 -10
  177. package/dist/lib/node-esm/chunk-OA75PSGH.mjs.map +0 -7
  178. package/dist/lib/node-esm/react-surface-MGKM3OO3.mjs +0 -43
  179. package/dist/lib/node-esm/react-surface-MGKM3OO3.mjs.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TriggerEditor/TriggerEditor.tsx", "../../../src/components/TriggerEditor/FunctionInputEditor.tsx", "../../../src/components/TriggerEditor/SpecSelector.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport {\n FunctionType,\n FunctionTriggerSchema,\n type FunctionTriggerType,\n type FunctionTrigger,\n ScriptType,\n} from '@dxos/functions';\nimport { Filter, Ref, useQuery, type Space } from '@dxos/react-client/echo';\nimport { type CustomInputMap, Form, SelectInput, useRefQueryLookupHandler } from '@dxos/react-ui-form';\n\nimport { FunctionInputEditor, type FunctionInputEditorProps } from './FunctionInputEditor';\nimport { SpecSelector } from './SpecSelector';\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 handleSave = (values: FunctionTriggerType) => {\n onSave?.(values);\n };\n\n const handleRefQueryLookup = useRefQueryLookupHandler({ space });\n const Custom = useCustomInputs(space, handleRefQueryLookup);\n\n return (\n <Form\n Custom={Custom}\n schema={FunctionTriggerSchema}\n values={trigger}\n onSave={handleSave}\n onCancel={onCancel}\n onQueryRefOptions={handleRefQueryLookup}\n />\n );\n};\n\nconst useCustomInputs = (space: Space, onQueryRefOptions: FunctionInputEditorProps['onQueryRefOptions']) => {\n const functions = useQuery(space, Filter.type(FunctionType));\n const workflows = useQuery(space, Filter.type(ComputeGraph));\n const scripts = useQuery(space, Filter.type(ScriptType));\n\n return useMemo(\n (): CustomInputMap => ({\n // Function selector.\n ['function' satisfies keyof FunctionTriggerType]: (props) => {\n const getValue = useCallback(() => {\n const formValue = props.getValue();\n if (Ref.isRef(formValue)) {\n return formValue.dxn.toString() as string;\n }\n return undefined;\n }, [props]);\n\n const handleOnValueChange = useCallback(\n (_type: any, dxnString: string) => {\n const dxn = Type.DXN.parse(dxnString);\n if (dxn) {\n const ref = Ref.fromDXN(dxn);\n props.onValueChange('object', ref);\n }\n },\n [props.onValueChange],\n );\n\n return (\n <SelectInput\n {...props}\n getValue={getValue as any}\n onValueChange={handleOnValueChange}\n options={getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))}\n />\n );\n },\n\n // Spec selector.\n ['spec.kind' as const]: SpecSelector,\n\n // Function input editor.\n ['input' as const]: (props) => (\n <FunctionInputEditor {...props} functions={functions} onQueryRefOptions={onQueryRefOptions} />\n ),\n }),\n [workflows, scripts, functions],\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:echo:@:${fn.id}` }));\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type JsonPath, RefImpl, toEffectSchema } from '@dxos/echo-schema';\nimport { type FunctionType } from '@dxos/functions';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { Form, type FormInputStateProps, type QueryRefOptions, useFormValues } from '@dxos/react-ui-form';\n\nexport type FunctionInputEditorProps = {\n functions: FunctionType[];\n onQueryRefOptions: QueryRefOptions;\n} & FormInputStateProps;\n\n/**\n * Editor component for function input parameters.\n */\nexport const FunctionInputEditor = ({\n functions,\n getValue,\n onValueChange,\n onQueryRefOptions,\n}: FunctionInputEditorProps) => {\n const selectedFunctionValue = useFormValues(['function' as JsonPath]);\n const selectedFunctionId = useMemo(() => {\n if (selectedFunctionValue instanceof RefImpl) {\n return selectedFunctionValue.dxn.toString().split('dxn:echo:@:').at(1);\n }\n }, [selectedFunctionValue]);\n\n const selectedFunction = useMemo(\n () => functions.find((f) => f.id === selectedFunctionId),\n [functions, selectedFunctionId],\n );\n\n useOnTransition(\n // Clear function parameter input when the function changes.\n selectedFunctionValue,\n (prevValue) => prevValue !== undefined && prevValue !== selectedFunctionValue,\n (currValue) => currValue !== undefined,\n () => onValueChange('object', {}),\n );\n\n const inputSchema = useMemo(() => selectedFunction?.inputSchema, [selectedFunction]);\n const effectSchema = useMemo(() => (inputSchema ? toEffectSchema(inputSchema) : undefined), [inputSchema]);\n const propertyCount = inputSchema?.properties ? Object.keys(inputSchema.properties).length : 0;\n\n const values = useMemo(() => getValue() ?? {}, [getValue]);\n\n const handleValuesChanged = useCallback(\n (values: any) => {\n onValueChange('object', values);\n },\n [onValueChange],\n );\n\n if (selectedFunction === undefined || effectSchema === undefined || propertyCount === 0) {\n return null;\n }\n\n return (\n <>\n <h3 className='text-md'>Function parameters</h3>\n {/* TODO(ZaymonFC): Try using <FormFields /> internal component for this nesting.\n This would allow errors to flow up to the root context. */}\n <Form\n schema={effectSchema}\n values={values}\n classNames='p-0'\n onValuesChanged={handleValuesChanged}\n onQueryRefOptions={onQueryRefOptions}\n />\n </>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type FunctionTriggerType, TriggerKind, type TriggerType } from '@dxos/functions';\nimport { useTranslation } from '@dxos/react-ui';\nimport { SelectInput, type InputProps, useInputProps } from '@dxos/react-ui-form';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\n\nexport type SpecSelectorProps = InputProps;\n\nexport const SpecSelector = (props: SpecSelectorProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const specProps = useInputProps(['spec' satisfies keyof FunctionTriggerType]);\n\n const handleTypeChange = useCallback(\n (_type: any, value: string): TriggerType | undefined => {\n const getDefaultTriggerSpec = (kind: string) => {\n switch (kind) {\n case TriggerKind.Timer:\n return { kind: TriggerKind.Timer, cron: '' };\n case TriggerKind.Subscription:\n return { kind: TriggerKind.Subscription, filter: {} };\n case TriggerKind.Queue:\n return { kind: TriggerKind.Queue, queue: '' };\n case TriggerKind.Email:\n return { kind: TriggerKind.Email };\n case TriggerKind.Webhook:\n return { kind: TriggerKind.Webhook };\n default:\n return undefined;\n }\n };\n\n const defaultSpec = getDefaultTriggerSpec(value);\n if (!defaultSpec) {\n return;\n }\n\n // Update the entire spec object, not just the `spec.kind`.\n specProps.onValueChange('object', defaultSpec);\n },\n [specProps],\n );\n\n const options = useMemo(\n () =>\n Object.values(TriggerKind).map((kind) => ({\n value: kind,\n label: t(`trigger type ${kind}`),\n })),\n [t],\n );\n\n return <SelectInput {...props} options={options} onValueChange={handleTypeChange} />;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAA4C;AAE5C,uBAA6B;AAC7B,kBAAqB;AACrB,uBAMO;AACP,IAAAA,eAAkD;AAClD,2BAAiF;;ACZjF,IAAAC,gBAA4C;AAE5C,yBAAuD;AAEvD,sBAAgC;AAChC,IAAAC,wBAAoF;;ACLpF,IAAAD,gBAA4C;AAE5C,IAAAE,oBAAwE;AACxE,IAAAC,mBAA+B;AAC/B,IAAAF,wBAA4D;ADWrD,IAAMG,sBAAsB,CAAC,EAClCC,WACAC,UACAC,eACAC,kBAAiB,MACQ;;;AACzB,UAAMC,4BAAwBC,qCAAc;MAAC;KAAuB;AACpE,UAAMC,yBAAqBC,uBAAQ,MAAA;AACjC,UAAIH,iCAAiCI,4BAAS;AAC5C,eAAOJ,sBAAsBK,IAAIC,SAAQ,EAAGC,MAAM,aAAA,EAAeC,GAAG,CAAA;MACtE;IACF,GAAG;MAACR;KAAsB;AAE1B,UAAMS,uBAAmBN,uBACvB,MAAMP,UAAUc,KAAK,CAACC,MAAMA,EAAEC,OAAOV,kBAAAA,GACrC;MAACN;MAAWM;KAAmB;AAGjCW;;MAEEb;MACA,CAACc,cAAcA,cAAcC,UAAaD,cAAcd;MACxD,CAACgB,cAAcA,cAAcD;MAC7B,MAAMjB,cAAc,UAAU,CAAC,CAAA;IAAA;AAGjC,UAAMmB,kBAAcd,uBAAQ,MAAMM,kBAAkBQ,aAAa;MAACR;KAAiB;AACnF,UAAMS,mBAAef,uBAAQ,MAAOc,kBAAcE,mCAAeF,WAAAA,IAAeF,QAAY;MAACE;KAAY;AACzG,UAAMG,gBAAgBH,aAAaI,aAAaC,OAAOC,KAAKN,YAAYI,UAAU,EAAEG,SAAS;AAE7F,UAAMC,aAAStB,uBAAQ,MAAMN,SAAAA,KAAc,CAAC,GAAG;MAACA;KAAS;AAEzD,UAAM6B,0BAAsBC,2BAC1B,CAACF,YAAAA;AACC3B,oBAAc,UAAU2B,OAAAA;IAC1B,GACA;MAAC3B;KAAc;AAGjB,QAAIW,qBAAqBM,UAAaG,iBAAiBH,UAAaK,kBAAkB,GAAG;AACvF,aAAO;IACT;AAEA,WACE,8BAAAQ,QAAA,cAAA,cAAAA,QAAA,UAAA,MACE,8BAAAA,QAAA,cAACC,MAAAA;MAAGC,WAAU;OAAU,qBAAA,GAGxB,8BAAAF,QAAA,cAACG,4BAAAA;MACCC,QAAQd;MACRO;MACAQ,YAAW;MACXC,iBAAiBR;MACjB3B;;;;;AAIR;AC9DO,IAAMoC,eAAe,CAACC,UAAAA;;;AAC3B,UAAM,EAAEC,EAAC,QAAKC,iCAAeC,uCAAAA;AAC7B,UAAMC,gBAAYC,qCAAc;MAAC;KAA2C;AAE5E,UAAMC,uBAAmBf,cAAAA,aACvB,CAACgB,OAAYC,UAAAA;AACX,YAAMC,wBAAwB,CAACC,SAAAA;AAC7B,gBAAQA,MAAAA;UACN,KAAKC,8BAAYC;AACf,mBAAO;cAAEF,MAAMC,8BAAYC;cAAOC,MAAM;YAAG;UAC7C,KAAKF,8BAAYG;AACf,mBAAO;cAAEJ,MAAMC,8BAAYG;cAAcC,QAAQ,CAAC;YAAE;UACtD,KAAKJ,8BAAYK;AACf,mBAAO;cAAEN,MAAMC,8BAAYK;cAAOC,OAAO;YAAG;UAC9C,KAAKN,8BAAYO;AACf,mBAAO;cAAER,MAAMC,8BAAYO;YAAM;UACnC,KAAKP,8BAAYQ;AACf,mBAAO;cAAET,MAAMC,8BAAYQ;YAAQ;UACrC;AACE,mBAAOxC;QACX;MACF;AAEA,YAAMyC,cAAcX,sBAAsBD,KAAAA;AAC1C,UAAI,CAACY,aAAa;AAChB;MACF;AAGAhB,gBAAU1C,cAAc,UAAU0D,WAAAA;IACpC,GACA;MAAChB;KAAU;AAGb,UAAMiB,cAAUtD,cAAAA,SACd,MACEmB,OAAOG,OAAOsB,6BAAAA,EAAaW,IAAI,CAACZ,UAAU;MACxCF,OAAOE;MACPa,OAAOtB,EAAE,gBAAgBS,IAAAA,EAAM;IACjC,EAAA,GACF;MAACT;KAAE;AAGL,WAAOT,8BAAAA,QAAA,cAACgC,mCAAAA;MAAa,GAAGxB;MAAOqB;MAAkB3D,eAAe4C;;;;;AAClE;AF9BO,IAAMmB,gBAAgB,CAAC,EAAEC,OAAOC,SAASC,QAAQC,SAAQ,MAAsB;;;AACpF,UAAMC,aAAa,CAACzC,WAAAA;AAClBuC,eAASvC,MAAAA;IACX;AAEA,UAAM0C,2BAAuBC,+CAAyB;MAAEN;IAAM,CAAA;AAC9D,UAAMO,SAASC,gBAAgBR,OAAOK,oBAAAA;AAEtC,WACEvC,6BAAAA,QAAA,cAACG,qBAAAA,MAAAA;MACCsC;MACArC,QAAQuC;MACR9C,QAAQsC;MACRC,QAAQE;MACRD;MACAlE,mBAAmBoE;;;;;AAGzB;AAEA,IAAMG,kBAAkB,CAACR,OAAc/D,sBAAAA;AACrC,QAAMH,gBAAY4E,uBAASV,OAAOW,oBAAOC,KAAKC,6BAAAA,CAAAA;AAC9C,QAAMC,gBAAYJ,uBAASV,OAAOW,oBAAOC,KAAKG,6BAAAA,CAAAA;AAC9C,QAAMC,cAAUN,uBAASV,OAAOW,oBAAOC,KAAKK,2BAAAA,CAAAA;AAE5C,aAAO5E,aAAAA,SACL,OAAuB;;IAErB,CAAC,UAAA,GAAiD,CAACiC,UAAAA;AACjD,YAAMvC,eAAW8B,aAAAA,aAAY,MAAA;AAC3B,cAAMqD,YAAY5C,MAAMvC,SAAQ;AAChC,YAAIoF,iBAAIC,MAAMF,SAAAA,GAAY;AACxB,iBAAOA,UAAU3E,IAAIC,SAAQ;QAC/B;AACA,eAAOS;MACT,GAAG;QAACqB;OAAM;AAEV,YAAM+C,0BAAsBxD,aAAAA,aAC1B,CAACgB,OAAYyC,cAAAA;AACX,cAAM/E,MAAMgF,iBAAKC,IAAIC,MAAMH,SAAAA;AAC3B,YAAI/E,KAAK;AACP,gBAAMmF,MAAMP,iBAAIQ,QAAQpF,GAAAA;AACxB+B,gBAAMtC,cAAc,UAAU0F,GAAAA;QAChC;MACF,GACA;QAACpD,MAAMtC;OAAc;AAGvB,aACE8B,6BAAAA,QAAA,cAACgC,qBAAAA,aAAAA;QACE,GAAGxB;QACJvC;QACAC,eAAeqF;QACf1B,SAASiC,mBAAmBd,SAAAA,EAAWe,OAAOC,mBAAmBd,SAASlF,SAAAA,CAAAA;;IAGhF;;IAGA,CAAC,WAAA,GAAuBuC;;IAGxB,CAAC,OAAA,GAAmB,CAACC,UACnBR,6BAAAA,QAAA,cAACjC,qBAAAA;MAAqB,GAAGyC;MAAOxC;MAAsBG;;EAE1D,IACA;IAAC6E;IAAWE;IAASlF;GAAU;AAEnC;AAEA,IAAM8F,qBAAqB,CAACG,WAAAA;AAC1B,SAAOA,OAAOnC,IAAI,CAACoC,WAAW;IAAEnC,OAAO,WAAWmC,MAAMlF,EAAE;IAAIgC,OAAO,cAAckD,MAAMlF,EAAE;EAAG,EAAA;AAChG;AAEA,IAAMgF,qBAAqB,CAACd,SAAuBlF,cAAAA;AACjD,QAAMmG,WAAW,CAACC,OAAqBlB,QAAQpE,KAAK,CAACuF,MAAMD,GAAGE,QAAQC,QAAQvF,OAAOqF,EAAErF,EAAE,GAAGwF,QAAQJ,GAAGI;AACvG,SAAOxG,UAAU8D,IAAI,CAACsC,QAAQ;IAAErC,OAAOoC,SAASC,EAAAA;IAAKpD,OAAO,cAAcoD,GAAGpF,EAAE;EAAG,EAAA;AACpF;",
6
+ "names": ["import_echo", "import_react", "import_react_ui_form", "import_functions", "import_react_ui", "FunctionInputEditor", "functions", "getValue", "onValueChange", "onQueryRefOptions", "selectedFunctionValue", "useFormValues", "selectedFunctionId", "useMemo", "RefImpl", "dxn", "toString", "split", "at", "selectedFunction", "find", "f", "id", "useOnTransition", "prevValue", "undefined", "currValue", "inputSchema", "effectSchema", "toEffectSchema", "propertyCount", "properties", "Object", "keys", "length", "values", "handleValuesChanged", "useCallback", "React", "h3", "className", "Form", "schema", "classNames", "onValuesChanged", "SpecSelector", "props", "t", "useTranslation", "AUTOMATION_PLUGIN", "specProps", "useInputProps", "handleTypeChange", "_type", "value", "getDefaultTriggerSpec", "kind", "TriggerKind", "Timer", "cron", "Subscription", "filter", "Queue", "queue", "Email", "Webhook", "defaultSpec", "options", "map", "label", "SelectInput", "TriggerEditor", "space", "trigger", "onSave", "onCancel", "handleSave", "handleRefQueryLookup", "useRefQueryLookupHandler", "Custom", "useCustomInputs", "FunctionTriggerSchema", "useQuery", "Filter", "type", "FunctionType", "workflows", "ComputeGraph", "scripts", "ScriptType", "formValue", "Ref", "isRef", "handleOnValueChange", "dxnString", "Type", "DXN", "parse", "ref", "fromDXN", "getWorkflowOptions", "concat", "getFunctionOptions", "graphs", "graph", "getLabel", "fn", "s", "source", "target", "name"]
7
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_WXQAVUBJ_exports = {};
30
+ __export(chunk_WXQAVUBJ_exports, {
31
+ FunctionsPanel: () => FunctionsPanel,
32
+ FunctionsPanel_default: () => FunctionsPanel_default
33
+ });
34
+ module.exports = __toCommonJS(chunk_WXQAVUBJ_exports);
35
+ var import_chunk_3EF7MLFX = require("./chunk-3EF7MLFX.cjs");
36
+ var import_tracking = require("@preact-signals/safe-react/tracking");
37
+ var import_effect = require("effect");
38
+ var import_react = __toESM(require("react"));
39
+ var import_app_framework = require("@dxos/app-framework");
40
+ var import_functions = require("@dxos/functions");
41
+ var import_echo = require("@dxos/react-client/echo");
42
+ var import_react_ui = require("@dxos/react-ui");
43
+ var import_react_ui_form = require("@dxos/react-ui-form");
44
+ var import_react_ui_list = require("@dxos/react-ui-list");
45
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
46
+ var grid = "grid grid-cols-[1fr_auto] min-bs-[2.5rem]";
47
+ var FunctionsPanel = ({ space }) => {
48
+ var _effect = (0, import_tracking.useSignals)();
49
+ try {
50
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_3EF7MLFX.AUTOMATION_PLUGIN);
51
+ const functions = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_functions.FunctionType));
52
+ const scripts = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_functions.ScriptType));
53
+ const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
54
+ const functionToScriptMap = (0, import_react.useMemo)(() => functions.reduce((map, func) => {
55
+ const scriptId = func.source?.target?.id;
56
+ if (scriptId) {
57
+ const script = scripts.find((s) => s.id === scriptId);
58
+ if (script) {
59
+ map[func.id] = script;
60
+ }
61
+ }
62
+ return map;
63
+ }, {}), [
64
+ functions,
65
+ scripts
66
+ ]);
67
+ const getScriptName = (0, import_react.useCallback)((func) => {
68
+ const script = functionToScriptMap[func.id];
69
+ return script?.name;
70
+ }, [
71
+ functionToScriptMap
72
+ ]);
73
+ const handleGoToScript = (0, import_react.useCallback)((func) => {
74
+ const script = functionToScriptMap[func.id];
75
+ if (script) {
76
+ void dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Open, {
77
+ part: "main",
78
+ subject: [
79
+ (0, import_echo.fullyQualifiedId)(script)
80
+ ]
81
+ }));
82
+ }
83
+ }, [
84
+ functionToScriptMap,
85
+ dispatch
86
+ ]);
87
+ return /* @__PURE__ */ import_react.default.createElement("div", {
88
+ role: "none",
89
+ className: (0, import_react_ui_theme.mx)(import_react_ui_form.controlItemClasses)
90
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_list.List.Root, {
91
+ items: functions,
92
+ isItem: import_effect.Schema.is(import_functions.FunctionType),
93
+ getId: (func) => func.id
94
+ }, ({ items }) => /* @__PURE__ */ import_react.default.createElement("div", {
95
+ role: "list",
96
+ className: "flex flex-col w-full"
97
+ }, items?.map((func) => /* @__PURE__ */ import_react.default.createElement(import_react_ui_list.List.Item, {
98
+ key: func.id,
99
+ item: func,
100
+ classNames: (0, import_react_ui_theme.mx)(grid, import_react_ui_theme.ghostHover, "items-center", "pli-2", "min-bs-[3rem]")
101
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
102
+ className: "flex flex-col truncate"
103
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_list.List.ItemTitle, {
104
+ classNames: "truncate"
105
+ }, func.name), getScriptName(func) && /* @__PURE__ */ import_react.default.createElement("div", {
106
+ className: "text-xs text-description truncate"
107
+ }, getScriptName(func))), functionToScriptMap[func.id] && /* @__PURE__ */ import_react.default.createElement(import_react_ui.Button, {
108
+ onClick: () => handleGoToScript(func)
109
+ }, t("go to function source button label")))))), functions.length === 0 && /* @__PURE__ */ import_react.default.createElement("div", {
110
+ className: "text-center plb-4 text-gray-500"
111
+ }, t("no functions found")));
112
+ } finally {
113
+ _effect.f();
114
+ }
115
+ };
116
+ var FunctionsPanel_default = FunctionsPanel;
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ FunctionsPanel,
120
+ FunctionsPanel_default
121
+ });
122
+ //# sourceMappingURL=chunk-WXQAVUBJ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/FunctionsPanel/FunctionsPanel.tsx", "../../../src/components/FunctionsPanel/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { FunctionType, ScriptType } from '@dxos/functions';\nimport { Filter, fullyQualifiedId, useQuery, type Space } from '@dxos/react-client/echo';\nimport { Button, useTranslation } from '@dxos/react-ui';\nimport { controlItemClasses } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { ghostHover, mx } from '@dxos/react-ui-theme';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\n\nconst grid = 'grid grid-cols-[1fr_auto] min-bs-[2.5rem]';\n\nexport type FunctionsPanelProps = {\n space: Space;\n};\n\nexport const FunctionsPanel = ({ space }: FunctionsPanelProps) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n const functions = useQuery(space, Filter.type(FunctionType));\n const scripts = useQuery(space, Filter.type(ScriptType));\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const functionToScriptMap = useMemo(\n () =>\n functions.reduce(\n (map, func) => {\n const scriptId = func.source?.target?.id;\n if (scriptId) {\n const script = scripts.find((s) => s.id === scriptId);\n if (script) {\n map[func.id] = script;\n }\n }\n return map;\n },\n {} as Record<string, ScriptType>,\n ),\n [functions, scripts],\n );\n\n const getScriptName = useCallback(\n (func: FunctionType) => {\n const script = functionToScriptMap[func.id];\n return script?.name;\n },\n [functionToScriptMap],\n );\n\n const handleGoToScript = useCallback(\n (func: FunctionType) => {\n const script = functionToScriptMap[func.id];\n if (script) {\n void dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(script)] }));\n }\n },\n [functionToScriptMap, dispatch],\n );\n\n return (\n <div role='none' className={mx(controlItemClasses)}>\n <List.Root<FunctionType> items={functions} isItem={Schema.is(FunctionType)} getId={(func) => func.id}>\n {({ items }) => (\n <div role='list' className='flex flex-col w-full'>\n {items?.map((func) => (\n <List.Item<FunctionType>\n key={func.id}\n item={func}\n classNames={mx(grid, ghostHover, 'items-center', 'pli-2', 'min-bs-[3rem]')}\n >\n <div className='flex flex-col truncate'>\n <List.ItemTitle classNames='truncate'>{func.name}</List.ItemTitle>\n {getScriptName(func) && (\n <div className='text-xs text-description truncate'>{getScriptName(func)}</div>\n )}\n </div>\n {functionToScriptMap[func.id] && (\n <Button onClick={() => handleGoToScript(func)}>{t('go to function source button label')}</Button>\n )}\n </List.Item>\n ))}\n </div>\n )}\n </List.Root>\n\n {functions.length === 0 && <div className='text-center plb-4 text-gray-500'>{t('no functions found')}</div>}\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FunctionsPanel } from './FunctionsPanel';\n\nexport * from './FunctionsPanel';\nexport default FunctionsPanel;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AACvB,mBAA4C;AAE5C,2BAAgE;AAChE,uBAAyC;AACzC,kBAA+D;AAC/D,sBAAuC;AACvC,2BAAmC;AACnC,2BAAqB;AACrB,4BAA+B;AAI/B,IAAMA,OAAO;AAMN,IAAMC,iBAAiB,CAAC,EAAEC,MAAK,MAAuB;;;AAC3D,UAAM,EAAEC,EAAC,QAAKC,gCAAeC,uCAAAA;AAC7B,UAAMC,gBAAYC,sBAASL,OAAOM,mBAAOC,KAAKC,6BAAAA,CAAAA;AAC9C,UAAMC,cAAUJ,sBAASL,OAAOM,mBAAOC,KAAKG,2BAAAA,CAAAA;AAC5C,UAAM,EAAEC,iBAAiBC,SAAQ,QAAKC,0CAAAA;AAEtC,UAAMC,0BAAsBC,sBAC1B,MACEX,UAAUY,OACR,CAACC,KAAKC,SAAAA;AACJ,YAAMC,WAAWD,KAAKE,QAAQC,QAAQC;AACtC,UAAIH,UAAU;AACZ,cAAMI,SAASd,QAAQe,KAAK,CAACC,MAAMA,EAAEH,OAAOH,QAAAA;AAC5C,YAAII,QAAQ;AACVN,cAAIC,KAAKI,EAAE,IAAIC;QACjB;MACF;AACA,aAAON;IACT,GACA,CAAC,CAAA,GAEL;MAACb;MAAWK;KAAQ;AAGtB,UAAMiB,oBAAgBC,0BACpB,CAACT,SAAAA;AACC,YAAMK,SAAST,oBAAoBI,KAAKI,EAAE;AAC1C,aAAOC,QAAQK;IACjB,GACA;MAACd;KAAoB;AAGvB,UAAMe,uBAAmBF,0BACvB,CAACT,SAAAA;AACC,YAAMK,SAAST,oBAAoBI,KAAKI,EAAE;AAC1C,UAAIC,QAAQ;AACV,aAAKX,aAASkB,mCAAaC,kCAAaC,MAAM;UAAEC,MAAM;UAAQC,SAAS;gBAACC,8BAAiBZ,MAAAA;;QAAS,CAAA,CAAA;MACpG;IACF,GACA;MAACT;MAAqBF;KAAS;AAGjC,WACE,6BAAAwB,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,eAAWC,0BAAGC,uCAAAA;OAC7B,6BAAAL,QAAA,cAACM,0BAAKC,MAAI;MAAeC,OAAOxC;MAAWyC,QAAQC,qBAAOC,GAAGvC,6BAAAA;MAAewC,OAAO,CAAC9B,SAASA,KAAKI;OAC/F,CAAC,EAAEsB,MAAK,MACP,6BAAAR,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACxBK,OAAO3B,IAAI,CAACC,SACX,6BAAAkB,QAAA,cAACM,0BAAKO,MAAI;MACRC,KAAKhC,KAAKI;MACV6B,MAAMjC;MACNkC,gBAAYZ,0BAAG1C,MAAMuD,kCAAY,gBAAgB,SAAS,eAAA;OAE1D,6BAAAjB,QAAA,cAACC,OAAAA;MAAIE,WAAU;OACb,6BAAAH,QAAA,cAACM,0BAAKY,WAAS;MAACF,YAAW;OAAYlC,KAAKU,IAAI,GAC/CF,cAAcR,IAAAA,KACb,6BAAAkB,QAAA,cAACC,OAAAA;MAAIE,WAAU;OAAqCb,cAAcR,IAAAA,CAAAA,CAAAA,GAGrEJ,oBAAoBI,KAAKI,EAAE,KAC1B,6BAAAc,QAAA,cAACmB,wBAAAA;MAAOC,SAAS,MAAM3B,iBAAiBX,IAAAA;OAAQjB,EAAE,oCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAQ7DG,UAAUqD,WAAW,KAAK,6BAAArB,QAAA,cAACC,OAAAA;MAAIE,WAAU;OAAmCtC,EAAE,oBAAA,CAAA,CAAA;;;;AAGrF;ACvFA,IAAA,yBAAeF;",
6
+ "names": ["grid", "FunctionsPanel", "space", "t", "useTranslation", "AUTOMATION_PLUGIN", "functions", "useQuery", "Filter", "type", "FunctionType", "scripts", "ScriptType", "dispatchPromise", "dispatch", "useIntentDispatcher", "functionToScriptMap", "useMemo", "reduce", "map", "func", "scriptId", "source", "target", "id", "script", "find", "s", "getScriptName", "useCallback", "name", "handleGoToScript", "createIntent", "LayoutAction", "Open", "part", "subject", "fullyQualifiedId", "React", "div", "role", "className", "mx", "controlItemClasses", "List", "Root", "items", "isItem", "Schema", "is", "getId", "Item", "key", "item", "classNames", "ghostHover", "ItemTitle", "Button", "onClick", "length"]
7
+ }
@@ -28,31 +28,42 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- AUTOMATION_PLUGIN: () => import_chunk_7GXNXMSM.AUTOMATION_PLUGIN,
32
- AutomationPanel: () => import_chunk_AGJ6XTDN.AutomationPanel,
31
+ AUTOMATION_PLUGIN: () => import_chunk_3EF7MLFX.AUTOMATION_PLUGIN,
32
+ AutomationContainer: () => import_chunk_DOLMQUQ5.AutomationContainer,
33
+ AutomationPanel: () => import_chunk_DOLMQUQ5.AutomationPanel,
33
34
  AutomationPlugin: () => AutomationPlugin,
34
- TriggerEditor: () => import_chunk_FTEDH5Q6.TriggerEditor,
35
- meta: () => import_chunk_7GXNXMSM.meta
35
+ FunctionsContainer: () => import_chunk_DOLMQUQ5.FunctionsContainer,
36
+ FunctionsPanel: () => import_chunk_DOLMQUQ5.FunctionsPanel,
37
+ TriggerEditor: () => import_chunk_O42NQYQT.TriggerEditor,
38
+ meta: () => import_chunk_3EF7MLFX.meta
36
39
  });
37
40
  module.exports = __toCommonJS(node_exports);
38
- var import_chunk_AGJ6XTDN = require("./chunk-AGJ6XTDN.cjs");
39
- var import_chunk_FTEDH5Q6 = require("./chunk-FTEDH5Q6.cjs");
40
- var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
41
+ var import_chunk_DOLMQUQ5 = require("./chunk-DOLMQUQ5.cjs");
42
+ var import_chunk_O42NQYQT = require("./chunk-O42NQYQT.cjs");
43
+ var import_chunk_3EF7MLFX = require("./chunk-3EF7MLFX.cjs");
41
44
  var import_app_framework = require("@dxos/app-framework");
42
- var import_types = require("@dxos/functions/types");
45
+ var import_functions = require("@dxos/functions");
43
46
  var import_plugin_client = require("@dxos/plugin-client");
44
- var import_plugin_space = require("@dxos/plugin-space");
45
47
  var import_app_framework2 = require("@dxos/app-framework");
46
- var AppGraphBuilder = (0, import_app_framework2.lazy)(() => import("./app-graph-builder-HO4FPGZ5.cjs"));
47
- var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-52M54VWV.cjs"));
48
+ var AppGraphBuilder = (0, import_app_framework2.lazy)(() => import("./app-graph-builder-DUKR2BRB.cjs"));
49
+ var IntentResolver = (0, import_app_framework2.lazy)(() => import("./intent-resolver-JC4Q4TYU.cjs"));
50
+ var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-HB3MYTCK.cjs"));
48
51
  var translations_default = [
49
52
  {
50
53
  "en-US": {
51
- [import_chunk_7GXNXMSM.AUTOMATION_PLUGIN]: {
54
+ [import_chunk_3EF7MLFX.AUTOMATION_PLUGIN]: {
52
55
  "plugin name": "Automation",
53
56
  "automation panel label": "Automations",
54
57
  "script automation label": "Automation",
55
- "trigger editor title": "New Trigger",
58
+ "automation verbose label": "Manage automations",
59
+ "automation description": "You can manage all the triggers which automate your space here.",
60
+ "functions panel label": "Functions",
61
+ "functions verbose label": "Manage deployed functions",
62
+ "functions description": "You can manage all the functions deployed from your space on EDGE here.",
63
+ "function copy id": "Copy Function ID",
64
+ "no functions found": "No functions found",
65
+ "go to function source button label": "Show function source",
66
+ "trigger editor title": "Configure Trigger",
56
67
  "new trigger label": "Add Trigger",
57
68
  "trigger type timer": "Timer",
58
69
  "trigger type webhook": "Webhook",
@@ -69,40 +80,32 @@ var translations_default = [
69
80
  }
70
81
  }
71
82
  ];
72
- var AutomationPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_7GXNXMSM.meta, [
83
+ var AutomationPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_3EF7MLFX.meta, [
73
84
  (0, import_app_framework.defineModule)({
74
- id: `${import_chunk_7GXNXMSM.meta.id}/module/translations`,
85
+ id: `${import_chunk_3EF7MLFX.meta.id}/module/translations`,
75
86
  activatesOn: import_app_framework.Events.SetupTranslations,
76
87
  activate: () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.Translations, translations_default)
77
88
  }),
78
89
  (0, import_app_framework.defineModule)({
79
- id: `${import_chunk_7GXNXMSM.meta.id}/module/schema`,
90
+ id: `${import_chunk_3EF7MLFX.meta.id}/module/schema`,
80
91
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
81
92
  activate: () => (0, import_app_framework.contributes)(import_plugin_client.ClientCapabilities.Schema, [
82
- import_types.FunctionType,
83
- import_types.FunctionTrigger
93
+ import_functions.FunctionType,
94
+ import_functions.FunctionTrigger
84
95
  ])
85
96
  }),
86
97
  (0, import_app_framework.defineModule)({
87
- id: `${import_chunk_7GXNXMSM.meta.id}/module/app-graph-builder`,
98
+ id: `${import_chunk_3EF7MLFX.meta.id}/module/app-graph-builder`,
88
99
  activatesOn: import_app_framework.Events.SetupAppGraph,
89
100
  activate: AppGraphBuilder
90
101
  }),
91
102
  (0, import_app_framework.defineModule)({
92
- id: `${import_chunk_7GXNXMSM.meta.id}/module/space-settings`,
93
- activatesOn: import_plugin_space.SpaceEvents.SetupSettingsPanel,
94
- activate: () => (0, import_app_framework.contributes)(import_plugin_space.SpaceCapabilities.SettingsSection, {
95
- id: "automation",
96
- label: [
97
- "automation panel label",
98
- {
99
- ns: import_chunk_7GXNXMSM.meta.id
100
- }
101
- ]
102
- })
103
+ id: `${import_chunk_3EF7MLFX.meta.id}/module/intent-resolver`,
104
+ activatesOn: import_app_framework.Events.SetupIntentResolver,
105
+ activate: IntentResolver
103
106
  }),
104
107
  (0, import_app_framework.defineModule)({
105
- id: `${import_chunk_7GXNXMSM.meta.id}/module/react-surface`,
108
+ id: `${import_chunk_3EF7MLFX.meta.id}/module/react-surface`,
106
109
  activatesOn: import_app_framework.Events.SetupReactSurface,
107
110
  activate: ReactSurface
108
111
  })
@@ -110,8 +113,11 @@ var AutomationPlugin = () => (0, import_app_framework.definePlugin)(import_chunk
110
113
  // Annotate the CommonJS export names for ESM import in node:
111
114
  0 && (module.exports = {
112
115
  AUTOMATION_PLUGIN,
116
+ AutomationContainer,
113
117
  AutomationPanel,
114
118
  AutomationPlugin,
119
+ FunctionsContainer,
120
+ FunctionsPanel,
115
121
  TriggerEditor,
116
122
  meta
117
123
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { FunctionType, FunctionTrigger } from '@dxos/functions/types';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\n\nimport { AppGraphBuilder, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\n\nexport const AutomationPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [FunctionType, FunctionTrigger]),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/space-settings`,\n activatesOn: SpaceEvents.SetupSettingsPanel,\n activate: () =>\n contributes(SpaceCapabilities.SettingsSection, {\n id: 'automation',\n label: ['automation panel label', { ns: meta.id }],\n }),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'automation panel label': 'Automations',\n 'script automation label': 'Automation',\n\n 'trigger editor title': 'New Trigger',\n 'new trigger label': 'Add Trigger',\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n 'trigger type email': 'Email',\n 'trigger type queue': 'Queue',\n\n 'trigger copy url': 'Copy URL',\n 'trigger copy email': 'Copy Email',\n\n 'trigger payload add': 'Add',\n 'trigger payload remove': 'Remove',\n 'trigger payload prop name placeholder': 'New payload property name',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8E;AAC9E,mBAA8C;AAC9C,2BAAiD;AACjD,0BAA+C;ACH/C,IAAAA,wBAAqB;AAEd,IAAMC,sBAAkBC,4BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,mBAAeD,4BAAK,MAAM,OAAO,8BAAA,CAAA;ACD9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACE,uCAAAA,GAAoB;QACnB,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAE3B,wBAAwB;QACxB,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,6BAA6B;QAC7B,sBAAsB;QACtB,sBAAsB;QAEtB,oBAAoB;QACpB,sBAAsB;QAEtB,uBAAuB;QACvB,0BAA0B;QAC1B,yCAAyC;MAC3C;IACF;EACF;;AFlBK,IAAMC,mBAAmB,UAC9BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,UAAU,UAAMC,kCAAYC,kCAAaC,cAAcC,oBAAAA;EACzD,CAAA;MACAT,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaQ,kCAAaC;IAC1BN,UAAU,UAAMC,kCAAYM,wCAAmBC,QAAQ;MAACC;MAAcC;KAAgB;EACxF,CAAA;MACAf,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOa;IACpBX,UAAUZ;EACZ,CAAA;MACAO,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAae,gCAAYC;IACzBb,UAAU,UACRC,kCAAYa,sCAAkBC,iBAAiB;MAC7CnB,IAAI;MACJoB,OAAO;QAAC;QAA0B;UAAEC,IAAIvB,2BAAKE;QAAG;;IAClD,CAAA;EACJ,CAAA;MACAD,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOoB;IACpBlB,UAAUV;EACZ,CAAA;CACD;",
6
- "names": ["import_app_framework", "AppGraphBuilder", "lazy", "ReactSurface", "AUTOMATION_PLUGIN", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "FunctionType", "FunctionTrigger", "SetupAppGraph", "SpaceEvents", "SetupSettingsPanel", "SpaceCapabilities", "SettingsSection", "label", "ns", "SetupReactSurface"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { FunctionType, FunctionTrigger } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\n\nexport const AutomationPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [FunctionType, FunctionTrigger]),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'automation panel label': 'Automations',\n 'script automation label': 'Automation',\n 'automation verbose label': 'Manage automations',\n 'automation description': 'You can manage all the triggers which automate your space here.',\n\n 'functions panel label': 'Functions',\n 'functions verbose label': 'Manage deployed functions',\n 'functions description': 'You can manage all the functions deployed from your space on EDGE here.',\n 'function copy id': 'Copy Function ID',\n 'no functions found': 'No functions found',\n 'go to function source button label': 'Show function source',\n\n 'trigger editor title': 'Configure Trigger',\n 'new trigger label': 'Add Trigger',\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n 'trigger type email': 'Email',\n 'trigger type queue': 'Queue',\n\n 'trigger copy url': 'Copy URL',\n 'trigger copy email': 'Copy Email',\n\n 'trigger payload add': 'Add',\n 'trigger payload remove': 'Remove',\n 'trigger payload prop name placeholder': 'New payload property name',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8E;AAC9E,uBAA8C;AAC9C,2BAAiD;ACFjD,IAAAA,wBAAqB;AAEd,IAAMC,sBAAkBC,4BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,qBAAiBD,4BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,mBAAeF,4BAAK,MAAM,OAAO,8BAAA,CAAA;ACF9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACG,uCAAAA,GAAoB;QACnB,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,0BAA0B;QAE1B,yBAAyB;QACzB,2BAA2B;QAC3B,yBAAyB;QACzB,oBAAoB;QACpB,sBAAsB;QACtB,sCAAsC;QAEtC,wBAAwB;QACxB,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,6BAA6B;QAC7B,sBAAsB;QACtB,sBAAsB;QAEtB,oBAAoB;QACpB,sBAAsB;QAEtB,uBAAuB;QACvB,0BAA0B;QAC1B,yCAAyC;MAC3C;IACF;EACF;;AF5BK,IAAMC,mBAAmB,UAC9BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,UAAU,UAAMC,kCAAYC,kCAAaC,cAAcC,oBAAAA;EACzD,CAAA;MACAT,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaQ,kCAAaC;IAC1BN,UAAU,UAAMC,kCAAYM,wCAAmBC,QAAQ;MAACC;MAAcC;KAAgB;EACxF,CAAA;MACAf,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOa;IACpBX,UAAUb;EACZ,CAAA;MACAQ,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOc;IACpBZ,UAAUX;EACZ,CAAA;MACAM,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOe;IACpBb,UAAUV;EACZ,CAAA;CACD;",
6
+ "names": ["import_app_framework", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "AUTOMATION_PLUGIN", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "FunctionType", "FunctionTrigger", "SetupAppGraph", "SetupIntentResolver", "SetupReactSurface"]
7
7
  }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var intent_resolver_JC4Q4TYU_exports = {};
20
+ __export(intent_resolver_JC4Q4TYU_exports, {
21
+ default: () => intent_resolver_default
22
+ });
23
+ module.exports = __toCommonJS(intent_resolver_JC4Q4TYU_exports);
24
+ var import_chunk_GIIVTK4O = require("./chunk-GIIVTK4O.cjs");
25
+ var import_chunk_3EF7MLFX = require("./chunk-3EF7MLFX.cjs");
26
+ var import_app_framework = require("@dxos/app-framework");
27
+ var import_echo = require("@dxos/echo");
28
+ var import_functions = require("@dxos/functions");
29
+ var import_live_object = require("@dxos/live-object");
30
+ var import_types = require("@dxos/plugin-deck/types");
31
+ var import_types2 = require("@dxos/plugin-space/types");
32
+ var import_echo2 = require("@dxos/react-client/echo");
33
+ var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
34
+ (0, import_app_framework.createResolver)({
35
+ intent: import_chunk_GIIVTK4O.AutomationAction.CreateTriggerFromTemplate,
36
+ resolve: async ({ space, template, enabled = false, scriptName, input }) => {
37
+ const trigger = (0, import_live_object.live)(import_functions.FunctionTrigger, {
38
+ enabled,
39
+ input
40
+ });
41
+ if (scriptName) {
42
+ const { objects: [script] } = await space.db.query(import_echo2.Filter.type(import_functions.ScriptType, {
43
+ name: scriptName
44
+ })).run();
45
+ if (script) {
46
+ const { objects: [fn] } = await space.db.query(import_echo2.Filter.type(import_functions.FunctionType, {
47
+ source: import_echo.Ref.make(script)
48
+ })).run();
49
+ if (fn) {
50
+ trigger.function = import_echo.Ref.make(fn);
51
+ }
52
+ }
53
+ }
54
+ switch (template.type) {
55
+ case "timer": {
56
+ trigger.spec = {
57
+ kind: import_functions.TriggerKind.Timer,
58
+ cron: template.cron
59
+ };
60
+ break;
61
+ }
62
+ case "queue": {
63
+ trigger.spec = {
64
+ kind: import_functions.TriggerKind.Queue,
65
+ queue: template.queueDXN.toString()
66
+ };
67
+ break;
68
+ }
69
+ default: {
70
+ break;
71
+ }
72
+ }
73
+ return {
74
+ intents: [
75
+ (0, import_app_framework.createIntent)(import_types2.SpaceAction.AddObject, {
76
+ object: trigger,
77
+ target: space
78
+ }),
79
+ (0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Open, {
80
+ part: "main",
81
+ subject: [
82
+ `automation-settings${import_types.ATTENDABLE_PATH_SEPARATOR}${space.id}`
83
+ ],
84
+ options: {
85
+ workspace: space.id
86
+ }
87
+ })
88
+ ]
89
+ };
90
+ }
91
+ })
92
+ ]);
93
+ //# sourceMappingURL=intent-resolver-JC4Q4TYU.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n contributes,\n Capabilities,\n createResolver,\n type PluginContext,\n createIntent,\n LayoutAction,\n} from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { FunctionTrigger, FunctionType, ScriptType, TriggerKind } from '@dxos/functions';\nimport { type DXN } from '@dxos/keys';\nimport { live } from '@dxos/live-object';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter } from '@dxos/react-client/echo';\n\nimport { AutomationAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: AutomationAction.CreateTriggerFromTemplate,\n resolve: async ({ space, template, enabled = false, scriptName, input }) => {\n const trigger = live(FunctionTrigger, { enabled, input });\n\n // TODO(wittjosiah): Factor out function lookup by script name?\n if (scriptName) {\n const {\n objects: [script],\n } = await space.db.query(Filter.type(ScriptType, { name: scriptName })).run();\n if (script) {\n const {\n objects: [fn],\n } = await space.db.query(Filter.type(FunctionType, { source: Ref.make(script) })).run();\n if (fn) {\n trigger.function = Ref.make(fn);\n }\n }\n }\n\n switch (template.type) {\n case 'timer': {\n trigger.spec = { kind: TriggerKind.Timer, cron: template.cron };\n break;\n }\n case 'queue': {\n trigger.spec = { kind: TriggerKind.Queue, queue: (template.queueDXN as DXN).toString() };\n break;\n }\n default: {\n break;\n }\n }\n\n return {\n intents: [\n createIntent(SpaceAction.AddObject, { object: trigger, target: space }),\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`automation-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n };\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAOO;AACP,kBAAoB;AACpB,uBAAuE;AAEvE,yBAAqB;AACrB,mBAA0C;AAC1C,IAAAA,gBAA4B;AAC5B,IAAAC,eAAuB;AAIvB,IAAA,0BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,uCAAiBC;IACzBC,SAAS,OAAO,EAAEC,OAAOC,UAAUC,UAAU,OAAOC,YAAYC,MAAK,MAAE;AACrE,YAAMC,cAAUC,yBAAKC,kCAAiB;QAAEL;QAASE;MAAM,CAAA;AAGvD,UAAID,YAAY;AACd,cAAM,EACJK,SAAS,CAACC,MAAAA,EAAO,IACf,MAAMT,MAAMU,GAAGC,MAAMC,oBAAOC,KAAKC,6BAAY;UAAEC,MAAMZ;QAAW,CAAA,CAAA,EAAIa,IAAG;AAC3E,YAAIP,QAAQ;AACV,gBAAM,EACJD,SAAS,CAACS,EAAAA,EAAG,IACX,MAAMjB,MAAMU,GAAGC,MAAMC,oBAAOC,KAAKK,+BAAc;YAAEC,QAAQC,gBAAIC,KAAKZ,MAAAA;UAAQ,CAAA,CAAA,EAAIO,IAAG;AACrF,cAAIC,IAAI;AACNZ,oBAAQiB,WAAWF,gBAAIC,KAAKJ,EAAAA;UAC9B;QACF;MACF;AAEA,cAAQhB,SAASY,MAAI;QACnB,KAAK,SAAS;AACZR,kBAAQkB,OAAO;YAAEC,MAAMC,6BAAYC;YAAOC,MAAM1B,SAAS0B;UAAK;AAC9D;QACF;QACA,KAAK,SAAS;AACZtB,kBAAQkB,OAAO;YAAEC,MAAMC,6BAAYG;YAAOC,OAAQ5B,SAAS6B,SAAiBC,SAAQ;UAAG;AACvF;QACF;QACA,SAAS;AACP;QACF;MACF;AAEA,aAAO;QACLC,SAAS;cACPC,mCAAaC,0BAAYC,WAAW;YAAEC,QAAQ/B;YAASgC,QAAQrC;UAAM,CAAA;cACrEiC,mCAAaK,kCAAaC,MAAM;YAC9BC,MAAM;YACNC,SAAS;cAAC,sBAAsBC,sCAAAA,GAA4B1C,MAAM2C,EAAE;;YACpEC,SAAS;cACPC,WAAW7C,MAAM2C;YACnB;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;CACD;",
6
+ "names": ["import_types", "import_echo", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "AutomationAction", "CreateTriggerFromTemplate", "resolve", "space", "template", "enabled", "scriptName", "input", "trigger", "live", "FunctionTrigger", "objects", "script", "db", "query", "Filter", "type", "ScriptType", "name", "run", "fn", "FunctionType", "source", "Ref", "make", "function", "spec", "kind", "TriggerKind", "Timer", "cron", "Queue", "queue", "queueDXN", "toString", "intents", "createIntent", "SpaceAction", "AddObject", "object", "target", "LayoutAction", "Open", "part", "subject", "ATTENDABLE_PATH_SEPARATOR", "id", "options", "workspace"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-automation/src/meta.ts":{"bytes":1764,"imports":[],"format":"esm"},"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx":{"bytes":18213,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts":{"bytes":544,"imports":[{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx","kind":"import-statement","original":"./TriggerEditor"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx":{"bytes":21670,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts","kind":"import-statement","original":"../TriggerEditor"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts":{"bytes":738,"imports":[{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx","kind":"import-statement","original":"./AutomationPanel"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/index.ts":{"bytes":914,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts","kind":"import-statement","original":"./TriggerEditor"},{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts","kind":"dynamic-import","original":"./AutomationPanel"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts":{"bytes":4479,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx":{"bytes":4985,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/index.ts":{"bytes":1096,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-automation/src/translations.ts":{"bytes":3132,"imports":[{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/AutomationPlugin.tsx":{"bytes":6390,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-automation/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-automation/src/index.ts":{"bytes":704,"imports":[{"path":"packages/plugins/plugin-automation/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-automation/src/AutomationPlugin.tsx","kind":"import-statement","original":"./AutomationPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-automation/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4811},"packages/plugins/plugin-automation/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-AGJ6XTDN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-FTEDH5Q6.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/react-surface-52M54VWV.cjs","kind":"dynamic-import"}],"exports":["AUTOMATION_PLUGIN","AutomationPanel","AutomationPlugin","TriggerEditor","meta"],"entryPoint":"packages/plugins/plugin-automation/src/index.ts","inputs":{"packages/plugins/plugin-automation/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-automation/src/AutomationPlugin.tsx":{"bytesInOutput":1357},"packages/plugins/plugin-automation/src/capabilities/index.ts":{"bytesInOutput":193},"packages/plugins/plugin-automation/src/translations.ts":{"bytesInOutput":827}},"bytes":2942},"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12052},"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-FTEDH5Q6.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts","inputs":{"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx":{"bytesInOutput":5148},"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts":{"bytesInOutput":47}},"bytes":5583},"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2151},"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts":{"bytesInOutput":1001}},"bytes":1232},"packages/plugins/plugin-automation/dist/lib/node/react-surface-52M54VWV.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2476},"packages/plugins/plugin-automation/dist/lib/node/react-surface-52M54VWV.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-AGJ6XTDN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-FTEDH5Q6.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx":{"bytesInOutput":1121}},"bytes":1430},"packages/plugins/plugin-automation/dist/lib/node/chunk-AGJ6XTDN.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":404},"packages/plugins/plugin-automation/dist/lib/node/chunk-AGJ6XTDN.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs","kind":"dynamic-import"}],"exports":["AutomationPanel"],"inputs":{"packages/plugins/plugin-automation/src/components/index.ts":{"bytesInOutput":106}},"bytes":243},"packages/plugins/plugin-automation/dist/lib/node/chunk-FTEDH5Q6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9335},"packages/plugins/plugin-automation/dist/lib/node/chunk-FTEDH5Q6.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/functions/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"exports":["TriggerEditor"],"inputs":{"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx":{"bytesInOutput":4576},"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts":{"bytesInOutput":0}},"bytes":4795},"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":827},"packages/plugins/plugin-automation/dist/lib/node/chunk-7GXNXMSM.cjs":{"imports":[],"exports":["AUTOMATION_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-automation/src/meta.ts":{"bytesInOutput":395}},"bytes":530}}}
1
+ {"inputs":{"packages/plugins/plugin-automation/src/components/TriggerEditor/FunctionInputEditor.tsx":{"bytes":8548,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-automation/src/meta.ts":{"bytes":1695,"imports":[],"format":"esm"},"packages/plugins/plugin-automation/src/components/TriggerEditor/SpecSelector.tsx":{"bytes":7368,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx":{"bytes":12237,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/FunctionInputEditor.tsx","kind":"import-statement","original":"./FunctionInputEditor"},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/SpecSelector.tsx","kind":"import-statement","original":"./SpecSelector"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts":{"bytes":516,"imports":[{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx","kind":"import-statement","original":"./TriggerEditor"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx":{"bytes":21550,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts","kind":"import-statement","original":"../TriggerEditor"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts":{"bytes":813,"imports":[{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx","kind":"import-statement","original":"./AutomationPanel"},{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx","kind":"import-statement","original":"./AutomationPanel"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/AutomationContainer.tsx":{"bytes":3726,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts","kind":"import-statement","original":"./AutomationPanel"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/FunctionsPanel/FunctionsPanel.tsx":{"bytes":11971,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/FunctionsPanel/index.ts":{"bytes":796,"imports":[{"path":"packages/plugins/plugin-automation/src/components/FunctionsPanel/FunctionsPanel.tsx","kind":"import-statement","original":"./FunctionsPanel"},{"path":"packages/plugins/plugin-automation/src/components/FunctionsPanel/FunctionsPanel.tsx","kind":"import-statement","original":"./FunctionsPanel"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/FunctionsContainer.tsx":{"bytes":3706,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/FunctionsPanel/index.ts","kind":"import-statement","original":"./FunctionsPanel"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/components/index.ts":{"bytes":1700,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts","kind":"import-statement","original":"./TriggerEditor"},{"path":"packages/plugins/plugin-automation/src/components/AutomationContainer.tsx","kind":"dynamic-import","original":"./AutomationContainer"},{"path":"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts","kind":"dynamic-import","original":"./AutomationPanel"},{"path":"packages/plugins/plugin-automation/src/components/FunctionsContainer.tsx","kind":"dynamic-import","original":"./FunctionsContainer"},{"path":"packages/plugins/plugin-automation/src/components/FunctionsPanel/index.ts","kind":"dynamic-import","original":"./FunctionsPanel"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts":{"bytes":11402,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/types.ts":{"bytes":4294,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/intent-resolver.ts":{"bytes":9367,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx":{"bytes":7849,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/capabilities/index.ts":{"bytes":1317,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-automation/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-automation/src/translations.ts":{"bytes":4585,"imports":[{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-automation/src/AutomationPlugin.tsx":{"bytes":5376,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-automation/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-automation/src/index.ts":{"bytes":672,"imports":[{"path":"packages/plugins/plugin-automation/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-automation/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-automation/src/AutomationPlugin.tsx","kind":"import-statement","original":"./AutomationPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-automation/dist/lib/node/react-surface-HB3MYTCK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3897},"packages/plugins/plugin-automation/dist/lib/node/react-surface-HB3MYTCK.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-DOLMQUQ5.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-automation/src/capabilities/react-surface.tsx":{"bytesInOutput":1842}},"bytes":2196},"packages/plugins/plugin-automation/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5188},"packages/plugins/plugin-automation/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-DOLMQUQ5.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-DUKR2BRB.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/intent-resolver-JC4Q4TYU.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/react-surface-HB3MYTCK.cjs","kind":"dynamic-import"}],"exports":["AUTOMATION_PLUGIN","AutomationContainer","AutomationPanel","AutomationPlugin","FunctionsContainer","FunctionsPanel","TriggerEditor","meta"],"entryPoint":"packages/plugins/plugin-automation/src/index.ts","inputs":{"packages/plugins/plugin-automation/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-automation/src/AutomationPlugin.tsx":{"bytesInOutput":1109},"packages/plugins/plugin-automation/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/plugin-automation/src/translations.ts":{"bytesInOutput":1380}},"bytes":3448},"packages/plugins/plugin-automation/dist/lib/node/chunk-DOLMQUQ5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":836},"packages/plugins/plugin-automation/dist/lib/node/chunk-DOLMQUQ5.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-automation/dist/lib/node/AutomationContainer-5J7LJK7L.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-NPDBUQ7D.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/FunctionsContainer-LNLDZUZ6.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-automation/dist/lib/node/FunctionsPanel-7AOXIQMA.cjs","kind":"dynamic-import"}],"exports":["AutomationContainer","AutomationPanel","FunctionsContainer","FunctionsPanel"],"inputs":{"packages/plugins/plugin-automation/src/components/index.ts":{"bytesInOutput":346}},"bytes":546},"packages/plugins/plugin-automation/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-automation/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-GIIVTK4O.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"}],"exports":["AutomationAction"],"entryPoint":"packages/plugins/plugin-automation/src/types.ts","inputs":{},"bytes":156},"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-NPDBUQ7D.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-automation/dist/lib/node/AutomationPanel-NPDBUQ7D.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-4O627QZU.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"}],"exports":["AutomationPanel","default"],"entryPoint":"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts","inputs":{},"bytes":269},"packages/plugins/plugin-automation/dist/lib/node/AutomationContainer-5J7LJK7L.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1806},"packages/plugins/plugin-automation/dist/lib/node/AutomationContainer-5J7LJK7L.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-4O627QZU.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["AutomationContainer","default"],"entryPoint":"packages/plugins/plugin-automation/src/components/AutomationContainer.tsx","inputs":{"packages/plugins/plugin-automation/src/components/AutomationContainer.tsx":{"bytesInOutput":986}},"bytes":1347},"packages/plugins/plugin-automation/dist/lib/node/chunk-4O627QZU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11850},"packages/plugins/plugin-automation/dist/lib/node/chunk-4O627QZU.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["AutomationPanel","AutomationPanel_default"],"inputs":{"packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx":{"bytesInOutput":5365},"packages/plugins/plugin-automation/src/components/AutomationPanel/index.ts":{"bytesInOutput":47}},"bytes":5799},"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14273},"packages/plugins/plugin-automation/dist/lib/node/chunk-O42NQYQT.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"exports":["TriggerEditor"],"inputs":{"packages/plugins/plugin-automation/src/components/TriggerEditor/TriggerEditor.tsx":{"bytesInOutput":2882},"packages/plugins/plugin-automation/src/components/TriggerEditor/FunctionInputEditor.tsx":{"bytesInOutput":2223},"packages/plugins/plugin-automation/src/components/TriggerEditor/SpecSelector.tsx":{"bytesInOutput":1877},"packages/plugins/plugin-automation/src/components/TriggerEditor/index.ts":{"bytesInOutput":0}},"bytes":7464},"packages/plugins/plugin-automation/dist/lib/node/FunctionsPanel-7AOXIQMA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-automation/dist/lib/node/FunctionsPanel-7AOXIQMA.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-WXQAVUBJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"}],"exports":["FunctionsPanel","default"],"entryPoint":"packages/plugins/plugin-automation/src/components/FunctionsPanel/index.ts","inputs":{},"bytes":233},"packages/plugins/plugin-automation/dist/lib/node/FunctionsContainer-LNLDZUZ6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1792},"packages/plugins/plugin-automation/dist/lib/node/FunctionsContainer-LNLDZUZ6.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-WXQAVUBJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["FunctionsContainer","default"],"entryPoint":"packages/plugins/plugin-automation/src/components/FunctionsContainer.tsx","inputs":{"packages/plugins/plugin-automation/src/components/FunctionsContainer.tsx":{"bytesInOutput":980}},"bytes":1305},"packages/plugins/plugin-automation/dist/lib/node/chunk-WXQAVUBJ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6530},"packages/plugins/plugin-automation/dist/lib/node/chunk-WXQAVUBJ.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["FunctionsPanel","FunctionsPanel_default"],"inputs":{"packages/plugins/plugin-automation/src/components/FunctionsPanel/FunctionsPanel.tsx":{"bytesInOutput":3179},"packages/plugins/plugin-automation/src/components/FunctionsPanel/index.ts":{"bytesInOutput":45}},"bytes":3550},"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-DUKR2BRB.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5356},"packages/plugins/plugin-automation/dist/lib/node/app-graph-builder-DUKR2BRB.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-automation/src/capabilities/app-graph-builder.ts":{"bytesInOutput":2539}},"bytes":2770},"packages/plugins/plugin-automation/dist/lib/node/intent-resolver-JC4Q4TYU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4550},"packages/plugins/plugin-automation/dist/lib/node/intent-resolver-JC4Q4TYU.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-GIIVTK4O.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-automation/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-automation/src/capabilities/intent-resolver.ts":{"bytesInOutput":2068}},"bytes":2336},"packages/plugins/plugin-automation/dist/lib/node/chunk-GIIVTK4O.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2184},"packages/plugins/plugin-automation/dist/lib/node/chunk-GIIVTK4O.cjs":{"imports":[{"path":"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["AutomationAction"],"inputs":{"packages/plugins/plugin-automation/src/types.ts":{"bytesInOutput":1025}},"bytes":1213},"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":814},"packages/plugins/plugin-automation/dist/lib/node/chunk-3EF7MLFX.cjs":{"imports":[],"exports":["AUTOMATION_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-automation/src/meta.ts":{"bytesInOutput":382}},"bytes":517}}}