@elaraai/e3-api-server 1.0.5 → 1.0.7

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.
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ import type { StorageBackend, TaskRunner } from '@elaraai/e3-core';
6
+ import { type FunctionCallRequest, type OneShotRequest } from '../types.js';
7
+ /**
8
+ * List a package's functions with their signatures.
9
+ */
10
+ export declare function listPackageFunctions(storage: StorageBackend, repoPath: string, pkgName: string, version: string): Promise<Response>;
11
+ /**
12
+ * Describe a single function (signature) so dynamic callers can encode args.
13
+ */
14
+ export declare function describePackageFunction(storage: StorageBackend, repoPath: string, pkgName: string, version: string, fnName: string): Promise<Response>;
15
+ /**
16
+ * Call a named function synchronously: resolve → validate arity → run →
17
+ * 200 ExecuteResult. The sync path enforces a server-owned deadline so the
18
+ * caller gets a structured `timed_out` instead of a transport cut.
19
+ */
20
+ export declare function callFunctionSync(storage: StorageBackend, repoPath: string, runner: TaskRunner, pkgName: string, version: string, fnName: string, req: FunctionCallRequest): Promise<Response>;
21
+ /**
22
+ * Run a one-shot synchronously. SECURITY: caller-supplied IR — the route
23
+ * layer gates this behind an elevated role.
24
+ */
25
+ export declare function callOneShotSync(storage: StorageBackend, repoPath: string, runner: TaskRunner, workspace: string, req: OneShotRequest): Promise<Response>;
26
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/handlers/functions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAInF,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AA2NrB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAkBnB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC,CAYnB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,QAAQ,CAAC,CAQnB;AASD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,QAAQ,CAAC,CASnB"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Handlers for named package functions and one-shot execution.
7
+ *
8
+ * Both reduce to the graph-free `runDetached` primitive: marshal inputs →
9
+ * run a body IR on a runner → return the result inline. Nothing durable is
10
+ * written — no output object, no execution record, no logs, no dataset ref.
11
+ *
12
+ * Named functions are author-published IR (same trust as a deployed task).
13
+ * One-shot evaluates CALLER-supplied IR — remote code execution with the
14
+ * server's authority — and must be gated by the route layer (see
15
+ * routes/functions.ts).
16
+ */
17
+ import { ArrayType, decodeBeast2For, variant, none } from '@elaraai/east';
18
+ import { packageRead, workspaceGetPackage, workspaceGetDatasetHash, TaskNotFoundError, } from '@elaraai/e3-core';
19
+ import { FunctionObjectType } from '@elaraai/e3-types';
20
+ import { sendSuccess, sendError } from '../beast2.js';
21
+ import { errorToVariant } from '../errors.js';
22
+ import { FunctionSignatureType, ExecuteResultType, } from '../types.js';
23
+ // =============================================================================
24
+ // Limits (server-owned, clamped)
25
+ // =============================================================================
26
+ /** Default per-call timeout when the request doesn't specify one. */
27
+ const DEFAULT_TIMEOUT_MS = 60_000;
28
+ /** Hard ceiling on any call's timeout (async included). */
29
+ const MAX_TIMEOUT_MS = 10 * 60_000;
30
+ /** Sync calls additionally respect a server-owned wall-clock deadline so the
31
+ * caller gets a structured `timed_out` instead of a transport cut. (The
32
+ * cloud sets this below API Gateway's 29 s; locally we can be generous.) */
33
+ const SERVER_SYNC_DEADLINE_MS = 120_000;
34
+ /** Default + ceiling for the inline result size (see design §9: 1 MB leaves
35
+ * 3-4x headroom under the base64-inflated Lambda ceiling and still allows
36
+ * multi-thousand-row tables inline). Requests may lower it, never raise it. */
37
+ const MAX_RESULT_BYTES = 1024 * 1024;
38
+ /** Default + ceiling for each captured log stream's tail. */
39
+ const MAX_LOG_BYTES = 256 * 1024;
40
+ const DEFAULT_LOG_BYTES = 64 * 1024;
41
+ function resolveLimits(limits, sync) {
42
+ const req = limits.type === 'some' ? limits.value : undefined;
43
+ let timeoutMs = req && req.timeoutMs.type === 'some'
44
+ ? Number(req.timeoutMs.value)
45
+ : DEFAULT_TIMEOUT_MS;
46
+ timeoutMs = Math.min(Math.max(1, timeoutMs), MAX_TIMEOUT_MS);
47
+ if (sync)
48
+ timeoutMs = Math.min(timeoutMs, SERVER_SYNC_DEADLINE_MS);
49
+ let maxResultBytes = req && req.maxResultBytes.type === 'some'
50
+ ? Number(req.maxResultBytes.value)
51
+ : MAX_RESULT_BYTES;
52
+ maxResultBytes = Math.min(Math.max(1, maxResultBytes), MAX_RESULT_BYTES);
53
+ let maxLogBytes = req && req.maxLogBytes.type === 'some'
54
+ ? Number(req.maxLogBytes.value)
55
+ : DEFAULT_LOG_BYTES;
56
+ maxLogBytes = Math.min(Math.max(0, maxLogBytes), MAX_LOG_BYTES);
57
+ return { timeoutMs, maxResultBytes, maxLogBytes };
58
+ }
59
+ // =============================================================================
60
+ // Shared helpers
61
+ // =============================================================================
62
+ const decodeFunctionObject = decodeBeast2For(FunctionObjectType);
63
+ /**
64
+ * Resolve a named function in a package to its FunctionObject.
65
+ *
66
+ * @throws {TaskNotFoundError} If the function doesn't exist (functions are
67
+ * named callables; the wire format has no separate function_not_found tag —
68
+ * adding one would reorder ErrorType's sorted variant tags, a breaking
69
+ * wire change).
70
+ */
71
+ async function resolveFunction(storage, repoPath, pkgName, version, fnName) {
72
+ const pkg = await packageRead(storage, repoPath, pkgName, version);
73
+ const fnHash = pkg.functions.get(fnName);
74
+ if (!fnHash) {
75
+ throw new TaskNotFoundError(`function '${fnName}' in ${pkgName}@${version}`);
76
+ }
77
+ const fnData = await storage.objects.read(repoPath, fnHash);
78
+ return decodeFunctionObject(Buffer.from(fnData));
79
+ }
80
+ /** Map a DetachedResult to the wire ExecuteResult. */
81
+ function detachedToExecuteResult(result) {
82
+ const streams = {
83
+ stdout: result.stdout,
84
+ stderr: result.stderr,
85
+ stdoutTruncated: result.stdoutTruncated,
86
+ stderrTruncated: result.stderrTruncated,
87
+ };
88
+ switch (result.kind) {
89
+ case 'success':
90
+ return { outcome: variant('success', { value: result.value }), ...streams };
91
+ case 'failed':
92
+ return { outcome: variant('failed', { exitCode: BigInt(result.exitCode) }), ...streams };
93
+ case 'too_large':
94
+ return { outcome: variant('too_large', { bytes: BigInt(result.bytes), limit: BigInt(result.limit) }), ...streams };
95
+ case 'timed_out':
96
+ return { outcome: variant('timed_out', { ms: BigInt(result.ms) }), ...streams };
97
+ }
98
+ }
99
+ /** Build an `invalid` ExecuteResult (signature/IR error; nothing ran). */
100
+ function invalidResult(message) {
101
+ return {
102
+ outcome: variant('invalid', {
103
+ diagnostics: [{ message, filename: none, line: none, column: none }],
104
+ }),
105
+ stdout: '',
106
+ stderr: '',
107
+ stdoutTruncated: false,
108
+ stderrTruncated: false,
109
+ };
110
+ }
111
+ /**
112
+ * Execute a resolved named function: arity check → read bodyIr → runDetached.
113
+ * Never throws for execution outcomes — only for storage/infra errors.
114
+ */
115
+ async function executeFunction(storage, repoPath, runner, fnObj, req, sync, signal) {
116
+ // Signature validation: arity is checked here, before anything runs.
117
+ // Per-element type errors surface as a runtime decode failure (`failed`)
118
+ // from the runner.
119
+ if (req.args.length !== fnObj.inputTypes.length) {
120
+ return invalidResult(`Expected ${fnObj.inputTypes.length} argument(s), got ${req.args.length}`);
121
+ }
122
+ const bodyIr = await storage.objects.read(repoPath, fnObj.bodyIr);
123
+ const runnerValue = req.runner.type === 'some' ? req.runner.value : fnObj.runner;
124
+ const limits = resolveLimits(req.limits, sync);
125
+ const result = await runner.runDetached({
126
+ bodyIr,
127
+ args: req.args.map((a) => a),
128
+ runner: runnerValue,
129
+ limits,
130
+ }, { signal });
131
+ return detachedToExecuteResult(result);
132
+ }
133
+ /**
134
+ * Resolve one-shot args: inline values pass through; dataset paths are
135
+ * resolved + pinned by content hash at launch (objects are immutable, so no
136
+ * lock is needed — snapshot consistency).
137
+ *
138
+ * @returns The arg bytes, or an `invalid` ExecuteResult if a dataset arg is
139
+ * unassigned.
140
+ */
141
+ async function resolveOneShotArgs(storage, repoPath, workspace, args) {
142
+ const bytes = [];
143
+ for (let i = 0; i < args.length; i++) {
144
+ const arg = args[i];
145
+ if (arg.type === 'value') {
146
+ bytes.push(arg.value);
147
+ }
148
+ else {
149
+ const path = arg.value;
150
+ const { refType, hash } = await workspaceGetDatasetHash(storage, repoPath, workspace, path);
151
+ if (refType !== 'value' || hash === null) {
152
+ return {
153
+ ok: false,
154
+ invalid: invalidResult(`Dataset argument ${i} is not assigned (ref type: ${refType})`),
155
+ };
156
+ }
157
+ bytes.push(await storage.objects.read(repoPath, hash));
158
+ }
159
+ }
160
+ return { ok: true, bytes };
161
+ }
162
+ /** Execute a one-shot request (bodyIr from the request). */
163
+ async function executeOneShot(storage, repoPath, workspace, runner, req, sync, signal) {
164
+ const resolved = await resolveOneShotArgs(storage, repoPath, workspace, req.args);
165
+ if (!resolved.ok) {
166
+ return resolved.invalid;
167
+ }
168
+ const limits = resolveLimits(req.limits, sync);
169
+ const result = await runner.runDetached({
170
+ bodyIr: req.bodyIr,
171
+ args: resolved.bytes,
172
+ runner: req.runner,
173
+ limits,
174
+ }, { signal });
175
+ return detachedToExecuteResult(result);
176
+ }
177
+ // =============================================================================
178
+ // Named function handlers
179
+ // =============================================================================
180
+ /**
181
+ * List a package's functions with their signatures.
182
+ */
183
+ export async function listPackageFunctions(storage, repoPath, pkgName, version) {
184
+ try {
185
+ const pkg = await packageRead(storage, repoPath, pkgName, version);
186
+ const signatures = [];
187
+ for (const [name, fnHash] of pkg.functions) {
188
+ const fnData = await storage.objects.read(repoPath, fnHash);
189
+ const fnObj = decodeFunctionObject(Buffer.from(fnData));
190
+ signatures.push({
191
+ name,
192
+ inputTypes: fnObj.inputTypes,
193
+ outputType: fnObj.outputType,
194
+ runner: fnObj.runner,
195
+ });
196
+ }
197
+ return sendSuccess(ArrayType(FunctionSignatureType), signatures);
198
+ }
199
+ catch (err) {
200
+ return sendError(ArrayType(FunctionSignatureType), errorToVariant(err));
201
+ }
202
+ }
203
+ /**
204
+ * Describe a single function (signature) so dynamic callers can encode args.
205
+ */
206
+ export async function describePackageFunction(storage, repoPath, pkgName, version, fnName) {
207
+ try {
208
+ const fnObj = await resolveFunction(storage, repoPath, pkgName, version, fnName);
209
+ return sendSuccess(FunctionSignatureType, {
210
+ name: fnName,
211
+ inputTypes: fnObj.inputTypes,
212
+ outputType: fnObj.outputType,
213
+ runner: fnObj.runner,
214
+ });
215
+ }
216
+ catch (err) {
217
+ return sendError(FunctionSignatureType, errorToVariant(err));
218
+ }
219
+ }
220
+ /**
221
+ * Call a named function synchronously: resolve → validate arity → run →
222
+ * 200 ExecuteResult. The sync path enforces a server-owned deadline so the
223
+ * caller gets a structured `timed_out` instead of a transport cut.
224
+ */
225
+ export async function callFunctionSync(storage, repoPath, runner, pkgName, version, fnName, req) {
226
+ try {
227
+ const fnObj = await resolveFunction(storage, repoPath, pkgName, version, fnName);
228
+ const result = await executeFunction(storage, repoPath, runner, fnObj, req, true);
229
+ return sendSuccess(ExecuteResultType, result);
230
+ }
231
+ catch (err) {
232
+ return sendError(ExecuteResultType, errorToVariant(err));
233
+ }
234
+ }
235
+ // =============================================================================
236
+ // One-shot handlers (workspace-scoped; anonymous caller-supplied IR)
237
+ // =============================================================================
238
+ /**
239
+ * Run a one-shot synchronously. SECURITY: caller-supplied IR — the route
240
+ * layer gates this behind an elevated role.
241
+ */
242
+ export async function callOneShotSync(storage, repoPath, runner, workspace, req) {
243
+ try {
244
+ // Validate the workspace exists / is deployed before running anything.
245
+ await workspaceGetPackage(storage, repoPath, workspace);
246
+ const result = await executeOneShot(storage, repoPath, workspace, runner, req, true);
247
+ return sendSuccess(ExecuteResultType, result);
248
+ }
249
+ catch (err) {
250
+ return sendError(ExecuteResultType, errorToVariant(err));
251
+ }
252
+ }
253
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/handlers/functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=functions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.spec.d.ts","sourceRoot":"","sources":["../../../src/handlers/functions.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ import { describe, it, beforeEach } from 'node:test';
6
+ import assert from 'node:assert/strict';
7
+ import { Hono } from 'hono';
8
+ import { IntegerType, encodeBeast2For, decodeBeast2For, toEastTypeValue, variant, some, none, } from '@elaraai/east';
9
+ import { MockTaskRunner, BEAST2_CONTENT_TYPE } from '@elaraai/e3-core';
10
+ import { InMemoryStorage } from '@elaraai/e3-core/test';
11
+ import { FunctionObjectType, PackageObjectType } from '@elaraai/e3-types';
12
+ import { listPackageFunctions, describePackageFunction, callFunctionSync, } from './functions.js';
13
+ import { createOneShotRoutes } from '../routes/functions.js';
14
+ import { ResponseType, FunctionSignatureType, ExecuteResultType, OneShotRequestType, } from '../types.js';
15
+ import { ArrayType } from '@elaraai/east';
16
+ const REPO = 'test-repo';
17
+ const PKG = 'fn-pkg';
18
+ const VERSION = '1.0.0';
19
+ const encodeInt = encodeBeast2For(IntegerType);
20
+ async function decodeResponse(response, type) {
21
+ const body = new Uint8Array(await response.arrayBuffer());
22
+ return decodeBeast2For(ResponseType(type))(body);
23
+ }
24
+ /** Seed a repo containing one function `double` (Integer -> Integer). */
25
+ async function seedPackage(storage) {
26
+ await storage.repos.create(REPO);
27
+ const bodyIrHash = await storage.objects.write(REPO, encodeInt(0n)); // stand-in IR blob
28
+ const fnObject = {
29
+ bodyIr: bodyIrHash,
30
+ inputTypes: [toEastTypeValue(IntegerType)],
31
+ outputType: toEastTypeValue(IntegerType),
32
+ runner: variant('east_node', { platforms: ['@elaraai/east-node-std'] }),
33
+ };
34
+ const fnHash = await storage.objects.write(REPO, encodeBeast2For(FunctionObjectType)(fnObject));
35
+ const pkgObject = {
36
+ tasks: new Map(),
37
+ data: { structure: variant('struct', new Map()), refs: new Map() },
38
+ functions: new Map([['double', fnHash]]),
39
+ };
40
+ const pkgHash = await storage.objects.write(REPO, encodeBeast2For(PackageObjectType)(pkgObject));
41
+ await storage.refs.packageWrite(REPO, PKG, VERSION, pkgHash);
42
+ }
43
+ function callRequest(args, runner) {
44
+ return { args, runner: runner ?? none, limits: none };
45
+ }
46
+ describe('function handlers', () => {
47
+ let storage;
48
+ let runner;
49
+ beforeEach(async () => {
50
+ storage = new InMemoryStorage();
51
+ runner = new MockTaskRunner();
52
+ await seedPackage(storage);
53
+ });
54
+ it('listPackageFunctions surfaces the signature', async () => {
55
+ const response = await listPackageFunctions(storage, REPO, PKG, VERSION);
56
+ const result = await decodeResponse(response, ArrayType(FunctionSignatureType));
57
+ assert.equal(result.type, 'success');
58
+ assert.equal(result.value.length, 1);
59
+ assert.equal(result.value[0].name, 'double');
60
+ assert.equal(result.value[0].inputTypes.length, 1);
61
+ assert.equal(result.value[0].outputType.type, 'Integer');
62
+ });
63
+ it('describePackageFunction returns task_not_found for unknown functions', async () => {
64
+ const response = await describePackageFunction(storage, REPO, PKG, VERSION, 'nope');
65
+ const result = await decodeResponse(response, FunctionSignatureType);
66
+ assert.equal(result.type, 'error');
67
+ assert.equal(result.value.type, 'task_not_found');
68
+ });
69
+ it('callFunctionSync returns the runner result inline', async () => {
70
+ const payload = encodeInt(10n);
71
+ runner.setDetachedResult({
72
+ kind: 'success', value: payload,
73
+ stdout: 'log line', stderr: '', stdoutTruncated: false, stderrTruncated: false,
74
+ });
75
+ const response = await callFunctionSync(storage, REPO, runner, PKG, VERSION, 'double', callRequest([encodeInt(5n)]));
76
+ const result = await decodeResponse(response, ExecuteResultType);
77
+ assert.equal(result.type, 'success');
78
+ assert.equal(result.value.outcome.type, 'success');
79
+ assert.equal(decodeBeast2For(IntegerType)(result.value.outcome.value.value), 10n);
80
+ assert.equal(result.value.stdout, 'log line');
81
+ // The stored runner reached the spec
82
+ const spec = runner.getDetachedCalls()[0];
83
+ assert.deepEqual(spec.runner, variant('east_node', { platforms: ['@elaraai/east-node-std'] }));
84
+ });
85
+ it('a request runner override replaces the stored runner', async () => {
86
+ await callFunctionSync(storage, REPO, runner, PKG, VERSION, 'double', callRequest([encodeInt(5n)], some(variant('east_py', { platforms: ['east-py-std'] }))));
87
+ const spec = runner.getDetachedCalls()[0];
88
+ assert.deepEqual(spec.runner, variant('east_py', { platforms: ['east-py-std'] }));
89
+ });
90
+ it('arity mismatch returns invalid without executing', async () => {
91
+ const response = await callFunctionSync(storage, REPO, runner, PKG, VERSION, 'double', callRequest([encodeInt(1n), encodeInt(2n)]));
92
+ const result = await decodeResponse(response, ExecuteResultType);
93
+ assert.equal(result.type, 'success');
94
+ assert.equal(result.value.outcome.type, 'invalid');
95
+ assert.match(result.value.outcome.value.diagnostics[0].message, /Expected 1 argument/);
96
+ assert.equal(runner.getDetachedCalls().length, 0, 'nothing should have executed');
97
+ });
98
+ });
99
+ describe('one-shot role gate', () => {
100
+ const oneShotBody = () => encodeBeast2For(OneShotRequestType)({
101
+ bodyIr: new Uint8Array([0]),
102
+ args: [],
103
+ runner: variant('east_node', { platforms: [] }),
104
+ limits: none,
105
+ });
106
+ const buildApp = (roles) => {
107
+ const storage = new InMemoryStorage();
108
+ const runner = new MockTaskRunner();
109
+ const app = new Hono();
110
+ if (roles !== undefined) {
111
+ app.use('*', async (c, next) => {
112
+ c.set('identity', { sub: 'user', roles });
113
+ await next();
114
+ });
115
+ }
116
+ app.route('/api/repos/:repo/workspaces/:ws/one-shot', createOneShotRoutes(storage, () => REPO, () => runner));
117
+ return app;
118
+ };
119
+ const post = (app) => app.request('/api/repos/r/workspaces/w/one-shot', {
120
+ method: 'POST',
121
+ headers: { 'Content-Type': BEAST2_CONTENT_TYPE },
122
+ body: oneShotBody(),
123
+ });
124
+ it('refuses one-shot without an elevated role', async () => {
125
+ const response = await post(buildApp(['member']));
126
+ const result = await decodeResponse(response, ExecuteResultType);
127
+ assert.equal(result.type, 'error');
128
+ assert.equal(result.value.type, 'permission_denied');
129
+ });
130
+ it('admits an admin past the gate (fails later on the missing workspace)', async () => {
131
+ const response = await post(buildApp(['admin']));
132
+ const result = await decodeResponse(response, ExecuteResultType);
133
+ assert.equal(result.type, 'error');
134
+ assert.notEqual(result.value.type, 'permission_denied');
135
+ });
136
+ it('admits unauthenticated callers when no auth is configured (single-tenant)', async () => {
137
+ const response = await post(buildApp(undefined));
138
+ const result = await decodeResponse(response, ExecuteResultType);
139
+ assert.equal(result.type, 'error');
140
+ assert.notEqual(result.value.type, 'permission_denied');
141
+ });
142
+ });
143
+ //# sourceMappingURL=functions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.spec.js","sourceRoot":"","sources":["../../../src/handlers/functions.spec.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, dele
8
8
  export { listDatasets, listDatasetsRecursive, listDatasetsRecursivePaths, listDatasetsWithStatus, getDataset, getDatasetStatus, setDataset, } from './datasets.js';
