@better-t-stack/types 3.43.3 → 3.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/json-schema.d.mts +14 -14
- package/dist/json-schema.mjs +1 -1
- package/dist/{schemas-B-p9IhC-.mjs → schemas-CW9Y7YJ0.mjs} +3 -2
- package/dist/schemas-CW9Y7YJ0.mjs.map +1 -0
- package/dist/schemas.d.mts +10 -10
- package/dist/schemas.mjs +1 -1
- package/package.json +1 -1
- package/dist/schemas-B-p9IhC-.mjs.map +0 -1
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/analytics.ts","../src/constants.ts","../src/types.ts","../src/deployment.ts","../src/compatibility.ts"],"mappings":";;;;qBAsBa;qBAEA;qBAcA;qBACA;qBACA;qBACA;qBACA;;qBAGA;qBAEA,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;;;;;;qBACpB,yBAAuB,EAAA;;;;;;;;;;;;;qBACvB,qBAAmB,EAAA;;;;;;;;YACpB,gBAAgB,EAAE,aAAa;wBA0B3B,4BAA4B,kBAAkB,QAAQ,kBAAkB;wBAyBxE,6BAA6B;wBAkB7B,8BAA8B;;;;;;qBAiBjC,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqB/B,EAAA,KAAA;YAEU,iBAAiB,EAAE,aAAa;;;qBC7J/B;qBAWA;;;YCkBD,WAAW,EAAE,aAAa;YAC1B,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;YAC1B,iBAAiB,EAAE,aAAa;YAChC,gBAAgB,EAAE,aAAa;YAC/B,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,aAAa;YAC3B,eAAe,EAAE,aAAa;YAC9B,oBAAoB,EAAE,aAAa;YACnC,WAAW,EAAE,aAAa;YAC1B,eAAe,EAAE,aAAa;YAC9B,iBAAiB,EAAE,aAAa;YAChC,cAAc,EAAE,aAAa;YAE7B,cAAc,EAAE,aAAa;YAC7B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,aAAa;YAC1B,gBAAgB,EAAE,aAAa;YAC/B,qBAAqB,EAAE,aAAa;YACpC,aAAa,EAAE,aAAa;YAE5B,cAAc,QACxB;YAYU,qBAAqB,QAAQ;YAE7B,iBAAiB,QAC3B;;;qBCxEW;qBAEA;YAED;wBAYI,sBACd,QAAQ,YAAY,2BACnB,kBAAkB;wBAIL,uBACd,OAAO,4BACN,iBAAiB;KAIf,wBAAwB,KAC3B;wBAIc,+BAA+B,QAAQ;wBAQvC,2BAA2B,QAAQ;wBAOnC,gBACd,QAAQ,KAAK,mEACZ;;;qBCnCU,6BAA6B;qBAC7B,+BAA+B;qBAC/B,gCAAgC;qBAGhC;qBAOA;qBAWA;YASD,4BAA4B;qBAE3B,0BAA0B;qBAS1B;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA,0CAA0C;qBAS1C;;;;;;;;;;;;;;;;;;;;;;wBAuBG,mBACd,oBAAmB,YACnB,UAAU,SACV,WAAW;wBAgBG,6BAA6B,UAAU,UAAU,UAAU,SAAS,OAAO;wBAoB3E,yBAAyB,qBAAoB;wBAM7C,wBAAwB,qBAAoB,aAAkB;wBAQ9D,qBAAqB,UAAU,SAAS,WAAW,UAAU,MAAM;wBAQnE,mBAAmB,UAAU,SAAS,qBAAoB;qBAY7D,uCAAuC;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/analytics.ts","../src/constants.ts","../src/types.ts","../src/deployment.ts","../src/compatibility.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as TuiTemplateSchema, A as FumadocsTemplateSchema, At as isExampleTodoAllowed, B as PackageManagerSchema, Bt as supportsPaymentsAuth, C as EXAMPLES_VALUES, Ct as TRPC_INCOMPATIBLE_FRONTENDS, D as FumadocsAiChatSchema, Dt as getDesktopDeployConflict, E as FrontendSchema, Et as getDatabaseSetupDatabases, F as NeonSetupMethodSchema, Ft as supportsConvexBetterAuth, G as RuntimeSchema, Gt as validateAddonCompatibility, H as ProjectConfigSchema, Ht as supportsRuntimeBackend, I as ORMSchema, It as supportsDatabaseSetup, J as SkillSelectionSchema, K as SERVER_DEPLOY_VALUES, Kt as desktopWebFrontends, L as ORM_VALUES, Lt as supportsDatabaseSetupRuntime, M as InstallScopeSchema, Mt as isTauriBlockedByConvexBetterAuth, N as McpAgentSchema, Nt as supportsClerkBackend, O as FumadocsOgImageSchema, Ot as hasCloudflareNextPostgresConflict, P as McpServerSchema, Pt as supportsClerkFrontend, Q as TemplateSchema, R as PACKAGE_MANAGER_VALUES, Rt as supportsEvlogAddon, S as DirectoryConflictSchema, St as TASK_RUNNER_ADDONS, T as FRONTEND_VALUES, Tt as getBackendDisabledOptions, U as ProjectNameSchema, Ut as supportsRuntimeDatabase, V as PaymentsSchema, Vt as supportsPrismaWebDeploy, W as RUNTIME_VALUES, Wt as supportsServerDeployRuntime, X as SkillsSourceSchema, Y as SkillsAgentSchema, Z as TEMPLATE_VALUES, _ as DIRECTORY_CONFLICT_VALUES, _t as FULLSTACK_FRONTENDS, a as AddInputSchema, at as WebDeploySchema, b as DbSetupModeSchema, bt as SERVER_BACKENDS, c as AuthSchema, ct as ADDON_COMPATIBILITY, d as BetterTStackConfigFileSchema, dt as CLERK_SUPPORTED_FRONTENDS, et as UltraciteAgentSchema, f as BetterTStackConfigSchema, ft as CONVEX_AI_INCOMPATIBLE_FRONTENDS, g as DATABASE_VALUES, gt as DESKTOP_STATIC_EXPORT_FRONTENDS, h as DATABASE_SETUP_VALUES, ht as CONVEX_INCOMPATIBLE_FRONTENDS, i as AUTH_VALUES, it as WEB_DEPLOY_VALUES, j as InitResultSchema, jt as isFrontendAllowedWithBackend, k as FumadocsSearchSchema, kt as isExampleAIAllowed, l as BACKEND_VALUES, lt as AI_INCOMPATIBLE_FRONTENDS, m as CreateInputSchema, mt as CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS, n as APISchema, nt as UltraciteHookSchema, o as AddonOptionsSchema, ot as WorkspacePackageNameSchema, p as CLIInputSchema, pt as CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS, q as ServerDeploySchema, qt as webFrontends, r as API_VALUES, rt as UltraciteLinterSchema, s as AddonsSchema, st as WxtTemplateSchema, t as ADDONS_VALUES, tt as UltraciteEditorSchema, u as BackendSchema, ut as CLERK_INCOMPATIBLE_FRONTENDS, v as DatabaseSchema, vt as OBSERVABILITY_ADDONS, w as ExamplesSchema, wt as allowedApisForFrontends, x as DbSetupOptionsSchema, xt as STATIC_DESKTOP_ADDONS, y as DatabaseSetupSchema, yt as PRISMA_COMPUTE_WEB_FRONTENDS, z as PAYMENTS_VALUES, zt as supportsOrmDatabase } from "./schemas-
|
|
1
|
+
import { $ as TuiTemplateSchema, A as FumadocsTemplateSchema, At as isExampleTodoAllowed, B as PackageManagerSchema, Bt as supportsPaymentsAuth, C as EXAMPLES_VALUES, Ct as TRPC_INCOMPATIBLE_FRONTENDS, D as FumadocsAiChatSchema, Dt as getDesktopDeployConflict, E as FrontendSchema, Et as getDatabaseSetupDatabases, F as NeonSetupMethodSchema, Ft as supportsConvexBetterAuth, G as RuntimeSchema, Gt as validateAddonCompatibility, H as ProjectConfigSchema, Ht as supportsRuntimeBackend, I as ORMSchema, It as supportsDatabaseSetup, J as SkillSelectionSchema, K as SERVER_DEPLOY_VALUES, Kt as desktopWebFrontends, L as ORM_VALUES, Lt as supportsDatabaseSetupRuntime, M as InstallScopeSchema, Mt as isTauriBlockedByConvexBetterAuth, N as McpAgentSchema, Nt as supportsClerkBackend, O as FumadocsOgImageSchema, Ot as hasCloudflareNextPostgresConflict, P as McpServerSchema, Pt as supportsClerkFrontend, Q as TemplateSchema, R as PACKAGE_MANAGER_VALUES, Rt as supportsEvlogAddon, S as DirectoryConflictSchema, St as TASK_RUNNER_ADDONS, T as FRONTEND_VALUES, Tt as getBackendDisabledOptions, U as ProjectNameSchema, Ut as supportsRuntimeDatabase, V as PaymentsSchema, Vt as supportsPrismaWebDeploy, W as RUNTIME_VALUES, Wt as supportsServerDeployRuntime, X as SkillsSourceSchema, Y as SkillsAgentSchema, Z as TEMPLATE_VALUES, _ as DIRECTORY_CONFLICT_VALUES, _t as FULLSTACK_FRONTENDS, a as AddInputSchema, at as WebDeploySchema, b as DbSetupModeSchema, bt as SERVER_BACKENDS, c as AuthSchema, ct as ADDON_COMPATIBILITY, d as BetterTStackConfigFileSchema, dt as CLERK_SUPPORTED_FRONTENDS, et as UltraciteAgentSchema, f as BetterTStackConfigSchema, ft as CONVEX_AI_INCOMPATIBLE_FRONTENDS, g as DATABASE_VALUES, gt as DESKTOP_STATIC_EXPORT_FRONTENDS, h as DATABASE_SETUP_VALUES, ht as CONVEX_INCOMPATIBLE_FRONTENDS, i as AUTH_VALUES, it as WEB_DEPLOY_VALUES, j as InitResultSchema, jt as isFrontendAllowedWithBackend, k as FumadocsSearchSchema, kt as isExampleAIAllowed, l as BACKEND_VALUES, lt as AI_INCOMPATIBLE_FRONTENDS, m as CreateInputSchema, mt as CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS, n as APISchema, nt as UltraciteHookSchema, o as AddonOptionsSchema, ot as WorkspacePackageNameSchema, p as CLIInputSchema, pt as CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS, q as ServerDeploySchema, qt as webFrontends, r as API_VALUES, rt as UltraciteLinterSchema, s as AddonsSchema, st as WxtTemplateSchema, t as ADDONS_VALUES, tt as UltraciteEditorSchema, u as BackendSchema, ut as CLERK_INCOMPATIBLE_FRONTENDS, v as DatabaseSchema, vt as OBSERVABILITY_ADDONS, w as ExamplesSchema, wt as allowedApisForFrontends, x as DbSetupOptionsSchema, xt as STATIC_DESKTOP_ADDONS, y as DatabaseSetupSchema, yt as PRISMA_COMPUTE_WEB_FRONTENDS, z as PAYMENTS_VALUES, zt as supportsOrmDatabase } from "./schemas-CW9Y7YJ0.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/analytics.ts
|
|
4
4
|
/** Values emitted by supported CLIs plus retired values kept for historical ingestion. */
|
package/dist/json-schema.d.mts
CHANGED
|
@@ -308,7 +308,7 @@ export declare function getAddonOptionsJsonSchema(): z.core.ZodStandardJSONSchem
|
|
|
308
308
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
309
309
|
"vercel/ai": "vercel/ai";
|
|
310
310
|
"vercel/turborepo": "vercel/turborepo";
|
|
311
|
-
"
|
|
311
|
+
"honojs/skills": "honojs/skills";
|
|
312
312
|
"vercel/next.js": "vercel/next.js";
|
|
313
313
|
"nuxt/ui": "nuxt/ui";
|
|
314
314
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -620,7 +620,7 @@ export declare function getCreateInputJsonSchema(): z.core.ZodStandardJSONSchema
|
|
|
620
620
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
621
621
|
"vercel/ai": "vercel/ai";
|
|
622
622
|
"vercel/turborepo": "vercel/turborepo";
|
|
623
|
-
"
|
|
623
|
+
"honojs/skills": "honojs/skills";
|
|
624
624
|
"vercel/next.js": "vercel/next.js";
|
|
625
625
|
"nuxt/ui": "nuxt/ui";
|
|
626
626
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -1068,7 +1068,7 @@ export declare function getAddInputJsonSchema(): z.core.ZodStandardJSONSchemaPay
|
|
|
1068
1068
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
1069
1069
|
"vercel/ai": "vercel/ai";
|
|
1070
1070
|
"vercel/turborepo": "vercel/turborepo";
|
|
1071
|
-
"
|
|
1071
|
+
"honojs/skills": "honojs/skills";
|
|
1072
1072
|
"vercel/next.js": "vercel/next.js";
|
|
1073
1073
|
"nuxt/ui": "nuxt/ui";
|
|
1074
1074
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -1370,7 +1370,7 @@ export declare function getProjectConfigJsonSchema(): z.core.ZodStandardJSONSche
|
|
|
1370
1370
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
1371
1371
|
"vercel/ai": "vercel/ai";
|
|
1372
1372
|
"vercel/turborepo": "vercel/turborepo";
|
|
1373
|
-
"
|
|
1373
|
+
"honojs/skills": "honojs/skills";
|
|
1374
1374
|
"vercel/next.js": "vercel/next.js";
|
|
1375
1375
|
"nuxt/ui": "nuxt/ui";
|
|
1376
1376
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -1789,7 +1789,7 @@ export declare function getBetterTStackConfigJsonSchema(): z.core.ZodStandardJSO
|
|
|
1789
1789
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
1790
1790
|
"vercel/ai": "vercel/ai";
|
|
1791
1791
|
"vercel/turborepo": "vercel/turborepo";
|
|
1792
|
-
"
|
|
1792
|
+
"honojs/skills": "honojs/skills";
|
|
1793
1793
|
"vercel/next.js": "vercel/next.js";
|
|
1794
1794
|
"nuxt/ui": "nuxt/ui";
|
|
1795
1795
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -2206,7 +2206,7 @@ export declare function getBetterTStackConfigFileJsonSchema(): z.core.ZodStandar
|
|
|
2206
2206
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
2207
2207
|
"vercel/ai": "vercel/ai";
|
|
2208
2208
|
"vercel/turborepo": "vercel/turborepo";
|
|
2209
|
-
"
|
|
2209
|
+
"honojs/skills": "honojs/skills";
|
|
2210
2210
|
"vercel/next.js": "vercel/next.js";
|
|
2211
2211
|
"nuxt/ui": "nuxt/ui";
|
|
2212
2212
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -2626,7 +2626,7 @@ export declare function getInitResultJsonSchema(): z.core.ZodStandardJSONSchemaP
|
|
|
2626
2626
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
2627
2627
|
"vercel/ai": "vercel/ai";
|
|
2628
2628
|
"vercel/turborepo": "vercel/turborepo";
|
|
2629
|
-
"
|
|
2629
|
+
"honojs/skills": "honojs/skills";
|
|
2630
2630
|
"vercel/next.js": "vercel/next.js";
|
|
2631
2631
|
"nuxt/ui": "nuxt/ui";
|
|
2632
2632
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -3176,7 +3176,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
3176
3176
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
3177
3177
|
"vercel/ai": "vercel/ai";
|
|
3178
3178
|
"vercel/turborepo": "vercel/turborepo";
|
|
3179
|
-
"
|
|
3179
|
+
"honojs/skills": "honojs/skills";
|
|
3180
3180
|
"vercel/next.js": "vercel/next.js";
|
|
3181
3181
|
"nuxt/ui": "nuxt/ui";
|
|
3182
3182
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -3488,7 +3488,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
3488
3488
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
3489
3489
|
"vercel/ai": "vercel/ai";
|
|
3490
3490
|
"vercel/turborepo": "vercel/turborepo";
|
|
3491
|
-
"
|
|
3491
|
+
"honojs/skills": "honojs/skills";
|
|
3492
3492
|
"vercel/next.js": "vercel/next.js";
|
|
3493
3493
|
"nuxt/ui": "nuxt/ui";
|
|
3494
3494
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -3936,7 +3936,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
3936
3936
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
3937
3937
|
"vercel/ai": "vercel/ai";
|
|
3938
3938
|
"vercel/turborepo": "vercel/turborepo";
|
|
3939
|
-
"
|
|
3939
|
+
"honojs/skills": "honojs/skills";
|
|
3940
3940
|
"vercel/next.js": "vercel/next.js";
|
|
3941
3941
|
"nuxt/ui": "nuxt/ui";
|
|
3942
3942
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -4238,7 +4238,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
4238
4238
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
4239
4239
|
"vercel/ai": "vercel/ai";
|
|
4240
4240
|
"vercel/turborepo": "vercel/turborepo";
|
|
4241
|
-
"
|
|
4241
|
+
"honojs/skills": "honojs/skills";
|
|
4242
4242
|
"vercel/next.js": "vercel/next.js";
|
|
4243
4243
|
"nuxt/ui": "nuxt/ui";
|
|
4244
4244
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -4657,7 +4657,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
4657
4657
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
4658
4658
|
"vercel/ai": "vercel/ai";
|
|
4659
4659
|
"vercel/turborepo": "vercel/turborepo";
|
|
4660
|
-
"
|
|
4660
|
+
"honojs/skills": "honojs/skills";
|
|
4661
4661
|
"vercel/next.js": "vercel/next.js";
|
|
4662
4662
|
"nuxt/ui": "nuxt/ui";
|
|
4663
4663
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -5074,7 +5074,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
5074
5074
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
5075
5075
|
"vercel/ai": "vercel/ai";
|
|
5076
5076
|
"vercel/turborepo": "vercel/turborepo";
|
|
5077
|
-
"
|
|
5077
|
+
"honojs/skills": "honojs/skills";
|
|
5078
5078
|
"vercel/next.js": "vercel/next.js";
|
|
5079
5079
|
"nuxt/ui": "nuxt/ui";
|
|
5080
5080
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -5494,7 +5494,7 @@ export declare function getAllJsonSchemas(): {
|
|
|
5494
5494
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
5495
5495
|
"vercel/ai": "vercel/ai";
|
|
5496
5496
|
"vercel/turborepo": "vercel/turborepo";
|
|
5497
|
-
"
|
|
5497
|
+
"honojs/skills": "honojs/skills";
|
|
5498
5498
|
"vercel/next.js": "vercel/next.js";
|
|
5499
5499
|
"nuxt/ui": "nuxt/ui";
|
|
5500
5500
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
package/dist/json-schema.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as PackageManagerSchema, E as FrontendSchema, G as RuntimeSchema, H as ProjectConfigSchema, I as ORMSchema, Q as TemplateSchema, S as DirectoryConflictSchema, V as PaymentsSchema, a as AddInputSchema, at as WebDeploySchema, c as AuthSchema, d as BetterTStackConfigFileSchema, f as BetterTStackConfigSchema, j as InitResultSchema, m as CreateInputSchema, n as APISchema, o as AddonOptionsSchema, q as ServerDeploySchema, s as AddonsSchema, u as BackendSchema, v as DatabaseSchema, w as ExamplesSchema, x as DbSetupOptionsSchema, y as DatabaseSetupSchema } from "./schemas-
|
|
1
|
+
import { B as PackageManagerSchema, E as FrontendSchema, G as RuntimeSchema, H as ProjectConfigSchema, I as ORMSchema, Q as TemplateSchema, S as DirectoryConflictSchema, V as PaymentsSchema, a as AddInputSchema, at as WebDeploySchema, c as AuthSchema, d as BetterTStackConfigFileSchema, f as BetterTStackConfigSchema, j as InitResultSchema, m as CreateInputSchema, n as APISchema, o as AddonOptionsSchema, q as ServerDeploySchema, s as AddonsSchema, u as BackendSchema, v as DatabaseSchema, w as ExamplesSchema, x as DbSetupOptionsSchema, y as DatabaseSetupSchema } from "./schemas-CW9Y7YJ0.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/json-schema.ts
|
|
4
4
|
function getDatabaseJsonSchema() {
|
|
@@ -153,6 +153,7 @@ function isExampleAIAllowed(backend, frontends = []) {
|
|
|
153
153
|
return backend !== "none" && !frontends.some((frontend) => AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend) || backend === "convex" && CONVEX_AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend));
|
|
154
154
|
}
|
|
155
155
|
const PRISMA_COMPUTE_WEB_FRONTENDS = [
|
|
156
|
+
"tanstack-router",
|
|
156
157
|
"next",
|
|
157
158
|
"nuxt",
|
|
158
159
|
"astro",
|
|
@@ -514,7 +515,7 @@ const SkillsSourceSchema = z.enum([
|
|
|
514
515
|
"vercel-labs/agent-skills",
|
|
515
516
|
"vercel/ai",
|
|
516
517
|
"vercel/turborepo",
|
|
517
|
-
"
|
|
518
|
+
"honojs/skills",
|
|
518
519
|
"vercel/next.js",
|
|
519
520
|
"nuxt/ui",
|
|
520
521
|
"heroui-inc/heroui",
|
|
@@ -873,4 +874,4 @@ const TEMPLATE_VALUES = TemplateSchema.options;
|
|
|
873
874
|
//#endregion
|
|
874
875
|
export { TuiTemplateSchema as $, FumadocsTemplateSchema as A, isExampleTodoAllowed as At, PackageManagerSchema as B, supportsPaymentsAuth as Bt, EXAMPLES_VALUES as C, TRPC_INCOMPATIBLE_FRONTENDS as Ct, FumadocsAiChatSchema as D, getDesktopDeployConflict as Dt, FrontendSchema as E, getDatabaseSetupDatabases as Et, NeonSetupMethodSchema as F, supportsConvexBetterAuth as Ft, RuntimeSchema as G, validateAddonCompatibility as Gt, ProjectConfigSchema as H, supportsRuntimeBackend as Ht, ORMSchema as I, supportsDatabaseSetup as It, SkillSelectionSchema as J, SERVER_DEPLOY_VALUES as K, desktopWebFrontends as Kt, ORM_VALUES as L, supportsDatabaseSetupRuntime as Lt, InstallScopeSchema as M, isTauriBlockedByConvexBetterAuth as Mt, McpAgentSchema as N, supportsClerkBackend as Nt, FumadocsOgImageSchema as O, hasCloudflareNextPostgresConflict as Ot, McpServerSchema as P, supportsClerkFrontend as Pt, TemplateSchema as Q, PACKAGE_MANAGER_VALUES as R, supportsEvlogAddon as Rt, DirectoryConflictSchema as S, TASK_RUNNER_ADDONS as St, FRONTEND_VALUES as T, getBackendDisabledOptions as Tt, ProjectNameSchema as U, supportsRuntimeDatabase as Ut, PaymentsSchema as V, supportsPrismaWebDeploy as Vt, RUNTIME_VALUES as W, supportsServerDeployRuntime as Wt, SkillsSourceSchema as X, SkillsAgentSchema as Y, TEMPLATE_VALUES as Z, DIRECTORY_CONFLICT_VALUES as _, FULLSTACK_FRONTENDS as _t, AddInputSchema as a, WebDeploySchema as at, DbSetupModeSchema as b, SERVER_BACKENDS as bt, AuthSchema as c, ADDON_COMPATIBILITY as ct, BetterTStackConfigFileSchema as d, CLERK_SUPPORTED_FRONTENDS as dt, UltraciteAgentSchema as et, BetterTStackConfigSchema as f, CONVEX_AI_INCOMPATIBLE_FRONTENDS as ft, DATABASE_VALUES as g, DESKTOP_STATIC_EXPORT_FRONTENDS as gt, DATABASE_SETUP_VALUES as h, CONVEX_INCOMPATIBLE_FRONTENDS as ht, AUTH_VALUES as i, WEB_DEPLOY_VALUES as it, InitResultSchema as j, isFrontendAllowedWithBackend as jt, FumadocsSearchSchema as k, isExampleAIAllowed as kt, BACKEND_VALUES as l, AI_INCOMPATIBLE_FRONTENDS as lt, CreateInputSchema as m, CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS as mt, APISchema as n, UltraciteHookSchema as nt, AddonOptionsSchema as o, WorkspacePackageNameSchema as ot, CLIInputSchema as p, CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS as pt, ServerDeploySchema as q, webFrontends as qt, API_VALUES as r, UltraciteLinterSchema as rt, AddonsSchema as s, WxtTemplateSchema as st, ADDONS_VALUES as t, UltraciteEditorSchema as tt, BackendSchema as u, CLERK_INCOMPATIBLE_FRONTENDS as ut, DatabaseSchema as v, OBSERVABILITY_ADDONS as vt, ExamplesSchema as w, allowedApisForFrontends as wt, DbSetupOptionsSchema as x, STATIC_DESKTOP_ADDONS as xt, DatabaseSetupSchema as y, PRISMA_COMPUTE_WEB_FRONTENDS as yt, PAYMENTS_VALUES as z, supportsOrmDatabase as zt };
|
|
875
876
|
|
|
876
|
-
//# sourceMappingURL=schemas-
|
|
877
|
+
//# sourceMappingURL=schemas-CW9Y7YJ0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas-CW9Y7YJ0.mjs","names":["incompatibleFrontends"],"sources":["../src/constants.ts","../src/compatibility.ts","../src/schemas.ts"],"sourcesContent":["import type { DesktopWebFrontend, WebFrontend } from \"./types\";\n\nexport const webFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const satisfies readonly Exclude<WebFrontend, \"none\">[];\n\nexport const desktopWebFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"astro\",\n] as const satisfies readonly DesktopWebFrontend[];\n","import { desktopWebFrontends } from \"./constants\";\nimport type {\n Addons,\n API,\n Auth,\n Payments,\n WebDeploy,\n ServerDeploy,\n Backend,\n Database,\n DatabaseSetup,\n Frontend,\n ORM,\n ProjectConfig,\n Runtime,\n} from \"./types\";\n\nexport const TASK_RUNNER_ADDONS: readonly Addons[] = [\"turborepo\", \"nx\", \"vite-plus\"];\nexport const OBSERVABILITY_ADDONS: readonly Addons[] = [\"evlog\", \"axiom\"];\nexport const STATIC_DESKTOP_ADDONS: readonly Addons[] = [\"tauri\", \"electrobun\"];\nconst TAURI_STATIC_EXPORT_FRONTENDS: readonly Frontend[] = [\"next\", \"tanstack-start\"];\n\nexport const CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS = [\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const;\n\nexport const CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"native-bare\",\n \"native-uniwind\",\n \"native-unistyles\",\n] as const;\n\n// Frontends that support backend=\"self\" (fullstack mode with built-in server routes)\nexport const FULLSTACK_FRONTENDS = [\n \"next\",\n \"tanstack-start\",\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const satisfies readonly Frontend[];\n\nexport type FullstackFrontend = (typeof FULLSTACK_FRONTENDS)[number];\n\nexport const SERVER_BACKENDS: readonly Backend[] = [\"hono\", \"express\", \"fastify\", \"elysia\"];\nconst EVLOG_FULLSTACK_FRONTENDS: readonly Frontend[] = [\n \"next\",\n \"tanstack-start\",\n \"nuxt\",\n \"svelte\",\n \"astro\",\n];\n\nexport const CLERK_INCOMPATIBLE_FRONTENDS = CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS;\nexport const CLERK_SUPPORTED_FRONTENDS = CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS;\nexport const TRPC_INCOMPATIBLE_FRONTENDS = [\"nuxt\", \"svelte\", \"solid\", \"astro\"] as const;\nexport const CONVEX_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\"] as const;\nexport const AI_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\"] as const;\nexport const CONVEX_AI_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\", \"svelte\", \"nuxt\"] as const;\nexport const DESKTOP_STATIC_EXPORT_FRONTENDS: readonly Frontend[] = [\n \"next\",\n \"svelte\",\n \"astro\",\n \"react-router\",\n];\nconst evlogCompatibilityMessage =\n \"The observability addons support Hono, Express, Fastify, Elysia, or backend self with Next.js, TanStack Start, Nuxt, SvelteKit, or Astro. Convex and backend none are not supported yet.\";\n\nexport const ADDON_COMPATIBILITY = {\n pwa: [\"tanstack-router\", \"react-router\", \"solid\", \"next\"],\n tauri: desktopWebFrontends,\n electrobun: desktopWebFrontends,\n biome: [],\n husky: [],\n lefthook: [],\n turborepo: [],\n nx: [],\n \"vite-plus\": [],\n starlight: [],\n ultracite: [],\n mcp: [],\n oxlint: [],\n fumadocs: [],\n opentui: [],\n wxt: [],\n skills: [],\n evlog: [],\n axiom: [],\n none: [],\n} as const;\n\nexport function supportsEvlogAddon(\n frontend: readonly Frontend[] = [],\n backend?: Backend,\n _runtime?: Runtime,\n) {\n if (!backend) return true;\n\n if (SERVER_BACKENDS.some((value) => value === backend)) {\n return true;\n }\n\n if (backend === \"self\") {\n if (frontend.length === 0) return true;\n return frontend.some((f) => EVLOG_FULLSTACK_FRONTENDS.some((value) => value === f));\n }\n\n return false;\n}\n\nexport function isFrontendAllowedWithBackend(frontend: Frontend, backend?: Backend, auth?: Auth) {\n if (backend === \"convex\") {\n if (\n auth === \"better-auth\" &&\n CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)\n ) {\n return false;\n }\n\n if (CONVEX_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)) return false;\n }\n\n if (auth === \"clerk\") {\n const incompatibleFrontends = CLERK_INCOMPATIBLE_FRONTENDS;\n if (incompatibleFrontends.some((value) => value === frontend)) return false;\n }\n\n return true;\n}\n\nexport function supportsConvexBetterAuth(frontends: readonly Frontend[] = []) {\n return frontends.some((frontend) =>\n CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS.some((value) => value === frontend),\n );\n}\n\nexport function allowedApisForFrontends(frontends: readonly Frontend[] = []): API[] {\n return frontends.some((frontend) =>\n TRPC_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend),\n )\n ? [\"orpc\", \"none\"]\n : [\"trpc\", \"orpc\", \"none\"];\n}\n\nexport function isExampleTodoAllowed(backend?: Backend, database?: Database, api?: API) {\n // Convex handles its own data layer, no need for database or API\n if (backend === \"convex\") return true;\n // Todo requires both database and API to communicate\n if (database === \"none\" || api === \"none\") return false;\n return true;\n}\n\nexport function isExampleAIAllowed(backend?: Backend, frontends: readonly Frontend[] = []) {\n return (\n backend !== \"none\" &&\n !frontends.some(\n (frontend) =>\n AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend) ||\n (backend === \"convex\" &&\n CONVEX_AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)),\n )\n );\n}\n\nexport const PRISMA_COMPUTE_WEB_FRONTENDS: readonly Frontend[] = [\n \"tanstack-router\",\n \"next\",\n \"nuxt\",\n \"astro\",\n \"react-router\",\n \"tanstack-start\",\n \"svelte\",\n \"solid\",\n];\n\nexport function supportsPrismaWebDeploy(frontend: readonly Frontend[]): boolean {\n return frontend.some((value) =>\n PRISMA_COMPUTE_WEB_FRONTENDS.some((frontend) => frontend === value),\n );\n}\n\nexport type AddonCompatibility = { isCompatible: true } | { isCompatible: false; reason: string };\n\nexport function validateAddonCompatibility(\n addon: Addons,\n frontend: readonly Frontend[],\n auth?: Auth,\n backend?: Backend,\n runtime?: Runtime,\n): AddonCompatibility {\n if (\n OBSERVABILITY_ADDONS.some((value) => value === addon) &&\n !supportsEvlogAddon(frontend, backend, runtime)\n ) {\n return {\n isCompatible: false,\n reason: evlogCompatibilityMessage,\n };\n }\n\n if (\n STATIC_DESKTOP_ADDONS.some((value) => value === addon) &&\n auth === \"clerk\" &&\n frontend.includes(\"react-router\")\n ) {\n return {\n isCompatible: false,\n reason: `${addon} addon forces React Router into a static export, but Clerk on React Router requires SSR middleware. Remove the addon or use a different auth/frontend.`,\n };\n }\n\n if (backend === \"self\" && STATIC_DESKTOP_ADDONS.some((value) => value === addon)) {\n return {\n isCompatible: false,\n reason: `${addon} addon requires a separate backend or no backend because backend 'self' emits server routes that cannot be bundled as static desktop assets.`,\n };\n }\n\n if (addon === \"tauri\" && isTauriBlockedByConvexBetterAuth(frontend, backend, auth)) {\n return {\n isCompatible: false,\n reason:\n \"tauri addon is not compatible with Convex Better Auth on Next.js or TanStack Start because those templates use server auth bootstrap and cannot be exported as static desktop assets.\",\n };\n }\n\n if (!Object.hasOwn(ADDON_COMPATIBILITY, addon))\n return { isCompatible: false, reason: `Unknown addon: ${addon}` };\n const compatibleFrontends = ADDON_COMPATIBILITY[addon];\n\n if (compatibleFrontends.length > 0) {\n const hasCompatibleFrontend = frontend.some((f) =>\n compatibleFrontends.some((value) => value === f),\n );\n\n if (!hasCompatibleFrontend) {\n const frontendList = compatibleFrontends.join(\", \");\n return {\n isCompatible: false,\n reason: `${addon} addon requires one of these frontends: ${frontendList}`,\n };\n }\n }\n\n return { isCompatible: true };\n}\n\nexport function supportsClerkFrontend(frontends: readonly Frontend[]) {\n return frontends.every(\n (frontend) =>\n frontend === \"none\" || CLERK_SUPPORTED_FRONTENDS.some((value) => value === frontend),\n );\n}\n\nexport function supportsClerkBackend(\n backend: Backend | undefined,\n frontends: readonly Frontend[] = [],\n) {\n if (!backend) return true;\n if (backend === \"self\")\n return (\n frontends.length === 0 ||\n frontends.some((frontend) => frontend === \"next\" || frontend === \"tanstack-start\")\n );\n return backend === \"convex\" || SERVER_BACKENDS.some((value) => value === backend);\n}\n\nexport function isTauriBlockedByConvexBetterAuth(\n frontends: readonly Frontend[],\n backend?: Backend,\n auth?: Auth,\n) {\n return (\n backend === \"convex\" &&\n auth === \"better-auth\" &&\n frontends.some((frontend) => TAURI_STATIC_EXPORT_FRONTENDS.some((value) => value === frontend))\n );\n}\n\nexport function hasCloudflareNextPostgresConflict(config: {\n webDeploy?: WebDeploy;\n frontend?: readonly Frontend[];\n database?: Database;\n orm?: ORM;\n dbSetup?: DatabaseSetup;\n}) {\n return (\n config.webDeploy === \"cloudflare\" &&\n !!config.frontend?.includes(\"next\") &&\n config.database === \"postgres\" &&\n config.orm === \"prisma\" &&\n config.dbSetup !== \"neon\" &&\n config.dbSetup !== \"prisma-postgres\"\n );\n}\n\nexport function getDesktopDeployConflict(\n deploy: WebDeploy | ServerDeploy | undefined,\n addons: readonly Addons[] = [],\n frontends: readonly Frontend[] = [],\n backend?: Backend,\n auth?: Auth,\n) {\n if (deploy !== \"docker\" && deploy !== \"prisma\") return null;\n const selectedDesktopAddons = addons.filter((addon) =>\n STATIC_DESKTOP_ADDONS.some((value) => value === addon),\n );\n const affectedFrontend = frontends.find((frontend) =>\n DESKTOP_STATIC_EXPORT_FRONTENDS.some((value) => value === frontend),\n );\n if (!selectedDesktopAddons.length || !affectedFrontend) return null;\n // Electrobun retains Next.js standalone output for Convex's server auth bootstrap.\n if (\n deploy === \"docker\" &&\n affectedFrontend === \"next\" &&\n !selectedDesktopAddons.includes(\"tauri\") &&\n backend === \"convex\" &&\n auth === \"better-auth\"\n )\n return null;\n return { affectedFrontend, selectedDesktopAddons };\n}\n\nconst ORM_DATABASES = {\n none: [\"none\"],\n drizzle: [\"sqlite\", \"postgres\", \"mysql\"],\n prisma: [\"sqlite\", \"postgres\", \"mysql\", \"mongodb\"],\n mongoose: [\"mongodb\"],\n} as const satisfies Record<ORM, readonly Database[]>;\n\nexport function supportsOrmDatabase(orm: ORM, database: Database) {\n return ORM_DATABASES[orm].some((value) => value === database);\n}\n\nconst DATABASE_SETUP_DATABASES = {\n turso: [\"sqlite\"],\n d1: [\"sqlite\"],\n neon: [\"postgres\"],\n supabase: [\"postgres\"],\n \"prisma-postgres\": [\"postgres\"],\n planetscale: [\"postgres\", \"mysql\"],\n \"mongodb-atlas\": [\"mongodb\"],\n docker: [\"postgres\", \"mysql\", \"mongodb\"],\n} as const satisfies Record<Exclude<DatabaseSetup, \"none\">, readonly Database[]>;\n\nexport function supportsDatabaseSetup(dbSetup: DatabaseSetup, database: Database | undefined) {\n return (\n dbSetup === \"none\" ||\n (!!database && getDatabaseSetupDatabases(dbSetup).some((value) => value === database))\n );\n}\n\nexport function supportsRuntimeBackend(runtime: Runtime | undefined, backend: Backend | undefined) {\n if (!runtime || !backend) return true;\n if (getBackendDisabledOptions(backend).some((key) => key === \"runtime\"))\n return runtime === \"none\";\n return runtime !== \"none\" && (runtime !== \"workers\" || backend === \"hono\");\n}\n\nexport function supportsRuntimeDatabase(\n runtime: Runtime | undefined,\n database: Database | undefined,\n) {\n return runtime !== \"workers\" || database !== \"mongodb\";\n}\n\nexport function supportsDatabaseSetupRuntime(\n dbSetup: DatabaseSetup,\n runtime?: Runtime,\n backend?: Backend,\n) {\n if (dbSetup === \"docker\") return runtime !== \"workers\";\n if (dbSetup === \"d1\") return runtime === \"workers\" || backend === \"self\";\n return true;\n}\n\nexport function supportsServerDeployRuntime(\n deploy: WebDeploy | ServerDeploy | undefined,\n runtime: Runtime | undefined,\n) {\n if (!deploy) return true;\n if (deploy === \"none\") return runtime !== \"workers\";\n if (deploy === \"cloudflare\") return runtime === \"workers\";\n return runtime === \"bun\" || runtime === \"node\";\n}\n\nexport function supportsPaymentsAuth(payments?: Payments, auth?: Auth) {\n return payments !== \"polar\" || auth === \"better-auth\";\n}\n\nconst BACKEND_DISABLED_OPTIONS = {\n convex: [\"runtime\", \"database\", \"orm\", \"api\", \"dbSetup\", \"serverDeploy\"],\n none: [\"runtime\", \"database\", \"orm\", \"api\", \"auth\", \"payments\", \"dbSetup\", \"serverDeploy\"],\n self: [\"runtime\", \"serverDeploy\"],\n} as const satisfies Partial<Record<Backend, readonly (keyof ProjectConfig)[]>>;\n\nexport function getBackendDisabledOptions(backend: Backend) {\n return (\n Object.entries(BACKEND_DISABLED_OPTIONS).find(([candidate]) => candidate === backend)?.[1] ?? []\n );\n}\n\nexport function getDatabaseSetupDatabases(dbSetup: DatabaseSetup) {\n return dbSetup === \"none\" ? [] : DATABASE_SETUP_DATABASES[dbSetup];\n}\n","import { z } from \"zod\";\n\nimport { TASK_RUNNER_ADDONS, OBSERVABILITY_ADDONS } from \"./compatibility\";\n\nexport const DatabaseSchema = z\n .enum([\"none\", \"sqlite\", \"postgres\", \"mysql\", \"mongodb\"])\n .describe(\"Database type\");\n\nexport const ORMSchema = z.enum([\"drizzle\", \"prisma\", \"mongoose\", \"none\"]).describe(\"ORM type\");\n\nexport const BackendSchema = z\n .enum([\"hono\", \"express\", \"fastify\", \"elysia\", \"convex\", \"self\", \"none\"])\n .describe(\"Backend framework\");\n\nexport const RuntimeSchema = z\n .enum([\"bun\", \"node\", \"workers\", \"none\"])\n .describe(\"Runtime environment\");\n\nexport const FrontendSchema = z\n .enum([\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"native-bare\",\n \"native-uniwind\",\n \"native-unistyles\",\n \"svelte\",\n \"solid\",\n \"astro\",\n \"none\",\n ])\n .describe(\"Frontend framework\");\n\nexport const AddonsSchema = z\n .enum([\n \"pwa\",\n \"tauri\",\n \"electrobun\",\n \"starlight\",\n \"biome\",\n \"lefthook\",\n \"husky\",\n \"mcp\",\n \"turborepo\",\n \"nx\",\n \"vite-plus\",\n \"fumadocs\",\n \"ultracite\",\n \"oxlint\",\n \"opentui\",\n \"wxt\",\n \"skills\",\n \"evlog\",\n \"axiom\",\n \"none\",\n ])\n .describe(\"Additional addons\");\n\nconst AddonsListSchema = z.array(AddonsSchema).superRefine((addons, ctx) => {\n const taskRunners = addons.filter((addon) => TASK_RUNNER_ADDONS.includes(addon));\n if (taskRunners.length > 1) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`nx`, `turborepo`, and `vite-plus` cannot be used together\",\n });\n }\n\n const observabilityAddons = addons.filter((addon) => OBSERVABILITY_ADDONS.includes(addon));\n if (observabilityAddons.length > 1) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`evlog` and `axiom` cannot be used together because Axiom includes evlog\",\n });\n }\n});\n\nexport const ExamplesSchema = z\n .enum([\"todo\", \"ai\", \"none\"])\n .describe(\"Example templates to include\");\n\nexport const PackageManagerSchema = z.enum([\"npm\", \"pnpm\", \"bun\"]).describe(\"Package manager\");\n\nexport const DatabaseSetupSchema = z\n .enum([\n \"turso\",\n \"neon\",\n \"prisma-postgres\",\n \"planetscale\",\n \"mongodb-atlas\",\n \"supabase\",\n \"d1\",\n \"docker\",\n \"none\",\n ])\n .describe(\"Database hosting setup\");\n\nexport const APISchema = z.enum([\"trpc\", \"orpc\", \"none\"]).describe(\"API type\");\n\nexport const AuthSchema = z\n .enum([\"better-auth\", \"clerk\", \"none\"])\n .describe(\"Authentication provider\");\n\nexport const PaymentsSchema = z.enum([\"polar\", \"none\"]).describe(\"Payments provider\");\n\nexport const WebDeploySchema = z\n .enum([\"cloudflare\", \"prisma\", \"docker\", \"vercel\", \"none\"])\n .describe(\"Web deployment\");\n\nexport const ServerDeploySchema = z\n .enum([\"cloudflare\", \"prisma\", \"docker\", \"vercel\", \"none\"])\n .describe(\"Server deployment\");\n\nexport const DirectoryConflictSchema = z\n .enum([\"merge\", \"overwrite\", \"increment\", \"error\"])\n .describe(\"How to handle existing directory conflicts\");\n\nexport const TemplateSchema = z\n .enum([\"mern\", \"pern\", \"t3\", \"uniwind\", \"none\"])\n .describe(\"Predefined project template\");\n\nexport const WxtTemplateSchema = z\n .enum([\"vanilla\", \"vue\", \"react\", \"solid\", \"svelte\"])\n .describe(\"WXT template\");\n\nexport const TuiTemplateSchema = z.enum([\"core\", \"react\", \"solid\"]).describe(\"OpenTUI template\");\n\nexport const FumadocsTemplateSchema = z\n .enum([\n \"next-mdx\",\n \"next-mdx-static\",\n \"waku\",\n \"react-router\",\n \"react-router-spa\",\n \"tanstack-start\",\n \"tanstack-start-spa\",\n \"astro\",\n ])\n .describe(\"Fumadocs template\");\n\nexport const FumadocsSearchSchema = z\n .enum([\"orama\", \"orama-cloud\"])\n .describe(\"Fumadocs search solution\");\n\nexport const FumadocsOgImageSchema = z\n .enum([\"next-og\", \"takumi\"])\n .describe(\"Fumadocs OG image generator\");\n\nexport const FumadocsAiChatSchema = z\n .enum([\"openrouter\", \"llmgateway\", \"inkeep\"])\n .describe(\"Fumadocs AI chat provider\");\n\nexport const InstallScopeSchema = z.enum([\"project\", \"global\"]).describe(\"Installation scope\");\n\nexport const McpServerSchema = z\n .enum([\n \"better-t-stack\",\n \"context7\",\n \"nx\",\n \"cloudflare-docs\",\n \"convex\",\n \"shadcn\",\n \"next-devtools\",\n \"nuxt-docs\",\n \"nuxt-ui-docs\",\n \"svelte-docs\",\n \"astro-docs\",\n \"planetscale\",\n \"neon\",\n \"supabase\",\n \"better-auth\",\n \"clerk\",\n \"expo\",\n \"polar\",\n ])\n .describe(\"MCP server to install\");\n\nexport const McpAgentSchema = z\n .enum([\n \"antigravity\",\n \"cline\",\n \"cline-cli\",\n \"cursor\",\n \"claude-code\",\n \"codex\",\n \"opencode\",\n \"gemini-cli\",\n \"github-copilot-cli\",\n \"grok-build\",\n \"mcporter\",\n \"vscode\",\n \"windsurf\",\n \"zed\",\n \"claude-desktop\",\n \"goose\",\n \"fx\",\n \"kilo-code\",\n \"kimi-code\",\n \"kiro-cli\",\n ])\n .describe(\"Agent target for MCP installation\");\n\nexport const SkillsSourceSchema = z\n .enum([\n \"vercel-labs/agent-skills\",\n \"vercel/ai\",\n \"vercel/turborepo\",\n \"honojs/skills\",\n \"vercel/next.js\",\n \"nuxt/ui\",\n \"heroui-inc/heroui\",\n \"shadcn/ui\",\n \"better-auth/skills\",\n \"clerk/skills\",\n \"neondatabase/agent-skills\",\n \"supabase/agent-skills\",\n \"planetscale/database-skills\",\n \"expo/skills\",\n \"prisma/skills\",\n \"elysiajs/skills\",\n \"waynesutton/convexskills\",\n \"msmps/opentui-skill\",\n \"haydenbleasel/ultracite\",\n \"https://www.evlog.dev\",\n ])\n .describe(\"Skill source repository\");\n\nexport const SkillsAgentSchema = z\n .enum([\n \"universal\",\n \"adal\",\n \"aider-desk\",\n \"amp\",\n \"antigravity\",\n \"antigravity-cli\",\n \"astrbot\",\n \"augment\",\n \"autohand-code\",\n \"bob\",\n \"claude-code\",\n \"cline\",\n \"codearts-agent\",\n \"codebuddy\",\n \"codemaker\",\n \"codestudio\",\n \"codex\",\n \"command-code\",\n \"continue\",\n \"cortex\",\n \"crush\",\n \"cursor\",\n \"deepagents\",\n \"devin\",\n \"dexto\",\n \"droid\",\n \"eve\",\n \"firebender\",\n \"forgecode\",\n \"gemini-cli\",\n \"github-copilot\",\n \"goose\",\n \"grok\",\n \"hermes-agent\",\n \"iflow-cli\",\n \"inference-sh\",\n \"jazz\",\n \"junie\",\n \"kilo\",\n \"kimchi\",\n \"kimi-code-cli\",\n \"kiro-cli\",\n \"kode\",\n \"lingma\",\n \"loaf\",\n \"mcpjam\",\n \"minimax-code\",\n \"mistral-vibe\",\n \"moxby\",\n \"mux\",\n \"neovate\",\n \"ona\",\n \"clawdbot\",\n \"openclaw\",\n \"opencode\",\n \"openhands\",\n \"pi\",\n \"pochi\",\n \"posit-assistant\",\n \"promptscript\",\n \"qoder\",\n \"qoder-cn\",\n \"qwen-code\",\n \"reasonix\",\n \"replit\",\n \"roo\",\n \"rovodev\",\n \"tabnine-cli\",\n \"terramind\",\n \"tinycloud\",\n \"trae\",\n \"trae-cn\",\n \"warp\",\n \"windsurf\",\n \"zcode\",\n \"zed\",\n \"zencoder\",\n \"zenflow\",\n ])\n .describe(\n \"Agent target for skill installation; prefer universal for agents that consume .agents/skills\",\n );\n\nexport const SkillSelectionSchema = z.strictObject({\n source: SkillsSourceSchema.describe(\"Skill source to install from\"),\n skills: z.array(z.string()).describe(\"Curated skill names to install from this source\"),\n});\n\nexport const UltraciteLinterSchema = z.enum([\"biome\", \"oxlint\"]).describe(\"Ultracite linter\");\n\nexport const UltraciteEditorSchema = z\n .enum([\n \"vscode\",\n \"cursor\",\n \"windsurf\",\n \"codebuddy\",\n \"antigravity\",\n \"bob\",\n \"kiro\",\n \"trae\",\n \"void\",\n \"zed\",\n \"universal\",\n ])\n .describe(\"Ultracite editor integration\");\n\nexport const UltraciteAgentSchema = z\n .enum([\n \"universal\",\n \"claude\",\n \"codex\",\n \"jules\",\n \"replit\",\n \"devin\",\n \"lovable\",\n \"zencoder\",\n \"ona\",\n \"openclaw\",\n \"continue\",\n \"snowflake-cortex\",\n \"deepagents\",\n \"qoder\",\n \"kimi-cli\",\n \"mcpjam\",\n \"mux\",\n \"pi\",\n \"adal\",\n \"copilot\",\n \"cline\",\n \"amp\",\n \"aider\",\n \"firebase-studio\",\n \"open-hands\",\n \"gemini\",\n \"junie\",\n \"augmentcode\",\n \"bob\",\n \"kilo-code\",\n \"goose\",\n \"roo-code\",\n \"warp\",\n \"droid\",\n \"opencode\",\n \"crush\",\n \"qwen\",\n \"amazon-q-cli\",\n \"firebender\",\n \"cursor-cli\",\n \"mistral-vibe\",\n \"vercel\",\n ])\n .describe(\"Ultracite agent integration\");\n\nexport const UltraciteHookSchema = z\n .enum([\"cursor\", \"windsurf\", \"codebuddy\", \"claude\", \"copilot\"])\n .describe(\"Ultracite hook integration\");\n\nexport const DbSetupModeSchema = z\n .enum([\"manual\", \"auto\", \"alchemy\"])\n .describe(\"Database setup mode\");\n\nexport const NeonSetupMethodSchema = z\n .enum([\"neon-new\", \"neon\", \"neondb\", \"neonctl\"])\n .describe(\"Neon database provisioning method\");\n\nexport const AddonOptionsSchema = z\n .strictObject({\n wxt: z\n .strictObject({\n template: WxtTemplateSchema,\n devPort: z.number().int().min(1).max(65535).optional().describe(\"WXT dev server port\"),\n })\n .optional()\n .describe(\"Options for the WXT addon\"),\n fumadocs: z\n .strictObject({\n template: FumadocsTemplateSchema,\n devPort: z.number().int().min(1).max(65535).optional().describe(\"Fumadocs dev server port\"),\n search: FumadocsSearchSchema.optional().describe(\"Fumadocs search solution\"),\n ogImage: FumadocsOgImageSchema.optional().describe(\"Fumadocs OG image generator\"),\n aiChat: FumadocsAiChatSchema.optional().describe(\"Fumadocs AI chat provider\"),\n })\n .optional()\n .describe(\"Options for the Fumadocs addon\"),\n opentui: z\n .strictObject({\n template: TuiTemplateSchema,\n })\n .optional()\n .describe(\"Options for the OpenTUI addon\"),\n mcp: z\n .strictObject({\n scope: InstallScopeSchema.optional(),\n servers: z.array(McpServerSchema).optional().describe(\"MCP servers to install\"),\n agents: z.array(McpAgentSchema).optional().describe(\"Agents to wire MCP servers into\"),\n })\n .optional()\n .describe(\"Options for the MCP addon\"),\n skills: z\n .strictObject({\n scope: InstallScopeSchema.optional(),\n agents: z.array(SkillsAgentSchema).optional().describe(\"Agents to install skills into\"),\n selections: z.array(SkillSelectionSchema).optional().describe(\"Skills grouped by source\"),\n })\n .optional()\n .describe(\"Options for the Skills addon\"),\n ultracite: z\n .strictObject({\n linter: UltraciteLinterSchema.optional(),\n editors: z.array(UltraciteEditorSchema).optional(),\n agents: z.array(UltraciteAgentSchema).optional(),\n hooks: z.array(UltraciteHookSchema).optional(),\n })\n .optional()\n .describe(\"Options for the Ultracite addon\"),\n })\n .describe(\"Addon-specific configuration\");\n\nexport const DbSetupOptionsSchema = z\n .strictObject({\n mode: DbSetupModeSchema.optional().describe(\"How database setup should be executed\"),\n neon: z\n .strictObject({\n method: NeonSetupMethodSchema.optional(),\n projectName: z.string().min(1).optional().describe(\"Neon project name\"),\n regionId: z.string().min(1).optional().describe(\"Neon region identifier\"),\n })\n .optional()\n .describe(\"Options for Neon setup\"),\n prismaPostgres: z\n .strictObject({\n regionId: z.string().min(1).optional().describe(\"Prisma Postgres region identifier\"),\n })\n .optional()\n .describe(\"Options for Prisma Postgres setup\"),\n turso: z\n .strictObject({\n databaseName: z.string().min(1).optional().describe(\"Turso database name\"),\n groupName: z.string().min(1).optional().describe(\"Turso database group name\"),\n installCli: z\n .boolean()\n .optional()\n .describe(\"Whether the CLI may install the Turso CLI automatically\"),\n })\n .optional()\n .describe(\"Options for Turso setup\"),\n })\n .describe(\"Database setup configuration\");\n\nexport const ProjectNameSchema = z\n .string()\n .min(1, \"Project name cannot be empty\")\n .max(255, \"Project name must be less than 255 characters\")\n .refine(\n (name) => name === \".\" || !name.startsWith(\".\"),\n \"Project name cannot start with a dot (except for '.')\",\n )\n .refine((name) => name === \".\" || !name.startsWith(\"-\"), \"Project name cannot start with a dash\")\n .refine((name) => {\n const invalidChars = [\"<\", \">\", \":\", '\"', \"|\", \"?\", \"*\"];\n return !invalidChars.some((char) => name.includes(char));\n }, \"Project name contains invalid characters\")\n .refine((name) => name.toLowerCase() !== \"node_modules\", \"Project name is reserved\")\n .describe(\"Project name or path\");\n\nexport const CreateInputSchema = z\n .object({\n projectName: z.string().optional(),\n template: TemplateSchema.optional(),\n yes: z.boolean().optional(),\n yolo: z.boolean().optional(),\n dryRun: z.boolean().optional(),\n verbose: z.boolean().optional(),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema.optional(),\n orm: ORMSchema.optional(),\n auth: AuthSchema.optional(),\n payments: PaymentsSchema.optional(),\n frontend: z.array(FrontendSchema).optional(),\n addons: AddonsListSchema.optional(),\n examples: z.array(ExamplesSchema).optional(),\n git: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n install: z.boolean().optional(),\n dbSetup: DatabaseSetupSchema.optional(),\n backend: BackendSchema.optional(),\n runtime: RuntimeSchema.optional(),\n api: APISchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n directoryConflict: DirectoryConflictSchema.optional(),\n renderTitle: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n manualDb: z.boolean().optional(),\n })\n .strict()\n .refine((input) => !(input.manualDb !== undefined && input.dbSetupOptions?.mode !== undefined), {\n message: \"`manualDb` and `dbSetupOptions.mode` are mutually exclusive\",\n path: [\"dbSetupOptions\", \"mode\"],\n });\n\nexport const WorkspacePackageNameSchema = z\n .string()\n .min(1, \"Package name cannot be empty\")\n .max(214, \"Package name must not exceed 214 characters\")\n .regex(\n /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/,\n \"Package name must be an unscoped lowercase npm name\",\n )\n .refine((name) => name !== \"node_modules\", \"Package name is reserved\")\n .describe(\"Name of a workspace package to scaffold\");\n\nexport const AddInputSchema = z\n .object({\n addons: AddonsListSchema.optional(),\n package: WorkspacePackageNameSchema.optional(),\n addonOptions: AddonOptionsSchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n projectDir: z.string().optional(),\n install: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n dryRun: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n })\n .strict();\n\nexport const CLIInputSchema = CreateInputSchema.safeExtend({\n projectDirectory: z.string().optional(),\n}).strict();\n\nexport const ProjectConfigSchema = z.object({\n projectName: z.string(),\n projectDir: z.string(),\n relativePath: z.string(),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema,\n orm: ORMSchema,\n backend: BackendSchema,\n runtime: RuntimeSchema,\n frontend: z.array(FrontendSchema),\n addons: AddonsListSchema,\n examples: z.array(ExamplesSchema),\n auth: AuthSchema,\n payments: PaymentsSchema,\n git: z.boolean(),\n packageManager: PackageManagerSchema,\n install: z.boolean(),\n dbSetup: DatabaseSetupSchema,\n api: APISchema,\n webDeploy: WebDeploySchema,\n serverDeploy: ServerDeploySchema,\n});\n\nexport const BetterTStackConfigSchema = z.object({\n version: z.string().describe(\"CLI version used to create this project\"),\n createdAt: z.string().describe(\"Timestamp when the project was created\"),\n reproducibleCommand: z.string().optional().describe(\"Command to reproduce this project setup\"),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema,\n orm: ORMSchema,\n backend: BackendSchema,\n runtime: RuntimeSchema,\n frontend: z.array(FrontendSchema),\n addons: AddonsListSchema,\n examples: z.array(ExamplesSchema),\n auth: AuthSchema,\n payments: PaymentsSchema,\n packageManager: PackageManagerSchema,\n dbSetup: DatabaseSetupSchema,\n api: APISchema,\n webDeploy: WebDeploySchema,\n serverDeploy: ServerDeploySchema,\n});\n\nexport const BetterTStackConfigFileSchema = BetterTStackConfigSchema.safeExtend({\n $schema: z.string().optional().describe(\"JSON Schema reference for validation\"),\n})\n .strict()\n .meta({\n id: \"https://r2.better-t-stack.dev/schema.json\",\n title: \"Better-T-Stack Configuration\",\n description: \"Configuration file for Better-T-Stack projects\",\n });\n\nexport const InitResultSchema = z.object({\n success: z.boolean(),\n projectConfig: ProjectConfigSchema,\n reproducibleCommand: z.string(),\n timeScaffolded: z.string(),\n elapsedTimeMs: z.number(),\n projectDirectory: z.string(),\n relativePath: z.string(),\n error: z.string().optional(),\n warnings: z.array(z.string()).optional(),\n});\n\nexport const DATABASE_VALUES = DatabaseSchema.options;\nexport const ORM_VALUES = ORMSchema.options;\nexport const BACKEND_VALUES = BackendSchema.options;\nexport const RUNTIME_VALUES = RuntimeSchema.options;\nexport const FRONTEND_VALUES = FrontendSchema.options;\nexport const ADDONS_VALUES = AddonsSchema.options;\nexport const EXAMPLES_VALUES = ExamplesSchema.options;\nexport const PACKAGE_MANAGER_VALUES = PackageManagerSchema.options;\nexport const DATABASE_SETUP_VALUES = DatabaseSetupSchema.options;\nexport const API_VALUES = APISchema.options;\nexport const AUTH_VALUES = AuthSchema.options;\nexport const PAYMENTS_VALUES = PaymentsSchema.options;\nexport const WEB_DEPLOY_VALUES = WebDeploySchema.options;\nexport const SERVER_DEPLOY_VALUES = ServerDeploySchema.options;\nexport const DIRECTORY_CONFLICT_VALUES = DirectoryConflictSchema.options;\nexport const TEMPLATE_VALUES = TemplateSchema.options;\n"],"mappings":"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,CAAC,CACpD,SAAS,cAAc;AAE1B,MAAa,oBAAoB,EAAE,KAAK;CAAC;CAAQ;CAAS;AAAO,CAAC,CAAC,CAAC,SAAS,kBAAkB;AAE/F,MAAa,yBAAyB,EACnC,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,mBAAmB;AAE/B,MAAa,uBAAuB,EACjC,KAAK,CAAC,SAAS,aAAa,CAAC,CAAC,CAC9B,SAAS,0BAA0B;AAEtC,MAAa,wBAAwB,EAClC,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAC3B,SAAS,6BAA6B;AAEzC,MAAa,uBAAuB,EACjC,KAAK;CAAC;CAAc;CAAc;AAAQ,CAAC,CAAC,CAC5C,SAAS,2BAA2B;AAEvC,MAAa,qBAAqB,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,oBAAoB;AAE7F,MAAa,kBAAkB,EAC5B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,uBAAuB;AAEnC,MAAa,iBAAiB,EAC3B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,mCAAmC;AAE/C,MAAa,qBAAqB,EAC/B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,yBAAyB;AAErC,MAAa,oBAAoB,EAC9B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA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"}
|
package/dist/schemas.d.mts
CHANGED
|
@@ -211,7 +211,7 @@ export declare const SkillsSourceSchema: z.ZodEnum<{
|
|
|
211
211
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
212
212
|
"vercel/ai": "vercel/ai";
|
|
213
213
|
"vercel/turborepo": "vercel/turborepo";
|
|
214
|
-
"
|
|
214
|
+
"honojs/skills": "honojs/skills";
|
|
215
215
|
"vercel/next.js": "vercel/next.js";
|
|
216
216
|
"nuxt/ui": "nuxt/ui";
|
|
217
217
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -314,7 +314,7 @@ export declare const SkillSelectionSchema: z.ZodObject<{
|
|
|
314
314
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
315
315
|
"vercel/ai": "vercel/ai";
|
|
316
316
|
"vercel/turborepo": "vercel/turborepo";
|
|
317
|
-
"
|
|
317
|
+
"honojs/skills": "honojs/skills";
|
|
318
318
|
"vercel/next.js": "vercel/next.js";
|
|
319
319
|
"nuxt/ui": "nuxt/ui";
|
|
320
320
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -595,7 +595,7 @@ export declare const AddonOptionsSchema: z.ZodObject<{
|
|
|
595
595
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
596
596
|
"vercel/ai": "vercel/ai";
|
|
597
597
|
"vercel/turborepo": "vercel/turborepo";
|
|
598
|
-
"
|
|
598
|
+
"honojs/skills": "honojs/skills";
|
|
599
599
|
"vercel/next.js": "vercel/next.js";
|
|
600
600
|
"nuxt/ui": "nuxt/ui";
|
|
601
601
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -908,7 +908,7 @@ export declare const CreateInputSchema: z.ZodObject<{
|
|
|
908
908
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
909
909
|
"vercel/ai": "vercel/ai";
|
|
910
910
|
"vercel/turborepo": "vercel/turborepo";
|
|
911
|
-
"
|
|
911
|
+
"honojs/skills": "honojs/skills";
|
|
912
912
|
"vercel/next.js": "vercel/next.js";
|
|
913
913
|
"nuxt/ui": "nuxt/ui";
|
|
914
914
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -1357,7 +1357,7 @@ export declare const AddInputSchema: z.ZodObject<{
|
|
|
1357
1357
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
1358
1358
|
"vercel/ai": "vercel/ai";
|
|
1359
1359
|
"vercel/turborepo": "vercel/turborepo";
|
|
1360
|
-
"
|
|
1360
|
+
"honojs/skills": "honojs/skills";
|
|
1361
1361
|
"vercel/next.js": "vercel/next.js";
|
|
1362
1362
|
"nuxt/ui": "nuxt/ui";
|
|
1363
1363
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -1668,7 +1668,7 @@ export declare const CLIInputSchema: z.ZodObject<{
|
|
|
1668
1668
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
1669
1669
|
"vercel/ai": "vercel/ai";
|
|
1670
1670
|
"vercel/turborepo": "vercel/turborepo";
|
|
1671
|
-
"
|
|
1671
|
+
"honojs/skills": "honojs/skills";
|
|
1672
1672
|
"vercel/next.js": "vercel/next.js";
|
|
1673
1673
|
"nuxt/ui": "nuxt/ui";
|
|
1674
1674
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -2097,7 +2097,7 @@ export declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
2097
2097
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
2098
2098
|
"vercel/ai": "vercel/ai";
|
|
2099
2099
|
"vercel/turborepo": "vercel/turborepo";
|
|
2100
|
-
"
|
|
2100
|
+
"honojs/skills": "honojs/skills";
|
|
2101
2101
|
"vercel/next.js": "vercel/next.js";
|
|
2102
2102
|
"nuxt/ui": "nuxt/ui";
|
|
2103
2103
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -2516,7 +2516,7 @@ export declare const BetterTStackConfigSchema: z.ZodObject<{
|
|
|
2516
2516
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
2517
2517
|
"vercel/ai": "vercel/ai";
|
|
2518
2518
|
"vercel/turborepo": "vercel/turborepo";
|
|
2519
|
-
"
|
|
2519
|
+
"honojs/skills": "honojs/skills";
|
|
2520
2520
|
"vercel/next.js": "vercel/next.js";
|
|
2521
2521
|
"nuxt/ui": "nuxt/ui";
|
|
2522
2522
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -2933,7 +2933,7 @@ export declare const BetterTStackConfigFileSchema: z.ZodObject<{
|
|
|
2933
2933
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
2934
2934
|
"vercel/ai": "vercel/ai";
|
|
2935
2935
|
"vercel/turborepo": "vercel/turborepo";
|
|
2936
|
-
"
|
|
2936
|
+
"honojs/skills": "honojs/skills";
|
|
2937
2937
|
"vercel/next.js": "vercel/next.js";
|
|
2938
2938
|
"nuxt/ui": "nuxt/ui";
|
|
2939
2939
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
|
@@ -3353,7 +3353,7 @@ export declare const InitResultSchema: z.ZodObject<{
|
|
|
3353
3353
|
"vercel-labs/agent-skills": "vercel-labs/agent-skills";
|
|
3354
3354
|
"vercel/ai": "vercel/ai";
|
|
3355
3355
|
"vercel/turborepo": "vercel/turborepo";
|
|
3356
|
-
"
|
|
3356
|
+
"honojs/skills": "honojs/skills";
|
|
3357
3357
|
"vercel/next.js": "vercel/next.js";
|
|
3358
3358
|
"nuxt/ui": "nuxt/ui";
|
|
3359
3359
|
"heroui-inc/heroui": "heroui-inc/heroui";
|
package/dist/schemas.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as TuiTemplateSchema, A as FumadocsTemplateSchema, B as PackageManagerSchema, C as EXAMPLES_VALUES, D as FumadocsAiChatSchema, E as FrontendSchema, F as NeonSetupMethodSchema, G as RuntimeSchema, H as ProjectConfigSchema, I as ORMSchema, J as SkillSelectionSchema, K as SERVER_DEPLOY_VALUES, L as ORM_VALUES, M as InstallScopeSchema, N as McpAgentSchema, O as FumadocsOgImageSchema, P as McpServerSchema, Q as TemplateSchema, R as PACKAGE_MANAGER_VALUES, S as DirectoryConflictSchema, T as FRONTEND_VALUES, U as ProjectNameSchema, V as PaymentsSchema, W as RUNTIME_VALUES, X as SkillsSourceSchema, Y as SkillsAgentSchema, Z as TEMPLATE_VALUES, _ as DIRECTORY_CONFLICT_VALUES, a as AddInputSchema, at as WebDeploySchema, b as DbSetupModeSchema, c as AuthSchema, d as BetterTStackConfigFileSchema, et as UltraciteAgentSchema, f as BetterTStackConfigSchema, g as DATABASE_VALUES, h as DATABASE_SETUP_VALUES, i as AUTH_VALUES, it as WEB_DEPLOY_VALUES, j as InitResultSchema, k as FumadocsSearchSchema, l as BACKEND_VALUES, m as CreateInputSchema, n as APISchema, nt as UltraciteHookSchema, o as AddonOptionsSchema, ot as WorkspacePackageNameSchema, p as CLIInputSchema, q as ServerDeploySchema, r as API_VALUES, rt as UltraciteLinterSchema, s as AddonsSchema, st as WxtTemplateSchema, t as ADDONS_VALUES, tt as UltraciteEditorSchema, u as BackendSchema, v as DatabaseSchema, w as ExamplesSchema, x as DbSetupOptionsSchema, y as DatabaseSetupSchema, z as PAYMENTS_VALUES } from "./schemas-
|
|
1
|
+
import { $ as TuiTemplateSchema, A as FumadocsTemplateSchema, B as PackageManagerSchema, C as EXAMPLES_VALUES, D as FumadocsAiChatSchema, E as FrontendSchema, F as NeonSetupMethodSchema, G as RuntimeSchema, H as ProjectConfigSchema, I as ORMSchema, J as SkillSelectionSchema, K as SERVER_DEPLOY_VALUES, L as ORM_VALUES, M as InstallScopeSchema, N as McpAgentSchema, O as FumadocsOgImageSchema, P as McpServerSchema, Q as TemplateSchema, R as PACKAGE_MANAGER_VALUES, S as DirectoryConflictSchema, T as FRONTEND_VALUES, U as ProjectNameSchema, V as PaymentsSchema, W as RUNTIME_VALUES, X as SkillsSourceSchema, Y as SkillsAgentSchema, Z as TEMPLATE_VALUES, _ as DIRECTORY_CONFLICT_VALUES, a as AddInputSchema, at as WebDeploySchema, b as DbSetupModeSchema, c as AuthSchema, d as BetterTStackConfigFileSchema, et as UltraciteAgentSchema, f as BetterTStackConfigSchema, g as DATABASE_VALUES, h as DATABASE_SETUP_VALUES, i as AUTH_VALUES, it as WEB_DEPLOY_VALUES, j as InitResultSchema, k as FumadocsSearchSchema, l as BACKEND_VALUES, m as CreateInputSchema, n as APISchema, nt as UltraciteHookSchema, o as AddonOptionsSchema, ot as WorkspacePackageNameSchema, p as CLIInputSchema, q as ServerDeploySchema, r as API_VALUES, rt as UltraciteLinterSchema, s as AddonsSchema, st as WxtTemplateSchema, t as ADDONS_VALUES, tt as UltraciteEditorSchema, u as BackendSchema, v as DatabaseSchema, w as ExamplesSchema, x as DbSetupOptionsSchema, y as DatabaseSetupSchema, z as PAYMENTS_VALUES } from "./schemas-CW9Y7YJ0.mjs";
|
|
2
2
|
export { ADDONS_VALUES, APISchema, API_VALUES, AUTH_VALUES, AddInputSchema, AddonOptionsSchema, AddonsSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CLIInputSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DbSetupModeSchema, DbSetupOptionsSchema, DirectoryConflictSchema, EXAMPLES_VALUES, ExamplesSchema, FRONTEND_VALUES, FrontendSchema, FumadocsAiChatSchema, FumadocsOgImageSchema, FumadocsSearchSchema, FumadocsTemplateSchema, InitResultSchema, InstallScopeSchema, McpAgentSchema, McpServerSchema, NeonSetupMethodSchema, ORMSchema, ORM_VALUES, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, RUNTIME_VALUES, RuntimeSchema, SERVER_DEPLOY_VALUES, ServerDeploySchema, SkillSelectionSchema, SkillsAgentSchema, SkillsSourceSchema, TEMPLATE_VALUES, TemplateSchema, TuiTemplateSchema, UltraciteAgentSchema, UltraciteEditorSchema, UltraciteHookSchema, UltraciteLinterSchema, WEB_DEPLOY_VALUES, WebDeploySchema, WorkspacePackageNameSchema, WxtTemplateSchema };
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas-B-p9IhC-.mjs","names":["incompatibleFrontends"],"sources":["../src/constants.ts","../src/compatibility.ts","../src/schemas.ts"],"sourcesContent":["import type { DesktopWebFrontend, WebFrontend } from \"./types\";\n\nexport const webFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const satisfies readonly Exclude<WebFrontend, \"none\">[];\n\nexport const desktopWebFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"astro\",\n] as const satisfies readonly DesktopWebFrontend[];\n","import { desktopWebFrontends } from \"./constants\";\nimport type {\n Addons,\n API,\n Auth,\n Payments,\n WebDeploy,\n ServerDeploy,\n Backend,\n Database,\n DatabaseSetup,\n Frontend,\n ORM,\n ProjectConfig,\n Runtime,\n} from \"./types\";\n\nexport const TASK_RUNNER_ADDONS: readonly Addons[] = [\"turborepo\", \"nx\", \"vite-plus\"];\nexport const OBSERVABILITY_ADDONS: readonly Addons[] = [\"evlog\", \"axiom\"];\nexport const STATIC_DESKTOP_ADDONS: readonly Addons[] = [\"tauri\", \"electrobun\"];\nconst TAURI_STATIC_EXPORT_FRONTENDS: readonly Frontend[] = [\"next\", \"tanstack-start\"];\n\nexport const CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS = [\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const;\n\nexport const CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"native-bare\",\n \"native-uniwind\",\n \"native-unistyles\",\n] as const;\n\n// Frontends that support backend=\"self\" (fullstack mode with built-in server routes)\nexport const FULLSTACK_FRONTENDS = [\n \"next\",\n \"tanstack-start\",\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const satisfies readonly Frontend[];\n\nexport type FullstackFrontend = (typeof FULLSTACK_FRONTENDS)[number];\n\nexport const SERVER_BACKENDS: readonly Backend[] = [\"hono\", \"express\", \"fastify\", \"elysia\"];\nconst EVLOG_FULLSTACK_FRONTENDS: readonly Frontend[] = [\n \"next\",\n \"tanstack-start\",\n \"nuxt\",\n \"svelte\",\n \"astro\",\n];\n\nexport const CLERK_INCOMPATIBLE_FRONTENDS = CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS;\nexport const CLERK_SUPPORTED_FRONTENDS = CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS;\nexport const TRPC_INCOMPATIBLE_FRONTENDS = [\"nuxt\", \"svelte\", \"solid\", \"astro\"] as const;\nexport const CONVEX_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\"] as const;\nexport const AI_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\"] as const;\nexport const CONVEX_AI_INCOMPATIBLE_FRONTENDS = [\"solid\", \"astro\", \"svelte\", \"nuxt\"] as const;\nexport const DESKTOP_STATIC_EXPORT_FRONTENDS: readonly Frontend[] = [\n \"next\",\n \"svelte\",\n \"astro\",\n \"react-router\",\n];\nconst evlogCompatibilityMessage =\n \"The observability addons support Hono, Express, Fastify, Elysia, or backend self with Next.js, TanStack Start, Nuxt, SvelteKit, or Astro. Convex and backend none are not supported yet.\";\n\nexport const ADDON_COMPATIBILITY = {\n pwa: [\"tanstack-router\", \"react-router\", \"solid\", \"next\"],\n tauri: desktopWebFrontends,\n electrobun: desktopWebFrontends,\n biome: [],\n husky: [],\n lefthook: [],\n turborepo: [],\n nx: [],\n \"vite-plus\": [],\n starlight: [],\n ultracite: [],\n mcp: [],\n oxlint: [],\n fumadocs: [],\n opentui: [],\n wxt: [],\n skills: [],\n evlog: [],\n axiom: [],\n none: [],\n} as const;\n\nexport function supportsEvlogAddon(\n frontend: readonly Frontend[] = [],\n backend?: Backend,\n _runtime?: Runtime,\n) {\n if (!backend) return true;\n\n if (SERVER_BACKENDS.some((value) => value === backend)) {\n return true;\n }\n\n if (backend === \"self\") {\n if (frontend.length === 0) return true;\n return frontend.some((f) => EVLOG_FULLSTACK_FRONTENDS.some((value) => value === f));\n }\n\n return false;\n}\n\nexport function isFrontendAllowedWithBackend(frontend: Frontend, backend?: Backend, auth?: Auth) {\n if (backend === \"convex\") {\n if (\n auth === \"better-auth\" &&\n CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)\n ) {\n return false;\n }\n\n if (CONVEX_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)) return false;\n }\n\n if (auth === \"clerk\") {\n const incompatibleFrontends = CLERK_INCOMPATIBLE_FRONTENDS;\n if (incompatibleFrontends.some((value) => value === frontend)) return false;\n }\n\n return true;\n}\n\nexport function supportsConvexBetterAuth(frontends: readonly Frontend[] = []) {\n return frontends.some((frontend) =>\n CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS.some((value) => value === frontend),\n );\n}\n\nexport function allowedApisForFrontends(frontends: readonly Frontend[] = []): API[] {\n return frontends.some((frontend) =>\n TRPC_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend),\n )\n ? [\"orpc\", \"none\"]\n : [\"trpc\", \"orpc\", \"none\"];\n}\n\nexport function isExampleTodoAllowed(backend?: Backend, database?: Database, api?: API) {\n // Convex handles its own data layer, no need for database or API\n if (backend === \"convex\") return true;\n // Todo requires both database and API to communicate\n if (database === \"none\" || api === \"none\") return false;\n return true;\n}\n\nexport function isExampleAIAllowed(backend?: Backend, frontends: readonly Frontend[] = []) {\n return (\n backend !== \"none\" &&\n !frontends.some(\n (frontend) =>\n AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend) ||\n (backend === \"convex\" &&\n CONVEX_AI_INCOMPATIBLE_FRONTENDS.some((value) => value === frontend)),\n )\n );\n}\n\nexport const PRISMA_COMPUTE_WEB_FRONTENDS: readonly Frontend[] = [\n \"next\",\n \"nuxt\",\n \"astro\",\n \"react-router\",\n \"tanstack-start\",\n \"svelte\",\n \"solid\",\n];\n\nexport function supportsPrismaWebDeploy(frontend: readonly Frontend[]): boolean {\n return frontend.some((value) =>\n PRISMA_COMPUTE_WEB_FRONTENDS.some((frontend) => frontend === value),\n );\n}\n\nexport type AddonCompatibility = { isCompatible: true } | { isCompatible: false; reason: string };\n\nexport function validateAddonCompatibility(\n addon: Addons,\n frontend: readonly Frontend[],\n auth?: Auth,\n backend?: Backend,\n runtime?: Runtime,\n): AddonCompatibility {\n if (\n OBSERVABILITY_ADDONS.some((value) => value === addon) &&\n !supportsEvlogAddon(frontend, backend, runtime)\n ) {\n return {\n isCompatible: false,\n reason: evlogCompatibilityMessage,\n };\n }\n\n if (\n STATIC_DESKTOP_ADDONS.some((value) => value === addon) &&\n auth === \"clerk\" &&\n frontend.includes(\"react-router\")\n ) {\n return {\n isCompatible: false,\n reason: `${addon} addon forces React Router into a static export, but Clerk on React Router requires SSR middleware. Remove the addon or use a different auth/frontend.`,\n };\n }\n\n if (backend === \"self\" && STATIC_DESKTOP_ADDONS.some((value) => value === addon)) {\n return {\n isCompatible: false,\n reason: `${addon} addon requires a separate backend or no backend because backend 'self' emits server routes that cannot be bundled as static desktop assets.`,\n };\n }\n\n if (addon === \"tauri\" && isTauriBlockedByConvexBetterAuth(frontend, backend, auth)) {\n return {\n isCompatible: false,\n reason:\n \"tauri addon is not compatible with Convex Better Auth on Next.js or TanStack Start because those templates use server auth bootstrap and cannot be exported as static desktop assets.\",\n };\n }\n\n if (!Object.hasOwn(ADDON_COMPATIBILITY, addon))\n return { isCompatible: false, reason: `Unknown addon: ${addon}` };\n const compatibleFrontends = ADDON_COMPATIBILITY[addon];\n\n if (compatibleFrontends.length > 0) {\n const hasCompatibleFrontend = frontend.some((f) =>\n compatibleFrontends.some((value) => value === f),\n );\n\n if (!hasCompatibleFrontend) {\n const frontendList = compatibleFrontends.join(\", \");\n return {\n isCompatible: false,\n reason: `${addon} addon requires one of these frontends: ${frontendList}`,\n };\n }\n }\n\n return { isCompatible: true };\n}\n\nexport function supportsClerkFrontend(frontends: readonly Frontend[]) {\n return frontends.every(\n (frontend) =>\n frontend === \"none\" || CLERK_SUPPORTED_FRONTENDS.some((value) => value === frontend),\n );\n}\n\nexport function supportsClerkBackend(\n backend: Backend | undefined,\n frontends: readonly Frontend[] = [],\n) {\n if (!backend) return true;\n if (backend === \"self\")\n return (\n frontends.length === 0 ||\n frontends.some((frontend) => frontend === \"next\" || frontend === \"tanstack-start\")\n );\n return backend === \"convex\" || SERVER_BACKENDS.some((value) => value === backend);\n}\n\nexport function isTauriBlockedByConvexBetterAuth(\n frontends: readonly Frontend[],\n backend?: Backend,\n auth?: Auth,\n) {\n return (\n backend === \"convex\" &&\n auth === \"better-auth\" &&\n frontends.some((frontend) => TAURI_STATIC_EXPORT_FRONTENDS.some((value) => value === frontend))\n );\n}\n\nexport function hasCloudflareNextPostgresConflict(config: {\n webDeploy?: WebDeploy;\n frontend?: readonly Frontend[];\n database?: Database;\n orm?: ORM;\n dbSetup?: DatabaseSetup;\n}) {\n return (\n config.webDeploy === \"cloudflare\" &&\n !!config.frontend?.includes(\"next\") &&\n config.database === \"postgres\" &&\n config.orm === \"prisma\" &&\n config.dbSetup !== \"neon\" &&\n config.dbSetup !== \"prisma-postgres\"\n );\n}\n\nexport function getDesktopDeployConflict(\n deploy: WebDeploy | ServerDeploy | undefined,\n addons: readonly Addons[] = [],\n frontends: readonly Frontend[] = [],\n backend?: Backend,\n auth?: Auth,\n) {\n if (deploy !== \"docker\" && deploy !== \"prisma\") return null;\n const selectedDesktopAddons = addons.filter((addon) =>\n STATIC_DESKTOP_ADDONS.some((value) => value === addon),\n );\n const affectedFrontend = frontends.find((frontend) =>\n DESKTOP_STATIC_EXPORT_FRONTENDS.some((value) => value === frontend),\n );\n if (!selectedDesktopAddons.length || !affectedFrontend) return null;\n // Electrobun retains Next.js standalone output for Convex's server auth bootstrap.\n if (\n deploy === \"docker\" &&\n affectedFrontend === \"next\" &&\n !selectedDesktopAddons.includes(\"tauri\") &&\n backend === \"convex\" &&\n auth === \"better-auth\"\n )\n return null;\n return { affectedFrontend, selectedDesktopAddons };\n}\n\nconst ORM_DATABASES = {\n none: [\"none\"],\n drizzle: [\"sqlite\", \"postgres\", \"mysql\"],\n prisma: [\"sqlite\", \"postgres\", \"mysql\", \"mongodb\"],\n mongoose: [\"mongodb\"],\n} as const satisfies Record<ORM, readonly Database[]>;\n\nexport function supportsOrmDatabase(orm: ORM, database: Database) {\n return ORM_DATABASES[orm].some((value) => value === database);\n}\n\nconst DATABASE_SETUP_DATABASES = {\n turso: [\"sqlite\"],\n d1: [\"sqlite\"],\n neon: [\"postgres\"],\n supabase: [\"postgres\"],\n \"prisma-postgres\": [\"postgres\"],\n planetscale: [\"postgres\", \"mysql\"],\n \"mongodb-atlas\": [\"mongodb\"],\n docker: [\"postgres\", \"mysql\", \"mongodb\"],\n} as const satisfies Record<Exclude<DatabaseSetup, \"none\">, readonly Database[]>;\n\nexport function supportsDatabaseSetup(dbSetup: DatabaseSetup, database: Database | undefined) {\n return (\n dbSetup === \"none\" ||\n (!!database && getDatabaseSetupDatabases(dbSetup).some((value) => value === database))\n );\n}\n\nexport function supportsRuntimeBackend(runtime: Runtime | undefined, backend: Backend | undefined) {\n if (!runtime || !backend) return true;\n if (getBackendDisabledOptions(backend).some((key) => key === \"runtime\"))\n return runtime === \"none\";\n return runtime !== \"none\" && (runtime !== \"workers\" || backend === \"hono\");\n}\n\nexport function supportsRuntimeDatabase(\n runtime: Runtime | undefined,\n database: Database | undefined,\n) {\n return runtime !== \"workers\" || database !== \"mongodb\";\n}\n\nexport function supportsDatabaseSetupRuntime(\n dbSetup: DatabaseSetup,\n runtime?: Runtime,\n backend?: Backend,\n) {\n if (dbSetup === \"docker\") return runtime !== \"workers\";\n if (dbSetup === \"d1\") return runtime === \"workers\" || backend === \"self\";\n return true;\n}\n\nexport function supportsServerDeployRuntime(\n deploy: WebDeploy | ServerDeploy | undefined,\n runtime: Runtime | undefined,\n) {\n if (!deploy) return true;\n if (deploy === \"none\") return runtime !== \"workers\";\n if (deploy === \"cloudflare\") return runtime === \"workers\";\n return runtime === \"bun\" || runtime === \"node\";\n}\n\nexport function supportsPaymentsAuth(payments?: Payments, auth?: Auth) {\n return payments !== \"polar\" || auth === \"better-auth\";\n}\n\nconst BACKEND_DISABLED_OPTIONS = {\n convex: [\"runtime\", \"database\", \"orm\", \"api\", \"dbSetup\", \"serverDeploy\"],\n none: [\"runtime\", \"database\", \"orm\", \"api\", \"auth\", \"payments\", \"dbSetup\", \"serverDeploy\"],\n self: [\"runtime\", \"serverDeploy\"],\n} as const satisfies Partial<Record<Backend, readonly (keyof ProjectConfig)[]>>;\n\nexport function getBackendDisabledOptions(backend: Backend) {\n return (\n Object.entries(BACKEND_DISABLED_OPTIONS).find(([candidate]) => candidate === backend)?.[1] ?? []\n );\n}\n\nexport function getDatabaseSetupDatabases(dbSetup: DatabaseSetup) {\n return dbSetup === \"none\" ? [] : DATABASE_SETUP_DATABASES[dbSetup];\n}\n","import { z } from \"zod\";\n\nimport { TASK_RUNNER_ADDONS, OBSERVABILITY_ADDONS } from \"./compatibility\";\n\nexport const DatabaseSchema = z\n .enum([\"none\", \"sqlite\", \"postgres\", \"mysql\", \"mongodb\"])\n .describe(\"Database type\");\n\nexport const ORMSchema = z.enum([\"drizzle\", \"prisma\", \"mongoose\", \"none\"]).describe(\"ORM type\");\n\nexport const BackendSchema = z\n .enum([\"hono\", \"express\", \"fastify\", \"elysia\", \"convex\", \"self\", \"none\"])\n .describe(\"Backend framework\");\n\nexport const RuntimeSchema = z\n .enum([\"bun\", \"node\", \"workers\", \"none\"])\n .describe(\"Runtime environment\");\n\nexport const FrontendSchema = z\n .enum([\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"native-bare\",\n \"native-uniwind\",\n \"native-unistyles\",\n \"svelte\",\n \"solid\",\n \"astro\",\n \"none\",\n ])\n .describe(\"Frontend framework\");\n\nexport const AddonsSchema = z\n .enum([\n \"pwa\",\n \"tauri\",\n \"electrobun\",\n \"starlight\",\n \"biome\",\n \"lefthook\",\n \"husky\",\n \"mcp\",\n \"turborepo\",\n \"nx\",\n \"vite-plus\",\n \"fumadocs\",\n \"ultracite\",\n \"oxlint\",\n \"opentui\",\n \"wxt\",\n \"skills\",\n \"evlog\",\n \"axiom\",\n \"none\",\n ])\n .describe(\"Additional addons\");\n\nconst AddonsListSchema = z.array(AddonsSchema).superRefine((addons, ctx) => {\n const taskRunners = addons.filter((addon) => TASK_RUNNER_ADDONS.includes(addon));\n if (taskRunners.length > 1) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`nx`, `turborepo`, and `vite-plus` cannot be used together\",\n });\n }\n\n const observabilityAddons = addons.filter((addon) => OBSERVABILITY_ADDONS.includes(addon));\n if (observabilityAddons.length > 1) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"`evlog` and `axiom` cannot be used together because Axiom includes evlog\",\n });\n }\n});\n\nexport const ExamplesSchema = z\n .enum([\"todo\", \"ai\", \"none\"])\n .describe(\"Example templates to include\");\n\nexport const PackageManagerSchema = z.enum([\"npm\", \"pnpm\", \"bun\"]).describe(\"Package manager\");\n\nexport const DatabaseSetupSchema = z\n .enum([\n \"turso\",\n \"neon\",\n \"prisma-postgres\",\n \"planetscale\",\n \"mongodb-atlas\",\n \"supabase\",\n \"d1\",\n \"docker\",\n \"none\",\n ])\n .describe(\"Database hosting setup\");\n\nexport const APISchema = z.enum([\"trpc\", \"orpc\", \"none\"]).describe(\"API type\");\n\nexport const AuthSchema = z\n .enum([\"better-auth\", \"clerk\", \"none\"])\n .describe(\"Authentication provider\");\n\nexport const PaymentsSchema = z.enum([\"polar\", \"none\"]).describe(\"Payments provider\");\n\nexport const WebDeploySchema = z\n .enum([\"cloudflare\", \"prisma\", \"docker\", \"vercel\", \"none\"])\n .describe(\"Web deployment\");\n\nexport const ServerDeploySchema = z\n .enum([\"cloudflare\", \"prisma\", \"docker\", \"vercel\", \"none\"])\n .describe(\"Server deployment\");\n\nexport const DirectoryConflictSchema = z\n .enum([\"merge\", \"overwrite\", \"increment\", \"error\"])\n .describe(\"How to handle existing directory conflicts\");\n\nexport const TemplateSchema = z\n .enum([\"mern\", \"pern\", \"t3\", \"uniwind\", \"none\"])\n .describe(\"Predefined project template\");\n\nexport const WxtTemplateSchema = z\n .enum([\"vanilla\", \"vue\", \"react\", \"solid\", \"svelte\"])\n .describe(\"WXT template\");\n\nexport const TuiTemplateSchema = z.enum([\"core\", \"react\", \"solid\"]).describe(\"OpenTUI template\");\n\nexport const FumadocsTemplateSchema = z\n .enum([\n \"next-mdx\",\n \"next-mdx-static\",\n \"waku\",\n \"react-router\",\n \"react-router-spa\",\n \"tanstack-start\",\n \"tanstack-start-spa\",\n \"astro\",\n ])\n .describe(\"Fumadocs template\");\n\nexport const FumadocsSearchSchema = z\n .enum([\"orama\", \"orama-cloud\"])\n .describe(\"Fumadocs search solution\");\n\nexport const FumadocsOgImageSchema = z\n .enum([\"next-og\", \"takumi\"])\n .describe(\"Fumadocs OG image generator\");\n\nexport const FumadocsAiChatSchema = z\n .enum([\"openrouter\", \"llmgateway\", \"inkeep\"])\n .describe(\"Fumadocs AI chat provider\");\n\nexport const InstallScopeSchema = z.enum([\"project\", \"global\"]).describe(\"Installation scope\");\n\nexport const McpServerSchema = z\n .enum([\n \"better-t-stack\",\n \"context7\",\n \"nx\",\n \"cloudflare-docs\",\n \"convex\",\n \"shadcn\",\n \"next-devtools\",\n \"nuxt-docs\",\n \"nuxt-ui-docs\",\n \"svelte-docs\",\n \"astro-docs\",\n \"planetscale\",\n \"neon\",\n \"supabase\",\n \"better-auth\",\n \"clerk\",\n \"expo\",\n \"polar\",\n ])\n .describe(\"MCP server to install\");\n\nexport const McpAgentSchema = z\n .enum([\n \"antigravity\",\n \"cline\",\n \"cline-cli\",\n \"cursor\",\n \"claude-code\",\n \"codex\",\n \"opencode\",\n \"gemini-cli\",\n \"github-copilot-cli\",\n \"grok-build\",\n \"mcporter\",\n \"vscode\",\n \"windsurf\",\n \"zed\",\n \"claude-desktop\",\n \"goose\",\n \"fx\",\n \"kilo-code\",\n \"kimi-code\",\n \"kiro-cli\",\n ])\n .describe(\"Agent target for MCP installation\");\n\nexport const SkillsSourceSchema = z\n .enum([\n \"vercel-labs/agent-skills\",\n \"vercel/ai\",\n \"vercel/turborepo\",\n \"yusukebe/hono-skill\",\n \"vercel/next.js\",\n \"nuxt/ui\",\n \"heroui-inc/heroui\",\n \"shadcn/ui\",\n \"better-auth/skills\",\n \"clerk/skills\",\n \"neondatabase/agent-skills\",\n \"supabase/agent-skills\",\n \"planetscale/database-skills\",\n \"expo/skills\",\n \"prisma/skills\",\n \"elysiajs/skills\",\n \"waynesutton/convexskills\",\n \"msmps/opentui-skill\",\n \"haydenbleasel/ultracite\",\n \"https://www.evlog.dev\",\n ])\n .describe(\"Skill source repository\");\n\nexport const SkillsAgentSchema = z\n .enum([\n \"universal\",\n \"adal\",\n \"aider-desk\",\n \"amp\",\n \"antigravity\",\n \"antigravity-cli\",\n \"astrbot\",\n \"augment\",\n \"autohand-code\",\n \"bob\",\n \"claude-code\",\n \"cline\",\n \"codearts-agent\",\n \"codebuddy\",\n \"codemaker\",\n \"codestudio\",\n \"codex\",\n \"command-code\",\n \"continue\",\n \"cortex\",\n \"crush\",\n \"cursor\",\n \"deepagents\",\n \"devin\",\n \"dexto\",\n \"droid\",\n \"eve\",\n \"firebender\",\n \"forgecode\",\n \"gemini-cli\",\n \"github-copilot\",\n \"goose\",\n \"grok\",\n \"hermes-agent\",\n \"iflow-cli\",\n \"inference-sh\",\n \"jazz\",\n \"junie\",\n \"kilo\",\n \"kimchi\",\n \"kimi-code-cli\",\n \"kiro-cli\",\n \"kode\",\n \"lingma\",\n \"loaf\",\n \"mcpjam\",\n \"minimax-code\",\n \"mistral-vibe\",\n \"moxby\",\n \"mux\",\n \"neovate\",\n \"ona\",\n \"clawdbot\",\n \"openclaw\",\n \"opencode\",\n \"openhands\",\n \"pi\",\n \"pochi\",\n \"posit-assistant\",\n \"promptscript\",\n \"qoder\",\n \"qoder-cn\",\n \"qwen-code\",\n \"reasonix\",\n \"replit\",\n \"roo\",\n \"rovodev\",\n \"tabnine-cli\",\n \"terramind\",\n \"tinycloud\",\n \"trae\",\n \"trae-cn\",\n \"warp\",\n \"windsurf\",\n \"zcode\",\n \"zed\",\n \"zencoder\",\n \"zenflow\",\n ])\n .describe(\n \"Agent target for skill installation; prefer universal for agents that consume .agents/skills\",\n );\n\nexport const SkillSelectionSchema = z.strictObject({\n source: SkillsSourceSchema.describe(\"Skill source to install from\"),\n skills: z.array(z.string()).describe(\"Curated skill names to install from this source\"),\n});\n\nexport const UltraciteLinterSchema = z.enum([\"biome\", \"oxlint\"]).describe(\"Ultracite linter\");\n\nexport const UltraciteEditorSchema = z\n .enum([\n \"vscode\",\n \"cursor\",\n \"windsurf\",\n \"codebuddy\",\n \"antigravity\",\n \"bob\",\n \"kiro\",\n \"trae\",\n \"void\",\n \"zed\",\n \"universal\",\n ])\n .describe(\"Ultracite editor integration\");\n\nexport const UltraciteAgentSchema = z\n .enum([\n \"universal\",\n \"claude\",\n \"codex\",\n \"jules\",\n \"replit\",\n \"devin\",\n \"lovable\",\n \"zencoder\",\n \"ona\",\n \"openclaw\",\n \"continue\",\n \"snowflake-cortex\",\n \"deepagents\",\n \"qoder\",\n \"kimi-cli\",\n \"mcpjam\",\n \"mux\",\n \"pi\",\n \"adal\",\n \"copilot\",\n \"cline\",\n \"amp\",\n \"aider\",\n \"firebase-studio\",\n \"open-hands\",\n \"gemini\",\n \"junie\",\n \"augmentcode\",\n \"bob\",\n \"kilo-code\",\n \"goose\",\n \"roo-code\",\n \"warp\",\n \"droid\",\n \"opencode\",\n \"crush\",\n \"qwen\",\n \"amazon-q-cli\",\n \"firebender\",\n \"cursor-cli\",\n \"mistral-vibe\",\n \"vercel\",\n ])\n .describe(\"Ultracite agent integration\");\n\nexport const UltraciteHookSchema = z\n .enum([\"cursor\", \"windsurf\", \"codebuddy\", \"claude\", \"copilot\"])\n .describe(\"Ultracite hook integration\");\n\nexport const DbSetupModeSchema = z\n .enum([\"manual\", \"auto\", \"alchemy\"])\n .describe(\"Database setup mode\");\n\nexport const NeonSetupMethodSchema = z\n .enum([\"neon-new\", \"neon\", \"neondb\", \"neonctl\"])\n .describe(\"Neon database provisioning method\");\n\nexport const AddonOptionsSchema = z\n .strictObject({\n wxt: z\n .strictObject({\n template: WxtTemplateSchema,\n devPort: z.number().int().min(1).max(65535).optional().describe(\"WXT dev server port\"),\n })\n .optional()\n .describe(\"Options for the WXT addon\"),\n fumadocs: z\n .strictObject({\n template: FumadocsTemplateSchema,\n devPort: z.number().int().min(1).max(65535).optional().describe(\"Fumadocs dev server port\"),\n search: FumadocsSearchSchema.optional().describe(\"Fumadocs search solution\"),\n ogImage: FumadocsOgImageSchema.optional().describe(\"Fumadocs OG image generator\"),\n aiChat: FumadocsAiChatSchema.optional().describe(\"Fumadocs AI chat provider\"),\n })\n .optional()\n .describe(\"Options for the Fumadocs addon\"),\n opentui: z\n .strictObject({\n template: TuiTemplateSchema,\n })\n .optional()\n .describe(\"Options for the OpenTUI addon\"),\n mcp: z\n .strictObject({\n scope: InstallScopeSchema.optional(),\n servers: z.array(McpServerSchema).optional().describe(\"MCP servers to install\"),\n agents: z.array(McpAgentSchema).optional().describe(\"Agents to wire MCP servers into\"),\n })\n .optional()\n .describe(\"Options for the MCP addon\"),\n skills: z\n .strictObject({\n scope: InstallScopeSchema.optional(),\n agents: z.array(SkillsAgentSchema).optional().describe(\"Agents to install skills into\"),\n selections: z.array(SkillSelectionSchema).optional().describe(\"Skills grouped by source\"),\n })\n .optional()\n .describe(\"Options for the Skills addon\"),\n ultracite: z\n .strictObject({\n linter: UltraciteLinterSchema.optional(),\n editors: z.array(UltraciteEditorSchema).optional(),\n agents: z.array(UltraciteAgentSchema).optional(),\n hooks: z.array(UltraciteHookSchema).optional(),\n })\n .optional()\n .describe(\"Options for the Ultracite addon\"),\n })\n .describe(\"Addon-specific configuration\");\n\nexport const DbSetupOptionsSchema = z\n .strictObject({\n mode: DbSetupModeSchema.optional().describe(\"How database setup should be executed\"),\n neon: z\n .strictObject({\n method: NeonSetupMethodSchema.optional(),\n projectName: z.string().min(1).optional().describe(\"Neon project name\"),\n regionId: z.string().min(1).optional().describe(\"Neon region identifier\"),\n })\n .optional()\n .describe(\"Options for Neon setup\"),\n prismaPostgres: z\n .strictObject({\n regionId: z.string().min(1).optional().describe(\"Prisma Postgres region identifier\"),\n })\n .optional()\n .describe(\"Options for Prisma Postgres setup\"),\n turso: z\n .strictObject({\n databaseName: z.string().min(1).optional().describe(\"Turso database name\"),\n groupName: z.string().min(1).optional().describe(\"Turso database group name\"),\n installCli: z\n .boolean()\n .optional()\n .describe(\"Whether the CLI may install the Turso CLI automatically\"),\n })\n .optional()\n .describe(\"Options for Turso setup\"),\n })\n .describe(\"Database setup configuration\");\n\nexport const ProjectNameSchema = z\n .string()\n .min(1, \"Project name cannot be empty\")\n .max(255, \"Project name must be less than 255 characters\")\n .refine(\n (name) => name === \".\" || !name.startsWith(\".\"),\n \"Project name cannot start with a dot (except for '.')\",\n )\n .refine((name) => name === \".\" || !name.startsWith(\"-\"), \"Project name cannot start with a dash\")\n .refine((name) => {\n const invalidChars = [\"<\", \">\", \":\", '\"', \"|\", \"?\", \"*\"];\n return !invalidChars.some((char) => name.includes(char));\n }, \"Project name contains invalid characters\")\n .refine((name) => name.toLowerCase() !== \"node_modules\", \"Project name is reserved\")\n .describe(\"Project name or path\");\n\nexport const CreateInputSchema = z\n .object({\n projectName: z.string().optional(),\n template: TemplateSchema.optional(),\n yes: z.boolean().optional(),\n yolo: z.boolean().optional(),\n dryRun: z.boolean().optional(),\n verbose: z.boolean().optional(),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema.optional(),\n orm: ORMSchema.optional(),\n auth: AuthSchema.optional(),\n payments: PaymentsSchema.optional(),\n frontend: z.array(FrontendSchema).optional(),\n addons: AddonsListSchema.optional(),\n examples: z.array(ExamplesSchema).optional(),\n git: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n install: z.boolean().optional(),\n dbSetup: DatabaseSetupSchema.optional(),\n backend: BackendSchema.optional(),\n runtime: RuntimeSchema.optional(),\n api: APISchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n directoryConflict: DirectoryConflictSchema.optional(),\n renderTitle: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n manualDb: z.boolean().optional(),\n })\n .strict()\n .refine((input) => !(input.manualDb !== undefined && input.dbSetupOptions?.mode !== undefined), {\n message: \"`manualDb` and `dbSetupOptions.mode` are mutually exclusive\",\n path: [\"dbSetupOptions\", \"mode\"],\n });\n\nexport const WorkspacePackageNameSchema = z\n .string()\n .min(1, \"Package name cannot be empty\")\n .max(214, \"Package name must not exceed 214 characters\")\n .regex(\n /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/,\n \"Package name must be an unscoped lowercase npm name\",\n )\n .refine((name) => name !== \"node_modules\", \"Package name is reserved\")\n .describe(\"Name of a workspace package to scaffold\");\n\nexport const AddInputSchema = z\n .object({\n addons: AddonsListSchema.optional(),\n package: WorkspacePackageNameSchema.optional(),\n addonOptions: AddonOptionsSchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n projectDir: z.string().optional(),\n install: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n dryRun: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n })\n .strict();\n\nexport const CLIInputSchema = CreateInputSchema.safeExtend({\n projectDirectory: z.string().optional(),\n}).strict();\n\nexport const ProjectConfigSchema = z.object({\n projectName: z.string(),\n projectDir: z.string(),\n relativePath: z.string(),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema,\n orm: ORMSchema,\n backend: BackendSchema,\n runtime: RuntimeSchema,\n frontend: z.array(FrontendSchema),\n addons: AddonsListSchema,\n examples: z.array(ExamplesSchema),\n auth: AuthSchema,\n payments: PaymentsSchema,\n git: z.boolean(),\n packageManager: PackageManagerSchema,\n install: z.boolean(),\n dbSetup: DatabaseSetupSchema,\n api: APISchema,\n webDeploy: WebDeploySchema,\n serverDeploy: ServerDeploySchema,\n});\n\nexport const BetterTStackConfigSchema = z.object({\n version: z.string().describe(\"CLI version used to create this project\"),\n createdAt: z.string().describe(\"Timestamp when the project was created\"),\n reproducibleCommand: z.string().optional().describe(\"Command to reproduce this project setup\"),\n addonOptions: AddonOptionsSchema.optional(),\n dbSetupOptions: DbSetupOptionsSchema.optional(),\n database: DatabaseSchema,\n orm: ORMSchema,\n backend: BackendSchema,\n runtime: RuntimeSchema,\n frontend: z.array(FrontendSchema),\n addons: AddonsListSchema,\n examples: z.array(ExamplesSchema),\n auth: AuthSchema,\n payments: PaymentsSchema,\n packageManager: PackageManagerSchema,\n dbSetup: DatabaseSetupSchema,\n api: APISchema,\n webDeploy: WebDeploySchema,\n serverDeploy: ServerDeploySchema,\n});\n\nexport const BetterTStackConfigFileSchema = BetterTStackConfigSchema.safeExtend({\n $schema: z.string().optional().describe(\"JSON Schema reference for validation\"),\n})\n .strict()\n .meta({\n id: \"https://r2.better-t-stack.dev/schema.json\",\n title: \"Better-T-Stack Configuration\",\n description: \"Configuration file for Better-T-Stack projects\",\n });\n\nexport const InitResultSchema = z.object({\n success: z.boolean(),\n projectConfig: ProjectConfigSchema,\n reproducibleCommand: z.string(),\n timeScaffolded: z.string(),\n elapsedTimeMs: z.number(),\n projectDirectory: z.string(),\n relativePath: z.string(),\n error: z.string().optional(),\n warnings: z.array(z.string()).optional(),\n});\n\nexport const DATABASE_VALUES = DatabaseSchema.options;\nexport const ORM_VALUES = ORMSchema.options;\nexport const BACKEND_VALUES = BackendSchema.options;\nexport const RUNTIME_VALUES = RuntimeSchema.options;\nexport const FRONTEND_VALUES = FrontendSchema.options;\nexport const ADDONS_VALUES = AddonsSchema.options;\nexport const EXAMPLES_VALUES = ExamplesSchema.options;\nexport const PACKAGE_MANAGER_VALUES = PackageManagerSchema.options;\nexport const DATABASE_SETUP_VALUES = DatabaseSetupSchema.options;\nexport const API_VALUES = APISchema.options;\nexport const AUTH_VALUES = AuthSchema.options;\nexport const PAYMENTS_VALUES = PaymentsSchema.options;\nexport const WEB_DEPLOY_VALUES = WebDeploySchema.options;\nexport const SERVER_DEPLOY_VALUES = ServerDeploySchema.options;\nexport const DIRECTORY_CONFLICT_VALUES = DirectoryConflictSchema.options;\nexport const TEMPLATE_VALUES = TemplateSchema.options;\n"],"mappings":"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,CACpD,SAAS,cAAc;AAE1B,MAAa,oBAAoB,EAAE,KAAK;CAAC;CAAQ;CAAS;AAAO,CAAC,CAAC,CAAC,SAAS,kBAAkB;AAE/F,MAAa,yBAAyB,EACnC,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,mBAAmB;AAE/B,MAAa,uBAAuB,EACjC,KAAK,CAAC,SAAS,aAAa,CAAC,CAAC,CAC9B,SAAS,0BAA0B;AAEtC,MAAa,wBAAwB,EAClC,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAC3B,SAAS,6BAA6B;AAEzC,MAAa,uBAAuB,EACjC,KAAK;CAAC;CAAc;CAAc;AAAQ,CAAC,CAAC,CAC5C,SAAS,2BAA2B;AAEvC,MAAa,qBAAqB,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,oBAAoB;AAE7F,MAAa,kBAAkB,EAC5B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,uBAAuB;AAEnC,MAAa,iBAAiB,EAC3B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,mCAAmC;AAE/C,MAAa,qBAAqB,EAC/B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,CACD,SAAS,yBAAyB;AAErC,MAAa,oBAAoB,EAC9B,KAAK;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA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"}
|