@tailor-platform/sdk 1.57.0 → 1.58.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{application-CdkoGX27.mjs → application-B59TaTk_.mjs} +4 -3
  3. package/dist/{application-CdkoGX27.mjs.map → application-B59TaTk_.mjs.map} +1 -1
  4. package/dist/application-gO_pa5BO.mjs +4 -0
  5. package/dist/cli/index.mjs +164 -13
  6. package/dist/cli/index.mjs.map +1 -1
  7. package/dist/cli/lib.d.mts +581 -2
  8. package/dist/cli/lib.mjs +3 -3
  9. package/dist/{client-DLPEPJ_s.mjs → client-62B-r3MN.mjs} +39 -10
  10. package/dist/client-62B-r3MN.mjs.map +1 -0
  11. package/dist/{client-DrzwCD1W.mjs → client-BWl3f1XS.mjs} +1 -1
  12. package/dist/configure/index.d.mts +2 -2
  13. package/dist/{crashreport-Bm2mN5tg.mjs → crashreport-CCGpLUlP.mjs} +2 -2
  14. package/dist/{crashreport-Bm2mN5tg.mjs.map → crashreport-CCGpLUlP.mjs.map} +1 -1
  15. package/dist/{crashreport-C5oHvHUC.mjs → crashreport-CXD_Kjk-.mjs} +1 -1
  16. package/dist/{index-B61gFI9a.d.mts → index-BWoHfE-i.d.mts} +3 -2
  17. package/dist/{runtime-1YuaoNr8.mjs → runtime-BC-FbQkg.mjs} +149 -133
  18. package/dist/runtime-BC-FbQkg.mjs.map +1 -0
  19. package/dist/utils/test/index.d.mts +2 -2
  20. package/dist/{workflow.generated-Kz-nQrTf.d.mts → workflow.generated-CV77NlFp.d.mts} +3 -2
  21. package/docs/cli/application.md +5 -5
  22. package/docs/cli/auth.md +55 -6
  23. package/docs/cli/function.md +2 -2
  24. package/docs/cli/staticwebsite.md +137 -0
  25. package/docs/cli-reference.md +17 -14
  26. package/docs/generator/builtin.md +1 -1
  27. package/docs/services/auth.md +0 -11
  28. package/docs/services/staticwebsite.md +13 -0
  29. package/package.json +4 -4
  30. package/dist/application-x_mURdR0.mjs +0 -4
  31. package/dist/client-DLPEPJ_s.mjs.map +0 -1
  32. package/dist/runtime-1YuaoNr8.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
 
2
2
  import { t as db } from "./schema-DKsNhbav.mjs";
3
- import { $ as FilterSchema, A as FunctionExecution_Status, B as AuthOAuth2Client_GrantType, C as TailorDBType_Permission_Operator, D as IdPLang, E as PipelineResolver_OperationType, F as AuthConnection_Type, H as AuthSCIMAttribute_Type, I as AuthHookPoint, J as GetApplicationSchemaHealthResponse_ApplicationSchemaHealthStatus, K as TenantProviderConfig_TenantProviderType, L as AuthIDPConfig_AuthType, M as ExecutorJobStatus, N as ExecutorTargetType, O as IdPPermissionOperator, P as ExecutorTriggerType, Q as Condition_Operator, R as AuthInvokerSchema, S as TailorDBGQLPermission_Permit, T as TailorDBType_PermitAction, U as AuthSCIMAttribute_Uniqueness, V as AuthSCIMAttribute_Mutability, W as AuthSCIMConfig_AuthorizationType, X as Subgraph_ServiceType, Y as ApplicationSchemaUpdateAttemptStatus, Z as ConditionSchema, _ as WorkspacePlatformUserRole, a as fetchMachineUserToken, b as TailorDBGQLPermission_Action, d as initOperatorClient, et as PageDirection, g as OperatorService, h as userAgent, i as fetchAll, k as IdPPermissionPermit, m as resolveStaticWebsiteUrls, o as fetchPaged, p as platformBaseUrl, q as UserProfileProviderConfig_UserProfileProviderType, v as WorkflowExecution_Status, w as TailorDBType_Permission_Permit, x as TailorDBGQLPermission_Operator, y as WorkflowJobExecution_Status, z as AuthOAuth2Client_ClientType } from "./client-DLPEPJ_s.mjs";
3
+ import { $ as Condition_Operator, A as IdPPermissionPermit, B as AuthOAuth2Client_ClientType, C as TailorDBType_Permission_Operator, D as PipelineResolver_OperationType, F as ExecutorTriggerType, G as AuthSCIMConfig_AuthorizationType, H as AuthSCIMAttribute_Mutability, I as AuthConnection_Type, J as UserProfileProviderConfig_UserProfileProviderType, L as AuthHookPoint, N as ExecutorJobStatus, O as IdPLang, P as ExecutorTargetType, Q as ConditionSchema, R as AuthIDPConfig_AuthType, S as TailorDBGQLPermission_Permit, T as TailorDBType_PermitAction, U as AuthSCIMAttribute_Type, V as AuthOAuth2Client_GrantType, W as AuthSCIMAttribute_Uniqueness, X as ApplicationSchemaUpdateAttemptStatus, Y as GetApplicationSchemaHealthResponse_ApplicationSchemaHealthStatus, Z as Subgraph_ServiceType, _ as WorkspacePlatformUserRole, a as fetchMachineUserToken, b as TailorDBGQLPermission_Action, d as initOperatorClient, et as FilterSchema, g as OperatorService, h as userAgent, i as fetchAll, j as FunctionExecution_Status, k as IdPPermissionOperator, m as resolveStaticWebsiteUrls, o as fetchPaged, p as platformBaseUrl, q as TenantProviderConfig_TenantProviderType, tt as PageDirection, v as WorkflowExecution_Status, w as TailorDBType_Permission_Permit, x as TailorDBGQLPermission_Operator, y as WorkflowJobExecution_Status, z as AuthInvokerSchema } from "./client-62B-r3MN.mjs";
4
4
  import { a as parseBoolean, i as symbols, n as logger, r as styles, t as CIPromptError } from "./logger-DpJyJvNz.mjs";
5
- import { C as loadConfig, D as loadConfigPath, E as loadAccessToken, M as writePlatformConfig, O as loadWorkspaceId, S as hashFile, b as getDistDir, c as createExecutorService, d as buildExecutorArgsExpr, f as buildResolverOperationHookExpr, h as loadFilesWithIgnores, k as readPlatformConfig, m as stringifyFunction, n as generatePluginFilesIfNeeded, p as TailorDBTypeSchema, r as loadApplication, s as HTTP_METHODS, t as defineApplication, y as createBundleCache } from "./application-CdkoGX27.mjs";
5
+ import { C as loadConfig, D as loadConfigPath, E as loadAccessToken, M as writePlatformConfig, O as loadWorkspaceId, S as hashFile, b as getDistDir, c as createExecutorService, d as buildExecutorArgsExpr, f as buildResolverOperationHookExpr, h as loadFilesWithIgnores, k as readPlatformConfig, m as stringifyFunction, n as generatePluginFilesIfNeeded, p as TailorDBTypeSchema, r as loadApplication, s as HTTP_METHODS, t as defineApplication, y as createBundleCache } from "./application-B59TaTk_.mjs";
6
6
  import { t as multiline } from "./multiline-Cf9ODpr1.mjs";
