@agent-relay/cloud 11.10.4 → 11.11.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/dist/fleet-sandbox.d.ts +25 -0
- package/dist/fleet-sandbox.d.ts.map +1 -1
- package/dist/fleet-sandbox.js +187 -25
- package/dist/fleet-sandbox.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/project-workspace-key.d.ts +30 -1
- package/dist/project-workspace-key.d.ts.map +1 -1
- package/dist/project-workspace-key.js +282 -8
- package/dist/project-workspace-key.js.map +1 -1
- package/dist/workspace-key.d.ts +1 -1
- package/dist/workspace-key.d.ts.map +1 -1
- package/dist/workspace-key.js +1 -1
- package/dist/workspace-key.js.map +1 -1
- package/package.json +2 -2
package/dist/fleet-sandbox.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud may hand back the gateway route owned by a provisioned sandbox. This
|
|
3
|
+
* is deliberately an exact-origin allowlist: a route is control-plane input,
|
|
4
|
+
* not a caller-controlled SDK override.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CANONICAL_RELAYCAST_ORIGIN = "https://cast.agentrelay.com";
|
|
7
|
+
export declare const AGENT37_RELAYCAST_ORIGIN = "https://agent37-cast.agentrelay.com";
|
|
1
8
|
export type CloudFleetSandboxRequestOptions = {
|
|
2
9
|
apiUrl?: string;
|
|
3
10
|
signal?: AbortSignal;
|
|
@@ -26,6 +33,8 @@ export declare class CloudFleetSandboxProvisionError extends Error {
|
|
|
26
33
|
export type EnsureCloudFleetSandboxInput = {
|
|
27
34
|
/** Cloud UUID or unified rw_* workspace id. */
|
|
28
35
|
workspaceId: string;
|
|
36
|
+
/** Caller-declared one-time Cloud identity used to resume a cut-off provision. */
|
|
37
|
+
sandboxId?: string;
|
|
29
38
|
name?: string;
|
|
30
39
|
requiredCapability: string;
|
|
31
40
|
maxAgents?: number;
|
|
@@ -59,7 +68,10 @@ export type CloudFleetSandboxReady = {
|
|
|
59
68
|
nodeId: string;
|
|
60
69
|
nodeName: string;
|
|
61
70
|
sandboxId: string;
|
|
71
|
+
providerSandboxId?: string;
|
|
62
72
|
relayWorkspaceId: string;
|
|
73
|
+
/** Closed server-owned Relaycast contract when Cloud returned one. Required for Agent37. */
|
|
74
|
+
relaycastTarget?: CloudFleetRelaycastTarget;
|
|
63
75
|
relayfileMounted: boolean;
|
|
64
76
|
relayfileMountPath?: string;
|
|
65
77
|
providerId?: CloudFleetSandboxProviderId;
|
|
@@ -73,12 +85,16 @@ export type CloudFleetSandboxReused = {
|
|
|
73
85
|
activeAgents: number | null;
|
|
74
86
|
maxAgents: number | null;
|
|
75
87
|
providerId?: CloudFleetSandboxProviderId;
|
|
88
|
+
/** Closed server-owned Relaycast contract when Cloud returned one. Required for Agent37. */
|
|
89
|
+
relaycastTarget?: CloudFleetRelaycastTarget;
|
|
76
90
|
};
|
|
77
91
|
export type CloudFleetSandboxProvisioningTimeout = {
|
|
78
92
|
outcome: 'provisioning_timeout';
|
|
79
93
|
cloudWorkspaceId: string;
|
|
80
94
|
sandboxId: string;
|
|
95
|
+
providerSandboxId?: string;
|
|
81
96
|
relayWorkspaceId: string;
|
|
97
|
+
relaycastTarget?: CloudFleetRelaycastTarget;
|
|
82
98
|
nodeName: string;
|
|
83
99
|
waitedMs: number;
|
|
84
100
|
providerId?: CloudFleetSandboxProviderId;
|
|
@@ -89,6 +105,15 @@ export type DeleteCloudFleetSandboxInput = {
|
|
|
89
105
|
sandboxId: string;
|
|
90
106
|
providerId?: CloudFleetSandboxProviderId;
|
|
91
107
|
};
|
|
108
|
+
export type CloudFleetRelaycastRoute = 'canonical' | 'agent37-isolated';
|
|
109
|
+
export type CloudFleetRelaycastTarget = {
|
|
110
|
+
route: CloudFleetRelaycastRoute;
|
|
111
|
+
baseUrl: string;
|
|
112
|
+
workspaceId: string;
|
|
113
|
+
relaycastApiKey: string;
|
|
114
|
+
};
|
|
115
|
+
/** Validate Cloud's closed Relaycast route, identity, and scoped credential contract. */
|
|
116
|
+
export declare function normalizeRelaycastTarget(value: unknown): CloudFleetRelaycastTarget;
|
|
92
117
|
/** Resolve a Relay workspace in Cloud, provision/reuse a node, and wait for readiness. */
|
|
93
118
|
export declare function ensureCloudFleetSandbox(input: EnsureCloudFleetSandboxInput, options?: CloudFleetSandboxRequestOptions): Promise<EnsureCloudFleetSandboxResult>;
|
|
94
119
|
/** Best-effort-safe deletion for a Cloud-owned fleet sandbox. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-sandbox.d.ts","sourceRoot":"","sources":["../src/fleet-sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-sandbox.d.ts","sourceRoot":"","sources":["../src/fleet-sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet-sandbox.js
CHANGED
|
@@ -2,6 +2,15 @@ import { authorizedApiFetch, ensureCloudSession } from './auth.js';
|
|
|
2
2
|
import { redactCredentialValues } from './redact.js';
|
|
3
3
|
import { defaultApiUrl } from './types.js';
|
|
4
4
|
const CLOUD_WORKSPACE_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
5
|
+
const CLOUD_SANDBOX_ID_PATTERN = /^sbx_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
6
|
+
/**
|
|
7
|
+
* Cloud may hand back the gateway route owned by a provisioned sandbox. This
|
|
8
|
+
* is deliberately an exact-origin allowlist: a route is control-plane input,
|
|
9
|
+
* not a caller-controlled SDK override.
|
|
10
|
+
*/
|
|
11
|
+
export const CANONICAL_RELAYCAST_ORIGIN = 'https://cast.agentrelay.com';
|
|
12
|
+
export const AGENT37_RELAYCAST_ORIGIN = 'https://agent37-cast.agentrelay.com';
|
|
13
|
+
const TRUSTED_RELAYCAST_ORIGINS = new Set([CANONICAL_RELAYCAST_ORIGIN, AGENT37_RELAYCAST_ORIGIN]);
|
|
5
14
|
const DEFAULT_RESOLUTION_TIMEOUT_MS = 120_000;
|
|
6
15
|
// Mounted provisioning can spend up to 240s completing the initial Relayfile
|
|
7
16
|
// sync, then up to 90s waiting for the enrolled node to report ready. Leave a
|
|
@@ -30,6 +39,8 @@ export class CloudFleetSandboxProvisionError extends Error {
|
|
|
30
39
|
this.outcomeUnknown = identity.outcomeUnknown === true;
|
|
31
40
|
}
|
|
32
41
|
}
|
|
42
|
+
class CloudFleetSandboxIdentityMismatchError extends Error {
|
|
43
|
+
}
|
|
33
44
|
const CLOUD_FLEET_SANDBOX_PROVIDER_IDS = [
|
|
34
45
|
'daytona',
|
|
35
46
|
'e2b',
|
|
@@ -45,6 +56,53 @@ function readString(payload, key) {
|
|
|
45
56
|
const value = payload[key];
|
|
46
57
|
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
47
58
|
}
|
|
59
|
+
function normalizeRelaycastOrigin(value, field) {
|
|
60
|
+
if (typeof value !== 'string' || !value.trim()) {
|
|
61
|
+
throw new Error(`Cloud fleet sandbox response has an invalid ${field}.`);
|
|
62
|
+
}
|
|
63
|
+
let parsed;
|
|
64
|
+
try {
|
|
65
|
+
parsed = new URL(value.trim());
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
throw new Error(`Cloud fleet sandbox response has an invalid ${field}.`);
|
|
69
|
+
}
|
|
70
|
+
if (parsed.protocol !== 'https:' ||
|
|
71
|
+
parsed.username ||
|
|
72
|
+
parsed.password ||
|
|
73
|
+
parsed.port ||
|
|
74
|
+
parsed.search ||
|
|
75
|
+
parsed.hash ||
|
|
76
|
+
(parsed.pathname !== '' && parsed.pathname !== '/') ||
|
|
77
|
+
!TRUSTED_RELAYCAST_ORIGINS.has(parsed.origin)) {
|
|
78
|
+
throw new Error(`Cloud fleet sandbox response has an untrusted ${field}.`);
|
|
79
|
+
}
|
|
80
|
+
return parsed.origin;
|
|
81
|
+
}
|
|
82
|
+
/** Validate Cloud's closed Relaycast route, identity, and scoped credential contract. */
|
|
83
|
+
export function normalizeRelaycastTarget(value) {
|
|
84
|
+
if (!isObject(value)) {
|
|
85
|
+
throw new Error('Cloud fleet sandbox response is missing relaycastTarget.');
|
|
86
|
+
}
|
|
87
|
+
const route = readString(value, 'route');
|
|
88
|
+
if (route !== 'canonical' && route !== 'agent37-isolated') {
|
|
89
|
+
throw new Error('Cloud fleet sandbox response has an unknown Relaycast route.');
|
|
90
|
+
}
|
|
91
|
+
const baseUrl = normalizeRelaycastOrigin(value.baseUrl, 'relaycastTarget.baseUrl');
|
|
92
|
+
const expectedOrigin = route === 'canonical' ? CANONICAL_RELAYCAST_ORIGIN : AGENT37_RELAYCAST_ORIGIN;
|
|
93
|
+
if (baseUrl !== expectedOrigin) {
|
|
94
|
+
throw new Error('Cloud fleet sandbox response mapped Relaycast route to the wrong origin.');
|
|
95
|
+
}
|
|
96
|
+
const workspaceId = readString(value, 'workspaceId');
|
|
97
|
+
if (!workspaceId) {
|
|
98
|
+
throw new Error('Cloud fleet sandbox response is missing relaycastTarget.workspaceId.');
|
|
99
|
+
}
|
|
100
|
+
const relaycastApiKey = readString(value, 'relaycastApiKey');
|
|
101
|
+
if (!relaycastApiKey || !/^rk_live_[A-Za-z0-9_-]+$/.test(relaycastApiKey)) {
|
|
102
|
+
throw new Error('Cloud fleet sandbox response has an invalid Relaycast API key.');
|
|
103
|
+
}
|
|
104
|
+
return { route, baseUrl, workspaceId, relaycastApiKey };
|
|
105
|
+
}
|
|
48
106
|
function readNumber(payload, key) {
|
|
49
107
|
const value = payload[key];
|
|
50
108
|
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
@@ -55,6 +113,22 @@ function requiredNumber(payload, key, context) {
|
|
|
55
113
|
throw new Error(`${context} response is missing ${key}.`);
|
|
56
114
|
return value;
|
|
57
115
|
}
|
|
116
|
+
function assertProviderRelaycastTarget(providerId, target) {
|
|
117
|
+
if (providerId === 'agent37') {
|
|
118
|
+
if (!target) {
|
|
119
|
+
throw new Error('Cloud fleet sandbox response is missing the Agent37 Relaycast target.');
|
|
120
|
+
}
|
|
121
|
+
if (target.route !== 'agent37-isolated' || target.baseUrl !== AGENT37_RELAYCAST_ORIGIN) {
|
|
122
|
+
throw new Error('Cloud fleet sandbox response mapped Agent37 to a non-isolated Relaycast target.');
|
|
123
|
+
}
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (providerId !== undefined && target) {
|
|
127
|
+
if (target.route !== 'canonical' || target.baseUrl !== CANONICAL_RELAYCAST_ORIGIN) {
|
|
128
|
+
throw new Error(`Cloud fleet sandbox response mapped ${providerId} to a non-canonical Relaycast target.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
58
132
|
function boundedSignal(options, defaultTimeoutMs) {
|
|
59
133
|
const timeoutMs = options.timeoutMs ?? defaultTimeoutMs;
|
|
60
134
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
@@ -93,6 +167,39 @@ function requiredString(payload, key, context) {
|
|
|
93
167
|
throw new Error(`${context} response is missing ${key}.`);
|
|
94
168
|
return value;
|
|
95
169
|
}
|
|
170
|
+
function validateSandboxIdentity(input) {
|
|
171
|
+
if (input.sandboxId !== undefined && typeof input.sandboxId !== 'string') {
|
|
172
|
+
throw new Error('Cloud fleet sandbox sandboxId must be a string.');
|
|
173
|
+
}
|
|
174
|
+
if (input.name !== undefined && typeof input.name !== 'string') {
|
|
175
|
+
throw new Error('Cloud fleet sandbox name must be a string.');
|
|
176
|
+
}
|
|
177
|
+
const sandboxId = input.sandboxId?.trim();
|
|
178
|
+
const name = input.name?.trim();
|
|
179
|
+
if (input.sandboxId !== undefined && (!sandboxId || !CLOUD_SANDBOX_ID_PATTERN.test(sandboxId))) {
|
|
180
|
+
throw new Error('Cloud fleet sandbox sandboxId must match lowercase sbx_<UUID> using an RFC 4122 UUID.');
|
|
181
|
+
}
|
|
182
|
+
if (sandboxId !== undefined && input.forceProvision !== true) {
|
|
183
|
+
throw new Error('Cloud fleet sandbox sandboxId requires forceProvision: true.');
|
|
184
|
+
}
|
|
185
|
+
if (sandboxId !== undefined && !name) {
|
|
186
|
+
throw new Error('Cloud fleet sandbox sandboxId requires a node name.');
|
|
187
|
+
}
|
|
188
|
+
const longRunning = input.workloadProfile === 'long-running-agent' || input.workloadProfile === 'standard-long-running-agent';
|
|
189
|
+
if (longRunning && sandboxId !== undefined) {
|
|
190
|
+
if (input.forceProvision !== true) {
|
|
191
|
+
throw new Error('Long-running Cloud fleet sandbox requests require forceProvision: true.');
|
|
192
|
+
}
|
|
193
|
+
const expectedName = `fleet-sandbox-${sandboxId.slice('sbx_'.length)}`;
|
|
194
|
+
if (name !== expectedName) {
|
|
195
|
+
throw new Error(`Long-running Cloud fleet sandbox requests require name '${expectedName}' to preserve the one-to-one sandbox identity.`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
...(sandboxId === undefined ? {} : { sandboxId }),
|
|
200
|
+
...(name === undefined ? {} : { name }),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
96
203
|
async function resolveCloudWorkspaceId(workspaceId, auth, signal) {
|
|
97
204
|
const { response, auth: activeAuth } = await authorizedApiFetch(auth, `/api/v1/workspaces/${encodeURIComponent(workspaceId)}/resolve`, { method: 'GET', signal }, { interactive: false });
|
|
98
205
|
const payload = await readJson(response);
|
|
@@ -121,18 +228,26 @@ function readProviderId(payload, exactProviderRequested) {
|
|
|
121
228
|
}
|
|
122
229
|
return undefined;
|
|
123
230
|
}
|
|
124
|
-
function
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
: requestedProviderId;
|
|
231
|
+
function assertExpectedSandboxIdentity(payload, expectedSandboxId) {
|
|
232
|
+
const sandboxId = requiredString(payload, 'sandboxId', 'Cloud fleet sandbox');
|
|
233
|
+
if (sandboxId !== expectedSandboxId) {
|
|
234
|
+
throw new CloudFleetSandboxIdentityMismatchError(`Cloud returned sandboxId ${sandboxId} instead of requested sandboxId ${expectedSandboxId}.`);
|
|
235
|
+
}
|
|
130
236
|
}
|
|
131
|
-
function normalizeEnsureResult(payload, cloudWorkspaceId, requestedProviderId) {
|
|
237
|
+
function normalizeEnsureResult(payload, cloudWorkspaceId, expectedSandboxId, expectedNodeName, requestedProviderId) {
|
|
132
238
|
if (!isObject(payload))
|
|
133
239
|
throw new Error('Cloud fleet sandbox response was not valid JSON.');
|
|
240
|
+
// A caller-declared identity is the cleanup authority. Validate it before
|
|
241
|
+
// reading any other response field so malformed and future outcomes cannot
|
|
242
|
+
// make an untrusted public ID eligible for automatic deletion.
|
|
243
|
+
if (expectedSandboxId !== undefined) {
|
|
244
|
+
assertExpectedSandboxIdentity(payload, expectedSandboxId);
|
|
245
|
+
}
|
|
134
246
|
const outcome = readString(payload, 'outcome');
|
|
135
247
|
const nodeName = requiredString(payload, 'nodeName', 'Cloud fleet sandbox');
|
|
248
|
+
if (expectedSandboxId !== undefined && expectedNodeName !== undefined && nodeName !== expectedNodeName) {
|
|
249
|
+
throw new CloudFleetSandboxIdentityMismatchError(`Cloud returned nodeName ${nodeName} instead of requested nodeName ${expectedNodeName}.`);
|
|
250
|
+
}
|
|
136
251
|
const providerId = readProviderId(payload, requestedProviderId !== undefined);
|
|
137
252
|
if (requestedProviderId !== undefined && providerId !== requestedProviderId) {
|
|
138
253
|
throw new Error(providerId === undefined
|
|
@@ -143,13 +258,23 @@ function normalizeEnsureResult(payload, cloudWorkspaceId, requestedProviderId) {
|
|
|
143
258
|
if (typeof payload.relayfileMounted !== 'boolean') {
|
|
144
259
|
throw new Error('Cloud fleet sandbox response is missing relayfileMounted.');
|
|
145
260
|
}
|
|
261
|
+
const sandboxId = requiredString(payload, 'sandboxId', 'Cloud fleet sandbox');
|
|
262
|
+
const providerSandboxId = readString(payload, 'providerSandboxId');
|
|
263
|
+
const relayWorkspaceId = requiredString(payload, 'relayWorkspaceId', 'Cloud fleet sandbox');
|
|
264
|
+
const relaycastTarget = payload.relaycastTarget === undefined ? undefined : normalizeRelaycastTarget(payload.relaycastTarget);
|
|
265
|
+
if (relaycastTarget !== undefined && relaycastTarget.workspaceId !== relayWorkspaceId) {
|
|
266
|
+
throw new Error('Cloud fleet sandbox response has mismatched Relaycast workspace identities.');
|
|
267
|
+
}
|
|
268
|
+
assertProviderRelaycastTarget(providerId, relaycastTarget);
|
|
146
269
|
return {
|
|
147
270
|
outcome,
|
|
148
271
|
cloudWorkspaceId,
|
|
149
272
|
nodeId: requiredString(payload, 'nodeId', 'Cloud fleet sandbox'),
|
|
150
273
|
nodeName,
|
|
151
|
-
sandboxId
|
|
152
|
-
|
|
274
|
+
sandboxId,
|
|
275
|
+
...(providerSandboxId === undefined ? {} : { providerSandboxId }),
|
|
276
|
+
relayWorkspaceId,
|
|
277
|
+
...(relaycastTarget === undefined ? {} : { relaycastTarget }),
|
|
153
278
|
relayfileMounted: payload.relayfileMounted,
|
|
154
279
|
...(providerId === undefined ? {} : { providerId }),
|
|
155
280
|
...(readString(payload, 'relayfileMountPath')
|
|
@@ -158,6 +283,8 @@ function normalizeEnsureResult(payload, cloudWorkspaceId, requestedProviderId) {
|
|
|
158
283
|
};
|
|
159
284
|
}
|
|
160
285
|
if (outcome === 'reused') {
|
|
286
|
+
const relaycastTarget = payload.relaycastTarget === undefined ? undefined : normalizeRelaycastTarget(payload.relaycastTarget);
|
|
287
|
+
assertProviderRelaycastTarget(providerId, relaycastTarget);
|
|
161
288
|
return {
|
|
162
289
|
outcome,
|
|
163
290
|
cloudWorkspaceId,
|
|
@@ -167,14 +294,24 @@ function normalizeEnsureResult(payload, cloudWorkspaceId, requestedProviderId) {
|
|
|
167
294
|
activeAgents: readNumber(payload, 'activeAgents') ?? null,
|
|
168
295
|
maxAgents: readNumber(payload, 'maxAgents') ?? null,
|
|
169
296
|
...(providerId === undefined ? {} : { providerId }),
|
|
297
|
+
...(relaycastTarget === undefined ? {} : { relaycastTarget }),
|
|
170
298
|
};
|
|
171
299
|
}
|
|
172
300
|
if (outcome === 'provisioning_timeout') {
|
|
301
|
+
const sandboxId = requiredString(payload, 'sandboxId', 'Cloud fleet sandbox');
|
|
302
|
+
const providerSandboxId = readString(payload, 'providerSandboxId');
|
|
303
|
+
const relayWorkspaceId = requiredString(payload, 'relayWorkspaceId', 'Cloud fleet sandbox');
|
|
304
|
+
const relaycastTarget = payload.relaycastTarget === undefined ? undefined : normalizeRelaycastTarget(payload.relaycastTarget);
|
|
305
|
+
if (relaycastTarget !== undefined && relaycastTarget.workspaceId !== relayWorkspaceId) {
|
|
306
|
+
throw new Error('Cloud fleet sandbox response has mismatched Relaycast workspace identities.');
|
|
307
|
+
}
|
|
173
308
|
return {
|
|
174
309
|
outcome,
|
|
175
310
|
cloudWorkspaceId,
|
|
176
|
-
sandboxId
|
|
177
|
-
|
|
311
|
+
sandboxId,
|
|
312
|
+
...(providerSandboxId === undefined ? {} : { providerSandboxId }),
|
|
313
|
+
relayWorkspaceId,
|
|
314
|
+
...(relaycastTarget === undefined ? {} : { relaycastTarget }),
|
|
178
315
|
nodeName,
|
|
179
316
|
waitedMs: requiredNumber(payload, 'waitedMs', 'Cloud fleet sandbox'),
|
|
180
317
|
...(providerId === undefined ? {} : { providerId }),
|
|
@@ -190,6 +327,7 @@ export async function ensureCloudFleetSandbox(input, options = {}) {
|
|
|
190
327
|
throw new Error('A workspace ID is required to provision a fleet sandbox.');
|
|
191
328
|
if (!requiredCapability)
|
|
192
329
|
throw new Error('A spawn capability is required to provision a fleet sandbox.');
|
|
330
|
+
const sandboxIdentity = validateSandboxIdentity(input);
|
|
193
331
|
if (input.relayfilePaths !== undefined && input.relayfilePaths.length === 0) {
|
|
194
332
|
throw new Error('At least one Relayfile subtree path is required when relayfilePaths is provided.');
|
|
195
333
|
}
|
|
@@ -208,7 +346,8 @@ export async function ensureCloudFleetSandbox(input, options = {}) {
|
|
|
208
346
|
body: JSON.stringify({
|
|
209
347
|
workspaceId: resolved.cloudWorkspaceId,
|
|
210
348
|
requiredCapability,
|
|
211
|
-
...(
|
|
349
|
+
...(sandboxIdentity.sandboxId === undefined ? {} : { sandboxId: sandboxIdentity.sandboxId }),
|
|
350
|
+
...(sandboxIdentity.name === undefined ? {} : { name: sandboxIdentity.name }),
|
|
212
351
|
...(input.maxAgents !== undefined ? { maxAgents: input.maxAgents } : {}),
|
|
213
352
|
...(input.mountRelayfile !== undefined ? { mountRelayfile: input.mountRelayfile } : {}),
|
|
214
353
|
...(input.relayfilePaths === undefined ? {} : { relayfilePaths: [...input.relayfilePaths] }),
|
|
@@ -223,6 +362,7 @@ export async function ensureCloudFleetSandbox(input, options = {}) {
|
|
|
223
362
|
catch (error) {
|
|
224
363
|
throw new CloudFleetSandboxProvisionError(redactCredentialValues(`Cloud fleet sandbox request ended without a complete response: ${error instanceof Error ? error.message : String(error)}`), {
|
|
225
364
|
cloudWorkspaceId: resolved.cloudWorkspaceId,
|
|
365
|
+
...(sandboxIdentity.sandboxId === undefined ? {} : { sandboxId: sandboxIdentity.sandboxId }),
|
|
226
366
|
...(input.name ? { nodeName: input.name } : {}),
|
|
227
367
|
...(input.providerId ? { providerId: input.providerId } : {}),
|
|
228
368
|
outcomeUnknown: true,
|
|
@@ -231,33 +371,55 @@ export async function ensureCloudFleetSandbox(input, options = {}) {
|
|
|
231
371
|
}
|
|
232
372
|
const payload = await readJson(response);
|
|
233
373
|
if (!response.ok) {
|
|
374
|
+
const returnedSandboxId = isObject(payload) ? readString(payload, 'sandboxId') : undefined;
|
|
375
|
+
if (sandboxIdentity.sandboxId !== undefined &&
|
|
376
|
+
returnedSandboxId !== undefined &&
|
|
377
|
+
returnedSandboxId !== sandboxIdentity.sandboxId) {
|
|
378
|
+
const mismatch = new CloudFleetSandboxIdentityMismatchError(`Cloud returned sandboxId ${returnedSandboxId} instead of requested sandboxId ${sandboxIdentity.sandboxId}.`);
|
|
379
|
+
throw new CloudFleetSandboxProvisionError(mismatch.message, {
|
|
380
|
+
cloudWorkspaceId: resolved.cloudWorkspaceId,
|
|
381
|
+
...(sandboxIdentity.name === undefined ? {} : { nodeName: sandboxIdentity.name }),
|
|
382
|
+
...(input.providerId === undefined ? {} : { providerId: input.providerId }),
|
|
383
|
+
outcomeUnknown: true,
|
|
384
|
+
cause: mismatch,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
234
387
|
const error = endpointError('provision the fleet sandbox', response, payload);
|
|
388
|
+
// Gateway/server failures can arrive after Cloud accepted the ensure
|
|
389
|
+
// request but before it could return an identity. Keep every 5xx failure
|
|
390
|
+
// replayable as an unknown outcome, even for legacy custom-name callers;
|
|
391
|
+
// never copy an unverified response ID into cleanup authority.
|
|
392
|
+
if (response.status >= 500) {
|
|
393
|
+
throw new CloudFleetSandboxProvisionError(error.message, {
|
|
394
|
+
cloudWorkspaceId: resolved.cloudWorkspaceId,
|
|
395
|
+
...(sandboxIdentity.sandboxId === undefined ? {} : { sandboxId: sandboxIdentity.sandboxId }),
|
|
396
|
+
...(sandboxIdentity.name === undefined ? {} : { nodeName: sandboxIdentity.name }),
|
|
397
|
+
...(input.providerId === undefined ? {} : { providerId: input.providerId }),
|
|
398
|
+
outcomeUnknown: true,
|
|
399
|
+
cause: error,
|
|
400
|
+
});
|
|
401
|
+
}
|
|
235
402
|
if (isObject(payload) && readString(payload, 'sandboxId')) {
|
|
236
|
-
const providerId = cleanupProviderId(payload, input.providerId);
|
|
237
403
|
throw new CloudFleetSandboxProvisionError(error.message, {
|
|
238
404
|
cloudWorkspaceId: resolved.cloudWorkspaceId,
|
|
239
|
-
sandboxId:
|
|
240
|
-
|
|
241
|
-
...(providerId === undefined ? {} : { providerId }),
|
|
405
|
+
...(sandboxIdentity.sandboxId === undefined ? {} : { sandboxId: sandboxIdentity.sandboxId }),
|
|
406
|
+
...(sandboxIdentity.name === undefined ? {} : { nodeName: sandboxIdentity.name }),
|
|
407
|
+
...(input.providerId === undefined ? {} : { providerId: input.providerId }),
|
|
408
|
+
outcomeUnknown: true,
|
|
242
409
|
cause: error,
|
|
243
410
|
});
|
|
244
411
|
}
|
|
245
412
|
throw error;
|
|
246
413
|
}
|
|
247
414
|
try {
|
|
248
|
-
return normalizeEnsureResult(payload, resolved.cloudWorkspaceId, input.providerId);
|
|
415
|
+
return normalizeEnsureResult(payload, resolved.cloudWorkspaceId, sandboxIdentity.sandboxId, sandboxIdentity.name, input.providerId);
|
|
249
416
|
}
|
|
250
417
|
catch (error) {
|
|
251
|
-
const providerId = isObject(payload) ? cleanupProviderId(payload, input.providerId) : input.providerId;
|
|
252
418
|
throw new CloudFleetSandboxProvisionError(error instanceof Error ? error.message : 'Cloud fleet sandbox response was invalid.', {
|
|
253
419
|
cloudWorkspaceId: resolved.cloudWorkspaceId,
|
|
254
|
-
...(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
...(isObject(payload) && (readString(payload, 'nodeName') ?? input.name)
|
|
258
|
-
? { nodeName: readString(payload, 'nodeName') ?? input.name }
|
|
259
|
-
: {}),
|
|
260
|
-
...(providerId === undefined ? {} : { providerId }),
|
|
420
|
+
...(sandboxIdentity.sandboxId === undefined ? {} : { sandboxId: sandboxIdentity.sandboxId }),
|
|
421
|
+
...(sandboxIdentity.name === undefined ? {} : { nodeName: sandboxIdentity.name }),
|
|
422
|
+
...(input.providerId === undefined ? {} : { providerId: input.providerId }),
|
|
261
423
|
outcomeUnknown: true,
|
|
262
424
|
cause: error,
|
|
263
425
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-sandbox.js","sourceRoot":"","sources":["../src/fleet-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,0BAA0B,GAAG,iEAAiE,CAAC;AACrG,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAC9C,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,gEAAgE;AAChE,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAC1C,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAgBzC;;;GAGG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,gBAAgB,CAAU;IAC1B,SAAS,CAAU;IACnB,QAAQ,CAAU;IAClB,UAAU,CAA+B;IACzC,cAAc,CAAU;IAEjC,YACE,OAAe,EACf,WAOI,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC;IACzD,CAAC;CACF;AAqCD,MAAM,gCAAgC,GAA2C;IAC/E,SAAS;IACT,KAAK;IACL,QAAQ;IACR,WAAW;IACX,SAAS;IACT,cAAc;CACf,CAAC;AA8CF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,OAAmB,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,OAAmB,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,OAAmB,EAAE,GAAW,EAAE,OAAe;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,wBAAwB,GAAG,GAAG,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,OAAwC,EAAE,gBAAwB;IACvF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAgB;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAI,KAAK,CAAC,mEAAmE,MAAM,GAAG,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAI,KAAK,CAAC,wDAAwD,MAAM,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/D,OAAO,IAAI,KAAK,CACd,6CAA6C,MAAM,IACjD,UAAU,CAAC,CAAC,CAAC,gBAAgB,UAAU,WAAW,CAAC,CAAC,CAAC,EACvD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;QACzF,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxB,OAAO,IAAI,KAAK,CACd,sBAAsB,CAAC,aAAa,MAAM,KAAK,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAmB,EAAE,GAAW,EAAE,OAAe;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,wBAAwB,GAAG,GAAG,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,WAAmB,EACnB,IAA4D,EAC5D,MAAmB;IAKnB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAC7D,IAAI,EACJ,sBAAsB,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACzB,EAAE,WAAW,EAAE,KAAK,EAAE,CACvB,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,aAAa,CAAC,6BAA6B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAClG,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IACjG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO;QACL,gBAAgB;QAChB,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,OAAmB,EACnB,sBAA+B;IAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,gCAAgC,CAAC,QAAQ,CAAC,KAAoC,CAAC,EAAE,CAAC;QACpF,OAAO,KAAoC,CAAC;IAC9C,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAmB,EACnB,mBAAiD;IAEjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5D,OAAO,iBAAiB;QACtB,gCAAgC,CAAC,QAAQ,CAAC,iBAAgD,CAAC;QAC3F,CAAC,CAAE,iBAAiD;QACpD,CAAC,CAAC,mBAAmB,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgB,EAChB,gBAAwB,EACxB,mBAAiD;IAEjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC;IAC9E,IAAI,mBAAmB,KAAK,SAAS,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,0CAA0C,mBAAmB,GAAG;YAClE,CAAC,CAAC,2BAA2B,UAAU,kCAAkC,mBAAmB,GAAG,CAClG,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;YACL,OAAO;YACP,gBAAgB;YAChB,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC;YAChE,QAAQ;YACR,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,CAAC;YACtE,gBAAgB,EAAE,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;YACpF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC;gBAC3C,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE;gBACnE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,OAAO;YACP,gBAAgB;YAChB,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC;YAChE,QAAQ;YACR,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC;YAChE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,IAAI;YACzD,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI;YACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,sBAAsB,EAAE,CAAC;QACvC,OAAO;YACL,OAAO;YACP,gBAAgB;YAChB,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,CAAC;YACtE,gBAAgB,EAAE,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;YACpF,QAAQ;YACR,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC;YACpE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAmC,EACnC,UAA2C,EAAE;IAE7C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9F,IAAI,CAAC,kBAAkB;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACzG,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE;QACzC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACjE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CACtC,QAAQ,CAAC,IAAI,EACb,oCAAoC,EACpC;YACE,MAAM,EAAE,MAAM;YACd,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,QAAQ,CAAC,gBAAgB;gBACtC,kBAAkB;gBAClB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5F,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5F,CAAC;SACH,EACD,EAAE,WAAW,EAAE,KAAK,EAAE,CACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,+BAA+B,CACvC,sBAAsB,CACpB,kEACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,EACD;YACE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,KAAK;SACb,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,aAAa,CAAC,6BAA6B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,IAAI,+BAA+B,CAAC,KAAK,CAAC,OAAO,EAAE;gBACvD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;gBAC3C,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI;gBACvD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;gBACnD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACvG,MAAM,IAAI,+BAA+B,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2CAA2C,EACpF;YACE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;gBACvD,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;gBACtE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,KAAK;SACb,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAmC,EACnC,UAA2C,EAAE;IAE7C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEtG,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE;QACzC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAC3C,OAAO,CAAC,IAAI,EACZ,+BAA+B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC9D;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,WAAW,EAAE,gBAAgB;YAC7B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SAC5E,CAAC;KACH,EACD,EAAE,WAAW,EAAE,KAAK,EAAE,CACvB,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,aAAa,CAAC,0BAA0B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC"}
|
|
1
|
+
{"version":3,"file":"fleet-sandbox.js","sourceRoot":"","sources":["../src/fleet-sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,11 +7,11 @@ export { runWorkflow, scheduleWorkflow, listWorkflowSchedules, getRunStatus, get
|
|
|
7
7
|
export { connectProvider, getProviderHelpText, normalizeProvider, type ConnectProviderIo, type ConnectProviderOptions, type ConnectProviderResult, } from './connect.js';
|
|
8
8
|
export { createWorkspace, issueWorkspaceToken, resolveActiveWorkspace } from './workspaces.js';
|
|
9
9
|
export { redactCredentialValues } from './redact.js';
|
|
10
|
-
export { ensureCloudFleetSandbox, deleteCloudFleetSandbox, CloudFleetSandboxProvisionError, type EnsureCloudFleetSandboxInput, type EnsureCloudFleetSandboxResult, type CloudFleetSandboxReady, type CloudFleetSandboxReused, type CloudFleetSandboxProvisioningTimeout, type CloudFleetSandboxProviderId, type CloudFleetSandboxWorkloadProfile, type DeleteCloudFleetSandboxInput, type CloudFleetSandboxRequestOptions, } from './fleet-sandbox.js';
|
|
10
|
+
export { ensureCloudFleetSandbox, deleteCloudFleetSandbox, CloudFleetSandboxProvisionError, normalizeRelaycastTarget, CANONICAL_RELAYCAST_ORIGIN, AGENT37_RELAYCAST_ORIGIN, type EnsureCloudFleetSandboxInput, type EnsureCloudFleetSandboxResult, type CloudFleetSandboxReady, type CloudFleetSandboxReused, type CloudFleetSandboxProvisioningTimeout, type CloudFleetSandboxProviderId, type CloudFleetSandboxWorkloadProfile, type DeleteCloudFleetSandboxInput, type CloudFleetSandboxRequestOptions, type CloudFleetRelaycastRoute, type CloudFleetRelaycastTarget, } from './fleet-sandbox.js';
|
|
11
11
|
export { acknowledgeCloudWorkerAssignment, cloudWorkerStateDir, cloudWorkerStorePath, downloadCloudWorkerAssignmentStorage, headCloudWorkerAssignmentStorage, readCloudWorkerStore, registerCloudWorker, reportCloudWorkerAssignmentStatus, resolveCloudWorkerRecord, resolveWorkerWorkflowPayload, runCloudWorkerLoop, sendCloudWorkerHeartbeat, streamCloudWorkerQueue, upsertCloudWorkerRecord, writeCloudWorkerStore, type CloudWorkerLoopOptions, type CloudWorkerRecord, type CloudWorkerStore, type ExecuteWorkerAssignment, type WorkAssignmentRecord, type WorkerFileType, type WorkerQueueEvent, type WorkerStatusDetail, type WorkerWorkflowPayload, type WorkerWorkflowRef, } from './worker.js';
|
|
12
12
|
export { enrollFleetNode, fleetNodeEnrollmentStorePath, readFleetNodeEnrollmentStore, writeFleetNodeEnrollmentStore, upsertFleetNodeEnrollment, resolveActiveFleetNodeEnrollment, type EnrollFleetNodeInput, type FleetNodeEnrollment, type FleetNodeEnrollmentRecord, type FleetNodeEnrollmentStore, } from './fleet.js';
|
|
13
13
|
export { activeWorkspaceKey, readWorkspaceStore, resolveActiveWorkspaceKey, setActiveWorkspace, setWorkspaceKey, switchWorkspace, validateWorkspaceName, workspaceStorePath, writeWorkspaceStore, type WorkspaceStore, } from './workspace-store.js';
|
|
14
|
-
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, type ProjectWorkspaceSession, type ResolveWorkspaceKeyOptions, type WorkspaceKeyFileSystem, type WorkspaceKeySource, type WorkspaceSelection, } from './project-workspace-key.js';
|
|
14
|
+
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, writeProjectWorkspaceTargetIfSelectionCurrent, type ProjectWorkspaceSession, type ResolveWorkspaceKeyOptions, type WorkspaceKeyFileSystem, type WorkspaceKeySource, type WorkspaceSelection, } from './project-workspace-key.js';
|
|
15
15
|
export { deployProactiveAgent, listProactiveAgents, inspectProactiveAgent, undeployProactiveAgent, createWorkspaceSecret, getWorkspaceSecret, deleteWorkspaceSecret, } from './proactive-runtime.js';
|
|
16
16
|
export { runInteractiveSession, formatShellInvocation, wrapWithLaunchCheckpoint, type SshConnectionInfo, type InteractiveSessionOptions, type InteractiveSessionResult, } from './lib/ssh-interactive.js';
|
|
17
17
|
export { loadSSH2, createAskpassScript, buildSystemSshArgs, DEFAULT_SSH_RUNTIME, type AuthSshRuntime, } from './lib/ssh-runtime.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,6BAA6B,EAC7B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,11 +7,11 @@ export { runWorkflow, scheduleWorkflow, listWorkflowSchedules, getRunStatus, get
|
|
|
7
7
|
export { connectProvider, getProviderHelpText, normalizeProvider, } from './connect.js';
|
|
8
8
|
export { createWorkspace, issueWorkspaceToken, resolveActiveWorkspace } from './workspaces.js';
|
|
9
9
|
export { redactCredentialValues } from './redact.js';
|
|
10
|
-
export { ensureCloudFleetSandbox, deleteCloudFleetSandbox, CloudFleetSandboxProvisionError, } from './fleet-sandbox.js';
|
|
10
|
+
export { ensureCloudFleetSandbox, deleteCloudFleetSandbox, CloudFleetSandboxProvisionError, normalizeRelaycastTarget, CANONICAL_RELAYCAST_ORIGIN, AGENT37_RELAYCAST_ORIGIN, } from './fleet-sandbox.js';
|
|
11
11
|
export { acknowledgeCloudWorkerAssignment, cloudWorkerStateDir, cloudWorkerStorePath, downloadCloudWorkerAssignmentStorage, headCloudWorkerAssignmentStorage, readCloudWorkerStore, registerCloudWorker, reportCloudWorkerAssignmentStatus, resolveCloudWorkerRecord, resolveWorkerWorkflowPayload, runCloudWorkerLoop, sendCloudWorkerHeartbeat, streamCloudWorkerQueue, upsertCloudWorkerRecord, writeCloudWorkerStore, } from './worker.js';
|
|
12
12
|
export { enrollFleetNode, fleetNodeEnrollmentStorePath, readFleetNodeEnrollmentStore, writeFleetNodeEnrollmentStore, upsertFleetNodeEnrollment, resolveActiveFleetNodeEnrollment, } from './fleet.js';
|
|
13
13
|
export { activeWorkspaceKey, readWorkspaceStore, resolveActiveWorkspaceKey, setActiveWorkspace, setWorkspaceKey, switchWorkspace, validateWorkspaceName, workspaceStorePath, writeWorkspaceStore, } from './workspace-store.js';
|
|
14
|
-
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, } from './project-workspace-key.js';
|
|
14
|
+
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, writeProjectWorkspaceTargetIfSelectionCurrent, } from './project-workspace-key.js';
|
|
15
15
|
export { deployProactiveAgent, listProactiveAgents, inspectProactiveAgent, undeployProactiveAgent, createWorkspaceSecret, getWorkspaceSecret, deleteWorkspaceSecret, } from './proactive-runtime.js';
|
|
16
16
|
export { runInteractiveSession, formatShellInvocation, wrapWithLaunchCheckpoint, } from './lib/ssh-interactive.js';
|
|
17
17
|
export { loadSSH2, createAskpassScript, buildSystemSshArgs, DEFAULT_SSH_RUNTIME, } from './lib/ssh-runtime.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,6BAA6B,EAC7B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAIlB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,13 @@ export interface ProjectWorkspaceSession {
|
|
|
8
8
|
* source (a stored Fleet enrollment, say) points at a different workspace.
|
|
9
9
|
*/
|
|
10
10
|
workspaceId?: string;
|
|
11
|
+
/** Last server-selected Relaycast route for follow-up commands in this session. */
|
|
12
|
+
relaycastRoute?: 'canonical' | 'agent37-isolated';
|
|
13
|
+
relaycastBaseUrl?: string;
|
|
14
|
+
/** Route-scoped transport credential; the canonical Cloud workspace key remains `workspaceKey`. */
|
|
15
|
+
relaycastApiKey?: string;
|
|
11
16
|
}
|
|
17
|
+
export type ProjectWorkspaceSessionMetadata = Omit<ProjectWorkspaceSession, 'workspaceKey'>;
|
|
12
18
|
export type WorkspaceKeySource = 'flag' | 'env' | 'project' | 'store';
|
|
13
19
|
export interface ResolveWorkspaceKeyOptions {
|
|
14
20
|
workspaceKey?: string;
|
|
@@ -36,6 +42,13 @@ export interface WorkspaceSelection {
|
|
|
36
42
|
origin: string;
|
|
37
43
|
/** Workspace id this selection is known to address, when previously recorded. */
|
|
38
44
|
workspaceId?: string;
|
|
45
|
+
relaycastRoute?: 'canonical' | 'agent37-isolated';
|
|
46
|
+
relaycastBaseUrl?: string;
|
|
47
|
+
relaycastApiKey?: string;
|
|
48
|
+
/** Project session directory that can durably carry a server-selected target. */
|
|
49
|
+
projectDataDir?: string;
|
|
50
|
+
/** Whether that project session existed when this selection was captured. */
|
|
51
|
+
projectSessionPresent?: boolean;
|
|
39
52
|
}
|
|
40
53
|
/** Absolute path to the workspace key recorded by `agent-relay node up`. */
|
|
41
54
|
export declare function projectWorkspaceKeyPath(dataDir: string): string;
|
|
@@ -50,7 +63,23 @@ export declare function readProjectWorkspaceSession(dataDir: string, fileSystem?
|
|
|
50
63
|
export declare function writeProjectWorkspaceKey(dataDir: string, workspaceKey: string | undefined, options?: {
|
|
51
64
|
enrolledNodeId?: string;
|
|
52
65
|
workspaceId?: string;
|
|
66
|
+
relaycastRoute?: 'canonical' | 'agent37-isolated';
|
|
67
|
+
relaycastBaseUrl?: string;
|
|
68
|
+
relaycastApiKey?: string;
|
|
53
69
|
}): void;
|
|
70
|
+
/** Atomically persist a Relaycast target only if the captured project selection is still current. */
|
|
71
|
+
export declare function writeProjectWorkspaceTargetIfSelectionCurrent(dataDir: string, selection: WorkspaceSelection, target: Required<Pick<ProjectWorkspaceSession, 'workspaceId' | 'relaycastRoute' | 'relaycastBaseUrl' | 'relaycastApiKey'>>): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Rewrite a project session while retaining server-selected metadata when the
|
|
74
|
+
* workspace key is unchanged. A changed key is an intentional rebind, so no
|
|
75
|
+
* metadata from the old workspace is carried across.
|
|
76
|
+
*
|
|
77
|
+
* The low-level writer above deliberately replaces the complete record. This
|
|
78
|
+
* helper is for callers that update one part of an existing session (for
|
|
79
|
+
* example, linking an enrolled node) and must not accidentally discard the
|
|
80
|
+
* Relaycast target or workspace identity recorded alongside the key.
|
|
81
|
+
*/
|
|
82
|
+
export declare function writeProjectWorkspaceKeyPreservingSession(dataDir: string, workspaceKey: string | undefined, options?: ProjectWorkspaceSessionMetadata): void;
|
|
54
83
|
/**
|
|
55
84
|
* Resolve which Relay workspace this process addresses.
|
|
56
85
|
*
|
|
@@ -78,7 +107,7 @@ export declare function resolveWorkspaceSelection(options?: ResolveWorkspaceKeyO
|
|
|
78
107
|
* higher (repository-pin) steps and must not re-read the pin through `node:fs`.
|
|
79
108
|
* It is never correct to consult this ahead of steps 1–3.
|
|
80
109
|
*/
|
|
81
|
-
export declare function resolveActiveWorkspaceSelection(env?: NodeJS.ProcessEnv): WorkspaceSelection | undefined;
|
|
110
|
+
export declare function resolveActiveWorkspaceSelection(env?: NodeJS.ProcessEnv, projectDataDir?: string): WorkspaceSelection | undefined;
|
|
82
111
|
/** Resolve the selected workspace key and its source. See {@link resolveWorkspaceSelection}. */
|
|
83
112
|
export declare function resolveWorkspaceKeyWithSource(options?: ResolveWorkspaceKeyOptions): {
|
|
84
113
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-workspace-key.d.ts","sourceRoot":"","sources":["../src/project-workspace-key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-workspace-key.d.ts","sourceRoot":"","sources":["../src/project-workspace-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,12 @@ import path from 'node:path';
|
|
|
4
4
|
import { getProjectPaths } from '@agent-relay/config';
|
|
5
5
|
import { readWorkspaceStore, workspaceStorePath } from './workspace-store.js';
|
|
6
6
|
const PROJECT_WORKSPACE_KEY_FILENAME = 'workspace-key.json';
|
|
7
|
+
const PROJECT_WORKSPACE_LOCK_SUFFIX = '.lock';
|
|
8
|
+
const PROJECT_WORKSPACE_LOCK_TIMEOUT_MS = 2_000;
|
|
9
|
+
const PROJECT_WORKSPACE_LOCK_STALE_MS = 30_000;
|
|
10
|
+
const PROJECT_WORKSPACE_LOCK_RETRY_MS = 10;
|
|
11
|
+
const PROJECT_WORKSPACE_LOCK_WAIT = new Int32Array(new SharedArrayBuffer(4));
|
|
12
|
+
const PROJECT_WORKSPACE_LOCK_OWNER_VERSION = 1;
|
|
7
13
|
/** Workspace-key environment aliases, highest precedence first. */
|
|
8
14
|
const WORKSPACE_KEY_ENV_VARS = ['RELAY_WORKSPACE_KEY', 'AGENT_RELAY_WORKSPACE_KEY', 'RELAY_API_KEY'];
|
|
9
15
|
/** Absolute path to the workspace key recorded by `agent-relay node up`. */
|
|
@@ -24,10 +30,18 @@ export function readProjectWorkspaceSession(dataDir, fileSystem = fs) {
|
|
|
24
30
|
return undefined;
|
|
25
31
|
const enrolledNodeId = trimOrUndefined(parsed.enrolledNodeId);
|
|
26
32
|
const workspaceId = trimOrUndefined(parsed.workspaceId);
|
|
33
|
+
const relaycastRoute = parsed.relaycastRoute === 'canonical' || parsed.relaycastRoute === 'agent37-isolated'
|
|
34
|
+
? parsed.relaycastRoute
|
|
35
|
+
: undefined;
|
|
36
|
+
const relaycastBaseUrl = trimOrUndefined(parsed.relaycastBaseUrl);
|
|
37
|
+
const relaycastApiKey = trimOrUndefined(parsed.relaycastApiKey);
|
|
27
38
|
return {
|
|
28
39
|
workspaceKey,
|
|
29
40
|
...(enrolledNodeId ? { enrolledNodeId } : {}),
|
|
30
41
|
...(workspaceId ? { workspaceId } : {}),
|
|
42
|
+
...(relaycastRoute ? { relaycastRoute } : {}),
|
|
43
|
+
...(relaycastBaseUrl ? { relaycastBaseUrl } : {}),
|
|
44
|
+
...(relaycastApiKey ? { relaycastApiKey } : {}),
|
|
31
45
|
};
|
|
32
46
|
}
|
|
33
47
|
catch {
|
|
@@ -39,11 +53,20 @@ export function readProjectWorkspaceSession(dataDir, fileSystem = fs) {
|
|
|
39
53
|
* A blank key never clobbers a previously recorded workspace.
|
|
40
54
|
*/
|
|
41
55
|
export function writeProjectWorkspaceKey(dataDir, workspaceKey, options = {}) {
|
|
56
|
+
const key = trimOrUndefined(workspaceKey);
|
|
57
|
+
if (!key)
|
|
58
|
+
return;
|
|
59
|
+
withProjectWorkspaceKeyLock(dataDir, () => writeProjectWorkspaceKeyUnlocked(dataDir, key, options));
|
|
60
|
+
}
|
|
61
|
+
function writeProjectWorkspaceKeyUnlocked(dataDir, workspaceKey, options = {}) {
|
|
42
62
|
const key = trimOrUndefined(workspaceKey);
|
|
43
63
|
if (!key)
|
|
44
64
|
return;
|
|
45
65
|
const enrolledNodeId = trimOrUndefined(options.enrolledNodeId);
|
|
46
66
|
const workspaceId = trimOrUndefined(options.workspaceId);
|
|
67
|
+
const relaycastRoute = options.relaycastRoute;
|
|
68
|
+
const relaycastBaseUrl = trimOrUndefined(options.relaycastBaseUrl);
|
|
69
|
+
const relaycastApiKey = trimOrUndefined(options.relaycastApiKey);
|
|
47
70
|
fs.mkdirSync(dataDir, { recursive: true, mode: 0o700 });
|
|
48
71
|
const file = projectWorkspaceKeyPath(dataDir);
|
|
49
72
|
// Worker threads share a PID, so include a per-write nonce as well as the PID.
|
|
@@ -52,6 +75,9 @@ export function writeProjectWorkspaceKey(dataDir, workspaceKey, options = {}) {
|
|
|
52
75
|
workspaceKey: key,
|
|
53
76
|
...(enrolledNodeId ? { enrolledNodeId } : {}),
|
|
54
77
|
...(workspaceId ? { workspaceId } : {}),
|
|
78
|
+
...(relaycastRoute ? { relaycastRoute } : {}),
|
|
79
|
+
...(relaycastBaseUrl ? { relaycastBaseUrl } : {}),
|
|
80
|
+
...(relaycastApiKey ? { relaycastApiKey } : {}),
|
|
55
81
|
}, null, 2)}\n`;
|
|
56
82
|
let fd;
|
|
57
83
|
try {
|
|
@@ -80,6 +106,211 @@ export function writeProjectWorkspaceKey(dataDir, workspaceKey, options = {}) {
|
|
|
80
106
|
throw error;
|
|
81
107
|
}
|
|
82
108
|
}
|
|
109
|
+
function withProjectWorkspaceKeyLock(dataDir, callback) {
|
|
110
|
+
fs.mkdirSync(dataDir, { recursive: true, mode: 0o700 });
|
|
111
|
+
const lockDir = `${projectWorkspaceKeyPath(dataDir)}${PROJECT_WORKSPACE_LOCK_SUFFIX}`;
|
|
112
|
+
const ownerToken = randomUUID();
|
|
113
|
+
const ownerPath = path.join(lockDir, ownerToken);
|
|
114
|
+
const startedAt = Date.now();
|
|
115
|
+
while (true) {
|
|
116
|
+
try {
|
|
117
|
+
fs.mkdirSync(lockDir, { mode: 0o700 });
|
|
118
|
+
try {
|
|
119
|
+
// The token is a child of this lock directory, so a stale holder can
|
|
120
|
+
// release only its own marker even if another writer has already
|
|
121
|
+
// removed and reacquired the directory.
|
|
122
|
+
fs.writeFileSync(ownerPath, JSON.stringify({
|
|
123
|
+
version: PROJECT_WORKSPACE_LOCK_OWNER_VERSION,
|
|
124
|
+
pid: process.pid,
|
|
125
|
+
token: ownerToken,
|
|
126
|
+
}), { mode: 0o600, flag: 'wx' });
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
// mkdir succeeded, but this invocation never acquired a usable lock.
|
|
130
|
+
// Clean up only the directory it just created before propagating.
|
|
131
|
+
fs.rmSync(ownerPath, { force: true });
|
|
132
|
+
try {
|
|
133
|
+
fs.rmdirSync(lockDir);
|
|
134
|
+
}
|
|
135
|
+
catch (cleanupError) {
|
|
136
|
+
if (cleanupError.code !== 'ENOENT')
|
|
137
|
+
throw cleanupError;
|
|
138
|
+
}
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
if (error.code !== 'EEXIST')
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
if (Date.now() - fs.statSync(lockDir).mtimeMs >= PROJECT_WORKSPACE_LOCK_STALE_MS) {
|
|
149
|
+
const observedLock = inspectProjectWorkspaceLock(lockDir);
|
|
150
|
+
if (!observedLock.ownerIsAlive) {
|
|
151
|
+
// Reclaim only the exact marker entries observed in this lock. A
|
|
152
|
+
// replacement writer can add a different marker concurrently; the
|
|
153
|
+
// non-recursive rmdir then leaves that replacement lock untouched.
|
|
154
|
+
for (const entry of observedLock.entries) {
|
|
155
|
+
fs.rmSync(path.join(lockDir, entry), { force: true });
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
fs.rmdirSync(lockDir);
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (error.code !== 'ENOENT' &&
|
|
162
|
+
error.code !== 'ENOTEMPTY') {
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
if (error.code === 'ENOENT')
|
|
172
|
+
continue;
|
|
173
|
+
throw error;
|
|
174
|
+
}
|
|
175
|
+
if (Date.now() - startedAt >= PROJECT_WORKSPACE_LOCK_TIMEOUT_MS) {
|
|
176
|
+
throw new Error(`Timed out waiting for the project workspace lock at ${lockDir}.`);
|
|
177
|
+
}
|
|
178
|
+
Atomics.wait(PROJECT_WORKSPACE_LOCK_WAIT, 0, 0, PROJECT_WORKSPACE_LOCK_RETRY_MS);
|
|
179
|
+
}
|
|
180
|
+
let callbackFailed = false;
|
|
181
|
+
try {
|
|
182
|
+
return callback();
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
callbackFailed = true;
|
|
186
|
+
throw error;
|
|
187
|
+
}
|
|
188
|
+
finally {
|
|
189
|
+
// Remove our marker first. If the lock was declared stale and replaced
|
|
190
|
+
// while the callback was running, the replacement marker is different;
|
|
191
|
+
// rmdir then safely leaves the replacement lock in place.
|
|
192
|
+
if (fs.existsSync(ownerPath)) {
|
|
193
|
+
fs.rmSync(ownerPath, { force: true });
|
|
194
|
+
try {
|
|
195
|
+
fs.rmdirSync(lockDir);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
if (error.code !== 'ENOENT' &&
|
|
199
|
+
error.code !== 'ENOTEMPTY') {
|
|
200
|
+
if (callbackFailed) {
|
|
201
|
+
console.error(`Failed to release the project workspace lock at ${lockDir}.`, error);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
throw error;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
function inspectProjectWorkspaceLock(lockDir) {
|
|
212
|
+
const entries = fs.readdirSync(lockDir);
|
|
213
|
+
let sawLiveOwner = false;
|
|
214
|
+
for (const entry of entries) {
|
|
215
|
+
let owner;
|
|
216
|
+
try {
|
|
217
|
+
owner = JSON.parse(fs.readFileSync(path.join(lockDir, entry), 'utf8'));
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
const pid = owner.pid;
|
|
223
|
+
if (owner.version !== PROJECT_WORKSPACE_LOCK_OWNER_VERSION ||
|
|
224
|
+
typeof pid !== 'number' ||
|
|
225
|
+
!Number.isInteger(pid) ||
|
|
226
|
+
pid <= 0 ||
|
|
227
|
+
typeof owner.token !== 'string' ||
|
|
228
|
+
owner.token !== entry) {
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
process.kill(pid, 0);
|
|
233
|
+
sawLiveOwner = true;
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
const code = error.code;
|
|
237
|
+
// EPERM means the process exists but is not signalable. Treat all
|
|
238
|
+
// errors other than ESRCH conservatively as alive.
|
|
239
|
+
if (code !== 'ESRCH')
|
|
240
|
+
sawLiveOwner = true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return { entries, ownerIsAlive: sawLiveOwner };
|
|
244
|
+
}
|
|
245
|
+
/** Atomically persist a Relaycast target only if the captured project selection is still current. */
|
|
246
|
+
export function writeProjectWorkspaceTargetIfSelectionCurrent(dataDir, selection, target) {
|
|
247
|
+
return withProjectWorkspaceKeyLock(dataDir, () => {
|
|
248
|
+
const current = readProjectWorkspaceSession(dataDir);
|
|
249
|
+
if (selection.projectSessionPresent === false && current)
|
|
250
|
+
return false;
|
|
251
|
+
if (current &&
|
|
252
|
+
(current.workspaceKey !== selection.key ||
|
|
253
|
+
current.workspaceId !== selection.workspaceId ||
|
|
254
|
+
current.relaycastRoute !== selection.relaycastRoute ||
|
|
255
|
+
current.relaycastBaseUrl !== selection.relaycastBaseUrl ||
|
|
256
|
+
current.relaycastApiKey !== selection.relaycastApiKey)) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
if (!current && (selection.projectSessionPresent === true || selection.source === 'project')) {
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
writeProjectWorkspaceKeyUnlocked(dataDir, selection.key, {
|
|
263
|
+
...(current?.enrolledNodeId ? { enrolledNodeId: current.enrolledNodeId } : {}),
|
|
264
|
+
workspaceId: target.workspaceId,
|
|
265
|
+
relaycastRoute: target.relaycastRoute,
|
|
266
|
+
relaycastBaseUrl: target.relaycastBaseUrl,
|
|
267
|
+
relaycastApiKey: target.relaycastApiKey,
|
|
268
|
+
});
|
|
269
|
+
return true;
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Rewrite a project session while retaining server-selected metadata when the
|
|
274
|
+
* workspace key is unchanged. A changed key is an intentional rebind, so no
|
|
275
|
+
* metadata from the old workspace is carried across.
|
|
276
|
+
*
|
|
277
|
+
* The low-level writer above deliberately replaces the complete record. This
|
|
278
|
+
* helper is for callers that update one part of an existing session (for
|
|
279
|
+
* example, linking an enrolled node) and must not accidentally discard the
|
|
280
|
+
* Relaycast target or workspace identity recorded alongside the key.
|
|
281
|
+
*/
|
|
282
|
+
export function writeProjectWorkspaceKeyPreservingSession(dataDir, workspaceKey, options = {}) {
|
|
283
|
+
const key = trimOrUndefined(workspaceKey);
|
|
284
|
+
if (!key)
|
|
285
|
+
return;
|
|
286
|
+
withProjectWorkspaceKeyLock(dataDir, () => {
|
|
287
|
+
const existing = readProjectWorkspaceSession(dataDir);
|
|
288
|
+
const sameWorkspace = existing?.workspaceKey === key;
|
|
289
|
+
const retained = sameWorkspace
|
|
290
|
+
? {
|
|
291
|
+
...(existing?.enrolledNodeId ? { enrolledNodeId: existing.enrolledNodeId } : {}),
|
|
292
|
+
...(existing?.workspaceId ? { workspaceId: existing.workspaceId } : {}),
|
|
293
|
+
...(existing?.relaycastRoute ? { relaycastRoute: existing.relaycastRoute } : {}),
|
|
294
|
+
...(existing?.relaycastBaseUrl ? { relaycastBaseUrl: existing.relaycastBaseUrl } : {}),
|
|
295
|
+
...(existing?.relaycastApiKey ? { relaycastApiKey: existing.relaycastApiKey } : {}),
|
|
296
|
+
}
|
|
297
|
+
: {};
|
|
298
|
+
writeProjectWorkspaceKeyUnlocked(dataDir, key, {
|
|
299
|
+
...retained,
|
|
300
|
+
...(trimOrUndefined(options.enrolledNodeId)
|
|
301
|
+
? { enrolledNodeId: trimOrUndefined(options.enrolledNodeId) }
|
|
302
|
+
: {}),
|
|
303
|
+
...(trimOrUndefined(options.workspaceId) ? { workspaceId: trimOrUndefined(options.workspaceId) } : {}),
|
|
304
|
+
...(options.relaycastRoute ? { relaycastRoute: options.relaycastRoute } : {}),
|
|
305
|
+
...(trimOrUndefined(options.relaycastBaseUrl)
|
|
306
|
+
? { relaycastBaseUrl: trimOrUndefined(options.relaycastBaseUrl) }
|
|
307
|
+
: {}),
|
|
308
|
+
...(trimOrUndefined(options.relaycastApiKey)
|
|
309
|
+
? { relaycastApiKey: trimOrUndefined(options.relaycastApiKey) }
|
|
310
|
+
: {}),
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
}
|
|
83
314
|
/**
|
|
84
315
|
* Resolve which Relay workspace this process addresses.
|
|
85
316
|
*
|
|
@@ -100,25 +331,67 @@ export function writeProjectWorkspaceKey(dataDir, workspaceKey, options = {}) {
|
|
|
100
331
|
*/
|
|
101
332
|
export function resolveWorkspaceSelection(options = {}) {
|
|
102
333
|
const env = options.env ?? process.env;
|
|
334
|
+
const dataDir = options.projectDataDir ?? projectDataDir(options.projectRoot);
|
|
335
|
+
const project = dataDir ? readProjectWorkspaceSession(dataDir, options.fileSystem ?? fs) : undefined;
|
|
103
336
|
const flag = trimOrUndefined(options.workspaceKey);
|
|
104
|
-
if (flag)
|
|
105
|
-
return {
|
|
337
|
+
if (flag) {
|
|
338
|
+
return {
|
|
339
|
+
key: flag,
|
|
340
|
+
source: 'flag',
|
|
341
|
+
origin: '--workspace-key',
|
|
342
|
+
...(project?.workspaceKey === flag && project.workspaceId ? { workspaceId: project.workspaceId } : {}),
|
|
343
|
+
...(project?.workspaceKey === flag && project.relaycastRoute
|
|
344
|
+
? { relaycastRoute: project.relaycastRoute }
|
|
345
|
+
: {}),
|
|
346
|
+
...(project?.workspaceKey === flag && project.relaycastBaseUrl
|
|
347
|
+
? { relaycastBaseUrl: project.relaycastBaseUrl }
|
|
348
|
+
: {}),
|
|
349
|
+
...(project?.workspaceKey === flag && project.relaycastApiKey
|
|
350
|
+
? { relaycastApiKey: project.relaycastApiKey }
|
|
351
|
+
: {}),
|
|
352
|
+
...((!project || project.workspaceKey === flag) && dataDir
|
|
353
|
+
? { projectDataDir: dataDir, projectSessionPresent: project !== undefined }
|
|
354
|
+
: {}),
|
|
355
|
+
};
|
|
356
|
+
}
|
|
106
357
|
for (const name of WORKSPACE_KEY_ENV_VARS) {
|
|
107
358
|
const envKey = trimOrUndefined(env[name]);
|
|
108
|
-
if (envKey)
|
|
109
|
-
return {
|
|
359
|
+
if (envKey) {
|
|
360
|
+
return {
|
|
361
|
+
key: envKey,
|
|
362
|
+
source: 'env',
|
|
363
|
+
origin: `$${name}`,
|
|
364
|
+
...(project?.workspaceKey === envKey && project.workspaceId
|
|
365
|
+
? { workspaceId: project.workspaceId }
|
|
366
|
+
: {}),
|
|
367
|
+
...(project?.workspaceKey === envKey && project.relaycastRoute
|
|
368
|
+
? { relaycastRoute: project.relaycastRoute }
|
|
369
|
+
: {}),
|
|
370
|
+
...(project?.workspaceKey === envKey && project.relaycastBaseUrl
|
|
371
|
+
? { relaycastBaseUrl: project.relaycastBaseUrl }
|
|
372
|
+
: {}),
|
|
373
|
+
...(project?.workspaceKey === envKey && project.relaycastApiKey
|
|
374
|
+
? { relaycastApiKey: project.relaycastApiKey }
|
|
375
|
+
: {}),
|
|
376
|
+
...((!project || project.workspaceKey === envKey) && dataDir
|
|
377
|
+
? { projectDataDir: dataDir, projectSessionPresent: project !== undefined }
|
|
378
|
+
: {}),
|
|
379
|
+
};
|
|
380
|
+
}
|
|
110
381
|
}
|
|
111
|
-
const dataDir = options.projectDataDir ?? projectDataDir(options.projectRoot);
|
|
112
|
-
const project = dataDir ? readProjectWorkspaceSession(dataDir, options.fileSystem ?? fs) : undefined;
|
|
113
382
|
if (project) {
|
|
114
383
|
return {
|
|
115
384
|
key: project.workspaceKey,
|
|
116
385
|
source: 'project',
|
|
117
386
|
origin: projectWorkspaceKeyPath(dataDir),
|
|
118
387
|
...(project.workspaceId ? { workspaceId: project.workspaceId } : {}),
|
|
388
|
+
...(project.relaycastRoute ? { relaycastRoute: project.relaycastRoute } : {}),
|
|
389
|
+
...(project.relaycastBaseUrl ? { relaycastBaseUrl: project.relaycastBaseUrl } : {}),
|
|
390
|
+
...(project.relaycastApiKey ? { relaycastApiKey: project.relaycastApiKey } : {}),
|
|
391
|
+
...(dataDir ? { projectDataDir: dataDir, projectSessionPresent: true } : {}),
|
|
119
392
|
};
|
|
120
393
|
}
|
|
121
|
-
return resolveActiveWorkspaceSelection(env);
|
|
394
|
+
return resolveActiveWorkspaceSelection(env, dataDir);
|
|
122
395
|
}
|
|
123
396
|
/**
|
|
124
397
|
* Step 4 of {@link resolveWorkspaceSelection} on its own: the machine-global
|
|
@@ -128,7 +401,7 @@ export function resolveWorkspaceSelection(options = {}) {
|
|
|
128
401
|
* higher (repository-pin) steps and must not re-read the pin through `node:fs`.
|
|
129
402
|
* It is never correct to consult this ahead of steps 1–3.
|
|
130
403
|
*/
|
|
131
|
-
export function resolveActiveWorkspaceSelection(env = process.env) {
|
|
404
|
+
export function resolveActiveWorkspaceSelection(env = process.env, projectDataDir) {
|
|
132
405
|
const store = readWorkspaceStore(env);
|
|
133
406
|
const activeName = trimOrUndefined(store.active);
|
|
134
407
|
const storeKey = activeName ? trimOrUndefined(store.workspaces[activeName]?.key) : undefined;
|
|
@@ -137,6 +410,7 @@ export function resolveActiveWorkspaceSelection(env = process.env) {
|
|
|
137
410
|
key: storeKey,
|
|
138
411
|
source: 'store',
|
|
139
412
|
origin: `${workspaceStorePath(env)} (active: "${activeName}")`,
|
|
413
|
+
...(projectDataDir ? { projectDataDir, projectSessionPresent: false } : {}),
|
|
140
414
|
}
|
|
141
415
|
: undefined;
|
|
142
416
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-workspace-key.js","sourceRoot":"","sources":["../src/project-workspace-key.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-workspace-key.js","sourceRoot":"","sources":["../src/project-workspace-key.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace-key.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, type ProjectWorkspaceSession, type ResolveWorkspaceKeyOptions, type WorkspaceKeyFileSystem, type WorkspaceKeySource, type WorkspaceSelection, } from './project-workspace-key.js';
|
|
1
|
+
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, writeProjectWorkspaceKeyPreservingSession, writeProjectWorkspaceTargetIfSelectionCurrent, type ProjectWorkspaceSession, type ProjectWorkspaceSessionMetadata, type ResolveWorkspaceKeyOptions, type WorkspaceKeyFileSystem, type WorkspaceKeySource, type WorkspaceSelection, } from './project-workspace-key.js';
|
|
2
2
|
//# sourceMappingURL=workspace-key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-key.d.ts","sourceRoot":"","sources":["../src/workspace-key.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace-key.d.ts","sourceRoot":"","sources":["../src/workspace-key.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,yCAAyC,EACzC,6CAA6C,EAC7C,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC"}
|
package/dist/workspace-key.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, } from './project-workspace-key.js';
|
|
1
|
+
export { projectWorkspaceKeyPath, readProjectWorkspaceKey, readProjectWorkspaceSession, resolveActiveWorkspaceSelection, resolveWorkspaceKey, resolveWorkspaceKeyWithSource, resolveWorkspaceSelection, writeProjectWorkspaceKey, writeProjectWorkspaceKeyPreservingSession, writeProjectWorkspaceTargetIfSelectionCurrent, } from './project-workspace-key.js';
|
|
2
2
|
//# sourceMappingURL=workspace-key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-key.js","sourceRoot":"","sources":["../src/workspace-key.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"workspace-key.js","sourceRoot":"","sources":["../src/workspace-key.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,yCAAyC,EACzC,6CAA6C,GAO9C,MAAM,4BAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/cloud",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.11.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22.0.0"
|
|
6
6
|
},
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"test:watch": "vitest --root ../.. packages/cloud/"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@agent-relay/config": "11.
|
|
65
|
+
"@agent-relay/config": "11.11.0",
|
|
66
66
|
"@aws-sdk/client-s3": "3.1020.0",
|
|
67
67
|
"ignore": "^7.0.5",
|
|
68
68
|
"tar": "^7.5.21"
|