@antasphere/chassis-cli 1.0.2 → 1.2.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/context.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { PlatformApiError } from '@antasphere/chassis-sdk';
2
- import { activeHubProfile, CLOUD_PROFILE, CliAuthClient, CliUsageError, connectOnDemand, lookupConnectKey, printJson as corePrintJson, refreshConnectKey, resolveApiKey, resolveBaseUrl, sameInstance, selectProfile } from '@antasphere/cli-core';
2
+ import { cachedConnectKey, CLOUD_PROFILE, CliAuthClient, CliUsageError, connectOnDemand, firstSet, HUB_TOOL, loadConfig as loadCoreConfig, printJson as corePrintJson, refreshConnectKey, resolveApiKey, resolveBaseUrl, sameInstance, saveConfig as saveCoreConfig, selectHubProfile, selectProfile } from '@antasphere/cli-core';
3
+ import { DEFAULT_HUB_URL } from './identity.js';
3
4
  import { isWorkspaceId, matchWorkspace } from './workspace.js';
4
5
  // The injectable I/O seam, the usage-error class, and the resolution
5
6
  // helpers live in @antasphere/cli-core (extracted from this CLI); re-exported
@@ -163,15 +164,19 @@ export function createContext(input) {
163
164
  ? 'profile'
164
165
  : 'none';
165
166
  if (!apiKey && sameProfileInstance) {
166
- // No direct key: the connect cache's slot is the ACTIVE hub profile
167
- // (what `antasphere login` stored) — org-independent by design. A key
168
- // cached for ANOTHER account than the login now stored on that slot
169
- // (`antasphere login --email other` since) is never served: it is the
170
- // other person's credential (PRDCT-3032); connectForKey retires it.
171
- const hub = activeHubProfile(io.env);
172
- if (hub.name && !cachedForAnotherAccount(profile, hub.name, hub.profile?.email)) {
173
- apiKey = lookupConnectKey(profile, hub.name);
174
- }
167
+ // No direct key: the connect cache's slot is the hub profile of this
168
+ // run (the one ANTASPHERE_URL names, else the active one: what
169
+ // `antasphere login` stored), org-independent by design. A key is
170
+ // served only to the address that minted it (cli-core
171
+ // `cachedConnectKey`): another account's key is the other person's
172
+ // credential (PRDCT-3032), and a missing address on either side, the
173
+ // entry's or the hub profile's, is unknown, so nothing is served
174
+ // (PRDCT-3046); connectForKey retires the entry. This read repeats
175
+ // cli-core's own (connectOnDemand step 0) on purpose: the credential
176
+ // source and the recovering fetch are decided here.
177
+ const hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
178
+ if (hub.name)
179
+ apiKey = cachedConnectKey(profile, hub.name, hub.profile?.email);
175
180
  if (apiKey)
176
181
  credentialSource = 'hub-cache';
177
182
  }
@@ -202,17 +207,6 @@ export function createContext(input) {
202
207
  }
203
208
  return ctx;
204
209
  }
205
- /**
206
- * The cached connect key on `slot` was minted for another Antasphere
207
- * account than the one whose login the slot now holds. Both addresses must
208
- * be known: a cache entry or a hub profile without one is trusted as before.
209
- */
210
- function cachedForAnotherAccount(profile, slot, hubEmail) {
211
- const cached = profile?.connectKeys?.[slot]?.email;
212
- if (!cached || !hubEmail)
213
- return false;
214
- return cached.toLowerCase() !== hubEmail.toLowerCase();
215
- }
216
210
  const NO_KEY_MESSAGE = `An API key is required. Sign in (\`${identity.bin} login\`), pass --api-key, or set ` +
217
211
  `${identity.envPrefix}_API_KEY.`;
218
212
  /** The tool's own copy for the cli-core seam: the one-command login is the remedy. */
