@dxos/plugin-automation 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea

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 (156) hide show
  1. package/dist/lib/browser/AutomationPanel-LBXJDM6Z.mjs +11 -0
  2. package/dist/lib/browser/{AutomationSettings-6XLG2PCK.mjs → AutomationSettings-IIEI5D2K.mjs} +6 -7
  3. package/dist/lib/{node-esm/AutomationSettings-4IW7RGMN.mjs.map → browser/AutomationSettings-IIEI5D2K.mjs.map} +1 -1
  4. package/dist/lib/browser/{FunctionsContainer-BQ6VBDIG.mjs → FunctionsContainer-IZTCGNJZ.mjs} +3 -3
  5. package/dist/lib/browser/{FunctionsPanel-QBTOFFNU.mjs → FunctionsPanel-HFCK3JRB.mjs} +3 -3
  6. package/dist/lib/browser/{app-graph-builder-6TP6ZNYG.mjs → app-graph-builder-7VKA2GS3.mjs} +8 -7
  7. package/dist/lib/browser/app-graph-builder-7VKA2GS3.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-M2WQCY2T.mjs → chunk-CVYJM6OO.mjs} +19 -6
  9. package/dist/lib/browser/chunk-CVYJM6OO.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-EAQL33PI.mjs → chunk-FHSN7G4H.mjs} +22 -9
  11. package/dist/lib/browser/chunk-FHSN7G4H.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-ZTXBAXUT.mjs → chunk-GCGHLQM2.mjs} +2 -2
  13. package/dist/lib/browser/chunk-GCGHLQM2.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-IN2YC7NY.mjs → chunk-JW7XSPYW.mjs} +57 -20
  15. package/dist/lib/browser/chunk-JW7XSPYW.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-LNMCGQC2.mjs → chunk-K5YNWESC.mjs} +60 -20
  17. package/dist/lib/browser/chunk-K5YNWESC.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-LZQFZO3B.mjs +17 -0
  19. package/dist/lib/browser/chunk-LZQFZO3B.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-U66KBK53.mjs → chunk-XXZNGORC.mjs} +5 -5
  21. package/dist/lib/browser/{chunk-F4K5EMWL.mjs → chunk-YBPJCY3F.mjs} +3 -3
  22. package/dist/lib/browser/chunk-YBPJCY3F.mjs.map +7 -0
  23. package/dist/lib/browser/{compute-runtime-OFQPXD5I.mjs → compute-runtime-PFYRMGN2.mjs} +27 -71
  24. package/dist/lib/browser/compute-runtime-PFYRMGN2.mjs.map +7 -0
  25. package/dist/lib/browser/hooks/index.mjs +3 -4
  26. package/dist/lib/browser/index.mjs +26 -10
  27. package/dist/lib/browser/index.mjs.map +4 -4
  28. package/dist/lib/browser/{intent-resolver-JXVWRAAH.mjs → intent-resolver-5HR7M7T6.mjs} +8 -8
  29. package/dist/lib/browser/intent-resolver-5HR7M7T6.mjs.map +7 -0
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/{react-surface-NG3MJCDH.mjs → react-surface-WPMY3EX2.mjs} +5 -6
  32. package/dist/lib/browser/react-surface-WPMY3EX2.mjs.map +7 -0
  33. package/dist/lib/browser/types/index.mjs +2 -2
  34. package/dist/lib/node-esm/{AutomationPanel-WMVR3IST.mjs → AutomationPanel-NVEIUIZP.mjs} +4 -4
  35. package/dist/lib/node-esm/{AutomationSettings-4IW7RGMN.mjs → AutomationSettings-VIIEPI2P.mjs} +6 -7
  36. package/dist/lib/node-esm/{FunctionsContainer-LHUUOLA5.mjs → FunctionsContainer-KKRCIXGB.mjs} +3 -3
  37. package/dist/lib/node-esm/{FunctionsPanel-SHTQIMDV.mjs → FunctionsPanel-74ELGR7P.mjs} +3 -3
  38. package/dist/lib/node-esm/{app-graph-builder-3A2NIPR5.mjs → app-graph-builder-RTOFJNFV.mjs} +8 -7
  39. package/dist/lib/node-esm/app-graph-builder-RTOFJNFV.mjs.map +7 -0
  40. package/dist/lib/node-esm/{chunk-DSEZPWSO.mjs → chunk-3BJ6BR3E.mjs} +19 -6
  41. package/dist/lib/node-esm/chunk-3BJ6BR3E.mjs.map +7 -0
  42. package/dist/lib/node-esm/{chunk-5MQJPJR2.mjs → chunk-CEVIVRTY.mjs} +6 -2
  43. package/dist/lib/node-esm/chunk-CEVIVRTY.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-CEWZ2CDM.mjs → chunk-ECJKIUBO.mjs} +3 -3
  45. package/dist/lib/node-esm/chunk-ECJKIUBO.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-PBULJE4B.mjs → chunk-JOCKHLFT.mjs} +22 -9
  47. package/dist/lib/node-esm/chunk-JOCKHLFT.mjs.map +7 -0
  48. package/dist/lib/node-esm/{chunk-B6O6UBS7.mjs → chunk-MRYKW5TM.mjs} +2 -2
  49. package/dist/lib/node-esm/chunk-MRYKW5TM.mjs.map +7 -0
  50. package/dist/lib/node-esm/{chunk-2L2X4JMP.mjs → chunk-U5Q2NI7H.mjs} +5 -5
  51. package/dist/lib/node-esm/{chunk-N7NES6SZ.mjs → chunk-W76WUTZY.mjs} +57 -20
  52. package/dist/lib/node-esm/chunk-W76WUTZY.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-MN5S5J4O.mjs → chunk-Y7PJXFCJ.mjs} +60 -20
  54. package/dist/lib/node-esm/chunk-Y7PJXFCJ.mjs.map +7 -0
  55. package/dist/lib/node-esm/{compute-runtime-W5UJNSQY.mjs → compute-runtime-IXCSD3W7.mjs} +27 -71
  56. package/dist/lib/node-esm/compute-runtime-IXCSD3W7.mjs.map +7 -0
  57. package/dist/lib/node-esm/hooks/index.mjs +3 -4
  58. package/dist/lib/node-esm/index.mjs +26 -10
  59. package/dist/lib/node-esm/index.mjs.map +4 -4
  60. package/dist/lib/node-esm/{intent-resolver-ROEBZXSS.mjs → intent-resolver-KDRYB5BC.mjs} +8 -8
  61. package/dist/lib/node-esm/intent-resolver-KDRYB5BC.mjs.map +7 -0
  62. package/dist/lib/node-esm/meta.json +1 -1
  63. package/dist/lib/node-esm/{react-surface-A4KTYX6Z.mjs → react-surface-Y2BBJV2I.mjs} +5 -6
  64. package/dist/lib/node-esm/react-surface-Y2BBJV2I.mjs.map +7 -0
  65. package/dist/lib/node-esm/types/index.mjs +2 -2
  66. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/capabilities.d.ts +3 -2
  69. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/compute-runtime.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  72. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +2 -2
  73. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  74. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +1 -0
  75. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  76. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -1
  77. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +2 -2
  78. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -1
  79. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -1
  80. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +7 -5
  81. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  82. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +4 -2
  83. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  84. package/dist/types/src/events.d.ts +4 -0
  85. package/dist/types/src/events.d.ts.map +1 -0
  86. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +1 -1
  87. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +1 -1
  88. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +2 -2
  89. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
  90. package/dist/types/src/index.d.ts +2 -0
  91. package/dist/types/src/index.d.ts.map +1 -1
  92. package/dist/types/src/meta.d.ts.map +1 -1
  93. package/dist/types/src/translations.d.ts +1 -0
  94. package/dist/types/src/translations.d.ts.map +1 -1
  95. package/dist/types/src/types/schema.d.ts +1 -1
  96. package/dist/types/src/types/schema.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +33 -31
  99. package/src/AutomationPlugin.tsx +4 -2
  100. package/src/capabilities/app-graph-builder.ts +7 -6
  101. package/src/capabilities/capabilities.ts +3 -2
  102. package/src/capabilities/compute-runtime.ts +7 -5
  103. package/src/capabilities/intent-resolver.ts +5 -5
  104. package/src/capabilities/react-surface.tsx +2 -3
  105. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +3 -4
  106. package/src/components/AutomationPanel/AutomationPanel.tsx +91 -28
  107. package/src/components/FunctionsPanel/FunctionsPanel.tsx +22 -10
  108. package/src/components/TriggerEditor/FunctionInputEditor.tsx +10 -4
  109. package/src/components/TriggerEditor/SpecSelector.tsx +12 -6
  110. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +58 -17
  111. package/src/components/TriggerEditor/TriggerEditor.tsx +44 -18
  112. package/src/events.ts +11 -0
  113. package/src/hooks/useComputeRuntimeCallback.ts +3 -1
  114. package/src/hooks/useTriggerRuntimeControls.ts +4 -4
  115. package/src/index.ts +2 -0
  116. package/src/meta.ts +5 -2
  117. package/src/testing/test-functions.ts +1 -1
  118. package/src/translations.ts +1 -0
  119. package/src/types/schema.ts +1 -1
  120. package/dist/lib/browser/AutomationPanel-4QA5G3ZY.mjs +0 -11
  121. package/dist/lib/browser/app-graph-builder-6TP6ZNYG.mjs.map +0 -7
  122. package/dist/lib/browser/chunk-BDJPBZGC.mjs +0 -14
  123. package/dist/lib/browser/chunk-BDJPBZGC.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-EAQL33PI.mjs.map +0 -7
  125. package/dist/lib/browser/chunk-F4K5EMWL.mjs.map +0 -7
  126. package/dist/lib/browser/chunk-IN2YC7NY.mjs.map +0 -7
  127. package/dist/lib/browser/chunk-LNMCGQC2.mjs.map +0 -7
  128. package/dist/lib/browser/chunk-M2WQCY2T.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-WWURMV25.mjs +0 -13
  130. package/dist/lib/browser/chunk-WWURMV25.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-ZTXBAXUT.mjs.map +0 -7
  132. package/dist/lib/browser/compute-runtime-OFQPXD5I.mjs.map +0 -7
  133. package/dist/lib/browser/intent-resolver-JXVWRAAH.mjs.map +0 -7
  134. package/dist/lib/browser/react-surface-NG3MJCDH.mjs.map +0 -7
  135. package/dist/lib/node-esm/app-graph-builder-3A2NIPR5.mjs.map +0 -7
  136. package/dist/lib/node-esm/chunk-5MQJPJR2.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-B6O6UBS7.mjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-CEWZ2CDM.mjs.map +0 -7
  139. package/dist/lib/node-esm/chunk-DSEZPWSO.mjs.map +0 -7
  140. package/dist/lib/node-esm/chunk-MN5S5J4O.mjs.map +0 -7
  141. package/dist/lib/node-esm/chunk-N7NES6SZ.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-PBULJE4B.mjs.map +0 -7
  143. package/dist/lib/node-esm/chunk-UTZIMYCX.mjs +0 -16
  144. package/dist/lib/node-esm/chunk-UTZIMYCX.mjs.map +0 -7
  145. package/dist/lib/node-esm/compute-runtime-W5UJNSQY.mjs.map +0 -7
  146. package/dist/lib/node-esm/intent-resolver-ROEBZXSS.mjs.map +0 -7
  147. package/dist/lib/node-esm/react-surface-A4KTYX6Z.mjs.map +0 -7
  148. /package/dist/lib/browser/{AutomationPanel-4QA5G3ZY.mjs.map → AutomationPanel-LBXJDM6Z.mjs.map} +0 -0
  149. /package/dist/lib/browser/{FunctionsContainer-BQ6VBDIG.mjs.map → FunctionsContainer-IZTCGNJZ.mjs.map} +0 -0
  150. /package/dist/lib/browser/{FunctionsPanel-QBTOFFNU.mjs.map → FunctionsPanel-HFCK3JRB.mjs.map} +0 -0
  151. /package/dist/lib/browser/{chunk-U66KBK53.mjs.map → chunk-XXZNGORC.mjs.map} +0 -0
  152. /package/dist/lib/node-esm/{AutomationPanel-WMVR3IST.mjs.map → AutomationPanel-NVEIUIZP.mjs.map} +0 -0
  153. /package/dist/lib/{browser/AutomationSettings-6XLG2PCK.mjs.map → node-esm/AutomationSettings-VIIEPI2P.mjs.map} +0 -0
  154. /package/dist/lib/node-esm/{FunctionsContainer-LHUUOLA5.mjs.map → FunctionsContainer-KKRCIXGB.mjs.map} +0 -0
  155. /package/dist/lib/node-esm/{FunctionsPanel-SHTQIMDV.mjs.map → FunctionsPanel-74ELGR7P.mjs.map} +0 -0
  156. /package/dist/lib/node-esm/{chunk-2L2X4JMP.mjs.map → chunk-U5Q2NI7H.mjs.map} +0 -0
