@dxos/compute 0.8.4-main.fd6878d → 0.9.0

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 (181) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +36 -1
  3. package/dist/lib/neutral/StorageService.mjs +22 -0
  4. package/dist/lib/neutral/chunk-2B2KSJT6.mjs +17 -0
  5. package/dist/lib/neutral/chunk-2B2KSJT6.mjs.map +7 -0
  6. package/dist/lib/neutral/chunk-AFBNVFAY.mjs +25 -0
  7. package/dist/lib/neutral/chunk-AFBNVFAY.mjs.map +7 -0
  8. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  9. package/dist/lib/neutral/chunk-JAU4E4EK.mjs +53 -0
  10. package/dist/lib/neutral/chunk-JAU4E4EK.mjs.map +7 -0
  11. package/dist/lib/neutral/chunk-MEPE4HHX.mjs +21 -0
  12. package/dist/lib/neutral/chunk-MEPE4HHX.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-QZS4G6PE.mjs +240 -0
  14. package/dist/lib/neutral/chunk-QZS4G6PE.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-XEVFBI6S.mjs +62 -0
  16. package/dist/lib/neutral/chunk-XEVFBI6S.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-Z3Y7FQGN.mjs +174 -0
  18. package/dist/lib/neutral/chunk-Z3Y7FQGN.mjs.map +7 -0
  19. package/dist/lib/neutral/fib-HBDUGQW7.mjs +10 -0
  20. package/dist/lib/neutral/fib-HBDUGQW7.mjs.map +7 -0
  21. package/dist/lib/neutral/index.mjs +1183 -0
  22. package/dist/lib/neutral/index.mjs.map +7 -0
  23. package/dist/lib/neutral/meta.json +1 -0
  24. package/dist/lib/neutral/reply-RJIAJ6FV.mjs +10 -0
  25. package/dist/lib/neutral/reply-RJIAJ6FV.mjs.map +7 -0
  26. package/dist/lib/neutral/sleep-3T2CZ7RE.mjs +10 -0
  27. package/dist/lib/neutral/sleep-3T2CZ7RE.mjs.map +7 -0
  28. package/dist/lib/neutral/testing/index.mjs +32 -0
  29. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  30. package/dist/types/src/Blueprint.d.ts +182 -0
  31. package/dist/types/src/Blueprint.d.ts.map +1 -0
  32. package/dist/types/src/Credential.d.ts +27 -0
  33. package/dist/types/src/Credential.d.ts.map +1 -0
  34. package/dist/types/src/Header.d.ts +9 -0
  35. package/dist/types/src/Header.d.ts.map +1 -0
  36. package/dist/types/src/Header.test.d.ts +2 -0
  37. package/dist/types/src/Header.test.d.ts.map +1 -0
  38. package/dist/types/src/LayerSpec.d.ts +56 -0
  39. package/dist/types/src/LayerSpec.d.ts.map +1 -0
  40. package/dist/types/src/McpServer.d.ts +26 -0
  41. package/dist/types/src/McpServer.d.ts.map +1 -0
  42. package/dist/types/src/Operation.d.ts +385 -0
  43. package/dist/types/src/Operation.d.ts.map +1 -0
  44. package/dist/types/src/OperationHandlerSet.d.ts +69 -0
  45. package/dist/types/src/OperationHandlerSet.d.ts.map +1 -0
  46. package/dist/types/src/OperationHandlerSet.test.d.ts +2 -0
  47. package/dist/types/src/OperationHandlerSet.test.d.ts.map +1 -0
  48. package/dist/types/src/OperationRegistry.d.ts +23 -0
  49. package/dist/types/src/OperationRegistry.d.ts.map +1 -0
  50. package/dist/types/src/Process.d.ts +255 -0
  51. package/dist/types/src/Process.d.ts.map +1 -0
  52. package/dist/types/src/Routine.d.ts +54 -0
  53. package/dist/types/src/Routine.d.ts.map +1 -0
  54. package/dist/types/src/Script.d.ts +21 -0
  55. package/dist/types/src/Script.d.ts.map +1 -0
  56. package/dist/types/src/ServiceResolver.d.ts +92 -0
  57. package/dist/types/src/ServiceResolver.d.ts.map +1 -0
  58. package/dist/types/src/StorageService.d.ts +58 -0
  59. package/dist/types/src/StorageService.d.ts.map +1 -0
  60. package/dist/types/src/Template.d.ts +61 -0
  61. package/dist/types/src/Template.d.ts.map +1 -0
  62. package/dist/types/src/Template.test.d.ts +2 -0
  63. package/dist/types/src/Template.test.d.ts.map +1 -0
  64. package/dist/types/src/Trace.d.ts +266 -0
  65. package/dist/types/src/Trace.d.ts.map +1 -0
  66. package/dist/types/src/Trigger.d.ts +192 -0
  67. package/dist/types/src/Trigger.d.ts.map +1 -0
  68. package/dist/types/src/TriggerEvent.d.ts +83 -0
  69. package/dist/types/src/TriggerEvent.d.ts.map +1 -0
  70. package/dist/types/src/errors.d.ts +308 -0
  71. package/dist/types/src/errors.d.ts.map +1 -0
  72. package/dist/types/src/index.d.ts +18 -5
  73. package/dist/types/src/index.d.ts.map +1 -1
  74. package/dist/types/src/testing/definitions.d.ts +11 -0
  75. package/dist/types/src/testing/definitions.d.ts.map +1 -0
  76. package/dist/types/src/testing/fib.d.ts +8 -0
  77. package/dist/types/src/testing/fib.d.ts.map +1 -0
  78. package/dist/types/src/testing/index.d.ts +6 -3
  79. package/dist/types/src/testing/index.d.ts.map +1 -1
  80. package/dist/types/src/testing/reply.d.ts +4 -0
  81. package/dist/types/src/testing/reply.d.ts.map +1 -0
  82. package/dist/types/src/testing/sleep.d.ts +6 -0
  83. package/dist/types/src/testing/sleep.d.ts.map +1 -0
  84. package/dist/types/src/umbrella.test.d.ts +2 -0
  85. package/dist/types/src/umbrella.test.d.ts.map +1 -0
  86. package/dist/types/tsconfig.tsbuildinfo +1 -1
  87. package/package.json +31 -47
  88. package/src/Blueprint.ts +224 -0
  89. package/src/Credential.ts +53 -0
  90. package/src/Header.test.ts +132 -0
  91. package/src/Header.ts +38 -0
  92. package/src/LayerSpec.ts +91 -0
  93. package/src/McpServer.ts +44 -0
  94. package/src/Operation.ts +646 -0
  95. package/src/OperationHandlerSet.test.ts +97 -0
  96. package/src/OperationHandlerSet.ts +181 -0
  97. package/src/OperationRegistry.ts +50 -0
  98. package/src/Process.ts +541 -0
  99. package/src/Routine.ts +68 -0
  100. package/src/Script.ts +33 -0
  101. package/src/ServiceResolver.ts +200 -0
  102. package/src/StorageService.ts +101 -0
  103. package/src/Template.test.ts +164 -0
  104. package/src/Template.ts +125 -0
  105. package/src/Trace.ts +363 -0
  106. package/src/Trigger.ts +196 -0
  107. package/src/TriggerEvent.ts +64 -0
  108. package/src/errors.ts +71 -0
  109. package/src/index.ts +19 -32
  110. package/src/testing/definitions.ts +51 -0
  111. package/src/testing/fib.ts +22 -0
  112. package/src/testing/index.ts +13 -4
  113. package/src/testing/reply.ts +18 -0
  114. package/src/testing/sleep.ts +16 -0
  115. package/src/umbrella.test.ts +51 -0
  116. package/dist/lib/browser/chunk-X2FWMHD4.mjs +0 -3107
  117. package/dist/lib/browser/chunk-X2FWMHD4.mjs.map +0 -7
  118. package/dist/lib/browser/index.mjs +0 -55
  119. package/dist/lib/browser/meta.json +0 -1
  120. package/dist/lib/browser/testing/index.mjs +0 -176
  121. package/dist/lib/browser/testing/index.mjs.map +0 -7
  122. package/dist/lib/node-esm/chunk-RP7HSSCA.mjs +0 -3109
  123. package/dist/lib/node-esm/chunk-RP7HSSCA.mjs.map +0 -7
  124. package/dist/lib/node-esm/index.mjs +0 -56
  125. package/dist/lib/node-esm/meta.json +0 -1
  126. package/dist/lib/node-esm/testing/index.mjs +0 -177
  127. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  128. package/dist/types/src/compute-graph-registry.d.ts +0 -34
  129. package/dist/types/src/compute-graph-registry.d.ts.map +0 -1
  130. package/dist/types/src/compute-graph.d.ts +0 -64
  131. package/dist/types/src/compute-graph.d.ts.map +0 -1
  132. package/dist/types/src/compute-graph.test.d.ts +0 -2
  133. package/dist/types/src/compute-graph.test.d.ts.map +0 -1
  134. package/dist/types/src/compute-node.d.ts +0 -25
  135. package/dist/types/src/compute-node.d.ts.map +0 -1
  136. package/dist/types/src/functions/async-function.d.ts +0 -66
  137. package/dist/types/src/functions/async-function.d.ts.map +0 -1
  138. package/dist/types/src/functions/edge-function.d.ts +0 -20
  139. package/dist/types/src/functions/edge-function.d.ts.map +0 -1
  140. package/dist/types/src/functions/function-defs.d.ts +0 -11
  141. package/dist/types/src/functions/function-defs.d.ts.map +0 -1
  142. package/dist/types/src/functions/index.d.ts +0 -4
  143. package/dist/types/src/functions/index.d.ts.map +0 -1
  144. package/dist/types/src/hyperformula.test.d.ts +0 -2
  145. package/dist/types/src/hyperformula.test.d.ts.map +0 -1
  146. package/dist/types/src/testing/test-builder.d.ts +0 -15
  147. package/dist/types/src/testing/test-builder.d.ts.map +0 -1
  148. package/dist/types/src/testing/test-plugin.d.ts +0 -36
  149. package/dist/types/src/testing/test-plugin.d.ts.map +0 -1
  150. package/dist/types/src/testing/util.d.ts +0 -2
  151. package/dist/types/src/testing/util.d.ts.map +0 -1
  152. package/dist/types/src/types/hyperformula.d.ts +0 -11
  153. package/dist/types/src/types/hyperformula.d.ts.map +0 -1
  154. package/dist/types/src/types/index.d.ts +0 -3
  155. package/dist/types/src/types/index.d.ts.map +0 -1
  156. package/dist/types/src/types/types.d.ts +0 -20
  157. package/dist/types/src/types/types.d.ts.map +0 -1
  158. package/dist/types/src/types/types.test.d.ts +0 -2
  159. package/dist/types/src/types/types.test.d.ts.map +0 -1
  160. package/dist/types/src/util.d.ts +0 -2
  161. package/dist/types/src/util.d.ts.map +0 -1
  162. package/dist/vendor/hyperformula.mjs +0 -36400
  163. package/src/compute-graph-registry.ts +0 -91
  164. package/src/compute-graph.test.ts +0 -89
  165. package/src/compute-graph.ts +0 -260
  166. package/src/compute-node.ts +0 -62
  167. package/src/functions/async-function.ts +0 -179
  168. package/src/functions/edge-function.ts +0 -112
  169. package/src/functions/function-defs.ts +0 -2427
  170. package/src/functions/index.ts +0 -7
  171. package/src/hyperformula.test.ts +0 -14
  172. package/src/testing/test-builder.ts +0 -54
  173. package/src/testing/test-plugin.ts +0 -101
  174. package/src/testing/util.ts +0 -9
  175. package/src/types/hyperformula.ts +0 -19
  176. package/src/types/index.ts +0 -6
  177. package/src/types/types.test.ts +0 -91
  178. package/src/types/types.ts +0 -80
  179. package/src/util.ts +0 -8
  180. /package/dist/lib/{browser/index.mjs.map → neutral/StorageService.mjs.map} +0 -0
  181. /package/dist/lib/{node-esm/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
package/src/index.ts CHANGED
@@ -1,36 +1,23 @@
1
1
  //
2
- // Copyright 2024 DXOS.org
2
+ // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
- // TODO(burdon): Separate hyperformula (client compute) from remote/edge functions.
5
+ export * from './errors';
6
6
 
7
- // TODO(burdon): Reconcile: types.
8
- // - dxos/graph
9
- // - dxos/compute
10
- // - dxos/functions
11
- // - dxos/assistant
12
- // - dxos/plugin-automation
13
- // - dxos/plugin-script
14
- // - dxos/plugin-sheet
15
-
16
- // TODO(burdon): Tech debt.
17
- // - move hyperformula defs from sheet to compute.
18
- // - standard from ./types exports for plugins.
19
- // - dxos/agent
20
- // - dxos/agent-functions
21
- // - dxos/mosaic, dxos-card
22
-
23
- // TODO(burdon): Reconcile UX.
24
- // - dxos/plugin-explorer
25
- // - dxos/plugin-canvas
26
- // - dxos/gem-*
27
-
28
- // TODO(burdon): Next
29
- // - dxos/plugin-search
30
- // - dxos/plugin-threads
31
-
32
- export * from './compute-graph';
33
- export * from './compute-graph-registry';
34
- export * from './compute-node';
35
- export * from './functions';
36
- export * from './types';
7
+ export * as Blueprint from './Blueprint';
8
+ export * as Credential from './Credential';
9
+ export * as Header from './Header';
10
+ export * as McpServer from './McpServer';
11
+ export * as LayerSpec from './LayerSpec';
12
+ export * as Operation from './Operation';
13
+ export * as OperationHandlerSet from './OperationHandlerSet';
14
+ export * as OperationRegistry from './OperationRegistry';
15
+ export * as Process from './Process';
16
+ export * as Routine from './Routine';
17
+ export * as Script from './Script';
18
+ export * as ServiceResolver from './ServiceResolver';
19
+ export * as StorageService from './StorageService';
20
+ export * as Template from './Template';
21
+ export * as Trace from './Trace';
22
+ export * as Trigger from './Trigger';
23
+ export * as TriggerEvent from './TriggerEvent';
@@ -0,0 +1,51 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { DXN } from '@dxos/keys';
8
+
9
+ import * as Operation from '../Operation';
10
+
11
+ export const Fibonacci = Operation.make({
12
+ meta: {
13
+ key: DXN.make('org.example.function.fib'),
14
+ name: 'Fibonacci',
15
+ description: 'Function that calculates a Fibonacci number',
16
+ },
17
+ input: Schema.Struct({
18
+ iterations: Schema.optional(Schema.Number).annotations({
19
+ description: 'Number of iterations',
20
+ default: 100_000,
21
+ }),
22
+ }),
23
+ output: Schema.Struct({
24
+ result: Schema.String,
25
+ }),
26
+ });
27
+
28
+ export const Reply = Operation.make({
29
+ meta: {
30
+ key: DXN.make('org.example.function.reply'),
31
+ name: 'Reply',
32
+ description: 'Function that echoes the input',
33
+ },
34
+ input: Schema.Any,
35
+ output: Schema.Any,
36
+ });
37
+
38
+ export const Sleep = Operation.make({
39
+ meta: {
40
+ key: DXN.make('org.example.function.sleep'),
41
+ name: 'Sleep',
42
+ description: 'Function that sleeps for a given amount of time',
43
+ },
44
+ input: Schema.Struct({
45
+ duration: Schema.optional(Schema.Number).annotations({
46
+ description: 'Milliseconds to sleep',
47
+ default: 100_000,
48
+ }),
49
+ }),
50
+ output: Schema.Void,
51
+ });
@@ -0,0 +1,22 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import * as Operation from '../Operation';
8
+ import { Fibonacci } from './definitions';
9
+
10
+ export default Fibonacci.pipe(
11
+ Operation.withHandler(
12
+ Effect.fn(function* ({ iterations = 100_000 }) {
13
+ let a = 0n;
14
+ let b = 1n;
15
+ for (let i = 0; i < iterations; i++) {
16
+ a += b;
17
+ b = a - b;
18
+ }
19
+ return { result: a.toString() };
20
+ }),
21
+ ),
22
+ );
@@ -1,7 +1,16 @@
1
1
  //
2
- // Copyright 2024 DXOS.org
2
+ // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './test-builder';
6
- export * from './test-plugin';
7
- export * from './util';
5
+ import * as OperationHandlerSet from '../OperationHandlerSet';
6
+
7
+ export { Fibonacci, Reply, Sleep } from './definitions';
8
+ export { default as FibonacciHandler } from './fib';
9
+ export { default as ReplyHandler } from './reply';
10
+ export { default as SleepHandler } from './sleep';
11
+
12
+ export const ExampleHandlers = OperationHandlerSet.lazy(
13
+ () => import('./fib'),
14
+ () => import('./reply'),
15
+ () => import('./sleep'),
16
+ );
@@ -0,0 +1,18 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Console from 'effect/Console';
6
+ import * as Effect from 'effect/Effect';
7
+
8
+ import * as Operation from '../Operation';
9
+ import { Reply } from './definitions';
10
+
11
+ export default Reply.pipe(
12
+ Operation.withHandler(
13
+ Effect.fn(function* (input) {
14
+ yield* Console.log('reply', { input });
15
+ return input;
16
+ }),
17
+ ),
18
+ );
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import * as Operation from '../Operation';
8
+ import { Sleep } from './definitions';
9
+
10
+ export default Sleep.pipe(
11
+ Operation.withHandler(
12
+ Effect.fn(function* ({ duration = 100_000 }) {
13
+ yield* Effect.sleep(duration);
14
+ }),
15
+ ),
16
+ );
@@ -0,0 +1,51 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import {
8
+ Blueprint,
9
+ Credential,
10
+ FunctionNotFoundError,
11
+ Operation,
12
+ OperationHandlerSet,
13
+ OperationRegistry,
14
+ Process,
15
+ Routine,
16
+ Script,
17
+ ServiceResolver,
18
+ StorageService,
19
+ Template,
20
+ Trace,
21
+ Trigger,
22
+ TriggerEvent,
23
+ } from './index';
24
+
25
+ describe('umbrella re-exports', () => {
26
+ test('top-level re-exports preserve source-package namespace nesting', ({ expect }) => {
27
+ // Operation primitives.
28
+ expect(Operation).toBeDefined();
29
+ expect(OperationHandlerSet).toBeDefined();
30
+ expect(OperationRegistry).toBeDefined();
31
+
32
+ // Blueprint primitives.
33
+ expect(Blueprint).toBeDefined();
34
+ expect(Blueprint.make).toBeTypeOf('function');
35
+ expect(Routine).toBeDefined();
36
+ expect(Template).toBeDefined();
37
+
38
+ // Function primitives.
39
+ expect(Process).toBeDefined();
40
+ expect(Trigger).toBeDefined();
41
+ expect(TriggerEvent).toBeDefined();
42
+ expect(Script).toBeDefined();
43
+ expect(Trace).toBeDefined();
44
+ expect(ServiceResolver).toBeDefined();
45
+ expect(StorageService).toBeDefined();
46
+ expect(Credential).toBeDefined();
47
+
48
+ // Error classes exported top-level.
49
+ expect(FunctionNotFoundError).toBeDefined();
50
+ });
51
+ });