@dreamboard-games/cli 0.1.30-alpha.30 → 0.1.30-alpha.31

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.
Files changed (34) hide show
  1. package/dist/agent-verifier/agent-workspace-verifier.mjs +226 -93
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -1
  3. package/dist/agent-verifier/{chunk-FNSHNMDY.mjs → chunk-MIRGCMUC.mjs} +3 -10
  4. package/dist/agent-verifier/chunk-MIRGCMUC.mjs.map +1 -0
  5. package/dist/agent-verifier/{chunk-QMOBTQ5G.mjs → chunk-NBRUEJUK.mjs} +3 -3
  6. package/dist/agent-verifier/{chunk-QMOBTQ5G.mjs.map → chunk-NBRUEJUK.mjs.map} +1 -1
  7. package/dist/agent-verifier/{global-config-SWWR2LP4.mjs → global-config-2NUESNEQ.mjs} +2 -2
  8. package/dist/agent-verifier/{keychain-backend-UF3Z26JM.mjs → keychain-backend-FF4I6ODB.mjs} +1 -1
  9. package/dist/agent-verifier/{keychain-backend-UF3Z26JM.mjs.map → keychain-backend-FF4I6ODB.mjs.map} +1 -1
  10. package/dist/agent-verifier/{materialize-workspace-K4WYFG5E.mjs → materialize-workspace-MAGKDMK5.mjs} +2 -2
  11. package/dist/agent-verifier/{static-scaffold-MHVM63HU.mjs → static-scaffold-CLRRWXON.mjs} +2 -2
  12. package/dist/authoring-compatibility-internal.js +1 -1
  13. package/dist/{chunk-UI7NWSYA.js → chunk-6NYVJYN4.js} +7 -28
  14. package/dist/chunk-6NYVJYN4.js.map +1 -0
  15. package/dist/{chunk-RTNKVNQA.js → chunk-X244CUU4.js} +228 -148
  16. package/dist/chunk-X244CUU4.js.map +1 -0
  17. package/dist/{chunk-I4SZ7FA4.js → chunk-YNJVKC2T.js} +3 -9
  18. package/dist/{chunk-I4SZ7FA4.js.map → chunk-YNJVKC2T.js.map} +1 -1
  19. package/dist/{global-config-GK2UC2X6.js → global-config-RBMW7IVA.js} +2 -2
  20. package/dist/index.js +110 -295
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal.js +3 -3
  23. package/dist/internal.js.map +1 -1
  24. package/dist/{keychain-backend-GO34KGTG.js → keychain-backend-FSNTNTZE.js} +1 -1
  25. package/dist/{keychain-backend-GO34KGTG.js.map → keychain-backend-FSNTNTZE.js.map} +1 -1
  26. package/package.json +1 -1
  27. package/release/authoring-release-set.json +2 -2
  28. package/dist/agent-verifier/chunk-FNSHNMDY.mjs.map +0 -1
  29. package/dist/chunk-RTNKVNQA.js.map +0 -1
  30. package/dist/chunk-UI7NWSYA.js.map +0 -1
  31. /package/dist/agent-verifier/{global-config-SWWR2LP4.mjs.map → global-config-2NUESNEQ.mjs.map} +0 -0
  32. /package/dist/agent-verifier/{materialize-workspace-K4WYFG5E.mjs.map → materialize-workspace-MAGKDMK5.mjs.map} +0 -0
  33. /package/dist/agent-verifier/{static-scaffold-MHVM63HU.mjs.map → static-scaffold-CLRRWXON.mjs.map} +0 -0
  34. /package/dist/{global-config-GK2UC2X6.js.map → global-config-RBMW7IVA.js.map} +0 -0
