@tailor-platform/sdk 1.39.1 → 1.40.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 (53) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +7 -10
  3. package/dist/{actor-Bb4OVq1j.d.mts → actor-B2oEmlTc.d.mts} +2 -2
  4. package/dist/application-CEeKm4R-.mjs +4 -0
  5. package/dist/{application-BHu8YE-g.mjs → application-C_LFXkKJ.mjs} +2 -2
  6. package/dist/{application-BHu8YE-g.mjs.map → application-C_LFXkKJ.mjs.map} +1 -1
  7. package/dist/cli/index.mjs +153 -32
  8. package/dist/cli/index.mjs.map +1 -1
  9. package/dist/cli/lib.d.mts +40 -6
  10. package/dist/cli/lib.mjs +3 -3
  11. package/dist/cli/skills.mjs +13 -43
  12. package/dist/cli/skills.mjs.map +1 -1
  13. package/dist/{client-B2K45RvK.mjs → client-DjGFRjH4.mjs} +31 -3
  14. package/dist/{client-B2K45RvK.mjs.map → client-DjGFRjH4.mjs.map} +1 -1
  15. package/dist/client-Dtf48x0o.mjs +4 -0
  16. package/dist/configure/index.d.mts +4 -4
  17. package/dist/{crash-report-CPUF3T5d.mjs → crash-report-CEIXtw4D.mjs} +1 -1
  18. package/dist/{crash-report-CACiemAr.mjs → crash-report-CSWITsTz.mjs} +2 -2
  19. package/dist/{crash-report-CACiemAr.mjs.map → crash-report-CSWITsTz.mjs.map} +1 -1
  20. package/dist/{index-Cx1RYDbu.d.mts → index-BtXZdz-F.d.mts} +2 -2
  21. package/dist/{index-CeFwhUkX.d.mts → index-Chvw1Eod.d.mts} +2 -2
  22. package/dist/{index-Ch8Em3nz.d.mts → index-CiNNNpuH.d.mts} +2 -2
  23. package/dist/{index-BYmdVno1.d.mts → index-D_ezppY7.d.mts} +4 -4
  24. package/dist/{index-DLO_XvLi.d.mts → index-reFAYSX7.d.mts} +2 -2
  25. package/dist/{interceptor-B5bKVwgq.mjs → interceptor-4UC-KTno.mjs} +1 -1
  26. package/dist/{interceptor-B5bKVwgq.mjs.map → interceptor-4UC-KTno.mjs.map} +1 -1
  27. package/dist/plugin/builtin/enum-constants/index.d.mts +1 -1
  28. package/dist/plugin/builtin/file-utils/index.d.mts +1 -1
  29. package/dist/plugin/builtin/kysely-type/index.d.mts +1 -1
  30. package/dist/plugin/builtin/seed/index.d.mts +1 -1
  31. package/dist/plugin/index.d.mts +2 -2
  32. package/dist/repl-editor-DjycioU-.mjs +255 -0
  33. package/dist/repl-editor-DjycioU-.mjs.map +1 -0
  34. package/dist/{runtime-2xqzvkQv.mjs → runtime-im7Sq4jO.mjs} +231 -171
  35. package/dist/runtime-im7Sq4jO.mjs.map +1 -0
  36. package/dist/{tailor-db-field-B99RnR2N.d.mts → tailor-db-field-CoFKRCYW.d.mts} +1 -1
  37. package/dist/utils/test/index.d.mts +2 -2
  38. package/dist/{workflow.generated-DSwr-k57.d.mts → workflow.generated-Btz6srLR.d.mts} +2 -2
  39. package/docs/cli/auth.md +20 -14
  40. package/docs/cli/executor.md +17 -14
  41. package/docs/cli/function.md +6 -4
  42. package/docs/cli/query.md +45 -0
  43. package/docs/cli/secret.md +13 -9
  44. package/docs/cli/skills.md +75 -0
  45. package/docs/cli/staticwebsite.md +6 -4
  46. package/docs/cli/user.md +9 -1
  47. package/docs/cli/workflow.md +17 -13
  48. package/docs/cli-reference.md +16 -0
  49. package/docs/services/workflow.md +1 -1
  50. package/package.json +11 -8
  51. package/dist/application-C8Lr37AM.mjs +0 -4
  52. package/dist/client-CEVmv94H.mjs +0 -4
  53. package/dist/runtime-2xqzvkQv.mjs.map +0 -1
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { A as FunctionExecution_Type, L as AuthInvokerSchema, W as PATScope, i as fetchAll, l as initOAuth2Client, m as userAgent, n as closeConnectionPool, o as fetchPlatformMachineUserToken, s as fetchUserInfo, u as initOperatorClient } from "../client-B2K45RvK.mjs";
3
+ import { G as PATScope, R as AuthInvokerSchema, c as fetchUserInfo, d as initOperatorClient, h as userAgent, i as fetchAll, j as FunctionExecution_Type, n as closeConnectionPool, o as fetchPaged, s as fetchPlatformMachineUserToken, u as initOAuth2Client } from "../client-DjGFRjH4.mjs";
4
4
  import { n as logger, r as styles } from "../logger-DTNAMYGy.mjs";
