@inquir/compute 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,8 @@ import { spawn } from 'node:child_process';
2
2
  import { createRequire } from 'node:module';
3
3
  import path from 'node:path';
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url';
5
+ const DEFAULT_MAX_OUTPUT_BYTES = 4 * 1024 * 1024;
6
+ const DEFAULT_KILL_GRACE_MS = 1_000;
5
7
  const modulePath = typeof __filename === 'string' ? __filename : fileURLToPath(import.meta.url);
6
8
  const require = createRequire(modulePath);
7
9
  function resolveTsxImportPath() {
@@ -24,29 +26,124 @@ export function buildLocalRunnerArgs(asset, payload, options = {}) {
24
26
  if (options.inspectBrk) {
25
27
  args.push('--inspect-brk');
26
28
  }
27
- args.push(getHarnessPath(), path.resolve(asset.filePath), asset.exportName, JSON.stringify(payload ?? {}));
29
+ args.push(getHarnessPath(), path.resolve(asset.filePath), asset.exportName, JSON.stringify(payload ?? {}), String(options.inspectBrk ? 0 : (options.timeoutMs ?? 0)),
30
+ // Reserve at least half of the parent capture budget for the result/error
31
+ // envelope. Otherwise logs can legally fill the entire budget and make an
32
+ // otherwise valid JSON response look like an output-limit failure.
33
+ String(Math.max(1, Math.floor((options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES) / 2))));
28
34
  return args;
29
35
  }
30
36
  export async function runLocally(asset, payload, options = {}) {
37
+ if (options.timeoutMs !== undefined && (!Number.isFinite(options.timeoutMs) || options.timeoutMs <= 0)) {
38
+ throw new RangeError('timeoutMs must be a positive finite number');
39
+ }
40
+ if (options.maxOutputBytes !== undefined && (!Number.isFinite(options.maxOutputBytes) || options.maxOutputBytes <= 0)) {
41
+ throw new RangeError('maxOutputBytes must be a positive finite number');
42
+ }
43
+ if (options.killGraceMs !== undefined && (!Number.isFinite(options.killGraceMs) || options.killGraceMs < 0)) {
44
+ throw new RangeError('killGraceMs must be a non-negative finite number');
45
+ }
31
46
  const startedAt = Date.now();
32
47
  const args = buildLocalRunnerArgs(asset, payload, options);
48
+ const maxOutputBytes = Math.floor(options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES);
49
+ const killGraceMs = Math.floor(options.killGraceMs ?? DEFAULT_KILL_GRACE_MS);
50
+ // A debugger deliberately pauses before user code. A wall-clock deadline
51
+ // would otherwise kill a healthy session while it waits for attachment.
52
+ const timeoutMs = options.inspectBrk ? undefined : options.timeoutMs;
33
53
  return await new Promise((resolve, reject) => {
34
54
  const child = spawn(process.execPath, args, {
35
55
  stdio: ['ignore', 'pipe', 'pipe'],
36
56
  cwd: options.cwd,
37
57
  });
38
- let stdout = '';
39
- let stderr = '';
58
+ const stdoutChunks = [];
59
+ const stderrChunks = [];
60
+ let capturedBytes = 0;
61
+ let settled = false;
62
+ let terminationReason;
63
+ let timeoutTimer;
64
+ let forceKillTimer;
65
+ const cleanup = () => {
66
+ if (timeoutTimer)
67
+ clearTimeout(timeoutTimer);
68
+ if (forceKillTimer)
69
+ clearTimeout(forceKillTimer);
70
+ options.signal?.removeEventListener('abort', onExternalAbort);
71
+ };
72
+ const terminate = (reason) => {
73
+ if (terminationReason || settled)
74
+ return;
75
+ terminationReason = reason;
76
+ try {
77
+ child.kill('SIGTERM');
78
+ }
79
+ catch { /* close/error will settle the run */ }
80
+ forceKillTimer = setTimeout(() => {
81
+ if (!settled) {
82
+ try {
83
+ child.kill('SIGKILL');
84
+ }
85
+ catch { /* close/error will settle the run */ }
86
+ }
87
+ }, killGraceMs);
88
+ forceKillTimer.unref?.();
89
+ };
90
+ const onExternalAbort = () => terminate('cancelled');
91
+ const capture = (target, chunk) => {
92
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
93
+ const remaining = Math.max(0, maxOutputBytes - capturedBytes);
94
+ if (remaining > 0)
95
+ target.push(buffer.subarray(0, remaining));
96
+ capturedBytes += buffer.length;
97
+ if (capturedBytes > maxOutputBytes)
98
+ terminate('output-limit');
99
+ };
40
100
  child.stdout.on('data', (chunk) => {
41
- stdout += chunk.toString();
101
+ capture(stdoutChunks, chunk);
42
102
  });
43
103
  child.stderr.on('data', (chunk) => {
44
- stderr += chunk.toString();
104
+ capture(stderrChunks, chunk);
105
+ });
106
+ if (timeoutMs !== undefined) {
107
+ timeoutTimer = setTimeout(() => terminate('timeout'), Math.floor(timeoutMs));
108
+ timeoutTimer.unref?.();
109
+ }
110
+ if (options.signal) {
111
+ if (options.signal.aborted)
112
+ onExternalAbort();
113
+ else
114
+ options.signal.addEventListener('abort', onExternalAbort, { once: true });
115
+ }
116
+ child.once('error', (error) => {
117
+ if (settled)
118
+ return;
119
+ settled = true;
120
+ cleanup();
121
+ reject(error);
45
122
  });
46
- child.on('error', reject);
47
123
  child.on('close', (code) => {
124
+ if (settled)
125
+ return;
126
+ settled = true;
127
+ cleanup();
48
128
  const durationMs = Date.now() - startedAt;
129
+ const stdout = Buffer.concat(stdoutChunks).toString('utf8');
130
+ const stderr = Buffer.concat(stderrChunks).toString('utf8');
49
131
  const debuggerUrl = options.inspectBrk ? parseDebuggerUrl(stderr) : undefined;
132
+ if (terminationReason) {
133
+ const message = terminationReason === 'timeout'
134
+ ? `Local run exceeded timeout of ${Math.floor(timeoutMs)} ms`
135
+ : terminationReason === 'cancelled'
136
+ ? 'Local run was cancelled'
137
+ : `Local harness output exceeded ${maxOutputBytes} bytes`;
138
+ resolve({
139
+ logs: stderr ? stderr.trim().split(/\r?\n/).filter(Boolean) : [],
140
+ durationMs,
141
+ debuggerUrl,
142
+ terminationReason,
143
+ error: { message, code: code ?? undefined },
144
+ });
145
+ return;
146
+ }
50
147
  let response;
51
148
  try {
52
149
  response = stdout ? JSON.parse(stdout) : { logs: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"local-runner.js","sourceRoot":"","sources":["../src/local-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-runner.js","sourceRoot":"","sources":["../src/local-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Project folders: inventory, membership, and the canvas/layout behind the
3
+ * dashboard's project view.
4
+ *
5
+ * A folder groups long-lived container applications (web services, APIs,
6
+ * databases, and workers). Serverless functions are managed separately.
7
+ * The canvas draws its
8
+ * application members as nodes, the recorded connections between them as
9
+ * edges, and remembers where each node was dragged on the membership row.
10
+ */
11
+ import type { AppResources, AppScalingPolicy, AppVolumeSpec } from './apps.js';
12
+ import { type TransportClient } from './transport.js';
13
+ export interface Project {
14
+ id: string;
15
+ name: string;
16
+ slug: string;
17
+ description: string | null;
18
+ /** Number of container applications in this project. */
19
+ resourceCount: number;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }
23
+ export interface CreateProjectInput {
24
+ name: string;
25
+ slug?: string;
26
+ description?: string;
27
+ }
28
+ export interface ProjectListResponse {
29
+ items: Project[];
30
+ nextCursor: string | null;
31
+ }
32
+ export interface ProjectResourceRef {
33
+ kind: 'application';
34
+ id: string;
35
+ }
36
+ export interface ProjectMember extends ProjectResourceRef {
37
+ addedAt: string;
38
+ name: string;
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ }
42
+ export interface ProjectDetail extends Project {
43
+ resources: ProjectMember[];
44
+ nextCursor: string | null;
45
+ }
46
+ export declare function listProjects(client: TransportClient, options?: {
47
+ limit?: number;
48
+ cursor?: string;
49
+ }): Promise<ProjectListResponse>;
50
+ /** Resolve a live project by its id or slug. */
51
+ export declare function getProject(client: TransportClient, project: string): Promise<ProjectDetail>;
52
+ export declare function createProject(client: TransportClient, input: CreateProjectInput): Promise<Project>;
53
+ /** Idempotent: filing an existing member again returns the same membership. */
54
+ export declare function addProjectResource(client: TransportClient, project: string, resource: ProjectResourceRef): Promise<ProjectMember>;
55
+ export interface CanvasPosition {
56
+ x: number;
57
+ y: number;
58
+ }
59
+ /** Where the node's image comes from — the glyph on the card. */
60
+ export type CanvasSourceKind = 'github' | 'build' | 'image' | 'none';
61
+ /** Production health of a node, as the folder listing computes it. */
62
+ export interface ProjectCanvasProduction {
63
+ activeReleaseId: string;
64
+ status: string;
65
+ restartCount: number;
66
+ failureReason?: string;
67
+ /** First verified production URL; absent for a TCP-only service. */
68
+ url?: string;
69
+ }
70
+ export interface ProjectCanvasApplication {
71
+ id: string;
72
+ name: string;
73
+ /** Permanent address label; absent when the apps plane is not composed. */
74
+ slug?: string;
75
+ template: string | null;
76
+ sourceKind: CanvasSourceKind;
77
+ production: ProjectCanvasProduction | null;
78
+ desiredReplicas?: number;
79
+ activation?: AppScalingPolicy['activation'];
80
+ ingress?: 'private' | 'public';
81
+ resources?: AppResources;
82
+ volumes: AppVolumeSpec[];
83
+ /** When the production release was created; absent when nothing is promoted. */
84
+ lastDeployAt?: string;
85
+ lastChangeAt: string;
86
+ createdAt: string;
87
+ updatedAt: string;
88
+ }
89
+ export interface ProjectCanvasNode {
90
+ /** `app:<applicationId>` — the id a layout write uses. */
91
+ id: string;
92
+ kind: 'application';
93
+ application: ProjectCanvasApplication;
94
+ /** null until somebody drags the node; the dashboard auto-arranges it then. */
95
+ position: CanvasPosition | null;
96
+ }
97
+ export interface ProjectCanvasEdge {
98
+ id: string;
99
+ consumerApplicationId: string;
100
+ providerApplicationId: string;
101
+ envKey: string;
102
+ providerTemplate: string | null;
103
+ /** The provider is not a member of this folder. */
104
+ external: boolean;
105
+ provider: {
106
+ id: string;
107
+ name: string;
108
+ archived: boolean;
109
+ };
110
+ }
111
+ /** @deprecated Projects do not contain serverless functions. */
112
+ export type ProjectCanvasFunction = never;
113
+ export interface ProjectCanvas {
114
+ project: {
115
+ id: string;
116
+ name: string;
117
+ slug: string;
118
+ };
119
+ nodes: ProjectCanvasNode[];
120
+ edges: ProjectCanvasEdge[];
121
+ /** @deprecated Empty compatibility field; projects contain applications only. */
122
+ functions: readonly never[];
123
+ /** More than the server draws (500); the dashboard falls back to the list. */
124
+ truncated: boolean;
125
+ generatedAt: string;
126
+ }
127
+ /** `{ "app:<id>": {x, y} | null }` — null forgets a position. */
128
+ export type ProjectCanvasLayout = Record<`app:${string}`, CanvasPosition | null>;
129
+ /** `:project` is the folder's id or slug. */
130
+ export declare function getProjectCanvas(client: TransportClient, project: string): Promise<ProjectCanvas>;
131
+ /**
132
+ * Store node positions. Only members can be placed: a stranger's id is a 400
133
+ * and nothing is written. Positions are cosmetic — no release, no routing.
134
+ */
135
+ export declare function saveProjectCanvasLayout(client: TransportClient, project: string, positions: ProjectCanvasLayout): Promise<{
136
+ updated: number;
137
+ }>;
138
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Project folders: inventory, membership, and the canvas/layout behind the
3
+ * dashboard's project view.
4
+ *
5
+ * A folder groups long-lived container applications (web services, APIs,
6
+ * databases, and workers). Serverless functions are managed separately.
7
+ * The canvas draws its
8
+ * application members as nodes, the recorded connections between them as
9
+ * edges, and remembers where each node was dragged on the membership row.
10
+ */
11
+ import { rawRequest } from './transport.js';
12
+ export async function listProjects(client, options = {}) {
13
+ const query = new URLSearchParams();
14
+ if (options.limit !== undefined)
15
+ query.set('limit', String(options.limit));
16
+ if (options.cursor !== undefined)
17
+ query.set('cursor', options.cursor);
18
+ return rawRequest(client, 'GET', `/v1/projects${query.size ? `?${query}` : ''}`);
19
+ }
20
+ /** Resolve a live project by its id or slug. */
21
+ export async function getProject(client, project) {
22
+ return rawRequest(client, 'GET', `/v1/projects/${encodeURIComponent(project)}`);
23
+ }
24
+ export async function createProject(client, input) {
25
+ return rawRequest(client, 'POST', '/v1/projects', input);
26
+ }
27
+ /** Idempotent: filing an existing member again returns the same membership. */
28
+ export async function addProjectResource(client, project, resource) {
29
+ // JavaScript consumers do not get the TypeScript literal-kind check.
30
+ if (resource?.kind !== 'application') {
31
+ throw new TypeError('Projects only contain long-lived container applications; resource.kind must be "application".');
32
+ }
33
+ return rawRequest(client, 'POST', `/v1/projects/${encodeURIComponent(project)}/resources`, {
34
+ kind: 'application',
35
+ id: resource.id,
36
+ });
37
+ }
38
+ /** `:project` is the folder's id or slug. */
39
+ export async function getProjectCanvas(client, project) {
40
+ return rawRequest(client, 'GET', `/v1/projects/${encodeURIComponent(project)}/canvas`);
41
+ }
42
+ /**
43
+ * Store node positions. Only members can be placed: a stranger's id is a 400
44
+ * and nothing is written. Positions are cosmetic — no release, no routing.
45
+ */
46
+ export async function saveProjectCanvasLayout(client, project, positions) {
47
+ if (Object.keys(positions).some((nodeId) => !nodeId.startsWith('app:') || nodeId.length === 4)) {
48
+ throw new TypeError('Project canvas positions must use application node IDs: app:<applicationId>.');
49
+ }
50
+ return rawRequest(client, 'PUT', `/v1/projects/${encodeURIComponent(project)}/canvas/layout`, { positions });
51
+ }
52
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAwB,MAAM,gBAAgB,CAAC;AAyClE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,UAA+C,EAAE;IAEjD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,UAAU,CAAsB,MAAM,EAAE,KAAK,EAAE,eAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAe;IACvE,OAAO,UAAU,CAAgB,MAAM,EAAE,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB,EAAE,KAAyB;IACpF,OAAO,UAAU,CAAU,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAuB,EACvB,OAAe,EACf,QAA4B;IAE5B,qEAAqE;IACrE,IAAI,QAAQ,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,+FAA+F,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,UAAU,CAAgB,MAAM,EAAE,MAAM,EAAE,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE;QACxG,IAAI,EAAE,aAAa;QACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AA6ED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,OAAe;IAEf,OAAO,UAAU,CACf,MAAM,EACN,KAAK,EACL,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,SAAS,CACrD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,OAAe,EACf,SAA8B;IAE9B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,SAAS,CAAC,8EAA8E,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,UAAU,CACf,MAAM,EACN,KAAK,EACL,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,EAC3D,EAAE,SAAS,EAAE,CACd,CAAC;AACJ,CAAC"}
@@ -16,9 +16,13 @@ export interface InvokeRemoteOptions {
16
16
  }
17
17
  export interface CreateRemoteFunctionInput {
18
18
  name: string;
19
- handler: string;
19
+ /** module.export spec for handler-mode functions. Optional: web-mode apps and
20
+ * server-side detection don't need one (server defaults to index.handler). */
21
+ handler?: string;
20
22
  runtime?: string;
21
23
  runtimeVariant?: string;
24
+ /** Runtime-specific configuration. Web apps: { mode: 'web', startCommand }. */
25
+ runtimeConfig?: Record<string, unknown>;
22
26
  timeoutMs?: number;
23
27
  memoryMb?: number;
24
28
  cpuShares?: number;
@@ -134,6 +138,8 @@ export interface TransportClient {
134
138
  readonly functionCache: Map<string, RemoteFunctionRecord>;
135
139
  }
136
140
  export declare function createClient(options: TransportClientOptions): TransportClient;
141
+ /** Auth + workspace-targeting headers shared by every request the client makes. */
142
+ export declare function authHeaders(client: TransportClient): Record<string, string>;
137
143
  /**
138
144
  * Structured HTTP error thrown by every transport request. Carries the status
139
145
  * code, the backend `error.code` (when present), and the response's request id
@@ -151,6 +157,49 @@ export declare class ApiError extends Error {
151
157
  payload?: unknown;
152
158
  });
153
159
  }
160
+ /** Build an {@link ApiError} from a non-OK response body + headers. */
161
+ export declare function toApiError(response: Response, payload: unknown, fallback?: string): ApiError;
162
+ /**
163
+ * Escape hatch for endpoints without a dedicated helper (exec, admin, new APIs).
164
+ * Same auth, error mapping, and JSON handling as every typed helper above.
165
+ */
166
+ export declare function rawRequest<TResponse>(client: TransportClient, method: string, pathname: string, body?: unknown): Promise<TResponse>;
167
+ /**
168
+ * List the functions visible to the credential, walking `limit`/`offset` pages
169
+ * until the server runs out of rows.
170
+ *
171
+ * What the result guarantees: it is complete, or this throws. The scan compares
172
+ * the rows it collected against the `total` the server reported and refuses to
173
+ * return a list it can tell is short, so a `find()` by name over the result
174
+ * cannot report an existing function as missing and turn an update into a
175
+ * create (which the server rejects with 409 "name already exists"). That covers
176
+ * the page cap, a server that ignores `offset`, a create burst that slides the
177
+ * paging window backwards over rows already read, and a single create landing
178
+ * behind the read cursor.
179
+ *
180
+ * What it cannot guarantee: the server sorts with `ORDER BY createdAt DESC` and
181
+ * no unique tiebreaker (functions-prisma-repository.ts `list()`), and
182
+ * `createdAt` defaults to now(), so rows written in one batch tie. LIMIT/OFFSET
183
+ * over a non-unique sort is not stable, and rows are deleted concurrently. Two
184
+ * consequences:
185
+ * - Tied rows straddling a page boundary can come back in a different order for
186
+ * the offset=0 and offset=N queries: one row is returned twice (deduped
187
+ * above) and its twin never is. That leaves the scan one row short of
188
+ * `total`, so it is retried and, if still short, reported — not hidden.
189
+ * - A row DELETED after it was scanned shifts the rows behind it to a LOWER
190
+ * offset, so the next page starts one row too late and one row is skipped for
191
+ * good. `total` drops by one at the same moment, so `items.length === total`
192
+ * still holds: this is the one case that stays silent, and re-running the
193
+ * command against the settled list is the only cure here. Closing it needs a
194
+ * stable cursor or a server-side lookup by name, neither of which the API
195
+ * offers today.
196
+ *
197
+ * The result is unbounded up to FUNCTIONS_PAGE_SIZE * FUNCTIONS_MAX_PAGES rows.
198
+ * Callers feeding it into a size-limited sink — the CLI's MCP `list_functions`
199
+ * tool serialises it straight into a model's context, where it used to be capped
200
+ * at the server's default 50 — have to cap it themselves; this function will not
201
+ * quietly do it for them, since quiet truncation is the bug it exists to fix.
202
+ */
154
203
  export declare function listRemoteFunctions(client: TransportClient): Promise<RemoteFunctionRecord[]>;
155
204
  export declare function resolveRemoteFunction(client: TransportClient, functionName: string): Promise<RemoteFunctionRecord>;
156
205
  export declare function invokeRemote<TPayload = unknown, TResult = unknown>(client: TransportClient, functionName: string, payload: TPayload, options?: InvokeRemoteOptions): Promise<RemoteInvocationResult<TResult>>;
@@ -190,6 +239,30 @@ export declare function listFunctionDeploys(client: TransportClient, functionId:
190
239
  export declare function rollbackDeploy(client: TransportClient, functionId: string, deployId: string, options?: RollbackDeployOptions): Promise<QueuedDeployResponse>;
191
240
  /** Stream a deploy's logs over SSE. Yields log/status/complete events until the deploy is terminal. */
192
241
  export declare function streamDeployLogs(client: TransportClient, deployId: string, signal?: AbortSignal): AsyncGenerator<DeployLogEvent, void, unknown>;
242
+ /** Loose snapshot of a run trace as streamed by the observability SSE endpoint. */
243
+ export interface RunTraceSnapshot {
244
+ runId: string;
245
+ /** RUNNING | SUCCEEDED | FAILED | TIMED_OUT | CANCELLED */
246
+ status: string;
247
+ [key: string]: unknown;
248
+ }
249
+ export interface RunStreamEvent {
250
+ /** 'snapshot' = initial state on connect; 'update' = a subsequent change. */
251
+ type: 'snapshot' | 'update';
252
+ trace: RunTraceSnapshot;
253
+ }
254
+ /**
255
+ * Subscribe to real-time updates for a run over SSE.
256
+ * Yields a 'snapshot' event first, then 'update' events. The generator returns
257
+ * once the run reaches a terminal status or the connection closes. Pass an
258
+ * AbortSignal to stop early.
259
+ */
260
+ export declare function subscribeToRun(client: TransportClient, runId: string, signal?: AbortSignal): AsyncGenerator<RunStreamEvent, void, unknown>;
261
+ /**
262
+ * Consume {@link subscribeToRun} until the run is terminal and resolve with the
263
+ * last trace snapshot seen (or undefined if the stream closed without one).
264
+ */
265
+ export declare function waitForRun(client: TransportClient, runId: string, signal?: AbortSignal): Promise<RunTraceSnapshot | undefined>;
193
266
  export declare function listRemoteInvocations(client: TransportClient, functionId: string, options?: {
194
267
  limit?: number;
195
268
  offset?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}