@@ -226,6 +220,10 @@ export function createContext(input) {
226
220
  toolBaseUrl: ctx.baseUrl,
227
221
  // A profile with no baseUrl of its own is at the cloud URL (cli-core 0.5.0).
228
222
  cloudUrl: identity.cloudUrl,
223
+ // The same for a hub profile (cli-core 0.6.0, verifier round 1, F4):
224
+ // one with no baseUrl is at the default hub, so ANTASPHERE_URL naming
225
+ // that hub finds it, and the slot it names is the one this kit reads.
226
+ hubCloudUrl: DEFAULT_HUB_URL,
229
227
  profileName: ctx.profileName ?? CLOUD_PROFILE,
230
228
  env: io.env,
231
229
  // Thread the injected fetch so the probe + exchange stay on the test
@@ -270,9 +268,14 @@ export function createContext(input) {
270
268
  const outcome = await refreshConnectKey(connectOptions(ctx));
271
269
  if (outcome.outcome === 'not_cloud')
272
270
  return res;
271
+ // The cause before its consequence (verifier round 3, F1): the sign-in
272
+ // is said first, then what the fresh mint healed.
273
+ ctx.io.err.write('The cached key was refused; signed in again through Antasphere.\n');
274
+ // A fresh mint like any other: the hub profile is healed here too, or
275
+ // the next run would retire the key just minted (verifier round 2, F1).
276
+ healHubAddress(ctx, outcome);
273
277
  ctx.apiKey = outcome.key;
274
278
  ctx.credentialSource = 'hub-exchange';
275
- ctx.io.err.write('The cached key was refused; signed in again through Antasphere.\n');
276
279
  const headers = new Headers(init?.headers);
277
280
  headers.set('authorization', `Bearer ${outcome.key}`);
278
281
  return base(input, { ...init, headers });
@@ -365,30 +368,74 @@ export function createContext(input) {
365
368
  const noun = selection.kind === 'org' ? 'organization' : 'workspace';
366
369
  return ` (looked in the ${noun} "${selection.value}", selected by ${describeSelection(selection)})`;
367
370
  }
371
+ async function connect(ctx, overrides = {}) {
372
+ const outcome = await connectOnDemand({ ...connectOptions(ctx), ...overrides });
373
+ healHubAddress(ctx, outcome);
374
+ return outcome;
375
+ }
376
+ /**
377
+ * The hub profile healed with the address the hub answered, after a fresh
378
+ * exchange: when it carries none or a blank one (an older login, a
379
+ * hand-edited file), or one the hub no longer answers (the account changed
380
+ * its address at the hub). Without it the slot would be refused and a key
381
+ * re-minted and revoked on every run, since a key is served only to the
382
+ * address that minted it. The answer is the key owner's own current
383
+ * address, so no other person's address can be written. That profile
384
+ * only, nothing else of the hub's file moves. A replaced address is said
385
+ * on stderr; an absent one is filled in silently. Called after every
386
+ * fresh exchange the kit runs: `connect` and the stranded-key recovery.
387
+ */
388
+ function healHubAddress(ctx, outcome) {
389
+ // `!outcome.cached`: a served key implies a hub address already equal to
390
+ // the entry's, so only a fresh exchange can have anything to heal; the
391
+ // guard states that intent.
392
+ if (outcome.outcome !== 'connected' || outcome.cached || !outcome.result)
393
+ return;
394
+ // A chassis tool never answers a blank address; a foreign one must not
395
+ // blank the profile.
396
+ const answered = firstSet(outcome.result.user.email);
397
+ if (!answered)
398
+ return;
399
+ const hub = selectHubProfile(ctx.io.env, { cloudUrl: DEFAULT_HUB_URL });
400
+ const hubConfig = loadCoreConfig(ctx.io.env, HUB_TOOL);
401
+ const stored = hub.name ? hubConfig.profiles[hub.name] : undefined;
402
+ const had = firstSet(stored?.email);
403
+ if (!hub.name || !stored || had?.toLowerCase() === answered.toLowerCase())
404
+ return;
405
+ hubConfig.profiles[hub.name] = { ...stored, email: answered };
406
+ saveCoreConfig(ctx.io.env, HUB_TOOL, hubConfig);
407
+ if (had) {
408
+ ctx.io.err.write(`The Antasphere login's address is now ${answered}, replaced from ${had} (the hub's own answer).\n`);
409
+ }
410
+ }
368
411
  async function connectForKey(ctx) {
369
412
  const { io } = ctx;
370
- // The cached key of another account (the hub login on the slot changed)
371
- // is revoked on its instance and forgotten before the exchange runs for
372
- // the account now signed in (PRDCT-3032). Best effort: a dead key
373
- // answers 401 and is forgotten all the same.
374
- const hub = activeHubProfile(io.env);
413
+ // An entry on the slot the cache refuses to serve (another account's
414
+ // key, the hub login on the slot having changed, PRDCT-3032; or a key
415
+ // whose address, or the hub profile's, is missing, PRDCT-3046) is
416
+ // revoked on its instance and forgotten before the exchange runs for the
417
+ // account now signed in, so the fresh mint never strands it live. Best
418
+ // effort: a dead key answers 401 and is forgotten all the same.
419
+ const hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
375
420
  if (ctx.profileName && hub.name) {
376
421
  const profile = loadConfig(io.env).profiles[ctx.profileName];
377
- if (cachedForAnotherAccount(profile, hub.name, hub.profile?.email)) {
378
- const stale = profile?.connectKeys?.[hub.name];
379
- if (stale) {
380
- io.err.write(`The ${identity.displayName} key cached for ${stale.email ?? 'another Antasphere login'} is retired: ` +
381
- `the Antasphere login is now ${hub.profile?.email ?? 'another account'}.\n`);
382
- const auth = new CliAuthClient({
383
- baseUrl: profileUrl(profile),
384
- ...(io.fetch ? { fetch: io.fetch } : {})
385
- });
386
- await auth.revoke(stale.apiKey).catch(() => undefined);
387
- removeConnectKey(io.env, ctx.profileName, hub.name);
388
- }
422
+ const stale = profile?.connectKeys?.[hub.name];
423
+ if (stale && !cachedConnectKey(profile, hub.name, hub.profile?.email)) {
424
+ // A blank address is no address: it never reaches a sentence.
425
+ const hubEmail = firstSet(hub.profile?.email);
426
+ io.err.write(`The ${identity.displayName} key cached for ${firstSet(stale.email) ?? 'an unknown login'} is retired: ` +
427
+ (hubEmail
428
+ ? `the Antasphere login is now ${hubEmail}.\n`
429
+ : 'the Antasphere login carries no address to match it with.\n'));
430
+ const auth = new CliAuthClient({
431
+ baseUrl: profileUrl(profile),
432
+ ...(io.fetch ? { fetch: io.fetch } : {})
433
+ });
434
+ await auth.revoke(stale.apiKey).catch(() => undefined);
435
+ removeConnectKey(io.env, ctx.profileName, hub.name);
389
436
  }
390
437
  }
391
- const outcome = await connectOnDemand(connectOptions(ctx));
438
+ const outcome = await connect(ctx);
392
439
  if (outcome.outcome === 'not_cloud') {
393
440
  // Self-hosted / unreachable: the classic error, byte-identical.
394
441
  throw new CliUsageError(NO_KEY_MESSAGE);
@@ -412,7 +459,8 @@ export function createContext(input) {
412
459
  explainWorkspaceRefusal,
413
460
  workspaceNotFoundHint,
414
461
  profileUrl,
415
- connectOptions
462
+ connectOptions,
463
+ connect
416
464
  };
417
465
  }
418
466
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0C,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,IAAI,cAAc,EAC5B,SAAS,IAAI,aAAa,EAC1B,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,IAAI,cAAc,EAC5B,gBAAgB,EAChB,aAAa,EAKd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAoB,MAAM,eAAe,CAAC;AAClE,OAAO,EACL,aAAa,EACb,cAAc,EAIf,MAAM,gBAAgB,CAAC;AAExB,qEAAqE;AACrE,8EAA8E;AAC9E,kDAAkD;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAG5B;IAFlB,YACE,OAAe,EACC,MAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AA4BD,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,qFAAqF;IACrF,OAAO,CACL,CAAC;QACC,wEAAwE;SACvE,OAAO,CAAC,wCAAwC,EAAE,EAAE,CAAC;QACtD,yCAAyC;SACxC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;QAC1C,6DAA6D;SAC5D,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAChC,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;SACrE,OAAO,CAAC,wDAAwD,EAAE,EAAE,CAAC,CACzE,CAAC;IACF,oCAAoC;AACtC,CAAC;AAED,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAgB,CAAC;AAE7C,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,EAAS;IACjC,MAAM,IAAI,GAAU;QAClB,GAAG,EAAE;QACL,uEAAuE;QACvE,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D;QACD,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;KAC/D,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,OAAO,EAAiB,CAAC;AAElD,MAAM,UAAU,cAAc,CAAC,EAAS,EAAE,GAAW;IACnD,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,EAAS;IACnC,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAS,EAAE,KAAc;IACjD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAgDD,iFAAiF;AACjF,MAAM,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AA4BzD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAwC,KAKpE;IACC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IACtF,MAAM,WAAW,GAAG,SAAS,QAAQ,CAAC,GAAG,2BAA2B,CAAC;IAErE,kFAAkF;IAClF,SAAS,cAAc,CACrB,MAAiB,EACjB,SAA6B;QAE7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACzG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,UAAU,CAAC,OAA+B;QACjD,OAAO,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,cAAc,CAAC,GAAY,EAAE,EAAS;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAgB,CAAC;QACjD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,MAAM,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC7B,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAEhD,MAAM,OAAO,GAAG,cAAc,CAAC;YAC7B,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,MAAM;YACnC,OAAO;YACP,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,qEAAqE;QACrE,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,MAAM,GAAG,aAAa,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,UAAU;YACvC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC,CAAC;QACH,IAAI,gBAAgB,GAClB,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS;YAC7D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,UAAU,CAAC;gBACvC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM;oBACN,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;YACnC,qEAAqE;YACrE,+DAA+D;YAC/D,kEAAkE;YAClE,sDAAsD;YACtD,mEAAmE;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,qEAAqE;YACrE,oDAAoD;YACpD,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;YACpE,IAAI,GAAG,CAAC,IAAI;gBAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/E,IAAI,MAAM;gBAAE,gBAAgB,GAAG,WAAW,CAAC;QAC7C,CAAC;QACD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,GAAG,GAAwB;YAC/B,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAClF,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,EAAE;YACF,WAAW;YACX,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,cAAc,EAAE,QAAQ,CAAC,OAAO;YAChC,MAAM;YACN,kBAAkB,EAAE,sBAAsB,CAAC;gBACzC,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,GAAG,EAAE,EAAE,CAAC,GAAG;aACZ,CAAC;YACF,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,IAAI,gBAAgB,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;YAC/C,oEAAoE;YACpE,wEAAwE;YACxE,yDAAyD;YACzD,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,cAAc,GAClB,sCAAsC,QAAQ,CAAC,GAAG,oCAAoC;QACtF,GAAG,QAAQ,CAAC,SAAS,WAAW,CAAC;IAEnC,sFAAsF;IACtF,MAAM,yBAAyB,GAC7B,QAAQ,QAAQ,CAAC,WAAW,gDAAgD,QAAQ,CAAC,GAAG,gBAAgB;QACxG,8DAA8D,QAAQ,CAAC,SAAS,YAAY;QAC5F,GAAG,QAAQ,CAAC,SAAS,WAAW,CAAC;IAEnC,SAAS,cAAc,CAAC,GAAwB;QAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,6EAA6E;YAC7E,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,aAAa;YAC7C,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,qEAAqE;YACrE,qDAAqD;YACrD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,QAAQ,EAAE,EAAE,eAAe,EAAE,yBAAyB,EAAE;SACzD,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,eAAe,CAAC,GAAwB,EAAE,IAA6B;QAC9E,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC;YACxF,SAAS,GAAG,IAAI,CAAC;YACjB,oEAAoE;YACpE,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,wEAAwE;YACxE,kDAAkD;YAClD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,YAAY,EAAE;oBACnD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;iBACnD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrB,uEAAuE;gBACvE,uEAAuE;gBACvE,sBAAsB;gBACtB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,GAAG,CAAC;YACjD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC;YAChD,uEAAuE;YACvE,kDAAkD;YAClD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACtF,sEAAsE;YACtE,wEAAwE;YACxE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YACzB,GAAG,CAAC,gBAAgB,GAAG,cAAc,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,aAAa,CAC1B,GAAwB,EACxB,OAAgC,EAAE;QAElC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,UAAU,cAAc,CAAC,GAAwB;QACpD,MAAM,SAAS,GAAG,GAAG,CAAC,kBAAkB,CAAC;QACzC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;QACxD,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5B,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;QACrB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,kEAAkE;IAClE,SAAS,eAAe,CAAC,GAAwB;QAC/C,OAAO,GAAG,CAAC,kBAAkB,EAAE,MAAM,IAAI,SAAS,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,uBAAuB,CAAC,EAAS,EAAE,CAAU;QAC1D,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,kBAAkB,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1F,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YACnG,OAAO,cAAc,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,GAAG,CAAC,kBAAkB;gBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,EAAE;gBACF,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,qBAAqB,CAAC,EAAS;QACtC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,kBAAkB,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACzE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QACrE,OAAO,mBAAmB,IAAI,KAAK,SAAS,CAAC,KAAK,kBAAkB,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC;IACtG,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,GAAwB,EACxB,YAA6C,EAAE;QAE/C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAChF,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,cAAc,CAAC,GAAwB,EAAE,OAA+B;QAC/E,yEAAyE;QACzE,uEAAuE;QACvE,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QACjF,uEAAuE;QACvE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE;YAAE,OAAO;QAClF,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC9D,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CACd,yCAAyC,QAAQ,mBAAmB,GAAG,4BAA4B,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,GAAwB;QACnD,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;QACnB,qEAAqE;QACrE,sEAAsE;QACtE,kEAAkE;QAClE,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;QACpE,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;gBACtE,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC9C,EAAE,CAAC,GAAG,CAAC,KAAK,CACV,OAAO,QAAQ,CAAC,WAAW,mBAAmB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,kBAAkB,eAAe;oBACtG,CAAC,QAAQ;wBACP,CAAC,CAAC,+BAA+B,QAAQ,KAAK;wBAC9C,CAAC,CAAC,6DAA6D,CAAC,CACrE,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;oBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;oBAC5B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACvD,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACpC,gEAAgE;YAChE,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;QAED,uDAAuD;QACvD,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;QACrE,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,OAAO,CAAC,GAAG;YACnB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC;IACrB,CAAC;IAED,OAAO;QACL,cAAc;QACd,cAAc;QACd,aAAa;QACb,eAAe;QACf,uBAAuB;QACvB,qBAAqB;QACrB,UAAU;QACV,cAAc;QACd,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAA+C,EAC/C,SAAgF;IAEhF,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAC9B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,KAAK,CAAC,IAAgB;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,CACL,IAAI;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;SACE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnF,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CACb;SACA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACrB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,12 @@
1
1
  import type { ToolIdentity } from '@antasphere/chassis-contract';
2
+ /**
3
+ * The Antasphere hub every tool signs in through, when nothing names another
4
+ * (`ANTASPHERE_URL`, a hub profile's own `baseUrl`): the instance of the
5
+ * implicit `cloud` hub profile, and the cloud URL the hub profile is selected
6
+ * with (cli-core `selectHubProfile`, `hubCloudUrl`), so that a hub profile
7
+ * with no `baseUrl` of its own is at this hub, as the account CLI reads it.
8
+ */
9
+ export declare const DEFAULT_HUB_URL = "https://account.antasphere.com";
2
10
  /**
3
11
  * What a tool is called, in every place the generic CLI spells it. ONE object,
4
12
  * passed by the tool to `defineCli` (index.ts): the chassis holds no product
@@ -20,6 +28,11 @@ export interface CliIdentity {
20
28
  keyPrefix: string;
21
29
  /** The scope a key needs for the full-workspace export, as `export --help` names it. */
22
30
  exportScope: string;
31
+ /**
32
+ * The scope a key needs to manage webhooks (`identity.scopes.webhooks`), as
33
+ * the `webhooks` refusals name it; absent, the tool opens webhooks to no key.
34
+ */
35
+ webhooksScope?: string | undefined;
23
36
  /**
24
37
  * The tool's cloud home (`identity.cloud.url`): the last step of the URL
25
38
  * resolution and the instance of the implicit `cloud` profile, so a clean
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAW/D"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAY/D"}
package/dist/identity.js CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * The Antasphere hub every tool signs in through, when nothing names another
3
+ * (`ANTASPHERE_URL`, a hub profile's own `baseUrl`): the instance of the
4
+ * implicit `cloud` hub profile, and the cloud URL the hub profile is selected
5
+ * with (cli-core `selectHubProfile`, `hubCloudUrl`), so that a hub profile
6
+ * with no `baseUrl` of its own is at this hub, as the account CLI reads it.
7
+ */
8
+ export const DEFAULT_HUB_URL = 'https://account.antasphere.com';
1
9
  /**
2
10
  * The CLI's identity, BUILT from the tool's one definition (`ToolIdentity`,
3
11
  * written in the tool's contract package): a tool passes
@@ -12,6 +20,7 @@ export function cliIdentity(identity) {
12
20
  envPrefix: identity.cli.envPrefix,
13
21
  keyPrefix: identity.apiKeyPrefix,
14
22
  exportScope: identity.scopes.dataExport,
23
+ webhooksScope: identity.scopes.webhooks,
15
24
  cloudUrl: identity.cloud.url
16
25
  };
17
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AA+BA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAsB;IAChD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe;QAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS;QACjC,SAAS,EAAE,QAAQ,CAAC,YAAY;QAChC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACvC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAoChE;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAsB;IAChD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe;QAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS;QACjC,SAAS,EAAE,QAAQ,CAAC,YAAY;QAChC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACvC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;QACvC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG;KAC7B,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@ export { resolveInside, streamContained, UnsafeWriteError, writeContained, write
18
18
  export { isInteractive, openInBrowser, platformOpener } from './open.js';
19
19
  export { safeDownloadName } from './commands/files.js';
20
20
  export { explainProjectRefusal, roleNamedBy, memberRef, type ProjectLookup } from './commands/projects.js';
21
+ export { explainWebhookRefusal, type WebhookLookup } from './commands/webhooks.js';
21
22
  export { CliApiRefusal, drainPages } from './context.js';
22
23
  export type { Cli, CliDefinition, CliKit, RegisterTool } from './kit.js';
23
24
  export declare function defineCli<TClient extends ChassisClient<string>>(definition: CliDefinition<TClient>): Cli<TClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAU,MAAM,UAAU,CAAC;AAI3D;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,SAAS,EACT,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzE,wBAAgB,SAAS,CAAC,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,EAC7D,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GACjC,GAAG,CAAC,OAAO,CAAC,CAOd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAU,MAAM,UAAU,CAAC;AAI3D;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,SAAS,EACT,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzE,wBAAgB,SAAS,CAAC,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,EAC7D,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GACjC,GAAG,CAAC,OAAO,CAAC,CAOd"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ export { resolveInside, streamContained, UnsafeWriteError, writeContained, write
19
19
  export { isInteractive, openInBrowser, platformOpener } from './open.js';
20
20
  export { safeDownloadName } from './commands/files.js';
21
21
  export { explainProjectRefusal, roleNamedBy, memberRef } from './commands/projects.js';
22
+ export { explainWebhookRefusal } from './commands/webhooks.js';
22
23
  export { CliApiRefusal, drainPages } from './context.js';
23
24
  export function defineCli(definition) {
24
25
  const { identity, createClient } = definition;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,SAAS,EAKV,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EAOf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,UAAU,SAAS,CACvB,UAAkC;IAElC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1F,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,SAAS,EAKV,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EAOf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAsB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,UAAU,SAAS,CACvB,UAAkC;IAElC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1F,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAgB,MAAM,UAAU,CAAC;AAmBzE,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,EACjE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EACpB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,GACpE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC,CA2J5C"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAgB,MAAM,UAAU,CAAC;AAoBzE,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,EACjE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EACpB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,GACpE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC,CA6J5C"}
package/dist/program.js CHANGED
@@ -7,6 +7,7 @@ import { registerAuthCommands } from './commands/auth.js';
7
7
  import { registerWorkspaceCommands } from './commands/workspaces.js';
8
8
  import { registerProjectCommands } from './commands/projects.js';
9
9
  import { registerTeamCommands } from './commands/teams.js';
10
+ import { registerWebhookCommands } from './commands/webhooks.js';
10
11
  import { registerDemoCommands } from './commands/demo.js';
11
12
  import { registerFileCommands } from './commands/files.js';
12
13
  import { registerCompletionCommand } from './commands/completion.js';
@@ -45,6 +46,8 @@ export function createProgram(kit, definition) {
45
46
  registerProjectCommands(kit, program, io);
46
47
  // The named groups of the workspace's people: teams *.
47
48
  registerTeamCommands(kit, program, io);
49
+ // The signed POSTs the workspace's events send to its URLs: webhooks *.
50
+ registerWebhookCommands(kit, program, io);
48
51
  // Demo links, as a signed-in owner (never a key): demo link, list, revoke.
49
52
  registerDemoCommands(kit, program, io);
50
53
  // The tool's own groups, where they have always sat in `--help`.
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antasphere/chassis-cli",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,10 +28,10 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@antasphere/cli-core": "^0.5.0",
31
+ "@antasphere/cli-core": "^0.6.0",
32
32
  "commander": "^12.1.0",
33
- "@antasphere/chassis-contract": "1.0.2",
34
- "@antasphere/chassis-sdk": "1.0.2"
33
+ "@antasphere/chassis-contract": "1.2.0",
34
+ "@antasphere/chassis-sdk": "1.2.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "^22.15.0",
@@ -1,12 +1,11 @@
1
1
  import type { Command } from 'commander';
2
2
  import {
3
- activeHubProfile,
4
3
  ask,
5
4
  CliAuthClient,
6
5
  CliAuthError,
7
6
  CliUsageError as CoreUsageError,
8
7
  CLOUD_PROFILE,
9
- connectOnDemand,
8
+ firstSet,
10
9
  HUB_TOOL,
11
10
  loadConfig as loadCoreConfig,
12
11
  normalizeUrl,
@@ -15,10 +14,12 @@ import {
15
14
  sameInstance,
16
15
  selectProfile,
17
16
  saveConfig as saveCoreConfig,
17
+ selectHubProfile,
18
18
  type CliProfile
19
19
  } from '@antasphere/cli-core';
20
20
  import type { ChassisClient } from '@antasphere/chassis-sdk';
21
21
  import { redactKey } from '../config.js';
22
+ import { DEFAULT_HUB_URL } from '../identity.js';
22
23
  import {
23
24
  CliUsageError,
24
25
  printJson,
@@ -48,7 +49,6 @@ import type { MeResponse } from '../workspace.js';
48
49
 
49
50
  /** The hub a tool CLI signs in against inline: the same variable the hub CLI reads. */
50
51
  const HUB_URL_ENV = 'ANTASPHERE_URL';
51
- const DEFAULT_HUB_URL = 'https://account.antasphere.com';
52
52
 
53
53
  interface AuthGlobals {
54
54
  apiUrl?: string;
@@ -109,7 +109,7 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
109
109
  createClient,
110
110
  clearConfig,
111
111
  configPath,
112
- connectOptions,
112
+ connect,
113
113
  loadConfig,
114
114
  profileUrl,
115
115
  removeConnectKey,
@@ -158,6 +158,10 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
158
158
  // active one, else the implicit `cloud` at account.antasphere.com; the
159
159
  // URL is the variable, else that profile's own, else the default. A
160
160
  // stored hub URL is never repointed at the production hub.
161
+ // `selectHubProfile`, the exchange's pick, goes through the same
162
+ // `selectProfile` with the same cloud URL, so the two agree (with no
163
+ // variable and no active profile it names none; the write below makes
164
+ // this pick the active one).
161
165
  const hubConfig = loadCoreConfig(io.env, HUB_TOOL);
162
166
  const selected = selectProfile({
163
167
  config: hubConfig,
@@ -283,20 +287,29 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
283
287
  // stores it, so every other tool CLI is signed in too. `--email`
284
288
  // naming ANOTHER account than the stored login signs that account in
285
289
  // afresh, replacing the stored login (PRDCT-3032): the person who
286
- // signed in with the wrong address switches from here.
287
- let hub = activeHubProfile(io.env);
288
- const stored = hub.profile?.apiKey ? hub.profile.email : undefined;
290
+ // signed in with the wrong address switches from here. A stored key
291
+ // with no usable address (absent or blank) is someone unknown, so
292
+ // `--email` on it signs in afresh too (verifier round 1, F2).
293
+ let hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
294
+ const hasKey = Boolean(hub.profile?.apiKey);
295
+ const stored = hasKey ? firstSet(hub.profile?.email) : undefined;
289
296
  const switching =
290
- Boolean(stored) && opts.email !== undefined && opts.email.toLowerCase() !== stored!.toLowerCase();
297
+ hasKey &&
298
+ opts.email !== undefined &&
299
+ (stored === undefined || opts.email.toLowerCase() !== stored.toLowerCase());
291
300
  if (switching) {
292
- io.err.write(`Replacing the Antasphere login ${stored} with ${opts.email}.\n`);
301
+ io.err.write(
302
+ stored
303
+ ? `Replacing the Antasphere login ${stored} with ${opts.email}.\n`
304
+ : `Signing in as ${opts.email}: the stored Antasphere login carries no address.\n`
305
+ );
293
306
  }
294
307
  if (!hub.profile?.apiKey || switching) await hubLogin(opts);
295
308
  // A login is an explicit re-sign-in (verifier round 1, F3): the key
296
309
  // cached on this profile is revoked on its instance (best effort: a
297
310
  // dead one answers 401) and forgotten, and the exchange runs afresh,
298
311
  // so a stale cached key never survives a login.
299
- hub = activeHubProfile(io.env);
312
+ hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
300
313
  const stale = hub.name
301
314
  ? loadConfig(io.env).profiles[profileName]?.connectKeys?.[hub.name]
302
315
  : undefined;
@@ -314,13 +327,13 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
314
327
  // no longer accepts is replaced by a fresh sign-in, once.
315
328
  let outcome;
316
329
  try {
317
- outcome = await connectOnDemand({ ...connectOptions(ctx), profileName, cached: false });
330
+ outcome = await connect(ctx, { profileName, cached: false });
318
331
  } catch (e) {
319
332
  if (!(e instanceof CoreUsageError) || !/rejected/.test(e.message)) throw e;
320
333
  io.err.write('The stored Antasphere login was rejected: signing in again.\n');
321
334
  await hubLogin(opts);
322
- hub = activeHubProfile(io.env);
323
- outcome = await connectOnDemand({ ...connectOptions(ctx), profileName, cached: false });
335
+ hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
336
+ outcome = await connect(ctx, { profileName, cached: false });
324
337
  }
325
338
  if (outcome.outcome === 'not_cloud') {
326
339
  throw new CliUsageError(`${baseUrl} stopped answering as an Antasphere-cloud instance; try again.`);
@@ -369,10 +382,13 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
369
382
 
370
383
  /** The hub login `--all` ends: `antasphere logout` from here (the key revoked on the hub, the profile cleared). */
371
384
  async function hubLogout(): Promise<{ email: string | undefined; revoked: boolean } | null> {
372
- const hub = activeHubProfile(io.env);
385
+ const hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
373
386
  if (!hub.name || !hub.profile?.apiKey) return null;
387
+ // Revoked at the HUB's own URL: the profile's, else the default hub. Never
388
+ // the tool kit's `profileUrl`, whose fallback is the tool's cloud host: a
389
+ // hub profile with no baseUrl would send the hub key there.
374
390
  const auth = new CliAuthClient({
375
- baseUrl: profileUrl(hub.profile),
391
+ baseUrl: hub.profile.baseUrl?.trim() || DEFAULT_HUB_URL,
376
392
  ...(io.fetch ? { fetch: io.fetch } : {})
377
393
  });
378
394
  let revoked = false;
@@ -402,7 +418,7 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
402
418
  const ctx = resolveContext(cmd, io);
403
419
  const profileName = ctx.profileName;
404
420
  const profile = profileName ? ctx.config.profiles[profileName] : undefined;
405
- const hubLogin = activeHubProfile(io.env).profile;
421
+ const hubLogin = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL }).profile;
406
422
  if (!profileName || !profile) {
407
423
  // Nothing of this tool's on the machine. The Antasphere login, when
408
424
  // there is one, is the family's: it is ended here on --all, else
@@ -510,7 +526,7 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
510
526
  // `me` is the answer WITH the selection applied, so its workspace is
511
527
  // the one this command (and any other, same flags) really ran in.
512
528
  const source = workspaceSource(ctx);
513
- const hub = activeHubProfile(io.env);
529
+ const hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
514
530
  const hubLine = hubLoginLine(ctx, hub.profile);
515
531
  if (ctx.json) {
516
532
  return printJson(io, {
@@ -600,7 +616,7 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
600
616
  .action(async (_opts, cmd: Command) => {
601
617
  const globals = cmd.optsWithGlobals() as AuthGlobals;
602
618
  const config = loadConfig(io.env);
603
- const hub = activeHubProfile(io.env);
619
+ const hub = selectHubProfile(io.env, { cloudUrl: DEFAULT_HUB_URL });
604
620
  // The implicit cloud profile is listed even before it is on disk: it is
605
621
  // where a clean machine runs, and where `login` with no URL signs in.
606
622
  const rows: Array<[string, CliProfile]> = Object.entries(config.profiles);
@@ -612,8 +628,12 @@ export function registerAuthCommands<TClient extends ChassisClient<string>>(
612
628
  const entry = hub.name ? p.connectKeys?.[hub.name] : undefined;
613
629
  if (entry) return { kind: 'hub', text: `via Antasphere${entry.email ? ` (${entry.email})` : ''}` };
614
630
  const others = Object.keys(p.connectKeys ?? {});
631
+ // The hub profile is the one ANTASPHERE_URL names when it is set, else the active one.
632
+ const chosen = firstSet(io.env[HUB_URL_ENV])
633
+ ? 'not the one ANTASPHERE_URL names'
634
+ : 'not the active one';
615
635
  if (others.length > 0)
616
- return { kind: 'hub', text: `via Antasphere (login "${others.join('", "')}", not the active one)` };
636
+ return { kind: 'hub', text: `via Antasphere (login "${others.join('", "')}", ${chosen})` };
617
637
  return { kind: 'none', text: '(not signed in)' };
618
638
  };
619
639
  if (globals.json) {