9
9
  export { listTasks, getTask, } from './tasks.js';
10
10
  export { startDataflow, getDataflowStatus, getDataflowGraph, getTaskLogs, } from './dataflow.js';
11
+ export { listPackageFunctions, describePackageFunction, callFunctionSync, callOneShotSync, } from './functions.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
@@ -8,4 +8,5 @@ export { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, dele
8
8
  export { listDatasets, listDatasetsRecursive, listDatasetsRecursivePaths, listDatasetsWithStatus, getDataset, getDatasetStatus, setDataset, } from './datasets.js';
9
9
  export { listTasks, getTask, } from './tasks.js';
10
10
  export { startDataflow, getDataflowStatus, getDataflowGraph, getTaskLogs, } from './dataflow.js';
11
+ export { listPackageFunctions, describePackageFunction, callFunctionSync, callOneShotSync, } from './functions.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Routes for named package functions and one-shot execution.
7
+ *
8
+ * Functions touch no datasets, so they are callable at the package level
9
+ * (imported in a repo, no workspace) and at the workspace level (resolved
10
+ * from the deployed package). Both mount the same handlers.
11
+ *
12
+ * One-shot is workspace-scoped, caller-supplied IR — RCE with the server's
13
+ * authority — and is gated: when the server has authentication configured,
14
+ * only callers with an elevated role (admin/owner) may use it. A local
15
+ * server without auth is single-tenant (author = operator) and one-shot is
16
+ * allowed.
17
+ */
18
+ import { Hono } from 'hono';
19
+ import type { StorageBackend, TaskRunner } from '@elaraai/e3-core';
20
+ import type { Identity } from '../middleware/auth.js';
21
+ /**
22
+ * Per-repo TaskRunner accessor — the runner is injected (the local server
23
+ * passes LocalTaskRunner), mirroring the orchestrator runner-injection seam.
24
+ */
25
+ export type GetRunner = (repoPath: string) => TaskRunner;
26
+ /**
27
+ * Package-scoped function routes, mounted at
28
+ * `/api/repos/:repo/packages/:pkg/:version/functions`.
29
+ */
30
+ export declare function createPackageFunctionRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, getRunner: GetRunner): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
31
+ /**
32
+ * Workspace-scoped function routes, mounted at
33
+ * `/api/repos/:repo/workspaces/:ws/functions`. The package is resolved from
34
+ * what's deployed in the workspace; the handlers are identical.
35
+ */
36
+ export declare function createWorkspaceFunctionRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, getRunner: GetRunner): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
37
+ /**
38
+ * One-shot routes, mounted at `/api/repos/:repo/workspaces/:ws/one-shot`.
39
+ *
40
+ * Gated by role: with auth configured, the caller's JWT must carry an
41
+ * elevated role (admin/owner). Without auth the server is single-tenant
42
+ * local and the gate is open.
43
+ */
44
+ export declare function createOneShotRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, getRunner: GetRunner): Hono<{
45
+ Variables: {
46
+ identity?: Identity;
47
+ };
48
+ }, import("hono/types").BlankSchema, "/">;
49
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/routes/functions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAgBtD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,SAAS,EAAE,SAAS,8EA4BrB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,SAAS,EAAE,SAAS,8EAwCrB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,SAAS,EAAE,SAAS;eAEc;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE;0CAsB1D"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Routes for named package functions and one-shot execution.
7
+ *
8
+ * Functions touch no datasets, so they are callable at the package level
9
+ * (imported in a repo, no workspace) and at the workspace level (resolved
10
+ * from the deployed package). Both mount the same handlers.
11
+ *
12
+ * One-shot is workspace-scoped, caller-supplied IR — RCE with the server's
13
+ * authority — and is gated: when the server has authentication configured,
14
+ * only callers with an elevated role (admin/owner) may use it. A local
15
+ * server without auth is single-tenant (author = operator) and one-shot is
16
+ * allowed.
17
+ */
18
+ import { Hono } from 'hono';
19
+ import { variant } from '@elaraai/east';
20
+ import { workspaceGetPackage } from '@elaraai/e3-core';
21
+ import { decodeBody, sendError } from '../beast2.js';
22
+ import { errorToVariant } from '../errors.js';
23
+ import { FunctionCallRequestType, OneShotRequestType, ExecuteResultType, } from '../types.js';
24
+ import { listPackageFunctions, describePackageFunction, callFunctionSync, callOneShotSync, } from '../handlers/functions.js';
25
+ /** Roles allowed to use one-shot execution when auth is configured. */
26
+ const ONE_SHOT_ROLES = ['admin', 'owner'];
27
+ /**
28
+ * Package-scoped function routes, mounted at
29
+ * `/api/repos/:repo/packages/:pkg/:version/functions`.
30
+ */
31
+ export function createPackageFunctionRoutes(storage, getRepoPath, getRunner) {
32
+ const app = new Hono();
33
+ // GET / - List functions with signatures
34
+ app.get('/', async (c) => {
35
+ const repoPath = getRepoPath(c.req.param('repo'));
36
+ return listPackageFunctions(storage, repoPath, c.req.param('pkg'), c.req.param('version'));
37
+ });
38
+ // GET /:fn - Describe a function
39
+ app.get('/:fn', async (c) => {
40
+ const repoPath = getRepoPath(c.req.param('repo'));
41
+ return describePackageFunction(storage, repoPath, c.req.param('pkg'), c.req.param('version'), c.req.param('fn'));
42
+ });
43
+ // POST /:fn - Call synchronously (200 ExecuteResult)
44
+ app.post('/:fn', async (c) => {
45
+ const repoPath = getRepoPath(c.req.param('repo'));
46
+ try {
47
+ const req = await decodeBody(c, FunctionCallRequestType);
48
+ return await callFunctionSync(storage, repoPath, getRunner(repoPath), c.req.param('pkg'), c.req.param('version'), c.req.param('fn'), req);
49
+ }
50
+ catch (err) {
51
+ return sendError(ExecuteResultType, errorToVariant(err));
52
+ }
53
+ });
54
+ return app;
55
+ }
56
+ /**
57
+ * Workspace-scoped function routes, mounted at
58
+ * `/api/repos/:repo/workspaces/:ws/functions`. The package is resolved from
59
+ * what's deployed in the workspace; the handlers are identical.
60
+ */
61
+ export function createWorkspaceFunctionRoutes(storage, getRepoPath, getRunner) {
62
+ const app = new Hono();
63
+ const deployed = async (c) => {
64
+ const repoPath = getRepoPath(c.req.param('repo'));
65
+ const ws = c.req.param('ws');
66
+ const pkg = await workspaceGetPackage(storage, repoPath, ws);
67
+ return { repoPath, name: pkg.name, version: pkg.version };
68
+ };
69
+ app.get('/', async (c) => {
70
+ try {
71
+ const { repoPath, name, version } = await deployed(c);
72
+ return await listPackageFunctions(storage, repoPath, name, version);
73
+ }
74
+ catch (err) {
75
+ return sendError(ExecuteResultType, errorToVariant(err));
76
+ }
77
+ });
78
+ app.get('/:fn', async (c) => {
79
+ try {
80
+ const { repoPath, name, version } = await deployed(c);
81
+ return await describePackageFunction(storage, repoPath, name, version, c.req.param('fn'));
82
+ }
83
+ catch (err) {
84
+ return sendError(ExecuteResultType, errorToVariant(err));
85
+ }
86
+ });
87
+ app.post('/:fn', async (c) => {
88
+ try {
89
+ const { repoPath, name, version } = await deployed(c);
90
+ const req = await decodeBody(c, FunctionCallRequestType);
91
+ return await callFunctionSync(storage, repoPath, getRunner(repoPath), name, version, c.req.param('fn'), req);
92
+ }
93
+ catch (err) {
94
+ return sendError(ExecuteResultType, errorToVariant(err));
95
+ }
96
+ });
97
+ return app;
98
+ }
99
+ /**
100
+ * One-shot routes, mounted at `/api/repos/:repo/workspaces/:ws/one-shot`.
101
+ *
102
+ * Gated by role: with auth configured, the caller's JWT must carry an
103
+ * elevated role (admin/owner). Without auth the server is single-tenant
104
+ * local and the gate is open.
105
+ */
106
+ export function createOneShotRoutes(storage, getRepoPath, getRunner) {
107
+ const app = new Hono();
108
+ // Role gate: identity is set by the auth middleware when configured.
109
+ app.use('*', async (c, next) => {
110
+ const identity = c.get('identity');
111
+ if (identity && !(identity.roles ?? []).some((r) => ONE_SHOT_ROLES.includes(r))) {
112
+ return sendError(ExecuteResultType, variant('permission_denied', { path: 'one-shot' }));
113
+ }
114
+ await next();
115
+ });
116
+ app.post('/', async (c) => {
117
+ const repoPath = getRepoPath(c.req.param('repo'));
118
+ try {
119
+ const req = await decodeBody(c, OneShotRequestType);
120
+ return await callOneShotSync(storage, repoPath, getRunner(repoPath), c.req.param('ws'), req);
121
+ }
122
+ catch (err) {
123
+ return sendError(ExecuteResultType, errorToVariant(err));
124
+ }
125
+ });
126
+ return app;
127
+ }
128
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/routes/functions.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export { createObjectRoutes } from './objects.js';
12
12
  export { createTransferRoutes } from './transfer.js';