5
- import { $ as deleteCommand$3, $t as isValidMigrationNumber, At as formatKeyValueTable, C as listCommand$12, E as resumeCommand, Et as executionsCommand, F as showCommand, G as getCommand$4, H as treeCommand, I as logBetaWarning, Lt as parseMigrationLabelNumber, N as generateCommand$1, Nt as apply, O as listCommand$11, Pt as executeScript, R as removeCommand$1, St as startCommand, T as healthCommand, U as listCommand$10, Xt as getMigrationFilePath, Y as listCommand$9, Z as getCommand$3, Zt as getMigrationFiles, _n as workspaceArgs, an as getNamespacesWithMigrations, at as getCommand$2, b as createCommand$4, c as listCommand$13, cn as trnPrefix, ct as tokenCommand, dn as apiCommand, dt as generate, en as loadDiff, f as restoreCommand, fn as defineAppCommand, g as getCommand$6, gn as isVerbose, gt as listCommand$6, hn as deploymentArgs, i as updateCommand$4, j as truncateCommand, jt as getCommand$1, kt as functionExecutionStatusToString, lt as listCommand$7, m as listCommand$14, mn as confirmationArgs, mt as triggerCommand, o as removeCommand, on as prompt, pn as commonArgs, pt as webhookCommand, q as updateCommand$2, qt as formatMigrationNumber, r as queryCommand, rt as listCommand$8, sn as sdkNameLabelKey, t as isNativeTypeScriptRuntime, tt as createCommand$3, u as inviteCommand, v as deleteCommand$4, wt as getCommand$5, yt as jobsCommand, z as updateCommand$3 } from "../runtime-2xqzvkQv.mjs";
5
+ import { $ as deleteCommand$3, $t as isValidMigrationNumber, At as formatKeyValueTable, C as listCommand$12, E as resumeCommand, Et as executionsCommand, F as showCommand, G as getCommand$4, H as treeCommand, I as logBetaWarning, Lt as parseMigrationLabelNumber, N as generateCommand$1, Nt as apply, O as listCommand$11, Pt as executeScript, R as removeCommand$1, St as startCommand, T as healthCommand, U as listCommand$10, Xt as getMigrationFilePath, Y as listCommand$9, Z as getCommand$3, Zt as getMigrationFiles, _n as pagedLogArgs, an as getNamespacesWithMigrations, at as getCommand$2, b as createCommand$4, bn as workspaceArgs, c as listCommand$13, cn as trnPrefix, ct as tokenCommand, dn as apiCommand, dt as generate, en as loadDiff, f as restoreCommand, fn as defineAppCommand, g as getCommand$6, gn as isVerbose, gt as listCommand$6, hn as deploymentArgs, i as updateCommand$4, j as truncateCommand, jt as getCommand$1, kt as functionExecutionStatusToString, lt as listCommand$7, m as listCommand$14, mn as confirmationArgs, mt as triggerCommand, o as removeCommand, on as prompt, pn as commonArgs, pt as webhookCommand, q as updateCommand$2, qt as formatMigrationNumber, r as queryCommand, rt as listCommand$8, sn as sdkNameLabelKey, t as isNativeTypeScriptRuntime, tt as createCommand$3, u as inviteCommand, v as deleteCommand$4, vn as paginationArgs, wt as getCommand$5, yn as toPageDirection, yt as jobsCommand, z as updateCommand$3 } from "../runtime-im7Sq4jO.mjs";
6
6
  import { t as readPackageJson } from "../package-json-CWp8s9dE.mjs";
