@inquir/compute 0.2.0 → 0.4.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.
- package/README.md +159 -1
- package/dist/app-observability.d.ts +69 -0
- package/dist/app-observability.d.ts.map +1 -0
- package/dist/app-observability.js +65 -0
- package/dist/app-observability.js.map +1 -0
- package/dist/app-observability.types.d.ts +358 -0
- package/dist/app-observability.types.d.ts.map +1 -0
- package/dist/app-observability.types.js +2 -0
- package/dist/app-observability.types.js.map +1 -0
- package/dist/apps.d.ts +304 -6
- package/dist/apps.d.ts.map +1 -1
- package/dist/apps.js +89 -7
- package/dist/apps.js.map +1 -1
- package/dist/build-timeout-policy.d.ts +13 -0
- package/dist/build-timeout-policy.d.ts.map +1 -0
- package/dist/build-timeout-policy.js +11 -0
- package/dist/build-timeout-policy.js.map +1 -0
- package/dist/discovery.d.ts +9 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +74 -7
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/invocation-observation.d.ts +23 -0
- package/dist/invocation-observation.d.ts.map +1 -0
- package/dist/invocation-observation.js +79 -0
- package/dist/invocation-observation.js.map +1 -0
- package/dist/local-runner-harness.js +28 -6
- package/dist/local-runner-harness.js.map +1 -1
- package/dist/local-runner.d.ts.map +1 -1
- package/dist/local-runner.js +103 -6
- package/dist/local-runner.js.map +1 -1
- package/dist/projects.d.ts +147 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +64 -0
- package/dist/projects.js.map +1 -0
- package/dist/release-commands.d.ts +80 -0
- package/dist/release-commands.d.ts.map +1 -0
- package/dist/release-commands.js +147 -0
- package/dist/release-commands.js.map +1 -0
- package/dist/source-command-http.d.ts +7 -0
- package/dist/source-command-http.d.ts.map +1 -0
- package/dist/source-command-http.js +87 -0
- package/dist/source-command-http.js.map +1 -0
- package/dist/source-command-protocol.d.ts +137 -0
- package/dist/source-command-protocol.d.ts.map +1 -0
- package/dist/source-command-protocol.js +311 -0
- package/dist/source-command-protocol.js.map +1 -0
- package/dist/source-commands.d.ts +33 -0
- package/dist/source-commands.d.ts.map +1 -0
- package/dist/source-commands.js +116 -0
- package/dist/source-commands.js.map +1 -0
- package/dist/transport.d.ts +63 -2
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +237 -14
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -3
package/dist/apps.js
CHANGED
|
@@ -6,17 +6,12 @@
|
|
|
6
6
|
* same convention the frontend follows — so the SDK builds independently of
|
|
7
7
|
* the server's tsconfig.
|
|
8
8
|
*/
|
|
9
|
-
import { authHeaders, rawRequest, toApiError
|
|
9
|
+
import { authHeaders, rawRequest, toApiError } from './transport.js';
|
|
10
10
|
export async function getAppLimits(client) {
|
|
11
11
|
return rawRequest(client, 'GET', '/v1/apps/limits');
|
|
12
12
|
}
|
|
13
13
|
/** A release stops changing on its own once it reaches one of these. */
|
|
14
|
-
const SETTLED_RELEASE_STATUSES = new Set([
|
|
15
|
-
'READY',
|
|
16
|
-
'ACTIVE',
|
|
17
|
-
'STOPPED',
|
|
18
|
-
'FAILED',
|
|
19
|
-
]);
|
|
14
|
+
const SETTLED_RELEASE_STATUSES = new Set(['READY', 'ACTIVE', 'STOPPED', 'FAILED']);
|
|
20
15
|
export function isSettledReleaseStatus(status) {
|
|
21
16
|
return SETTLED_RELEASE_STATUSES.has(status);
|
|
22
17
|
}
|
|
@@ -39,24 +34,99 @@ export async function getApplication(client, applicationId) {
|
|
|
39
34
|
export async function createApplication(client, input) {
|
|
40
35
|
return rawRequest(client, 'POST', '/v1/apps', input);
|
|
41
36
|
}
|
|
37
|
+
export async function listAppBackups(client, applicationId, options = {}) {
|
|
38
|
+
const query = new URLSearchParams();
|
|
39
|
+
if (options.limit)
|
|
40
|
+
query.set('limit', String(options.limit));
|
|
41
|
+
if (options.cursor)
|
|
42
|
+
query.set('cursor', options.cursor);
|
|
43
|
+
if (options.volumeName)
|
|
44
|
+
query.set('volumeName', options.volumeName);
|
|
45
|
+
const suffix = query.toString() ? `?${query.toString()}` : '';
|
|
46
|
+
return rawRequest(client, 'GET', `/v1/apps/${applicationId}/backups${suffix}`);
|
|
47
|
+
}
|
|
48
|
+
export async function getAppBackup(client, applicationId, backupId) {
|
|
49
|
+
return rawRequest(client, 'GET', `/v1/apps/${applicationId}/backups/${backupId}`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Answers 202 as soon as the rows exist — the copy outlives the request. The
|
|
53
|
+
* returned rows are PENDING; poll them for the outcome.
|
|
54
|
+
*/
|
|
55
|
+
export async function createAppBackup(client, applicationId) {
|
|
56
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/backups`);
|
|
57
|
+
}
|
|
58
|
+
/** Drops a restore point for good. Refused while the row is still PENDING. */
|
|
59
|
+
export async function deleteAppBackup(client, applicationId, backupId) {
|
|
60
|
+
return rawRequest(client, 'DELETE', `/v1/apps/${applicationId}/backups/${backupId}`);
|
|
61
|
+
}
|
|
62
|
+
/** Stops production, replaces the volume contents, starts production again. */
|
|
63
|
+
export async function restoreAppBackup(client, applicationId, backupId) {
|
|
64
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/backups/${backupId}/restore`);
|
|
65
|
+
}
|
|
66
|
+
/** The decrypted connection URL of a template database. Never cached server-side. */
|
|
67
|
+
export async function getAppConnectionUrl(client, applicationId) {
|
|
68
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/connection-url`);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Writes the database's connection URL into `target`'s env (server-side
|
|
72
|
+
* compose). A target that already carries the key is refused (409) unless
|
|
73
|
+
* `overwrite` is set — the way to repoint an app at the database's current
|
|
74
|
+
* private address without ever handling the password.
|
|
75
|
+
*/
|
|
76
|
+
export async function connectApps(client, applicationId, target, options = {}) {
|
|
77
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/connect`, {
|
|
78
|
+
target,
|
|
79
|
+
...(options.overwrite ? { overwrite: true } : {}),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
42
82
|
export async function updateApplication(client, applicationId, patch) {
|
|
43
83
|
return rawRequest(client, 'PATCH', `/v1/apps/${applicationId}`, patch);
|
|
44
84
|
}
|
|
45
85
|
export async function archiveApplication(client, applicationId) {
|
|
46
86
|
return rawRequest(client, 'DELETE', `/v1/apps/${applicationId}`);
|
|
47
87
|
}
|
|
88
|
+
export async function wakeApplication(client, applicationId) {
|
|
89
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/wake`);
|
|
90
|
+
}
|
|
91
|
+
export async function pauseApplication(client, applicationId) {
|
|
92
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/pause`);
|
|
93
|
+
}
|
|
48
94
|
export async function createRelease(client, applicationId, input) {
|
|
49
95
|
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/releases`, input);
|
|
50
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Release what production runs now — the same build, or the same image
|
|
99
|
+
* reference pulled again — under the application's current configuration,
|
|
100
|
+
* and promote it once healthy (unless `promote: false`). 409 when nothing is
|
|
101
|
+
* promoted yet. Needs `apps:promote`.
|
|
102
|
+
*/
|
|
103
|
+
export async function redeployApplication(client, applicationId, input = {}) {
|
|
104
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/redeploy`, input);
|
|
105
|
+
}
|
|
51
106
|
export async function listReleases(client, applicationId) {
|
|
52
107
|
return rawRequest(client, 'GET', `/v1/apps/${applicationId}/releases`);
|
|
53
108
|
}
|
|
54
109
|
export async function getRelease(client, releaseId) {
|
|
55
110
|
return rawRequest(client, 'GET', `/v1/releases/${releaseId}`);
|
|
56
111
|
}
|
|
112
|
+
export function isPromoteAccepted(result) {
|
|
113
|
+
return typeof result?.rolloutId === 'string';
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Send production traffic to a release. A server that runs the promote as a
|
|
117
|
+
* rolling rollout answers 202 instead (`isPromoteAccepted`); an older server
|
|
118
|
+
* always answers with the promote's outcome.
|
|
119
|
+
*/
|
|
57
120
|
export async function promoteRelease(client, releaseId) {
|
|
58
121
|
return rawRequest(client, 'POST', `/v1/releases/${releaseId}/promote`);
|
|
59
122
|
}
|
|
123
|
+
export async function getApplicationRollout(client, applicationId, rolloutId) {
|
|
124
|
+
return rawRequest(client, 'GET', `/v1/apps/${encodeURIComponent(applicationId)}/rollouts/${encodeURIComponent(rolloutId)}`);
|
|
125
|
+
}
|
|
126
|
+
export async function listApplicationRollouts(client, applicationId, limit) {
|
|
127
|
+
const query = limit === undefined ? '' : `?limit=${encodeURIComponent(String(limit))}`;
|
|
128
|
+
return rawRequest(client, 'GET', `/v1/apps/${encodeURIComponent(applicationId)}/rollouts${query}`);
|
|
129
|
+
}
|
|
60
130
|
export async function rollbackApplication(client, applicationId) {
|
|
61
131
|
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/rollback`);
|
|
62
132
|
}
|
|
@@ -66,6 +136,17 @@ export async function stopRelease(client, releaseId) {
|
|
|
66
136
|
export async function execInRelease(client, releaseId, command, timeoutMs) {
|
|
67
137
|
return rawRequest(client, 'POST', `/v1/releases/${releaseId}/exec`, { command, timeoutMs });
|
|
68
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Execute against the server-resolved current production allocation. Unlike
|
|
141
|
+
* the legacy release-scoped endpoint, this path is audited, rate-limited and
|
|
142
|
+
* refuses remote targets until the runner transport is available.
|
|
143
|
+
*/
|
|
144
|
+
export async function execInApplication(client, applicationId, command, timeoutMs) {
|
|
145
|
+
return rawRequest(client, 'POST', `/v1/apps/${applicationId}/console/exec`, {
|
|
146
|
+
command,
|
|
147
|
+
...(timeoutMs === undefined ? {} : { timeoutMs }),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
69
150
|
/**
|
|
70
151
|
* Bind a custom hostname (always production). It starts unverified: publish
|
|
71
152
|
* the returned TXT record and point the name at the platform, then call
|
|
@@ -142,6 +223,7 @@ async function* streamAppSSE(client, path, signal) {
|
|
|
142
223
|
method: 'GET',
|
|
143
224
|
headers: { Accept: 'text/event-stream', ...authHeaders(client) },
|
|
144
225
|
signal,
|
|
226
|
+
redirect: 'error',
|
|
145
227
|
});
|
|
146
228
|
if (!response.ok || !response.body) {
|
|
147
229
|
const text = await response.text().catch(() => '');
|
package/dist/apps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../src/apps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../src/apps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Public build observation policy, also used when talking to an older API. */
|
|
2
|
+
export interface BuildTimeoutPolicy {
|
|
3
|
+
executionTimeoutMs: number;
|
|
4
|
+
queueTimeoutMs: number;
|
|
5
|
+
completionGraceMs: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Compatibility defaults for older APIs. A valid server-supplied policy is
|
|
9
|
+
* authoritative; these independently versioned client defaults do not configure
|
|
10
|
+
* the server's execution or queue limits.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_BUILD_TIMEOUT_POLICY: Readonly<BuildTimeoutPolicy>;
|
|
13
|
+
//# sourceMappingURL=build-timeout-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-timeout-policy.d.ts","sourceRoot":"","sources":["../src/build-timeout-policy.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,kBAAkB,CAIpE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility defaults for older APIs. A valid server-supplied policy is
|
|
3
|
+
* authoritative; these independently versioned client defaults do not configure
|
|
4
|
+
* the server's execution or queue limits.
|
|
5
|
+
*/
|
|
6
|
+
export const DEFAULT_BUILD_TIMEOUT_POLICY = Object.freeze({
|
|
7
|
+
executionTimeoutMs: 45 * 60_000,
|
|
8
|
+
queueTimeoutMs: 60 * 60_000,
|
|
9
|
+
completionGraceMs: 15_000,
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=build-timeout-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-timeout-policy.js","sourceRoot":"","sources":["../src/build-timeout-policy.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC,MAAM,CAAC,MAAM,CAAC;IACtF,kBAAkB,EAAE,EAAE,GAAG,MAAM;IAC/B,cAAc,EAAE,EAAE,GAAG,MAAM;IAC3B,iBAAiB,EAAE,MAAM;CAC1B,CAAC,CAAC"}
|
package/dist/discovery.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { LoadedConfig } from './config.js';
|
|
2
2
|
import type { AssetRegistry } from './types.js';
|
|
3
|
-
export
|
|
3
|
+
export interface DiscoveryOptions {
|
|
4
|
+
/** End-to-end deadline for importing candidate modules. Defaults to 120 seconds. */
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
/** Maximum combined stdout/stderr retained from the harness. Defaults to 4 MiB. */
|
|
7
|
+
maxOutputBytes?: number;
|
|
8
|
+
/** Grace period before force-killing the child. Defaults to 1 second. */
|
|
9
|
+
killGraceMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function discoverAssets(config: LoadedConfig, options?: DiscoveryOptions): Promise<AssetRegistry>;
|
|
4
12
|
//# sourceMappingURL=discovery.d.ts.map
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAc,aAAa,EAAmC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAc,aAAa,EAAmC,MAAM,YAAY,CAAC;AAiB7F,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiJD,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEjH"}
|
package/dist/discovery.js
CHANGED
|
@@ -4,6 +4,9 @@ import { createRequire } from 'node:module';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
6
6
|
import { computeSourceHash } from './hashing.js';
|
|
7
|
+
const DEFAULT_DISCOVERY_TIMEOUT_MS = 120_000;
|
|
8
|
+
const DEFAULT_MAX_OUTPUT_BYTES = 4 * 1024 * 1024;
|
|
9
|
+
const DEFAULT_KILL_GRACE_MS = 1_000;
|
|
7
10
|
const CANDIDATE_FILE_PATTERN = /(?:^index\.[cm]?[jt]s$|^function\.[cm]?[jt]s$|^pipeline\.[cm]?[jt]s$|\.function\.[cm]?[jt]s$|\.pipeline\.[cm]?[jt]s$)/;
|
|
8
11
|
const modulePath = typeof __filename === 'string' ? __filename : fileURLToPath(import.meta.url);
|
|
9
12
|
const require = createRequire(modulePath);
|
|
@@ -32,25 +35,89 @@ function collectCandidateFiles(rootDir, output) {
|
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
|
-
function runDiscoveryHarness(candidateFiles) {
|
|
38
|
+
function runDiscoveryHarness(candidateFiles, options) {
|
|
36
39
|
if (candidateFiles.length === 0) {
|
|
37
40
|
return Promise.resolve({ assets: [], diagnostics: [] });
|
|
38
41
|
}
|
|
39
42
|
const harnessPath = path.join(path.dirname(modulePath), `discovery-harness${path.extname(modulePath)}`);
|
|
40
43
|
const tsxImportPath = resolveTsxImportPath();
|
|
44
|
+
const timeoutMs = Math.floor(options.timeoutMs ?? DEFAULT_DISCOVERY_TIMEOUT_MS);
|
|
45
|
+
const maxOutputBytes = Math.floor(options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES);
|
|
46
|
+
const killGraceMs = Math.floor(options.killGraceMs ?? DEFAULT_KILL_GRACE_MS);
|
|
47
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
|
|
48
|
+
throw new RangeError('discovery timeoutMs must be positive');
|
|
49
|
+
if (!Number.isFinite(maxOutputBytes) || maxOutputBytes <= 0)
|
|
50
|
+
throw new RangeError('discovery maxOutputBytes must be positive');
|
|
51
|
+
if (!Number.isFinite(killGraceMs) || killGraceMs < 0)
|
|
52
|
+
throw new RangeError('discovery killGraceMs must be non-negative');
|
|
41
53
|
return new Promise((resolve) => {
|
|
42
54
|
const child = spawn(process.execPath, ['--import', tsxImportPath, harnessPath, ...candidateFiles], {
|
|
43
55
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
44
56
|
});
|
|
45
|
-
|
|
46
|
-
|
|
57
|
+
const stdoutChunks = [];
|
|
58
|
+
const stderrChunks = [];
|
|
59
|
+
let capturedBytes = 0;
|
|
60
|
+
let terminalError;
|
|
61
|
+
let settled = false;
|
|
62
|
+
let forceKillTimer;
|
|
63
|
+
const timeoutTimer = setTimeout(() => terminate(`Discovery exceeded timeout of ${timeoutMs} ms`), timeoutMs);
|
|
64
|
+
timeoutTimer.unref?.();
|
|
65
|
+
function terminate(message) {
|
|
66
|
+
if (terminalError || settled)
|
|
67
|
+
return;
|
|
68
|
+
terminalError = message;
|
|
69
|
+
try {
|
|
70
|
+
child.kill('SIGTERM');
|
|
71
|
+
}
|
|
72
|
+
catch { /* close will settle */ }
|
|
73
|
+
forceKillTimer = setTimeout(() => {
|
|
74
|
+
if (!settled) {
|
|
75
|
+
try {
|
|
76
|
+
child.kill('SIGKILL');
|
|
77
|
+
}
|
|
78
|
+
catch { /* close will settle */ }
|
|
79
|
+
}
|
|
80
|
+
}, killGraceMs);
|
|
81
|
+
forceKillTimer.unref?.();
|
|
82
|
+
}
|
|
83
|
+
const capture = (target, chunk) => {
|
|
84
|
+
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
85
|
+
const remaining = Math.max(0, maxOutputBytes - capturedBytes);
|
|
86
|
+
if (remaining > 0)
|
|
87
|
+
target.push(buffer.subarray(0, remaining));
|
|
88
|
+
capturedBytes += buffer.length;
|
|
89
|
+
if (capturedBytes > maxOutputBytes) {
|
|
90
|
+
terminate(`Discovery harness output exceeded ${maxOutputBytes} bytes`);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
47
93
|
child.stdout.on('data', (chunk) => {
|
|
48
|
-
|
|
94
|
+
capture(stdoutChunks, chunk);
|
|
49
95
|
});
|
|
50
96
|
child.stderr.on('data', (chunk) => {
|
|
51
|
-
|
|
97
|
+
capture(stderrChunks, chunk);
|
|
98
|
+
});
|
|
99
|
+
child.once('error', (error) => {
|
|
100
|
+
if (settled)
|
|
101
|
+
return;
|
|
102
|
+
settled = true;
|
|
103
|
+
clearTimeout(timeoutTimer);
|
|
104
|
+
if (forceKillTimer)
|
|
105
|
+
clearTimeout(forceKillTimer);
|
|
106
|
+
resolve({ assets: [], diagnostics: [{ code: 'IMPORT_FAILED', message: error.message }] });
|
|
52
107
|
});
|
|
53
108
|
child.on('close', () => {
|
|
109
|
+
if (settled)
|
|
110
|
+
return;
|
|
111
|
+
settled = true;
|
|
112
|
+
clearTimeout(timeoutTimer);
|
|
113
|
+
if (forceKillTimer)
|
|
114
|
+
clearTimeout(forceKillTimer);
|
|
115
|
+
const stdout = Buffer.concat(stdoutChunks).toString('utf8');
|
|
116
|
+
const stderr = Buffer.concat(stderrChunks).toString('utf8');
|
|
117
|
+
if (terminalError) {
|
|
118
|
+
resolve({ assets: [], diagnostics: [{ code: 'IMPORT_FAILED', message: terminalError }] });
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
54
121
|
if (!stdout.trim()) {
|
|
55
122
|
resolve({
|
|
56
123
|
assets: [],
|
|
@@ -75,11 +142,11 @@ function runDiscoveryHarness(candidateFiles) {
|
|
|
75
142
|
});
|
|
76
143
|
});
|
|
77
144
|
}
|
|
78
|
-
export async function discoverAssets(config) {
|
|
145
|
+
export async function discoverAssets(config, options = {}) {
|
|
79
146
|
const candidateFiles = [];
|
|
80
147
|
collectCandidateFiles(config.absoluteFunctionsDir, candidateFiles);
|
|
81
148
|
collectCandidateFiles(config.absolutePipelinesDir, candidateFiles);
|
|
82
|
-
const harnessResult = await runDiscoveryHarness(candidateFiles);
|
|
149
|
+
const harnessResult = await runDiscoveryHarness(candidateFiles, options);
|
|
83
150
|
const diagnostics = [...harnessResult.diagnostics];
|
|
84
151
|
// Orphan asset detection
|
|
85
152
|
for (const filePath of (harnessResult.noAssetFiles ?? [])) {
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './apps.js';
|
|
2
|
+
export * from './build-timeout-policy.js';
|
|
3
|
+
export * from './app-observability.js';
|
|
2
4
|
export * from './config.js';
|
|
3
5
|
export * from './codegen.js';
|
|
4
6
|
export * from './define-function.js';
|
|
@@ -6,7 +8,12 @@ export * from './define-pipeline.js';
|
|
|
6
8
|
export * from './discovery.js';
|
|
7
9
|
export * from './hashing.js';
|
|
8
10
|
export * from './local-runner.js';
|
|
11
|
+
export * from './projects.js';
|
|
9
12
|
export * from './transport.js';
|
|
13
|
+
export * from './source-commands.js';
|
|
10
14
|
export * from './types.js';
|
|
11
15
|
export { createZipBase64 } from './zip.js';
|
|
16
|
+
export * from './invocation-observation.js';
|
|
17
|
+
export { prepareReleaseCommand, restoreReleaseCommand, ReleaseCommandObservationEndedError } from './release-commands.js';
|
|
18
|
+
export type { ReleaseCommandInput, ReleaseCommandRecord, ReleaseCommandOutcome, ReleaseCommandOperation } from './release-commands.js';
|
|
12
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAC1H,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './apps.js';
|
|
2
|
+
export * from './build-timeout-policy.js';
|
|
3
|
+
export * from './app-observability.js';
|
|
2
4
|
export * from './config.js';
|
|
3
5
|
export * from './codegen.js';
|
|
4
6
|
export * from './define-function.js';
|
|
@@ -6,7 +8,11 @@ export * from './define-pipeline.js';
|
|
|
6
8
|
export * from './discovery.js';
|
|
7
9
|
export * from './hashing.js';
|
|
8
10
|
export * from './local-runner.js';
|
|
11
|
+
export * from './projects.js';
|
|
9
12
|
export * from './transport.js';
|
|
13
|
+
export * from './source-commands.js';
|
|
10
14
|
export * from './types.js';
|
|
11
15
|
export { createZipBase64 } from './zip.js';
|
|
16
|
+
export * from './invocation-observation.js';
|
|
17
|
+
export { prepareReleaseCommand, restoreReleaseCommand, ReleaseCommandObservationEndedError } from './release-commands.js';
|
|
12
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RemoteInvocationResult as InvocationResult } from './types.js';
|
|
2
|
+
export interface PendingRemoteInvocation {
|
|
3
|
+
invocationId: string;
|
|
4
|
+
functionId: string;
|
|
5
|
+
state: 'PENDING' | 'RECOVERY_HELD';
|
|
6
|
+
}
|
|
7
|
+
export declare class RemoteInvocationObservationEndedError extends Error {
|
|
8
|
+
readonly pending: PendingRemoteInvocation;
|
|
9
|
+
constructor(pending: PendingRemoteInvocation, options?: ErrorOptions);
|
|
10
|
+
}
|
|
11
|
+
export declare function validateInvocationObservation(options: {
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
intervalMs?: number;
|
|
14
|
+
}): void;
|
|
15
|
+
export declare function pendingRemoteInvocation(value: unknown, functionId: string, invocationId?: string): PendingRemoteInvocation | null;
|
|
16
|
+
/** Only resume is repeated. Stop observing does not call durable cancel. */
|
|
17
|
+
export declare function observeRemoteInvocation(initial: unknown, functionId: string, resume: (handle: PendingRemoteInvocation, signal: AbortSignal) => Promise<unknown>, options?: {
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
intervalMs?: number;
|
|
21
|
+
onPending?: (pending: PendingRemoteInvocation) => void;
|
|
22
|
+
}): Promise<InvocationResult>;
|
|
23
|
+
//# sourceMappingURL=invocation-observation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-observation.d.ts","sourceRoot":"","sources":["../src/invocation-observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,eAAe,CAAC;CACpC;AACD,qBAAa,qCAAsC,SAAQ,KAAK;IAClD,QAAQ,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,YAAY;CAI9E;AACD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIxG;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAOjI;AACD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAChF,MAAM,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,EAClF,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;CAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkCpK"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export class RemoteInvocationObservationEndedError extends Error {
|
|
2
|
+
pending;
|
|
3
|
+
constructor(pending, options) {
|
|
4
|
+
super(`Invocation ${pending.invocationId} is still ${pending.state === 'PENDING' ? 'running' : 'awaiting recovery'}. Resume this invocation; do not start another.`, options);
|
|
5
|
+
this.pending = pending;
|
|
6
|
+
this.name = 'RemoteInvocationObservationEndedError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function validateInvocationObservation(options) {
|
|
10
|
+
for (const value of [options.timeoutMs ?? 120_000, options.intervalMs ?? 250]) {
|
|
11
|
+
if (!Number.isFinite(value) || value < 0 || value > 2_147_483_647)
|
|
12
|
+
throw new Error('Invalid invocation observation timing');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function pendingRemoteInvocation(value, functionId, invocationId) {
|
|
16
|
+
if (!value || typeof value !== 'object' || !('state' in value))
|
|
17
|
+
return null;
|
|
18
|
+
const p = value;
|
|
19
|
+
if (!['PENDING', 'RECOVERY_HELD'].includes(p.state) || p.functionId !== functionId
|
|
20
|
+
|| !/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(p.invocationId)
|
|
21
|
+
|| invocationId !== undefined && invocationId !== p.invocationId)
|
|
22
|
+
throw new Error('Invocation observation identity differs');
|
|
23
|
+
return { invocationId: p.invocationId, functionId, state: p.state };
|
|
24
|
+
}
|
|
25
|
+
/** Only resume is repeated. Stop observing does not call durable cancel. */
|
|
26
|
+
export async function observeRemoteInvocation(initial, functionId, resume, options = {}) {
|
|
27
|
+
options = { ...options };
|
|
28
|
+
validateInvocationObservation(options);
|
|
29
|
+
let response = initial, pending = null;
|
|
30
|
+
const controller = new AbortController(), timeoutMs = options.timeoutMs ?? 120_000;
|
|
31
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs < 0)
|
|
32
|
+
throw new Error('Invalid invocation observation timeout');
|
|
33
|
+
const abort = () => controller.abort(options.signal?.reason);
|
|
34
|
+
if (options.signal?.aborted)
|
|
35
|
+
abort();
|
|
36
|
+
else
|
|
37
|
+
options.signal?.addEventListener('abort', abort, { once: true });
|
|
38
|
+
const timer = setTimeout(() => controller.abort(new Error('Invocation observation timed out')), timeoutMs);
|
|
39
|
+
try {
|
|
40
|
+
while (true) {
|
|
41
|
+
const next = pendingRemoteInvocation(response, functionId, pending?.invocationId);
|
|
42
|
+
if (!next) {
|
|
43
|
+
const terminal = response;
|
|
44
|
+
if (!terminal || terminal.functionId !== functionId || pending && terminal.invocationId !== pending.invocationId
|
|
45
|
+
|| !['SUCCEEDED', 'FAILED', 'TIMED_OUT', 'CANCELLED'].includes(terminal.status))
|
|
46
|
+
throw new Error('Invalid invocation terminal response');
|
|
47
|
+
return terminal;
|
|
48
|
+
}
|
|
49
|
+
pending = next;
|
|
50
|
+
options.onPending?.({ ...pending });
|
|
51
|
+
if (controller.signal.aborted)
|
|
52
|
+
throw new RemoteInvocationObservationEndedError(pending);
|
|
53
|
+
try {
|
|
54
|
+
await new Promise((resolve, reject) => {
|
|
55
|
+
const done = () => { clearTimeout(delay); controller.signal.removeEventListener('abort', stopped); resolve(); };
|
|
56
|
+
const stopped = () => { clearTimeout(delay); controller.signal.removeEventListener('abort', stopped); reject(controller.signal.reason); };
|
|
57
|
+
const delay = setTimeout(done, options.intervalMs ?? 250);
|
|
58
|
+
controller.signal.addEventListener('abort', stopped, { once: true });
|
|
59
|
+
if (controller.signal.aborted)
|
|
60
|
+
stopped();
|
|
61
|
+
});
|
|
62
|
+
response = await resume(pending, controller.signal);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new RemoteInvocationObservationEndedError(pending, { cause: error });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (pending && !(error instanceof RemoteInvocationObservationEndedError))
|
|
71
|
+
throw new RemoteInvocationObservationEndedError(pending, { cause: error });
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
clearTimeout(timer);
|
|
76
|
+
options.signal?.removeEventListener('abort', abort);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=invocation-observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-observation.js","sourceRoot":"","sources":["../src/invocation-observation.ts"],"names":[],"mappings":"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"}
|