@@ -1,13 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AutomationCapabilities
4
- } from "./chunk-B6O6UBS7.mjs";
5
- import "./chunk-5MQJPJR2.mjs";
4
+ } from "./chunk-MRYKW5TM.mjs";
5
+ import "./chunk-CEVIVRTY.mjs";
6
6
 
7
7
  // src/capabilities/compute-runtime.ts
8
- import { Toolkit } from "@effect/ai";
9
- import { BrowserKeyValueStore } from "@effect/platform-browser";
10
- import { Effect, Layer, ManagedRuntime } from "effect";
8
+ import * as Toolkit from "@effect/ai/Toolkit";
9
+ import * as BrowserKeyValueStore from "@effect/platform-browser/BrowserKeyValueStore";
10
+ import * as Effect from "effect/Effect";
11
+ import * as Layer from "effect/Layer";
12
+ import * as ManagedRuntime from "effect/ManagedRuntime";
11
13
  import { Capabilities, contributes } from "@dxos/app-framework";
12
14
  import { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from "@dxos/assistant";
13
15
  import { Resource } from "@dxos/context";
@@ -17,46 +19,6 @@ import { TriggerStateStore } from "@dxos/functions";
17
19
  import { invariant } from "@dxos/invariant";
18
20
  import { ClientCapabilities } from "@dxos/plugin-client";
19
21
  import { PropertiesType } from "@dxos/react-client/echo";
20
- function _check_private_redeclaration(obj, privateCollection) {
21
- if (privateCollection.has(obj)) {
22
- throw new TypeError("Cannot initialize the same private elements twice on an object");
23
- }
24
- }
25
- function _class_apply_descriptor_get(receiver, descriptor) {
26
- if (descriptor.get) {
27
- return descriptor.get.call(receiver);
28
- }
29
- return descriptor.value;
30
- }
31
- function _class_apply_descriptor_set(receiver, descriptor, value) {
32
- if (descriptor.set) {
33
- descriptor.set.call(receiver, value);
34
- } else {
35
- if (!descriptor.writable) {
36
- throw new TypeError("attempted to set read only private field");
37
- }
38
- descriptor.value = value;
39
- }
40
- }
41
- function _class_extract_field_descriptor(receiver, privateMap, action) {
42
- if (!privateMap.has(receiver)) {
43
- throw new TypeError("attempted to " + action + " private field on non-instance");
44
- }
45
- return privateMap.get(receiver);
46
- }
47
- function _class_private_field_get(receiver, privateMap) {
48
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
49
- return _class_apply_descriptor_get(receiver, descriptor);
50
- }
51
- function _class_private_field_init(obj, privateMap, value) {
52
- _check_private_redeclaration(obj, privateMap);
53
- privateMap.set(obj, value);
54
- }
55
- function _class_private_field_set(receiver, privateMap, value) {
56
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
57
- _class_apply_descriptor_set(receiver, descriptor, value);
58
- return value;
59
- }
60
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-automation/src/capabilities/compute-runtime.ts";
61
23
  var compute_runtime_default = (async (context) => {
62
24
  const provider = await new ComputeRuntimeProviderImpl(context).open();
@@ -64,32 +26,36 @@ var compute_runtime_default = (async (context) => {
64
26
  await provider.close();
65
27
  });
66
28
  });
67
- var _runtimes = /* @__PURE__ */ new WeakMap();
68
- var _context = /* @__PURE__ */ new WeakMap();
69
29
  var ComputeRuntimeProviderImpl = class extends Resource {
30
+ #runtimes = /* @__PURE__ */ new Map();
31
+ #context;
32
+ constructor(context) {
33
+ super();
34
+ this.#context = context;
35
+ }
70
36
  async _open() {
71
37
  }
72
38
  async _close() {
73
- await Promise.all(Array.from(_class_private_field_get(this, _runtimes).values()).map((rt) => rt.dispose()));
74
- _class_private_field_get(this, _runtimes).clear();
39
+ await Promise.all(Array.from(this.#runtimes.values()).map((rt) => rt.dispose()));
40
+ this.#runtimes.clear();
75
41
  }
76
42
  getRuntime(spaceId) {
77
- if (_class_private_field_get(this, _runtimes).has(spaceId)) {
78
- return _class_private_field_get(this, _runtimes).get(spaceId);
43
+ if (this.#runtimes.has(spaceId)) {
44
+ return this.#runtimes.get(spaceId);
79
45
  }
80
46
  const layer = Layer.unwrapEffect(Effect.gen(this, function* () {
81
- const client = _class_private_field_get(this, _context).getCapability(ClientCapabilities.Client);
82
- const serviceLayer = _class_private_field_get(this, _context).getCapability(Capabilities.AiServiceLayer) ?? Layer.die("AiService not found");
83
- const functions = _class_private_field_get(this, _context).getCapabilities(Capabilities.Functions);
84
- const toolkits = _class_private_field_get(this, _context).getCapabilities(Capabilities.Toolkit);
85
- const handlers = _class_private_field_get(this, _context).getCapabilities(Capabilities.ToolkitHandler);
47
+ const client = this.#context.getCapability(ClientCapabilities.Client);
48
+ const serviceLayer = this.#context.getCapability(Capabilities.AiServiceLayer) ?? Layer.die("AiService not found");
49
+ const functions = this.#context.getCapabilities(Capabilities.Functions);
50
+ const toolkits = this.#context.getCapabilities(Capabilities.Toolkit);
51
+ const handlers = this.#context.getCapabilities(Capabilities.ToolkitHandler);
86
52
  const allFunctions = functions.flat();
87
53
  const toolkit = Toolkit.merge(...toolkits);
88
54
  const handlersLayer = Layer.mergeAll(Layer.empty, ...handlers);
89
55
  const space = client.spaces.get(spaceId);
90
56
  invariant(space, void 0, {
91
57
  F: __dxlog_file,
92
- L: 77,
58
+ L: 79,
93
59
  S: this,
94
60
  A: [
95
61
  "space",
@@ -108,25 +74,15 @@ var ComputeRuntimeProviderImpl = class extends Resource {
108
74
  )), Layer.provideMerge(serviceLayer), Layer.provideMerge(CredentialsService.layerFromDatabase()), Layer.provideMerge(space ? DatabaseService.layer(space.db) : DatabaseService.notAvailable), Layer.provideMerge(space ? QueueService.layer(space.queues) : QueueService.notAvailable)))))));
109
75
  }));
110
76
  const runtime = ManagedRuntime.make(layer);
111
- _class_private_field_get(this, _runtimes).set(spaceId, runtime);
77
+ this.#runtimes.set(spaceId, runtime);
112
78
  return runtime;
113
79
  }
114
- constructor(context) {
115
- super(), _class_private_field_init(this, _runtimes, {
116
- writable: true,
117
- value: /* @__PURE__ */ new Map()
118
- }), _class_private_field_init(this, _context, {
119
- writable: true,
120
- value: void 0
121
- });
122
- _class_private_field_set(this, _context, context);
123
- }
124
80
  };
