@dxos/compute 0.8.4-main.ead640a → 0.8.4-main.f466a3d56e

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 (180) 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-AKVCVI6N.mjs +25 -0
  5. package/dist/lib/neutral/chunk-AKVCVI6N.mjs.map +7 -0
  6. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  7. package/dist/lib/neutral/chunk-LF2ANNYW.mjs +171 -0
  8. package/dist/lib/neutral/chunk-LF2ANNYW.mjs.map +7 -0
  9. package/dist/lib/neutral/chunk-LRCABAWU.mjs +17 -0
  10. package/dist/lib/neutral/chunk-LRCABAWU.mjs.map +7 -0
  11. package/dist/lib/neutral/chunk-RCLYF66G.mjs +21 -0
  12. package/dist/lib/neutral/chunk-RCLYF66G.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-SEBWOTOU.mjs +235 -0
  14. package/dist/lib/neutral/chunk-SEBWOTOU.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-VSICPGGY.mjs +53 -0
  16. package/dist/lib/neutral/chunk-VSICPGGY.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-XEVFBI6S.mjs +62 -0
  18. package/dist/lib/neutral/chunk-XEVFBI6S.mjs.map +7 -0
  19. package/dist/lib/neutral/fib-ZSJYREBW.mjs +10 -0
  20. package/dist/lib/neutral/fib-ZSJYREBW.mjs.map +7 -0
  21. package/dist/lib/neutral/index.mjs +1225 -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-YH3BVOUT.mjs +10 -0
  25. package/dist/lib/neutral/reply-YH3BVOUT.mjs.map +7 -0
  26. package/dist/lib/neutral/sleep-TSPIQ5EY.mjs +10 -0
  27. package/dist/lib/neutral/sleep-TSPIQ5EY.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 +192 -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/LayerSpec.d.ts +56 -0
  35. package/dist/types/src/LayerSpec.d.ts.map +1 -0
  36. package/dist/types/src/McpServer.d.ts +27 -0
  37. package/dist/types/src/McpServer.d.ts.map +1 -0
  38. package/dist/types/src/Operation.d.ts +340 -0
  39. package/dist/types/src/Operation.d.ts.map +1 -0
  40. package/dist/types/src/OperationHandlerSet.d.ts +67 -0
  41. package/dist/types/src/OperationHandlerSet.d.ts.map +1 -0
  42. package/dist/types/src/OperationHandlerSet.test.d.ts +2 -0
  43. package/dist/types/src/OperationHandlerSet.test.d.ts.map +1 -0
  44. package/dist/types/src/OperationRegistry.d.ts +23 -0
  45. package/dist/types/src/OperationRegistry.d.ts.map +1 -0
  46. package/dist/types/src/Process.d.ts +247 -0
  47. package/dist/types/src/Process.d.ts.map +1 -0
  48. package/dist/types/src/Routine.d.ts +63 -0
  49. package/dist/types/src/Routine.d.ts.map +1 -0
  50. package/dist/types/src/Script.d.ts +22 -0
  51. package/dist/types/src/Script.d.ts.map +1 -0
  52. package/dist/types/src/ServiceResolver.d.ts +89 -0
  53. package/dist/types/src/ServiceResolver.d.ts.map +1 -0
  54. package/dist/types/src/StorageService.d.ts +58 -0
  55. package/dist/types/src/StorageService.d.ts.map +1 -0
  56. package/dist/types/src/Template.d.ts +62 -0
  57. package/dist/types/src/Template.d.ts.map +1 -0
  58. package/dist/types/src/Template.test.d.ts +2 -0
  59. package/dist/types/src/Template.test.d.ts.map +1 -0
  60. package/dist/types/src/Trace.d.ts +268 -0
  61. package/dist/types/src/Trace.d.ts.map +1 -0
  62. package/dist/types/src/Trigger.d.ts +150 -0
  63. package/dist/types/src/Trigger.d.ts.map +1 -0
  64. package/dist/types/src/TriggerEvent.d.ts +75 -0
  65. package/dist/types/src/TriggerEvent.d.ts.map +1 -0
  66. package/dist/types/src/errors.d.ts +308 -0
  67. package/dist/types/src/errors.d.ts.map +1 -0
  68. package/dist/types/src/index.d.ts +17 -5
  69. package/dist/types/src/index.d.ts.map +1 -1
  70. package/dist/types/src/testing/definitions.d.ts +11 -0
  71. package/dist/types/src/testing/definitions.d.ts.map +1 -0
  72. package/dist/types/src/testing/fib.d.ts +8 -0
  73. package/dist/types/src/testing/fib.d.ts.map +1 -0
  74. package/dist/types/src/testing/index.d.ts +6 -4
  75. package/dist/types/src/testing/index.d.ts.map +1 -1
  76. package/dist/types/src/testing/reply.d.ts +4 -0
  77. package/dist/types/src/testing/reply.d.ts.map +1 -0
  78. package/dist/types/src/testing/sleep.d.ts +6 -0
  79. package/dist/types/src/testing/sleep.d.ts.map +1 -0
  80. package/dist/types/src/umbrella.test.d.ts +2 -0
  81. package/dist/types/src/umbrella.test.d.ts.map +1 -0
  82. package/dist/types/tsconfig.tsbuildinfo +1 -1
  83. package/package.json +29 -40
  84. package/src/Blueprint.ts +303 -0
  85. package/src/Credential.ts +53 -0
  86. package/src/LayerSpec.ts +91 -0
  87. package/src/McpServer.ts +44 -0
  88. package/src/Operation.ts +593 -0
  89. package/src/OperationHandlerSet.test.ts +92 -0
  90. package/src/OperationHandlerSet.ts +174 -0
  91. package/src/OperationRegistry.ts +50 -0
  92. package/src/Process.ts +504 -0
  93. package/src/Routine.ts +75 -0
  94. package/src/Script.ts +40 -0
  95. package/src/ServiceResolver.ts +194 -0
  96. package/src/StorageService.ts +101 -0
  97. package/src/Template.test.ts +151 -0
  98. package/src/Template.ts +122 -0
  99. package/src/Trace.ts +368 -0
  100. package/src/Trigger.ts +209 -0
  101. package/src/TriggerEvent.ts +64 -0
  102. package/src/errors.ts +71 -0
  103. package/src/index.ts +18 -32
  104. package/src/testing/definitions.ts +49 -0
  105. package/src/testing/fib.ts +22 -0
  106. package/src/testing/index.ts +13 -5
  107. package/src/testing/reply.ts +18 -0
  108. package/src/testing/sleep.ts +16 -0
  109. package/src/umbrella.test.ts +51 -0
  110. package/dist/lib/browser/chunk-C7KLV2IU.mjs +0 -3144
  111. package/dist/lib/browser/chunk-C7KLV2IU.mjs.map +0 -7
  112. package/dist/lib/browser/index.mjs +0 -55
  113. package/dist/lib/browser/meta.json +0 -1
  114. package/dist/lib/browser/testing/index.mjs +0 -206
  115. package/dist/lib/browser/testing/index.mjs.map +0 -7
  116. package/dist/lib/node-esm/chunk-K37OSZ5O.mjs +0 -3146
  117. package/dist/lib/node-esm/chunk-K37OSZ5O.mjs.map +0 -7
  118. package/dist/lib/node-esm/index.mjs +0 -56
  119. package/dist/lib/node-esm/meta.json +0 -1
  120. package/dist/lib/node-esm/testing/index.mjs +0 -207
  121. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  122. package/dist/types/src/compute-graph-registry.d.ts +0 -37
  123. package/dist/types/src/compute-graph-registry.d.ts.map +0 -1
  124. package/dist/types/src/compute-graph-registry.test.d.ts +0 -2
  125. package/dist/types/src/compute-graph-registry.test.d.ts.map +0 -1
  126. package/dist/types/src/compute-graph.d.ts +0 -67
  127. package/dist/types/src/compute-graph.d.ts.map +0 -1
  128. package/dist/types/src/compute-graph.test.d.ts +0 -2
  129. package/dist/types/src/compute-graph.test.d.ts.map +0 -1
  130. package/dist/types/src/compute-node.d.ts +0 -24
  131. package/dist/types/src/compute-node.d.ts.map +0 -1
  132. package/dist/types/src/functions/async-function.d.ts +0 -68
  133. package/dist/types/src/functions/async-function.d.ts.map +0 -1
  134. package/dist/types/src/functions/edge-function.d.ts +0 -20
  135. package/dist/types/src/functions/edge-function.d.ts.map +0 -1
  136. package/dist/types/src/functions/function-defs.d.ts +0 -11
  137. package/dist/types/src/functions/function-defs.d.ts.map +0 -1
  138. package/dist/types/src/functions/index.d.ts +0 -4
  139. package/dist/types/src/functions/index.d.ts.map +0 -1
  140. package/dist/types/src/hyperformula.test.d.ts +0 -2
  141. package/dist/types/src/hyperformula.test.d.ts.map +0 -1
  142. package/dist/types/src/testing/test-builder.d.ts +0 -15
  143. package/dist/types/src/testing/test-builder.d.ts.map +0 -1
  144. package/dist/types/src/testing/test-plugin.d.ts +0 -35
  145. package/dist/types/src/testing/test-plugin.d.ts.map +0 -1
  146. package/dist/types/src/testing/test-runtime.d.ts +0 -10
  147. package/dist/types/src/testing/test-runtime.d.ts.map +0 -1
  148. package/dist/types/src/testing/util.d.ts +0 -2
  149. package/dist/types/src/testing/util.d.ts.map +0 -1
  150. package/dist/types/src/types/hyperformula.d.ts +0 -8
  151. package/dist/types/src/types/hyperformula.d.ts.map +0 -1
  152. package/dist/types/src/types/index.d.ts +0 -3
  153. package/dist/types/src/types/index.d.ts.map +0 -1
  154. package/dist/types/src/types/types.d.ts +0 -20
  155. package/dist/types/src/types/types.d.ts.map +0 -1
  156. package/dist/types/src/types/types.test.d.ts +0 -2
  157. package/dist/types/src/types/types.test.d.ts.map +0 -1
  158. package/dist/types/src/util.d.ts +0 -2
  159. package/dist/types/src/util.d.ts.map +0 -1
  160. package/src/compute-graph-registry.test.ts +0 -138
  161. package/src/compute-graph-registry.ts +0 -97
  162. package/src/compute-graph.test.ts +0 -88
  163. package/src/compute-graph.ts +0 -261
  164. package/src/compute-node.ts +0 -59
  165. package/src/functions/async-function.ts +0 -184
  166. package/src/functions/edge-function.ts +0 -114
  167. package/src/functions/function-defs.ts +0 -2427
  168. package/src/functions/index.ts +0 -7
  169. package/src/hyperformula.test.ts +0 -14
  170. package/src/testing/test-builder.ts +0 -60
  171. package/src/testing/test-plugin.ts +0 -98
  172. package/src/testing/test-runtime.ts +0 -38
  173. package/src/testing/util.ts +0 -9
  174. package/src/types/hyperformula.ts +0 -19
  175. package/src/types/index.ts +0 -6
  176. package/src/types/types.test.ts +0 -91
  177. package/src/types/types.ts +0 -80
  178. package/src/util.ts +0 -8
  179. /package/dist/lib/{browser/index.mjs.map → neutral/StorageService.mjs.map} +0 -0
  180. /package/dist/lib/{node-esm/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -1,207 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- AsyncFunctionPlugin,
4
- ComputeGraphRegistry
5
- } from "../chunk-K37OSZ5O.mjs";
6
-
7
- // src/testing/test-builder.ts
8
- import { Client } from "@dxos/client";
9
- import { Resource } from "@dxos/context";
10
- import { invariant } from "@dxos/invariant";
11
-
12
- // src/testing/test-runtime.ts
13
- import * as Layer from "effect/Layer";
14
- import * as ManagedRuntime from "effect/ManagedRuntime";
15
- import { AiService } from "@dxos/ai";
16
- import { CredentialsService, DatabaseService, FunctionInvocationService, QueueService } from "@dxos/functions";
17
- var createMockedComputeRuntimeProvider = ({ functions } = {}) => {
18
- return {
19
- getRuntime: (_spaceId) => ManagedRuntime.make(FunctionInvocationService.layerTest({
20
- functions
21
- }).pipe(Layer.provide(AiService.notAvailable), Layer.provide(CredentialsService.configuredLayer([])), Layer.provide(DatabaseService.notAvailable), Layer.provide(QueueService.notAvailable)))
22
- };
23
- };
24
-
25
- // src/testing/test-builder.ts
26
- function _define_property(obj, key, value) {
27
- if (key in obj) {
28
- Object.defineProperty(obj, key, {
29
- value,
30
- enumerable: true,
31
- configurable: true,
32
- writable: true
33
- });
34
- } else {
35
- obj[key] = value;
36
- }
37
- return obj;
38
- }
39
- var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/src/testing/test-builder.ts";
40
- var TestBuilder = class extends Resource {
41
- get ctx() {
42
- return this._ctx;
43
- }
44
- get client() {
45
- invariant(this._client, void 0, {
46
- F: __dxlog_file,
47
- L: 29,
48
- S: this,
49
- A: [
50
- "this._client",
51
- ""
52
- ]
53
- });
54
- return this._client;
55
- }
56
- get registry() {
57
- invariant(this._registry, void 0, {
58
- F: __dxlog_file,
59
- L: 34,
60
- S: this,
61
- A: [
62
- "this._registry",
63
- ""
64
- ]
65
- });
66
- return this._registry;
67
- }
68
- async _open() {
69
- const client = new Client(this._options);
70
- await client.initialize();
71
- await client.halo.createIdentity();
72
- this._client = client;
73
- this._ctx.onDispose(async () => {
74
- await client.destroy();
75
- this._client = void 0;
76
- });
77
- const registry = new ComputeGraphRegistry({
78
- ...this._options,
79
- // Provide a default runtime provider for tests if not supplied.
80
- computeRuntime: this._options.computeRuntime ?? createMockedComputeRuntimeProvider()
81
- });
82
- await registry.open();
83
- this._registry = registry;
84
- this._ctx.onDispose(async () => {
85
- await registry.close();
86
- this._registry = void 0;
87
- });
88
- }
89
- constructor(_options = {}) {
90
- super(), _define_property(this, "_options", void 0), _define_property(this, "_client", void 0), _define_property(this, "_registry", void 0), this._options = _options;
91
- }
92
- };
93
-
94
- // src/testing/test-plugin.ts
95
- import { getDeep } from "@dxos/util";
96
- import { FunctionArgumentType } from "@dxos/vendor-hyperformula";
97
-
98
- // src/util.ts
99
- var parseNumberString = (str) => {
100
- return parseFloat(str.replace(/[^\d.]/g, ""));
101
- };
102
-
103
- // src/testing/test-plugin.ts
104
- var TestPlugin = class extends AsyncFunctionPlugin {
105
- /**
106
- * Simple local function returns input value.
107
- */
108
- test(ast, state) {
109
- const handler = async (_value) => {
110
- return _value;
111
- };
112
- return this.runAsyncFunction(ast, state, handler);
113
- }
114
- /**
115
- * Simple local function returns random number.
116
- */
117
- random(ast, state) {
118
- const handler = async () => {
119
- return Math.random();
120
- };
121
- return this.runAsyncFunction(ast, state, handler);
122
- }
123
- /**
124
- * Async HTTP function.
125
- */
126
- crypto(ast, state) {
127
- const handler = async (_currency) => {
128
- const currency = (_currency || "USD").toUpperCase();
129
- const result = await fetch(`https://api.coindesk.com/v1/bpi/currentprice/${currency}.json`);
130
- const data = await result.json();
131
- const rate = getDeep(data, [
132
- "bpi",
133
- currency,
134
- "rate"
135
- ]);
136
- if (!rate) {
137
- return NaN;
138
- }
139
- return parseNumberString(rate);
140
- };
141
- return this.runAsyncFunction(ast, state, handler, {
142
- ttl: 1e4
143
- });
144
- }
145
- };
146
- TestPlugin.implementedFunctions = {
147
- TEST: {
148
- method: "test",
149
- parameters: [
150
- {
151
- argumentType: FunctionArgumentType.NUMBER,
152
- optionalArg: false
153
- }
154
- ],
155
- isVolatile: true
156
- },
157
- RANDOM: {
158
- method: "random",
159
- parameters: [],
160
- isVolatile: true
161
- },
162
- CRYPTO: {
163
- method: "crypto",
164
- parameters: [
165
- {
166
- argumentType: FunctionArgumentType.STRING,
167
- optionalArg: true
168
- }
169
- ],
170
- isVolatile: true
171
- }
172
- };
173
- var TestPluginTranslations = {
174
- enGB: {
175
- TEST: "Returns input value",
176
- RANDOM: "Random number",
177
- CRYPTO: "Crypto token value"
178
- },
179
- enUS: {
180
- TEST: "Returns input value",
181
- RANDOM: "Random number",
182
- CRYPTO: "Crypto token value"
183
- }
184
- };
185
- var testFunctionPlugins = [
186
- {
187
- plugin: TestPlugin,
188
- translations: TestPluginTranslations
189
- }
190
- ];
191
-
192
- // src/testing/util.ts
193
- import { HyperFormula } from "@dxos/vendor-hyperformula";
194
- var getRegisteredFunctionNames = () => {
195
- return HyperFormula.buildEmpty({
196
- licenseKey: "gpl-v3"
197
- }).getRegisteredFunctionNames();
198
- };
199
- export {
200
- TestBuilder,
201
- TestPlugin,
202
- TestPluginTranslations,
203
- createMockedComputeRuntimeProvider,
204
- getRegisteredFunctionNames,
205
- testFunctionPlugins
206
- };
207
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/test-builder.ts", "../../../../src/testing/test-runtime.ts", "../../../../src/testing/test-plugin.ts", "../../../../src/util.ts", "../../../../src/testing/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Client, type ClientOptions } from '@dxos/client';\nimport { type Context, Resource } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\n\nimport { type ComputeGraphOptions, ComputeGraphRegistry } from '../compute-graph-registry';\n\nimport { createMockedComputeRuntimeProvider } from './test-runtime';\n\nexport type TestBuilderOptions = ClientOptions & Partial<ComputeGraphOptions>;\n\n// TODO(burdon): Reconcile with @dxos/client/testing.\nexport class TestBuilder extends Resource {\n private _client?: Client;\n private _registry?: ComputeGraphRegistry;\n\n constructor(private readonly _options: TestBuilderOptions = {}) {\n super();\n }\n\n get ctx(): Context {\n return this._ctx;\n }\n\n get client(): Client {\n invariant(this._client);\n return this._client;\n }\n\n get registry(): ComputeGraphRegistry {\n invariant(this._registry);\n return this._registry;\n }\n\n override async _open(): Promise<void> {\n const client = new Client(this._options);\n await client.initialize();\n await client.halo.createIdentity();\n this._client = client;\n this._ctx.onDispose(async () => {\n await client.destroy();\n this._client = undefined;\n });\n\n const registry = new ComputeGraphRegistry({\n ...this._options,\n // Provide a default runtime provider for tests if not supplied.\n computeRuntime: this._options.computeRuntime ?? createMockedComputeRuntimeProvider(),\n });\n await registry.open();\n this._registry = registry;\n this._ctx.onDispose(async () => {\n await registry.close();\n this._registry = undefined;\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Layer from 'effect/Layer';\nimport * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { AiService } from '@dxos/ai';\nimport { type SpaceId } from '@dxos/client/echo';\nimport {\n CredentialsService,\n DatabaseService,\n type FunctionDefinition,\n FunctionInvocationService,\n QueueService,\n} from '@dxos/functions';\n\nimport { type FunctionsRuntimeProvider } from '../compute-graph-registry';\n\n/**\n * Minimal compute runtime provider for tests and Storybook.\n * Will cause errors if used for actual runtime.\n */\nexport const createMockedComputeRuntimeProvider = ({\n functions,\n}: { functions?: FunctionDefinition<any, any>[] } = {}): FunctionsRuntimeProvider => {\n return {\n getRuntime: (_spaceId: SpaceId) =>\n ManagedRuntime.make(\n FunctionInvocationService.layerTest({ functions }).pipe(\n Layer.provide(AiService.notAvailable),\n Layer.provide(CredentialsService.configuredLayer([])),\n Layer.provide(DatabaseService.notAvailable),\n Layer.provide(QueueService.notAvailable),\n ),\n ),\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { getDeep } from '@dxos/util';\nimport { type InterpreterState, type ProcedureAst } from '@dxos/vendor-hyperformula';\nimport { FunctionArgumentType } from '@dxos/vendor-hyperformula';\n\nimport { type ComputeGraphPlugin } from '../compute-graph-registry';\nimport { type AsyncFunction, AsyncFunctionPlugin } from '../functions';\nimport { parseNumberString } from '../util';\n\n/**\n * Testing functions run locally (not run via EDGE).\n * https://hyperformula.handsontable.com/guide/custom-functions.html#add-a-simple-custom-function\n */\nexport class TestPlugin extends AsyncFunctionPlugin {\n /**\n * Simple local function returns input value.\n */\n test(ast: ProcedureAst, state: InterpreterState) {\n const handler: AsyncFunction = async (_value) => {\n return _value;\n };\n\n return this.runAsyncFunction(ast, state, handler);\n }\n\n /**\n * Simple local function returns random number.\n */\n random(ast: ProcedureAst, state: InterpreterState) {\n const handler: AsyncFunction = async () => {\n return Math.random();\n };\n\n return this.runAsyncFunction(ast, state, handler);\n }\n\n /**\n * Async HTTP function.\n */\n crypto(ast: ProcedureAst, state: InterpreterState) {\n const handler: AsyncFunction = async (_currency) => {\n const currency = (_currency || 'USD').toUpperCase();\n const result = await fetch(`https://api.coindesk.com/v1/bpi/currentprice/${currency}.json`);\n const data = await result.json();\n const rate = getDeep<string>(data, ['bpi', currency, 'rate']);\n if (!rate) {\n return NaN;\n }\n\n return parseNumberString(rate);\n };\n\n return this.runAsyncFunction(ast, state, handler, { ttl: 10_000 });\n }\n}\n\nTestPlugin.implementedFunctions = {\n TEST: {\n method: 'test',\n parameters: [{ argumentType: FunctionArgumentType.NUMBER, optionalArg: false }],\n isVolatile: true,\n },\n\n RANDOM: {\n method: 'random',\n parameters: [],\n isVolatile: true,\n },\n\n CRYPTO: {\n method: 'crypto',\n parameters: [{ argumentType: FunctionArgumentType.STRING, optionalArg: true }],\n isVolatile: true,\n },\n};\n\nexport const TestPluginTranslations = {\n enGB: {\n TEST: 'Returns input value',\n RANDOM: 'Random number',\n CRYPTO: 'Crypto token value',\n },\n enUS: {\n TEST: 'Returns input value',\n RANDOM: 'Random number',\n CRYPTO: 'Crypto token value',\n },\n};\n\nexport const testFunctionPlugins: ComputeGraphPlugin[] = [\n {\n plugin: TestPlugin,\n translations: TestPluginTranslations,\n },\n];\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// TODO(burdon): Factor out.\nexport const parseNumberString = (str: string): number => {\n return parseFloat(str.replace(/[^\\d.]/g, ''));\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { HyperFormula } from '@dxos/vendor-hyperformula';\n\nexport const getRegisteredFunctionNames = () => {\n return HyperFormula.buildEmpty({ licenseKey: 'gpl-v3' }).getRegisteredFunctionNames();\n};\n"],
5
- "mappings": "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",
6
- "names": ["Client", "Resource", "invariant", "Layer", "ManagedRuntime", "AiService", "CredentialsService", "DatabaseService", "FunctionInvocationService", "QueueService", "createMockedComputeRuntimeProvider", "functions", "getRuntime", "_spaceId", "make", "FunctionInvocationService", "layerTest", "pipe", "provide", "AiService", "notAvailable", "CredentialsService", "configuredLayer", "DatabaseService", "QueueService", "TestBuilder", "Resource", "ctx", "_ctx", "client", "invariant", "_client", "registry", "_registry", "_open", "Client", "_options", "initialize", "halo", "createIdentity", "onDispose", "destroy", "undefined", "ComputeGraphRegistry", "computeRuntime", "createMockedComputeRuntimeProvider", "open", "close", "getDeep", "FunctionArgumentType", "parseNumberString", "str", "parseFloat", "replace", "TestPlugin", "AsyncFunctionPlugin", "test", "ast", "state", "handler", "_value", "runAsyncFunction", "random", "Math", "crypto", "_currency", "currency", "toUpperCase", "result", "fetch", "data", "json", "rate", "getDeep", "NaN", "parseNumberString", "ttl", "implementedFunctions", "TEST", "method", "parameters", "argumentType", "FunctionArgumentType", "NUMBER", "optionalArg", "isVolatile", "RANDOM", "CRYPTO", "STRING", "TestPluginTranslations", "enGB", "enUS", "testFunctionPlugins", "plugin", "translations", "HyperFormula", "getRegisteredFunctionNames", "HyperFormula", "buildEmpty", "licenseKey"]
7
- }
@@ -1,37 +0,0 @@
1
- import type * as ManagedRuntime from 'effect/ManagedRuntime';
2
- import { type Space, type SpaceId } from '@dxos/client/echo';
3
- import { Resource } from '@dxos/context';
4
- import { type FunctionInvocationService } from '@dxos/functions';
5
- import type { ConfigParams, FunctionPluginDefinition, FunctionTranslationsPackage } from '@dxos/vendor-hyperformula';
6
- import { ComputeGraph } from './compute-graph';
7
- import { type FunctionContextOptions } from './functions';
8
- export type ComputeGraphPlugin = {
9
- plugin: FunctionPluginDefinition;
10
- translations: FunctionTranslationsPackage;
11
- };
12
- export type FunctionsRuntimeProvider = {
13
- getRuntime(spaceId: SpaceId): ManagedRuntime.ManagedRuntime<FunctionInvocationService, never>;
14
- };
15
- export type ComputeGraphOptions = {
16
- plugins?: ComputeGraphPlugin[];
17
- computeRuntime: FunctionsRuntimeProvider;
18
- } & Partial<FunctionContextOptions> & Partial<ConfigParams>;
19
- export declare const defaultPlugins: ComputeGraphPlugin[];
20
- export declare const defaultOptions: Partial<ComputeGraphOptions>;
21
- /**
22
- * Manages a collection of ComputeGraph instances for each space.
23
- *
24
- * [ComputePlugin] => [ComputeGraphRegistry] => [ComputeGraph(Space)] => [ComputeNode(Object)]
25
- *
26
- * NOTE: The ComputeGraphRegistry manages the hierarchy of resources via its root Context.
27
- */
28
- export declare class ComputeGraphRegistry extends Resource {
29
- private readonly _graphs;
30
- private readonly _options;
31
- constructor(options: ComputeGraphOptions);
32
- getGraph(spaceId: SpaceId): ComputeGraph | undefined;
33
- getOrCreateGraph(space: Space): ComputeGraph;
34
- createGraph(space: Space): ComputeGraph;
35
- protected _close(): Promise<void>;
36
- }
37
- //# sourceMappingURL=compute-graph-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-graph-registry.d.ts","sourceRoot":"","sources":["../../../src/compute-graph-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAGrH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAsD,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9G,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,wBAAwB,CAAC;IACjC,YAAY,EAAE,2BAA2B,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;CAC/F,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,cAAc,EAAE,wBAAwB,CAAC;CAC1C,GAAG,OAAO,CAAC,sBAAsB,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC,CAAC;AAExB,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAK9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,mBAAmB,CAEvD,CAAC;AAEF;;;;;;GAMG;AAEH,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAEnC,OAAO,EAAE,mBAAmB;IASxC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS;IAIpD,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY;IAU5C,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY;cAWd,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAMjD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=compute-graph-registry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-graph-registry.test.d.ts","sourceRoot":"","sources":["../../../src/compute-graph-registry.test.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- import type * as ManagedRuntime from 'effect/ManagedRuntime';
2
- import { Event } from '@dxos/async';
3
- import { type Space } from '@dxos/client/echo';
4
- import { Resource } from '@dxos/context';
5
- import { type FunctionInvocationService } from '@dxos/functions';
6
- import { type HyperFormula } from '@dxos/vendor-hyperformula';
7
- import { ComputeNode } from './compute-node';
8
- import { FunctionContext, type FunctionContextOptions, type FunctionDefinition } from './functions';
9
- type ObjectRef = {
10
- type: string;
11
- id: string;
12
- };
13
- /**
14
- * Marker for sheets that are managed by an ECHO object.
15
- * Sheet ID: `dxos.org/type/SheetType@1234`
16
- */
17
- export declare const createSheetName: ({ type, id }: ObjectRef) => string;
18
- export declare const parseSheetName: (name: string) => Partial<ObjectRef>;
19
- export type ComputeGraphEvent = 'functionsUpdated' | 'valuesUpdated';
20
- /**
21
- * Per-space compute and dependency graph.
22
- * Consists of multiple ComputeNode (corresponding to a HyperFormula sheet).
23
- * Manages the set of custom functions.
24
- * HyperFormula manages the dependency graph.
25
- */
26
- export declare class ComputeGraph extends Resource {
27
- private readonly _hf;
28
- private readonly _runtime;
29
- private readonly _space?;
30
- private readonly _options?;
31
- readonly id: string;
32
- private readonly _nodes;
33
- private _remoteFunctions;
34
- readonly update: Event<{
35
- type: ComputeGraphEvent;
36
- }>;
37
- readonly context: FunctionContext;
38
- constructor(_hf: HyperFormula, _runtime: ManagedRuntime.ManagedRuntime<FunctionInvocationService, never>, _space?: Space | undefined, _options?: Partial<FunctionContextOptions> | undefined);
39
- get hf(): HyperFormula;
40
- getFunctions({ standard, echo }?: {
41
- standard?: boolean;
42
- echo?: boolean;
43
- }): FunctionDefinition[];
44
- /**
45
- * Get or create cell representing a sheet.
46
- */
47
- getOrCreateNode(name: string): ComputeNode;
48
- /**
49
- * Map bound value to custom function invocation.
50
- * E.g., "HELLO(...args)" => "DX("HELLO", ...args)".
51
- */
52
- mapFormulaToNative(formula: string): string;
53
- /**
54
- * Map from binding to fully qualified ECHO ID (to store).
55
- * E.g., HELLO() => spaceId:objectId()
56
- */
57
- mapFunctionBindingToId(formula: string): string;
58
- /**
59
- * Map from fully qualified ECHO ID to binding (from store).
60
- * E.g., spaceId:objectId() => HELLO()
61
- */
62
- mapFunctionBindingFromId(formula: string): string | undefined;
63
- protected _open(): Promise<void>;
64
- protected _close(): Promise<void>;
65
- }
66
- export {};
67
- //# sourceMappingURL=compute-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-graph.d.ts","sourceRoot":"","sources":["../../../src/compute-graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAU,KAAK,KAAK,EAAoB,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,yBAAyB,EAAgB,MAAM,iBAAiB,CAAC;AAM/E,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAEL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AASrB,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc,SAAS,WAAoB,CAAC;AAC5E,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAAO,CAAC,SAAS,CAG9D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IAetC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAjB5B,SAAgB,EAAE,SAA4C;IAG9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAGzD,OAAO,CAAC,gBAAgB,CAAsB;IAE9C,SAAgB,MAAM;cAAqB,iBAAiB;OAAM;IAGlE,SAAgB,OAAO,EAAE,eAAe,CAAC;gBAGtB,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,EACzE,MAAM,CAAC,EAAE,KAAK,YAAA,EACd,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,YAAA;IA8B7D,IAAI,EAAE,iBAEL;IAED,YAAY,CACV,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAmC,GAC1F,kBAAkB,EAAE;IAWvB;;OAEG;IAMH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAe1C;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAiD3C;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAgB/C;;;OAGG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;cAsBpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAatB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAKjD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=compute-graph.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-graph.test.d.ts","sourceRoot":"","sources":["../../../src/compute-graph.test.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import { Event } from '@dxos/async';
2
- import { Resource } from '@dxos/context';
3
- import { type ExportedCellChange, type Listeners } from '@dxos/vendor-hyperformula';
4
- import { type ComputeGraph } from './compute-graph';
5
- import { type CellAddress, type CellScalarValue } from './types';
6
- export type ComputeNodeEvent = {
7
- type: keyof Listeners;
8
- change?: ExportedCellChange;
9
- };
10
- /**
11
- * Individual "sheet" (typically corresponds to an ECHO object).
12
- */
13
- export declare class ComputeNode extends Resource {
14
- private readonly _graph;
15
- readonly sheetId: number;
16
- readonly update: Event<ComputeNodeEvent>;
17
- constructor(_graph: ComputeGraph, sheetId: number);
18
- get graph(): ComputeGraph;
19
- clear(): void;
20
- getValue(cell: CellAddress): CellScalarValue;
21
- setValue(cell: CellAddress, value: CellScalarValue): void;
22
- protected _open(): Promise<void>;
23
- }
24
- //# sourceMappingURL=compute-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-node.d.ts","sourceRoot":"","sources":["../../../src/compute-node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGpF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAa,MAAM,SAAS,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF;;GAEG;AAEH,qBAAa,WAAY,SAAQ,QAAQ;IAIrC,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,OAAO,EAAE,MAAM;IAJjC,SAAgB,MAAM,0BAAiC;gBAGpC,MAAM,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM;IAKjC,IAAI,KAAK,iBAER;IAED,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAS5C,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;cAMhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhD"}
@@ -1,68 +0,0 @@
1
- import type * as ManagedRuntime from 'effect/ManagedRuntime';
2
- import { type CleanupFn } from '@dxos/async';
3
- import type { Space } from '@dxos/client/echo';
4
- import { type FunctionInvocationService } from '@dxos/functions';
5
- import type { RawInterpreterValue, SimpleCellAddress } from '@dxos/vendor-hyperformula';
6
- import type { InterpreterState } from '@dxos/vendor-hyperformula';
7
- import type { InterpreterValue } from '@dxos/vendor-hyperformula';
8
- import type { ProcedureAst } from '@dxos/vendor-hyperformula';
9
- import { FunctionPlugin, type HyperFormula } from '@dxos/vendor-hyperformula';
10
- export type AsyncFunction = (...args: any) => Promise<InterpreterValue>;
11
- export type FunctionUpdateEvent = {
12
- name: string;
13
- cell: SimpleCellAddress;
14
- };
15
- export type FunctionOptions = {
16
- ttl?: number;
17
- };
18
- export type FunctionContextOptions = {
19
- defaultTtl: number;
20
- debounceDelay: number;
21
- onUpdate?: (update: FunctionUpdateEvent) => void;
22
- };
23
- export declare const defaultFunctionContextOptions: Pick<FunctionContextOptions, 'defaultTtl' | 'debounceDelay'>;
24
- /**
25
- * The context singleton for the model is passed into custom functions.
26
- *
27
- * HyperFormula does not support async functions.
28
- * - https://hyperformula.handsontable.com/guide/custom-functions.html
29
- * - https://hyperformula.handsontable.com/guide/known-limitations.html#known-limitations
30
- * - https://github.com/handsontable/hyperformula/issues/892
31
- */
32
- export declare class FunctionContext {
33
- private readonly _hf;
34
- private readonly _runtime;
35
- private readonly _space;
36
- static createInvocationKey(name: string, ...args: any): string;
37
- private readonly _cache;
38
- private readonly _pending;
39
- private readonly _subscriptions;
40
- private _invocations;
41
- private readonly _options;
42
- private readonly _onUpdate;
43
- constructor(_hf: HyperFormula, _runtime: ManagedRuntime.ManagedRuntime<FunctionInvocationService, never>, _space: Space | undefined, _options?: Partial<FunctionContextOptions>);
44
- get space(): Space | undefined;
45
- get info(): {
46
- cache: number;
47
- invocations: Record<string, number>;
48
- };
49
- get runtime(): ManagedRuntime.ManagedRuntime<FunctionInvocationService, never>;
50
- flush(): void;
51
- createSubscription(name: string, unsubscribe: CleanupFn): void;
52
- /**
53
- * Exec the function if TTL has expired.
54
- * Return the cached value.
55
- */
56
- invokeFunction(name: string, state: InterpreterState, args: any[], cb: AsyncFunction, options?: FunctionOptions): InterpreterValue | undefined;
57
- }
58
- /**
59
- * Base class for async functions.
60
- */
61
- export declare class AsyncFunctionPlugin extends FunctionPlugin {
62
- get context(): FunctionContext;
63
- /**
64
- * Immediately returns cached value then runs the async function.
65
- */
66
- protected runAsyncFunction(ast: ProcedureAst, state: InterpreterState, cb: AsyncFunction, options?: FunctionOptions): RawInterpreterValue;
67
- }
68
- //# sourceMappingURL=async-function.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-function.d.ts","sourceRoot":"","sources":["../../../../src/functions/async-function.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { type ProcedureAst } from '@dxos/vendor-hyperformula';
2
- import { type InterpreterState } from '@dxos/vendor-hyperformula';
3
- import { AsyncFunctionPlugin } from './async-function';
4
- export declare const EDGE_FUNCTION_NAME = "DX";
5
- /**
6
- * A hyperformula function plugin for calling remote (EDGE) functions.
7
- * https://hyperformula.handsontable.com/guide/custom-functions.html#add-a-simple-custom-function
8
- */
9
- export declare class EdgeFunctionPlugin extends AsyncFunctionPlugin {
10
- dx(ast: ProcedureAst, state: InterpreterState): import("@dxos/vendor-hyperformula").RawInterpreterValue;
11
- }
12
- export declare const EdgeFunctionPluginTranslations: {
13
- enGB: {
14
- DX: string;
15
- };
16
- enUS: {
17
- DX: string;
18
- };
19
- };
20
- //# sourceMappingURL=edge-function.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edge-function.d.ts","sourceRoot":"","sources":["../../../../src/functions/edge-function.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAsB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAIvC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;CAsD9C;AAuBD,eAAO,MAAM,8BAA8B;;;;;;;CAO1C,CAAC"}
@@ -1,11 +0,0 @@
1
- export type FunctionDefinition = {
2
- name: string;
3
- description?: string;
4
- syntax?: string;
5
- section?: string;
6
- };
7
- /**
8
- * nullDate {year: 1899, month: 12, day: 30}
9
- */
10
- export declare const defaultFunctions: FunctionDefinition[];
11
- //# sourceMappingURL=function-defs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function-defs.d.ts","sourceRoot":"","sources":["../../../../src/functions/function-defs.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EA42EhD,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './async-function';
2
- export * from './edge-function';
3
- export * from './function-defs';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/functions/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hyperformula.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperformula.test.d.ts","sourceRoot":"","sources":["../../../src/hyperformula.test.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { Client, type ClientOptions } from '@dxos/client';
2
- import { type Context, Resource } from '@dxos/context';
3
- import { type ComputeGraphOptions, ComputeGraphRegistry } from '../compute-graph-registry';
4
- export type TestBuilderOptions = ClientOptions & Partial<ComputeGraphOptions>;
5
- export declare class TestBuilder extends Resource {
6
- private readonly _options;
7
- private _client?;
8
- private _registry?;
9
- constructor(_options?: TestBuilderOptions);
10
- get ctx(): Context;
11
- get client(): Client;
12
- get registry(): ComputeGraphRegistry;
13
- _open(): Promise<void>;
14
- }
15
- //# sourceMappingURL=test-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI3F,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAG9E,qBAAa,WAAY,SAAQ,QAAQ;IAI3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAuB;gBAEZ,QAAQ,GAAE,kBAAuB;IAI9D,IAAI,GAAG,IAAI,OAAO,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAEc,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBtC"}
@@ -1,35 +0,0 @@
1
- import { type InterpreterState, type ProcedureAst } from '@dxos/vendor-hyperformula';
2
- import { type ComputeGraphPlugin } from '../compute-graph-registry';
3
- import { AsyncFunctionPlugin } from '../functions';
4
- /**
5
- * Testing functions run locally (not run via EDGE).
6
- * https://hyperformula.handsontable.com/guide/custom-functions.html#add-a-simple-custom-function
7
- */
8
- export declare class TestPlugin extends AsyncFunctionPlugin {
9
- /**
10
- * Simple local function returns input value.
11
- */
12
- test(ast: ProcedureAst, state: InterpreterState): import("@dxos/vendor-hyperformula").RawInterpreterValue;
13
- /**
14
- * Simple local function returns random number.
15
- */
16
- random(ast: ProcedureAst, state: InterpreterState): import("@dxos/vendor-hyperformula").RawInterpreterValue;
17
- /**
18
- * Async HTTP function.
19
- */
20
- crypto(ast: ProcedureAst, state: InterpreterState): import("@dxos/vendor-hyperformula").RawInterpreterValue;
21
- }
22
- export declare const TestPluginTranslations: {
23
- enGB: {
24
- TEST: string;
25
- RANDOM: string;
26
- CRYPTO: string;
27
- };
28
- enUS: {
29
- TEST: string;
30
- RANDOM: string;
31
- CRYPTO: string;
32
- };
33
- };
34
- export declare const testFunctionPlugins: ComputeGraphPlugin[];
35
- //# sourceMappingURL=test-plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-plugin.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGrF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAsB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGvE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,mBAAmB;IACjD;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAQ/C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAQjD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;CAelD;AAsBD,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAWlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,EAKnD,CAAC"}
@@ -1,10 +0,0 @@
1
- import { type FunctionDefinition } from '@dxos/functions';
2
- import { type FunctionsRuntimeProvider } from '../compute-graph-registry';
3
- /**
4
- * Minimal compute runtime provider for tests and Storybook.
5
- * Will cause errors if used for actual runtime.
6
- */
7
- export declare const createMockedComputeRuntimeProvider: ({ functions, }?: {
8
- functions?: FunctionDefinition<any, any>[];
9
- }) => FunctionsRuntimeProvider;
10
- //# sourceMappingURL=test-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-runtime.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-runtime.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,iBAEhD;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;CAAO,KAAG,wBAYxD,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const getRegisteredFunctionNames: () => string[];
2
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,gBAEtC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { type SimpleCellAddress, type SimpleCellRange, type SimpleDate, type SimpleDateTime } from '@dxos/vendor-hyperformula';
2
- import { DetailedCellError, ExportedCellChange } from '@dxos/vendor-hyperformula';
3
- /**
4
- * Re-exported from vendored hyperformula package.
5
- */
6
- export { DetailedCellError, ExportedCellChange };
7
- export type { SimpleCellRange, SimpleCellAddress, SimpleDate, SimpleDateTime };
8
- //# sourceMappingURL=hyperformula.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperformula.d.ts","sourceRoot":"","sources":["../../../../src/types/hyperformula.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAElF;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAEjD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './hyperformula';
2
- export * from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}