13
13
  export { createPackageTransferRoutes } from './package-transfer.js';
14
14
  export { createDataEndpoints } from './data.js';
15
+ export { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes, type GetRunner } from './functions.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -12,4 +12,5 @@ export { createObjectRoutes } from './objects.js';
12
12
  export { createTransferRoutes } from './transfer.js';
13
13
  export { createPackageTransferRoutes } from './package-transfer.js';
14
14
  export { createDataEndpoints } from './data.js';
15
+ export { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes } from './functions.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mBAAmB,EAAkB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAezF,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAuVxE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgBzF,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA4WxE"}
@@ -6,7 +6,7 @@ import * as path from 'node:path';
6
6
  import { Hono } from 'hono';
7
7
  import { cors } from 'hono/cors';
8
8
  import { serve } from '@hono/node-server';
9
- import { LocalStorage, RepoAlreadyExistsError, RepoNotFoundError, InMemoryTransferBackend } from '@elaraai/e3-core';
9
+ import { LocalStorage, LocalTaskRunner, RepoAlreadyExistsError, RepoNotFoundError, InMemoryTransferBackend } from '@elaraai/e3-core';
10
10
  import { createAuthMiddleware } from './middleware/auth.js';
11
11
  import { createOidcProvider } from './auth/index.js';