7
7
  import { t as readPackageJson } from "./package-json-DcQApfPQ.mjs";
8
8
  import { n as isCLIError, t as createCLIError } from "./errors-EsY4XO6O.mjs";
@@ -636,7 +636,7 @@ const inspectCommand = defineAppCommand({
636
636
  const listCommand$10 = defineAppCommand({
637
637
  name: "list",
638
638
  description: "List all invocable OperatorService methods.",
639
- notes: "Only unary RPCs are listed; streaming methods are excluded because `tailor-sdk api run` issues a single JSON POST and reads one JSON response.",
639
+ notes: "Only single-request (non-streaming) methods are listed, because the CLI issues a single JSON request and reads one JSON response.",
640
640
  args: z.object({}).strict(),
641
641
  run: () => {
642
642
  const names = listMethodNames();
@@ -793,7 +793,7 @@ const apiCommand = defineAppCommand({
793
793
  description: "Call Tailor Platform API endpoints directly.",
794
794
  notes: `Use \`tailor-sdk api list\` to enumerate invocable methods and \`tailor-sdk api inspect <endpoint>\` to print an endpoint's input message tree (combine with \`--json\` for machine-readable output).
795
795
 
796
- The request body is inferred from the proto definition of the target endpoint, and commonly required fields are auto-injected so they can be omitted from \`--body\`:
796
+ The request body is inferred from the target endpoint's request schema, and commonly required fields are auto-injected so they can be omitted from \`--body\`:
797
797
 
798
798
  - \`workspaceId\` — resolved from \`-w\` / \`TAILOR_PLATFORM_WORKSPACE_ID\` / the selected profile.
799
799
  - \`namespaceName\` — resolved from \`tailor.config.ts\` based on the endpoint's service:
@@ -802,7 +802,7 @@ The request body is inferred from the proto definition of the target endpoint, a
802
802
 
803
803
  Values already present in \`--body\` are never overridden. If a value cannot be resolved (e.g. no config found), injection is silently skipped and the server-side validation error takes precedence.
804
804
 
805
- Use \`--field key=value\` (repeatable) to set request body fields without writing JSON. Dotted keys (e.g. \`application.name=foo\`) build nested objects. \`--field\` overrides matching fields in \`--body\` and tab-completes from the endpoint's proto schema.`,
805
+ Use \`--field key=value\` (repeatable) to set request body fields without writing JSON. Dotted keys (e.g. \`application.name=foo\`) build nested objects. \`--field\` overrides matching fields in \`--body\` and tab-completes from the endpoint's request schema.`,
806
806
  examples: [
807
807
  {
808
808
  cmd: "GetApplication -b '{\"applicationName\":\"app-1\"}'",
@@ -1735,6 +1735,16 @@ function areNormalizedEqual(left, right) {
1735
1735
  function trnPrefix(workspaceId) {
1736
1736
  return `trn:v1:workspace:${workspaceId}`;
1737
1737
  }
1738
+ /**
1739
+ * Build the TRN for a workspace resource.
1740
+ * @param workspaceId - Workspace ID
1741
+ * @param kind - Resource kind segment
1742
+ * @param name - Resource name
1743
+ * @returns Fully-qualified TRN string
1744
+ */
1745
+ function resourceTrn(workspaceId, kind, name) {
1746
+ return `${trnPrefix(workspaceId)}:${kind}:${name}`;
1747
+ }
1738
1748
  const sdkNameLabelKey = "sdk-name";
1739
1749
  const sdkVersionLabelKey = "sdk-version";
1740
1750
  const sdkAppIdLabelKey = "sdk-app-id";
@@ -1817,9 +1827,6 @@ async function applyApplication(client, changeSet, phase = "create-update") {
1817
1827
  await client.deleteApplication(del.request);
1818
1828
  }));
1819
1829
  }
1820
- function trn$6(workspaceId, name) {
1821
- return `trn:v1:workspace:${workspaceId}:application:${name}`;
1822
- }
1823
1830
  function sortStrings(values) {
1824
1831
  return [...values ?? []].sort();
1825
1832
  }
@@ -1944,7 +1951,7 @@ async function planApplication(context, httpAdapterBuildResult) {
1944
1951
  if (idpConfigs.length > 0) authIdpConfigName = idpConfigs[0].name;
1945
1952
  }
1946
1953
  const metaRequest = await buildMetaRequest({
1947
- trn: trn$6(workspaceId, application.name),
1954
+ trn: resourceTrn(workspaceId, "application", application.name),
1948
1955
  appName: application.name,
1949
1956
  appId: application.id
1950
1957
  });
@@ -2003,7 +2010,7 @@ async function planApplication(context, httpAdapterBuildResult) {
2003
2010
  }
2004
2011
  async function fetchAppLabels(client, workspaceId, appName) {
2005
2012
  try {
2006
- const { metadata } = await client.getMetadata({ trn: trn$6(workspaceId, appName) });
2013
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "application", appName) });
2007
2014
  return metadata?.labels;
2008
2015
  } catch (error) {
2009
2016
  if (error instanceof ConnectError && error.code === Code.NotFound) return;
@@ -2133,9 +2140,6 @@ function hashValue(value) {
2133
2140
 
2134
2141
  //#endregion
2135
2142
  //#region src/cli/commands/deploy/auth-connection.ts
2136
- function connectionTrn(workspaceId, name) {
2137
- return `${trnPrefix(workspaceId)}:auth_connection:${name}`;
2138
- }
2139
2143
  function buildConnectionRequest(workspaceId, name, config) {
2140
2144
  return {
2141
2145
  workspaceId,
@@ -2203,7 +2207,7 @@ async function planAuthConnections(client, workspaceId, appName, appId, auths) {
2203
2207
  });
2204
2208
  const existingConnections = {};
2205
2209
  await Promise.all(existingList.map(async (resource) => {
2206
- const { metadata } = await client.getMetadata({ trn: connectionTrn(workspaceId, resource.name) });
2210
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "auth_connection", resource.name) });
2207
2211
  existingConnections[resource.name] = {
2208
2212
  resource,
2209
2213
  label: metadata?.labels[sdkNameLabelKey],
@@ -2214,7 +2218,7 @@ async function planAuthConnections(client, workspaceId, appName, appId, auths) {
2214
2218
  for (const [name, config] of Object.entries(desiredConnections)) {
2215
2219
  const existing = existingConnections[name];
2216
2220
  const metaRequest = await buildMetaRequest({
2217
- trn: connectionTrn(workspaceId, name),
2221
+ trn: resourceTrn(workspaceId, "auth_connection", name),
2218
2222
  appName,
2219
2223
  appId
2220
2224
  });
@@ -2232,7 +2236,7 @@ async function planAuthConnections(client, workspaceId, appName, appId, auths) {
2232
2236
  const storedHash = state.connections?.[name];
2233
2237
  if (hasNonSecretFieldChanged(existing.resource, config) || currentHash !== storedHash) changeSet.replaces.push({
2234
2238
  name,
2235
- revokeRequest: {
2239
+ deleteRequest: {
2236
2240
  workspaceId,
2237
2241
  connectionName: name
2238
2242
  },
@@ -2302,7 +2306,7 @@ async function applyAuthConnections(client, result, phase) {
2302
2306
  await client.setMetadata(create.metaRequest);
2303
2307
  }));
2304
2308
  for (const replace of changeSet.replaces) {
2305
- await client.revokeAuthConnection(replace.revokeRequest);
2309
+ await client.deleteAuthConnection(replace.deleteRequest);
2306
2310
  await client.createAuthConnection(replace.createRequest);
2307
2311
  await client.setMetadata(replace.metaRequest);
2308
2312
  }
@@ -2322,7 +2326,7 @@ async function applyAuthConnections(client, result, phase) {
2322
2326
  saveSecretsState(state);
2323
2327
  } else if (phase === "delete-resources" || phase === "delete") {
2324
2328
  await Promise.all(changeSet.deletes.map(async (del) => {
2325
- await client.revokeAuthConnection(del.request);
2329
+ await client.deleteAuthConnection(del.request);
2326
2330
  }));
2327
2331
  if (changeSet.deletes.length > 0) {
2328
2332
  const state = loadSecretsState();
@@ -2345,9 +2349,6 @@ const CHUNK_SIZE = 64 * 1024;
2345
2349
  function computeContentHash(content) {
2346
2350
  return crypto$1.createHash("sha256").update(content, "utf-8").digest("hex");
2347
2351
  }
2348
- function functionRegistryTrn$1(workspaceId, name) {
2349
- return `trn:v1:workspace:${workspaceId}:function_registry:${name}`;
2350
- }
2351
2352
  const RESOLVER_PREFIX = "resolver--";
2352
2353
  const EXECUTOR_PREFIX = "executor--";
2353
2354
  const WORKFLOW_PREFIX = "workflow--";
@@ -2539,7 +2540,7 @@ async function planFunctionRegistry(client, workspaceId, appName, appId, entries
2539
2540
  });
2540
2541
  const existingMap = {};
2541
2542
  await Promise.all(existingFunctions.map(async (func) => {
2542
- const { metadata } = await client.getMetadata({ trn: functionRegistryTrn$1(workspaceId, func.name) });
2543
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "function_registry", func.name) });
2543
2544
  existingMap[func.name] = {
2544
2545
  resource: func,
2545
2546
  label: metadata?.labels[sdkNameLabelKey],
@@ -2549,7 +2550,7 @@ async function planFunctionRegistry(client, workspaceId, appName, appId, entries
2549
2550
  for (const entry of entries) {
2550
2551
  const existing = existingMap[entry.name];
2551
2552
  const metaRequest = await buildMetaRequest({
2552
- trn: functionRegistryTrn$1(workspaceId, entry.name),
2553
+ trn: resourceTrn(workspaceId, "function_registry", entry.name),
2553
2554
  appName,
2554
2555
  appId
2555
2556
  });
@@ -3104,9 +3105,6 @@ async function planIdP(context) {
3104
3105
  resourceOwners
3105
3106
  };
3106
3107
  }
3107
- function trn$5(workspaceId, name) {
3108
- return `trn:v1:workspace:${workspaceId}:idp:${name}`;
3109
- }
3110
3108
  function normalizeComparableUserAuthPolicy(policy) {
3111
3109
  return {
3112
3110
  useNonEmailIdentifier: policy?.useNonEmailIdentifier ?? false,
@@ -3201,7 +3199,7 @@ async function planServices$3(client, workspaceId, appName, appId, idps, idpUser
3201
3199
  const existingServices = {};
3202
3200
  await Promise.all(withoutLabel.map(async (resource) => {
3203
3201
  if (!resource.namespace?.name) return;
3204
- const { metadata } = await client.getMetadata({ trn: trn$5(workspaceId, resource.namespace.name) });
3202
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "idp", resource.namespace.name) });
3205
3203
  existingServices[resource.namespace.name] = {
3206
3204
  resource,
3207
3205
  label: metadata?.labels[sdkNameLabelKey],
@@ -3212,7 +3210,7 @@ async function planServices$3(client, workspaceId, appName, appId, idps, idpUser
3212
3210
  const namespaceName = idp.name;
3213
3211
  const existing = existingServices[namespaceName];
3214
3212
  const metaRequest = await buildMetaRequest({
3215
- trn: trn$5(workspaceId, namespaceName),
3213
+ trn: resourceTrn(workspaceId, "idp", namespaceName),
3216
3214
  appName,
3217
3215
  appId
3218
3216
  });
@@ -3571,9 +3569,6 @@ async function planAuth(context) {
3571
3569
  resourceOwners: new Set([...resourceOwners, ...connectionResult.resourceOwners])
3572
3570
  };
3573
3571
  }
3574
- function trn$4(workspaceId, name) {
3575
- return `trn:v1:workspace:${workspaceId}:auth:${name}`;
3576
- }
3577
3572
  async function planServices$2(client, workspaceId, appName, appId, auths, forceApplyAll = false) {
3578
3573
  const changeSet = createChangeSet("Auth services");
3579
3574
  const conflicts = [];
@@ -3595,7 +3590,7 @@ async function planServices$2(client, workspaceId, appName, appId, auths, forceA
3595
3590
  const existingServices = {};
3596
3591
  await Promise.all(withoutLabel.map(async (resource) => {
3597
3592
  if (!resource.namespace?.name) return;
3598
- const { metadata } = await client.getMetadata({ trn: trn$4(workspaceId, resource.namespace.name) });
3593
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "auth", resource.namespace.name) });
3599
3594
  existingServices[resource.namespace.name] = {
3600
3595
  resource,
3601
3596
  label: metadata?.labels[sdkNameLabelKey],
@@ -3606,7 +3601,7 @@ async function planServices$2(client, workspaceId, appName, appId, auths, forceA
3606
3601
  const { config } = auth;
3607
3602
  const existing = existingServices[config.name];
3608
3603
  const metaRequest = await buildMetaRequest({
3609
- trn: trn$4(workspaceId, config.name),
3604
+ trn: resourceTrn(workspaceId, "auth", config.name),
3610
3605
  appName,
3611
3606
  appId
3612
3607
  });
@@ -4934,9 +4929,6 @@ async function applyExecutor(client, result, phase = "create-update") {
4934
4929
  })]);
4935
4930
  else if (phase === "delete") await Promise.all(changeSet.deletes.map((del) => client.deleteExecutorExecutor(del.request)));
4936
4931
  }
4937
- function trn$3(workspaceId, name) {
4938
- return `trn:v1:workspace:${workspaceId}:executor:${name}`;
4939
- }
4940
4932
  /**
4941
4933
  * Plan executor-related changes based on current and desired state.
4942
4934
  * @param context - Planning context
@@ -4960,13 +4952,13 @@ async function planExecutor(context) {
4960
4952
  return [executors, nextPageToken];
4961
4953
  },
4962
4954
  getName: (resource) => resource.name,
4963
- getTrn: trn$3
4955
+ getTrn: (workspaceId, name) => resourceTrn(workspaceId, "executor", name)
4964
4956
  });
4965
4957
  const executors = forRemoval ? {} : await application.executorService?.loadExecutors() ?? {};
4966
4958
  for (const executor of Object.values(executors)) {
4967
4959
  const existing = existingExecutors[executor.name];
4968
4960
  const metaRequest = await buildMetaRequest({
4969
- trn: trn$3(workspaceId, executor.name),
4961
+ trn: resourceTrn(workspaceId, "executor", executor.name),
4970
4962
  appName: application.name,
4971
4963
  appId: application.id
4972
4964
  });
@@ -5380,9 +5372,6 @@ async function planPipeline(context) {
5380
5372
  resourceOwners
5381
5373
  };
5382
5374
  }
5383
- function trn$2(workspaceId, name) {
5384
- return `trn:v1:workspace:${workspaceId}:pipeline:${name}`;
5385
- }
5386
5375
  async function planServices$1(client, workspaceId, appName, appId, pipelines) {
5387
5376
  const changeSet = createChangeSet("Pipeline services");
5388
5377
  const conflicts = [];
@@ -5404,7 +5393,7 @@ async function planServices$1(client, workspaceId, appName, appId, pipelines) {
5404
5393
  const existingServices = {};
5405
5394
  await Promise.all(withoutLabel.map(async (resource) => {
5406
5395
  if (!resource.namespace?.name) return;
5407
- const { metadata } = await client.getMetadata({ trn: trn$2(workspaceId, resource.namespace.name) });
5396
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "pipeline", resource.namespace.name) });
5408
5397
  existingServices[resource.namespace.name] = {
5409
5398
  resource,
5410
5399
  label: metadata?.labels[sdkNameLabelKey],
@@ -5414,7 +5403,7 @@ async function planServices$1(client, workspaceId, appName, appId, pipelines) {
5414
5403
  for (const pipeline of pipelines) {
5415
5404
  const existing = existingServices[pipeline.namespace];
5416
5405
  const metaRequest = await buildMetaRequest({
5417
- trn: trn$2(workspaceId, pipeline.namespace),
5406
+ trn: resourceTrn(workspaceId, "pipeline", pipeline.namespace),
5418
5407
  appName,
5419
5408
  appId
5420
5409
  });
@@ -5702,7 +5691,7 @@ async function planSecretManager(context) {
5702
5691
  });
5703
5692
  const existingVaults = {};
5704
5693
  await Promise.all(existingVaultList.map(async (resource) => {
5705
- const { metadata } = await client.getMetadata({ trn: vaultTrn$1(workspaceId, resource.name) });
5694
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "vault", resource.name) });
5706
5695
  existingVaults[resource.name] = {
5707
5696
  resource,
5708
5697
  label: metadata?.labels[sdkNameLabelKey],
@@ -5716,7 +5705,7 @@ async function planSecretManager(context) {
5716
5705
  const existing = existingVaults[vaultName];
5717
5706
  if (existing) {
5718
5707
  const metaRequest = await buildMetaRequest({
5719
- trn: vaultTrn$1(workspaceId, vaultName),
5708
+ trn: resourceTrn(workspaceId, "vault", vaultName),
5720
5709
  appName: application.name,
5721
5710
  appId: application.id
5722
5711
  });
@@ -5829,9 +5818,6 @@ async function planSecretManager(context) {
5829
5818
  resourceOwners
5830
5819
  };
5831
5820
  }
5832
- function vaultTrn$1(workspaceId, name) {
5833
- return `trn:v1:workspace:${workspaceId}:vault:${name}`;
5834
- }
5835
5821
  /**
5836
5822
  * Apply secret manager changes for the given phase.
5837
5823
  * @param client - Operator client instance
@@ -5850,7 +5836,7 @@ async function applySecretManager(client, result, phase = "create-update", appli
5850
5836
  });
5851
5837
  if (application) {
5852
5838
  const metaRequest = await buildMetaRequest({
5853
- trn: vaultTrn$1(create.workspaceId, create.name),
5839
+ trn: resourceTrn(create.workspaceId, "vault", create.name),
5854
5840
  appName: application.name,
5855
5841
  appId: application.id
5856
5842
  });
@@ -5859,7 +5845,7 @@ async function applySecretManager(client, result, phase = "create-update", appli
5859
5845
  }));
5860
5846
  if (application) await Promise.all(vaultChangeSet.updates.map(async (update) => {
5861
5847
  const metaRequest = await buildMetaRequest({
5862
- trn: vaultTrn$1(update.workspaceId, update.name),
5848
+ trn: resourceTrn(update.workspaceId, "vault", update.name),
5863
5849
  appName: application.name,
5864
5850
  appId: application.id
5865
5851
  });
@@ -5917,18 +5903,23 @@ async function applySecretManager(client, result, phase = "create-update", appli
5917
5903
  * @returns Promise that resolves when static websites are applied
5918
5904
  */
5919
5905
  async function applyStaticWebsite(client, result, phase = "create-update") {
5920
- const { changeSet } = result;
5921
- if (phase === "create-update") await Promise.all([...changeSet.creates.map(async (create) => {
5922
- await client.createStaticWebsite(create.request);
5923
- await client.setMetadata(create.metaRequest);
5924
- }), ...changeSet.updates.map(async (update) => {
5925
- await client.updateStaticWebsite(update.request);
5926
- await client.setMetadata(update.metaRequest);
5927
- })]);
5928
- else if (phase === "delete") await Promise.all(changeSet.deletes.map((del) => client.deleteStaticWebsite(del.request)));
5906
+ const { changeSet, customDomainChangeSet } = result;
5907
+ if (phase === "create-update") {
5908
+ await Promise.all([...changeSet.creates.map(async (create) => {
5909
+ await client.createStaticWebsite(create.request);
5910
+ await client.setMetadata(create.metaRequest);
5911
+ }), ...changeSet.updates.map(async (update) => {
5912
+ await client.updateStaticWebsite(update.request);
5913
+ await client.setMetadata(update.metaRequest);
5914
+ })]);
5915
+ await Promise.all([...customDomainChangeSet.creates.map(async (add) => {
5916
+ await client.addCustomDomain(add.request);
5917
+ await client.setMetadata(add.metaRequest);
5918
+ }), ...customDomainChangeSet.deletes.map((del) => client.removeCustomDomain(del.request))]);
5919
+ } else if (phase === "delete") await Promise.all(changeSet.deletes.map((del) => client.deleteStaticWebsite(del.request)));
5929
5920
  }
5930
- function trn$1(workspaceId, name) {
5931
- return `trn:v1:workspace:${workspaceId}:staticwebsite:${name}`;
5921
+ function customDomainTrn(workspaceId, websiteName, domain) {
5922
+ return `trn:v1:workspace:${workspaceId}:staticwebsite:${websiteName}:custom_domain:${domain}`;
5932
5923
  }
5933
5924
  function normalizeComparableStaticWebsiteShape(input) {
5934
5925
  return {
@@ -5953,6 +5944,7 @@ function areStaticWebsitesEqual(existing, desired) {
5953
5944
  async function planStaticWebsite(context) {
5954
5945
  const { client, workspaceId, application, forRemoval } = context;
5955
5946
  const changeSet = createChangeSet("StaticWebsites");
5947
+ const customDomainChangeSet = createChangeSet("CustomDomains");
5956
5948
  const conflicts = [];
5957
5949
  const unmanaged = [];
5958
5950
  const resourceOwners = /* @__PURE__ */ new Set();
@@ -5968,15 +5960,16 @@ async function planStaticWebsite(context) {
5968
5960
  return [staticwebsites, nextPageToken];
5969
5961
  },
5970
5962
  getName: (resource) => resource.name,
5971
- getTrn: trn$1
5963
+ getTrn: (workspaceId, name) => resourceTrn(workspaceId, "staticwebsite", name)
5972
5964
  });
5965
+ const ownedWebsiteNames = /* @__PURE__ */ new Set();
5973
5966
  const staticWebsiteServices = forRemoval ? [] : application.staticWebsiteServices;
5974
5967
  for (const websiteService of staticWebsiteServices) {
5975
5968
  const config = websiteService;
5976
5969
  const name = websiteService.name;
5977
5970
  const existing = existingWebsites[name];
5978
5971
  const metaRequest = await buildMetaRequest({
5979
- trn: trn$1(workspaceId, name),
5972
+ trn: resourceTrn(workspaceId, "staticwebsite", name),
5980
5973
  appName: application.name,
5981
5974
  appId: application.id
5982
5975
  });
@@ -5990,7 +5983,7 @@ async function planStaticWebsite(context) {
5990
5983
  }
5991
5984
  };
5992
5985
  if (existing) {
5993
- if (trackDesiredResourceOwnership({
5986
+ const owned = trackDesiredResourceOwnership({
5994
5987
  labels: existing.allLabels,
5995
5988
  ownerLabel: existing.label,
5996
5989
  appName: application.name,
@@ -5999,18 +5992,23 @@ async function planStaticWebsite(context) {
5999
5992
  resourceName: name,
6000
5993
  conflicts,
6001
5994
  unmanaged
6002
- }) && hasMatchingSdkVersion(existing.allLabels, metaRequest.labels) && areStaticWebsitesEqual(existing.resource, desired)) changeSet.unchanged.push({ name });
5995
+ });
5996
+ if (owned && hasMatchingSdkVersion(existing.allLabels, metaRequest.labels) && areStaticWebsitesEqual(existing.resource, desired)) changeSet.unchanged.push({ name });
6003
5997
  else changeSet.updates.push({
6004
5998
  name,
6005
5999
  request,
6006
6000
  metaRequest
6007
6001
  });
6002
+ if (owned) ownedWebsiteNames.add(name);
6008
6003
  delete existingWebsites[name];
6009
- } else changeSet.creates.push({
6010
- name,
6011
- request,
6012
- metaRequest
6013
- });
6004
+ } else {
6005
+ changeSet.creates.push({
6006
+ name,
6007
+ request,
6008
+ metaRequest
6009
+ });
6010
+ ownedWebsiteNames.add(name);
6011
+ }
6014
6012
  }
6015
6013
  Object.entries(existingWebsites).forEach(([name]) => {
6016
6014
  const entry = existingWebsites[name];
@@ -6029,8 +6027,63 @@ async function planStaticWebsite(context) {
6029
6027
  }
6030
6028
  });
6031
6029
  });
6030
+ const desiredDomainsByWebsite = /* @__PURE__ */ new Map();
6031
+ for (const service of staticWebsiteServices) if (service.customDomains !== void 0 && ownedWebsiteNames.has(service.name)) desiredDomainsByWebsite.set(service.name, service.customDomains);
6032
+ const existingDomainsByWebsite = /* @__PURE__ */ new Map();
6033
+ const websitesToFetchDomains = [...ownedWebsiteNames].filter((name) => !changeSet.creates.some((c) => c.name === name));
6034
+ await Promise.all(websitesToFetchDomains.map(async (name) => {
6035
+ try {
6036
+ const { customDomains } = await client.listCustomDomains({
6037
+ workspaceId,
6038
+ staticWebsiteName: name
6039
+ });
6040
+ const domainsWithLabels = await Promise.all(customDomains.map(async (d) => {
6041
+ const { metadata } = await client.getMetadata({ trn: customDomainTrn(workspaceId, name, d.domain) });
6042
+ return {
6043
+ domain: d.domain,
6044
+ allLabels: metadata?.labels
6045
+ };
6046
+ }));
6047
+ existingDomainsByWebsite.set(name, domainsWithLabels);
6048
+ } catch (error) {
6049
+ if (error instanceof ConnectError && error.code === Code.NotFound) return;
6050
+ throw error;
6051
+ }
6052
+ }));
6053
+ for (const name of ownedWebsiteNames) {
6054
+ const desired = new Set(desiredDomainsByWebsite.get(name) ?? []);
6055
+ const existingDomains = existingDomainsByWebsite.get(name) ?? [];
6056
+ const existingSet = new Set(existingDomains.map((d) => d.domain));
6057
+ const sdkOwnedDomains = new Set(existingDomains.filter((d) => isOwnedByApp(d.allLabels, application.name, application.id)).map((d) => d.domain));
6058
+ for (const domain of desired) if (!existingSet.has(domain)) {
6059
+ const metaRequest = await buildMetaRequest({
6060
+ trn: customDomainTrn(workspaceId, name, domain),
6061
+ appName: application.name,
6062
+ appId: application.id
6063
+ });
6064
+ customDomainChangeSet.creates.push({
6065
+ name: domain,
6066
+ request: {
6067
+ workspaceId,
6068
+ staticWebsiteName: name,
6069
+ domain
6070
+ },
6071
+ metaRequest
6072
+ });
6073
+ } else customDomainChangeSet.unchanged.push({ name: domain });
6074
+ if (desiredDomainsByWebsite.has(name)) {
6075
+ for (const domain of sdkOwnedDomains) if (!desired.has(domain)) customDomainChangeSet.deletes.push({
6076
+ name: domain,
6077
+ request: {
6078
+ workspaceId,
6079
+ domain
6080
+ }
6081
+ });
6082
+ }
6083
+ }
6032
6084
  return {
6033
6085
  changeSet,
6086
+ customDomainChangeSet,
6034
6087
  conflicts,
6035
6088
  unmanaged,
6036
6089
  resourceOwners
@@ -7952,7 +8005,7 @@ function spinner(options) {
7952
8005
  */
7953
8006
  async function getCurrentMigrationNumber(client, workspaceId, namespace) {
7954
8007
  try {
7955
- const trn = `${trnPrefix(workspaceId)}:tailordb:${namespace}`;
8008
+ const trn = resourceTrn(workspaceId, "tailordb", namespace);
7956
8009
  const { metadata } = await client.getMetadata({ trn });
7957
8010
  const label = metadata?.labels[MIGRATION_LABEL_KEY];
7958
8011
  if (!label) return 0;
@@ -8033,7 +8086,7 @@ async function executeSingleMigration(options, migration) {
8033
8086
  * @returns {Promise<void>}
8034
8087
  */
8035
8088
  async function updateMigrationLabel(client, workspaceId, namespace, migrationNumber) {
8036
- const trn = `${trnPrefix(workspaceId)}:tailordb:${namespace}`;
8089
+ const trn = resourceTrn(workspaceId, "tailordb", namespace);
8037
8090
  const { metadata } = await client.getMetadata({ trn });
8038
8091
  const existingLabels = metadata?.labels ?? {};
8039
8092
  const newLabel = `m${formatMigrationNumber(migrationNumber)}`;
@@ -8148,7 +8201,7 @@ async function fetchRemoteTypes(client, workspaceId, namespace) {
8148
8201
  */
8149
8202
  async function getRemoteMigrationNumber(client, workspaceId, namespace) {
8150
8203
  try {
8151
- const trn = `${trnPrefix(workspaceId)}:tailordb:${namespace}`;
8204
+ const trn = resourceTrn(workspaceId, "tailordb", namespace);
8152
8205
  const { metadata } = await client.getMetadata({ trn });
8153
8206
  const label = metadata?.labels?.["sdk-migration"];
8154
8207
  if (!label) return null;
@@ -8702,9 +8755,6 @@ function formatTailorDBResourceChangeEntries(typeChangeSet, gqlPermissionChangeS
8702
8755
  ...collectTailorDBDisplayEntries("replace", typeChangeSet.replaces, gqlPermissionChangeSet.replaces)
8703
8756
  ];
8704
8757
  }
8705
- function trn(workspaceId, name) {
8706
- return `${trnPrefix(workspaceId)}:tailordb:${name}`;
8707
- }
8708
8758
  function normalizeComparableTailorDBService(service) {
8709
8759
  return normalizeProtoConfig({
8710
8760
  namespace: service.namespace,
@@ -8741,7 +8791,7 @@ async function planServices(client, workspaceId, appName, appId, tailordbs) {
8741
8791
  const existingServices = {};
8742
8792
  await Promise.all(withoutLabel.map(async (resource) => {
8743
8793
  if (!resource.namespace?.name) return;
8744
- const { metadata } = await client.getMetadata({ trn: trn(workspaceId, resource.namespace.name) });
8794
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "tailordb", resource.namespace.name) });
8745
8795
  existingServices[resource.namespace.name] = {
8746
8796
  resource,
8747
8797
  label: metadata?.labels[sdkNameLabelKey],
@@ -8751,7 +8801,7 @@ async function planServices(client, workspaceId, appName, appId, tailordbs) {
8751
8801
  for (const tailordb of tailordbs) {
8752
8802
  const existing = existingServices[tailordb.namespace];
8753
8803
  const metaRequest = await buildMetaRequest({
8754
- trn: trn(workspaceId, tailordb.namespace),
8804
+ trn: resourceTrn(workspaceId, "tailordb", tailordb.namespace),
8755
8805
  appName,
8756
8806
  appId,
8757
8807
  existingLabels: existing?.allLabels
@@ -9518,7 +9568,7 @@ async function registerJobFunctions(client, changeSet, appName, appId, unchanged
9518
9568
  scriptRef: workflowJobFunctionName(jobName)
9519
9569
  });
9520
9570
  await client.setMetadata(await buildMetaRequest({
9521
- trn: jobFunctionTrn(workspaceId, jobName),
9571
+ trn: resourceTrn(workspaceId, "workflow_job_function", jobName),
9522
9572
  appName,
9523
9573
  appId
9524
9574
  }));
@@ -9531,9 +9581,9 @@ async function registerJobFunctions(client, changeSet, appName, appId, unchanged
9531
9581
  }
9532
9582
  const unusedJobFunctions = existingJobFunctions.filter((jobName) => !allUsedJobNames.has(jobName));
9533
9583
  await Promise.all(unusedJobFunctions.map(async (jobName) => {
9534
- const { metadata } = await client.getMetadata({ trn: jobFunctionTrn(workspaceId, jobName) });
9584
+ const { metadata } = await client.getMetadata({ trn: resourceTrn(workspaceId, "workflow_job_function", jobName) });
9535
9585
  if (isOwnedByApp(metadata?.labels, appName, appId)) await client.setMetadata({
9536
- trn: jobFunctionTrn(workspaceId, jobName),
9586
+ trn: resourceTrn(workspaceId, "workflow_job_function", jobName),
9537
9587
  labels: { [sdkNameLabelKey]: "" }
9538
9588
  });
9539
9589
  }));
@@ -9559,12 +9609,6 @@ function toRetryPolicy(policy) {
9559
9609
  function toConcurrencyPolicy(policy) {
9560
9610
  return { maxConcurrentExecutions: policy.maxConcurrentExecutions };
9561
9611
  }
9562
- function workflowTrn$1(workspaceId, name) {
9563
- return `trn:v1:workspace:${workspaceId}:workflow:${name}`;
9564
- }
9565
- function jobFunctionTrn(workspaceId, name) {
9566
- return `trn:v1:workspace:${workspaceId}:workflow_job_function:${name}`;
9567
- }
9568
9612
  /**
9569
9613
  * Plan workflow changes and job functions based on current and desired state.
9570
9614
  * @param client - Operator client instance
@@ -9594,12 +9638,12 @@ async function planWorkflow(client, workspaceId, appName, appId, workflows, main
9594
9638
  return [response.workflows, response.nextPageToken];
9595
9639
  },
9596
9640
  getName: (resource) => resource.name,
9597
- getTrn: workflowTrn$1
9641
+ getTrn: (workspaceId, name) => resourceTrn(workspaceId, "workflow", name)
9598
9642
  });
9599
9643
  for (const workflow of Object.values(workflows)) {
9600
9644
  const existing = existingWorkflows[workflow.name];
9601
9645
  const metaRequest = await buildMetaRequest({
9602
- trn: workflowTrn$1(workspaceId, workflow.name),
9646
+ trn: resourceTrn(workspaceId, "workflow", workflow.name),
9603
9647
  appName,
9604
9648
  appId
9605
9649
  });
@@ -9728,36 +9772,6 @@ function normalizeRetryPolicyForCompare(policy) {
9728
9772
 
9729
9773
  //#endregion
9730
9774
  //#region src/cli/commands/deploy/deploy.ts
9731
- function applicationTrn(workspaceId, name) {
9732
- return `trn:v1:workspace:${workspaceId}:application:${name}`;
9733
- }
9734
- function functionRegistryTrn(workspaceId, name) {
9735
- return `trn:v1:workspace:${workspaceId}:function_registry:${name}`;
9736
- }
9737
- function pipelineTrn(workspaceId, name) {
9738
- return `trn:v1:workspace:${workspaceId}:pipeline:${name}`;
9739
- }
9740
- function idpTrn(workspaceId, name) {
9741
- return `trn:v1:workspace:${workspaceId}:idp:${name}`;
9742
- }
9743
- function authTrn(workspaceId, name) {
9744
- return `trn:v1:workspace:${workspaceId}:auth:${name}`;
9745
- }
9746
- function executorTrn(workspaceId, name) {
9747
- return `trn:v1:workspace:${workspaceId}:executor:${name}`;
9748
- }
9749
- function workflowTrn(workspaceId, name) {
9750
- return `trn:v1:workspace:${workspaceId}:workflow:${name}`;
9751
- }
9752
- function staticWebsiteTrn(workspaceId, name) {
9753
- return `trn:v1:workspace:${workspaceId}:staticwebsite:${name}`;
9754
- }
9755
- function tailorDBTrn(workspaceId, name) {
9756
- return `trn:v1:workspace:${workspaceId}:tailordb:${name}`;
9757
- }
9758
- function vaultTrn(workspaceId, name) {
9759
- return `trn:v1:workspace:${workspaceId}:vault:${name}`;
9760
- }
9761
9775
  /**
9762
9776
  * Resolve the set of IdP names that have at least one executor subscribed to
9763
9777
  * their user events. When an executor's idpUser trigger omits the `idp` option
@@ -9779,36 +9793,36 @@ function collectIdpUserTriggerTargets(application) {
9779
9793
  }
9780
9794
  async function shouldForceApplyAll(client, workspaceId, application, functionEntries) {
9781
9795
  const desiredLabels = (await buildMetaRequest({
9782
- trn: applicationTrn(workspaceId, application.name),
9796
+ trn: resourceTrn(workspaceId, "application", application.name),
9783
9797
  appName: application.name,
9784
9798
  appId: application.id
9785
9799
  })).labels;
9786
9800
  const candidateTrns = /* @__PURE__ */ new Set();
9787
- if (application.subgraphs.length > 0) candidateTrns.add(applicationTrn(workspaceId, application.name));
9801
+ if (application.subgraphs.length > 0) candidateTrns.add(resourceTrn(workspaceId, "application", application.name));
9788
9802
  application.staticWebsiteServices.forEach((website) => {
9789
- candidateTrns.add(staticWebsiteTrn(workspaceId, website.name));
9803
+ candidateTrns.add(resourceTrn(workspaceId, "staticwebsite", website.name));
9790
9804
  });
9791
9805
  application.resolverServices.forEach((pipeline) => {
9792
- candidateTrns.add(pipelineTrn(workspaceId, pipeline.namespace));
9806
+ candidateTrns.add(resourceTrn(workspaceId, "pipeline", pipeline.namespace));
9793
9807
  });
9794
9808
  application.idpServices.forEach((idp) => {
9795
- candidateTrns.add(idpTrn(workspaceId, idp.name));
9809
+ candidateTrns.add(resourceTrn(workspaceId, "idp", idp.name));
9796
9810
  });
9797
- if (application.authService) candidateTrns.add(authTrn(workspaceId, application.authService.config.name));
9811
+ if (application.authService) candidateTrns.add(resourceTrn(workspaceId, "auth", application.authService.config.name));
9798
9812
  Object.values(application.executorService?.executors ?? {}).forEach((executor) => {
9799
- candidateTrns.add(executorTrn(workspaceId, executor.name));
9813
+ candidateTrns.add(resourceTrn(workspaceId, "executor", executor.name));
9800
9814
  });
9801
9815
  Object.values(application.workflowService?.workflows ?? {}).forEach((workflow) => {
9802
- candidateTrns.add(workflowTrn(workspaceId, workflow.name));
9816
+ candidateTrns.add(resourceTrn(workspaceId, "workflow", workflow.name));
9803
9817
  });
9804
9818
  application.tailorDBServices.forEach((service) => {
9805
- candidateTrns.add(tailorDBTrn(workspaceId, service.namespace));
9819
+ candidateTrns.add(resourceTrn(workspaceId, "tailordb", service.namespace));
9806
9820
  });
9807
9821
  application.secrets.forEach((vault) => {
9808
- candidateTrns.add(vaultTrn(workspaceId, vault.vaultName));
9822
+ candidateTrns.add(resourceTrn(workspaceId, "vault", vault.vaultName));
9809
9823
  });
9810
9824
  functionEntries.forEach((entry) => {
9811
- candidateTrns.add(functionRegistryTrn(workspaceId, entry.name));
9825
+ candidateTrns.add(resourceTrn(workspaceId, "function_registry", entry.name));
9812
9826
  });
9813
9827
  for (const trn of candidateTrns) try {
9814
9828
  const { metadata } = await client.getMetadata({ trn });
@@ -9865,6 +9879,7 @@ function printPlanResults(results) {
9865
9879
  const idpServiceActions = extractServiceActions(results.idp.changeSet.service);
9866
9880
  const authServiceActions = extractServiceActions(results.auth.changeSet.service);
9867
9881
  results.staticWebsite.changeSet.print();
9882
+ results.staticWebsite.customDomainChangeSet.print();
9868
9883
  results.app.print();
9869
9884
  printGroupedDisplaySection("TailorDB", tailorDBEntries, tailorDBServiceActions);
9870
9885
  printGroupedDisplaySection("Resolver", pipelineEntries, pipelineServiceActions);
@@ -9914,6 +9929,7 @@ function summarizePlanResults(results, displayEntries, serviceActions) {
9914
9929
  const nonGrouped = summarizeChangeSets([
9915
9930
  otherChanges,
9916
9931
  results.staticWebsite.changeSet,
9932
+ results.staticWebsite.customDomainChangeSet,
9917
9933
  results.app,
9918
9934
  results.secretManager.vaultChangeSet,
9919
9935
  results.secretManager.secretChangeSet
@@ -14488,7 +14504,7 @@ async function generate(options) {
14488
14504
  if (options.init) await handleInitOption(namespacesWithMigrations, options.yes);
14489
14505
  let pluginManager;
14490
14506
  if (plugins.length > 0) pluginManager = new PluginManager(plugins);
14491
- const { defineApplication } = await import("./application-x_mURdR0.mjs");
14507
+ const { defineApplication } = await import("./application-gO_pa5BO.mjs");
14492
14508
  const application = defineApplication({
14493
14509
  config,
14494
14510
  pluginManager
@@ -16680,5 +16696,5 @@ function isDeno() {
16680
16696
  }
16681
16697
 
16682
16698
  //#endregion
16683
- export { listCommand$5 as $, compareSnapshots as $t, truncate as A, toPageDirection as An, startCommand as At, logBetaWarning as B, getExecutor as Bt, listCommand$2 as C, commonArgs as Cn, triggerExecutor as Ct, resumeWorkflow as D, isVerbose as Dn, jobsCommand as Dt, resumeCommand as E, deploymentArgs as En, getExecutorJob as Et, writeDbTypesFile as F, getWorkflowExecution as Ft, organizationTree as G, parseMigrationLabelNumber as Gt, removeCommand$1 as H, executeScript as Ht, getConfiguredEditorCommand as I, listWorkflowExecutions as It, listOrganizations as J, DIFF_FILE_NAME as Jt, treeCommand as K, bundleMigrationScript as Kt, openInConfiguredEditor as L, functionExecutionStatusToString as Lt, generate as M, getCommand$5 as Mt, generateCommand as N, getWorkflow as Nt, listCommand$3 as O, pagedLogArgs as On, listExecutorJobs as Ot, generateMigrationScript as P, executionsCommand as Pt, updateFolder as Q, compareLocalTypesWithSnapshot as Qt, show as R, formatKeyValueTable as Rt, listApps as S, defineAppCommand as Sn, triggerCommand as St, healthCommand as T, confirmationArgs as Tn, listExecutors as Tt, updateCommand$1 as U, waitForExecution$1 as Ut, remove as V, deploy as Vt, updateOrganization as W, MIGRATION_LABEL_KEY as Wt, getOrganization as X, MIGRATE_FILE_NAME as Xt, getCommand$1 as Y, INITIAL_SCHEMA_NUMBER as Yt, updateCommand$2 as Z, SCHEMA_FILE_NAME as Zt, getWorkspace as _, generateUserTypes as _n, listFunctionRegistries as _t, updateUser as a, getNextMigrationNumber as an, createCommand$1 as at, createCommand as b, apiCall as bn, listWebhookExecutors as bt, listCommand as c, reconstructSnapshotFromMigrations as cn, listOAuth2Clients as ct, inviteUser as d, formatMigrationDiff as dn, getMachineUserToken as dt, createSnapshotFromLocalTypes as en, listFolders as et, restoreCommand as f, hasChanges as fn, tokenCommand as ft, getCommand as g, PluginManager as gn, listCommand$8 as gt, listWorkspaces as h, trnPrefix as hn, generate$1 as ht, updateCommand as i, getMigrationFiles as in, deleteFolder as it, truncateCommand as j, workspaceArgs as jn, startWorkflow as jt, listWorkflows as k, paginationArgs as kn, watchExecutorJob as kt, listUsers as l, formatMigrationNumber as ln, getCommand$3 as lt, listCommand$1 as m, sdkNameLabelKey as mn, listMachineUsers as mt, query as n, getMigrationDirPath as nn, getFolder as nt, removeCommand as o, isValidMigrationNumber as on, createFolder as ot, restoreWorkspace as p, getNamespacesWithMigrations as pn, listCommand$7 as pt, listCommand$4 as q, DB_TYPES_FILE_NAME as qt, queryCommand as r, getMigrationFilePath as rn, deleteCommand$1 as rt, removeUser as s, loadDiff as sn, listCommand$6 as st, isNativeTypeScriptRuntime as t, getLatestMigrationNumber as tn, getCommand$2 as tt, inviteCommand as u, formatDiffSummary as un, getOAuth2Client as ut, deleteCommand as v, prompt as vn, getCommand$4 as vt, getAppHealth as w, configArg as wn, listCommand$9 as wt, createWorkspace as x, assertWritable as xn, webhookCommand as xt, deleteWorkspace as y, apiCommand as yn, getFunctionRegistry as yt, showCommand as z, getCommand$6 as zt };
16684
- //# sourceMappingURL=runtime-1YuaoNr8.mjs.map
16699
+ export { listCommand$5 as $, compareSnapshots as $t, truncate as A, toPageDirection as An, startCommand as At, logBetaWarning as B, getExecutor as Bt, listCommand$2 as C, commonArgs as Cn, triggerExecutor as Ct, resumeWorkflow as D, isVerbose as Dn, jobsCommand as Dt, resumeCommand as E, deploymentArgs as En, getExecutorJob as Et, writeDbTypesFile as F, getWorkflowExecution as Ft, organizationTree as G, parseMigrationLabelNumber as Gt, removeCommand$1 as H, executeScript as Ht, getConfiguredEditorCommand as I, listWorkflowExecutions as It, listOrganizations as J, DIFF_FILE_NAME as Jt, treeCommand as K, bundleMigrationScript as Kt, openInConfiguredEditor as L, functionExecutionStatusToString as Lt, generate as M, getCommand$5 as Mt, generateCommand as N, getWorkflow as Nt, listCommand$3 as O, pagedLogArgs as On, listExecutorJobs as Ot, generateMigrationScript as P, executionsCommand as Pt, updateFolder as Q, compareLocalTypesWithSnapshot as Qt, show as R, formatKeyValueTable as Rt, listApps as S, defineAppCommand as Sn, triggerCommand as St, healthCommand as T, confirmationArgs as Tn, listExecutors as Tt, updateCommand$1 as U, waitForExecution$1 as Ut, remove as V, deploy as Vt, updateOrganization as W, MIGRATION_LABEL_KEY as Wt, getOrganization as X, MIGRATE_FILE_NAME as Xt, getCommand$1 as Y, INITIAL_SCHEMA_NUMBER as Yt, updateCommand$2 as Z, SCHEMA_FILE_NAME as Zt, getWorkspace as _, generateUserTypes as _n, listFunctionRegistries as _t, updateUser as a, getNextMigrationNumber as an, createCommand$1 as at, createCommand as b, apiCall as bn, listWebhookExecutors as bt, listCommand as c, reconstructSnapshotFromMigrations as cn, listOAuth2Clients as ct, inviteUser as d, formatMigrationDiff as dn, getMachineUserToken as dt, createSnapshotFromLocalTypes as en, listFolders as et, restoreCommand as f, hasChanges as fn, tokenCommand as ft, getCommand as g, PluginManager as gn, listCommand$8 as gt, listWorkspaces as h, sdkNameLabelKey as hn, generate$1 as ht, updateCommand as i, getMigrationFiles as in, deleteFolder as it, truncateCommand as j, workspaceArgs as jn, startWorkflow as jt, listWorkflows as k, paginationArgs as kn, watchExecutorJob as kt, listUsers as l, formatMigrationNumber as ln, getCommand$3 as lt, listCommand$1 as m, resourceTrn as mn, listMachineUsers as mt, query as n, getMigrationDirPath as nn, getFolder as nt, removeCommand as o, isValidMigrationNumber as on, createFolder as ot, restoreWorkspace as p, getNamespacesWithMigrations as pn, listCommand$7 as pt, listCommand$4 as q, DB_TYPES_FILE_NAME as qt, queryCommand as r, getMigrationFilePath as rn, deleteCommand$1 as rt, removeUser as s, loadDiff as sn, listCommand$6 as st, isNativeTypeScriptRuntime as t, getLatestMigrationNumber as tn, getCommand$2 as tt, inviteCommand as u, formatDiffSummary as un, getOAuth2Client as ut, deleteCommand as v, prompt as vn, getCommand$4 as vt, getAppHealth as w, configArg as wn, listCommand$9 as wt, createWorkspace as x, assertWritable as xn, webhookCommand as xt, deleteWorkspace as y, apiCommand as yn, getFunctionRegistry as yt, showCommand as z, getCommand$6 as zt };
16700
+ //# sourceMappingURL=runtime-BC-FbQkg.mjs.map