@tailor-platform/sdk 1.48.0 → 1.49.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/CHANGELOG.md +16 -0
- package/dist/{application-DUENhx4Y.mjs → application-CZMzt9jL.mjs} +3 -2
- package/dist/application-CZMzt9jL.mjs.map +1 -0
- package/dist/application-v_E2W-Fz.mjs +4 -0
- package/dist/brand-D-d15jx3.mjs.map +1 -1
- package/dist/cli/index.mjs +46 -22
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/lib.mjs +4 -4
- package/dist/cli/lib.mjs.map +1 -1
- package/dist/cli/skills.mjs.map +1 -1
- package/dist/client-_kHh0Pip.mjs.map +1 -1
- package/dist/configure/index.mjs.map +1 -1
- package/dist/crashreport-CvmdFs4i.mjs.map +1 -1
- package/dist/enum-constants-C3KSpsYj.mjs.map +1 -1
- package/dist/errors-pMPXghkO.mjs.map +1 -1
- package/dist/field-DLSIuMTu.mjs.map +1 -1
- package/dist/file-utils-DjNi_3U_.mjs.map +1 -1
- package/dist/interceptor-DTNS0EtF.mjs.map +1 -1
- package/dist/job-M3Avv_SV.mjs.map +1 -1
- package/dist/kysely/index.mjs.map +1 -1
- package/dist/kysely-type-B8aRz_oC.mjs.map +1 -1
- package/dist/logger-DTNAMYGy.mjs.map +1 -1
- package/dist/mock-BfL09ULZ.mjs.map +1 -1
- package/dist/multiline-e3IpANmS.mjs.map +1 -1
- package/dist/package-json-6Px8bDpG.mjs.map +1 -1
- package/dist/plugin/index.mjs.map +1 -1
- package/dist/repl-editor-jZ493eQI.mjs.map +1 -1
- package/dist/{runtime-CNg0w27y.mjs → runtime-oZgK353r.mjs} +91 -10
- package/dist/runtime-oZgK353r.mjs.map +1 -0
- package/dist/schema-C5QjYEc-.mjs.map +1 -1
- package/dist/secret-file-BHpxGyNf.mjs.map +1 -1
- package/dist/seed/index.mjs.map +1 -1
- package/dist/seed-DjfAn0BC.mjs.map +1 -1
- package/dist/service-DCgJxdg1.mjs.map +1 -1
- package/dist/telemetry-C1Y56L5E.mjs.map +1 -1
- package/dist/types-sir9UPht.mjs.map +1 -1
- package/dist/utils/test/index.mjs.map +1 -1
- package/dist/vitest/environment.mjs.map +1 -1
- package/dist/vitest/index.mjs.map +1 -1
- package/dist/vitest/setup.mjs.map +1 -1
- package/docs/cli/workspace.md +20 -17
- package/package.json +6 -6
- package/dist/application-BNkNt47b.mjs +0 -4
- package/dist/application-DUENhx4Y.mjs.map +0 -1
- package/dist/runtime-CNg0w27y.mjs.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { t as db } from "./schema-C5QjYEc-.mjs";
|
|
3
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-_kHh0Pip.mjs";
|
|
4
4
|
import { a as parseBoolean, i as symbols, n as logger, r as styles, t as CIPromptError } from "./logger-DTNAMYGy.mjs";
|
|
5
|
-
import { C as loadConfigPath, O as writePlatformConfig, S as loadAccessToken, T as readPlatformConfig, _ as getDistDir, d as buildResolverOperationHookExpr, f as OAuth2ClientSchema, g as createBundleCache, h as loadFilesWithIgnores, m as stringifyFunction, n as generatePluginFilesIfNeeded, p as TailorDBTypeSchema, r as loadApplication, s as createExecutorService, t as defineApplication, u as buildExecutorArgsExpr, v as hashFile, w as loadWorkspaceId, y as loadConfig } from "./application-
|
|
5
|
+
import { C as loadConfigPath, O as writePlatformConfig, S as loadAccessToken, T as readPlatformConfig, _ as getDistDir, d as buildResolverOperationHookExpr, f as OAuth2ClientSchema, g as createBundleCache, h as loadFilesWithIgnores, m as stringifyFunction, n as generatePluginFilesIfNeeded, p as TailorDBTypeSchema, r as loadApplication, s as createExecutorService, t as defineApplication, u as buildExecutorArgsExpr, v as hashFile, w as loadWorkspaceId, y as loadConfig } from "./application-CZMzt9jL.mjs";
|
|
6
6
|
import { t as multiline } from "./multiline-e3IpANmS.mjs";
|
|
7
7
|
import { t as readPackageJson } from "./package-json-6Px8bDpG.mjs";
|
|
8
8
|
import { n as isCLIError, t as createCLIError } from "./errors-pMPXghkO.mjs";
|
|
@@ -267,6 +267,38 @@ function isVerbose() {
|
|
|
267
267
|
*/
|
|
268
268
|
const defineAppCommand = createDefineCommand();
|
|
269
269
|
|
|
270
|
+
//#endregion
|
|
271
|
+
//#region src/cli/shared/readonly-guard.ts
|
|
272
|
+
/**
|
|
273
|
+
* Throw a CLIError if the active profile has `readonly: true`.
|
|
274
|
+
*
|
|
275
|
+
* Resolves the active profile in this order:
|
|
276
|
+
* 1. `opts.profile` (CLI flag)
|
|
277
|
+
* 2. `process.env.TAILOR_PLATFORM_PROFILE`
|
|
278
|
+
*
|
|
279
|
+
* If neither is set, no profile is in scope so the call is allowed. This is
|
|
280
|
+
* intentional: `TAILOR_PLATFORM_TOKEN` direct access (CI / machine user) and
|
|
281
|
+
* `--workspace-id` without a profile are out-of-band paths whose authorization
|
|
282
|
+
* is governed by the bearer token itself, not by the local profile flag.
|
|
283
|
+
*
|
|
284
|
+
* If the resolved profile cannot be found in the config, this function returns
|
|
285
|
+
* silently and lets downstream loaders surface the not-found error.
|
|
286
|
+
* @param opts - Options
|
|
287
|
+
* @param opts.profile - Optional explicit profile name from command args
|
|
288
|
+
*/
|
|
289
|
+
async function assertWritable(opts) {
|
|
290
|
+
const profileName = opts?.profile || process.env.TAILOR_PLATFORM_PROFILE;
|
|
291
|
+
if (!profileName) return;
|
|
292
|
+
const profile = (await readPlatformConfig()).profiles[profileName];
|
|
293
|
+
if (!profile || profile.readonly !== true) return;
|
|
294
|
+
throw createCLIError({
|
|
295
|
+
code: "PROFILE_READONLY",
|
|
296
|
+
message: `Profile "${profileName}" is read-only.`,
|
|
297
|
+
details: "This profile blocks platform-state mutations (apply, create/update/delete, deploy, etc.). Application-data operations remain available because their permissions are governed by the machine user.",
|
|
298
|
+
suggestion: `Use a different profile, unset TAILOR_PLATFORM_PROFILE, or run 'tailor-sdk profile update ${profileName} --permission write'.`
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
270
302
|
//#endregion
|
|
271
303
|
//#region src/cli/commands/api/api-call.ts
|
|
272
304
|
/**
|
|
@@ -568,6 +600,7 @@ Values already present in \`--body\` are never overridden. If a value cannot be
|
|
|
568
600
|
})
|
|
569
601
|
}).strict(),
|
|
570
602
|
run: async (args) => {
|
|
603
|
+
await assertWritable({ profile: args.profile });
|
|
571
604
|
const methodName = extractMethodName(args.endpoint);
|
|
572
605
|
const method = getMethodDescriptor(methodName);
|
|
573
606
|
const parsedBody = parseBodyAsObject(args.body);
|
|
@@ -7523,7 +7556,7 @@ function formatRemoteVerificationResults(results) {
|
|
|
7523
7556
|
* @param {ReadonlyMap<string, Record<string, TailorDBType>>} typesByNamespace - Types by namespace
|
|
7524
7557
|
* @param {LoadedConfig} config - Loaded application config (includes path)
|
|
7525
7558
|
* @param {boolean} noSchemaCheck - Whether to skip schema diff check
|
|
7526
|
-
* @returns {Promise<
|
|
7559
|
+
* @returns {Promise<ValidateAndDetectResult>} Pending migrations and namespaces that have migration directories configured
|
|
7527
7560
|
*/
|
|
7528
7561
|
async function validateAndDetectMigrations(client, workspaceId, typesByNamespace, config, noSchemaCheck) {
|
|
7529
7562
|
const namespacesWithMigrations = getNamespacesWithMigrations(config, path.dirname(config.path));
|
|
@@ -7564,7 +7597,38 @@ async function validateAndDetectMigrations(client, workspaceId, typesByNamespace
|
|
|
7564
7597
|
if (withScripts.length > 0) logger.info(` • ${withScripts.length} data migration(s) (requires migration script execution)`, { mode: "plain" });
|
|
7565
7598
|
}
|
|
7566
7599
|
}
|
|
7567
|
-
return
|
|
7600
|
+
return {
|
|
7601
|
+
pendingMigrations,
|
|
7602
|
+
namespacesWithMigrations
|
|
7603
|
+
};
|
|
7604
|
+
}
|
|
7605
|
+
/**
|
|
7606
|
+
* Reconcile the on-remote migration label with the working tree's latest
|
|
7607
|
+
* migration number for each namespace.
|
|
7608
|
+
*
|
|
7609
|
+
* Used after a `--no-schema-check` apply: that flag skips the local/remote
|
|
7610
|
+
* snapshot drift checks, but if it also leaves the label untouched the remote
|
|
7611
|
+
* label can drift past the working tree's latest migration (e.g. when
|
|
7612
|
+
* checking out an older revision and re-deploying). A subsequent run would
|
|
7613
|
+
* then reconstruct the expected snapshot at a label that no longer exists in
|
|
7614
|
+
* the working tree, triggering a false drift error.
|
|
7615
|
+
*
|
|
7616
|
+
* Always force `label = working_tree_max` regardless of the previous label so
|
|
7617
|
+
* the invariant `label <= working_tree_max` is preserved.
|
|
7618
|
+
* @param client - Operator client instance
|
|
7619
|
+
* @param workspaceId - Workspace ID
|
|
7620
|
+
* @param namespacesWithMigrations - Namespaces that have migration directories configured
|
|
7621
|
+
*/
|
|
7622
|
+
async function reconcileMigrationLabels(client, workspaceId, namespacesWithMigrations) {
|
|
7623
|
+
for (const { namespace, migrationsDir } of namespacesWithMigrations) {
|
|
7624
|
+
const targetVersion = getLatestMigrationNumber(migrationsDir);
|
|
7625
|
+
const currentVersion = await getRemoteMigrationNumber(client, workspaceId, namespace);
|
|
7626
|
+
await updateMigrationLabel(client, workspaceId, namespace, targetVersion);
|
|
7627
|
+
if (currentVersion !== targetVersion) {
|
|
7628
|
+
const from = currentVersion === null ? "<unset>" : formatMigrationNumber(currentVersion);
|
|
7629
|
+
logger.info(`Migration label for namespace ${namespace} reconciled: ${from} → ${formatMigrationNumber(targetVersion)}.`);
|
|
7630
|
+
}
|
|
7631
|
+
}
|
|
7568
7632
|
}
|
|
7569
7633
|
/**
|
|
7570
7634
|
* Build migration execution context for script-based migrations.
|
|
@@ -7600,7 +7664,7 @@ async function applyTailorDB(client, result, phase = "create-update") {
|
|
|
7600
7664
|
const types = tailordb.types;
|
|
7601
7665
|
if (types) typesByNamespace.set(tailordb.namespace, types);
|
|
7602
7666
|
}
|
|
7603
|
-
const pendingMigrations = await validateAndDetectMigrations(client, migrationContext.workspaceId, typesByNamespace, migrationContext.config, migrationContext.noSchemaCheck);
|
|
7667
|
+
const { pendingMigrations, namespacesWithMigrations } = await validateAndDetectMigrations(client, migrationContext.workspaceId, typesByNamespace, migrationContext.config, migrationContext.noSchemaCheck);
|
|
7604
7668
|
if (pendingMigrations.length > 0) {
|
|
7605
7669
|
processedTypes.reset();
|
|
7606
7670
|
deletedResources.reset();
|
|
@@ -7640,6 +7704,7 @@ async function applyTailorDB(client, result, phase = "create-update") {
|
|
|
7640
7704
|
await Promise.all(changeSet.gqlPermission.deletes.map((del) => client.deleteTailorDBGQLPermission(del.request)));
|
|
7641
7705
|
await Promise.all(changeSet.type.deletes.map((del) => client.deleteTailorDBType(del.request)));
|
|
7642
7706
|
}
|
|
7707
|
+
if (migrationContext.noSchemaCheck && namespacesWithMigrations.length > 0) await reconcileMigrationLabels(client, migrationContext.workspaceId, namespacesWithMigrations);
|
|
7643
7708
|
} else if (phase === "delete-resources") {
|
|
7644
7709
|
await Promise.all(changeSet.gqlPermission.deletes.map((del) => client.deleteTailorDBGQLPermission(del.request)));
|
|
7645
7710
|
await Promise.all(changeSet.type.deletes.map((del) => client.deleteTailorDBType(del.request)));
|
|
@@ -10957,6 +11022,7 @@ The \`--logs\` option displays logs from the downstream execution when available
|
|
|
10957
11022
|
})
|
|
10958
11023
|
}).strict(),
|
|
10959
11024
|
run: async (args) => {
|
|
11025
|
+
await assertWritable({ profile: args.profile });
|
|
10960
11026
|
const client = await initOperatorClient(await loadAccessToken({
|
|
10961
11027
|
useProfile: true,
|
|
10962
11028
|
profile: args.profile
|
|
@@ -12463,6 +12529,7 @@ const createCommand$1 = defineAppCommand({
|
|
|
12463
12529
|
})
|
|
12464
12530
|
}).strict(),
|
|
12465
12531
|
run: async (args) => {
|
|
12532
|
+
await assertWritable();
|
|
12466
12533
|
const folder = await createFolder({
|
|
12467
12534
|
organizationId: args["organization-id"],
|
|
12468
12535
|
parentFolderId: args["parent-folder-id"],
|
|
@@ -12501,6 +12568,7 @@ const deleteCommand$1 = defineAppCommand({
|
|
|
12501
12568
|
...confirmationArgs
|
|
12502
12569
|
}).strict(),
|
|
12503
12570
|
run: async (args) => {
|
|
12571
|
+
await assertWritable();
|
|
12504
12572
|
const client = await initOperatorClient(await loadAccessToken());
|
|
12505
12573
|
let folderName;
|
|
12506
12574
|
try {
|
|
@@ -12651,6 +12719,7 @@ const updateCommand$2 = defineAppCommand({
|
|
|
12651
12719
|
})
|
|
12652
12720
|
}).strict(),
|
|
12653
12721
|
run: async (args) => {
|
|
12722
|
+
await assertWritable();
|
|
12654
12723
|
const folder = await updateFolder({
|
|
12655
12724
|
organizationId: args["organization-id"],
|
|
12656
12725
|
folderId: args["folder-id"],
|
|
@@ -12876,6 +12945,7 @@ const updateCommand$1 = defineAppCommand({
|
|
|
12876
12945
|
})
|
|
12877
12946
|
}).strict(),
|
|
12878
12947
|
run: async (args) => {
|
|
12948
|
+
await assertWritable();
|
|
12879
12949
|
const organization = await updateOrganization({
|
|
12880
12950
|
organizationId: args["organization-id"],
|
|
12881
12951
|
name: args.name
|
|
@@ -12980,6 +13050,7 @@ const removeCommand$1 = defineAppCommand({
|
|
|
12980
13050
|
...confirmationArgs
|
|
12981
13051
|
}).strict(),
|
|
12982
13052
|
run: async (args) => {
|
|
13053
|
+
await assertWritable({ profile: args.profile });
|
|
12983
13054
|
const { client, workspaceId, application, config } = await loadOptions$10({
|
|
12984
13055
|
workspaceId: args["workspace-id"],
|
|
12985
13056
|
profile: args.profile,
|
|
@@ -13643,7 +13714,7 @@ async function generate(options) {
|
|
|
13643
13714
|
if (options.init) await handleInitOption(namespacesWithMigrations, options.yes);
|
|
13644
13715
|
let pluginManager;
|
|
13645
13716
|
if (plugins.length > 0) pluginManager = new PluginManager(plugins);
|
|
13646
|
-
const { defineApplication } = await import("./application-
|
|
13717
|
+
const { defineApplication } = await import("./application-v_E2W-Fz.mjs");
|
|
13647
13718
|
const application = defineApplication({
|
|
13648
13719
|
config,
|
|
13649
13720
|
pluginManager
|
|
@@ -13973,6 +14044,7 @@ const truncateCommand = defineAppCommand({
|
|
|
13973
14044
|
})
|
|
13974
14045
|
}).strict(),
|
|
13975
14046
|
run: async (args) => {
|
|
14047
|
+
await assertWritable({ profile: args.profile });
|
|
13976
14048
|
const types = args.types && args.types.length > 0 ? args.types : void 0;
|
|
13977
14049
|
await $truncate({
|
|
13978
14050
|
workspaceId: args["workspace-id"],
|
|
@@ -14355,9 +14427,11 @@ const createCommand = defineAppCommand({
|
|
|
14355
14427
|
alias: "p",
|
|
14356
14428
|
description: "Profile name to create"
|
|
14357
14429
|
}),
|
|
14358
|
-
"profile-user": arg(z.string().optional(), { description: "User email for the profile (defaults to current user)" })
|
|
14430
|
+
"profile-user": arg(z.string().optional(), { description: "User email for the profile (defaults to current user)" }),
|
|
14431
|
+
permission: arg(z.enum(["write", "read"]).default("write"), { description: "Profile permission (requires --profile-name). 'read' blocks all write commands while the profile is active." })
|
|
14359
14432
|
}).strict(),
|
|
14360
14433
|
run: async (args) => {
|
|
14434
|
+
await assertWritable();
|
|
14361
14435
|
const workspace = await createWorkspace({
|
|
14362
14436
|
name: args.name,
|
|
14363
14437
|
region: args.region,
|
|
@@ -14375,13 +14449,15 @@ const createCommand = defineAppCommand({
|
|
|
14375
14449
|
if (!config.users[profileUser]) throw new Error(`User "${profileUser}" not found.\nPlease verify your user name and login using 'tailor-sdk login' command.`);
|
|
14376
14450
|
config.profiles[profileName] = {
|
|
14377
14451
|
user: profileUser,
|
|
14378
|
-
workspace_id: workspace.id
|
|
14452
|
+
workspace_id: workspace.id,
|
|
14453
|
+
...args.permission === "read" ? { readonly: true } : {}
|
|
14379
14454
|
};
|
|
14380
14455
|
writePlatformConfig(config);
|
|
14381
14456
|
profileInfo = {
|
|
14382
14457
|
name: profileName,
|
|
14383
14458
|
user: profileUser,
|
|
14384
|
-
workspaceId: workspace.id
|
|
14459
|
+
workspaceId: workspace.id,
|
|
14460
|
+
permission: args.permission
|
|
14385
14461
|
};
|
|
14386
14462
|
if (!args.json) logger.success(`Profile "${profileName}" created successfully.`);
|
|
14387
14463
|
}
|
|
@@ -14432,6 +14508,7 @@ const deleteCommand = defineAppCommand({
|
|
|
14432
14508
|
...confirmationArgs
|
|
14433
14509
|
}).strict(),
|
|
14434
14510
|
run: async (args) => {
|
|
14511
|
+
await assertWritable();
|
|
14435
14512
|
const { client, workspaceId } = await loadOptions$7({ workspaceId: args["workspace-id"] });
|
|
14436
14513
|
let workspace;
|
|
14437
14514
|
try {
|
|
@@ -14569,6 +14646,7 @@ const restoreCommand = defineAppCommand({
|
|
|
14569
14646
|
...confirmationArgs
|
|
14570
14647
|
}).strict(),
|
|
14571
14648
|
run: async (args) => {
|
|
14649
|
+
await assertWritable();
|
|
14572
14650
|
const { client, workspaceId } = await loadOptions$5({ workspaceId: args["workspace-id"] });
|
|
14573
14651
|
if (!args.yes) {
|
|
14574
14652
|
if (await prompt.text({ message: `Are you sure you want to restore workspace "${workspaceId}"? (yes/no):` }) !== "yes") {
|
|
@@ -14661,6 +14739,7 @@ const inviteCommand = defineAppCommand({
|
|
|
14661
14739
|
})
|
|
14662
14740
|
}).strict(),
|
|
14663
14741
|
run: async (args) => {
|
|
14742
|
+
await assertWritable({ profile: args.profile });
|
|
14664
14743
|
await inviteUser({
|
|
14665
14744
|
workspaceId: args["workspace-id"],
|
|
14666
14745
|
profile: args.profile,
|
|
@@ -14774,6 +14853,7 @@ const removeCommand = defineAppCommand({
|
|
|
14774
14853
|
...confirmationArgs
|
|
14775
14854
|
}).strict(),
|
|
14776
14855
|
run: async (args) => {
|
|
14856
|
+
await assertWritable({ profile: args.profile });
|
|
14777
14857
|
if (!args.yes) {
|
|
14778
14858
|
if (await prompt.text({ message: `Are you sure you want to remove user "${args.email}" from the workspace? (yes/no):` }) !== "yes") {
|
|
14779
14859
|
logger.info("User removal cancelled.");
|
|
@@ -14838,6 +14918,7 @@ const updateCommand = defineAppCommand({
|
|
|
14838
14918
|
})
|
|
14839
14919
|
}).strict(),
|
|
14840
14920
|
run: async (args) => {
|
|
14921
|
+
await assertWritable({ profile: args.profile });
|
|
14841
14922
|
await updateUser({
|
|
14842
14923
|
workspaceId: args["workspace-id"],
|
|
14843
14924
|
profile: args.profile,
|
|
@@ -15791,5 +15872,5 @@ function isDeno() {
|
|
|
15791
15872
|
}
|
|
15792
15873
|
|
|
15793
15874
|
//#endregion
|
|
15794
|
-
export { deleteCommand$1 as $, getMigrationDirPath as $t, truncate as A, executionsCommand as At, updateOrganization as B, MIGRATION_LABEL_KEY as Bt, listCommand$2 as C,
|
|
15795
|
-
//# sourceMappingURL=runtime-
|
|
15875
|
+
export { deleteCommand$1 as $, getMigrationDirPath as $t, truncate as A, executionsCommand as At, updateOrganization as B, MIGRATION_LABEL_KEY as Bt, listCommand$2 as C, paginationArgs as Cn, jobsCommand as Ct, resumeWorkflow as D, startWorkflow as Dt, resumeCommand as E, startCommand as Et, showCommand as F, getCommand$6 as Ft, getCommand$1 as G, INITIAL_SCHEMA_NUMBER as Gt, treeCommand as H, bundleMigrationScript as Ht, logBetaWarning as I, getExecutor as It, updateFolder as J, compareLocalTypesWithSnapshot as Jt, getOrganization as K, MIGRATE_FILE_NAME as Kt, remove as L, deploy as Lt, generate as M, listWorkflowExecutions as Mt, generateCommand as N, functionExecutionStatusToString as Nt, listCommand$3 as O, getCommand$5 as Ot, show as P, formatKeyValueTable as Pt, getFolder as Q, getLatestMigrationNumber as Qt, removeCommand$1 as R, executeScript as Rt, listApps as S, pagedLogArgs as Sn, getExecutorJob as St, healthCommand as T, workspaceArgs as Tn, watchExecutorJob as Tt, listCommand$4 as U, DB_TYPES_FILE_NAME as Ut, organizationTree as V, parseMigrationLabelNumber as Vt, listOrganizations as W, DIFF_FILE_NAME as Wt, listFolders as X, createSnapshotFromLocalTypes as Xt, listCommand$5 as Y, compareSnapshots as Yt, getCommand$2 as Z, formatMigrationNumber as Zt, getWorkspace as _, defineAppCommand as _n, webhookCommand as _t, updateUser as a, reconstructSnapshotFromMigrations as an, getCommand$3 as at, createCommand as b, deploymentArgs as bn, listCommand$9 as bt, listCommand as c, hasChanges as cn, tokenCommand as ct, inviteUser as d, trnPrefix as dn, generate$1 as dt, getMigrationFilePath as en, deleteFolder as et, restoreCommand as f, generateUserTypes as fn, listCommand$8 as ft, getCommand as g, assertWritable as gn, listWebhookExecutors as gt, listWorkspaces as h, apiCall as hn, getFunctionRegistry as ht, updateCommand as i, loadDiff as in, listOAuth2Clients as it, truncateCommand as j, getWorkflowExecution as jt, listWorkflows as k, getWorkflow as kt, listUsers as l, getNamespacesWithMigrations as ln, listCommand$7 as lt, listCommand$1 as m, apiCommand as mn, getCommand$4 as mt, query as n, getNextMigrationNumber as nn, createFolder as nt, removeCommand as o, formatDiffSummary as on, getOAuth2Client as ot, restoreWorkspace as p, prompt as pn, listFunctionRegistries as pt, updateCommand$2 as q, SCHEMA_FILE_NAME as qt, queryCommand as r, isValidMigrationNumber as rn, listCommand$6 as rt, removeUser as s, formatMigrationDiff as sn, getMachineUserToken as st, isNativeTypeScriptRuntime as t, getMigrationFiles as tn, createCommand$1 as tt, inviteCommand as u, sdkNameLabelKey as un, listMachineUsers as ut, deleteCommand as v, commonArgs as vn, triggerCommand as vt, getAppHealth as w, toPageDirection as wn, listExecutorJobs as wt, createWorkspace as x, isVerbose as xn, listExecutors as xt, deleteWorkspace as y, confirmationArgs as yn, triggerExecutor as yt, updateCommand$1 as z, waitForExecution$1 as zt };
|
|
15876
|
+
//# sourceMappingURL=runtime-oZgK353r.mjs.map
|