@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.
- package/CHANGELOG.md +24 -0
- package/README.md +7 -10
- package/dist/{actor-Bb4OVq1j.d.mts → actor-B2oEmlTc.d.mts} +2 -2
- package/dist/application-CEeKm4R-.mjs +4 -0
- package/dist/{application-BHu8YE-g.mjs → application-C_LFXkKJ.mjs} +2 -2
- package/dist/{application-BHu8YE-g.mjs.map → application-C_LFXkKJ.mjs.map} +1 -1
- package/dist/cli/index.mjs +153 -32
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/lib.d.mts +40 -6
- package/dist/cli/lib.mjs +3 -3
- package/dist/cli/skills.mjs +13 -43
- package/dist/cli/skills.mjs.map +1 -1
- package/dist/{client-B2K45RvK.mjs → client-DjGFRjH4.mjs} +31 -3
- package/dist/{client-B2K45RvK.mjs.map → client-DjGFRjH4.mjs.map} +1 -1
- package/dist/client-Dtf48x0o.mjs +4 -0
- package/dist/configure/index.d.mts +4 -4
- package/dist/{crash-report-CPUF3T5d.mjs → crash-report-CEIXtw4D.mjs} +1 -1
- package/dist/{crash-report-CACiemAr.mjs → crash-report-CSWITsTz.mjs} +2 -2
- package/dist/{crash-report-CACiemAr.mjs.map → crash-report-CSWITsTz.mjs.map} +1 -1
- package/dist/{index-Cx1RYDbu.d.mts → index-BtXZdz-F.d.mts} +2 -2
- package/dist/{index-CeFwhUkX.d.mts → index-Chvw1Eod.d.mts} +2 -2
- package/dist/{index-Ch8Em3nz.d.mts → index-CiNNNpuH.d.mts} +2 -2
- package/dist/{index-BYmdVno1.d.mts → index-D_ezppY7.d.mts} +4 -4
- package/dist/{index-DLO_XvLi.d.mts → index-reFAYSX7.d.mts} +2 -2
- package/dist/{interceptor-B5bKVwgq.mjs → interceptor-4UC-KTno.mjs} +1 -1
- package/dist/{interceptor-B5bKVwgq.mjs.map → interceptor-4UC-KTno.mjs.map} +1 -1
- package/dist/plugin/builtin/enum-constants/index.d.mts +1 -1
- package/dist/plugin/builtin/file-utils/index.d.mts +1 -1
- package/dist/plugin/builtin/kysely-type/index.d.mts +1 -1
- package/dist/plugin/builtin/seed/index.d.mts +1 -1
- package/dist/plugin/index.d.mts +2 -2
- package/dist/repl-editor-DjycioU-.mjs +255 -0
- package/dist/repl-editor-DjycioU-.mjs.map +1 -0
- package/dist/{runtime-2xqzvkQv.mjs → runtime-im7Sq4jO.mjs} +231 -171
- package/dist/runtime-im7Sq4jO.mjs.map +1 -0
- package/dist/{tailor-db-field-B99RnR2N.d.mts → tailor-db-field-CoFKRCYW.d.mts} +1 -1
- package/dist/utils/test/index.d.mts +2 -2
- package/dist/{workflow.generated-DSwr-k57.d.mts → workflow.generated-Btz6srLR.d.mts} +2 -2
- package/docs/cli/auth.md +20 -14
- package/docs/cli/executor.md +17 -14
- package/docs/cli/function.md +6 -4
- package/docs/cli/query.md +45 -0
- package/docs/cli/secret.md +13 -9
- package/docs/cli/skills.md +75 -0
- package/docs/cli/staticwebsite.md +6 -4
- package/docs/cli/user.md +9 -1
- package/docs/cli/workflow.md +17 -13
- package/docs/cli-reference.md +16 -0
- package/docs/services/workflow.md +1 -1
- package/package.json +11 -8
- package/dist/application-C8Lr37AM.mjs +0 -4
- package/dist/client-CEVmv94H.mjs +0 -4
- package/dist/runtime-2xqzvkQv.mjs.map +0 -1
package/dist/cli/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
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
|
|
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-
|
|
8
|
-
import { a as JSON_FOOTER_MARKER, i as CRASH_LOG_EXTENSION, o as parseCrashReportConfig, r as sendCrashReport, t as initCrashReporting } from "../crash-report-
|
|
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({
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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({
|
|
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
|
-
|
|
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
|
|
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({
|
|
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
|
|
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
|
|
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-
|
|
4139
|
+
const { reportCrash } = await import("../crash-report-CEIXtw4D.mjs");
|
|
4019
4140
|
await reportCrash(error, "handledError");
|
|
4020
4141
|
}
|
|
4021
4142
|
}
|