@agentworkforce/deploy 3.0.26 → 3.0.28
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/connect.d.ts +47 -0
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +217 -74
- package/dist/connect.js.map +1 -1
- package/dist/connect.test.js +325 -32
- package/dist/connect.test.js.map +1 -1
- package/dist/deploy.d.ts +7 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +75 -7
- package/dist/deploy.js.map +1 -1
- package/dist/deploy.test.js +213 -3
- package/dist/deploy.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/io.d.ts.map +1 -1
- package/dist/io.js +25 -0
- package/dist/io.js.map +1 -1
- package/dist/modes/cloud/index.d.ts +21 -1
- package/dist/modes/cloud/index.d.ts.map +1 -1
- package/dist/modes/cloud/index.js +61 -1
- package/dist/modes/cloud/index.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/connect.d.ts
CHANGED
|
@@ -108,6 +108,7 @@ export interface ConnectAllInput {
|
|
|
108
108
|
workspace: string;
|
|
109
109
|
noConnect: boolean;
|
|
110
110
|
noPrompt?: boolean;
|
|
111
|
+
reconnectProviders?: readonly string[];
|
|
111
112
|
io: DeployIO;
|
|
112
113
|
integrations: IntegrationConnectResolver;
|
|
113
114
|
/** Optional cloud-login recovery for interactive 401s. */
|
|
@@ -171,4 +172,50 @@ export declare function relayfileCatalogConfigKeyResolver(opts: {
|
|
|
171
172
|
fetch?: typeof fetch;
|
|
172
173
|
io?: Pick<DeployIO, 'warn'>;
|
|
173
174
|
}): ProviderConfigKeyResolver;
|
|
175
|
+
/** One selectable candidate behind a {@link PersonaInputSpec.picker}. */
|
|
176
|
+
export interface PickerOption {
|
|
177
|
+
value: string;
|
|
178
|
+
label: string;
|
|
179
|
+
hint?: string;
|
|
180
|
+
}
|
|
181
|
+
/** Resolves the candidate list for a persona input's `picker`. */
|
|
182
|
+
export interface IntegrationOptionsResolver {
|
|
183
|
+
list(args: {
|
|
184
|
+
workspace: string;
|
|
185
|
+
provider: string;
|
|
186
|
+
resource: string;
|
|
187
|
+
}): Promise<PickerOption[]>;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Cloud-backed options resolver: `GET /api/v1/workspaces/<ws>/integrations/<provider>/options/<resource>`.
|
|
191
|
+
* The cloud triggers the provider's Nango `list-*` action and returns a
|
|
192
|
+
* normalized `{ options: [{ value, label, hint? }] }` body. Mirrors
|
|
193
|
+
* {@link relayfileCatalogConfigKeyResolver}'s auth + transport.
|
|
194
|
+
*/
|
|
195
|
+
export declare function relayfileOptionsResolver(opts: {
|
|
196
|
+
apiUrl: string;
|
|
197
|
+
workspaceToken: string | (() => string | Promise<string>);
|
|
198
|
+
fetch?: typeof fetch;
|
|
199
|
+
}): IntegrationOptionsResolver;
|
|
200
|
+
export interface CollectPickerInputsInput {
|
|
201
|
+
persona: PersonaSpec;
|
|
202
|
+
workspace: string;
|
|
203
|
+
io: DeployIO;
|
|
204
|
+
resolver: IntegrationOptionsResolver;
|
|
205
|
+
/** Inputs resolved so far (e.g. from `--input`). Not mutated. */
|
|
206
|
+
inputs: Record<string, string>;
|
|
207
|
+
/** Providers that were just connected — pickers for others are skipped. */
|
|
208
|
+
connectedProviders: string[];
|
|
209
|
+
env?: NodeJS.ProcessEnv;
|
|
210
|
+
/** When true, never prompt; picker-annotated inputs are left to resolve normally. */
|
|
211
|
+
noPrompt?: boolean;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Walk the persona's picker-annotated inputs and, for any without a value yet,
|
|
215
|
+
* prompt the operator to choose one. Returns a new inputs map (the original is
|
|
216
|
+
* left untouched). Every failure mode is non-fatal: the input is simply left
|
|
217
|
+
* unset so the runtime resolves it the usual way (env → default) or fails loudly
|
|
218
|
+
* later, and the operator can always fall back to `--input NAME=…`.
|
|
219
|
+
*/
|
|
220
|
+
export declare function collectPickerInputs(input: CollectPickerInputsInput): Promise<Record<string, string>>;
|
|
174
221
|
//# sourceMappingURL=connect.d.ts.map
|
package/dist/connect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAkBtE;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5F;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,0BAA0B,CAcnE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GAAG,0BAA0B,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/connect.js
CHANGED
|
@@ -45,20 +45,25 @@ export function relayfileIntegrationResolver(opts) {
|
|
|
45
45
|
const workspaceId = workspace || opts.workspaceId;
|
|
46
46
|
const token = await resolveWorkspaceToken(opts.workspaceToken);
|
|
47
47
|
const effectiveSource = source ?? { kind: 'deployer_user' };
|
|
48
|
-
const
|
|
48
|
+
const status = await fetchIntegrationStatusForScope({
|
|
49
49
|
fetchImpl,
|
|
50
50
|
apiUrl,
|
|
51
51
|
token,
|
|
52
52
|
workspaceId,
|
|
53
|
+
provider,
|
|
53
54
|
source: effectiveSource,
|
|
54
55
|
io
|
|
55
56
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
if (isIntegrationListResponse(status)) {
|
|
58
|
+
return listHasConnectedProvider(status, provider, {
|
|
59
|
+
...(expectedConfigKey ? { expectedConfigKey } : {}),
|
|
60
|
+
...(effectiveSource.kind === 'workspace_service_account'
|
|
61
|
+
? { serviceAccountName: effectiveSource.name }
|
|
62
|
+
: {})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return statusMatchesExpectedConfigKey(status, expectedConfigKey)
|
|
66
|
+
&& isConnectedStatus(status);
|
|
62
67
|
},
|
|
63
68
|
async connect({ workspace, provider, source }) {
|
|
64
69
|
const workspaceId = workspace || opts.workspaceId;
|
|
@@ -174,9 +179,16 @@ function providerHasEnvCredentials(provider) {
|
|
|
174
179
|
export async function connectIntegrations(input) {
|
|
175
180
|
const integrations = input.persona.integrations ?? {};
|
|
176
181
|
const outcomes = [];
|
|
182
|
+
const subscription = input.persona.useSubscription
|
|
183
|
+
? requireSubscriptionResolver(input.persona.id, input.subscription)
|
|
184
|
+
: undefined;
|
|
185
|
+
const subscriptionProvider = subscription
|
|
186
|
+
? await connectSubscriptionProvider(input, subscription)
|
|
187
|
+
: undefined;
|
|
177
188
|
for (const provider of Object.keys(integrations)) {
|
|
178
189
|
const integrationEntry = integrations[provider] ?? {};
|
|
179
190
|
const source = integrationEntry.source ?? { kind: 'deployer_user' };
|
|
191
|
+
const forceReconnect = input.reconnectProviders?.includes(provider) ?? false;
|
|
180
192
|
const expectedConfigKey = input.providerConfigKeys
|
|
181
193
|
? await input.providerConfigKeys.resolve(provider).catch(() => undefined)
|
|
182
194
|
: undefined;
|
|
@@ -184,11 +196,14 @@ export async function connectIntegrations(input) {
|
|
|
184
196
|
let connected = await checkProviderConnected(input, provider, source, expectedConfigKey, (message) => {
|
|
185
197
|
statusCheckFailure = message;
|
|
186
198
|
});
|
|
187
|
-
if (connected) {
|
|
199
|
+
if (connected && !forceReconnect) {
|
|
188
200
|
input.io.info(`integrations.${provider}: already connected`);
|
|
189
201
|
outcomes.push({ provider, status: 'already-connected' });
|
|
190
202
|
continue;
|
|
191
203
|
}
|
|
204
|
+
if (connected && forceReconnect) {
|
|
205
|
+
input.io.info(`integrations.${provider}: reconnect requested; opening a fresh connection flow`);
|
|
206
|
+
}
|
|
192
207
|
if (statusCheckFailure
|
|
193
208
|
&& isIntegrationUnauthorizedFailure(statusCheckFailure)
|
|
194
209
|
&& !input.noPrompt
|
|
@@ -204,7 +219,7 @@ export async function connectIntegrations(input) {
|
|
|
204
219
|
connected = await checkProviderConnected(input, provider, source, expectedConfigKey, (message) => {
|
|
205
220
|
statusCheckFailure = message;
|
|
206
221
|
});
|
|
207
|
-
if (connected) {
|
|
222
|
+
if (connected && !forceReconnect) {
|
|
208
223
|
input.io.info(`integrations.${provider}: already connected`);
|
|
209
224
|
outcomes.push({ provider, status: 'already-connected' });
|
|
210
225
|
continue;
|
|
@@ -220,7 +235,7 @@ export async function connectIntegrations(input) {
|
|
|
220
235
|
});
|
|
221
236
|
continue;
|
|
222
237
|
}
|
|
223
|
-
if (input.noPrompt) {
|
|
238
|
+
if (input.noPrompt && !forceReconnect) {
|
|
224
239
|
input.io.error(`integrations.${provider}: not connected, and --no-prompt was passed. Connect it before deploying or run without --no-prompt.`);
|
|
225
240
|
outcomes.push({
|
|
226
241
|
provider,
|
|
@@ -229,7 +244,7 @@ export async function connectIntegrations(input) {
|
|
|
229
244
|
});
|
|
230
245
|
return { outcomes };
|
|
231
246
|
}
|
|
232
|
-
if (input.noConnect) {
|
|
247
|
+
if (input.noConnect && !forceReconnect) {
|
|
233
248
|
input.io.error(`integrations.${provider}: not connected, and prompts are disabled`);
|
|
234
249
|
outcomes.push({
|
|
235
250
|
provider,
|
|
@@ -238,10 +253,12 @@ export async function connectIntegrations(input) {
|
|
|
238
253
|
});
|
|
239
254
|
continue;
|
|
240
255
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
256
|
+
if (!forceReconnect) {
|
|
257
|
+
const shouldConnect = await input.io.confirm(`Connect ${provider} now? (opens browser)`, { defaultValue: true });
|
|
258
|
+
if (!shouldConnect) {
|
|
259
|
+
outcomes.push({ provider, status: 'skipped', message: 'user declined to connect' });
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
245
262
|
}
|
|
246
263
|
try {
|
|
247
264
|
const result = await input.integrations.connect({
|
|
@@ -258,41 +275,39 @@ export async function connectIntegrations(input) {
|
|
|
258
275
|
outcomes.push({ provider, status: 'failed', message });
|
|
259
276
|
}
|
|
260
277
|
}
|
|
261
|
-
// Track the subscription provider only when this deploy actually
|
|
262
|
-
// connected one — already-connected cases stay logged but do not
|
|
263
|
-
// leak a sentinel string up to callers reading `subscriptionProvider`.
|
|
264
|
-
let subscriptionProvider;
|
|
265
|
-
if (input.persona.useSubscription) {
|
|
266
|
-
if (!input.subscription) {
|
|
267
|
-
throw new Error('persona has useSubscription:true but no subscription resolver was supplied to the deploy orchestrator');
|
|
268
|
-
}
|
|
269
|
-
const isConn = await input.subscription
|
|
270
|
-
.isConnected({ workspace: input.workspace })
|
|
271
|
-
.catch(() => false);
|
|
272
|
-
if (!isConn) {
|
|
273
|
-
if (input.noPrompt) {
|
|
274
|
-
throw new Error('persona requires a subscription provider connection, but --no-prompt was passed. Connect it before deploying or run without --no-prompt.');
|
|
275
|
-
}
|
|
276
|
-
if (input.noConnect) {
|
|
277
|
-
throw new Error('persona requires a subscription provider connection, but --no-connect was passed');
|
|
278
|
-
}
|
|
279
|
-
const ok = await input.io.confirm('persona has useSubscription:true — connect your LLM provider now?', { defaultValue: true });
|
|
280
|
-
if (!ok) {
|
|
281
|
-
throw new Error('user declined the subscription provider connect; deploy aborted');
|
|
282
|
-
}
|
|
283
|
-
const result = await input.subscription.connect({ workspace: input.workspace });
|
|
284
|
-
subscriptionProvider = result.provider;
|
|
285
|
-
input.io.info(`subscription: connected (${result.provider})`);
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
input.io.info('subscription: already connected');
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
278
|
return {
|
|
292
279
|
outcomes,
|
|
293
280
|
...(subscriptionProvider ? { subscriptionProvider } : {})
|
|
294
281
|
};
|
|
295
282
|
}
|
|
283
|
+
async function connectSubscriptionProvider(input, subscription) {
|
|
284
|
+
const isConn = await subscription
|
|
285
|
+
.isConnected({ workspace: input.workspace })
|
|
286
|
+
.catch(() => false);
|
|
287
|
+
if (isConn) {
|
|
288
|
+
input.io.info('subscription: already connected');
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
291
|
+
if (input.noPrompt) {
|
|
292
|
+
throw new Error('persona requires a subscription provider connection, but --no-prompt was passed. Connect it before deploying or run without --no-prompt.');
|
|
293
|
+
}
|
|
294
|
+
if (input.noConnect) {
|
|
295
|
+
throw new Error('persona requires a subscription provider connection, but --no-connect was passed');
|
|
296
|
+
}
|
|
297
|
+
const ok = await input.io.confirm('persona has useSubscription:true — connect your LLM provider now?', { defaultValue: true });
|
|
298
|
+
if (!ok) {
|
|
299
|
+
throw new Error('user declined the subscription provider connect; deploy aborted');
|
|
300
|
+
}
|
|
301
|
+
const result = await subscription.connect({ workspace: input.workspace });
|
|
302
|
+
input.io.info(`subscription: connected (${result.provider})`);
|
|
303
|
+
return result.provider;
|
|
304
|
+
}
|
|
305
|
+
function requireSubscriptionResolver(personaId, subscription) {
|
|
306
|
+
if (subscription)
|
|
307
|
+
return subscription;
|
|
308
|
+
throw new Error(`persona "${personaId}" sets useSubscription:true, but no subscription connector is available. ` +
|
|
309
|
+
'Use the deploy orchestrator cloud mode, provide a subscription resolver, or remove useSubscription to use workforce-billed inference.');
|
|
310
|
+
}
|
|
296
311
|
async function checkProviderConnected(input, provider, source, expectedConfigKey, onFailure) {
|
|
297
312
|
return await input.integrations
|
|
298
313
|
.isConnected({
|
|
@@ -485,6 +500,23 @@ async function fetchIntegrationsForScope(args) {
|
|
|
485
500
|
}
|
|
486
501
|
return await requestJson(args.fetchImpl, `${args.apiUrl}/api/v1/workspaces/${encodeURIComponent(args.workspaceId)}/integrations`, args.token);
|
|
487
502
|
}
|
|
503
|
+
async function fetchIntegrationStatusForScope(args) {
|
|
504
|
+
const url = new URL(`${args.apiUrl}/api/v1/workspaces/${encodeURIComponent(args.workspaceId)}/integrations/${encodeURIComponent(args.provider)}/status`);
|
|
505
|
+
url.searchParams.set('scope', args.source.kind);
|
|
506
|
+
if (args.source.kind === 'workspace_service_account') {
|
|
507
|
+
url.searchParams.set('serviceAccountName', args.source.name);
|
|
508
|
+
}
|
|
509
|
+
try {
|
|
510
|
+
return await requestJson(args.fetchImpl, url.toString(), args.token);
|
|
511
|
+
}
|
|
512
|
+
catch (err) {
|
|
513
|
+
if (isCloudRequestError(err) && (err.status === 404 || err.status === 405)) {
|
|
514
|
+
args.io?.warn?.('cloud does not expose /integrations/<provider>/status yet; falling back to the integrations list with ready-only matching.');
|
|
515
|
+
return await fetchIntegrationsForScope(args);
|
|
516
|
+
}
|
|
517
|
+
throw err;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
488
520
|
function listHasConnectedProvider(body, provider, opts = {}) {
|
|
489
521
|
const candidates = Array.isArray(body)
|
|
490
522
|
? body
|
|
@@ -515,48 +547,45 @@ function listHasConnectedProvider(body, provider, opts = {}) {
|
|
|
515
547
|
return isConnectedStatus(record);
|
|
516
548
|
});
|
|
517
549
|
}
|
|
550
|
+
function isIntegrationListResponse(body) {
|
|
551
|
+
return Array.isArray(body)
|
|
552
|
+
|| Boolean(body &&
|
|
553
|
+
typeof body === 'object' &&
|
|
554
|
+
Array.isArray(body.integrations));
|
|
555
|
+
}
|
|
556
|
+
function statusMatchesExpectedConfigKey(value, expectedConfigKey) {
|
|
557
|
+
if (!expectedConfigKey || !value || typeof value !== 'object' || Array.isArray(value)) {
|
|
558
|
+
return true;
|
|
559
|
+
}
|
|
560
|
+
const configKey = readString(value, 'configKey')
|
|
561
|
+
?? readString(value, 'providerConfigKey')
|
|
562
|
+
?? readString(value, 'backendIntegrationId');
|
|
563
|
+
return configKey === undefined || configKey === expectedConfigKey;
|
|
564
|
+
}
|
|
518
565
|
/**
|
|
519
|
-
* A
|
|
520
|
-
*
|
|
521
|
-
*
|
|
566
|
+
* A provider counts as connected for deploy only when the cloud's
|
|
567
|
+
* runtime-visible status is ready. Pending/syncing rows mean the sandbox will
|
|
568
|
+
* not see a ready mounted provider yet, so deploy must prompt/reconnect
|
|
569
|
+
* instead of shipping a silently-dead proactive agent.
|
|
522
570
|
*
|
|
523
571
|
* - `ready` — sync complete, writeback healthy. Fully usable.
|
|
524
|
-
* - `pending` — OAuth
|
|
525
|
-
*
|
|
526
|
-
*
|
|
527
|
-
* - `syncing` — initial sync running. Same operational status as `pending`
|
|
528
|
-
* from the persona's perspective.
|
|
529
|
-
* - `degraded` — sync complete but writeback lagging or paused. Connection
|
|
530
|
-
* still works; reading at-rest data is fine; new writes may
|
|
531
|
-
* queue but won't fail.
|
|
572
|
+
* - `pending` — OAuth row exists but runtime-visible sync is not ready.
|
|
573
|
+
* - `syncing` — initial sync is still running.
|
|
574
|
+
* - `degraded` — sync/writeback is unhealthy enough not to trust deploy.
|
|
532
575
|
* - `error` — sync failed or writeback errored. Treat as not-connected
|
|
533
576
|
* so the user re-runs OAuth (or fixes the upstream cause).
|
|
534
577
|
*
|
|
535
|
-
* The preflight accepts everything except `error` and missing rows. The
|
|
536
|
-
* previous implementation accepted only `ready`, which forced users to wait
|
|
537
|
-
* for the initial sync to complete between `agentworkforce login` and their
|
|
538
|
-
* first deploy — every fresh integration sat in `pending`/`syncing` for a
|
|
539
|
-
* few minutes and tripped the "not connected" branch.
|
|
540
|
-
*
|
|
541
578
|
* Legacy fields (`connected`, `active`, `state`, `ready: true`, `oauth.connected`)
|
|
542
|
-
* are
|
|
579
|
+
* are intentionally narrowed here; deploy is checking runtime readiness, not
|
|
580
|
+
* merely OAuth existence.
|
|
543
581
|
*/
|
|
544
582
|
function isConnectedStatus(value) {
|
|
545
583
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
546
584
|
return false;
|
|
547
585
|
const record = value;
|
|
548
|
-
return record.status === '
|
|
549
|
-
|| record.status === 'active'
|
|
550
|
-
|| record.status === 'ready'
|
|
551
|
-
|| record.status === 'pending'
|
|
552
|
-
|| record.status === 'syncing'
|
|
553
|
-
|| record.status === 'degraded'
|
|
554
|
-
|| record.state === 'connected'
|
|
586
|
+
return record.status === 'ready'
|
|
555
587
|
|| record.state === 'ready'
|
|
556
|
-
|| record.ready === true
|
|
557
|
-
|| (record.oauth !== null
|
|
558
|
-
&& typeof record.oauth === 'object'
|
|
559
|
-
&& record.oauth.connected === true);
|
|
588
|
+
|| record.ready === true;
|
|
560
589
|
}
|
|
561
590
|
/**
|
|
562
591
|
* Resolver backed by `GET /api/v1/integrations/catalog`. The catalog is
|
|
@@ -619,4 +648,118 @@ function openBrowser(url) {
|
|
|
619
648
|
});
|
|
620
649
|
child.unref();
|
|
621
650
|
}
|
|
651
|
+
/**
|
|
652
|
+
* Cloud-backed options resolver: `GET /api/v1/workspaces/<ws>/integrations/<provider>/options/<resource>`.
|
|
653
|
+
* The cloud triggers the provider's Nango `list-*` action and returns a
|
|
654
|
+
* normalized `{ options: [{ value, label, hint? }] }` body. Mirrors
|
|
655
|
+
* {@link relayfileCatalogConfigKeyResolver}'s auth + transport.
|
|
656
|
+
*/
|
|
657
|
+
export function relayfileOptionsResolver(opts) {
|
|
658
|
+
const fetchImpl = opts.fetch ?? fetch;
|
|
659
|
+
const apiUrl = opts.apiUrl.replace(/\/+$/, '');
|
|
660
|
+
return {
|
|
661
|
+
async list({ workspace, provider, resource }) {
|
|
662
|
+
const token = await resolveWorkspaceToken(opts.workspaceToken);
|
|
663
|
+
const url = `${apiUrl}/api/v1/workspaces/${encodeURIComponent(workspace)}` +
|
|
664
|
+
`/integrations/${encodeURIComponent(provider)}/options/${encodeURIComponent(resource)}`;
|
|
665
|
+
const body = await requestJson(fetchImpl, url, token);
|
|
666
|
+
const raw = body && typeof body === 'object' ? body.options : undefined;
|
|
667
|
+
if (!Array.isArray(raw))
|
|
668
|
+
return [];
|
|
669
|
+
const options = [];
|
|
670
|
+
for (const entry of raw) {
|
|
671
|
+
const value = readString(entry, 'value');
|
|
672
|
+
if (!value)
|
|
673
|
+
continue;
|
|
674
|
+
const label = readString(entry, 'label') ?? value;
|
|
675
|
+
const hint = readString(entry, 'hint');
|
|
676
|
+
options.push({ value, label, ...(hint ? { hint } : {}) });
|
|
677
|
+
}
|
|
678
|
+
return options;
|
|
679
|
+
}
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Walk the persona's picker-annotated inputs and, for any without a value yet,
|
|
684
|
+
* prompt the operator to choose one. Returns a new inputs map (the original is
|
|
685
|
+
* left untouched). Every failure mode is non-fatal: the input is simply left
|
|
686
|
+
* unset so the runtime resolves it the usual way (env → default) or fails loudly
|
|
687
|
+
* later, and the operator can always fall back to `--input NAME=…`.
|
|
688
|
+
*/
|
|
689
|
+
export async function collectPickerInputs(input) {
|
|
690
|
+
const resolved = { ...input.inputs };
|
|
691
|
+
const declared = input.persona.inputs ?? {};
|
|
692
|
+
const env = input.env ?? process.env;
|
|
693
|
+
const connected = new Set(input.connectedProviders);
|
|
694
|
+
for (const [name, spec] of Object.entries(declared)) {
|
|
695
|
+
const picker = spec.picker;
|
|
696
|
+
if (!picker)
|
|
697
|
+
continue;
|
|
698
|
+
// Already have a value? An explicit --input or a set env var wins; never
|
|
699
|
+
// override what the operator already chose.
|
|
700
|
+
const envName = spec.env ?? name;
|
|
701
|
+
const existing = resolved[name] ?? (env[envName] ?? undefined);
|
|
702
|
+
if (existing !== undefined && existing.trim() !== '')
|
|
703
|
+
continue;
|
|
704
|
+
if (input.noPrompt) {
|
|
705
|
+
// Non-interactive run: surface why the value is unset rather than
|
|
706
|
+
// letting it silently fall through to env/default.
|
|
707
|
+
input.io.warn(`skipping ${picker.provider} ${picker.resource} picker for input ${name} because --no-prompt is set; pass --input ${name}=… to set it`);
|
|
708
|
+
continue;
|
|
709
|
+
}
|
|
710
|
+
if (!connected.has(picker.provider)) {
|
|
711
|
+
// The provider wasn't connected this run (declared elsewhere, env path,
|
|
712
|
+
// or skipped) — we can't reliably list it, so leave the input alone.
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
let options;
|
|
716
|
+
try {
|
|
717
|
+
options = await input.resolver.list({
|
|
718
|
+
workspace: input.workspace,
|
|
719
|
+
provider: picker.provider,
|
|
720
|
+
resource: picker.resource
|
|
721
|
+
});
|
|
722
|
+
}
|
|
723
|
+
catch (err) {
|
|
724
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
725
|
+
input.io.warn(`could not list ${picker.provider} ${picker.resource} for input ${name} (${message}); pass --input ${name}=… to set it`);
|
|
726
|
+
continue;
|
|
727
|
+
}
|
|
728
|
+
if (options.length === 0) {
|
|
729
|
+
input.io.warn(`no ${picker.provider} ${picker.resource} available for input ${name}; pass --input ${name}=… to set it`);
|
|
730
|
+
continue;
|
|
731
|
+
}
|
|
732
|
+
const label = spec.description ? `${name} — ${spec.description}` : name;
|
|
733
|
+
const chosen = await selectOption(input.io, `Select ${label}`, options);
|
|
734
|
+
if (chosen)
|
|
735
|
+
resolved[name] = chosen;
|
|
736
|
+
}
|
|
737
|
+
return resolved;
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Render a chooser for `options` and return the picked value. Uses the IO's
|
|
741
|
+
* native `select` when available (rich CLIs); otherwise falls back to a
|
|
742
|
+
* numbered prompt that also accepts a pasted raw value.
|
|
743
|
+
*/
|
|
744
|
+
async function selectOption(io, question, options) {
|
|
745
|
+
if (io.select) {
|
|
746
|
+
return io.select(question, options);
|
|
747
|
+
}
|
|
748
|
+
io.info(`${question}:`);
|
|
749
|
+
options.forEach((option, index) => {
|
|
750
|
+
const hint = option.hint ? ` — ${option.hint}` : '';
|
|
751
|
+
io.info(` ${index + 1}) ${option.label}${hint} [${option.value}]`);
|
|
752
|
+
});
|
|
753
|
+
const answer = (await io.prompt(`Enter 1-${options.length} (or paste a value)`, { defaultValue: '1' })).trim();
|
|
754
|
+
if (answer === '')
|
|
755
|
+
return options[0]?.value;
|
|
756
|
+
// Only a pure decimal string is an index — `String(index) === answer` rejects
|
|
757
|
+
// pasted ids like `1abc` (which parseInt would coerce to 1), matching the
|
|
758
|
+
// terminal IO's select(). Anything else is treated as a pasted raw value.
|
|
759
|
+
const index = Number.parseInt(answer, 10);
|
|
760
|
+
if (String(index) === answer && index >= 1 && index <= options.length) {
|
|
761
|
+
return options[index - 1]?.value;
|
|
762
|
+
}
|
|
763
|
+
return answer;
|
|
764
|
+
}
|
|
622
765
|
//# sourceMappingURL=connect.js.map
|
package/dist/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|