12
12
  import { sendError, sendSuccessWithStatus, sendSuccess } from './beast2.js';
@@ -22,6 +22,7 @@ import { createObjectRoutes } from './routes/objects.js';
22
22
  import { createTransferRoutes } from './routes/transfer.js';
23
23
  import { createPackageTransferRoutes } from './routes/package-transfer.js';
24
24
  import { createDataEndpoints } from './routes/data.js';
25
+ import { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes } from './routes/functions.js';
25
26
  /**
26
27
  * Create an e3 API server.
27
28
  *
@@ -277,8 +278,21 @@ export async function createServer(config) {
277
278
  // Package transfer routes: repo-level import/export + package-level export trigger
278
279
  app.route('/api/repos/:repo', pkgTransfer.repoApi);
279
280
  app.route('/api/repos/:repo/packages', pkgTransfer.pkgApi);
281
+ // Per-repo task runner for function / one-shot calls (cached — the
282
+ // runner is stateless apart from its repo anchor)
283
+ const runners = new Map();
284
+ const getRunner = (repoPath) => {
285
+ let runner = runners.get(repoPath);
286
+ if (!runner) {
287
+ runner = new LocalTaskRunner(repoPath);
288
+ runners.set(repoPath, runner);
289
+ }
290
+ return runner;
291
+ };
280
292
  // Package routes: /api/repos/:repo/packages/*
281
293
  app.route('/api/repos/:repo/packages', createPackageRoutes(storage, getRepoPath));
294
+ // Package-scoped function routes: /api/repos/:repo/packages/:pkg/:version/functions/*
295
+ app.route('/api/repos/:repo/packages/:pkg/:version/functions', createPackageFunctionRoutes(storage, getRepoPath, getRunner));
282
296
  // Workspace routes: /api/repos/:repo/workspaces/*
283
297
  app.route('/api/repos/:repo/workspaces', createWorkspaceRoutes(storage, getRepoPath, transferBackend));
284
298
  // Dataset transfer auth routes (init + commit) mount alongside dataset routes
@@ -287,6 +301,10 @@ export async function createServer(config) {
287
301
  app.route('/api/repos/:repo/workspaces/:ws/datasets', createDatasetRoutes(storage, getRepoPath, transferBackend));
288
302
  // Task routes: /api/repos/:repo/workspaces/:ws/tasks/*
289
303
  app.route('/api/repos/:repo/workspaces/:ws/tasks', createTaskRoutes(storage, getRepoPath));
304
+ // Workspace-scoped function routes: /api/repos/:repo/workspaces/:ws/functions/*
305
+ app.route('/api/repos/:repo/workspaces/:ws/functions', createWorkspaceFunctionRoutes(storage, getRepoPath, getRunner));
306
+ // One-shot routes (role-gated): /api/repos/:repo/workspaces/:ws/one-shot/*
307
+ app.route('/api/repos/:repo/workspaces/:ws/one-shot', createOneShotRoutes(storage, getRepoPath, getRunner));
290
308
  // Execution/Dataflow routes: /api/repos/:repo/workspaces/:ws/dataflow/*
291
309
  app.route('/api/repos/:repo/workspaces/:ws/dataflow', createExecutionRoutes(storage, getRepoPath));
292
310
  // Object routes: /api/repos/:repo/objects/:hash
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@
9
9
  * Types with "Api" prefix in e3-types are re-exported here with shorter names
10
10
  * since API consumers don't see the conflicting domain types.
11
11
  */