@@ -24,14 +24,12 @@ import {
24
24
  writeWorkspaceJsonFile,
25
25
  writeWorkspaceTextFile,
26
26
  zProblemDetails
27
- } from "./chunk-I4SZ7FA4.js";
27
+ } from "./chunk-YNJVKC2T.js";
28
28
  import {
29
- clearCredentials,
30
29
  getStoredSession,
31
30
  loadGlobalConfig,
32
- setCredentials,
33
31
  withCredentialLock
34
- } from "./chunk-UI7NWSYA.js";
32
+ } from "./chunk-6NYVJYN4.js";
35
33
  import {
36
34
  DEFAULT_API_BASE_URL,
37
35
  DEFAULT_WEB_BASE_URL,
@@ -47,6 +45,18 @@ var BUILD_CHANNEL = injectedBuildChannel === "published" ? "published" : "develo
47
45
  var IS_PUBLISHED_BUILD = BUILD_CHANNEL === "published";
48
46
  var PUBLISHED_ENVIRONMENT = "prod";
49
47
 
48
+ // src/auth/refresh-error.ts
49
+ function classifyRefreshError(error) {
50
+ const message = error.message?.toLowerCase() ?? "";
51
+ if (error.status === 400 || error.status === 401 || message.includes("invalid_grant") || message.includes("refresh token") || message.includes("expired") || message.includes("revoked")) {
52
+ return { kind: "permanent_invalid", reason: error.message };
53
+ }
54
+ if (error.status === 408 || error.status === 429 || typeof error.status === "number" && error.status >= 500 || message.includes("timeout") || message.includes("network") || message.includes("fetch failed")) {
55
+ return { kind: "transient", reason: error.message };
56
+ }
57
+ return { kind: "unknown", reason: error.message };
58
+ }
59
+
50
60
  // src/auth/clerk-oauth.ts
51
61
  import crypto from "crypto";
52
62
  function createPkcePair() {
@@ -187,75 +197,183 @@ async function exchangeDreamboardUserToken(input) {
187
197
  };
188
198
  }
189
199
 
190
- // src/auth/user-token-manager.ts
191
- var TOKEN_REFRESH_WINDOW_MS = 60 * 1e3;
192
- function createUserTokenManager(config) {
200
+ // src/auth/user-session-manager.ts
201
+ var DEFAULT_TOKEN_MIN_VALIDITY_MS = 60 * 1e3;
202
+ function createUserSessionManager(config) {
193
203
  return {
194
- async resolveApiToken() {
195
- const localOrInjected = resolveNonStoredToken(config, "dreamboard-api");
196
- if (localOrInjected) return localOrInjected;
197
- if (!usesStoredSession(config)) return null;
204
+ async establishRefreshableSession(session) {
198
205
  return withCredentialLock(async (ops) => {
199
- const stored = await ops.read();
200
- const apiToken = freshStoredApiToken(stored);
201
- if (apiToken) return apiToken;
202
- const clerk = await resolveFreshClerkAccessToken(config, stored);
206
+ const credentials = credentialsFromRefreshableSession(session);
207
+ await ops.writeFull(credentials);
203
208
  const exchanged = await exchangeDreamboardUserToken({
204
209
  apiBaseUrl: config.apiBaseUrl,
205
- clerkAccessToken: clerk.accessToken,
210
+ clerkAccessToken: credentials.accessToken,
206
211
  audience: "dreamboard-api"
207
212
  });
208
- await ops.writeFull({
209
- ...clerk,
210
- dreamboardApiToken: exchanged.accessToken,
211
- dreamboardApiExpiresAt: exchanged.expiresAt
212
- });
213
- return {
214
- token: exchanged.accessToken,
215
- expiresAt: exchanged.expiresAt,
216
- audience: "dreamboard-api"
217
- };
213
+ const apiToken = toAccessToken(exchanged);
214
+ await ops.writeFull(withApiToken(credentials, apiToken));
215
+ return apiToken;
216
+ });
217
+ },
218
+ async establishAccessOnlySession(accessToken) {
219
+ await withCredentialLock((ops) => ops.writeAccessOnly(accessToken));
220
+ },
221
+ async resolveApiToken(options) {
222
+ const localOrInjected = resolveNonStoredToken(config, "dreamboard-api");
223
+ if (localOrInjected) return localOrInjected;
224
+ if (!usesStoredSession(config)) return null;
225
+ const minValidityMs = options?.minValiditySeconds === void 0 ? DEFAULT_TOKEN_MIN_VALIDITY_MS : Math.max(0, options.minValiditySeconds * 1e3);
226
+ return withCredentialLock(async (ops) => {
227
+ const stored = await ops.read();
228
+ return resolveStoredApiToken(ops, config, stored, minValidityMs);
218
229
  });
219
230
  },
220
231
  async resolveGitToken() {
221
- if (!usesStoredSession(config) && config.authToken) {
222
- const exchanged = await exchangeDreamboardUserToken({
223
- apiBaseUrl: config.apiBaseUrl,
224
- clerkAccessToken: config.authToken,
225
- audience: "dreamboard-git"
226
- });
227
- return {
228
- token: exchanged.accessToken,
229
- expiresAt: exchanged.expiresAt,
230
- audience: "dreamboard-git"
231
- };
232
- }
232
+ const localOrInjected = resolveNonStoredToken(config, "dreamboard-git");
233
+ if (localOrInjected) return localOrInjected;
233
234
  if (!usesStoredSession(config)) {
234
- throw new Error(
235
- "Missing Dreamboard session. Run `dreamboard auth login` to authenticate."
235
+ throw missingSessionError();
236
+ }
237
+ return withCredentialLock(async (ops) => {
238
+ const stored = await ops.read();
239
+ const clerk = await resolveFreshClerkSession(ops, config, stored);
240
+ return toAccessToken(
241
+ await exchangeDreamboardUserToken({
242
+ apiBaseUrl: config.apiBaseUrl,
243
+ clerkAccessToken: clerk.accessToken,
244
+ audience: "dreamboard-git"
245
+ })
236
246
  );
247
+ });
248
+ },
249
+ async inspectSession() {
250
+ const localOrInjected = resolveNonStoredToken(config, "dreamboard-api");
251
+ if (localOrInjected) {
252
+ return inspectAccessOnlyToken(localOrInjected);
253
+ }
254
+ if (!usesStoredSession(config)) {
255
+ return { kind: "none" };
237
256
  }
238
257
  return withCredentialLock(async (ops) => {
239
258
  const stored = await ops.read();
240
- const clerk = await resolveFreshClerkAccessToken(config, stored);
241
- const exchanged = await exchangeDreamboardUserToken({
242
- apiBaseUrl: config.apiBaseUrl,
243
- clerkAccessToken: clerk.accessToken,
244
- audience: "dreamboard-git"
245
- });
246
- await ops.writeFull(clerk);
247
- return {
248
- token: exchanged.accessToken,
249
- expiresAt: exchanged.expiresAt,
250
- audience: "dreamboard-git"
251
- };
259
+ if (!stored) return { kind: "none" };
260
+ const cached = freshStoredApiToken(
261
+ stored,
262
+ DEFAULT_TOKEN_MIN_VALIDITY_MS
263
+ );
264
+ if (cached) {
265
+ return activeStatus("refreshable", cached, false);
266
+ }
267
+ try {
268
+ const token = await resolveStoredApiToken(
269
+ ops,
270
+ config,
271
+ stored,
272
+ DEFAULT_TOKEN_MIN_VALIDITY_MS
273
+ );
274
+ return activeStatus("refreshable", token, true);
275
+ } catch (error) {
276
+ return failedRefreshableStatus(error);
277
+ }
252
278
  });
253
279
  },
254
280
  async logout() {
255
- await clearCredentials("user_token_manager_logout");
281
+ await withCredentialLock((ops) => ops.clear("logout_command"));
256
282
  }
257
283
  };
258
284
  }
285
+ async function resolveStoredApiToken(ops, config, stored, minValidityMs) {
286
+ const cached = freshStoredApiToken(stored, minValidityMs);
287
+ if (cached) return cached;
288
+ const clerk = await resolveFreshClerkSession(ops, config, stored);
289
+ const exchanged = await exchangeDreamboardUserToken({
290
+ apiBaseUrl: config.apiBaseUrl,
291
+ clerkAccessToken: clerk.accessToken,
292
+ audience: "dreamboard-api"
293
+ });
294
+ const apiToken = toAccessToken(exchanged);
295
+ await ops.writeFull(withApiToken(clerk, apiToken));
296
+ return apiToken;
297
+ }
298
+ async function resolveFreshClerkSession(ops, config, stored) {
299
+ if (!stored) {
300
+ throw missingSessionError();
301
+ }
302
+ if (!stored.refreshToken) {
303
+ throw new Error(
304
+ "Stored Dreamboard session is missing its refresh token. Run `dreamboard auth login` to authenticate again."
305
+ );
306
+ }
307
+ if (stored.accessToken && isFresh(
308
+ stored.tokenExpiresAt,
309
+ stored.accessToken,
310
+ DEFAULT_TOKEN_MIN_VALIDITY_MS
311
+ )) {
312
+ return credentialsFromStored(config, stored);
313
+ }
314
+ const payload = await refreshClerkOAuthToken({
315
+ config: {
316
+ issuer: stored.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
317
+ clientId: stored.clerkOAuthClientId ?? config.clerkOAuthClientId,
318
+ tokenUrl: stored.clerkOAuthTokenUrl ?? config.clerkOAuthTokenUrl
319
+ },
320
+ refreshToken: stored.refreshToken
321
+ });
322
+ const refreshed = {
323
+ accessToken: payload.accessToken,
324
+ refreshToken: payload.refreshToken,
325
+ tokenExpiresAt: payload.expiresAt,
326
+ dreamboardApiToken: stored.dreamboardApiToken,
327
+ dreamboardApiExpiresAt: stored.dreamboardApiExpiresAt,
328
+ clerkOAuthIssuer: stored.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
329
+ clerkOAuthClientId: stored.clerkOAuthClientId ?? config.clerkOAuthClientId,
330
+ clerkOAuthTokenUrl: payload.tokenUrl,
331
+ environment: stored.environment ?? config.environment
332
+ };
333
+ await ops.writeFull(refreshed);
334
+ return refreshed;
335
+ }
336
+ function credentialsFromStored(config, stored) {
337
+ if (!stored.accessToken || !stored.refreshToken) {
338
+ throw missingSessionError();
339
+ }
340
+ return {
341
+ accessToken: stored.accessToken,
342
+ refreshToken: stored.refreshToken,
343
+ tokenExpiresAt: stored.tokenExpiresAt,
344
+ dreamboardApiToken: stored.dreamboardApiToken,
345
+ dreamboardApiExpiresAt: stored.dreamboardApiExpiresAt,
346
+ clerkOAuthIssuer: stored.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
347
+ clerkOAuthClientId: stored.clerkOAuthClientId ?? config.clerkOAuthClientId,
348
+ clerkOAuthTokenUrl: stored.clerkOAuthTokenUrl ?? config.clerkOAuthTokenUrl,
349
+ environment: stored.environment ?? config.environment
350
+ };
351
+ }
352
+ function credentialsFromRefreshableSession(session) {
353
+ return {
354
+ accessToken: session.clerkAccessToken,
355
+ refreshToken: session.refreshToken,
356
+ tokenExpiresAt: session.clerkAccessExpiresAt,
357
+ clerkOAuthIssuer: session.clerkOAuthIssuer,
358
+ clerkOAuthClientId: session.clerkOAuthClientId,
359
+ clerkOAuthTokenUrl: session.clerkOAuthTokenUrl,
360
+ environment: session.environment
361
+ };
362
+ }
363
+ function withApiToken(credentials, token) {
364
+ return {
365
+ ...credentials,
366
+ dreamboardApiToken: token.token,
367
+ dreamboardApiExpiresAt: token.expiresAt
368
+ };
369
+ }
370
+ function toAccessToken(token) {
371
+ return {
372
+ token: token.accessToken,
373
+ expiresAt: token.expiresAt,
374
+ audience: token.audience
375
+ };
376
+ }
259
377
  function resolveNonStoredToken(config, audience) {
260
378
  if (usesStoredSession(config)) return null;
261
379
  if (!config.authToken) return null;
@@ -265,9 +383,13 @@ function resolveNonStoredToken(config, audience) {
265
383
  audience
266
384
  };
267
385
  }
268
- function freshStoredApiToken(stored) {
386
+ function freshStoredApiToken(stored, minValidityMs) {
269
387
  if (!stored?.dreamboardApiToken) return null;
270
- if (isFresh(stored.dreamboardApiExpiresAt, stored.dreamboardApiToken)) {
388
+ if (isFresh(
389
+ stored.dreamboardApiExpiresAt,
390
+ stored.dreamboardApiToken,
391
+ minValidityMs
392
+ )) {
271
393
  return {
272
394
  token: stored.dreamboardApiToken,
273
395
  expiresAt: stored.dreamboardApiExpiresAt,
@@ -276,49 +398,60 @@ function freshStoredApiToken(stored) {
276
398
  }
277
399
  return null;
278
400
  }
279
- async function resolveFreshClerkAccessToken(config, stored) {
280
- const accessToken = stored?.accessToken ?? config.clerkAccessToken;
281
- const refreshToken = stored?.refreshToken ?? config.refreshToken;
282
- const tokenExpiresAt = stored?.tokenExpiresAt ?? config.clerkAccessExpiresAt;
283
- if (!refreshToken) {
284
- throw new Error(
285
- "Stored Dreamboard session is missing its refresh token. Run `dreamboard auth login` to authenticate again."
286
- );
287
- }
288
- if (accessToken && isFresh(tokenExpiresAt, accessToken)) {
401
+ function inspectAccessOnlyToken(token) {
402
+ const expiry = resolveExpiry(token.expiresAt, token.token);
403
+ if (expiry && expiry.getTime() <= Date.now()) {
289
404
  return {
290
- accessToken,
291
- refreshToken,
292
- tokenExpiresAt,
293
- dreamboardApiToken: stored?.dreamboardApiToken,
294
- dreamboardApiExpiresAt: stored?.dreamboardApiExpiresAt,
295
- clerkOAuthIssuer: stored?.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
296
- clerkOAuthClientId: stored?.clerkOAuthClientId ?? config.clerkOAuthClientId,
297
- clerkOAuthTokenUrl: stored?.clerkOAuthTokenUrl ?? config.clerkOAuthTokenUrl,
298
- environment: stored?.environment ?? config.environment
405
+ kind: "invalid",
406
+ sessionKind: "access-only",
407
+ message: "Stored Dreamboard access token is expired. Run `dreamboard auth login` to authenticate again."
299
408
  };
300
409
  }
301
- const payload = await refreshClerkOAuthToken({
302
- config: {
303
- issuer: stored?.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
304
- clientId: stored?.clerkOAuthClientId ?? config.clerkOAuthClientId,
305
- tokenUrl: stored?.clerkOAuthTokenUrl ?? config.clerkOAuthTokenUrl
306
- },
307
- refreshToken
410
+ return activeStatus("access-only", token, false);
411
+ }
412
+ function failedRefreshableStatus(error) {
413
+ const message = error instanceof Error ? error.message : String(error);
414
+ const errorStatus = typeof error === "object" && error !== null && "status" in error ? error.status : void 0;
415
+ const classification = classifyRefreshError({
416
+ message,
417
+ status: typeof errorStatus === "number" ? errorStatus : void 0
308
418
  });
419
+ if (classification.kind === "permanent_invalid") {
420
+ return {
421
+ kind: "invalid",
422
+ sessionKind: "refreshable",
423
+ message
424
+ };
425
+ }
309
426
  return {
310
- accessToken: payload.accessToken,
311
- refreshToken: payload.refreshToken,
312
- tokenExpiresAt: payload.expiresAt,
313
- clerkOAuthIssuer: stored?.clerkOAuthIssuer ?? config.clerkOAuthIssuer,
314
- clerkOAuthClientId: stored?.clerkOAuthClientId ?? config.clerkOAuthClientId,
315
- clerkOAuthTokenUrl: payload.tokenUrl,
316
- environment: stored?.environment ?? config.environment
427
+ kind: "degraded",
428
+ sessionKind: "refreshable",
429
+ message
317
430
  };
318
431
  }
319
- function isFresh(expiresAt, token) {
320
- const expiry = expiresAt ? new Date(expiresAt) : getJwtExpiry(token);
321
- return expiry !== null && Number.isFinite(expiry.getTime()) && expiry.getTime() > Date.now() + TOKEN_REFRESH_WINDOW_MS;
432
+ function activeStatus(sessionKind, apiToken, repaired) {
433
+ return {
434
+ kind: "active",
435
+ sessionKind,
436
+ apiToken,
437
+ repaired
438
+ };
439
+ }
440
+ function missingSessionError() {
441
+ return new Error(
442
+ "Missing Dreamboard session. Run `dreamboard auth login` to authenticate."
443
+ );
444
+ }
445
+ function isFresh(expiresAt, token, minValidityMs) {
446
+ const expiry = resolveExpiry(expiresAt, token);
447
+ return expiry !== null && Number.isFinite(expiry.getTime()) && expiry.getTime() > Date.now() + minValidityMs;
448
+ }
449
+ function resolveExpiry(expiresAt, token) {
450
+ if (expiresAt) {
451
+ const parsed = new Date(expiresAt);
452
+ return Number.isFinite(parsed.getTime()) ? parsed : null;
453
+ }
454
+ return getJwtExpiry(token);
322
455
  }
323
456
  function getJwtExpiry(accessToken) {
324
457
  if (!accessToken) return null;
@@ -425,7 +558,6 @@ function isLocalAwsUrl(rawUrl) {
425
558
  }
426
559
 
427
560
  // src/config/resolve.ts
428
- var DEFAULT_REFRESH_WINDOW_MS = 5 * 60 * 1e3;
429
561
  var TRANSIENT_READ_RETRY_DELAYS_MS = [100, 300];
430
562
  function resolveConfig(globalConfig, flags, project, credentials) {
431
563
  if (IS_PUBLISHED_BUILD) {
@@ -564,7 +696,7 @@ function assertPublicRuntimeFlags(flags) {
564
696
  }
565
697
  async function configureClient(config) {
566
698
  const localHarnessToken = resolveLocalHarnessAccessToken(config);
567
- const resolvedToken = localHarnessToken ? { token: localHarnessToken } : await createUserTokenManager(config).resolveApiToken();
699
+ const resolvedToken = localHarnessToken ? { token: localHarnessToken } : await createUserSessionManager(config).resolveApiToken();
568
700
  const effectiveAccessToken = resolvedToken?.token;
569
701
  client.setConfig({
570
702
  baseUrl: config.apiBaseUrl,
@@ -605,35 +737,6 @@ function isTransientFetchError(error) {
605
737
  function sleep(ms) {
606
738
  return new Promise((resolve) => setTimeout(resolve, ms));
607
739
  }
608
- async function refreshResolvedAuthSession(config) {
609
- if (!usesStoredSession2(config)) return null;
610
- if (config.refreshToken) {
611
- return refreshClerkOAuthSession(config);
612
- }
613
- return null;
614
- }
615
- async function refreshClerkOAuthSession(config) {
616
- if (!config.refreshToken) return null;
617
- const payload = await refreshClerkOAuthToken({
618
- config: {
619
- issuer: config.clerkOAuthIssuer,
620
- clientId: config.clerkOAuthClientId,
621
- tokenUrl: config.clerkOAuthTokenUrl
622
- },
623
- refreshToken: config.refreshToken
624
- });
625
- const credentials = {
626
- accessToken: payload.accessToken,
627
- refreshToken: payload.refreshToken,
628
- tokenExpiresAt: payload.expiresAt,
629
- clerkOAuthIssuer: config.clerkOAuthIssuer,
630
- clerkOAuthClientId: config.clerkOAuthClientId,
631
- clerkOAuthTokenUrl: payload.tokenUrl,
632
- environment: config.environment
633
- };
634
- await setCredentials(credentials);
635
- return credentials;
636
- }
637
740
  function requireAuth(config) {
638
741
  if (!config.authToken && !config.refreshToken && !resolveLocalHarnessAccessToken(config)) {
639
742
  throw new Error(
@@ -660,9 +763,6 @@ function getAuthTokenExpiry(accessToken) {
660
763
  return null;
661
764
  }
662
765
  }
663
- function usesStoredSession2(config) {
664
- return config.refreshTokenSource === "global";
665
- }
666
766
  async function loadProjectContextCredentials(requireAuth2, loadCredentials = getStoredSession) {
667
767
  return requireAuth2 ? loadCredentials() : void 0;
668
768
  }
@@ -733,13 +833,6 @@ var commitScopedCommandArgsSchema = configFlagsSchema.extend({
733
833
  commit: external_exports.string().min(1),
734
834
  json: external_exports.boolean().default(false)
735
835
  });
736
- var projectRepositoryCommandArgsSchema = configFlagsSchema.extend({
737
- project: external_exports.string().min(1),
738
- wait: external_exports.boolean().default(false),
739
- "wait-timeout-ms": external_exports.string().optional(),
740
- "repository-poll-interval-ms": external_exports.string().optional(),
741
- json: external_exports.boolean().default(false)
742
- });
743
836
  var buildCommandArgsSchema = commitScopedCommandArgsSchema.extend({
744
837
  profile: external_exports.enum(["preview", "release"]).optional().default("preview")
745
838
  });
@@ -770,14 +863,7 @@ var configCommandArgsSchema = configFlagsSchema.extend({
770
863
  scope: external_exports.enum(["global", "workspace"]).optional().default("global")
771
864
  });
772
865
  var authCommandArgsSchema = external_exports.object({
773
- action: external_exports.enum([
774
- "set",
775
- "login",
776
- "logout",
777
- "env",
778
- "status",
779
- "git-credential"
780
- ]),
866
+ action: external_exports.enum(["set", "login", "logout", "env", "status", "git-credential"]),
781
867
  tokenValue: external_exports.string().optional(),
782
868
  token: external_exports.string().optional(),
783
869
  jwt: external_exports.boolean().optional(),
@@ -809,9 +895,6 @@ function parseCloneCommandArgs(args) {
809
895
  function parseCommitScopedCommandArgs(commandName, args) {
810
896
  return parseArgs(commandName, commitScopedCommandArgsSchema, args);
811
897
  }
812
- function parseProjectRepositoryCommandArgs(commandName, args) {
813
- return parseArgs(commandName, projectRepositoryCommandArgsSchema, args);
814
- }
815
898
  function parseBuildCommandArgs(args) {
816
899
  return parseArgs("build", buildCommandArgsSchema, args);
817
900
  }
@@ -3683,14 +3766,12 @@ export {
3683
3766
  createPkcePair,
3684
3767
  buildClerkAuthorizationUrl,
3685
3768
  exchangeClerkOAuthCode,
3686
- exchangeDreamboardUserToken,
3769
+ createUserSessionManager,
3687
3770
  IS_PUBLISHED_BUILD,
3688
3771
  PUBLISHED_ENVIRONMENT,
3689
- createUserTokenManager,
3690
3772
  resolveLocalHarnessAccessToken,
3691
3773
  resolveConfig,
3692
3774
  configureClient,
3693
- refreshResolvedAuthSession,
3694
3775
  requireAuth,
3695
3776
  getAuthTokenExpiry,
3696
3777
  resolveProjectContext,
@@ -3699,7 +3780,6 @@ export {
3699
3780
  parseNewCommandArgs,
3700
3781
  parseCloneCommandArgs,
3701
3782
  parseCommitScopedCommandArgs,
3702
- parseProjectRepositoryCommandArgs,
3703
3783
  parseBuildCommandArgs,
3704
3784
  parseReleasePublishCommandArgs,
3705
3785
  parseDevCommandArgs,
@@ -3732,4 +3812,4 @@ export {
3732
3812
  isLocalMaintainerRegistryEnabled,
3733
3813
  didLocalMaintainerSnapshotChange
3734
3814
  };
3735
- //# sourceMappingURL=chunk-RTNKVNQA.js.map
3815
+ //# sourceMappingURL=chunk-X244CUU4.js.map