125
81
  var InvocationTracerLive = Layer.unwrapEffect(Effect.gen(function* () {
126
82
  const { objects: [properties] } = yield* DatabaseService.runQuery(Query.type(PropertiesType));
127
83
  invariant(properties, void 0, {
128
84
  F: __dxlog_file,
129
- L: 127,
85
+ L: 129,
130
86
  S: this,
131
87
  A: [
132
88
  "properties",
@@ -142,7 +98,7 @@ var InvocationTracerLive = Layer.unwrapEffect(Effect.gen(function* () {
142
98
  const queue = properties.invocationTraceQueue.target;
143
99
  invariant(queue, void 0, {
144
100
  F: __dxlog_file,
145
- L: 133,
101
+ L: 135,
146
102
  S: this,
147
103
  A: [
148
104
  "queue",
@@ -156,4 +112,4 @@ var InvocationTracerLive = Layer.unwrapEffect(Effect.gen(function* () {
156
112
  export {
157
113
  compute_runtime_default as default
158
114
  };
159
- //# sourceMappingURL=compute-runtime-W5UJNSQY.mjs.map
115
+ //# sourceMappingURL=compute-runtime-IXCSD3W7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compute-runtime.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as BrowserKeyValueStore from '@effect/platform-browser/BrowserKeyValueStore';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';\nimport { Resource } from '@dxos/context';\nimport { Query, Ref } from '@dxos/echo';\nimport {\n CredentialsService,\n DatabaseService,\n FunctionImplementationResolver,\n FunctionInvocationService,\n InvocationTracer,\n LocalFunctionExecutionService,\n QueueService,\n RemoteFunctionExecutionService,\n TriggerDispatcher,\n} from '@dxos/functions';\nimport { TriggerStateStore } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { type SpaceId } from '@dxos/keys';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PropertiesType } from '@dxos/react-client/echo';\n\nimport { AutomationCapabilities } from './capabilities';\n\nexport default async (context: PluginContext) => {\n const provider = await new ComputeRuntimeProviderImpl(context).open();\n return contributes(AutomationCapabilities.ComputeRuntime, provider, async () => {\n await provider.close();\n });\n};\n\nclass ComputeRuntimeProviderImpl extends Resource implements AutomationCapabilities.ComputeRuntimeProvider {\n readonly #runtimes = new Map<SpaceId, AutomationCapabilities.ComputeRuntime>();\n readonly #context: PluginContext;\n\n constructor(context: PluginContext) {\n super();\n this.#context = context;\n }\n\n protected override async _open() {}\n\n protected override async _close() {\n await Promise.all(Array.from(this.#runtimes.values()).map((rt) => rt.dispose()));\n this.#runtimes.clear();\n }\n\n getRuntime(spaceId: SpaceId): AutomationCapabilities.ComputeRuntime {\n if (this.#runtimes.has(spaceId)) {\n return this.#runtimes.get(spaceId)!;\n }\n\n const layer = Layer.unwrapEffect(\n Effect.gen(this, function* () {\n const client = this.#context.getCapability(ClientCapabilities.Client);\n const serviceLayer =\n this.#context.getCapability(Capabilities.AiServiceLayer) ?? Layer.die('AiService not found');\n\n // TODO(dmaretskyi): Make those reactive.\n const functions = this.#context.getCapabilities(Capabilities.Functions);\n const toolkits = this.#context.getCapabilities(Capabilities.Toolkit);\n const handlers = this.#context.getCapabilities(Capabilities.ToolkitHandler);\n\n const allFunctions = functions.flat();\n // TODO(wittjosiah): Don't cast.\n const toolkit = Toolkit.merge(...toolkits) as Toolkit.Toolkit<any>;\n const handlersLayer = Layer.mergeAll(Layer.empty, ...handlers);\n\n const space = client.spaces.get(spaceId);\n invariant(space);\n yield* Effect.promise(() => space.waitUntilReady());\n\n return Layer.mergeAll(TriggerDispatcher.layer({ timeControl: 'natural' })).pipe(\n Layer.provideMerge(\n Layer.mergeAll(\n InvocationTracerLive,\n TriggerStateStore.layerKv.pipe(Layer.provide(BrowserKeyValueStore.layerLocalStorage)),\n makeToolResolverFromFunctions(allFunctions, toolkit),\n makeToolExecutionServiceFromFunctions(toolkit, handlersLayer),\n ),\n ),\n Layer.provideMerge(\n Layer.mergeAll(\n FunctionInvocationService.layer.pipe(\n Layer.provideMerge(\n LocalFunctionExecutionService.layerLive.pipe(\n Layer.provideMerge(FunctionImplementationResolver.layerTest({ functions: allFunctions })),\n Layer.provideMerge(\n RemoteFunctionExecutionService.fromClient(\n client.edge.baseUrl,\n // If agent is not enabled do not provide spaceId because space context will be unavailable on EDGE.\n client.config.get('runtime.client.edgeFeatures.agents') ? spaceId : undefined,\n ),\n ),\n Layer.provideMerge(serviceLayer),\n Layer.provideMerge(CredentialsService.layerFromDatabase()),\n Layer.provideMerge(space ? DatabaseService.layer(space.db) : DatabaseService.notAvailable),\n Layer.provideMerge(space ? QueueService.layer(space.queues) : QueueService.notAvailable),\n ),\n ),\n ),\n ),\n ),\n );\n }),\n );\n\n const runtime = ManagedRuntime.make(layer);\n this.#runtimes.set(spaceId, runtime);\n\n return runtime;\n }\n}\n\nconst InvocationTracerLive = Layer.unwrapEffect(\n Effect.gen(function* () {\n const {\n objects: [properties],\n } = yield* DatabaseService.runQuery(Query.type(PropertiesType));\n invariant(properties);\n if (!properties.invocationTraceQueue) {\n const queue = yield* QueueService.createQueue({ subspaceTag: 'trace' });\n properties.invocationTraceQueue = Ref.fromDXN(queue.dxn);\n }\n const queue = properties.invocationTraceQueue.target;\n invariant(queue);\n return InvocationTracer.layerLive({ invocationTraceQueue: queue });\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Toolkit", "BrowserKeyValueStore", "Effect", "Layer", "ManagedRuntime", "Capabilities", "contributes", "makeToolExecutionServiceFromFunctions", "makeToolResolverFromFunctions", "Resource", "Query", "Ref", "CredentialsService", "DatabaseService", "FunctionImplementationResolver", "FunctionInvocationService", "InvocationTracer", "LocalFunctionExecutionService", "QueueService", "RemoteFunctionExecutionService", "TriggerDispatcher", "TriggerStateStore", "invariant", "ClientCapabilities", "PropertiesType", "context", "provider", "ComputeRuntimeProviderImpl", "open", "contributes", "AutomationCapabilities", "ComputeRuntime", "close", "Resource", "Map", "_open", "_close", "Promise", "all", "Array", "from", "values", "map", "rt", "dispose", "clear", "getRuntime", "spaceId", "has", "get", "layer", "unwrapEffect", "gen", "client", "getCapability", "ClientCapabilities", "Client", "serviceLayer", "Capabilities", "AiServiceLayer", "die", "functions", "getCapabilities", "Functions", "toolkits", "Toolkit", "handlers", "ToolkitHandler", "allFunctions", "flat", "toolkit", "merge", "handlersLayer", "mergeAll", "empty", "space", "spaces", "invariant", "promise", "waitUntilReady", "TriggerDispatcher", "timeControl", "pipe", "provideMerge", "InvocationTracerLive", "TriggerStateStore", "layerKv", "provide", "layerLocalStorage", "makeToolResolverFromFunctions", "makeToolExecutionServiceFromFunctions", "FunctionInvocationService", "LocalFunctionExecutionService", "layerLive", "FunctionImplementationResolver", "layerTest", "RemoteFunctionExecutionService", "fromClient", "edge", "baseUrl", "config", "undefined", "CredentialsService", "layerFromDatabase", "DatabaseService", "db", "notAvailable", "QueueService", "queues", "runtime", "make", "set", "objects", "properties", "runQuery", "Query", "type", "PropertiesType", "invocationTraceQueue", "queue", "createQueue", "subspaceTag", "Ref", "fromDXN", "dxn", "target", "InvocationTracer"]
7
+ }
@@ -2,10 +2,9 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  useComputeRuntimeCallback,
4
4
  useTriggerRuntimeControls
5
- } from "../chunk-DSEZPWSO.mjs";
6
- import "../chunk-UTZIMYCX.mjs";
7
- import "../chunk-B6O6UBS7.mjs";
8
- import "../chunk-5MQJPJR2.mjs";
5
+ } from "../chunk-3BJ6BR3E.mjs";
6
+ import "../chunk-MRYKW5TM.mjs";
7
+ import "../chunk-CEVIVRTY.mjs";
9
8
  export {
10
9
  useComputeRuntimeCallback,
11
10
  useTriggerRuntimeControls
@@ -4,26 +4,35 @@ import {
4
4
  AutomationSettings,
5
5
  FunctionsContainer,
6
6
  FunctionsPanel
7
- } from "./chunk-2L2X4JMP.mjs";
7
+ } from "./chunk-U5Q2NI7H.mjs";
8
8
  import {
9
9
  AppGraphBuilder,
10
10
  ComputeRuntime,
11
11
  IntentResolver,
12
- ReactSurface
13
- } from "./chunk-UTZIMYCX.mjs";
12
+ ReactSurface,
13
+ useComputeRuntimeCallback,
14
+ useTriggerRuntimeControls
15
+ } from "./chunk-3BJ6BR3E.mjs";
14
16
  import {
15
17
  AutomationCapabilities
16
- } from "./chunk-B6O6UBS7.mjs";
18
+ } from "./chunk-MRYKW5TM.mjs";
17
19
  import {
18
20
  TriggerEditor
19
- } from "./chunk-N7NES6SZ.mjs";
21
+ } from "./chunk-W76WUTZY.mjs";
20
22
  import {
21
23
  meta
22
- } from "./chunk-5MQJPJR2.mjs";
24
+ } from "./chunk-CEVIVRTY.mjs";
25
+
26
+ // src/events.ts
27
+ import { defineEvent } from "@dxos/app-framework";
28
+ (function(AutomationEvents2) {
29
+ AutomationEvents2.ComputeRuntimeReady = defineEvent(`${meta.id}/event/compute-runtime-ready`);
30
+ })(AutomationEvents || (AutomationEvents = {}));
31
+ var AutomationEvents;
23
32
 
24
33
  // src/AutomationPlugin.tsx
25
34
  import { Capabilities, Events, contributes, defineModule, definePlugin } from "@dxos/app-framework";
26
- import { FunctionTrigger, FunctionType } from "@dxos/functions";
35
+ import { Function, Trigger } from "@dxos/functions";
27
36
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
28
37
 
29
38
  // src/translations.ts
@@ -44,6 +53,7 @@ var translations = [
44
53
  "function copy id": "Copy Function ID",
45
54
  "no functions found": "No functions found",
46
55
  "go to function source button label": "Show function source",
56
+ "delete function button label": "Delete function",
47
57
  "trigger editor title": "Configure Trigger",
48
58
  "new trigger label": "Add Trigger",
49
59
  "trigger type timer": "Timer",
@@ -73,8 +83,8 @@ var AutomationPlugin = definePlugin(meta, () => [
73
83
  id: `${meta.id}/module/schema`,
74
84
  activatesOn: ClientEvents.SetupSchema,
75
85
  activate: () => contributes(ClientCapabilities.Schema, [
76
- FunctionType,
77
- FunctionTrigger
86
+ Function.Function,
87
+ Trigger.Trigger
78
88
  ])
79
89
  }),
80
90
  defineModule({
@@ -95,17 +105,23 @@ var AutomationPlugin = definePlugin(meta, () => [
95
105
  defineModule({
96
106
  id: `${meta.id}/module/compute-runtime`,
97
107
  activatesOn: ClientEvents.ClientReady,
108
+ activatesAfter: [
109
+ AutomationEvents.ComputeRuntimeReady
110
+ ],
98
111
  activate: ComputeRuntime
99
112
  })
100
113
  ]);
101
114
  export {
102
115
  AutomationCapabilities,
116
+ AutomationEvents,
103
117
  AutomationPanel,
104
118
  AutomationPlugin,
105
119
  AutomationSettings,
106
120
  FunctionsContainer,
107
121
  FunctionsPanel,
108
122
  TriggerEditor,
109
- meta
123
+ meta,
124
+ useComputeRuntimeCallback,
125
+ useTriggerRuntimeControls
110
126
  };
111
127
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { FunctionTrigger, FunctionType } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\n\nimport { AppGraphBuilder, ComputeRuntime, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const AutomationPlugin = 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 defineModule({\n id: `${meta.id}/module/compute-runtime`,\n activatesOn: ClientEvents.ClientReady,\n activate: ComputeRuntime,\n }),\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\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 'runtime label': 'Enable Local Runtime',\n 'runtime description':\n 'This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.',\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] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;AAC9E,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,oBAAoBC,oBAAoB;;;ACE1C,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,0BAA0B;QAE1B,iBAAiB;QACjB,uBACE;QAEF,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;;;;ADlCK,IAAMC,mBAAmBC,aAAaC,MAAM,MAAM;EACvDC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaQ,aAAaC;IAC1BN,UAAU,MAAMC,YAAYM,mBAAmBC,QAAQ;MAACC;MAAcC;KAAgB;EACxF,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOa;IACpBX,UAAUY;EACZ,CAAA;EACAjB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOe;IACpBb,UAAUc;EACZ,CAAA;EACAnB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiB;IACpBf,UAAUgB;EACZ,CAAA;EACArB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaQ,aAAaY;IAC1BjB,UAAUkB;EACZ,CAAA;CACD;",
6
- "names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "FunctionTrigger", "FunctionType", "ClientCapabilities", "ClientEvents", "translations", "meta", "id", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "FunctionType", "FunctionTrigger", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "ReactSurface", "ClientReady", "ComputeRuntime"]
3
+ "sources": ["../../../src/events.ts", "../../../src/AutomationPlugin.tsx", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace AutomationEvents {\n export const ComputeRuntimeReady = defineEvent(`${meta.id}/event/compute-runtime-ready`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Function, Trigger } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\n\nimport { AppGraphBuilder, ComputeRuntime, IntentResolver, ReactSurface } from './capabilities';\nimport { AutomationEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const AutomationPlugin = 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, [Function.Function, Trigger.Trigger]),\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 defineModule({\n id: `${meta.id}/module/compute-runtime`,\n activatesOn: ClientEvents.ClientReady,\n activatesAfter: [AutomationEvents.ComputeRuntimeReady],\n activate: ComputeRuntime,\n }),\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\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 'runtime label': 'Enable Local Runtime',\n 'runtime description':\n 'This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.',\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 'delete function button label': 'Delete function',\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] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,mBAAmB;UAIXC,mBAAAA;oBACFC,sBAAsBC,YAAY,GAAGC,KAAKC,EAAE,8BAA8B;AACzF,GAFiBJ,qBAAAA,mBAAAA,CAAAA,EAAAA;;;;ACJjB,SAASK,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;AAC9E,SAASC,UAAUC,eAAe;AAClC,SAASC,oBAAoBC,oBAAoB;;;ACE1C,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,0BAA0B;QAE1B,iBAAiB;QACjB,uBACE;QAEF,yBAAyB;QACzB,2BAA2B;QAC3B,yBAAyB;QACzB,oBAAoB;QACpB,sBAAsB;QACtB,sCAAsC;QACtC,gCAAgC;QAEhC,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;;;;ADlCK,IAAMC,mBAAmBC,aAAaC,MAAM,MAAM;EACvDC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaQ,aAAaC;IAC1BN,UAAU,MAAMC,YAAYM,mBAAmBC,QAAQ;MAACC,SAASA;MAAUC,QAAQA;KAAQ;EAC7F,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOa;IACpBX,UAAUY;EACZ,CAAA;EACAjB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOe;IACpBb,UAAUc;EACZ,CAAA;EACAnB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiB;IACpBf,UAAUgB;EACZ,CAAA;EACArB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaQ,aAAaY;IAC1BC,gBAAgB;MAACC,iBAAiBC;;IAClCpB,UAAUqB;EACZ,CAAA;CACD;",
6
+ "names": ["defineEvent", "AutomationEvents", "ComputeRuntimeReady", "defineEvent", "meta", "id", "Capabilities", "Events", "contributes", "defineModule", "definePlugin", "Function", "Trigger", "ClientCapabilities", "ClientEvents", "translations", "meta", "id", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "Function", "Trigger", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "ReactSurface", "ClientReady", "activatesAfter", "AutomationEvents", "ComputeRuntimeReady", "ComputeRuntime"]
7
7
  }
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AutomationAction
4
- } from "./chunk-CEWZ2CDM.mjs";
5
- import "./chunk-5MQJPJR2.mjs";
4
+ } from "./chunk-ECJKIUBO.mjs";
5
+ import "./chunk-CEVIVRTY.mjs";
6
6
 
7
7
  // src/capabilities/intent-resolver.ts
8
8
  import { Capabilities, LayoutAction, contributes, createIntent, createResolver } from "@dxos/app-framework";
9
- import { Obj, Ref } from "@dxos/echo";
10
- import { FunctionTrigger, FunctionType, ScriptType } from "@dxos/functions";
9
+ import { Ref } from "@dxos/echo";
10
+ import { Function, Script, Trigger } from "@dxos/functions";
11
11
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
12
12
  import { SpaceAction } from "@dxos/plugin-space/types";
13
13
  import { Filter } from "@dxos/react-client/echo";
@@ -15,16 +15,16 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
15
15
  createResolver({
16
16
  intent: AutomationAction.CreateTriggerFromTemplate,
17
17
  resolve: async ({ space, template, enabled = false, scriptName, input }) => {
18
- const trigger = Obj.make(FunctionTrigger, {
18
+ const trigger = Trigger.make({
19
19
  enabled,
20
20
  input
21
21
  });
22
22
  if (scriptName) {
23
- const { objects: [script] } = await space.db.query(Filter.type(ScriptType, {
23
+ const { objects: [script] } = await space.db.query(Filter.type(Script.Script, {
24
24
  name: scriptName
25
25
  })).run();
26
26
  if (script) {
27
- const { objects: [fn] } = await space.db.query(Filter.type(FunctionType, {
27
+ const { objects: [fn] } = await space.db.query(Filter.type(Function.Function, {
28
28
  source: Ref.make(script)
29
29
  })).run();
30
30
  if (fn) {
@@ -75,4 +75,4 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
75
75
  export {
76
76
  intent_resolver_default as default
77
77
  };
78
- //# sourceMappingURL=intent-resolver-ROEBZXSS.mjs.map
78
+ //# sourceMappingURL=intent-resolver-KDRYB5BC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n contributes,\n createIntent,\n createResolver,\n} from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { Function, Script, Trigger } from '@dxos/functions';\nimport { type DXN } from '@dxos/keys';\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 = Trigger.make({ 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(Script.Script, { name: scriptName })).run();\n if (script) {\n const {\n objects: [fn],\n } = await space.db.query(Filter.type(Function.Function, { 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: 'timer', cron: template.cron };\n break;\n }\n case 'queue': {\n trigger.spec = { kind: '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, hidden: true }),\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,SACEA,cACAC,cAEAC,aACAC,cACAC,sBACK;AACP,SAASC,WAAW;AACpB,SAASC,UAAUC,QAAQC,eAAe;AAE1C,SAASC,iCAAiC;AAC1C,SAASC,mBAAmB;AAC5B,SAASC,cAAc;AAIvB,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,iBAAiBC;IACzBC,SAAS,OAAO,EAAEC,OAAOC,UAAUC,UAAU,OAAOC,YAAYC,MAAK,MAAE;AACrE,YAAMC,UAAUC,QAAQC,KAAK;QAAEL;QAASE;MAAM,CAAA;AAG9C,UAAID,YAAY;AACd,cAAM,EACJK,SAAS,CAACC,MAAAA,EAAO,IACf,MAAMT,MAAMU,GAAGC,MAAMC,OAAOC,KAAKC,OAAOA,QAAQ;UAAEC,MAAMZ;QAAW,CAAA,CAAA,EAAIa,IAAG;AAC9E,YAAIP,QAAQ;AACV,gBAAM,EACJD,SAAS,CAACS,EAAAA,EAAG,IACX,MAAMjB,MAAMU,GAAGC,MAAMC,OAAOC,KAAKK,SAASA,UAAU;YAAEC,QAAQC,IAAIb,KAAKE,MAAAA;UAAQ,CAAA,CAAA,EAAIO,IAAG;AAC1F,cAAIC,IAAI;AACNZ,oBAAQgB,WAAWD,IAAIb,KAAKU,EAAAA;UAC9B;QACF;MACF;AAEA,cAAQhB,SAASY,MAAI;QACnB,KAAK,SAAS;AACZR,kBAAQiB,OAAO;YAAEC,MAAM;YAASC,MAAMvB,SAASuB;UAAK;AACpD;QACF;QACA,KAAK,SAAS;AACZnB,kBAAQiB,OAAO;YAAEC,MAAM;YAASE,OAAQxB,SAASyB,SAAiBC,SAAQ;UAAG;AAC7E;QACF;QACA,SAAS;AACP;QACF;MACF;AAEA,aAAO;QACLC,SAAS;UACPC,aAAaC,YAAYC,WAAW;YAAEC,QAAQ3B;YAAS4B,QAAQjC;YAAOkC,QAAQ;UAAK,CAAA;UACnFL,aAAaM,aAAaC,MAAM;YAC9BC,MAAM;YACNC,SAAS;cAAC,sBAAsBC,yBAAAA,GAA4BvC,MAAMwC,EAAE;;YACpEC,SAAS;cACPC,WAAW1C,MAAMwC;YACnB;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "LayoutAction", "contributes", "createIntent", "createResolver", "Ref", "Function", "Script", "Trigger", "ATTENDABLE_PATH_SEPARATOR", "SpaceAction", "Filter", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "AutomationAction", "CreateTriggerFromTemplate", "resolve", "space", "template", "enabled", "scriptName", "input", "trigger", "Trigger", "make", "objects", "script", "db", "query", "Filter", "type", "Script", "name", "run", "fn", "Function", "source", "Ref", "function", "spec", "kind", "cron", "queue", "queueDXN", "toString", "intents", "createIntent", "SpaceAction", "AddObject", "object", "target", "hidden", "LayoutAction", "Open", "part", "subject", "ATTENDABLE_PATH_SEPARATOR", "id", "options", "workspace"]
7
+ }