7
- import { C as resolveTokens, S as readPlatformConfig, T as writePlatformConfig, _ as loadConfig, a as WorkflowJobSchema, b as loadAccessToken, c as ExecutorSchema, h as getDistDir, i as resolveInlineSourcemap, o as ResolverSchema, v as deleteUserTokens, w as saveUserTokens, x as loadWorkspaceId, y as fetchLatestToken } from "../application-BHu8YE-g.mjs";
8
- import { a as JSON_FOOTER_MARKER, i as CRASH_LOG_EXTENSION, o as parseCrashReportConfig, r as sendCrashReport, t as initCrashReporting } from "../crash-report-CACiemAr.mjs";
7
+ import { C as resolveTokens, S as readPlatformConfig, T as writePlatformConfig, _ as loadConfig, a as WorkflowJobSchema, b as loadAccessToken, c as ExecutorSchema, h as getDistDir, i as resolveInlineSourcemap, o as ResolverSchema, v as deleteUserTokens, w as saveUserTokens, x as loadWorkspaceId, y as fetchLatestToken } from "../application-C_LFXkKJ.mjs";
8
+ import { a as JSON_FOOTER_MARKER, i as CRASH_LOG_EXTENSION, o as parseCrashReportConfig, r as sendCrashReport, t as initCrashReporting } from "../crash-report-CSWITsTz.mjs";
9
9
  import { n as isCLIError } from "../errors-ChWX5ZG8.mjs";
10
10
  import { createRequire } from "node:module";
11
11
  import { arg, defineCommand, runCommand, runMain } from "politty";
@@ -14,12 +14,13 @@ import { z } from "zod";
14
14
  import { timestampDate } from "@bufbuild/protobuf/wkt";
15
15
  import * as fs$1 from "node:fs";
16
16
  import * as path from "pathe";
17
+ import { dirname, resolve } from "pathe";
17
18
  import { generateCodeVerifier } from "@badgateway/oauth2-client";
18
19
  import { Code, ConnectError } from "@connectrpc/connect";
19
20
  import * as http from "node:http";
20
21
  import * as crypto from "node:crypto";
21
22
  import { pathToFileURL } from "node:url";
22
- import { resolveTSConfig } from "pkg-types";
23
+ import { resolvePackageJSON, resolveTSConfig } from "pkg-types";
23
24
  import ml from "multiline-ts";
24
25
  import * as rolldown from "rolldown";
25
26
  import { create } from "@bufbuild/protobuf";
