@tailor-platform/sdk 0.12.0 → 0.12.1
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/cli/api.d.mts +39 -3
- package/dist/cli/api.mjs +2 -2
- package/dist/cli/api.mjs.map +1 -1
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.mjs +19 -2
- package/dist/cli/index.mjs.map +1 -1
- package/dist/configure/index.d.mts +4 -4
- package/dist/configure/index.mjs.map +1 -1
- package/dist/{index-CvaR3wBO.d.mts → index-15r0QXT5.d.mts} +6 -10
- package/dist/job-CSwByDTq.mjs.map +1 -1
- package/dist/{token-C2dypdqc.mjs → list-6vWylIIR.mjs} +184 -18
- package/dist/list-6vWylIIR.mjs.map +1 -0
- package/dist/{types-CWvnDV8C.d.mts → types-BvH0p5R9.d.mts} +8 -12
- package/dist/{plugin-generated.d.ts → user-defined.d.ts} +4 -6
- package/dist/utils/test/index.d.mts +3 -3
- package/docs/cli-reference.md +65 -0
- package/package.json +2 -2
- package/postinstall.mjs +6 -8
- package/dist/token-C2dypdqc.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @tailor-platform/sdk
|
|
2
2
|
|
|
3
|
+
## 0.12.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#94](https://github.com/tailor-platform/sdk/pull/94) [`7262efa`](https://github.com/tailor-platform/sdk/commit/7262efa4a4783e10003b0b46208e7ae22043cdc9) Thanks [@remiposo](https://github.com/remiposo)! - Added oauth2client commands
|
|
8
|
+
|
|
9
|
+
Added commands to retrieve OAuth2 client credentials (clientId and clientSecret) after deployment.
|
|
10
|
+
For security, clientSecret is only shown in the `get` command.
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
tailor-sdk oauth2client list
|
|
14
|
+
tailor-sdk oauth2client get <name>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- [#95](https://github.com/tailor-platform/sdk/pull/95) [`e394176`](https://github.com/tailor-platform/sdk/commit/e3941762da3a5aca68ab63f214c32c4f6fd6a582) Thanks [@toiroakr](https://github.com/toiroakr)! - chore: improve user-defined types
|
|
18
|
+
|
|
3
19
|
## 0.12.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/dist/cli/api.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference path="./../
|
|
1
|
+
/// <reference path="./../user-defined.d.ts" />
|
|
2
2
|
|
|
3
|
-
import { AppConfig, CodeGeneratorBase, Executor, Generator, IdProviderConfig, OAuth2Client, Resolver, TailorDBTypeConfig } from "../types-
|
|
3
|
+
import { AppConfig, CodeGeneratorBase, Executor, Generator, IdProviderConfig, OAuth2Client, Resolver, TailorDBTypeConfig } from "../types-BvH0p5R9.mjs";
|
|
4
4
|
import "citty";
|
|
5
5
|
import "zod";
|
|
6
6
|
import "@bufbuild/protobuf/wkt";
|
|
@@ -228,5 +228,41 @@ interface MachineUserTokenInfo {
|
|
|
228
228
|
}
|
|
229
229
|
declare function machineUserToken(options: MachineUserTokenOptions): Promise<MachineUserTokenInfo>;
|
|
230
230
|
//#endregion
|
|
231
|
-
|
|
231
|
+
//#region src/cli/oauth2client/transform.d.ts
|
|
232
|
+
interface OAuth2ClientInfo {
|
|
233
|
+
name: string;
|
|
234
|
+
description: string;
|
|
235
|
+
clientId: string;
|
|
236
|
+
grantTypes: string[];
|
|
237
|
+
redirectUris: string[];
|
|
238
|
+
createdAt: string;
|
|
239
|
+
}
|
|
240
|
+
interface OAuth2ClientCredentials {
|
|
241
|
+
name: string;
|
|
242
|
+
description: string;
|
|
243
|
+
clientId: string;
|
|
244
|
+
clientSecret: string;
|
|
245
|
+
grantTypes: string[];
|
|
246
|
+
redirectUris: string[];
|
|
247
|
+
createdAt: string;
|
|
248
|
+
}
|
|
249
|
+
//#endregion
|
|
250
|
+
//#region src/cli/oauth2client/get.d.ts
|
|
251
|
+
interface OAuth2ClientGetOptions {
|
|
252
|
+
name: string;
|
|
253
|
+
workspaceId?: string;
|
|
254
|
+
profile?: string;
|
|
255
|
+
configPath?: string;
|
|
256
|
+
}
|
|
257
|
+
declare function oauth2ClientGet(options: OAuth2ClientGetOptions): Promise<OAuth2ClientCredentials>;
|
|
258
|
+
//#endregion
|
|
259
|
+
//#region src/cli/oauth2client/list.d.ts
|
|
260
|
+
interface OAuth2ClientListOptions {
|
|
261
|
+
workspaceId?: string;
|
|
262
|
+
profile?: string;
|
|
263
|
+
configPath?: string;
|
|
264
|
+
}
|
|
265
|
+
declare function oauth2ClientList(options?: OAuth2ClientListOptions): Promise<OAuth2ClientInfo[]>;
|
|
266
|
+
//#endregion
|
|
267
|
+
export { type ApplicationInfo, type ApplyOptions, type CodeGenerator, type Executor, type GenerateOptions, type GeneratorInput, type GeneratorResult, type MachineUserInfo, type MachineUserListOptions, type MachineUserTokenInfo, type MachineUserTokenOptions, type OAuth2ClientCredentials, type OAuth2ClientGetOptions, type OAuth2ClientInfo, type OAuth2ClientListOptions, type RemoveOptions, type Resolver, type ShowOptions, type ParsedTailorDBType as TailorDBType, type WorkspaceCreateOptions, type WorkspaceDeleteOptions, type WorkspaceInfo, apply, generate, generateUserTypes, loadConfig, machineUserList, machineUserToken, oauth2ClientGet, oauth2ClientList, remove, show, workspaceCreate, workspaceDelete, workspaceList };
|
|
232
268
|
//# sourceMappingURL=api.d.mts.map
|
package/dist/cli/api.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { apply, generate, generateUserTypes, loadConfig, machineUserList, machineUserToken, remove, show, workspaceCreate, workspaceDelete, workspaceList } from "../
|
|
1
|
+
import { apply, generate, generateUserTypes, loadConfig, machineUserList, machineUserToken, oauth2ClientGet, oauth2ClientList, remove, show, workspaceCreate, workspaceDelete, workspaceList } from "../list-6vWylIIR.mjs";
|
|
2
2
|
import "../job-CSwByDTq.mjs";
|
|
3
3
|
import { register } from "node:module";
|
|
4
4
|
|
|
@@ -6,5 +6,5 @@ import { register } from "node:module";
|
|
|
6
6
|
register("tsx", import.meta.url, { data: {} });
|
|
7
7
|
|
|
8
8
|
//#endregion
|
|
9
|
-
export { apply, generate, generateUserTypes, loadConfig, machineUserList, machineUserToken, remove, show, workspaceCreate, workspaceDelete, workspaceList };
|
|
9
|
+
export { apply, generate, generateUserTypes, loadConfig, machineUserList, machineUserToken, oauth2ClientGet, oauth2ClientList, remove, show, workspaceCreate, workspaceDelete, workspaceList };
|
|
10
10
|
//# sourceMappingURL=api.mjs.map
|
package/dist/cli/api.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.mjs","names":[],"sources":["../../src/cli/api.ts"],"sourcesContent":["// CLI API exports for programmatic usage\nimport { register } from \"node:module\";\n\n// Register tsx to handle TypeScript files when using CLI API programmatically\nregister(\"tsx\", import.meta.url, { data: {} });\n\nexport { apply } from \"./apply/index\";\nexport type { ApplyOptions } from \"./apply/index\";\nexport { generate } from \"./generator/index\";\nexport type { GenerateOptions } from \"./generator/options\";\nexport { loadConfig } from \"./config-loader\";\nexport { generateUserTypes } from \"./type-generator\";\nexport type {\n CodeGenerator,\n GeneratorInput,\n GeneratorResult,\n} from \"./generator/types\";\nexport type { ParsedTailorDBType as TailorDBType } from \"@/parser/service/tailordb/types\";\nexport type { Resolver } from \"@/parser/service/resolver\";\nexport type { Executor } from \"@/parser/service/executor\";\n\nexport { show, type ShowOptions, type ApplicationInfo } from \"./show\";\nexport { remove, type RemoveOptions } from \"./remove\";\nexport {\n workspaceCreate,\n type WorkspaceCreateOptions,\n} from \"./workspace/create\";\nexport { workspaceList } from \"./workspace/list\";\nexport {\n workspaceDelete,\n type WorkspaceDeleteOptions,\n} from \"./workspace/delete\";\nexport type { WorkspaceInfo } from \"./workspace/transform\";\nexport {\n machineUserList,\n type MachineUserListOptions,\n type MachineUserInfo,\n} from \"./machineuser/list\";\nexport {\n machineUserToken,\n type MachineUserTokenOptions,\n type MachineUserTokenInfo,\n} from \"./machineuser/token\";\n"],"mappings":";;;;;AAIA,SAAS,OAAO,OAAO,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.mjs","names":[],"sources":["../../src/cli/api.ts"],"sourcesContent":["// CLI API exports for programmatic usage\nimport { register } from \"node:module\";\n\n// Register tsx to handle TypeScript files when using CLI API programmatically\nregister(\"tsx\", import.meta.url, { data: {} });\n\nexport { apply } from \"./apply/index\";\nexport type { ApplyOptions } from \"./apply/index\";\nexport { generate } from \"./generator/index\";\nexport type { GenerateOptions } from \"./generator/options\";\nexport { loadConfig } from \"./config-loader\";\nexport { generateUserTypes } from \"./type-generator\";\nexport type {\n CodeGenerator,\n GeneratorInput,\n GeneratorResult,\n} from \"./generator/types\";\nexport type { ParsedTailorDBType as TailorDBType } from \"@/parser/service/tailordb/types\";\nexport type { Resolver } from \"@/parser/service/resolver\";\nexport type { Executor } from \"@/parser/service/executor\";\n\nexport { show, type ShowOptions, type ApplicationInfo } from \"./show\";\nexport { remove, type RemoveOptions } from \"./remove\";\nexport {\n workspaceCreate,\n type WorkspaceCreateOptions,\n} from \"./workspace/create\";\nexport { workspaceList } from \"./workspace/list\";\nexport {\n workspaceDelete,\n type WorkspaceDeleteOptions,\n} from \"./workspace/delete\";\nexport type { WorkspaceInfo } from \"./workspace/transform\";\nexport {\n machineUserList,\n type MachineUserListOptions,\n type MachineUserInfo,\n} from \"./machineuser/list\";\nexport {\n machineUserToken,\n type MachineUserTokenOptions,\n type MachineUserTokenInfo,\n} from \"./machineuser/token\";\nexport {\n oauth2ClientGet,\n type OAuth2ClientGetOptions,\n} from \"./oauth2client/get\";\nexport {\n oauth2ClientList,\n type OAuth2ClientListOptions,\n} from \"./oauth2client/list\";\nexport type {\n OAuth2ClientInfo,\n OAuth2ClientCredentials,\n} from \"./oauth2client/transform\";\n"],"mappings":";;;;;AAIA,SAAS,OAAO,OAAO,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC"}
|
package/dist/cli/index.d.mts
CHANGED
package/dist/cli/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { PATScope, applyCommand, commonArgs, createCommand, deleteCommand, fetchAll, fetchLatestToken, fetchUserInfo, formatArgs, generateCommand, initOAuth2Client, initOperatorClient, listCommand as listCommand$4, listCommand$1 as listCommand, loadAccessToken, loadConfig, loadConfigPath, loadWorkspaceId, parseFormat, printWithFormat, readPackageJson, readPlatformConfig, removeCommand, showCommand, tokenCommand, withCommonArgs, writePlatformConfig } from "../
|
|
2
|
+
import { PATScope, applyCommand, commonArgs, createCommand, deleteCommand, fetchAll, fetchLatestToken, fetchUserInfo, formatArgs, generateCommand, getCommand, initOAuth2Client, initOperatorClient, listCommand as listCommand$4, listCommand$1 as listCommand$5, listCommand$2 as listCommand, loadAccessToken, loadConfig, loadConfigPath, loadWorkspaceId, parseFormat, printWithFormat, readPackageJson, readPlatformConfig, removeCommand, showCommand, tokenCommand, withCommonArgs, writePlatformConfig } from "../list-6vWylIIR.mjs";
|
|
3
3
|
import "../job-CSwByDTq.mjs";
|
|
4
4
|
import { register } from "node:module";
|
|
5
5
|
import { defineCommand, runCommand, runMain } from "citty";
|
|
@@ -183,9 +183,25 @@ const machineuserCommand = defineCommand({
|
|
|
183
183
|
description: "Manage machine users"
|
|
184
184
|
},
|
|
185
185
|
subCommands: {
|
|
186
|
-
list: listCommand$
|
|
186
|
+
list: listCommand$5,
|
|
187
187
|
token: tokenCommand
|
|
188
188
|
},
|
|
189
|
+
async run() {
|
|
190
|
+
await runCommand(listCommand$5, { rawArgs: [] });
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
//#endregion
|
|
195
|
+
//#region src/cli/oauth2client/index.ts
|
|
196
|
+
const oauth2clientCommand = defineCommand({
|
|
197
|
+
meta: {
|
|
198
|
+
name: "oauth2client",
|
|
199
|
+
description: "Manage OAuth2 clients"
|
|
200
|
+
},
|
|
201
|
+
subCommands: {
|
|
202
|
+
get: getCommand,
|
|
203
|
+
list: listCommand$4
|
|
204
|
+
},
|
|
189
205
|
async run() {
|
|
190
206
|
await runCommand(listCommand$4, { rawArgs: [] });
|
|
191
207
|
}
|
|
@@ -928,6 +944,7 @@ const mainCommand = defineCommand({
|
|
|
928
944
|
login: loginCommand,
|
|
929
945
|
logout: logoutCommand,
|
|
930
946
|
machineuser: machineuserCommand,
|
|
947
|
+
oauth2client: oauth2clientCommand,
|
|
931
948
|
profile: profileCommand,
|
|
932
949
|
remove: removeCommand,
|
|
933
950
|
show: showCommand,
|
package/dist/cli/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["packageJson","listCommand","createCommand","profileInfo: ProfileInfo","deleteCommand","listCommand","profileInfos: ProfileInfo[]","updateCommand","profileInfo: ProfileInfo","createCommand","deleteCommand","listCommand","updateCommand","notFoundTypes: string[]","listCommand","createCommand","deleteCommand","listCommand","patInfos: PersonalAccessTokenInfo[]","createCommand","deleteCommand","listCommand","listCommand"],"sources":["../../src/cli/init.ts","../../src/cli/login.ts","../../src/cli/logout.ts","../../src/cli/machineuser/index.ts","../../src/cli/profile/create.ts","../../src/cli/profile/delete.ts","../../src/cli/profile/list.ts","../../src/cli/profile/update.ts","../../src/cli/profile/index.ts","../../src/cli/tailordb/truncate.ts","../../src/cli/tailordb/index.ts","../../src/cli/user/current.ts","../../src/cli/user/list.ts","../../src/cli/user/pat/transform.ts","../../src/cli/user/pat/create.ts","../../src/cli/user/pat/delete.ts","../../src/cli/user/pat/list.ts","../../src/cli/user/pat/update.ts","../../src/cli/user/pat/index.ts","../../src/cli/user/use.ts","../../src/cli/user/index.ts","../../src/cli/workspace/index.ts","../../src/cli/index.ts"],"sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { readPackageJson } from \"./package-json\";\n\nconst detectPackageManager = () => {\n const availablePMs = [\"npm\", \"yarn\", \"pnpm\"];\n const userAgent = process.env.npm_config_user_agent;\n if (!userAgent) return;\n const [name] = userAgent.split(\"/\");\n if (!availablePMs.includes(name)) return;\n return name;\n};\n\nexport const initCommand = defineCommand({\n meta: {\n name: \"init\",\n description: \"Initialize a new project using create-sdk\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Project name\",\n required: false,\n },\n template: {\n type: \"string\",\n description: \"Template name\",\n required: false,\n alias: \"t\",\n },\n },\n run: withCommonArgs(async (args) => {\n const packageJson = await readPackageJson();\n const version =\n packageJson.version && packageJson.version !== \"0.0.0\"\n ? packageJson.version\n : \"latest\";\n\n let packageManager = detectPackageManager();\n if (!packageManager) {\n consola.warn(\"⚠️ Could not detect package manager, defaulting to npm\");\n packageManager = \"npm\";\n }\n const initArgs = [\n \"create\",\n `@tailor-platform/sdk@${version}`,\n ...(args.name ? [args.name] : []),\n ...(packageManager === \"npm\" ? [\"--\"] : []),\n ...(args.template ? [\"--template\", args.template] : []),\n ];\n consola.log(`Running: ${packageManager} ${initArgs.join(\" \")}`);\n\n spawnSync(packageManager, initArgs, { stdio: \"inherit\" });\n }),\n});\n","import * as crypto from \"node:crypto\";\nimport * as http from \"node:http\";\nimport { generateCodeVerifier } from \"@badgateway/oauth2-client\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport open from \"open\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { fetchUserInfo, initOAuth2Client } from \"./client\";\nimport { readPlatformConfig, writePlatformConfig } from \"./context\";\n\nconst redirectPort = 8085;\nconst redirectUri = `http://localhost:${redirectPort}/callback`;\n\nfunction randomState() {\n return crypto.randomBytes(32).toString(\"base64url\");\n}\n\nconst startAuthServer = async () => {\n const client = initOAuth2Client();\n const state = randomState();\n const codeVerifier = await generateCodeVerifier();\n\n return new Promise<void>((resolve, reject) => {\n const server = http.createServer(async (req, res) => {\n try {\n if (!req.url?.startsWith(\"/callback\")) {\n throw new Error(\"Invalid callback URL\");\n }\n const tokens = await client.authorizationCode.getTokenFromCodeRedirect(\n `http://${req.headers.host}${req.url}`,\n {\n redirectUri: redirectUri,\n state,\n codeVerifier,\n },\n );\n const userInfo = await fetchUserInfo(tokens.accessToken);\n\n const pfConfig = readPlatformConfig();\n pfConfig.users = {\n ...pfConfig.users,\n [userInfo.email]: {\n access_token: tokens.accessToken,\n refresh_token: tokens.refreshToken!,\n token_expires_at: new Date(tokens.expiresAt!).toISOString(),\n },\n };\n pfConfig.current_user = userInfo.email;\n writePlatformConfig(pfConfig);\n\n res.writeHead(200, { \"Content-Type\": \"application/json\" });\n res.end(\n JSON.stringify({\n status: \"ok\",\n message: \"Successfully authenticated. Please close this window.\",\n }),\n );\n resolve();\n } catch (error) {\n res.writeHead(401);\n res.end(\"Authentication failed\");\n reject(error);\n } finally {\n // Close the server after handling one request.\n server.close();\n }\n });\n\n const timeout = setTimeout(\n () => {\n server.close();\n reject(new Error(\"Login timeout exceeded\"));\n },\n 5 * 60 * 1000,\n );\n\n server.on(\"close\", () => {\n clearTimeout(timeout);\n });\n\n server.on(\"error\", (error) => {\n reject(error);\n });\n\n server.listen(redirectPort, async () => {\n const authorizeUri = await client.authorizationCode.getAuthorizeUri({\n redirectUri,\n state,\n codeVerifier,\n });\n\n consola.info(`Opening browser for login:\\n\\n${authorizeUri}\\n`);\n try {\n await open(authorizeUri);\n } catch {\n consola.warn(\n \"Failed to open browser automatically. Please open the URL above manually.\",\n );\n }\n });\n });\n};\n\nexport const loginCommand = defineCommand({\n meta: {\n name: \"login\",\n description: \"Login to Tailor Platform\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n await startAuthServer();\n consola.success(\"Successfully logged in to Tailor Platform.\");\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { initOAuth2Client } from \"./client\";\nimport { readPlatformConfig, writePlatformConfig } from \"./context\";\n\nexport const logoutCommand = defineCommand({\n meta: {\n name: \"logout\",\n description: \"Logout from Tailor Platform\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n const pfConfig = readPlatformConfig();\n const tokens = pfConfig.current_user\n ? pfConfig.users[pfConfig.current_user]\n : undefined;\n if (!tokens) {\n consola.warn(\"You are not logged in.\");\n return;\n }\n\n const client = initOAuth2Client();\n client.revoke(\n {\n accessToken: tokens.access_token,\n refreshToken: tokens.refresh_token,\n expiresAt: Date.parse(tokens.token_expires_at),\n },\n \"refresh_token\",\n );\n\n delete pfConfig.users[pfConfig.current_user!];\n pfConfig.current_user = null;\n writePlatformConfig(pfConfig);\n consola.success(\"Successfully logged out from Tailor Platform.\");\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { listCommand } from \"./list\";\nimport { tokenCommand } from \"./token\";\n\nexport const machineuserCommand = defineCommand({\n meta: {\n name: \"machineuser\",\n description: \"Manage machine users\",\n },\n subCommands: {\n list: listCommand,\n token: tokenCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { fetchAll, initOperatorClient } from \"../client\";\nimport {\n fetchLatestToken,\n readPlatformConfig,\n writePlatformConfig,\n} from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description: \"Create new profile\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n user: {\n type: \"string\",\n description: \"User email\",\n required: true,\n alias: \"u\",\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"Workspace ID\",\n required: true,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n // Check if profile already exists\n if (config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" already exists.`);\n }\n\n // Check if user exists\n const token = await fetchLatestToken(config, args.user);\n\n // Check if workspace exists\n const client = await initOperatorClient(token);\n const workspaces = await fetchAll(async (pageToken) => {\n const { workspaces, nextPageToken } = await client.listWorkspaces({\n pageToken,\n });\n return [workspaces, nextPageToken];\n });\n\n const workspace = workspaces.find((ws) => ws.id === args[\"workspace-id\"]);\n if (!workspace) {\n throw new Error(`Workspace \"${args[\"workspace-id\"]}\" not found.`);\n }\n\n // Create new profile\n config.profiles[args.name] = {\n user: args.user,\n workspace_id: args[\"workspace-id\"],\n };\n writePlatformConfig(config);\n\n if (format === \"table\") {\n consola.success(`Profile \"${args.name}\" created successfully.`);\n }\n\n // Show profile info\n const profileInfo: ProfileInfo = {\n name: args.name,\n user: args.user,\n workspaceId: args[\"workspace-id\"],\n };\n printWithFormat(profileInfo, format);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig, writePlatformConfig } from \"../context\";\n\nexport const deleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: \"Delete profile\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n // Check if profile exists\n if (!config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" not found.`);\n }\n\n // Delete profile\n delete config.profiles[args.name];\n writePlatformConfig(config);\n\n consola.success(`Profile \"${args.name}\" deleted successfully.`);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { readPlatformConfig } from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all profiles\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n const profiles = Object.entries(config.profiles);\n if (profiles.length === 0) {\n consola.info(ml`\n No profiles found.\n Please create a profile first using 'tailor-sdk profile create' command.\n `);\n return;\n }\n\n // Show profiles info\n const profileInfos: ProfileInfo[] = profiles.map(([name, profile]) => ({\n name,\n user: profile!.user,\n workspaceId: profile!.workspace_id,\n }));\n printWithFormat(profileInfos, format);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { fetchAll, initOperatorClient } from \"../client\";\nimport {\n fetchLatestToken,\n readPlatformConfig,\n writePlatformConfig,\n} from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: \"Update profile properties\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n user: {\n type: \"string\",\n description: \"New user email\",\n alias: \"u\",\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"New workspace ID\",\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n // Check if profile exists\n if (!config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" not found.`);\n }\n\n // Check if at least one property is provided\n if (!args.user && !args[\"workspace-id\"]) {\n throw new Error(\"Please provide at least one property to update.\");\n }\n\n const profile = config.profiles[args.name]!;\n const oldUser = profile.user;\n const newUser = args.user || oldUser;\n const oldWorkspaceId = profile.workspace_id;\n const newWorkspaceId = args[\"workspace-id\"] || oldWorkspaceId;\n\n // Check if user exists\n const token = await fetchLatestToken(config, newUser);\n\n // Check if workspace exists\n const client = await initOperatorClient(token);\n const workspaces = await fetchAll(async (pageToken) => {\n const { workspaces, nextPageToken } = await client.listWorkspaces({\n pageToken,\n });\n return [workspaces, nextPageToken];\n });\n const workspace = workspaces.find((ws) => ws.id === newWorkspaceId);\n if (!workspace) {\n throw new Error(`Workspace \"${newWorkspaceId}\" not found.`);\n }\n\n // Update properties\n profile.user = newUser;\n profile.workspace_id = newWorkspaceId;\n writePlatformConfig(config);\n if (format === \"table\") {\n consola.success(`Profile \"${args.name}\" updated successfully`);\n }\n\n // Show profile info\n const profileInfo: ProfileInfo = {\n name: args.name,\n user: newUser,\n workspaceId: newWorkspaceId,\n };\n printWithFormat(profileInfo, format);\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\nimport { updateCommand } from \"./update\";\n\nexport interface ProfileInfo {\n name: string;\n user: string;\n workspaceId: string;\n}\n\nexport const profileCommand = defineCommand({\n meta: {\n name: \"profile\",\n description: \"Manage workspace profiles (user + workspace combinations)\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n update: updateCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { initOperatorClient } from \"../client\";\nimport { loadConfig } from \"../config-loader\";\nimport { loadAccessToken, loadConfigPath, loadWorkspaceId } from \"../context\";\n\nexport interface TruncateOptions {\n workspaceId?: string;\n profile?: string;\n configPath?: string;\n all?: boolean;\n namespace?: string;\n types?: string[];\n yes?: boolean;\n}\n\ninterface TruncateSingleTypeOptions {\n workspaceId: string;\n namespaceName: string;\n typeName: string;\n}\n\nasync function truncateSingleType(\n options: TruncateSingleTypeOptions,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n): Promise<void> {\n await client.truncateTailorDBType({\n workspaceId: options.workspaceId,\n namespaceName: options.namespaceName,\n tailordbTypeName: options.typeName,\n });\n\n consola.success(\n `Truncated type \"${options.typeName}\" in namespace \"${options.namespaceName}\"`,\n );\n}\n\nasync function truncateNamespace(\n workspaceId: string,\n namespaceName: string,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n): Promise<void> {\n await client.truncateTailorDBTypes({\n workspaceId,\n namespaceName,\n });\n\n consola.success(`Truncated all types in namespace \"${namespaceName}\"`);\n}\n\nasync function getAllNamespaces(\n workspaceId: string,\n configPath: string,\n): Promise<string[]> {\n const { config } = await loadConfig(configPath);\n const namespaces = new Set<string>();\n\n // Collect namespace names from db configuration\n if (config.db) {\n for (const [namespaceName] of Object.entries(config.db)) {\n namespaces.add(namespaceName);\n }\n }\n\n return Array.from(namespaces);\n}\n\nasync function getTypeNamespace(\n workspaceId: string,\n typeName: string,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n configPath: string,\n): Promise<string | null> {\n const namespaces = await getAllNamespaces(workspaceId, configPath);\n\n // Try to find the type in each namespace\n for (const namespace of namespaces) {\n try {\n const { tailordbTypes } = await client.listTailorDBTypes({\n workspaceId,\n namespaceName: namespace,\n });\n\n if (tailordbTypes.some((type) => type.name === typeName)) {\n return namespace;\n }\n } catch {\n // Continue to next namespace if error occurs\n continue;\n }\n }\n\n return null;\n}\n\nexport async function truncate(options?: TruncateOptions): Promise<void> {\n // Load and validate options\n const accessToken = await loadAccessToken({\n useProfile: true,\n profile: options?.profile,\n });\n const client = await initOperatorClient(accessToken);\n const workspaceId = loadWorkspaceId({\n workspaceId: options?.workspaceId,\n profile: options?.profile,\n });\n\n // Validate arguments\n const hasTypes = options?.types && options.types.length > 0;\n const hasNamespace = !!options?.namespace;\n const hasAll = !!options?.all;\n\n if ([hasTypes, hasNamespace, hasAll].filter(Boolean).length > 1) {\n throw new Error(\n \"Cannot specify multiple options: choose one of --all, --namespace, or type names\",\n );\n }\n\n if (!hasTypes && !hasNamespace && !hasAll) {\n throw new Error(\n \"Please specify one of: --all, --namespace <name>, or type names\",\n );\n }\n\n // Load config path - always required to ensure we only truncate managed namespaces\n const configPath = loadConfigPath(options?.configPath);\n\n // Validate config and get namespaces before confirmation\n const namespaces = await getAllNamespaces(workspaceId, configPath);\n\n // Handle --all flag\n if (hasAll) {\n if (namespaces.length === 0) {\n consola.warn(\"No namespaces found in config file.\");\n return;\n }\n\n if (!options?.yes) {\n const namespaceList = namespaces.join(\", \");\n const confirmation = await consola.prompt(\n `This will truncate ALL tables in the following namespaces: ${namespaceList}. Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n for (const namespace of namespaces) {\n await truncateNamespace(workspaceId, namespace, client);\n }\n consola.success(\"Truncated all tables in all namespaces\");\n return;\n }\n\n // Handle --namespace flag\n if (hasNamespace && options?.namespace) {\n const namespace = options.namespace;\n\n // Validate namespace exists in config\n if (!namespaces.includes(namespace)) {\n throw new Error(\n `Namespace \"${namespace}\" not found in config. Available namespaces: ${namespaces.join(\", \")}`,\n );\n }\n\n if (!options.yes) {\n const confirmation = await consola.prompt(\n `This will truncate ALL tables in namespace \"${namespace}\". Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n await truncateNamespace(workspaceId, namespace, client);\n return;\n }\n\n // Handle specific types\n if (hasTypes && options?.types) {\n const typeNames = options.types;\n\n // Validate all types exist and get their namespaces before confirmation\n const typeNamespaceMap = new Map<string, string>();\n const notFoundTypes: string[] = [];\n\n for (const typeName of typeNames) {\n const namespace = await getTypeNamespace(\n workspaceId,\n typeName,\n client,\n configPath,\n );\n\n if (namespace) {\n typeNamespaceMap.set(typeName, namespace);\n } else {\n notFoundTypes.push(typeName);\n }\n }\n\n if (notFoundTypes.length > 0) {\n throw new Error(\n `The following types were not found in any namespace: ${notFoundTypes.join(\", \")}`,\n );\n }\n\n if (!options.yes) {\n const typeList = typeNames.join(\", \");\n const confirmation = await consola.prompt(\n `This will truncate the following types: ${typeList}. Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n for (const typeName of typeNames) {\n const namespace = typeNamespaceMap.get(typeName);\n if (!namespace) {\n continue;\n }\n\n await truncateSingleType(\n {\n workspaceId,\n namespaceName: namespace,\n typeName,\n },\n client,\n );\n }\n }\n}\n\nexport const truncateCommand = defineCommand({\n meta: {\n name: \"truncate\",\n description: \"Truncate TailorDB tables\",\n },\n args: {\n ...commonArgs,\n types: {\n type: \"positional\",\n description: \"Type names to truncate (space-separated)\",\n required: false,\n },\n all: {\n type: \"boolean\",\n description: \"Truncate all tables in all namespaces\",\n default: false,\n alias: \"a\",\n },\n namespace: {\n type: \"string\",\n description: \"Truncate all tables in specified namespace\",\n alias: \"n\",\n },\n yes: {\n type: \"boolean\",\n description: \"Skip confirmation prompt\",\n alias: \"y\",\n default: false,\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"Workspace ID\",\n alias: \"w\",\n },\n profile: {\n type: \"string\",\n description: \"Workspace profile\",\n alias: \"p\",\n },\n config: {\n type: \"string\",\n description: \"Path to tailor config file\",\n default: \"tailor.config.ts\",\n alias: \"c\",\n },\n },\n run: withCommonArgs(async (args) => {\n await truncate({\n workspaceId: args[\"workspace-id\"],\n profile: args.profile,\n configPath: args.config,\n all: args.all,\n namespace: args.namespace,\n types: args.types ? args.types.split(/\\s+/).filter(Boolean) : undefined,\n yes: args.yes,\n });\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { truncateCommand } from \"./truncate\";\n\nexport const tailordbCommand = defineCommand({\n meta: {\n name: \"tailordb\",\n description: \"Manage TailorDB tables and data\",\n },\n subCommands: {\n truncate: truncateCommand,\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig } from \"../context\";\n\nexport const currentCommand = defineCommand({\n meta: {\n name: \"current\",\n description: \"Show current user\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n const config = readPlatformConfig();\n\n // Check if current user is set\n if (!config.current_user) {\n consola.warn(ml`\n Current user not set.\n Please login first using 'tailor-sdk login' command to register a user.\n `);\n return;\n }\n\n // Check if user exists\n if (!config.users[config.current_user]) {\n throw new Error(ml`\n Current user '${config.current_user}' not found in registered users.\n Please login again using 'tailor-sdk login' command to register the user.\n `);\n }\n\n console.log(config.current_user);\n }),\n});\n","import chalk from \"chalk\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, formatArgs, parseFormat, withCommonArgs } from \"../args\";\nimport { readPlatformConfig } from \"../context\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all users\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n const users = Object.keys(config.users);\n if (users.length === 0) {\n consola.info(ml`\n No users found.\n Please login first using 'tailor-sdk login' command to register a user.\n `);\n return;\n }\n\n // Show users\n switch (format) {\n case \"table\": {\n users.forEach((user) => {\n if (user === config.current_user) {\n console.log(chalk.green.bold(`${user} (current)`));\n } else {\n console.log(user);\n }\n });\n break;\n }\n case \"json\":\n console.log(JSON.stringify(users));\n break;\n default:\n throw new Error(`Format \"${format satisfies never}\" is invalid.`);\n }\n }),\n});\n","import { PATScope } from \"@tailor-proto/tailor/v1/auth_resource_pb\";\nimport ml from \"multiline-ts\";\nimport { z } from \"zod\";\nimport type { PersonalAccessToken } from \"@tailor-proto/tailor/v1/auth_resource_pb\";\n\nexport interface PersonalAccessTokenInfo {\n name: string;\n scopes: string[];\n}\n\nconst patFormatSchema = z.enum([\"text\", \"json\"]);\n\nexport const patFormatArgs = {\n format: {\n type: \"string\",\n description: `Output format (${patFormatSchema.options.join(\", \")})`,\n alias: \"f\",\n default: \"text\",\n },\n} as const;\n\nexport function parsePATFormat(format: string) {\n const parsed = patFormatSchema.safeParse(format);\n if (!parsed.success) {\n throw new Error(\n `Format \"${format}\" is invalid. Must be one of: ${patFormatSchema.options.join(\", \")}`,\n );\n }\n return parsed.data;\n}\n\nfunction patScopeToString(scope: PATScope): string {\n switch (scope) {\n case PATScope.PAT_SCOPE_READ:\n return \"read\";\n case PATScope.PAT_SCOPE_WRITE:\n return \"write\";\n default:\n return \"unknown\";\n }\n}\n\nexport function transformPersonalAccessToken(\n pat: PersonalAccessToken,\n): PersonalAccessTokenInfo {\n return {\n name: pat.name,\n scopes: pat.scopes.map(patScopeToString),\n };\n}\n\nexport function getScopesFromWriteFlag(write: boolean): PATScope[] {\n return write\n ? [PATScope.PAT_SCOPE_READ, PATScope.PAT_SCOPE_WRITE]\n : [PATScope.PAT_SCOPE_READ];\n}\n\nfunction getScopeStringsFromWriteFlag(write: boolean): string[] {\n return write ? [\"read\", \"write\"] : [\"read\"];\n}\n\nexport function printCreatedToken(\n name: string,\n token: string,\n write: boolean,\n format: \"text\" | \"json\",\n action: \"created\" | \"updated\",\n): void {\n const scopes = getScopeStringsFromWriteFlag(write);\n\n if (format === \"text\") {\n console.log(ml`\n Personal access token ${action} successfully.\n\n name: ${name}\n scopes: ${scopes.join(\"/\")}\n token: ${token}\n\n Please save this token in a secure location. You won't be able to see it again.\n `);\n } else {\n console.log(\n JSON.stringify({\n name,\n scopes,\n token,\n }),\n );\n }\n}\n","import { defineCommand } from \"citty\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n getScopesFromWriteFlag,\n parsePATFormat,\n patFormatArgs,\n printCreatedToken,\n} from \"./transform\";\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description: \"Create new personal access token\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n write: {\n type: \"boolean\",\n description: \"Grant write permission (default: read-only)\",\n default: false,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n const scopes = getScopesFromWriteFlag(args.write);\n const result = await client.createPersonalAccessToken({\n name: args.name,\n scopes,\n });\n\n if (!result.accessToken) {\n throw new Error(\"Failed to create personal access token\");\n }\n\n printCreatedToken(\n args.name,\n result.accessToken,\n args.write,\n format,\n \"created\",\n );\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\n\nexport const deleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: \"Delete personal access token\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n await client.deletePersonalAccessToken({\n name: args.name,\n });\n\n consola.success(\n `Personal access token \"${args.name}\" deleted successfully.`,\n );\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { fetchAll, initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n parsePATFormat,\n patFormatArgs,\n transformPersonalAccessToken,\n type PersonalAccessTokenInfo,\n} from \"./transform\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all personal access tokens\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n const pats = await fetchAll(async (pageToken) => {\n const { personalAccessTokens, nextPageToken } =\n await client.listPersonalAccessTokens({\n pageToken,\n });\n return [personalAccessTokens, nextPageToken];\n });\n\n if (pats.length === 0) {\n consola.info(ml`\n No personal access tokens found.\n Please create a token using 'tailor-sdk user pat create' command.\n `);\n return;\n }\n\n if (format === \"text\") {\n // Find the longest name for alignment\n const maxNameLength = Math.max(...pats.map((pat) => pat.name.length));\n\n // Display as simple list with right-aligned names: \"name: scope1/scope2\"\n pats.forEach((pat) => {\n const info = transformPersonalAccessToken(pat);\n const paddedName = info.name.padStart(maxNameLength);\n // Use console.log instead of consola.log to avoid timestamp\n console.log(`${paddedName}: ${info.scopes.join(\"/\")}`);\n });\n } else {\n // JSON format with scopes as array\n const patInfos: PersonalAccessTokenInfo[] = pats.map(\n transformPersonalAccessToken,\n );\n console.log(JSON.stringify(patInfos));\n }\n }),\n});\n","import { defineCommand } from \"citty\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n getScopesFromWriteFlag,\n parsePATFormat,\n patFormatArgs,\n printCreatedToken,\n} from \"./transform\";\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: \"Update personal access token (delete and recreate)\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n write: {\n type: \"boolean\",\n description: \"Grant write permission (if not specified, keeps read-only)\",\n default: false,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n // Delete the existing token\n await client.deletePersonalAccessToken({\n name: args.name,\n });\n\n // Create a new token with the same name\n const scopes = getScopesFromWriteFlag(args.write);\n const result = await client.createPersonalAccessToken({\n name: args.name,\n scopes,\n });\n\n if (!result.accessToken) {\n throw new Error(\"Failed to create personal access token\");\n }\n\n printCreatedToken(\n args.name,\n result.accessToken,\n args.write,\n format,\n \"updated\",\n );\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\nimport { updateCommand } from \"./update\";\n\nexport const patCommand = defineCommand({\n meta: {\n name: \"pat\",\n description: \"Manage personal access tokens\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n update: updateCommand,\n },\n async run(context) {\n // Default to list when no subcommand is provided\n await runCommand(listCommand, {\n rawArgs: context.rawArgs || [],\n });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig, writePlatformConfig } from \"../context\";\n\nexport const useCommand = defineCommand({\n meta: {\n name: \"use\",\n description: \"Set current user\",\n },\n args: {\n ...commonArgs,\n user: {\n type: \"positional\",\n description: \"User email\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n // Check if user exists\n if (!config.users[args.user]) {\n throw new Error(ml`\n User \"${args.user}\" not found.\n Please login first using 'tailor-sdk login' command to register this user.\n `);\n }\n\n // Set current user\n config.current_user = args.user;\n writePlatformConfig(config);\n\n consola.success(`Current user set to \"${args.user}\" successfully.`);\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { currentCommand } from \"./current\";\nimport { listCommand } from \"./list\";\nimport { patCommand } from \"./pat\";\nimport { useCommand } from \"./use\";\n\nexport const userCommand = defineCommand({\n meta: {\n name: \"user\",\n description: \"Manage Tailor Platform users\",\n },\n subCommands: {\n current: currentCommand,\n list: listCommand,\n pat: patCommand,\n use: useCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\n\nexport const workspaceCommand = defineCommand({\n meta: {\n name: \"workspace\",\n description: \"Manage Tailor Platform workspaces\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","#!/usr/bin/env node\n\nimport { register } from \"node:module\";\nimport { defineCommand, runMain } from \"citty\";\nimport { applyCommand } from \"./apply\";\nimport { generateCommand } from \"./generator\";\nimport { initCommand } from \"./init\";\nimport { loginCommand } from \"./login\";\nimport { logoutCommand } from \"./logout\";\nimport { machineuserCommand } from \"./machineuser\";\nimport { readPackageJson } from \"./package-json\";\nimport { profileCommand } from \"./profile\";\nimport { removeCommand } from \"./remove\";\nimport { showCommand } from \"./show\";\nimport { tailordbCommand } from \"./tailordb\";\nimport { userCommand } from \"./user\";\nimport { workspaceCommand } from \"./workspace\";\n\nregister(\"tsx\", import.meta.url, { data: {} });\n\nconst packageJson = await readPackageJson();\n\nconst mainCommand = defineCommand({\n meta: {\n name: packageJson.name,\n version: packageJson.version,\n description:\n packageJson.description ||\n \"Tailor CLI for managing Tailor Platform SDK applications\",\n },\n subCommands: {\n apply: applyCommand,\n generate: generateCommand,\n init: initCommand,\n login: loginCommand,\n logout: logoutCommand,\n machineuser: machineuserCommand,\n profile: profileCommand,\n remove: removeCommand,\n show: showCommand,\n tailordb: tailordbCommand,\n user: userCommand,\n workspace: workspaceCommand,\n },\n});\n\nrunMain(mainCommand);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["packageJson","listCommand","listCommand","createCommand","profileInfo: ProfileInfo","deleteCommand","listCommand","profileInfos: ProfileInfo[]","updateCommand","profileInfo: ProfileInfo","createCommand","deleteCommand","listCommand","updateCommand","notFoundTypes: string[]","listCommand","createCommand","deleteCommand","listCommand","patInfos: PersonalAccessTokenInfo[]","createCommand","deleteCommand","listCommand","listCommand"],"sources":["../../src/cli/init.ts","../../src/cli/login.ts","../../src/cli/logout.ts","../../src/cli/machineuser/index.ts","../../src/cli/oauth2client/index.ts","../../src/cli/profile/create.ts","../../src/cli/profile/delete.ts","../../src/cli/profile/list.ts","../../src/cli/profile/update.ts","../../src/cli/profile/index.ts","../../src/cli/tailordb/truncate.ts","../../src/cli/tailordb/index.ts","../../src/cli/user/current.ts","../../src/cli/user/list.ts","../../src/cli/user/pat/transform.ts","../../src/cli/user/pat/create.ts","../../src/cli/user/pat/delete.ts","../../src/cli/user/pat/list.ts","../../src/cli/user/pat/update.ts","../../src/cli/user/pat/index.ts","../../src/cli/user/use.ts","../../src/cli/user/index.ts","../../src/cli/workspace/index.ts","../../src/cli/index.ts"],"sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { readPackageJson } from \"./package-json\";\n\nconst detectPackageManager = () => {\n const availablePMs = [\"npm\", \"yarn\", \"pnpm\"];\n const userAgent = process.env.npm_config_user_agent;\n if (!userAgent) return;\n const [name] = userAgent.split(\"/\");\n if (!availablePMs.includes(name)) return;\n return name;\n};\n\nexport const initCommand = defineCommand({\n meta: {\n name: \"init\",\n description: \"Initialize a new project using create-sdk\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Project name\",\n required: false,\n },\n template: {\n type: \"string\",\n description: \"Template name\",\n required: false,\n alias: \"t\",\n },\n },\n run: withCommonArgs(async (args) => {\n const packageJson = await readPackageJson();\n const version =\n packageJson.version && packageJson.version !== \"0.0.0\"\n ? packageJson.version\n : \"latest\";\n\n let packageManager = detectPackageManager();\n if (!packageManager) {\n consola.warn(\"⚠️ Could not detect package manager, defaulting to npm\");\n packageManager = \"npm\";\n }\n const initArgs = [\n \"create\",\n `@tailor-platform/sdk@${version}`,\n ...(args.name ? [args.name] : []),\n ...(packageManager === \"npm\" ? [\"--\"] : []),\n ...(args.template ? [\"--template\", args.template] : []),\n ];\n consola.log(`Running: ${packageManager} ${initArgs.join(\" \")}`);\n\n spawnSync(packageManager, initArgs, { stdio: \"inherit\" });\n }),\n});\n","import * as crypto from \"node:crypto\";\nimport * as http from \"node:http\";\nimport { generateCodeVerifier } from \"@badgateway/oauth2-client\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport open from \"open\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { fetchUserInfo, initOAuth2Client } from \"./client\";\nimport { readPlatformConfig, writePlatformConfig } from \"./context\";\n\nconst redirectPort = 8085;\nconst redirectUri = `http://localhost:${redirectPort}/callback`;\n\nfunction randomState() {\n return crypto.randomBytes(32).toString(\"base64url\");\n}\n\nconst startAuthServer = async () => {\n const client = initOAuth2Client();\n const state = randomState();\n const codeVerifier = await generateCodeVerifier();\n\n return new Promise<void>((resolve, reject) => {\n const server = http.createServer(async (req, res) => {\n try {\n if (!req.url?.startsWith(\"/callback\")) {\n throw new Error(\"Invalid callback URL\");\n }\n const tokens = await client.authorizationCode.getTokenFromCodeRedirect(\n `http://${req.headers.host}${req.url}`,\n {\n redirectUri: redirectUri,\n state,\n codeVerifier,\n },\n );\n const userInfo = await fetchUserInfo(tokens.accessToken);\n\n const pfConfig = readPlatformConfig();\n pfConfig.users = {\n ...pfConfig.users,\n [userInfo.email]: {\n access_token: tokens.accessToken,\n refresh_token: tokens.refreshToken!,\n token_expires_at: new Date(tokens.expiresAt!).toISOString(),\n },\n };\n pfConfig.current_user = userInfo.email;\n writePlatformConfig(pfConfig);\n\n res.writeHead(200, { \"Content-Type\": \"application/json\" });\n res.end(\n JSON.stringify({\n status: \"ok\",\n message: \"Successfully authenticated. Please close this window.\",\n }),\n );\n resolve();\n } catch (error) {\n res.writeHead(401);\n res.end(\"Authentication failed\");\n reject(error);\n } finally {\n // Close the server after handling one request.\n server.close();\n }\n });\n\n const timeout = setTimeout(\n () => {\n server.close();\n reject(new Error(\"Login timeout exceeded\"));\n },\n 5 * 60 * 1000,\n );\n\n server.on(\"close\", () => {\n clearTimeout(timeout);\n });\n\n server.on(\"error\", (error) => {\n reject(error);\n });\n\n server.listen(redirectPort, async () => {\n const authorizeUri = await client.authorizationCode.getAuthorizeUri({\n redirectUri,\n state,\n codeVerifier,\n });\n\n consola.info(`Opening browser for login:\\n\\n${authorizeUri}\\n`);\n try {\n await open(authorizeUri);\n } catch {\n consola.warn(\n \"Failed to open browser automatically. Please open the URL above manually.\",\n );\n }\n });\n });\n};\n\nexport const loginCommand = defineCommand({\n meta: {\n name: \"login\",\n description: \"Login to Tailor Platform\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n await startAuthServer();\n consola.success(\"Successfully logged in to Tailor Platform.\");\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"./args\";\nimport { initOAuth2Client } from \"./client\";\nimport { readPlatformConfig, writePlatformConfig } from \"./context\";\n\nexport const logoutCommand = defineCommand({\n meta: {\n name: \"logout\",\n description: \"Logout from Tailor Platform\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n const pfConfig = readPlatformConfig();\n const tokens = pfConfig.current_user\n ? pfConfig.users[pfConfig.current_user]\n : undefined;\n if (!tokens) {\n consola.warn(\"You are not logged in.\");\n return;\n }\n\n const client = initOAuth2Client();\n client.revoke(\n {\n accessToken: tokens.access_token,\n refreshToken: tokens.refresh_token,\n expiresAt: Date.parse(tokens.token_expires_at),\n },\n \"refresh_token\",\n );\n\n delete pfConfig.users[pfConfig.current_user!];\n pfConfig.current_user = null;\n writePlatformConfig(pfConfig);\n consola.success(\"Successfully logged out from Tailor Platform.\");\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { listCommand } from \"./list\";\nimport { tokenCommand } from \"./token\";\n\nexport const machineuserCommand = defineCommand({\n meta: {\n name: \"machineuser\",\n description: \"Manage machine users\",\n },\n subCommands: {\n list: listCommand,\n token: tokenCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { getCommand } from \"./get\";\nimport { listCommand } from \"./list\";\n\nexport const oauth2clientCommand = defineCommand({\n meta: {\n name: \"oauth2client\",\n description: \"Manage OAuth2 clients\",\n },\n subCommands: {\n get: getCommand,\n list: listCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { fetchAll, initOperatorClient } from \"../client\";\nimport {\n fetchLatestToken,\n readPlatformConfig,\n writePlatformConfig,\n} from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description: \"Create new profile\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n user: {\n type: \"string\",\n description: \"User email\",\n required: true,\n alias: \"u\",\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"Workspace ID\",\n required: true,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n // Check if profile already exists\n if (config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" already exists.`);\n }\n\n // Check if user exists\n const token = await fetchLatestToken(config, args.user);\n\n // Check if workspace exists\n const client = await initOperatorClient(token);\n const workspaces = await fetchAll(async (pageToken) => {\n const { workspaces, nextPageToken } = await client.listWorkspaces({\n pageToken,\n });\n return [workspaces, nextPageToken];\n });\n\n const workspace = workspaces.find((ws) => ws.id === args[\"workspace-id\"]);\n if (!workspace) {\n throw new Error(`Workspace \"${args[\"workspace-id\"]}\" not found.`);\n }\n\n // Create new profile\n config.profiles[args.name] = {\n user: args.user,\n workspace_id: args[\"workspace-id\"],\n };\n writePlatformConfig(config);\n\n if (format === \"table\") {\n consola.success(`Profile \"${args.name}\" created successfully.`);\n }\n\n // Show profile info\n const profileInfo: ProfileInfo = {\n name: args.name,\n user: args.user,\n workspaceId: args[\"workspace-id\"],\n };\n printWithFormat(profileInfo, format);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig, writePlatformConfig } from \"../context\";\n\nexport const deleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: \"Delete profile\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n // Check if profile exists\n if (!config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" not found.`);\n }\n\n // Delete profile\n delete config.profiles[args.name];\n writePlatformConfig(config);\n\n consola.success(`Profile \"${args.name}\" deleted successfully.`);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { readPlatformConfig } from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all profiles\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n const profiles = Object.entries(config.profiles);\n if (profiles.length === 0) {\n consola.info(ml`\n No profiles found.\n Please create a profile first using 'tailor-sdk profile create' command.\n `);\n return;\n }\n\n // Show profiles info\n const profileInfos: ProfileInfo[] = profiles.map(([name, profile]) => ({\n name,\n user: profile!.user,\n workspaceId: profile!.workspace_id,\n }));\n printWithFormat(profileInfos, format);\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport {\n commonArgs,\n formatArgs,\n parseFormat,\n printWithFormat,\n withCommonArgs,\n} from \"../args\";\nimport { fetchAll, initOperatorClient } from \"../client\";\nimport {\n fetchLatestToken,\n readPlatformConfig,\n writePlatformConfig,\n} from \"../context\";\nimport type { ProfileInfo } from \".\";\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: \"Update profile properties\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n name: {\n type: \"positional\",\n description: \"Profile name\",\n required: true,\n },\n user: {\n type: \"string\",\n description: \"New user email\",\n alias: \"u\",\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"New workspace ID\",\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n // Check if profile exists\n if (!config.profiles[args.name]) {\n throw new Error(`Profile \"${args.name}\" not found.`);\n }\n\n // Check if at least one property is provided\n if (!args.user && !args[\"workspace-id\"]) {\n throw new Error(\"Please provide at least one property to update.\");\n }\n\n const profile = config.profiles[args.name]!;\n const oldUser = profile.user;\n const newUser = args.user || oldUser;\n const oldWorkspaceId = profile.workspace_id;\n const newWorkspaceId = args[\"workspace-id\"] || oldWorkspaceId;\n\n // Check if user exists\n const token = await fetchLatestToken(config, newUser);\n\n // Check if workspace exists\n const client = await initOperatorClient(token);\n const workspaces = await fetchAll(async (pageToken) => {\n const { workspaces, nextPageToken } = await client.listWorkspaces({\n pageToken,\n });\n return [workspaces, nextPageToken];\n });\n const workspace = workspaces.find((ws) => ws.id === newWorkspaceId);\n if (!workspace) {\n throw new Error(`Workspace \"${newWorkspaceId}\" not found.`);\n }\n\n // Update properties\n profile.user = newUser;\n profile.workspace_id = newWorkspaceId;\n writePlatformConfig(config);\n if (format === \"table\") {\n consola.success(`Profile \"${args.name}\" updated successfully`);\n }\n\n // Show profile info\n const profileInfo: ProfileInfo = {\n name: args.name,\n user: newUser,\n workspaceId: newWorkspaceId,\n };\n printWithFormat(profileInfo, format);\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\nimport { updateCommand } from \"./update\";\n\nexport interface ProfileInfo {\n name: string;\n user: string;\n workspaceId: string;\n}\n\nexport const profileCommand = defineCommand({\n meta: {\n name: \"profile\",\n description: \"Manage workspace profiles (user + workspace combinations)\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n update: updateCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { initOperatorClient } from \"../client\";\nimport { loadConfig } from \"../config-loader\";\nimport { loadAccessToken, loadConfigPath, loadWorkspaceId } from \"../context\";\n\nexport interface TruncateOptions {\n workspaceId?: string;\n profile?: string;\n configPath?: string;\n all?: boolean;\n namespace?: string;\n types?: string[];\n yes?: boolean;\n}\n\ninterface TruncateSingleTypeOptions {\n workspaceId: string;\n namespaceName: string;\n typeName: string;\n}\n\nasync function truncateSingleType(\n options: TruncateSingleTypeOptions,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n): Promise<void> {\n await client.truncateTailorDBType({\n workspaceId: options.workspaceId,\n namespaceName: options.namespaceName,\n tailordbTypeName: options.typeName,\n });\n\n consola.success(\n `Truncated type \"${options.typeName}\" in namespace \"${options.namespaceName}\"`,\n );\n}\n\nasync function truncateNamespace(\n workspaceId: string,\n namespaceName: string,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n): Promise<void> {\n await client.truncateTailorDBTypes({\n workspaceId,\n namespaceName,\n });\n\n consola.success(`Truncated all types in namespace \"${namespaceName}\"`);\n}\n\nasync function getAllNamespaces(\n workspaceId: string,\n configPath: string,\n): Promise<string[]> {\n const { config } = await loadConfig(configPath);\n const namespaces = new Set<string>();\n\n // Collect namespace names from db configuration\n if (config.db) {\n for (const [namespaceName] of Object.entries(config.db)) {\n namespaces.add(namespaceName);\n }\n }\n\n return Array.from(namespaces);\n}\n\nasync function getTypeNamespace(\n workspaceId: string,\n typeName: string,\n client: Awaited<ReturnType<typeof initOperatorClient>>,\n configPath: string,\n): Promise<string | null> {\n const namespaces = await getAllNamespaces(workspaceId, configPath);\n\n // Try to find the type in each namespace\n for (const namespace of namespaces) {\n try {\n const { tailordbTypes } = await client.listTailorDBTypes({\n workspaceId,\n namespaceName: namespace,\n });\n\n if (tailordbTypes.some((type) => type.name === typeName)) {\n return namespace;\n }\n } catch {\n // Continue to next namespace if error occurs\n continue;\n }\n }\n\n return null;\n}\n\nexport async function truncate(options?: TruncateOptions): Promise<void> {\n // Load and validate options\n const accessToken = await loadAccessToken({\n useProfile: true,\n profile: options?.profile,\n });\n const client = await initOperatorClient(accessToken);\n const workspaceId = loadWorkspaceId({\n workspaceId: options?.workspaceId,\n profile: options?.profile,\n });\n\n // Validate arguments\n const hasTypes = options?.types && options.types.length > 0;\n const hasNamespace = !!options?.namespace;\n const hasAll = !!options?.all;\n\n if ([hasTypes, hasNamespace, hasAll].filter(Boolean).length > 1) {\n throw new Error(\n \"Cannot specify multiple options: choose one of --all, --namespace, or type names\",\n );\n }\n\n if (!hasTypes && !hasNamespace && !hasAll) {\n throw new Error(\n \"Please specify one of: --all, --namespace <name>, or type names\",\n );\n }\n\n // Load config path - always required to ensure we only truncate managed namespaces\n const configPath = loadConfigPath(options?.configPath);\n\n // Validate config and get namespaces before confirmation\n const namespaces = await getAllNamespaces(workspaceId, configPath);\n\n // Handle --all flag\n if (hasAll) {\n if (namespaces.length === 0) {\n consola.warn(\"No namespaces found in config file.\");\n return;\n }\n\n if (!options?.yes) {\n const namespaceList = namespaces.join(\", \");\n const confirmation = await consola.prompt(\n `This will truncate ALL tables in the following namespaces: ${namespaceList}. Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n for (const namespace of namespaces) {\n await truncateNamespace(workspaceId, namespace, client);\n }\n consola.success(\"Truncated all tables in all namespaces\");\n return;\n }\n\n // Handle --namespace flag\n if (hasNamespace && options?.namespace) {\n const namespace = options.namespace;\n\n // Validate namespace exists in config\n if (!namespaces.includes(namespace)) {\n throw new Error(\n `Namespace \"${namespace}\" not found in config. Available namespaces: ${namespaces.join(\", \")}`,\n );\n }\n\n if (!options.yes) {\n const confirmation = await consola.prompt(\n `This will truncate ALL tables in namespace \"${namespace}\". Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n await truncateNamespace(workspaceId, namespace, client);\n return;\n }\n\n // Handle specific types\n if (hasTypes && options?.types) {\n const typeNames = options.types;\n\n // Validate all types exist and get their namespaces before confirmation\n const typeNamespaceMap = new Map<string, string>();\n const notFoundTypes: string[] = [];\n\n for (const typeName of typeNames) {\n const namespace = await getTypeNamespace(\n workspaceId,\n typeName,\n client,\n configPath,\n );\n\n if (namespace) {\n typeNamespaceMap.set(typeName, namespace);\n } else {\n notFoundTypes.push(typeName);\n }\n }\n\n if (notFoundTypes.length > 0) {\n throw new Error(\n `The following types were not found in any namespace: ${notFoundTypes.join(\", \")}`,\n );\n }\n\n if (!options.yes) {\n const typeList = typeNames.join(\", \");\n const confirmation = await consola.prompt(\n `This will truncate the following types: ${typeList}. Continue? (yes/no)`,\n {\n type: \"confirm\",\n initial: false,\n },\n );\n if (!confirmation) {\n consola.info(\"Truncate cancelled.\");\n return;\n }\n }\n\n for (const typeName of typeNames) {\n const namespace = typeNamespaceMap.get(typeName);\n if (!namespace) {\n continue;\n }\n\n await truncateSingleType(\n {\n workspaceId,\n namespaceName: namespace,\n typeName,\n },\n client,\n );\n }\n }\n}\n\nexport const truncateCommand = defineCommand({\n meta: {\n name: \"truncate\",\n description: \"Truncate TailorDB tables\",\n },\n args: {\n ...commonArgs,\n types: {\n type: \"positional\",\n description: \"Type names to truncate (space-separated)\",\n required: false,\n },\n all: {\n type: \"boolean\",\n description: \"Truncate all tables in all namespaces\",\n default: false,\n alias: \"a\",\n },\n namespace: {\n type: \"string\",\n description: \"Truncate all tables in specified namespace\",\n alias: \"n\",\n },\n yes: {\n type: \"boolean\",\n description: \"Skip confirmation prompt\",\n alias: \"y\",\n default: false,\n },\n \"workspace-id\": {\n type: \"string\",\n description: \"Workspace ID\",\n alias: \"w\",\n },\n profile: {\n type: \"string\",\n description: \"Workspace profile\",\n alias: \"p\",\n },\n config: {\n type: \"string\",\n description: \"Path to tailor config file\",\n default: \"tailor.config.ts\",\n alias: \"c\",\n },\n },\n run: withCommonArgs(async (args) => {\n await truncate({\n workspaceId: args[\"workspace-id\"],\n profile: args.profile,\n configPath: args.config,\n all: args.all,\n namespace: args.namespace,\n types: args.types ? args.types.split(/\\s+/).filter(Boolean) : undefined,\n yes: args.yes,\n });\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { truncateCommand } from \"./truncate\";\n\nexport const tailordbCommand = defineCommand({\n meta: {\n name: \"tailordb\",\n description: \"Manage TailorDB tables and data\",\n },\n subCommands: {\n truncate: truncateCommand,\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig } from \"../context\";\n\nexport const currentCommand = defineCommand({\n meta: {\n name: \"current\",\n description: \"Show current user\",\n },\n args: commonArgs,\n run: withCommonArgs(async () => {\n const config = readPlatformConfig();\n\n // Check if current user is set\n if (!config.current_user) {\n consola.warn(ml`\n Current user not set.\n Please login first using 'tailor-sdk login' command to register a user.\n `);\n return;\n }\n\n // Check if user exists\n if (!config.users[config.current_user]) {\n throw new Error(ml`\n Current user '${config.current_user}' not found in registered users.\n Please login again using 'tailor-sdk login' command to register the user.\n `);\n }\n\n console.log(config.current_user);\n }),\n});\n","import chalk from \"chalk\";\nimport { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, formatArgs, parseFormat, withCommonArgs } from \"../args\";\nimport { readPlatformConfig } from \"../context\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all users\",\n },\n args: {\n ...commonArgs,\n ...formatArgs,\n },\n run: withCommonArgs(async (args) => {\n // Validate args\n const format = parseFormat(args.format);\n\n const config = readPlatformConfig();\n\n const users = Object.keys(config.users);\n if (users.length === 0) {\n consola.info(ml`\n No users found.\n Please login first using 'tailor-sdk login' command to register a user.\n `);\n return;\n }\n\n // Show users\n switch (format) {\n case \"table\": {\n users.forEach((user) => {\n if (user === config.current_user) {\n console.log(chalk.green.bold(`${user} (current)`));\n } else {\n console.log(user);\n }\n });\n break;\n }\n case \"json\":\n console.log(JSON.stringify(users));\n break;\n default:\n throw new Error(`Format \"${format satisfies never}\" is invalid.`);\n }\n }),\n});\n","import { PATScope } from \"@tailor-proto/tailor/v1/auth_resource_pb\";\nimport ml from \"multiline-ts\";\nimport { z } from \"zod\";\nimport type { PersonalAccessToken } from \"@tailor-proto/tailor/v1/auth_resource_pb\";\n\nexport interface PersonalAccessTokenInfo {\n name: string;\n scopes: string[];\n}\n\nconst patFormatSchema = z.enum([\"text\", \"json\"]);\n\nexport const patFormatArgs = {\n format: {\n type: \"string\",\n description: `Output format (${patFormatSchema.options.join(\", \")})`,\n alias: \"f\",\n default: \"text\",\n },\n} as const;\n\nexport function parsePATFormat(format: string) {\n const parsed = patFormatSchema.safeParse(format);\n if (!parsed.success) {\n throw new Error(\n `Format \"${format}\" is invalid. Must be one of: ${patFormatSchema.options.join(\", \")}`,\n );\n }\n return parsed.data;\n}\n\nfunction patScopeToString(scope: PATScope): string {\n switch (scope) {\n case PATScope.PAT_SCOPE_READ:\n return \"read\";\n case PATScope.PAT_SCOPE_WRITE:\n return \"write\";\n default:\n return \"unknown\";\n }\n}\n\nexport function transformPersonalAccessToken(\n pat: PersonalAccessToken,\n): PersonalAccessTokenInfo {\n return {\n name: pat.name,\n scopes: pat.scopes.map(patScopeToString),\n };\n}\n\nexport function getScopesFromWriteFlag(write: boolean): PATScope[] {\n return write\n ? [PATScope.PAT_SCOPE_READ, PATScope.PAT_SCOPE_WRITE]\n : [PATScope.PAT_SCOPE_READ];\n}\n\nfunction getScopeStringsFromWriteFlag(write: boolean): string[] {\n return write ? [\"read\", \"write\"] : [\"read\"];\n}\n\nexport function printCreatedToken(\n name: string,\n token: string,\n write: boolean,\n format: \"text\" | \"json\",\n action: \"created\" | \"updated\",\n): void {\n const scopes = getScopeStringsFromWriteFlag(write);\n\n if (format === \"text\") {\n console.log(ml`\n Personal access token ${action} successfully.\n\n name: ${name}\n scopes: ${scopes.join(\"/\")}\n token: ${token}\n\n Please save this token in a secure location. You won't be able to see it again.\n `);\n } else {\n console.log(\n JSON.stringify({\n name,\n scopes,\n token,\n }),\n );\n }\n}\n","import { defineCommand } from \"citty\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n getScopesFromWriteFlag,\n parsePATFormat,\n patFormatArgs,\n printCreatedToken,\n} from \"./transform\";\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description: \"Create new personal access token\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n write: {\n type: \"boolean\",\n description: \"Grant write permission (default: read-only)\",\n default: false,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n const scopes = getScopesFromWriteFlag(args.write);\n const result = await client.createPersonalAccessToken({\n name: args.name,\n scopes,\n });\n\n if (!result.accessToken) {\n throw new Error(\"Failed to create personal access token\");\n }\n\n printCreatedToken(\n args.name,\n result.accessToken,\n args.write,\n format,\n \"created\",\n );\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\n\nexport const deleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: \"Delete personal access token\",\n },\n args: {\n ...commonArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n await client.deletePersonalAccessToken({\n name: args.name,\n });\n\n consola.success(\n `Personal access token \"${args.name}\" deleted successfully.`,\n );\n }),\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { fetchAll, initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n parsePATFormat,\n patFormatArgs,\n transformPersonalAccessToken,\n type PersonalAccessTokenInfo,\n} from \"./transform\";\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all personal access tokens\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n const pats = await fetchAll(async (pageToken) => {\n const { personalAccessTokens, nextPageToken } =\n await client.listPersonalAccessTokens({\n pageToken,\n });\n return [personalAccessTokens, nextPageToken];\n });\n\n if (pats.length === 0) {\n consola.info(ml`\n No personal access tokens found.\n Please create a token using 'tailor-sdk user pat create' command.\n `);\n return;\n }\n\n if (format === \"text\") {\n // Find the longest name for alignment\n const maxNameLength = Math.max(...pats.map((pat) => pat.name.length));\n\n // Display as simple list with right-aligned names: \"name: scope1/scope2\"\n pats.forEach((pat) => {\n const info = transformPersonalAccessToken(pat);\n const paddedName = info.name.padStart(maxNameLength);\n // Use console.log instead of consola.log to avoid timestamp\n console.log(`${paddedName}: ${info.scopes.join(\"/\")}`);\n });\n } else {\n // JSON format with scopes as array\n const patInfos: PersonalAccessTokenInfo[] = pats.map(\n transformPersonalAccessToken,\n );\n console.log(JSON.stringify(patInfos));\n }\n }),\n});\n","import { defineCommand } from \"citty\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../../args\";\nimport { initOperatorClient } from \"../../client\";\nimport { fetchLatestToken, readPlatformConfig } from \"../../context\";\nimport {\n getScopesFromWriteFlag,\n parsePATFormat,\n patFormatArgs,\n printCreatedToken,\n} from \"./transform\";\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: \"Update personal access token (delete and recreate)\",\n },\n args: {\n ...commonArgs,\n ...patFormatArgs,\n name: {\n type: \"positional\",\n description: \"Token name\",\n required: true,\n },\n write: {\n type: \"boolean\",\n description: \"Grant write permission (if not specified, keeps read-only)\",\n default: false,\n alias: \"w\",\n },\n },\n run: withCommonArgs(async (args) => {\n const format = parsePATFormat(args.format);\n const config = readPlatformConfig();\n\n if (!config.current_user) {\n throw new Error(ml`\n No user logged in.\n Please login first using 'tailor-sdk login' command.\n `);\n }\n\n const token = await fetchLatestToken(config, config.current_user);\n const client = await initOperatorClient(token);\n\n // Delete the existing token\n await client.deletePersonalAccessToken({\n name: args.name,\n });\n\n // Create a new token with the same name\n const scopes = getScopesFromWriteFlag(args.write);\n const result = await client.createPersonalAccessToken({\n name: args.name,\n scopes,\n });\n\n if (!result.accessToken) {\n throw new Error(\"Failed to create personal access token\");\n }\n\n printCreatedToken(\n args.name,\n result.accessToken,\n args.write,\n format,\n \"updated\",\n );\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\nimport { updateCommand } from \"./update\";\n\nexport const patCommand = defineCommand({\n meta: {\n name: \"pat\",\n description: \"Manage personal access tokens\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n update: updateCommand,\n },\n async run(context) {\n // Default to list when no subcommand is provided\n await runCommand(listCommand, {\n rawArgs: context.rawArgs || [],\n });\n },\n});\n","import { defineCommand } from \"citty\";\nimport { consola } from \"consola\";\nimport ml from \"multiline-ts\";\nimport { commonArgs, withCommonArgs } from \"../args\";\nimport { readPlatformConfig, writePlatformConfig } from \"../context\";\n\nexport const useCommand = defineCommand({\n meta: {\n name: \"use\",\n description: \"Set current user\",\n },\n args: {\n ...commonArgs,\n user: {\n type: \"positional\",\n description: \"User email\",\n required: true,\n },\n },\n run: withCommonArgs(async (args) => {\n const config = readPlatformConfig();\n\n // Check if user exists\n if (!config.users[args.user]) {\n throw new Error(ml`\n User \"${args.user}\" not found.\n Please login first using 'tailor-sdk login' command to register this user.\n `);\n }\n\n // Set current user\n config.current_user = args.user;\n writePlatformConfig(config);\n\n consola.success(`Current user set to \"${args.user}\" successfully.`);\n }),\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { currentCommand } from \"./current\";\nimport { listCommand } from \"./list\";\nimport { patCommand } from \"./pat\";\nimport { useCommand } from \"./use\";\n\nexport const userCommand = defineCommand({\n meta: {\n name: \"user\",\n description: \"Manage Tailor Platform users\",\n },\n subCommands: {\n current: currentCommand,\n list: listCommand,\n pat: patCommand,\n use: useCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","import { defineCommand, runCommand } from \"citty\";\nimport { createCommand } from \"./create\";\nimport { deleteCommand } from \"./delete\";\nimport { listCommand } from \"./list\";\n\nexport const workspaceCommand = defineCommand({\n meta: {\n name: \"workspace\",\n description: \"Manage Tailor Platform workspaces\",\n },\n subCommands: {\n create: createCommand,\n delete: deleteCommand,\n list: listCommand,\n },\n async run() {\n await runCommand(listCommand, { rawArgs: [] });\n },\n});\n","#!/usr/bin/env node\n\nimport { register } from \"node:module\";\nimport { defineCommand, runMain } from \"citty\";\nimport { applyCommand } from \"./apply\";\nimport { generateCommand } from \"./generator\";\nimport { initCommand } from \"./init\";\nimport { loginCommand } from \"./login\";\nimport { logoutCommand } from \"./logout\";\nimport { machineuserCommand } from \"./machineuser\";\nimport { oauth2clientCommand } from \"./oauth2client\";\nimport { readPackageJson } from \"./package-json\";\nimport { profileCommand } from \"./profile\";\nimport { removeCommand } from \"./remove\";\nimport { showCommand } from \"./show\";\nimport { tailordbCommand } from \"./tailordb\";\nimport { userCommand } from \"./user\";\nimport { workspaceCommand } from \"./workspace\";\n\nregister(\"tsx\", import.meta.url, { data: {} });\n\nconst packageJson = await readPackageJson();\n\nconst mainCommand = defineCommand({\n meta: {\n name: packageJson.name,\n version: packageJson.version,\n description:\n packageJson.description ||\n \"Tailor CLI for managing Tailor Platform SDK applications\",\n },\n subCommands: {\n apply: applyCommand,\n generate: generateCommand,\n init: initCommand,\n login: loginCommand,\n logout: logoutCommand,\n machineuser: machineuserCommand,\n oauth2client: oauth2clientCommand,\n profile: profileCommand,\n remove: removeCommand,\n show: showCommand,\n tailordb: tailordbCommand,\n user: userCommand,\n workspace: workspaceCommand,\n },\n});\n\nrunMain(mainCommand);\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference path="./../
|
|
1
|
+
/// <reference path="./../user-defined.d.ts" />
|
|
2
2
|
|
|
3
|
-
import { AuthConfig, AuthExternalConfig, AuthOwnConfig, AuthServiceInput, BuiltinIdP, ExecutorServiceConfig, ExecutorServiceInput, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, OAuth2Client, OAuth2ClientGrantType, OIDC, PermissionCondition, QueryType, Resolver, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WorkflowServiceConfig, WorkflowServiceInput, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, unauthenticatedTailorUser } from "../types-
|
|
4
|
-
import { FunctionOperation, GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t } from "../index-
|
|
5
|
-
export { AuthConfig, AuthExternalConfig, AuthOwnConfig, AuthServiceInput, BuiltinIdP, ExecutorServiceConfig, ExecutorServiceInput, FunctionOperation, GqlOperation, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, OAuth2Client, OAuth2ClientGrantType, OIDC, Operation, PermissionCondition, QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, ScheduleTrigger, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, Trigger, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowServiceConfig, WorkflowServiceInput, createExecutor, createResolver, createWorkflow, createWorkflowJob, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unauthenticatedTailorUser };
|
|
3
|
+
import { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthOwnConfig, AuthServiceInput, BuiltinIdP, ExecutorServiceConfig, ExecutorServiceInput, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, OAuth2Client, OAuth2ClientGrantType, OIDC, PermissionCondition, QueryType, Resolver, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WorkflowServiceConfig, WorkflowServiceInput, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, unauthenticatedTailorUser } from "../types-BvH0p5R9.mjs";
|
|
4
|
+
import { Env, FunctionOperation, GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t } from "../index-15r0QXT5.mjs";
|
|
5
|
+
export { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthOwnConfig, AuthServiceInput, BuiltinIdP, Env, ExecutorServiceConfig, ExecutorServiceInput, FunctionOperation, GqlOperation, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, OAuth2Client, OAuth2ClientGrantType, OIDC, Operation, PermissionCondition, QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, ScheduleTrigger, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, Trigger, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowServiceConfig, WorkflowServiceInput, createExecutor, createResolver, createWorkflow, createWorkflowJob, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unauthenticatedTailorUser };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["t","_t"],"sources":["../../src/configure/services/resolver/resolver.ts","../../src/configure/services/executor/executor.ts","../../src/configure/services/executor/trigger/event.ts","../../src/configure/services/executor/trigger/schedule.ts","../../src/configure/services/executor/trigger/webhook.ts","../../src/configure/services/workflow/workflow.ts","../../src/configure/services/staticwebsite/index.ts","../../src/configure/services/idp/index.ts","../../src/configure/index.ts"],"sourcesContent":["import { t, TailorField } from \"@/configure/types/type\";\nimport type { TailorUser } from \"@/configure/types\";\nimport type { TailorEnv } from \"@/configure/types/env\";\nimport type { InferFieldsOutput, output } from \"@/configure/types/helpers\";\nimport type { ResolverInput } from \"@/parser/service/resolver/types\";\n\ntype Context<Input extends Record<string, TailorField<any>> | undefined> = {\n input: Input extends Record<string, TailorField<any>>\n ? InferFieldsOutput<Input>\n : never;\n user: TailorUser;\n env: TailorEnv;\n};\n\ntype OutputType<O> =\n O extends TailorField<any>\n ? output<O>\n : O extends Record<string, TailorField<any>>\n ? InferFieldsOutput<O>\n : never;\n\nexport function createResolver<\n Input extends Record<string, TailorField<any>> | undefined = undefined,\n Output extends\n | TailorField<any>\n | Record<string, TailorField<any>> = TailorField<any>,\n>(\n config: Omit<ResolverInput, \"input\" | \"output\" | \"body\"> &\n Readonly<{\n input?: Input;\n output: Output;\n body: (\n context: Context<Input>,\n ) => OutputType<Output> | Promise<OutputType<Output>>;\n }>,\n) {\n const normalizedOutput =\n config.output instanceof TailorField\n ? config.output\n : t.object(config.output);\n\n return {\n ...config,\n output: normalizedOutput,\n };\n}\n\nexport type ResolverConfig = ReturnType<typeof createResolver<any, any>>;\n","import type { Operation } from \"./operation\";\nimport type { Trigger } from \"./trigger\";\nimport type { ExecutorInput } from \"@/parser/service/executor/types\";\n\ntype Executor<Args, O extends Operation<Args>> = Omit<\n ExecutorInput,\n \"trigger\" | \"operation\"\n> & {\n trigger: Trigger<Args>;\n operation: O;\n};\n\nexport function createExecutor<Args, O extends Operation<Args>>(\n config: Executor<Args, O>,\n) {\n if (config.operation.kind === \"graphql\") {\n config.operation.query = config.operation.query.toString();\n }\n return config;\n}\n","import type { ResolverConfig } from \"@/configure/services/resolver/resolver\";\nimport type { TailorDBType } from \"@/configure/services/tailordb/schema\";\nimport type { output } from \"@/configure/types/helpers\";\nimport type {\n RecordTrigger as ParserRecordTrigger,\n ResolverExecutedTrigger as ParserResolverExecutedTrigger,\n} from \"@/parser/service/executor/types\";\n\ninterface EventArgs {\n workspaceId: string;\n appNamespace: string;\n}\n\ninterface RecordArgs extends EventArgs {\n typeName: string;\n}\n\nexport interface RecordCreatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n}\n\nexport interface RecordUpdatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n oldRecord: output<T>;\n}\n\nexport interface RecordDeletedArgs<T extends TailorDBType> extends RecordArgs {\n oldRecord: output<T>;\n}\n\nexport type ResolverExecutedArgs<R extends ResolverConfig> = EventArgs & {\n resolverName: string;\n} & (\n | {\n result: output<R[\"output\"]>;\n error: undefined;\n }\n | {\n result: undefined;\n error: string;\n }\n );\n\nexport type RecordTrigger<Args> = ParserRecordTrigger & {\n __args: Args;\n};\n\nexport function recordCreatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordCreatedArgs<T>) => boolean;\n}): RecordTrigger<RecordCreatedArgs<T>> {\n return {\n kind: \"recordCreated\",\n typeName: type.name,\n condition,\n __args: {} as RecordCreatedArgs<T>,\n };\n}\n\nexport function recordUpdatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordUpdatedArgs<T>) => boolean;\n}): RecordTrigger<RecordUpdatedArgs<T>> {\n return {\n kind: \"recordUpdated\",\n typeName: type.name,\n condition,\n __args: {} as RecordUpdatedArgs<T>,\n };\n}\n\nexport function recordDeletedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordDeletedArgs<T>) => boolean;\n}): RecordTrigger<RecordDeletedArgs<T>> {\n return {\n kind: \"recordDeleted\",\n typeName: type.name,\n condition,\n __args: {} as RecordDeletedArgs<T>,\n };\n}\n\nexport type ResolverExecutedTrigger<Args> = ParserResolverExecutedTrigger & {\n __args: Args;\n};\n\nexport function resolverExecutedTrigger<R extends ResolverConfig>({\n resolver,\n condition,\n}: {\n resolver: R;\n condition?: (args: ResolverExecutedArgs<R>) => boolean;\n}): ResolverExecutedTrigger<ResolverExecutedArgs<R>> {\n return {\n kind: \"resolverExecuted\",\n resolverName: resolver.name,\n condition,\n __args: {} as ResolverExecutedArgs<R>,\n };\n}\n","import type { ScheduleTriggerInput as ParserScheduleTriggerInput } from \"@/parser/service/executor/types\";\nimport type { StandardCRON } from \"ts-cron-validator\";\nimport type { EmptyObject } from \"type-fest\";\n\ntype Timezone =\n | \"UTC\"\n | \"Pacific/Midway\"\n | \"Pacific/Niue\"\n | \"Pacific/Pago_Pago\"\n | \"America/Adak\"\n | \"Pacific/Honolulu\"\n | \"Pacific/Rarotonga\"\n | \"Pacific/Tahiti\"\n | \"Pacific/Marquesas\"\n | \"America/Anchorage\"\n | \"America/Juneau\"\n | \"America/Metlakatla\"\n | \"America/Nome\"\n | \"America/Sitka\"\n | \"America/Yakutat\"\n | \"Pacific/Gambier\"\n | \"America/Los_Angeles\"\n | \"America/Tijuana\"\n | \"America/Vancouver\"\n | \"Pacific/Pitcairn\"\n | \"America/Boise\"\n | \"America/Cambridge_Bay\"\n | \"America/Chihuahua\"\n | \"America/Creston\"\n | \"America/Dawson\"\n | \"America/Dawson_Creek\"\n | \"America/Denver\"\n | \"America/Edmonton\"\n | \"America/Fort_Nelson\"\n | \"America/Hermosillo\"\n | \"America/Inuvik\"\n | \"America/Mazatlan\"\n | \"America/Ojinaga\"\n | \"America/Phoenix\"\n | \"America/Whitehorse\"\n | \"America/Yellowknife\"\n | \"America/Bahia_Banderas\"\n | \"America/Belize\"\n | \"America/Chicago\"\n | \"America/Costa_Rica\"\n | \"America/El_Salvador\"\n | \"America/Guatemala\"\n | \"America/Indiana/Knox\"\n | \"America/Indiana/Tell_City\"\n | \"America/Managua\"\n | \"America/Matamoros\"\n | \"America/Menominee\"\n | \"America/Merida\"\n | \"America/Mexico_City\"\n | \"America/Monterrey\"\n | \"America/North_Dakota/Beulah\"\n | \"America/North_Dakota/Center\"\n | \"America/North_Dakota/New_Salem\"\n | \"America/Rainy_River\"\n | \"America/Rankin_Inlet\"\n | \"America/Regina\"\n | \"America/Resolute\"\n | \"America/Swift_Current\"\n | \"America/Tegucigalpa\"\n | \"America/Winnipeg\"\n | \"Pacific/Easter\"\n | \"Pacific/Galapagos\"\n | \"America/Atikokan\"\n | \"America/Bogota\"\n | \"America/Cancun\"\n | \"America/Cayman\"\n | \"America/Detroit\"\n | \"America/Eirunepe\"\n | \"America/Grand_Turk\"\n | \"America/Guayaquil\"\n | \"America/Havana\"\n | \"America/Indiana/Indianapolis\"\n | \"America/Indiana/Marengo\"\n | \"America/Indiana/Petersburg\"\n | \"America/Indiana/Vevay\"\n | \"America/Indiana/Vincennes\"\n | \"America/Indiana/Winamac\"\n | \"America/Iqaluit\"\n | \"America/Jamaica\"\n | \"America/Kentucky/Louisville\"\n | \"America/Kentucky/Monticello\"\n | \"America/Lima\"\n | \"America/Nassau\"\n | \"America/New_York\"\n | \"America/Nipigon\"\n | \"America/Panama\"\n | \"America/Pangnirtung\"\n | \"America/Port-au-Prince\"\n | \"America/Rio_Branco\"\n | \"America/Thunder_Bay\"\n | \"America/Toronto\"\n | \"America/Anguilla\"\n | \"America/Antigua\"\n | \"America/Aruba\"\n | \"America/Asuncion\"\n | \"America/Barbados\"\n | \"America/Blanc-Sablon\"\n | \"America/Boa_Vista\"\n | \"America/Campo_Grande\"\n | \"America/Caracas\"\n | \"America/Cuiaba\"\n | \"America/Curacao\"\n | \"America/Dominica\"\n | \"America/Glace_Bay\"\n | \"America/Goose_Bay\"\n | \"America/Grenada\"\n | \"America/Guadeloupe\"\n | \"America/Guyana\"\n | \"America/Halifax\"\n | \"America/Kralendijk\"\n | \"America/La_Paz\"\n | \"America/Lower_Princes\"\n | \"America/Manaus\"\n | \"America/Marigot\"\n | \"America/Martinique\"\n | \"America/Moncton\"\n | \"America/Montserrat\"\n | \"America/Porto_Velho\"\n | \"America/Port_of_Spain\"\n | \"America/Puerto_Rico\"\n | \"America/Santiago\"\n | \"America/Santo_Domingo\"\n | \"America/St_Barthelemy\"\n | \"America/St_Kitts\"\n | \"America/St_Lucia\"\n | \"America/St_Thomas\"\n | \"America/St_Vincent\"\n | \"America/Thule\"\n | \"America/Tortola\"\n | \"Atlantic/Bermuda\"\n | \"America/St_Johns\"\n | \"America/Araguaina\"\n | \"America/Argentina/Buenos_Aires\"\n | \"America/Argentina/Catamarca\"\n | \"America/Argentina/Cordoba\"\n | \"America/Argentina/Jujuy\"\n | \"America/Argentina/La_Rioja\"\n | \"America/Argentina/Mendoza\"\n | \"America/Argentina/Rio_Gallegos\"\n | \"America/Argentina/Salta\"\n | \"America/Argentina/San_Juan\"\n | \"America/Argentina/San_Luis\"\n | \"America/Argentina/Tucuman\"\n | \"America/Argentina/Ushuaia\"\n | \"America/Bahia\"\n | \"America/Belem\"\n | \"America/Cayenne\"\n | \"America/Fortaleza\"\n | \"America/Godthab\"\n | \"America/Maceio\"\n | \"America/Miquelon\"\n | \"America/Montevideo\"\n | \"America/Paramaribo\"\n | \"America/Punta_Arenas\"\n | \"America/Recife\"\n | \"America/Santarem\"\n | \"America/Sao_Paulo\"\n | \"Antarctica/Palmer\"\n | \"Antarctica/Rothera\"\n | \"Atlantic/Stanley\"\n | \"America/Noronha\"\n | \"Atlantic/South_Georgia\"\n | \"America/Scoresbysund\"\n | \"Atlantic/Azores\"\n | \"Atlantic/Cape_Verde\"\n | \"Africa/Abidjan\"\n | \"Africa/Accra\"\n | \"Africa/Bamako\"\n | \"Africa/Banjul\"\n | \"Africa/Bissau\"\n | \"Africa/Casablanca\"\n | \"Africa/Conakry\"\n | \"Africa/Dakar\"\n | \"Africa/El_Aaiun\"\n | \"Africa/Freetown\"\n | \"Africa/Lome\"\n | \"Africa/Monrovia\"\n | \"Africa/Nouakchott\"\n | \"Africa/Ouagadougou\"\n | \"Africa/Sao_Tome\"\n | \"America/Danmarkshavn\"\n | \"Antarctica/Troll\"\n | \"Atlantic/Canary\"\n | \"Atlantic/Faroe\"\n | \"Atlantic/Madeira\"\n | \"Atlantic/Reykjavik\"\n | \"Atlantic/St_Helena\"\n | \"Europe/Dublin\"\n | \"Europe/Guernsey\"\n | \"Europe/Isle_of_Man\"\n | \"Europe/Jersey\"\n | \"Europe/Lisbon\"\n | \"Europe/London\"\n | \"Africa/Algiers\"\n | \"Africa/Bangui\"\n | \"Africa/Brazzaville\"\n | \"Africa/Ceuta\"\n | \"Africa/Douala\"\n | \"Africa/Kinshasa\"\n | \"Africa/Lagos\"\n | \"Africa/Libreville\"\n | \"Africa/Luanda\"\n | \"Africa/Malabo\"\n | \"Africa/Ndjamena\"\n | \"Africa/Niamey\"\n | \"Africa/Porto-Novo\"\n | \"Africa/Tunis\"\n | \"Africa/Windhoek\"\n | \"Arctic/Longyearbyen\"\n | \"Europe/Amsterdam\"\n | \"Europe/Andorra\"\n | \"Europe/Belgrade\"\n | \"Europe/Berlin\"\n | \"Europe/Bratislava\"\n | \"Europe/Brussels\"\n | \"Europe/Budapest\"\n | \"Europe/Copenhagen\"\n | \"Europe/Gibraltar\"\n | \"Europe/Ljubljana\"\n | \"Europe/Luxembourg\"\n | \"Europe/Madrid\"\n | \"Europe/Malta\"\n | \"Europe/Monaco\"\n | \"Europe/Oslo\"\n | \"Europe/Paris\"\n | \"Europe/Podgorica\"\n | \"Europe/Prague\"\n | \"Europe/Rome\"\n | \"Europe/San_Marino\"\n | \"Europe/Sarajevo\"\n | \"Europe/Skopje\"\n | \"Europe/Stockholm\"\n | \"Europe/Tirane\"\n | \"Europe/Vaduz\"\n | \"Europe/Vatican\"\n | \"Europe/Vienna\"\n | \"Europe/Warsaw\"\n | \"Europe/Zagreb\"\n | \"Europe/Zurich\"\n | \"Africa/Blantyre\"\n | \"Africa/Bujumbura\"\n | \"Africa/Cairo\"\n | \"Africa/Gaborone\"\n | \"Africa/Harare\"\n | \"Africa/Johannesburg\"\n | \"Africa/Juba\"\n | \"Africa/Khartoum\"\n | \"Africa/Kigali\"\n | \"Africa/Lubumbashi\"\n | \"Africa/Lusaka\"\n | \"Africa/Maputo\"\n | \"Africa/Maseru\"\n | \"Africa/Mbabane\"\n | \"Africa/Tripoli\"\n | \"Asia/Amman\"\n | \"Asia/Beirut\"\n | \"Asia/Damascus\"\n | \"Asia/Famagusta\"\n | \"Asia/Gaza\"\n | \"Asia/Hebron\"\n | \"Asia/Jerusalem\"\n | \"Asia/Nicosia\"\n | \"Europe/Athens\"\n | \"Europe/Bucharest\"\n | \"Europe/Chisinau\"\n | \"Europe/Helsinki\"\n | \"Europe/Kaliningrad\"\n | \"Europe/Kyiv\"\n | \"Europe/Mariehamn\"\n | \"Europe/Riga\"\n | \"Europe/Sofia\"\n | \"Europe/Tallinn\"\n | \"Europe/Uzhgorod\"\n | \"Europe/Vilnius\"\n | \"Europe/Zaporizhzhia\"\n | \"Africa/Addis_Ababa\"\n | \"Africa/Asmara\"\n | \"Africa/Dar_es_Salaam\"\n | \"Africa/Djibouti\"\n | \"Africa/Kampala\"\n | \"Africa/Mogadishu\"\n | \"Africa/Nairobi\"\n | \"Antarctica/Syowa\"\n | \"Asia/Aden\"\n | \"Asia/Baghdad\"\n | \"Asia/Bahrain\"\n | \"Asia/Kuwait\"\n | \"Asia/Qatar\"\n | \"Asia/Riyadh\"\n | \"Europe/Istanbul\"\n | \"Europe/Kirov\"\n | \"Europe/Minsk\"\n | \"Europe/Moscow\"\n | \"Europe/Simferopol\"\n | \"Europe/Volgograd\"\n | \"Indian/Antananarivo\"\n | \"Indian/Comoro\"\n | \"Indian/Mayotte\"\n | \"Asia/Tehran\"\n | \"Asia/Baku\"\n | \"Asia/Dubai\"\n | \"Asia/Muscat\"\n | \"Asia/Tbilisi\"\n | \"Asia/Yerevan\"\n | \"Europe/Astrakhan\"\n | \"Europe/Samara\"\n | \"Europe/Saratov\"\n | \"Europe/Ulyanovsk\"\n | \"Indian/Mahe\"\n | \"Indian/Mauritius\"\n | \"Indian/Reunion\"\n | \"Asia/Kabul\"\n | \"Antarctica/Mawson\"\n | \"Asia/Aqtau\"\n | \"Asia/Aqtobe\"\n | \"Asia/Ashgabat\"\n | \"Asia/Atyrau\"\n | \"Asia/Dushanbe\"\n | \"Asia/Karachi\"\n | \"Asia/Oral\"\n | \"Asia/Qyzylorda\"\n | \"Asia/Samarkand\"\n | \"Asia/Tashkent\"\n | \"Asia/Yekaterinburg\"\n | \"Indian/Kerguelen\"\n | \"Indian/Maldives\"\n | \"Asia/Colombo\"\n | \"Asia/Kolkata\"\n | \"Asia/Kathmandu\"\n | \"Antarctica/Vostok\"\n | \"Asia/Almaty\"\n | \"Asia/Bishkek\"\n | \"Asia/Dhaka\"\n | \"Asia/Omsk\"\n | \"Asia/Qostanay\"\n | \"Asia/Thimphu\"\n | \"Asia/Urumqi\"\n | \"Indian/Chagos\"\n | \"Asia/Yangon\"\n | \"Indian/Cocos\"\n | \"Antarctica/Davis\"\n | \"Asia/Bangkok\"\n | \"Asia/Barnaul\"\n | \"Asia/Hovd\"\n | \"Asia/Ho_Chi_Minh\"\n | \"Asia/Jakarta\"\n | \"Asia/Krasnoyarsk\"\n | \"Asia/Novokuznetsk\"\n | \"Asia/Novosibirsk\"\n | \"Asia/Phnom_Penh\"\n | \"Asia/Pontianak\"\n | \"Asia/Tomsk\"\n | \"Asia/Vientiane\"\n | \"Indian/Christmas\"\n | \"Asia/Brunei\"\n | \"Asia/Choibalsan\"\n | \"Asia/Hong_Kong\"\n | \"Asia/Irkutsk\"\n | \"Asia/Kuala_Lumpur\"\n | \"Asia/Kuching\"\n | \"Asia/Macau\"\n | \"Asia/Makassar\"\n | \"Asia/Manila\"\n | \"Asia/Shanghai\"\n | \"Asia/Singapore\"\n | \"Asia/Taipei\"\n | \"Asia/Ulaanbaatar\"\n | \"Australia/Perth\"\n | \"Australia/Eucla\"\n | \"Asia/Chita\"\n | \"Asia/Dili\"\n | \"Asia/Jayapura\"\n | \"Asia/Khandyga\"\n | \"Asia/Pyongyang\"\n | \"Asia/Seoul\"\n | \"Asia/Tokyo\"\n | \"Asia/Yakutsk\"\n | \"Pacific/Palau\"\n | \"Australia/Adelaide\"\n | \"Australia/Broken_Hill\"\n | \"Australia/Darwin\"\n | \"Antarctica/DumontDUrville\"\n | \"Antarctica/Macquarie\"\n | \"Asia/Ust-Nera\"\n | \"Asia/Vladivostok\"\n | \"Australia/Brisbane\"\n | \"Australia/Currie\"\n | \"Australia/Hobart\"\n | \"Australia/Lindeman\"\n | \"Australia/Melbourne\"\n | \"Australia/Sydney\"\n | \"Pacific/Chuuk\"\n | \"Pacific/Guam\"\n | \"Pacific/Port_Moresby\"\n | \"Pacific/Saipan\"\n | \"Australia/Lord_Howe\"\n | \"Antarctica/Casey\"\n | \"Asia/Magadan\"\n | \"Asia/Sakhalin\"\n | \"Asia/Srednekolymsk\"\n | \"Pacific/Bougainville\"\n | \"Pacific/Efate\"\n | \"Pacific/Guadalcanal\"\n | \"Pacific/Kosrae\"\n | \"Pacific/Norfolk\"\n | \"Pacific/Noumea\"\n | \"Pacific/Pohnpei\"\n | \"Antarctica/McMurdo\"\n | \"Asia/Anadyr\"\n | \"Asia/Kamchatka\"\n | \"Pacific/Auckland\"\n | \"Pacific/Fiji\"\n | \"Pacific/Funafuti\"\n | \"Pacific/Kwajalein\"\n | \"Pacific/Majuro\"\n | \"Pacific/Nauru\"\n | \"Pacific/Tarawa\"\n | \"Pacific/Wake\"\n | \"Pacific/Wallis\"\n | \"Pacific/Chatham\"\n | \"Pacific/Apia\"\n | \"Pacific/Enderbury\"\n | \"Pacific/Fakaofo\"\n | \"Pacific/Tongatapu\"\n | \"Pacific/Kiritimati\";\n\nexport type ScheduleTrigger<Args> = ParserScheduleTriggerInput & {\n __args: Args;\n};\n\nexport function scheduleTrigger<T extends string>({\n cron,\n timezone,\n}: {\n cron: StandardCRON<T> extends never ? never : T;\n timezone?: Timezone;\n}): ScheduleTrigger<EmptyObject> {\n return {\n kind: \"schedule\",\n cron,\n timezone,\n __args: {} as EmptyObject,\n };\n}\n","import type { IncomingWebhookTrigger as ParserIncomingWebhookTrigger } from \"@/parser/service/executor/types\";\n\nexport interface IncomingWebhookArgs<T extends IncomingWebhookRequest> {\n body: T[\"body\"];\n headers: T[\"headers\"];\n method: \"POST\" | \"GET\" | \"PUT\" | \"DELETE\";\n rawBody: string;\n}\n\nexport interface IncomingWebhookRequest {\n body: Record<string, unknown>;\n headers: Record<string, string>;\n}\n\nexport type IncomingWebhookTrigger<Args> = ParserIncomingWebhookTrigger & {\n __args: Args;\n};\n\nexport function incomingWebhookTrigger<\n T extends IncomingWebhookRequest,\n>(): IncomingWebhookTrigger<IncomingWebhookArgs<T>> {\n return {\n kind: \"incomingWebhook\",\n __args: {} as IncomingWebhookArgs<T>,\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WorkflowJob } from \"./job\";\n\nexport interface WorkflowConfig<\n Job extends WorkflowJob<any, any, any, any> = WorkflowJob<any, any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport interface Workflow<\n Job extends WorkflowJob<any, any, any, any> = WorkflowJob<any, any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport function createWorkflow<Job extends WorkflowJob<any, any, any, any>>(\n config: WorkflowConfig<Job>,\n): Workflow<Job> {\n return config;\n}\n","import type { StaticWebsiteInput } from \"@/parser/service/staticwebsite/types\";\n\ndeclare const staticWebsiteDefinitionBrand: unique symbol;\ntype StaticWebsiteDefinitionBrand = {\n readonly [staticWebsiteDefinitionBrand]: true;\n};\n\nexport function defineStaticWebSite(\n name: string,\n config: Omit<StaticWebsiteInput, \"name\">,\n) {\n const result = {\n ...config,\n name,\n get url() {\n return `${name}:url` as const;\n },\n } as const satisfies StaticWebsiteInput & { readonly url: string };\n\n return result as typeof result & StaticWebsiteDefinitionBrand;\n}\n\nexport type StaticWebsiteConfig = Omit<\n ReturnType<typeof defineStaticWebSite>,\n \"url\"\n>;\n","import type { BuiltinIdP } from \"@/parser/service/auth/types\";\nimport type { IdPInput } from \"@/parser/service/idp/types\";\n\ndeclare const idpDefinitionBrand: unique symbol;\ntype IdpDefinitionBrand = { readonly [idpDefinitionBrand]: true };\n\nexport function defineIdp<const TClients extends string[]>(\n name: string,\n config: Omit<IdPInput, \"name\" | \"clients\"> & { clients: TClients },\n) {\n const result = {\n ...config,\n name,\n provider(providerName: string, clientName: TClients[number]) {\n return {\n name: providerName,\n kind: \"BuiltInIdP\",\n namespace: name,\n clientName,\n } as const satisfies BuiltinIdP;\n },\n } as const satisfies IdPInput & {\n provider: (\n providerName: string,\n clientName: TClients[number],\n ) => BuiltinIdP;\n };\n\n return result as typeof result & IdpDefinitionBrand;\n}\n\nexport type IdPExternalConfig = { name: string; external: true };\n\nexport type IdPConfig =\n | Omit<ReturnType<typeof defineIdp>, \"provider\">\n | IdPExternalConfig;\n","import { t as _t } from \"@/configure/types\";\nimport type * as helperTypes from \"@/configure/types/helpers\";\n\ntype TailorOutput<T> = helperTypes.output<T>;\n\nexport type infer<T> = TailorOutput<T>;\nexport type output<T> = TailorOutput<T>;\n\n// eslint-disable-next-line import/export\nexport const t = { ..._t };\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace t {\n export type output<T> = TailorOutput<T>;\n export type infer<T> = TailorOutput<T>;\n}\n\nexport {\n TailorField,\n type TailorUser,\n unauthenticatedTailorUser,\n} from \"@/configure/types\";\n\nexport * from \"@/configure/services\";\n\nexport { defineConfig, defineGenerators } from \"@/configure/config\";\n"],"mappings":";;;AAqBA,SAAgB,eAMd,QAQA;CACA,MAAM,mBACJ,OAAO,kBAAkB,cACrB,OAAO,SACPA,IAAE,OAAO,OAAO,OAAO;AAE7B,QAAO;EACL,GAAG;EACH,QAAQ;EACT;;;;;AChCH,SAAgB,eACd,QACA;AACA,KAAI,OAAO,UAAU,SAAS,UAC5B,QAAO,UAAU,QAAQ,OAAO,UAAU,MAAM,UAAU;AAE5D,QAAO;;;;;AC6BT,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAOH,SAAgB,wBAAkD,EAChE,UACA,aAImD;AACnD,QAAO;EACL,MAAM;EACN,cAAc,SAAS;EACvB;EACA,QAAQ,EAAE;EACX;;;;;ACuUH,SAAgB,gBAAkC,EAChD,MACA,YAI+B;AAC/B,QAAO;EACL,MAAM;EACN;EACA;EACA,QAAQ,EAAE;EACX;;;;;AC7aH,SAAgB,yBAEoC;AAClD,QAAO;EACL,MAAM;EACN,QAAQ,EAAE;EACX;;;;;ACPH,SAAgB,eACd,QACe;AACf,QAAO;;;;;ACbT,SAAgB,oBACd,MACA,QACA;AASA,QARe;EACb,GAAG;EACH;EACA,IAAI,MAAM;AACR,UAAO,GAAG,KAAK;;EAElB;;;;;ACXH,SAAgB,UACd,MACA,QACA;AAmBA,QAlBe;EACb,GAAG;EACH;EACA,SAAS,cAAsB,YAA8B;AAC3D,UAAO;IACL,MAAM;IACN,MAAM;IACN,WAAW;IACX;IACD;;EAEJ;;;;;ACZH,MAAa,IAAI,EAAE,GAAGC,KAAI"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["t","_t"],"sources":["../../src/configure/services/resolver/resolver.ts","../../src/configure/services/executor/executor.ts","../../src/configure/services/executor/trigger/event.ts","../../src/configure/services/executor/trigger/schedule.ts","../../src/configure/services/executor/trigger/webhook.ts","../../src/configure/services/workflow/workflow.ts","../../src/configure/services/staticwebsite/index.ts","../../src/configure/services/idp/index.ts","../../src/configure/index.ts"],"sourcesContent":["import { t, TailorField } from \"@/configure/types/type\";\nimport type { TailorUser } from \"@/configure/types\";\nimport type { TailorEnv } from \"@/configure/types/env\";\nimport type { InferFieldsOutput, output } from \"@/configure/types/helpers\";\nimport type { ResolverInput } from \"@/parser/service/resolver/types\";\n\ntype Context<Input extends Record<string, TailorField<any>> | undefined> = {\n input: Input extends Record<string, TailorField<any>>\n ? InferFieldsOutput<Input>\n : never;\n user: TailorUser;\n env: TailorEnv;\n};\n\ntype OutputType<O> =\n O extends TailorField<any>\n ? output<O>\n : O extends Record<string, TailorField<any>>\n ? InferFieldsOutput<O>\n : never;\n\nexport function createResolver<\n Input extends Record<string, TailorField<any>> | undefined = undefined,\n Output extends\n | TailorField<any>\n | Record<string, TailorField<any>> = TailorField<any>,\n>(\n config: Omit<ResolverInput, \"input\" | \"output\" | \"body\"> &\n Readonly<{\n input?: Input;\n output: Output;\n body: (\n context: Context<Input>,\n ) => OutputType<Output> | Promise<OutputType<Output>>;\n }>,\n) {\n const normalizedOutput =\n config.output instanceof TailorField\n ? config.output\n : t.object(config.output);\n\n return {\n ...config,\n output: normalizedOutput,\n };\n}\n\nexport type ResolverConfig = ReturnType<typeof createResolver<any, any>>;\n","import type { Operation } from \"./operation\";\nimport type { Trigger } from \"./trigger\";\nimport type { ExecutorInput } from \"@/parser/service/executor/types\";\n\ntype Executor<Args, O extends Operation<Args>> = Omit<\n ExecutorInput,\n \"trigger\" | \"operation\"\n> & {\n trigger: Trigger<Args>;\n operation: O;\n};\n\nexport function createExecutor<Args, O extends Operation<Args>>(\n config: Executor<Args, O>,\n) {\n if (config.operation.kind === \"graphql\") {\n config.operation.query = config.operation.query.toString();\n }\n return config;\n}\n","import type { ResolverConfig } from \"@/configure/services/resolver/resolver\";\nimport type { TailorDBType } from \"@/configure/services/tailordb/schema\";\nimport type { output } from \"@/configure/types/helpers\";\nimport type {\n RecordTrigger as ParserRecordTrigger,\n ResolverExecutedTrigger as ParserResolverExecutedTrigger,\n} from \"@/parser/service/executor/types\";\n\ninterface EventArgs {\n workspaceId: string;\n appNamespace: string;\n}\n\ninterface RecordArgs extends EventArgs {\n typeName: string;\n}\n\nexport interface RecordCreatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n}\n\nexport interface RecordUpdatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n oldRecord: output<T>;\n}\n\nexport interface RecordDeletedArgs<T extends TailorDBType> extends RecordArgs {\n oldRecord: output<T>;\n}\n\nexport type ResolverExecutedArgs<R extends ResolverConfig> = EventArgs & {\n resolverName: string;\n} & (\n | {\n result: output<R[\"output\"]>;\n error: undefined;\n }\n | {\n result: undefined;\n error: string;\n }\n );\n\nexport type RecordTrigger<Args> = ParserRecordTrigger & {\n __args: Args;\n};\n\nexport function recordCreatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordCreatedArgs<T>) => boolean;\n}): RecordTrigger<RecordCreatedArgs<T>> {\n return {\n kind: \"recordCreated\",\n typeName: type.name,\n condition,\n __args: {} as RecordCreatedArgs<T>,\n };\n}\n\nexport function recordUpdatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordUpdatedArgs<T>) => boolean;\n}): RecordTrigger<RecordUpdatedArgs<T>> {\n return {\n kind: \"recordUpdated\",\n typeName: type.name,\n condition,\n __args: {} as RecordUpdatedArgs<T>,\n };\n}\n\nexport function recordDeletedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordDeletedArgs<T>) => boolean;\n}): RecordTrigger<RecordDeletedArgs<T>> {\n return {\n kind: \"recordDeleted\",\n typeName: type.name,\n condition,\n __args: {} as RecordDeletedArgs<T>,\n };\n}\n\nexport type ResolverExecutedTrigger<Args> = ParserResolverExecutedTrigger & {\n __args: Args;\n};\n\nexport function resolverExecutedTrigger<R extends ResolverConfig>({\n resolver,\n condition,\n}: {\n resolver: R;\n condition?: (args: ResolverExecutedArgs<R>) => boolean;\n}): ResolverExecutedTrigger<ResolverExecutedArgs<R>> {\n return {\n kind: \"resolverExecuted\",\n resolverName: resolver.name,\n condition,\n __args: {} as ResolverExecutedArgs<R>,\n };\n}\n","import type { ScheduleTriggerInput as ParserScheduleTriggerInput } from \"@/parser/service/executor/types\";\nimport type { StandardCRON } from \"ts-cron-validator\";\nimport type { EmptyObject } from \"type-fest\";\n\ntype Timezone =\n | \"UTC\"\n | \"Pacific/Midway\"\n | \"Pacific/Niue\"\n | \"Pacific/Pago_Pago\"\n | \"America/Adak\"\n | \"Pacific/Honolulu\"\n | \"Pacific/Rarotonga\"\n | \"Pacific/Tahiti\"\n | \"Pacific/Marquesas\"\n | \"America/Anchorage\"\n | \"America/Juneau\"\n | \"America/Metlakatla\"\n | \"America/Nome\"\n | \"America/Sitka\"\n | \"America/Yakutat\"\n | \"Pacific/Gambier\"\n | \"America/Los_Angeles\"\n | \"America/Tijuana\"\n | \"America/Vancouver\"\n | \"Pacific/Pitcairn\"\n | \"America/Boise\"\n | \"America/Cambridge_Bay\"\n | \"America/Chihuahua\"\n | \"America/Creston\"\n | \"America/Dawson\"\n | \"America/Dawson_Creek\"\n | \"America/Denver\"\n | \"America/Edmonton\"\n | \"America/Fort_Nelson\"\n | \"America/Hermosillo\"\n | \"America/Inuvik\"\n | \"America/Mazatlan\"\n | \"America/Ojinaga\"\n | \"America/Phoenix\"\n | \"America/Whitehorse\"\n | \"America/Yellowknife\"\n | \"America/Bahia_Banderas\"\n | \"America/Belize\"\n | \"America/Chicago\"\n | \"America/Costa_Rica\"\n | \"America/El_Salvador\"\n | \"America/Guatemala\"\n | \"America/Indiana/Knox\"\n | \"America/Indiana/Tell_City\"\n | \"America/Managua\"\n | \"America/Matamoros\"\n | \"America/Menominee\"\n | \"America/Merida\"\n | \"America/Mexico_City\"\n | \"America/Monterrey\"\n | \"America/North_Dakota/Beulah\"\n | \"America/North_Dakota/Center\"\n | \"America/North_Dakota/New_Salem\"\n | \"America/Rainy_River\"\n | \"America/Rankin_Inlet\"\n | \"America/Regina\"\n | \"America/Resolute\"\n | \"America/Swift_Current\"\n | \"America/Tegucigalpa\"\n | \"America/Winnipeg\"\n | \"Pacific/Easter\"\n | \"Pacific/Galapagos\"\n | \"America/Atikokan\"\n | \"America/Bogota\"\n | \"America/Cancun\"\n | \"America/Cayman\"\n | \"America/Detroit\"\n | \"America/Eirunepe\"\n | \"America/Grand_Turk\"\n | \"America/Guayaquil\"\n | \"America/Havana\"\n | \"America/Indiana/Indianapolis\"\n | \"America/Indiana/Marengo\"\n | \"America/Indiana/Petersburg\"\n | \"America/Indiana/Vevay\"\n | \"America/Indiana/Vincennes\"\n | \"America/Indiana/Winamac\"\n | \"America/Iqaluit\"\n | \"America/Jamaica\"\n | \"America/Kentucky/Louisville\"\n | \"America/Kentucky/Monticello\"\n | \"America/Lima\"\n | \"America/Nassau\"\n | \"America/New_York\"\n | \"America/Nipigon\"\n | \"America/Panama\"\n | \"America/Pangnirtung\"\n | \"America/Port-au-Prince\"\n | \"America/Rio_Branco\"\n | \"America/Thunder_Bay\"\n | \"America/Toronto\"\n | \"America/Anguilla\"\n | \"America/Antigua\"\n | \"America/Aruba\"\n | \"America/Asuncion\"\n | \"America/Barbados\"\n | \"America/Blanc-Sablon\"\n | \"America/Boa_Vista\"\n | \"America/Campo_Grande\"\n | \"America/Caracas\"\n | \"America/Cuiaba\"\n | \"America/Curacao\"\n | \"America/Dominica\"\n | \"America/Glace_Bay\"\n | \"America/Goose_Bay\"\n | \"America/Grenada\"\n | \"America/Guadeloupe\"\n | \"America/Guyana\"\n | \"America/Halifax\"\n | \"America/Kralendijk\"\n | \"America/La_Paz\"\n | \"America/Lower_Princes\"\n | \"America/Manaus\"\n | \"America/Marigot\"\n | \"America/Martinique\"\n | \"America/Moncton\"\n | \"America/Montserrat\"\n | \"America/Porto_Velho\"\n | \"America/Port_of_Spain\"\n | \"America/Puerto_Rico\"\n | \"America/Santiago\"\n | \"America/Santo_Domingo\"\n | \"America/St_Barthelemy\"\n | \"America/St_Kitts\"\n | \"America/St_Lucia\"\n | \"America/St_Thomas\"\n | \"America/St_Vincent\"\n | \"America/Thule\"\n | \"America/Tortola\"\n | \"Atlantic/Bermuda\"\n | \"America/St_Johns\"\n | \"America/Araguaina\"\n | \"America/Argentina/Buenos_Aires\"\n | \"America/Argentina/Catamarca\"\n | \"America/Argentina/Cordoba\"\n | \"America/Argentina/Jujuy\"\n | \"America/Argentina/La_Rioja\"\n | \"America/Argentina/Mendoza\"\n | \"America/Argentina/Rio_Gallegos\"\n | \"America/Argentina/Salta\"\n | \"America/Argentina/San_Juan\"\n | \"America/Argentina/San_Luis\"\n | \"America/Argentina/Tucuman\"\n | \"America/Argentina/Ushuaia\"\n | \"America/Bahia\"\n | \"America/Belem\"\n | \"America/Cayenne\"\n | \"America/Fortaleza\"\n | \"America/Godthab\"\n | \"America/Maceio\"\n | \"America/Miquelon\"\n | \"America/Montevideo\"\n | \"America/Paramaribo\"\n | \"America/Punta_Arenas\"\n | \"America/Recife\"\n | \"America/Santarem\"\n | \"America/Sao_Paulo\"\n | \"Antarctica/Palmer\"\n | \"Antarctica/Rothera\"\n | \"Atlantic/Stanley\"\n | \"America/Noronha\"\n | \"Atlantic/South_Georgia\"\n | \"America/Scoresbysund\"\n | \"Atlantic/Azores\"\n | \"Atlantic/Cape_Verde\"\n | \"Africa/Abidjan\"\n | \"Africa/Accra\"\n | \"Africa/Bamako\"\n | \"Africa/Banjul\"\n | \"Africa/Bissau\"\n | \"Africa/Casablanca\"\n | \"Africa/Conakry\"\n | \"Africa/Dakar\"\n | \"Africa/El_Aaiun\"\n | \"Africa/Freetown\"\n | \"Africa/Lome\"\n | \"Africa/Monrovia\"\n | \"Africa/Nouakchott\"\n | \"Africa/Ouagadougou\"\n | \"Africa/Sao_Tome\"\n | \"America/Danmarkshavn\"\n | \"Antarctica/Troll\"\n | \"Atlantic/Canary\"\n | \"Atlantic/Faroe\"\n | \"Atlantic/Madeira\"\n | \"Atlantic/Reykjavik\"\n | \"Atlantic/St_Helena\"\n | \"Europe/Dublin\"\n | \"Europe/Guernsey\"\n | \"Europe/Isle_of_Man\"\n | \"Europe/Jersey\"\n | \"Europe/Lisbon\"\n | \"Europe/London\"\n | \"Africa/Algiers\"\n | \"Africa/Bangui\"\n | \"Africa/Brazzaville\"\n | \"Africa/Ceuta\"\n | \"Africa/Douala\"\n | \"Africa/Kinshasa\"\n | \"Africa/Lagos\"\n | \"Africa/Libreville\"\n | \"Africa/Luanda\"\n | \"Africa/Malabo\"\n | \"Africa/Ndjamena\"\n | \"Africa/Niamey\"\n | \"Africa/Porto-Novo\"\n | \"Africa/Tunis\"\n | \"Africa/Windhoek\"\n | \"Arctic/Longyearbyen\"\n | \"Europe/Amsterdam\"\n | \"Europe/Andorra\"\n | \"Europe/Belgrade\"\n | \"Europe/Berlin\"\n | \"Europe/Bratislava\"\n | \"Europe/Brussels\"\n | \"Europe/Budapest\"\n | \"Europe/Copenhagen\"\n | \"Europe/Gibraltar\"\n | \"Europe/Ljubljana\"\n | \"Europe/Luxembourg\"\n | \"Europe/Madrid\"\n | \"Europe/Malta\"\n | \"Europe/Monaco\"\n | \"Europe/Oslo\"\n | \"Europe/Paris\"\n | \"Europe/Podgorica\"\n | \"Europe/Prague\"\n | \"Europe/Rome\"\n | \"Europe/San_Marino\"\n | \"Europe/Sarajevo\"\n | \"Europe/Skopje\"\n | \"Europe/Stockholm\"\n | \"Europe/Tirane\"\n | \"Europe/Vaduz\"\n | \"Europe/Vatican\"\n | \"Europe/Vienna\"\n | \"Europe/Warsaw\"\n | \"Europe/Zagreb\"\n | \"Europe/Zurich\"\n | \"Africa/Blantyre\"\n | \"Africa/Bujumbura\"\n | \"Africa/Cairo\"\n | \"Africa/Gaborone\"\n | \"Africa/Harare\"\n | \"Africa/Johannesburg\"\n | \"Africa/Juba\"\n | \"Africa/Khartoum\"\n | \"Africa/Kigali\"\n | \"Africa/Lubumbashi\"\n | \"Africa/Lusaka\"\n | \"Africa/Maputo\"\n | \"Africa/Maseru\"\n | \"Africa/Mbabane\"\n | \"Africa/Tripoli\"\n | \"Asia/Amman\"\n | \"Asia/Beirut\"\n | \"Asia/Damascus\"\n | \"Asia/Famagusta\"\n | \"Asia/Gaza\"\n | \"Asia/Hebron\"\n | \"Asia/Jerusalem\"\n | \"Asia/Nicosia\"\n | \"Europe/Athens\"\n | \"Europe/Bucharest\"\n | \"Europe/Chisinau\"\n | \"Europe/Helsinki\"\n | \"Europe/Kaliningrad\"\n | \"Europe/Kyiv\"\n | \"Europe/Mariehamn\"\n | \"Europe/Riga\"\n | \"Europe/Sofia\"\n | \"Europe/Tallinn\"\n | \"Europe/Uzhgorod\"\n | \"Europe/Vilnius\"\n | \"Europe/Zaporizhzhia\"\n | \"Africa/Addis_Ababa\"\n | \"Africa/Asmara\"\n | \"Africa/Dar_es_Salaam\"\n | \"Africa/Djibouti\"\n | \"Africa/Kampala\"\n | \"Africa/Mogadishu\"\n | \"Africa/Nairobi\"\n | \"Antarctica/Syowa\"\n | \"Asia/Aden\"\n | \"Asia/Baghdad\"\n | \"Asia/Bahrain\"\n | \"Asia/Kuwait\"\n | \"Asia/Qatar\"\n | \"Asia/Riyadh\"\n | \"Europe/Istanbul\"\n | \"Europe/Kirov\"\n | \"Europe/Minsk\"\n | \"Europe/Moscow\"\n | \"Europe/Simferopol\"\n | \"Europe/Volgograd\"\n | \"Indian/Antananarivo\"\n | \"Indian/Comoro\"\n | \"Indian/Mayotte\"\n | \"Asia/Tehran\"\n | \"Asia/Baku\"\n | \"Asia/Dubai\"\n | \"Asia/Muscat\"\n | \"Asia/Tbilisi\"\n | \"Asia/Yerevan\"\n | \"Europe/Astrakhan\"\n | \"Europe/Samara\"\n | \"Europe/Saratov\"\n | \"Europe/Ulyanovsk\"\n | \"Indian/Mahe\"\n | \"Indian/Mauritius\"\n | \"Indian/Reunion\"\n | \"Asia/Kabul\"\n | \"Antarctica/Mawson\"\n | \"Asia/Aqtau\"\n | \"Asia/Aqtobe\"\n | \"Asia/Ashgabat\"\n | \"Asia/Atyrau\"\n | \"Asia/Dushanbe\"\n | \"Asia/Karachi\"\n | \"Asia/Oral\"\n | \"Asia/Qyzylorda\"\n | \"Asia/Samarkand\"\n | \"Asia/Tashkent\"\n | \"Asia/Yekaterinburg\"\n | \"Indian/Kerguelen\"\n | \"Indian/Maldives\"\n | \"Asia/Colombo\"\n | \"Asia/Kolkata\"\n | \"Asia/Kathmandu\"\n | \"Antarctica/Vostok\"\n | \"Asia/Almaty\"\n | \"Asia/Bishkek\"\n | \"Asia/Dhaka\"\n | \"Asia/Omsk\"\n | \"Asia/Qostanay\"\n | \"Asia/Thimphu\"\n | \"Asia/Urumqi\"\n | \"Indian/Chagos\"\n | \"Asia/Yangon\"\n | \"Indian/Cocos\"\n | \"Antarctica/Davis\"\n | \"Asia/Bangkok\"\n | \"Asia/Barnaul\"\n | \"Asia/Hovd\"\n | \"Asia/Ho_Chi_Minh\"\n | \"Asia/Jakarta\"\n | \"Asia/Krasnoyarsk\"\n | \"Asia/Novokuznetsk\"\n | \"Asia/Novosibirsk\"\n | \"Asia/Phnom_Penh\"\n | \"Asia/Pontianak\"\n | \"Asia/Tomsk\"\n | \"Asia/Vientiane\"\n | \"Indian/Christmas\"\n | \"Asia/Brunei\"\n | \"Asia/Choibalsan\"\n | \"Asia/Hong_Kong\"\n | \"Asia/Irkutsk\"\n | \"Asia/Kuala_Lumpur\"\n | \"Asia/Kuching\"\n | \"Asia/Macau\"\n | \"Asia/Makassar\"\n | \"Asia/Manila\"\n | \"Asia/Shanghai\"\n | \"Asia/Singapore\"\n | \"Asia/Taipei\"\n | \"Asia/Ulaanbaatar\"\n | \"Australia/Perth\"\n | \"Australia/Eucla\"\n | \"Asia/Chita\"\n | \"Asia/Dili\"\n | \"Asia/Jayapura\"\n | \"Asia/Khandyga\"\n | \"Asia/Pyongyang\"\n | \"Asia/Seoul\"\n | \"Asia/Tokyo\"\n | \"Asia/Yakutsk\"\n | \"Pacific/Palau\"\n | \"Australia/Adelaide\"\n | \"Australia/Broken_Hill\"\n | \"Australia/Darwin\"\n | \"Antarctica/DumontDUrville\"\n | \"Antarctica/Macquarie\"\n | \"Asia/Ust-Nera\"\n | \"Asia/Vladivostok\"\n | \"Australia/Brisbane\"\n | \"Australia/Currie\"\n | \"Australia/Hobart\"\n | \"Australia/Lindeman\"\n | \"Australia/Melbourne\"\n | \"Australia/Sydney\"\n | \"Pacific/Chuuk\"\n | \"Pacific/Guam\"\n | \"Pacific/Port_Moresby\"\n | \"Pacific/Saipan\"\n | \"Australia/Lord_Howe\"\n | \"Antarctica/Casey\"\n | \"Asia/Magadan\"\n | \"Asia/Sakhalin\"\n | \"Asia/Srednekolymsk\"\n | \"Pacific/Bougainville\"\n | \"Pacific/Efate\"\n | \"Pacific/Guadalcanal\"\n | \"Pacific/Kosrae\"\n | \"Pacific/Norfolk\"\n | \"Pacific/Noumea\"\n | \"Pacific/Pohnpei\"\n | \"Antarctica/McMurdo\"\n | \"Asia/Anadyr\"\n | \"Asia/Kamchatka\"\n | \"Pacific/Auckland\"\n | \"Pacific/Fiji\"\n | \"Pacific/Funafuti\"\n | \"Pacific/Kwajalein\"\n | \"Pacific/Majuro\"\n | \"Pacific/Nauru\"\n | \"Pacific/Tarawa\"\n | \"Pacific/Wake\"\n | \"Pacific/Wallis\"\n | \"Pacific/Chatham\"\n | \"Pacific/Apia\"\n | \"Pacific/Enderbury\"\n | \"Pacific/Fakaofo\"\n | \"Pacific/Tongatapu\"\n | \"Pacific/Kiritimati\";\n\nexport type ScheduleTrigger<Args> = ParserScheduleTriggerInput & {\n __args: Args;\n};\n\nexport function scheduleTrigger<T extends string>({\n cron,\n timezone,\n}: {\n cron: StandardCRON<T> extends never ? never : T;\n timezone?: Timezone;\n}): ScheduleTrigger<EmptyObject> {\n return {\n kind: \"schedule\",\n cron,\n timezone,\n __args: {} as EmptyObject,\n };\n}\n","import type { IncomingWebhookTrigger as ParserIncomingWebhookTrigger } from \"@/parser/service/executor/types\";\n\nexport interface IncomingWebhookArgs<T extends IncomingWebhookRequest> {\n body: T[\"body\"];\n headers: T[\"headers\"];\n method: \"POST\" | \"GET\" | \"PUT\" | \"DELETE\";\n rawBody: string;\n}\n\nexport interface IncomingWebhookRequest {\n body: Record<string, unknown>;\n headers: Record<string, string>;\n}\n\nexport type IncomingWebhookTrigger<Args> = ParserIncomingWebhookTrigger & {\n __args: Args;\n};\n\nexport function incomingWebhookTrigger<\n T extends IncomingWebhookRequest,\n>(): IncomingWebhookTrigger<IncomingWebhookArgs<T>> {\n return {\n kind: \"incomingWebhook\",\n __args: {} as IncomingWebhookArgs<T>,\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WorkflowJob } from \"./job\";\n\nexport interface WorkflowConfig<\n Job extends WorkflowJob<any, any, any, any> = WorkflowJob<any, any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport interface Workflow<\n Job extends WorkflowJob<any, any, any, any> = WorkflowJob<any, any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport function createWorkflow<Job extends WorkflowJob<any, any, any, any>>(\n config: WorkflowConfig<Job>,\n): Workflow<Job> {\n return config;\n}\n","import type { StaticWebsiteInput } from \"@/parser/service/staticwebsite/types\";\n\ndeclare const staticWebsiteDefinitionBrand: unique symbol;\ntype StaticWebsiteDefinitionBrand = {\n readonly [staticWebsiteDefinitionBrand]: true;\n};\n\nexport function defineStaticWebSite(\n name: string,\n config: Omit<StaticWebsiteInput, \"name\">,\n) {\n const result = {\n ...config,\n name,\n get url() {\n return `${name}:url` as const;\n },\n } as const satisfies StaticWebsiteInput & { readonly url: string };\n\n return result as typeof result & StaticWebsiteDefinitionBrand;\n}\n\nexport type StaticWebsiteConfig = Omit<\n ReturnType<typeof defineStaticWebSite>,\n \"url\"\n>;\n","import type { BuiltinIdP } from \"@/parser/service/auth/types\";\nimport type { IdPInput } from \"@/parser/service/idp/types\";\n\ndeclare const idpDefinitionBrand: unique symbol;\ntype IdpDefinitionBrand = { readonly [idpDefinitionBrand]: true };\n\nexport function defineIdp<const TClients extends string[]>(\n name: string,\n config: Omit<IdPInput, \"name\" | \"clients\"> & { clients: TClients },\n) {\n const result = {\n ...config,\n name,\n provider(providerName: string, clientName: TClients[number]) {\n return {\n name: providerName,\n kind: \"BuiltInIdP\",\n namespace: name,\n clientName,\n } as const satisfies BuiltinIdP;\n },\n } as const satisfies IdPInput & {\n provider: (\n providerName: string,\n clientName: TClients[number],\n ) => BuiltinIdP;\n };\n\n return result as typeof result & IdpDefinitionBrand;\n}\n\nexport type IdPExternalConfig = { name: string; external: true };\n\nexport type IdPConfig =\n | Omit<ReturnType<typeof defineIdp>, \"provider\">\n | IdPExternalConfig;\n","import { t as _t } from \"@/configure/types\";\nimport type * as helperTypes from \"@/configure/types/helpers\";\n\ntype TailorOutput<T> = helperTypes.output<T>;\n\nexport type infer<T> = TailorOutput<T>;\nexport type output<T> = TailorOutput<T>;\n\n// eslint-disable-next-line import/export\nexport const t = { ..._t };\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace t {\n export type output<T> = TailorOutput<T>;\n export type infer<T> = TailorOutput<T>;\n}\n\nexport {\n TailorField,\n type TailorUser,\n unauthenticatedTailorUser,\n type AttributeMap,\n type AttributeList,\n type Env,\n} from \"@/configure/types\";\n\nexport * from \"@/configure/services\";\n\nexport { defineConfig, defineGenerators } from \"@/configure/config\";\n"],"mappings":";;;AAqBA,SAAgB,eAMd,QAQA;CACA,MAAM,mBACJ,OAAO,kBAAkB,cACrB,OAAO,SACPA,IAAE,OAAO,OAAO,OAAO;AAE7B,QAAO;EACL,GAAG;EACH,QAAQ;EACT;;;;;AChCH,SAAgB,eACd,QACA;AACA,KAAI,OAAO,UAAU,SAAS,UAC5B,QAAO,UAAU,QAAQ,OAAO,UAAU,MAAM,UAAU;AAE5D,QAAO;;;;;AC6BT,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAOH,SAAgB,wBAAkD,EAChE,UACA,aAImD;AACnD,QAAO;EACL,MAAM;EACN,cAAc,SAAS;EACvB;EACA,QAAQ,EAAE;EACX;;;;;ACuUH,SAAgB,gBAAkC,EAChD,MACA,YAI+B;AAC/B,QAAO;EACL,MAAM;EACN;EACA;EACA,QAAQ,EAAE;EACX;;;;;AC7aH,SAAgB,yBAEoC;AAClD,QAAO;EACL,MAAM;EACN,QAAQ,EAAE;EACX;;;;;ACPH,SAAgB,eACd,QACe;AACf,QAAO;;;;;ACbT,SAAgB,oBACd,MACA,QACA;AASA,QARe;EACb,GAAG;EACH;EACA,IAAI,MAAM;AACR,UAAO,GAAG,KAAK;;EAElB;;;;;ACXH,SAAgB,UACd,MACA,QACA;AAmBA,QAlBe;EACb,GAAG;EACH;EACA,SAAS,cAAsB,YAA8B;AAC3D,UAAO;IACL,MAAM;IACN,MAAM;IACN,WAAW;IACX;IACD;;EAEJ;;;;;ACZH,MAAa,IAAI,EAAE,GAAGC,KAAI"}
|