12
- export { WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, ErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType as ExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType as DataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, DataflowGraphType, DataflowGraphTaskType, } from '@elaraai/e3-types';
13
- export type { Error, RepositoryStatus, GcRequest, GcResult, AsyncOperationStatus, GcStartResult, GcStatusResult, PackageListItem, PackageImportResult, PackageInfo, PackageDetails, WorkspaceInfo, WorkspaceCreateRequest, WorkspaceDeployRequest, DatasetStatus, ApiTaskStatus as TaskStatus, DatasetStatusInfo, TaskStatusInfo, WorkspaceStatusSummary, WorkspaceStatusResult, TaskListItem, TaskDetails, DataflowRequest, LogChunk, TaskExecutionResult, DataflowResult, DataflowEvent, ApiExecutionStatus as ExecutionStatus, DataflowExecutionSummary, ApiDataflowExecutionState as DataflowExecutionState, ExecutionHistoryStatus, ExecutionListItem, TreeKind, ListEntry, DatasetStatusDetail, TransferUploadRequest, TransferUploadResponse, TransferDoneResponse, DataflowGraph, DataflowGraphTask, } from '@elaraai/e3-types';
12
+ export { WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, ErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType as ExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType as DataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, RunnerType, ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType, DataflowGraphType, DataflowGraphTaskType, } from '@elaraai/e3-types';
13
+ export type { Error, RepositoryStatus, GcRequest, GcResult, AsyncOperationStatus, GcStartResult, GcStatusResult, PackageListItem, PackageImportResult, PackageInfo, PackageDetails, WorkspaceInfo, WorkspaceCreateRequest, WorkspaceDeployRequest, DatasetStatus, ApiTaskStatus as TaskStatus, DatasetStatusInfo, TaskStatusInfo, WorkspaceStatusSummary, WorkspaceStatusResult, TaskListItem, TaskDetails, DataflowRequest, LogChunk, TaskExecutionResult, DataflowResult, DataflowEvent, ApiExecutionStatus as ExecutionStatus, DataflowExecutionSummary, ApiDataflowExecutionState as DataflowExecutionState, ExecutionHistoryStatus, ExecutionListItem, TreeKind, ListEntry, DatasetStatusDetail, TransferUploadRequest, TransferUploadResponse, TransferDoneResponse, RunnerValue, ExecuteLimits, Diagnostic, ExecuteResult, FunctionCallRequest, FunctionSignature, OneShotRequest, DataflowGraph, DataflowGraphTask, } from '@elaraai/e3-types';
14
14
  export declare const ApiTypes: {
15
15
  readonly ErrorType: import("@elaraai/east").VariantType<{
16
16
  readonly repository_not_found: import("@elaraai/east").StructType<{
@@ -869,5 +869,210 @@ export declare const ApiTypes: {
869
869
  readonly PackageJobResponseType: import("@elaraai/east").StructType<{
870
870
  readonly id: import("@elaraai/east").StringType;
871
871
  }>;
872
+ readonly RunnerType: import("@elaraai/east").VariantType<{
873
+ readonly east_node: import("@elaraai/east").StructType<{
874
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
875
+ }>;
876
+ readonly east_py: import("@elaraai/east").StructType<{
877
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
878
+ }>;
879
+ readonly east_c: import("@elaraai/east").StructType<{
880
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
881
+ }>;
882
+ readonly custom: import("@elaraai/east").StructType<{
883
+ readonly command: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
884
+ }>;
885
+ }>;
886
+ readonly ExecuteLimitsType: import("@elaraai/east").StructType<{
887
+ readonly timeoutMs: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
888
+ readonly maxResultBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
889
+ readonly maxLogBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
890
+ }>;
891
+ readonly DiagnosticType: import("@elaraai/east").StructType<{
892
+ readonly message: import("@elaraai/east").StringType;
893
+ readonly filename: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
894
+ readonly line: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
895
+ readonly column: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
896
+ }>;
897
+ readonly ExecuteResultType: import("@elaraai/east").StructType<{
898
+ readonly outcome: import("@elaraai/east").VariantType<{
899
+ readonly success: import("@elaraai/east").StructType<{
900
+ readonly value: import("@elaraai/east").BlobType;
901
+ }>;
902
+ readonly failed: import("@elaraai/east").StructType<{
903
+ readonly exitCode: import("@elaraai/east").IntegerType;
904
+ }>;
905
+ readonly invalid: import("@elaraai/east").StructType<{
906
+ readonly diagnostics: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
907
+ readonly message: import("@elaraai/east").StringType;
908
+ readonly filename: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
909
+ readonly line: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
910
+ readonly column: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
911
+ }>>;
912
+ }>;
913
+ readonly too_large: import("@elaraai/east").StructType<{
914
+ readonly bytes: import("@elaraai/east").IntegerType;
915
+ readonly limit: import("@elaraai/east").IntegerType;
916
+ }>;
917
+ readonly timed_out: import("@elaraai/east").StructType<{
918
+ readonly ms: import("@elaraai/east").IntegerType;
919
+ }>;
920
+ }>;
921
+ readonly stdout: import("@elaraai/east").StringType;
922
+ readonly stderr: import("@elaraai/east").StringType;
923
+ readonly stdoutTruncated: import("@elaraai/east").BooleanType;
924
+ readonly stderrTruncated: import("@elaraai/east").BooleanType;
925
+ }>;
926
+ readonly FunctionCallRequestType: import("@elaraai/east").StructType<{
927
+ readonly args: import("@elaraai/east").ArrayType<import("@elaraai/east").BlobType>;
928
+ readonly runner: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
929
+ readonly east_node: import("@elaraai/east").StructType<{
930
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
931
+ }>;
932
+ readonly east_py: import("@elaraai/east").StructType<{
933
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
934
+ }>;
935
+ readonly east_c: import("@elaraai/east").StructType<{
936
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
937
+ }>;
938
+ readonly custom: import("@elaraai/east").StructType<{
939
+ readonly command: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
940
+ }>;
941
+ }>>;
942
+ readonly limits: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
943
+ readonly timeoutMs: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
944
+ readonly maxResultBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
945
+ readonly maxLogBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
946
+ }>>;
947
+ }>;
948
+ readonly FunctionSignatureType: import("@elaraai/east").StructType<{
949
+ readonly name: import("@elaraai/east").StringType;
950
+ readonly inputTypes: import("@elaraai/east").ArrayType<import("@elaraai/east").RecursiveType<import("@elaraai/east").VariantType<{
951
+ readonly Never: import("@elaraai/east").NullType;
952
+ readonly Null: import("@elaraai/east").NullType;
953
+ readonly Boolean: import("@elaraai/east").NullType;
954
+ readonly Integer: import("@elaraai/east").NullType;
955
+ readonly Float: import("@elaraai/east").NullType;
956
+ readonly String: import("@elaraai/east").NullType;
957
+ readonly DateTime: import("@elaraai/east").NullType;
958
+ readonly Blob: import("@elaraai/east").NullType;
959
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
960
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
961
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
962
+ readonly Dict: import("@elaraai/east").StructType<{
963
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
964
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
965
+ }>;
966
+ readonly Struct: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
967
+ readonly name: import("@elaraai/east").StringType;
968
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
969
+ }>>;
970
+ readonly Variant: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
971
+ readonly name: import("@elaraai/east").StringType;
972
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
973
+ }>>;
974
+ readonly Recursive: import("@elaraai/east").VariantType<{
975
+ readonly ref: import("@elaraai/east").IntegerType;
976
+ readonly wrapper: import("@elaraai/east").StructType<{
977
+ readonly id: import("@elaraai/east").IntegerType;
978
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
979
+ }>;
980
+ }>;
981
+ readonly Function: import("@elaraai/east").StructType<{
982
+ readonly inputs: import("@elaraai/east").ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
983
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
984
+ }>;
985
+ readonly AsyncFunction: import("@elaraai/east").StructType<{
986
+ readonly inputs: import("@elaraai/east").ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
987
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
988
+ }>;
989
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
990
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
991
+ }>>>;
992
+ readonly outputType: import("@elaraai/east").RecursiveType<import("@elaraai/east").VariantType<{
993
+ readonly Never: import("@elaraai/east").NullType;
994
+ readonly Null: import("@elaraai/east").NullType;
995
+ readonly Boolean: import("@elaraai/east").NullType;
996
+ readonly Integer: import("@elaraai/east").NullType;
997
+ readonly Float: import("@elaraai/east").NullType;
998
+ readonly String: import("@elaraai/east").NullType;
999
+ readonly DateTime: import("@elaraai/east").NullType;
1000
+ readonly Blob: import("@elaraai/east").NullType;
1001
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
1002
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
1003
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
1004
+ readonly Dict: import("@elaraai/east").StructType<{
1005
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
1006
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
1007
+ }>;
1008
+ readonly Struct: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
1009
+ readonly name: import("@elaraai/east").StringType;
1010
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
1011
+ }>>;
1012
+ readonly Variant: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
1013
+ readonly name: import("@elaraai/east").StringType;
1014
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
1015
+ }>>;
1016
+ readonly Recursive: import("@elaraai/east").VariantType<{
1017
+ readonly ref: import("@elaraai/east").IntegerType;
1018
+ readonly wrapper: import("@elaraai/east").StructType<{
1019
+ readonly id: import("@elaraai/east").IntegerType;
1020
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
1021
+ }>;
1022
+ }>;
1023
+ readonly Function: import("@elaraai/east").StructType<{
1024
+ readonly inputs: import("@elaraai/east").ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
1025
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
1026
+ }>;
1027
+ readonly AsyncFunction: import("@elaraai/east").StructType<{
1028
+ readonly inputs: import("@elaraai/east").ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
1029
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
1030
+ }>;
1031
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
1032
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
1033
+ }>>;
1034
+ readonly runner: import("@elaraai/east").VariantType<{
1035
+ readonly east_node: import("@elaraai/east").StructType<{
1036
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1037
+ }>;
1038
+ readonly east_py: import("@elaraai/east").StructType<{
1039
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1040
+ }>;
1041
+ readonly east_c: import("@elaraai/east").StructType<{
1042
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1043
+ }>;
1044
+ readonly custom: import("@elaraai/east").StructType<{
1045
+ readonly command: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1046
+ }>;
1047
+ }>;
1048
+ }>;
1049
+ readonly OneShotRequestType: import("@elaraai/east").StructType<{
1050
+ readonly bodyIr: import("@elaraai/east").BlobType;
1051
+ readonly args: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
1052
+ readonly value: import("@elaraai/east").BlobType;
1053
+ readonly dataset: import("@elaraai/east").ArrayType<import("@elaraai/east").VariantType<{
1054
+ readonly field: import("@elaraai/east").StringType;
1055
+ }>>;
1056
+ }>>;
1057
+ readonly runner: import("@elaraai/east").VariantType<{
1058
+ readonly east_node: import("@elaraai/east").StructType<{
1059
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1060
+ }>;
1061
+ readonly east_py: import("@elaraai/east").StructType<{
1062
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1063
+ }>;
1064
+ readonly east_c: import("@elaraai/east").StructType<{
1065
+ readonly platforms: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1066
+ }>;
1067
+ readonly custom: import("@elaraai/east").StructType<{
1068
+ readonly command: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
1069
+ }>;
1070
+ }>;
1071
+ readonly limits: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
1072
+ readonly timeoutMs: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
1073
+ readonly maxResultBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
1074
+ readonly maxLogBytes: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
1075
+ }>>;
1076
+ }>;
872
1077
  };