@@ -206,7 +207,10 @@ function connectionInfo(connection) {
206
207
  const listAuthConnectionCommand = defineAppCommand({
207
208
  name: "list",
208
209
  description: "List all auth connections.",
209
- args: z.object({ ...workspaceArgs }).strict(),
210
+ args: z.object({
211
+ ...workspaceArgs,
212
+ ...paginationArgs()
213
+ }).strict(),
210
214
  run: async (args) => {
211
215
  const client = await initOperatorClient(await loadAccessToken({
212
216
  useProfile: true,
@@ -217,14 +221,16 @@ const listAuthConnectionCommand = defineAppCommand({
217
221
  profile: args.profile
218
222
  });
219
223
  try {
220
- const connections = await fetchAll(async (pageToken, maxPageSize) => {
224
+ const pageDirection = toPageDirection(args.order);
225
+ const connections = await fetchPaged(async (pageToken, pageSize) => {
221
226
  const { connections, nextPageToken } = await client.listAuthConnections({
222
227
  workspaceId,
223
228
  pageToken,
224
- pageSize: maxPageSize
229
+ pageSize,
230
+ pageDirection
225
231
  });
226
232
  return [connections, nextPageToken];
227
- });
233
+ }, { limit: args.limit });
228
234
  logger.out(connections.map(connectionInfo));
229
235
  } catch (error) {
230
236
  if (error instanceof ConnectError && error.code === Code.NotFound) {
@@ -915,6 +921,7 @@ When the deployed script cannot be downloaded or the function has been redeploye
915
921
  ],
916
922
  args: z.object({
917
923
  ...workspaceArgs,
924
+ ...pagedLogArgs,
918
925
  executionId: arg(z.string().optional(), {
919
926
  positional: true,
920
927
  description: "Execution ID (if provided, shows details with logs)"
@@ -948,14 +955,16 @@ When the deployed script cannot be downloaded or the function has been redeploye
948
955
  }) : null
949
956
  });
950
957
  } else {
951
- const logs = (await fetchAll(async (pageToken, maxPageSize) => {
958
+ const pageDirection = toPageDirection(args.order);
959
+ const logs = (await fetchPaged(async (pageToken, pageSize) => {
952
960
  const { executions, nextPageToken } = await client.listFunctionExecutions({
953
961
  workspaceId,
954
962
  pageToken,
955
- pageSize: maxPageSize
963
+ pageSize,
964
+ pageDirection
956
965
  });
957
966
  return [executions, nextPageToken];
958
- })).map(toFunctionExecutionListInfo);
967
+ }, { limit: args.limit })).map(toFunctionExecutionListInfo);
959
968
  if (logs.length === 0 && !args.json) {
960
969
  logger.info("No function execution logs found.");
961
970
  return;
@@ -2160,29 +2169,34 @@ async function secretList(options) {
2160
2169
  workspaceId: options.workspaceId,
2161
2170
  profile: options.profile
2162
2171
  });
2163
- return (await fetchAll(async (pageToken, maxPageSize) => {
2172
+ const pageDirection = toPageDirection(options.order);
2173
+ return (await fetchPaged(async (pageToken, pageSize) => {
2164
2174
  const { secrets, nextPageToken } = await client.listSecretManagerSecrets({
2165
2175
  workspaceId,
2166
2176
  secretmanagerVaultName: options.vaultName,
2167
2177
  pageToken,
2168
- pageSize: maxPageSize
2178
+ pageSize,
2179
+ pageDirection
2169
2180
  });
2170
2181
  return [secrets, nextPageToken];
2171
- })).map(secretInfo);
2182
+ }, { limit: options.limit })).map(secretInfo);
2172
2183
  }
2173
2184
  const listSecretCommand = defineAppCommand({
2174
2185
  name: "list",
2175
2186
  description: "List all secrets in a vault.",
2176
2187
  args: z.object({
2177
2188
  ...workspaceArgs,
2178
- ...vaultArgs
2189
+ ...vaultArgs,
2190
+ ...paginationArgs()
2179
2191
  }).strict(),
2180
2192
  run: async (args) => {
2181
2193
  try {
2182
2194
  const secrets = await secretList({
2183
2195
  workspaceId: args["workspace-id"],
2184
2196
  profile: args.profile,
2185
- vaultName: args["vault-name"]
2197
+ vaultName: args["vault-name"],
2198
+ order: args.order,
2199
+ limit: args.limit
2186
2200
  });
2187
2201
  logger.out(secrets);
2188
2202
  } catch (error) {
@@ -2346,23 +2360,30 @@ async function vaultList(options) {
2346
2360
  workspaceId: options?.workspaceId,
2347
2361
  profile: options?.profile
2348
2362
  });
2349
- return (await fetchAll(async (pageToken, maxPageSize) => {
2363
+ const pageDirection = toPageDirection(options?.order);
2364
+ return (await fetchPaged(async (pageToken, pageSize) => {
2350
2365
  const { vaults, nextPageToken } = await client.listSecretManagerVaults({
2351
2366
  workspaceId,
2352
2367
  pageToken,
2353
- pageSize: maxPageSize
2368
+ pageSize,
2369
+ pageDirection
2354
2370
  });
2355
2371
  return [vaults, nextPageToken];
2356
- })).map(vaultInfo);
2372
+ }, { limit: options?.limit })).map(vaultInfo);
2357
2373
  }
2358
2374
  const listCommand$3 = defineAppCommand({
2359
2375
  name: "list",
2360
2376
  description: "List all Secret Manager vaults in the workspace.",
2361
- args: z.object({ ...workspaceArgs }).strict(),
2377
+ args: z.object({
2378
+ ...workspaceArgs,
2379
+ ...paginationArgs()
2380
+ }).strict(),
2362
2381
  run: async (args) => {
2363
2382
  const vaults = await vaultList({
2364
2383
  workspaceId: args["workspace-id"],
2365
- profile: args.profile
2384
+ profile: args.profile,
2385
+ order: args.order,
2386
+ limit: args.limit
2366
2387
  });
2367
2388
  logger.out(vaults);
2368
2389
  }
@@ -2571,6 +2592,96 @@ const setupCommand = defineCommand({
2571
2592
  subCommands: { github: githubCommand }
2572
2593
  });
2573
2594
 
2595
+ //#endregion
2596
+ //#region src/cli/shared/skills-installer.ts
2597
+ const SKILL_NAME = "tailor-sdk";
2598
+ const SKILLS_SOURCE_ENV_KEY = "TAILOR_SDK_SKILLS_SOURCE";
2599
+ function resolveNpxCommand(platform = process.platform) {
2600
+ return platform === "win32" ? "npx.cmd" : "npx";
2601
+ }
2602
+ function resolveSkillsSource(source) {
2603
+ return process.env[SKILLS_SOURCE_ENV_KEY] ?? source;
2604
+ }
2605
+ /**
2606
+ * Build CLI arguments for `skills add` with the fixed tailor-sdk skill target.
2607
+ * `--copy` is included so the installed skill survives `pnpm install` wiping `node_modules`.
2608
+ * @param options - Options controlling the generated `skills add` arguments
2609
+ * @param options.source
2610
+ * @param options.agent
2611
+ * @param options.yes
2612
+ * @returns CLI arguments for `npx skills add`
2613
+ */
2614
+ function buildSkillsAddArgs(options) {
2615
+ const args = [
2616
+ "skills",
2617
+ "add",
2618
+ resolveSkillsSource(options.source),
2619
+ "--skill",
2620
+ SKILL_NAME,
2621
+ "--copy"
2622
+ ];
2623
+ if (options.agent) args.push("--agent", options.agent);
2624
+ if (options.yes) args.push("--yes");
2625
+ return args;
2626
+ }
2627
+ /**
2628
+ * Run `npx skills add` to install the tailor-sdk skill.
2629
+ * @param options - Runtime options for skill installation
2630
+ * @returns Process exit code from the spawned `npx` command
2631
+ */
2632
+ async function runSkillsInstaller(options) {
2633
+ const args = buildSkillsAddArgs({
2634
+ source: options.source,
2635
+ agent: options.agent,
2636
+ yes: options.yes
2637
+ });
2638
+ const childProcess = (options.spawnFn ?? ((command, spawnArgs, spawnOptions) => spawn(command, spawnArgs, spawnOptions)))(resolveNpxCommand(), args, { stdio: "inherit" });
2639
+ return await new Promise((resolve, reject) => {
2640
+ childProcess.on("error", (error) => reject(error));
2641
+ childProcess.on("close", (code) => resolve(code ?? 1));
2642
+ });
2643
+ }
2644
+
2645
+ //#endregion
2646
+ //#region src/cli/commands/skills/install.ts
2647
+ async function resolveBundledSkillsDir() {
2648
+ return resolve(dirname(await resolvePackageJSON(import.meta.url)), "skills");
2649
+ }
2650
+ const DEFAULT_AGENT = "claude-code";
2651
+ const installCommand = defineAppCommand({
2652
+ name: "install",
2653
+ description: "Install the tailor-sdk agent skill from the installed SDK package.",
2654
+ args: z.object({
2655
+ agent: arg(z.string().default(DEFAULT_AGENT), {
2656
+ alias: "a",
2657
+ description: `vercel/skills agent name (e.g. ${DEFAULT_AGENT}, codex). Defaults to ${DEFAULT_AGENT}.`
2658
+ }),
2659
+ yes: arg(z.boolean().default(false), {
2660
+ alias: "y",
2661
+ description: "Auto-approve prompts."
2662
+ })
2663
+ }).strict(),
2664
+ run: async (args) => {
2665
+ const exitCode = await runSkillsInstaller({
2666
+ source: await resolveBundledSkillsDir(),
2667
+ agent: args.agent,
2668
+ yes: args.yes
2669
+ });
2670
+ if (exitCode !== 0) process.exit(exitCode);
2671
+ }
2672
+ });
2673
+
2674
+ //#endregion
2675
+ //#region src/cli/commands/skills/index.ts
2676
+ const skillsCommand = defineCommand({
2677
+ name: "skills",
2678
+ description: "Manage Tailor SDK agent skills.",
2679
+ subCommands: { install: installCommand },
2680
+ async run() {
2681
+ await runCommand(installCommand, []);
2682
+ }
2683
+ });
2684
+
2574
2685
  //#endregion
2575
2686
  //#region src/cli/shared/progress.ts
2576
2687
  /**
@@ -2829,14 +2940,16 @@ async function listStaticWebsites(options) {
2829
2940
  workspaceId: options?.workspaceId,
2830
2941
  profile: options?.profile
2831
2942
  });
2832
- return (await fetchAll(async (pageToken, maxPageSize) => {
2943
+ const pageDirection = toPageDirection(options?.order);
2944
+ return (await fetchPaged(async (pageToken, pageSize) => {
2833
2945
  const { staticwebsites, nextPageToken } = await client.listStaticWebsites({
2834
2946
  workspaceId,
2835
2947
  pageToken,
2836
- pageSize: maxPageSize
2948
+ pageSize,
2949
+ pageDirection
2837
2950
  });
2838
2951
  return [staticwebsites, nextPageToken];
2839
- })).map((site) => ({
2952
+ }, { limit: options?.limit })).map((site) => ({
2840
2953
  workspaceId,
2841
2954
  name: site.name,
2842
2955
  description: site.description,
@@ -2847,11 +2960,16 @@ async function listStaticWebsites(options) {
2847
2960
  const listCommand$2 = defineAppCommand({
2848
2961
  name: "list",
2849
2962
  description: "List all static websites in a workspace.",
2850
- args: z.object({ ...workspaceArgs }).strict(),
2963
+ args: z.object({
2964
+ ...workspaceArgs,
2965
+ ...paginationArgs()
2966
+ }).strict(),
2851
2967
  run: async (args) => {
2852
2968
  const websites = await listStaticWebsites({
2853
2969
  workspaceId: args["workspace-id"],
2854
- profile: args.profile
2970
+ profile: args.profile,
2971
+ order: args.order,
2972
+ limit: args.limit
2855
2973
  });
2856
2974
  const formatted = args.json ? websites : websites.map(({ allowedIpAddresses, ...rest }) => {
2857
2975
  if (allowedIpAddresses.length === 0) return {
@@ -3771,7 +3889,7 @@ const deleteCommand = defineAppCommand({
3771
3889
  const listCommand = defineAppCommand({
3772
3890
  name: "list",
3773
3891
  description: "List all personal access tokens.",
3774
- args: z.object({}).strict(),
3892
+ args: z.object({ ...paginationArgs() }).strict(),
3775
3893
  run: async (args) => {
3776
3894
  const config = await readPlatformConfig();
3777
3895
  if (!config.current_user) throw new Error(ml`
@@ -3779,13 +3897,15 @@ const listCommand = defineAppCommand({
3779
3897
  Please login first using 'tailor-sdk login' command.
3780
3898
  `);
3781
3899
  const client = await initOperatorClient(await fetchLatestToken(config, config.current_user));
3782
- const pats = await fetchAll(async (pageToken, maxPageSize) => {
3900
+ const pageDirection = toPageDirection(args.order);
3901
+ const pats = await fetchPaged(async (pageToken, pageSize) => {
3783
3902
  const { personalAccessTokens, nextPageToken } = await client.listPersonalAccessTokens({
3784
3903
  pageToken,
3785
- pageSize: maxPageSize
3904
+ pageSize,
3905
+ pageDirection
3786
3906
  });
3787
3907
  return [personalAccessTokens, nextPageToken];
3788
- });
3908
+ }, { limit: args.limit });
3789
3909
  if (pats.length === 0 && !args.json) {
3790
3910
  logger.info(ml`
3791
3911
  No personal access tokens found.
@@ -3993,6 +4113,7 @@ const mainCommand = withCompletionCommand(defineCommand({
3993
4113
  secret: secretCommand,
3994
4114
  setup: setupCommand,
3995
4115
  show: showCommand,
4116
+ skills: skillsCommand,
3996
4117
  staticwebsite: staticwebsiteCommand,
3997
4118
  tailordb: tailordbCommand,
3998
4119
  upgrade: upgradeCommand,
@@ -4015,7 +4136,7 @@ runMain(mainCommand, {
4015
4136
  if (isVerbose() && error.stack) logger.debug(`\nStack trace:\n${error.stack}`);
4016
4137
  } else logger.error(`Unknown error: ${error}`);
4017
4138
  if (!isCLIError(error) && (!(error instanceof Error) || error instanceof TypeError || error instanceof RangeError)) {
4018
- const { reportCrash } = await import("../crash-report-CPUF3T5d.mjs");
4139
+ const { reportCrash } = await import("../crash-report-CEIXtw4D.mjs");
4019
4140
  await reportCrash(error, "handledError");
4020
4141
  }
4021
4142
  }