873
1078
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -35,12 +35,14 @@ TreeKindType, ListEntryType,
35
35
  DatasetStatusDetailType,
36
36
  // Transfer types
37
37
  TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType,
38
+ // Function / one-shot execution
39
+ RunnerType, ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType,
38
40
  // Graph types (from dataflow.ts, structurally identical to old API GraphTaskType)
39
41
  DataflowGraphType, DataflowGraphTaskType, } from '@elaraai/e3-types';
40
42
  // =============================================================================
41
43
  // Namespace export for convenience
42
44
  // =============================================================================
43
- import { ErrorType, RepositoryNotFoundErrorType, WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, WorkspaceLockedErrorType, LockHolderType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, DataflowGraphType, DataflowGraphTaskType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, } from '@elaraai/e3-types';
45
+ import { ErrorType, RepositoryNotFoundErrorType, WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, WorkspaceLockedErrorType, LockHolderType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, DataflowGraphType, DataflowGraphTaskType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, RunnerType as _RunnerType, ExecuteLimitsType as _ExecuteLimitsType, DiagnosticType as _DiagnosticType, ExecuteResultType as _ExecuteResultType, FunctionCallRequestType as _FunctionCallRequestType, FunctionSignatureType as _FunctionSignatureType, OneShotRequestType as _OneShotRequestType, } from '@elaraai/e3-types';
44
46
  export const ApiTypes = {
45
47
  // Errors
46
48
  ErrorType,
@@ -125,5 +127,13 @@ export const ApiTypes = {
125
127
  PackageTransferInitRequestType,
126
128
  PackageTransferInitResponseType,
127
129
  PackageJobResponseType,
130
+ // Function / one-shot execution
131
+ RunnerType: _RunnerType,
132
+ ExecuteLimitsType: _ExecuteLimitsType,
133
+ DiagnosticType: _DiagnosticType,
134
+ ExecuteResultType: _ExecuteResultType,
135
+ FunctionCallRequestType: _FunctionCallRequestType,
136
+ FunctionSignatureType: _FunctionSignatureType,
137
+ OneShotRequestType: _OneShotRequestType,
128
138
  };
129
139
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/e3-api-server",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "type": "module",
5
5
  "description": "East Execution Engine API Server - HTTP server exposing e3-core operations",
6
6
  "main": "dist/src/index.js",
@@ -49,11 +49,11 @@
49
49
  "@hono/node-server": "^1.13.0",
50
50
  "commander": "^12.0.0",
51
51
  "hono": "^4.6.0",
52
- "@elaraai/e3-types": "1.0.5",
53
- "@elaraai/e3-core": "1.0.5"
52
+ "@elaraai/e3-core": "1.0.7",
53
+ "@elaraai/e3-types": "1.0.7"
54
54
  },
55
55
  "peerDependencies": {
56
- "@elaraai/east": "1.0.5"
56
+ "@elaraai/east": "1.0.7"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "^22.0.0",