@geekmidas/cli 1.10.36 → 1.10.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{config-U-gojtxn.mjs → config-Bbu1JKvf.mjs} +2 -2
  3. package/dist/{config-U-gojtxn.mjs.map → config-Bbu1JKvf.mjs.map} +1 -1
  4. package/dist/{config-QnuOcYXp.cjs → config-DujV8DbR.cjs} +2 -2
  5. package/dist/{config-QnuOcYXp.cjs.map → config-DujV8DbR.cjs.map} +1 -1
  6. package/dist/config.cjs +2 -2
  7. package/dist/config.d.cts +1 -1
  8. package/dist/config.d.mts +1 -1
  9. package/dist/config.mjs +2 -2
  10. package/dist/{fullstack-secrets-Bchl2MDd.cjs → fullstack-secrets-BYzi6Hwl.cjs} +3 -2
  11. package/dist/{fullstack-secrets-Bchl2MDd.cjs.map → fullstack-secrets-BYzi6Hwl.cjs.map} +1 -1
  12. package/dist/{fullstack-secrets-P84v8zWn.mjs → fullstack-secrets-l8s3II_H.mjs} +3 -2
  13. package/dist/{fullstack-secrets-P84v8zWn.mjs.map → fullstack-secrets-l8s3II_H.mjs.map} +1 -1
  14. package/dist/{index-D7iT4dnv.d.mts → index-BBvGMG_A.d.mts} +124 -67
  15. package/dist/index-BBvGMG_A.d.mts.map +1 -0
  16. package/dist/{index-DRQq26DF.d.cts → index-Dz2a7xQU.d.cts} +124 -67
  17. package/dist/index-Dz2a7xQU.d.cts.map +1 -0
  18. package/dist/index.cjs +244 -91
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.mjs +244 -91
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/{openapi-Bb4UEyZN.cjs → openapi-0JUzU5Tv.cjs} +9 -2
  23. package/dist/{openapi-Bb4UEyZN.cjs.map → openapi-0JUzU5Tv.cjs.map} +1 -1
  24. package/dist/{openapi-BA0e3I_s.mjs → openapi-C5AycKTR.mjs} +10 -3
  25. package/dist/{openapi-BA0e3I_s.mjs.map → openapi-C5AycKTR.mjs.map} +1 -1
  26. package/dist/openapi.cjs +3 -3
  27. package/dist/openapi.mjs +3 -3
  28. package/dist/{reconcile-DAAKa0YR.mjs → reconcile-CYGmqXvq.mjs} +2 -2
  29. package/dist/{reconcile-DAAKa0YR.mjs.map → reconcile-CYGmqXvq.mjs.map} +1 -1
  30. package/dist/{reconcile-CZtzdrnc.cjs → reconcile-D93YG7G5.cjs} +2 -2
  31. package/dist/{reconcile-CZtzdrnc.cjs.map → reconcile-D93YG7G5.cjs.map} +1 -1
  32. package/dist/workspace/index.cjs +1 -1
  33. package/dist/workspace/index.d.cts +1 -1
  34. package/dist/workspace/index.d.mts +1 -1
  35. package/dist/workspace/index.mjs +1 -1
  36. package/dist/{workspace-BobDOIG9.cjs → workspace-CQTT7HJQ.cjs} +34 -25
  37. package/dist/workspace-CQTT7HJQ.cjs.map +1 -0
  38. package/dist/{workspace-Cgmvgwh8.mjs → workspace-D-37Ylqo.mjs} +34 -25
  39. package/dist/workspace-D-37Ylqo.mjs.map +1 -0
  40. package/docs/dev-server-resilience-design.md +189 -0
  41. package/package.json +5 -5
  42. package/src/build/__tests__/workspace-build.spec.ts +7 -7
  43. package/src/build/index.ts +25 -9
  44. package/src/credentials/__tests__/helpers.ts +1 -1
  45. package/src/credentials/__tests__/workspaceCredentials.spec.ts +1 -1
  46. package/src/deploy/__tests__/domain.spec.ts +12 -12
  47. package/src/deploy/__tests__/env-resolver.spec.ts +1 -1
  48. package/src/deploy/__tests__/index.spec.ts +14 -14
  49. package/src/deploy/__tests__/sniffer.spec.ts +9 -9
  50. package/src/deploy/domain.ts +19 -11
  51. package/src/deploy/index.ts +12 -1
  52. package/src/deploy/sniffer.ts +1 -1
  53. package/src/deploy/types.ts +1 -1
  54. package/src/dev/__tests__/index.spec.ts +11 -11
  55. package/src/dev/index.ts +14 -8
  56. package/src/docker/__tests__/compose.spec.ts +4 -4
  57. package/src/docker/compose.ts +5 -3
  58. package/src/docker/index.ts +34 -6
  59. package/src/docker/templates.ts +138 -0
  60. package/src/generators/OpenApiTsGenerator.ts +22 -0
  61. package/src/generators/__tests__/OpenApiTsGenerator.registry.spec.ts +77 -0
  62. package/src/init/__tests__/init.spec.ts +1 -1
  63. package/src/init/generators/monorepo.ts +3 -3
  64. package/src/secrets/__tests__/reconcile.spec.ts +1 -1
  65. package/src/setup/__tests__/reconcile-secrets.spec.ts +2 -2
  66. package/src/setup/fullstack-secrets.ts +7 -1
  67. package/src/setup/index.ts +2 -1
  68. package/src/test/__tests__/__fixtures__/workspace.ts +1 -1
  69. package/src/test/__tests__/web.spec.ts +2 -2
  70. package/src/workspace/__tests__/client-generator.spec.ts +6 -6
  71. package/src/workspace/__tests__/index.spec.ts +4 -4
  72. package/src/workspace/__tests__/schema.spec.ts +27 -30
  73. package/src/workspace/__tests__/type-inference.spec.ts +5 -5
  74. package/src/workspace/client-generator.ts +10 -7
  75. package/src/workspace/index.ts +1 -1
  76. package/src/workspace/publicEnv.ts +2 -4
  77. package/src/workspace/schema.ts +126 -27
  78. package/src/workspace/types.ts +40 -69
  79. package/dist/index-D7iT4dnv.d.mts.map +0 -1
  80. package/dist/index-DRQq26DF.d.cts.map +0 -1
  81. package/dist/workspace-BobDOIG9.cjs.map +0 -1
  82. package/dist/workspace-Cgmvgwh8.mjs.map +0 -1
@@ -154,6 +154,101 @@ type StateConfig = LocalStateConfig | SSMStateConfig | CustomStateConfig;
154
154
  */
155
155
  //#endregion
156
156
  //#region src/workspace/schema.d.ts
157
+ /**
158
+ * Backend framework schema for non-gkm apps.
159
+ */
160
+ declare const BackendFrameworkSchema: z.ZodEnum<{
161
+ hono: "hono";
162
+ "better-auth": "better-auth";
163
+ express: "express";
164
+ fastify: "fastify";
165
+ }>;
166
+ /**
167
+ * Backend framework types for apps that don't use gkm routes.
168
+ * Derived from {@link BackendFrameworkSchema}.
169
+ *
170
+ * Used with `entry` to specify the framework for proper Docker builds.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * // Better Auth server
175
+ * {
176
+ * entry: './src/index.ts',
177
+ * framework: 'better-auth',
178
+ * port: 3001,
179
+ * }
180
+ *
181
+ * // Hono app without gkm routes
182
+ * {
183
+ * entry: './src/server.ts',
184
+ * framework: 'hono',
185
+ * port: 3000,
186
+ * }
187
+ * ```
188
+ */
189
+ type BackendFramework = z.infer<typeof BackendFrameworkSchema>;
190
+ /**
191
+ * Frontend framework schema.
192
+ */
193
+ declare const FrontendFrameworkSchema: z.ZodEnum<{
194
+ nextjs: "nextjs";
195
+ remix: "remix";
196
+ vite: "vite";
197
+ "tanstack-start": "tanstack-start";
198
+ }>;
199
+ /**
200
+ * Frontend framework types. Derived from {@link FrontendFrameworkSchema}.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * // Next.js app
205
+ * {
206
+ * type: 'web',
207
+ * framework: 'nextjs',
208
+ * port: 3000,
209
+ * }
210
+ *
211
+ * // Vite SPA
212
+ * {
213
+ * type: 'web',
214
+ * framework: 'vite',
215
+ * port: 5173,
216
+ * }
217
+ *
218
+ * // TanStack Start (Vite-based, full-stack)
219
+ * {
220
+ * type: 'web',
221
+ * framework: 'tanstack-start',
222
+ * port: 3000,
223
+ * }
224
+ * ```
225
+ */
226
+ type FrontendFramework = z.infer<typeof FrontendFrameworkSchema>;
227
+ /**
228
+ * Mobile framework schema.
229
+ */
230
+
231
+ /**
232
+ * Combined framework schema (backend, frontend, or mobile).
233
+ */
234
+ declare const FrameworkSchema: z.ZodUnion<readonly [z.ZodEnum<{
235
+ hono: "hono";
236
+ "better-auth": "better-auth";
237
+ express: "express";
238
+ fastify: "fastify";
239
+ }>, z.ZodEnum<{
240
+ nextjs: "nextjs";
241
+ remix: "remix";
242
+ vite: "vite";
243
+ "tanstack-start": "tanstack-start";
244
+ }>, z.ZodEnum<{
245
+ expo: "expo";
246
+ }>]>;
247
+ /**
248
+ * Any framework value across backend, frontend, or mobile.
249
+ * Derived from {@link FrameworkSchema}.
250
+ */
251
+ type Framework = z.infer<typeof FrameworkSchema>;
157
252
  /**
158
253
  * Supported deploy targets (Phase 1).
159
254
  */
@@ -344,8 +439,8 @@ declare const WorkspaceConfigSchema: z.ZodObject<{
344
439
  apps: z.ZodRecord<z.ZodString, z.ZodObject<{
345
440
  type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
346
441
  backend: "backend";
347
- frontend: "frontend";
348
- auth: "auth";
442
+ web: "web";
443
+ mobile: "mobile";
349
444
  }>>>;
350
445
  path: z.ZodString;
351
446
  port: z.ZodNumber;
@@ -411,14 +506,14 @@ declare const WorkspaceConfigSchema: z.ZodObject<{
411
506
  nextjs: "nextjs";
412
507
  remix: "remix";
413
508
  vite: "vite";
509
+ "tanstack-start": "tanstack-start";
510
+ }>, z.ZodEnum<{
511
+ expo: "expo";
414
512
  }>]>>;
415
513
  config: z.ZodOptional<z.ZodObject<{
416
514
  client: z.ZodOptional<z.ZodString>;
417
515
  server: z.ZodOptional<z.ZodString>;
418
516
  }, z.core.$strip>>;
419
- provider: z.ZodOptional<z.ZodEnum<{
420
- "better-auth": "better-auth";
421
- }>>;
422
517
  }, z.core.$strip>>;
423
518
  shared: z.ZodOptional<z.ZodObject<{
424
519
  packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -697,50 +792,6 @@ declare function formatValidationErrors(error: z.ZodError): string;
697
792
  * ```
698
793
  */
699
794
  type DeployTarget = 'dokploy' | 'vercel' | 'cloudflare';
700
- /**
701
- * Backend framework types for apps that don't use gkm routes.
702
- *
703
- * Used with `entry` to specify the framework for proper Docker builds.
704
- *
705
- * @example
706
- * ```ts
707
- * // Better Auth server
708
- * {
709
- * entry: './src/index.ts',
710
- * framework: 'better-auth',
711
- * port: 3001,
712
- * }
713
- *
714
- * // Hono app without gkm routes
715
- * {
716
- * entry: './src/server.ts',
717
- * framework: 'hono',
718
- * port: 3000,
719
- * }
720
- * ```
721
- */
722
- type BackendFramework = 'hono' | 'better-auth' | 'express' | 'fastify';
723
- /**
724
- * Frontend framework types.
725
- *
726
- * @example
727
- * ```ts
728
- * // Next.js app
729
- * {
730
- * type: 'frontend',
731
- * framework: 'nextjs',
732
- * port: 3000,
733
- * }
734
- *
735
- * // Vite SPA
736
- * {
737
- * type: 'frontend',
738
- * framework: 'vite',
739
- * port: 5173,
740
- * }
741
- * ```
742
- */
743
- type FrontendFramework = 'nextjs' | 'remix' | 'vite' | 'tanstack-start' | 'expo';
744
795
  /**
745
796
  * Service image configuration for custom Docker images.
746
797
  *
@@ -1077,7 +1128,7 @@ interface SecretsConfig {
1077
1128
  *
1078
1129
  * // Frontend app
1079
1130
  * web: {
1080
- * type: 'frontend',
1131
+ * type: 'web',
1081
1132
  * path: 'apps/web',
1082
1133
  * port: 3002,
1083
1134
  * framework: 'nextjs',
@@ -1089,10 +1140,12 @@ interface AppConfigBase {
1089
1140
  /**
1090
1141
  * App type.
1091
1142
  * - 'backend': Server-side app (API, auth service, etc.)
1092
- * - 'frontend': Client-side app (Next.js, Vite, etc.)
1143
+ * - 'web': Client-side web app (Next.js, Vite, TanStack Start, etc.)
1144
+ * - 'mobile': Native mobile app (Expo). Built/deployed via its own
1145
+ * toolchain (e.g. EAS Build) — Docker/Dokploy steps are skipped.
1093
1146
  * @default 'backend'
1094
1147
  */
1095
- type?: 'backend' | 'frontend';
1148
+ type?: 'backend' | 'web' | 'mobile';
1096
1149
  /**
1097
1150
  * Path to the app relative to workspace root.
1098
1151
  * @example 'apps/api', 'apps/web', 'services/auth'
@@ -1190,29 +1243,33 @@ interface AppConfigBase {
1190
1243
  * Framework for the app.
1191
1244
  *
1192
1245
  * Backend frameworks: 'hono', 'better-auth', 'express', 'fastify'
1193
- * Frontend frameworks: 'nextjs', 'remix', 'vite'
1246
+ * Frontend frameworks: 'nextjs', 'remix', 'vite', 'tanstack-start'
1247
+ * Mobile frameworks: 'expo'
1194
1248
  *
1195
- * @example 'nextjs', 'better-auth', 'hono'
1249
+ * @example 'nextjs', 'better-auth', 'hono', 'expo'
1196
1250
  */
1197
- framework?: BackendFramework | FrontendFramework;
1251
+ framework?: Framework;
1198
1252
  /**
1199
1253
  * Config file paths for frontend environment sniffing.
1200
1254
  *
1201
1255
  * Points to file(s) that call EnvironmentParser.parse() at import time.
1202
1256
  * The sniffer imports these files and captures all env vars accessed.
1203
1257
  *
1204
- * Dependencies are auto-generated as NEXT_PUBLIC_{DEP}_URL variables.
1258
+ * Dependencies are auto-generated as public-prefixed URL vars based on
1259
+ * the app's framework (e.g. `NEXT_PUBLIC_{DEP}_URL` for Next.js,
1260
+ * `VITE_{DEP}_URL` for Vite/TanStack Start, `EXPO_PUBLIC_{DEP}_URL`
1261
+ * for Expo).
1205
1262
  *
1206
1263
  * @example
1207
1264
  * ```ts
1208
1265
  * config: {
1209
- * client: './src/config/client.ts', // NEXT_PUBLIC_* vars for browser
1210
- * server: './src/config/server.ts', // Server-only vars for SSR
1266
+ * client: './src/config/client.ts', // public-prefixed vars for browser
1267
+ * server: './src/config/server.ts', // server-only vars for SSR
1211
1268
  * }
1212
1269
  * ```
1213
1270
  */
1214
1271
  config?: {
1215
- /** Client-side config (NEXT_PUBLIC_* vars, available in browser) */
1272
+ /** Client-side config (public-prefixed vars, available in browser/device) */
1216
1273
  client?: string;
1217
1274
  /** Server-side config (all env vars, for SSR/API routes) */
1218
1275
  server?: string;
@@ -1261,7 +1318,7 @@ interface AppConfigBase {
1261
1318
  * web: {
1262
1319
  * path: 'apps/web',
1263
1320
  * port: 3002,
1264
- * type: 'frontend',
1321
+ * type: 'web',
1265
1322
  * dependencies: ['api', 'auth'], // ✓ Valid
1266
1323
  * // dependencies: ['invalid'], // ✗ Type error
1267
1324
  * },
@@ -1313,7 +1370,7 @@ type ConstrainedApps<TApps extends AppsRecord> = { [K in keyof TApps]: Omit<TApp
1313
1370
  * routes: './src/endpoints/**\/*.ts',
1314
1371
  * },
1315
1372
  * web: {
1316
- * type: 'frontend',
1373
+ * type: 'web',
1317
1374
  * path: 'apps/web',
1318
1375
  * port: 3001,
1319
1376
  * framework: 'nextjs',
@@ -1403,7 +1460,7 @@ type InferredWorkspaceConfig<TApps extends AppsRecord> = {
1403
1460
  *
1404
1461
  * // Next.js frontend
1405
1462
  * web: {
1406
- * type: 'frontend',
1463
+ * type: 'web',
1407
1464
  * path: 'apps/web',
1408
1465
  * port: 3002,
1409
1466
  * framework: 'nextjs',
@@ -1465,7 +1522,7 @@ interface WorkspaceConfig {
1465
1522
  */
1466
1523
  interface NormalizedAppConfig extends Omit<AppConfigBase, 'type'> {
1467
1524
  /** App type (always defined after normalization) */
1468
- type: 'backend' | 'frontend';
1525
+ type: 'backend' | 'web' | 'mobile';
1469
1526
  /** Path to the app */
1470
1527
  path: string;
1471
1528
  /** Development server port */
@@ -1477,7 +1534,7 @@ interface NormalizedAppConfig extends Omit<AppConfigBase, 'type'> {
1477
1534
  /** Entry file path for non-gkm apps */
1478
1535
  entry?: string;
1479
1536
  /** Framework for the app */
1480
- framework?: BackendFramework | FrontendFramework;
1537
+ framework?: Framework;
1481
1538
  /** Override domain for this app */
1482
1539
  domain?: AppDomainConfig;
1483
1540
  /** Required environment variables for entry-based apps */
@@ -1556,7 +1613,7 @@ declare const PUBLIC_ENV_PREFIXES: readonly ["NEXT_PUBLIC_", "VITE_", "EXPO_PUBL
1556
1613
  * preserve the historical default. Backend apps never read these vars
1557
1614
  * from a bundle, so the prefix only affects scaffolding/symmetry.
1558
1615
  */
1559
- declare function getPublicEnvPrefix(framework?: FrontendFramework | BackendFramework): string;
1616
+ declare function getPublicEnvPrefix(framework?: Framework): string;
1560
1617
  /**
1561
1618
  * Strip a known public prefix from a var name.
1562
1619
  * Returns the un-prefixed name, or `null` if no prefix matched.
@@ -1591,7 +1648,7 @@ declare function stripPublicPrefix(name: string): string | null;
1591
1648
  * logger: './src/logger',
1592
1649
  * },
1593
1650
  * web: {
1594
- * type: 'frontend',
1651
+ * type: 'web',
1595
1652
  * framework: 'nextjs',
1596
1653
  * path: 'apps/web',
1597
1654
  * port: 3001,
@@ -1677,4 +1734,4 @@ declare function getEndpointForStage(dokployConfig: {
1677
1734
 
1678
1735
  //#endregion
1679
1736
  export { AppConfig, AppConfigInput, AppInput, AppsRecord, BackendFramework, ConstrainedApps, DeployConfig, DeployTarget, DokployWorkspaceConfig, FrontendFramework, InferAppNames, InferredWorkspaceConfig, LoadedConfig, MailServiceConfig, ModelsConfig, NormalizedAppConfig, NormalizedWorkspace, PHASE_2_DEPLOY_TARGETS, PUBLIC_ENV_PREFIXES, SUPPORTED_DEPLOY_TARGETS, SecretsConfig, ServiceImageConfig, ServicesConfig, SharedConfig, WorkspaceConfig, WorkspaceConfigSchema, WorkspaceInput, defineWorkspace, formatValidationErrors, getAppBuildOrder, getAppGkmConfig, getDependencyEnvVars, getDeployTargetError, getEndpointForStage, getPublicEnvPrefix, isDeployTargetSupported, isPhase2DeployTarget, isWorkspaceConfig, normalizeWorkspace, processConfig, safeValidateWorkspaceConfig, stripPublicPrefix, validateWorkspaceConfig, wrapSingleAppAsWorkspace };
1680
- //# sourceMappingURL=index-D7iT4dnv.d.mts.map
1737
+ //# sourceMappingURL=index-BBvGMG_A.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BBvGMG_A.d.mts","names":[],"sources":["../src/deploy/state.ts","../src/deploy/StateProvider.ts","../src/workspace/schema.ts","../src/workspace/types.ts","../src/workspace/publicEnv.ts","../src/workspace/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAaA;AAQA;AAQA;AAkBA;AAwBA;AAAkC,UA1DjB,gBAAA,CA0DiB;EAAA,MAMnB,EAAA,MAAA;EAAM,UAMY,EAAA,MAAA;;;;;AAIlB,UAlEE,qBAAA,CAkEF;EAAM,QAEQ,EAAA,MAAA;EAAgB,UAA/B,EAAA,MAAA;;AAEQ;;;UA9DL,gBAAA;ECZA;EAAa,MAAA,EAAA,MAAA;EAAA;EAOiB,IAAzB,EAAA,MAAA;EAAO;EAQiB,IAAG,EAAA,MAAA;EAAO;EAM5C,KAAA,EAAA,MAAS;EAgCJ;EAOA,GAAA,EAAA,MAAA;EAWA;EAQL,SAAA,EAAA,MAAW;;;;;AAAwD,UDjD9D,WAAA,CCiD8D;;;;ECrClE,SAAA,EAAA,MAAA;EA8BD;EAAgB,WAAA,EAAA,MAAA;EAAA;EAAwC,cAAnC,EAAA,MAAA;EAAK;EAKzB,kBAAA,EAAA,MAKX;EA6BU;EAAiB,aAAA,EAAA,MAAA;EAAA;EAAyC,gBAApC,CAAA,EAAA,MAAA;EAAK;EA8B1B,MAAA,EAAA,MAAA;EAIX;EAAA,SAJ0B,EAAA,MAAA;;;;AAAA;AAUhB,UFjGK,iBAAA,CEiGI;EAAA,QAAA,EAAA,SAAA;EAAA,KAAkB,EAAA,MAAA;EAAe;EAAvB,SAAA,EAAA,MAAA;EAuBzB,aAAA,EAAA,MAAA;EAKA,YAAA,EFvHS,MEuHT,CAAA,MAA0D,EAAA,MAAA,CAAA;EAKhD,QAAA,EAAA;IASA,UAAA,CAAA,EAAA,MAAoB;IASpB,OAAA,CAAA,EAAA,MAAA;EAuSH,CAAA;EAGX;EAAA,cAHoC,CAAA,EF/apB,ME+aoB,CAAA,MAAA,EF/aL,gBE+aK,CAAA;EAAA;qBF7alB,eAAe;;gBAEpB,eAAe;;EE2aQ,UAAA,CAAA,EFzaxB,MEyawB,CAAA,MAAA,EFzaT,gBEyaS,CAAA;;YFva3B;;;;;;;;;AApBX;;;;;;;AAgB8B,UCtEb,aAAA,CDsEa;EAAqB;;;;AAI7B;;uBCnEA,QAAQ;;AAP9B;;;;;EAe8C,KAAG,CAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAApB,iBAAoB,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;AAAO;AAMxD;AAgCA;AAOA;AAWiB,KAlDL,SAAA,GAkDsB,WAAA,GAEvB,WAAa,GAAA,WAAA,GAAA,WAAA,GAAA,YAAA,GAAA,WAAA,GAAA,YAAA,GAAA,YAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,cAAA,GAAA,cAAA,GAAA,cAAA,GAAA,WAAA,GAAA,WAAA,GAAA,WAAA,GAAA,YAAA,GAAA,YAAA,GAAA,YAAA,GAAA,YAAA,GAAA,cAAA,GAAA,WAAA;AAMxB;;;AAA6C,UA1B5B,gBAAA,CA0B4B;EAAc,QAAG,EAAA,OAAA;AAAiB;;;;ACrClE,UDkBI,cAAA,CCbf;EAyBU,QAAA,EAAA,KAAA;EAAgB;EAAA,MAAkB,EDTrC,SCSqC;EAAsB;EAA9B,OAAA,CAAA,EAAA,MAAA;AAKtC;AAkCA;;;AAAgC,UDxCf,iBAAA,CCwCiB;EAAK;EA8B1B,QAAA,EDpEF,aCwET;;;;;AAJ0B,KD9DhB,WAAA,GAAc,gBC8DE,GD9DiB,cC8DjB,GD9DkC,iBC8DlC;AAAA;AAU5B;;;;;;;AF3JiB,cE8CJ,sBF9CoB,EE8CE,CAAA,CAAA,OF9CF,CAAA;EAQhB,IAAA,EAAA,MAAA;EAQA,aAAA,EAAA,aAAgB;EAkBhB,OAAA,EAAA,SAAW;EAwBX,OAAA,EAAA,SAAA;CAAiB,CAAA;;;;;;;;;;;AAoBZ;;;;AC1EtB;;;;;;AAewD;AAMxD;AAgCA;AAOiB,KCYL,gBAAA,GAAmB,CAAA,CAAE,KDTxB,CAAA,OCSqC,sBDT5B,CAAA;AAQlB;AAQA;;AAA0B,cCFb,uBDEa,ECFU,CAAA,CAAA,ODEV,CAAA;EAAgB,MAAG,EAAA,QAAA;EAAc,KAAG,EAAA,OAAA;EAAiB,IAAA,EAAA,MAAA;;;;ACrC/E;AA8BA;;;;AAAsC;AAKtC;AAkCA;;;;AAAuC;AA8BvC;;;;;;AAA4B;AAU5B;;;;AAA+B;AAAyB;AAuBH;AAUrC,KAzEJ,iBAAA,GAAoB,CAAA,CAAE,KAyEK,CAAA,OAzEQ,uBAyER,CAAA;AASvC;AASA;AAuSA;;;;;cApWa,iBAAe,CAAA,CAAA,mBAAA,CAAA,CAAA;MAoWU,EAAA,MAAA;EAAA,aAzFxB,EAAA,aAAA;EAAQ,OACL,EAAA,SAAA;EAAQ,OADX,EAAA,SAAA;CAAQ,CAAA,EA3QM,CAAA,CAAA,OA4QX,CAAA;EAAQ,MAAA,EAAA,QAAA;;;;;MAwFa,EAAA,MAAA;CAAA,CAAA,CAAA,CAAA;;;;;KA1V1B,SAAA,GAAY,CAAA,CAAE,aAAa;;;;cAuBjC;;;;cAKA;;;;iBAKU,uBAAA;;;;iBASA,oBAAA;;;;iBASA,oBAAA;;;;;;;;ACknBN,cD3UG,yBC2UH,ED3U4B,CAAA,CAAA,QC2U5B,CAAA,SAAA,CD3U4B,CAAA,CAAA,SC2U5B,CD3U4B,CAAA,CAAA,SC2U5B,ED3U4B,CAAA,CAAA,QC2U5B,CAAA,SAAA,CD3U4B,CAAA,CAAA,qBC2U5B,CAAA,CD3U4B,CAAA,CAAA,SC2U5B,CAAA;EAAY,QAGV,ED9U0B,CAAA,CAAA,UC8U1B,CAAA,WAAA,CAAA;EAAc,GAGf,eAAA,YAAA,CAAA;CAAa,eAGf,CAAA,aAAA,CAAA;EAAW,QAAA,EDpVkB,CAAA,CAAA,UCoVlB,CAAA,SAAA,CAAA;EASH,MAAA,eAAA,UAAoB,CAAA;IAAA,WAAA,EAAA,WAAA;IAAa,WAAA,EAAA,WAAA;IAU3B,WAAA,EAAA,WAAA;IAIV,WAAA,EAAA,WAAA;IAEH,YAAA,EAAA,YAAA;IAhBmC,WAAA,EAAA,WAAA;IAAI,YAAA,EAAA,YAAA;IA2BhC,YAAA,EAAA,YAAmB;IAAA,gBAAA,EAAA,gBAAA;IAMd,gBAAA,EAAA,gBAAA;IAAf,gBAAA,EAAA,gBAAA;IAEI,gBAAA,EAAA,gBAAA;IAEF,gBAAA,EAAA,gBAAA;IAEA,gBAAA,EAAA,gBAAA;IAEC,gBAAA,EAAA,gBAAA;IAED,cAAA,EAAA,cAAA;IAAW,cAAA,EAAA,cAAA;IAMH,cAAY,EAAA,cAAA;IAAA,WAAA,EAAA,WAAA;IAIvB,WAAA,EAAA,WAAA;IAAY,WAAA,EAAA,WAAA;IAEN,YAAA,EAAA,YAAA;IAAmB,YAAA,EAAA,YAAA;IAef,YAAA,EAAA,YAAiB;IAAA,YAAA,EAAA,YAAA;IACxB,cAAA,EAAA,cAAA;IAAY,WAAA,EAAA,WAAA;EAAe,CAAA,CAAA,CACvB;EAAe,OAAA,eAAA,YAAA,CAAA;;;;EC95Bf,QAAA,cAIH,CAAA,YAAA,CAAA;EAgBM,GAAA,eAAA,YAAkB,CAAA;AAoBlC,CAAA,eAAgB,CAAA,aAAiB,CAAA;;;YFyXR,CAAA,CAAA;IGxST,IAAA,EAAA,MAAA;IAAe,UAAA,EHuSjB,QGvSiB;IAAqB,aAAA,EHwSnC,QGxSmC;EAAU,CAAA,EACtC;IAAf,IAAA,EAAA,MAAA;IACkB,UAAA,EHqSb,QGrSa;IAAxB,aAAA,EHsSc,QGtSd;EAAuB,CAAA,CAAA;EA8BV,GAAA,eAAA,YAAkB,CAAA;CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,SAAA,wBAAA,CAAA,YAAA,CAAA;EAAA,QACzB,EH+V6B,CAAA,CAAA,UG/V7B,CAAA,WAAA,CAAA;EAAe,GAErB,eAAA,YAAA,CAAA;EAAmB,MAAA,aAAA;AA6CtB,CAAA,eAAgB,CAAA,aAAA,CAAwB;EAAA,QAAA,cAAA,CAAA,SAAA,CAAA;EAAA,MAC/B,eAAA,UAAA,CAAA;IAEN,WAAA,EAAA,WAAA;IAAmB,WAAA,EAAA,WAAA;IAyDN,WAAA,EAAa,WAAA;IAAA,WAAA,EAAA,WAAA;IACpB,YAAA,EAAA,YAAA;IAAY,WAAA,EAAA,WAAA;IAElB,YAAA,EAAA,YAAA;IAAY,YAAA,EAAA,YAAA;IA2BC,gBAAe,EAAA,gBAAA;IAAA,gBAAA,EAAA,gBAAA;IACnB,gBAAA,EAAA,gBAAA;IAET,gBAAA,EAAA,gBAAA;IAAS,gBAAA,EAAA,gBAAA;IA2BI,gBAAgB,EAAA,gBAAY;IAmC5B,gBAAA,EAAA,gBAAoB;IAAA,cAAA,EAAA,cAAA;IACxB,cAAA,EAAA,cAAA;IAGT,cAAA,EAAA,cAAA;IAAM,WAAA,EAAA,WAAA;IAgDO,WAAA,EAAA,WAAmB;;;;;;;;;;;;;;;;;;;;;YHSV,CAAA,CAAA;;gBADX;mBACG;;;gBADH;mBACG;;;;;KA6FL,SAAA,GAAY,CAAA,CAAE,aAAa;;;;;;;cAQ1B,qBAAmB,CAAA,CAAA;QAW9B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEU,aAAA,GAAgB,CAAA,CAAE,aAAa;;;;cAiL9B,uBAAqB,CAAA,CAAA;sBAsG/B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAzYsB,CAAA,CAAA;;oBADX;uBACG;;;oBADH;uBACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAQ,CAAA,CAAA;;oBADX;uBACG;;;oBADH;uBACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkLoC,CAAA,CAAA;YAAzB;aAAiB;;YAAjB;aAAiB;;;;;;;;iBA6N7B,uBAAA,mBAEb,CAAA,CAAE,aAAa;;;;iBAOF,2BAAA;;SAER,CAAA,CAAE,aAAa;UACd,CAAA,CAAE;;;;;iBAYK,sBAAA,QAA8B,CAAA,CAAE;;;AF5zBhD;AAQA;AAkBA;AAwBA;;;;;;;;;;;;AAoBsB,KG1CV,YAAA,GH0CU,SAAA,GAAA,QAAA,GAAA,YAAA;;;;AC1EtB;;;;;;AAewD;AAMxD;AAgCA;AAOiB,UEdA,kBAAA,CFiBR;EAQQ;EAQL,OAAA,CAAA,EAAA,MAAW;EAAA;EAAA,KAAG,CAAA,EAAA,MAAA;;;AAAqD;;;;ACrC/E;AA8BA;;;;AAAsC;AAKtC;AAkCA;;;;AAAuC;AA8BvC;;;AAA4B,UCpEX,iBAAA,SAA0B,kBDoEf,CAAA;;MAAA,CAAA,EAAA;IAAA,IAAA,EAAA,MAAA;IAUhB,IAAA,EAAA,MAAS;IAAA,IAAA,CAAA,EAAA,MAAA;IAAkB,IAAA,CAAA,EAAA,MAAA;EAAe,CAAA;AAAvB;AAAyB;AAuBH;AAUrD;AASA;AASA;AAuSA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAsC,UCpXrB,cAAA,CDoXqB;EAAA;EAAA,EAAA,CAAA,EAAA,OAAA,GClXtB,kBDkXsB;;oBChXnB;;mBAED;;sBAEG;;WAAkB;;;;;;;;;;;;;;;;;;;;;;ADoRtB,KC3PL,oBAAA,GAAuB,MD2PlB,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;AAwFqB;AAKtC;;;;AAA+B;AAQ/B;;;KC3UY,eAAA,YAA2B;;;;;;;;;AD2UP;AAahC;;;;AAAmC;AAiLnC;;;;;;;;;;;;;;;;;;UCveiB,sBAAA;;;;cAIJ;;;;;;;;;;YAUF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwCM,YAAA;;YAEN;;YAEA;;QAEJ;;YAEI;;;;;;;;;;;;;;;;;;UAmBM,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BA,YAAA;;;;WAIP;;;;;;;;;;;;;;;;;;UAmBO,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4CP,aAAA;;;;;;;;;;;;;;EDoBe,IADX,EAAA,MAAA;EAAQ;;;;;;;;;;;WCUZ;;;;;WAUA;;;;;cAMG;;;;;UAMJ;;;;;gBAMM;;;;;;;;;;EDrCU,MAAA,CAAA,EAAA,MAAA;;cCoDZ;;;;;UAMJ;;;;;iCAMuB;;;;;8BAMH;;;;;sBAMR;;;;;YAMV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCE;;;;;;;;;;;;;;;;;;;;;;;;;;EDwDuB;;;;;;;;;;AAiHF;AA4GlC;;;;AAEU;AAOV;;EAA2C,MAEpB,CAAA,EC9Ob,eD8Oa;EAAqB;;AACzB;AAYnB;;;;AChyBA;AAcA;EA2BiB,WAAA,CAAA,EAAA,MAAkB,EAAA;AAoDnC;;;;;;;AAU6C;AAuB7C;AAqBA;AAkCA;;;;AAc+B;AAwC/B;;;;;;AAQwB;AAmBP,UAkUA,cAlUY,CAAA,kBAAA,MAAA,GAAA,MAAA,CAAA,SAmUpB,aAnUoB,CAAA;EA4BZ;EAuBA,YAAA,CAAA,EAkRD,SAlRc,EAAA;AAO7B;;;;;AAwFQ,UA0LQ,SAAA,SAAkB,aA1L1B,CAAA;EAAM;EAMM,YAeR,CAAA,EAAA,MAAA,EAAA;;;;;AA8BF,KA+IC,QAAA,GAAW,aA/IZ,GAAA;EAAO,YAwCL,CAAA,EAAA,SAAA,MAAA,EAAA;CAAS;AAkDG;AAmCzB;;AAGgB,KAsBJ,UAAA,GAAa,MAtBT,CAAA,MAAA,EAsBwB,QAtBxB,CAAA;;AAFM;AAStB;AAQA;AAOY,KAMA,eANU,CAAA,cAMoB,UANpB,CAAA,GAAA,QAAA,MAOT,KAPS,GAOD,IAPC,CAOI,KAPJ,CAOU,CAPV,CAAA,EAAA,cAAA,CAAA,GAAA;EAAkB,YAAA,CAAA,EAAA,SAAA,CAAA,MAQP,KARO,GAAA,MAAA,CAAA,EAAA;AAAQ,CAAA,EAAjB;AAM/B;;;;;;;;AAEsC;AAqCtC;;;;;;;;;;AAcoB;AAMpB;;;;AAAiE;AAKjE;;;;;;;;AAIkB,KA7BN,cA6BM,CAAA,cA7BuB,UA6BvB,CAAA,GAAA;EAAa;EAGT,IACZ,CAAA,EAAA,MAAA;EAAY;EACI,IACf,EA/BJ,eA+BI,CA/BY,KA+BZ,CAAA;EAAa;EACJ,MAAA,CAAA,EA9BV,YA8BU;EA+FH;EAAe,MAAA,CAAA,EA3HtB,YA2HsB;EAAA;EAKD,QAAxB,CAAA,EA9HK,cA8HL;EAAM;EAGS,OAGZ,CAAA,EAlIC,aAkID;EAAY;EAGI,KAGf,CAAA,EAtIF,WAsIE;CAAa;AAGJ;AASpB;;AAAkD,KA5ItC,aA4IsC,CAAA,cA5IV,UA4IU,CAAA,GAAA,MA5IU,KA4IV,GAAA,MAAA;;;;AAAL,KAvIjC,uBAuIiC,CAAA,cAvIK,UAuIL,CAAA,GAAA;EAAI,IAAA,CAAA,EAAA,MAAA;EA2BhC,IAAA,EAAA,QAAmB,MA/JtB,KA+JsB,GA/Jd,IA+Jc,CA/JT,KA+JS,CA/JH,CA+JG,CAAA,EAAA,cAAA,CAAA,GAAA;IAMd,YAAA,CAAA,EApKJ,aAoKI,CApKU,KAoKV,CAAA,EAAA;EAAf,CAAA,EAAM;EAEY,MAEhB,CAAA,EArKC,YAqKD;EAAY,MAEZ,CAAA,EAtKC,YAsKD;EAAY,QAEX,CAAA,EAvKE,cAuKF;EAAa,OAEd,CAAA,EAxKE,aAwKF;EAAW,KAAA,CAAA,EAvKX,WAuKW;AAMpB,CAAA;;;;;ACv4BA;AAoBA;AAoBA;;;;ACiFA;;;;;;;AAE0B;AA8B1B;;;;AAGsB;AA6CtB;;;;AAGsB;AAyDtB;;;;;AAGe;AA2Bf;;;;AAGY;AA2BZ;AAmCA;;;;AAIS;AAgDT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UFiaiB,eAAA;;;;QAKV,eAAe;;WAGZ;;WAGA;;aAGE;;YAGD;;UAGF;;;;;;;;UASQ,mBAAA,SAA4B,KAAK;;;;;;;;;;wBAU3B;;;;cAIV;;WAEH;;;;;;;;;;UAWO,mBAAA;;;;;;QAMV,eAAe;;YAEX;;UAEF;;UAEA;;WAEC;;UAED;;;;;UAMQ,YAAA;;;;OAIX,YAAY;;aAEN;;;;;;;;;;;;;;iBAeI,iBAAA,SACP,YAAY,4BACR;;;;;;;AH15Bb;AAQA;AAQA;AAkBA;AAwBiB,cI9DJ,mBJ8DqB,EAAA,SAAA,CAAA,cAAA,EAAA,OAAA,EAAA,cAAA,CAAA;;;;;;;;;;;;AAoBZ;;;iBI9DN,kBAAA,aAA+B;AHZ/C;;;;AAe6B,iBGiBb,iBAAA,CHjBa,IAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;;;;;ADH7B;AAkBA;AAwBA;;;;;;;;;;;;AAoBsB;;;;AC1EtB;;;;;;AAewD;AAMxD;AAgCA;AAOA;AAWA;AAQA;;;;;AAA+E;;;;ACrC/E;AA8BA;;;AAA+B,iBGyCf,eHzCiB,CAAA,oBGyCmB,UHzCnB,CAAA,CAAA,MAAA,EG0CxB,cH1CwB,CG0CT,KH1CS,CAAA,CAAA,EG2C9B,uBH3C8B,CG2CN,KH3CM,CAAA;AAAK;AAKtC;AAkCA;AAA6B,iBGkCb,kBAAA,CHlCa,MAAA,EGmCpB,eHnCoB,EAAA,GAAA,EAAA,MAAA,CAAA,EGqC1B,mBHrC0B;;;AAAU;AA8BvC;AAIE,iBGgDc,wBAAA,CHhDd,MAAA,EGiDO,SHjDP,EAAA,GAAA,EAAA,MAAA,CAAA,EGmDC,mBHnDD;;;;;AAJ0B,iBGgHZ,aAAA,CHhHY,MAAA,EGiHnB,SHjHmB,GGiHP,eHjHO,EAAA,GAAA,EAAA,MAAA,CAAA,EGmHzB,YHnHyB;AAU5B;;;;AAA+B,iBGoIf,eAAA,CHpIe,SAAA,EGqInB,mBHrImB,EAAA,OAAA,EAAA,MAAA,CAAA,EGuI5B,SHvI4B,GAAA,SAAA;AAAyB;AAuBH;AAUrD;AASA;AASgB,iBG+GA,gBAAA,CH/GoB,SAAA,EG+GQ,mBH/GR,CAAA,EAAA,MAAA,EAAA;AAuSpC;;;;;;;;;iBGrJgB,oBAAA,YACJ,2DAGT;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDa,mBAAA;UHiGsB,CAAA,EAAA,MAAA;EAAA,SAAA,CAAA,EG/FD,MH+FC,CAAA,MAAA,EAAA,MAAA,CAAA;CAAA,GAAA,SAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
@@ -154,6 +154,101 @@ type StateConfig = LocalStateConfig | SSMStateConfig | CustomStateConfig;
154
154
  */
155
155
  //#endregion
156
156
  //#region src/workspace/schema.d.ts
157
+ /**
158
+ * Backend framework schema for non-gkm apps.
159
+ */
160
+ declare const BackendFrameworkSchema: z.ZodEnum<{
161
+ hono: "hono";
162
+ "better-auth": "better-auth";
163
+ express: "express";
164
+ fastify: "fastify";
165
+ }>;
166
+ /**
167
+ * Backend framework types for apps that don't use gkm routes.
168
+ * Derived from {@link BackendFrameworkSchema}.
169
+ *
170
+ * Used with `entry` to specify the framework for proper Docker builds.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * // Better Auth server
175
+ * {
176
+ * entry: './src/index.ts',
177
+ * framework: 'better-auth',
178
+ * port: 3001,
179
+ * }
180
+ *
181
+ * // Hono app without gkm routes
182
+ * {
183
+ * entry: './src/server.ts',
184
+ * framework: 'hono',
185
+ * port: 3000,
186
+ * }
187
+ * ```
188
+ */
189
+ type BackendFramework = z.infer<typeof BackendFrameworkSchema>;
190
+ /**
191
+ * Frontend framework schema.
192
+ */
193
+ declare const FrontendFrameworkSchema: z.ZodEnum<{
194
+ nextjs: "nextjs";
195
+ remix: "remix";
196
+ vite: "vite";
197
+ "tanstack-start": "tanstack-start";
198
+ }>;
199
+ /**
200
+ * Frontend framework types. Derived from {@link FrontendFrameworkSchema}.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * // Next.js app
205
+ * {
206
+ * type: 'web',
207
+ * framework: 'nextjs',
208
+ * port: 3000,
209
+ * }
210
+ *
211
+ * // Vite SPA
212
+ * {
213
+ * type: 'web',
214
+ * framework: 'vite',
215
+ * port: 5173,
216
+ * }
217
+ *
218
+ * // TanStack Start (Vite-based, full-stack)
219
+ * {
220
+ * type: 'web',
221
+ * framework: 'tanstack-start',
222
+ * port: 3000,
223
+ * }
224
+ * ```
225
+ */
226
+ type FrontendFramework = z.infer<typeof FrontendFrameworkSchema>;
227
+ /**
228
+ * Mobile framework schema.
229
+ */
230
+
231
+ /**
232
+ * Combined framework schema (backend, frontend, or mobile).
233
+ */
234
+ declare const FrameworkSchema: z.ZodUnion<readonly [z.ZodEnum<{
235
+ hono: "hono";
236
+ "better-auth": "better-auth";
237
+ express: "express";
238
+ fastify: "fastify";
239
+ }>, z.ZodEnum<{
240
+ nextjs: "nextjs";
241
+ remix: "remix";
242
+ vite: "vite";
243
+ "tanstack-start": "tanstack-start";
244
+ }>, z.ZodEnum<{
245
+ expo: "expo";
246
+ }>]>;
247
+ /**
248
+ * Any framework value across backend, frontend, or mobile.
249
+ * Derived from {@link FrameworkSchema}.
250
+ */
251
+ type Framework = z.infer<typeof FrameworkSchema>;
157
252
  /**
158
253
  * Supported deploy targets (Phase 1).
159
254
  */
@@ -344,8 +439,8 @@ declare const WorkspaceConfigSchema: z.ZodObject<{
344
439
  apps: z.ZodRecord<z.ZodString, z.ZodObject<{
345
440
  type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
346
441
  backend: "backend";
347
- frontend: "frontend";
348
- auth: "auth";
442
+ web: "web";
443
+ mobile: "mobile";
349
444
  }>>>;
350
445
  path: z.ZodString;
351
446
  port: z.ZodNumber;
@@ -411,14 +506,14 @@ declare const WorkspaceConfigSchema: z.ZodObject<{
411
506
  nextjs: "nextjs";
412
507
  remix: "remix";
413
508
  vite: "vite";
509
+ "tanstack-start": "tanstack-start";
510
+ }>, z.ZodEnum<{
511
+ expo: "expo";
414
512
  }>]>>;
415
513
  config: z.ZodOptional<z.ZodObject<{
416
514
  client: z.ZodOptional<z.ZodString>;
417
515
  server: z.ZodOptional<z.ZodString>;
418
516
  }, z.core.$strip>>;
419
- provider: z.ZodOptional<z.ZodEnum<{
420
- "better-auth": "better-auth";
421
- }>>;
422
517
  }, z.core.$strip>>;
423
518
  shared: z.ZodOptional<z.ZodObject<{
424
519
  packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -697,50 +792,6 @@ declare function formatValidationErrors(error: z.ZodError): string;
697
792
  * ```
698
793
  */
699
794
  type DeployTarget = 'dokploy' | 'vercel' | 'cloudflare';
700
- /**
701
- * Backend framework types for apps that don't use gkm routes.
702
- *
703
- * Used with `entry` to specify the framework for proper Docker builds.
704
- *
705
- * @example
706
- * ```ts
707
- * // Better Auth server
708
- * {
709
- * entry: './src/index.ts',
710
- * framework: 'better-auth',
711
- * port: 3001,
712
- * }
713
- *
714
- * // Hono app without gkm routes
715
- * {
716
- * entry: './src/server.ts',
717
- * framework: 'hono',
718
- * port: 3000,
719
- * }
720
- * ```
721
- */
722
- type BackendFramework = 'hono' | 'better-auth' | 'express' | 'fastify';
723
- /**
724
- * Frontend framework types.
725
- *
726
- * @example
727
- * ```ts
728
- * // Next.js app
729
- * {
730
- * type: 'frontend',
731
- * framework: 'nextjs',
732
- * port: 3000,
733
- * }
734
- *
735
- * // Vite SPA
736
- * {
737
- * type: 'frontend',
738
- * framework: 'vite',
739
- * port: 5173,
740
- * }
741
- * ```
742
- */
743
- type FrontendFramework = 'nextjs' | 'remix' | 'vite' | 'tanstack-start' | 'expo';
744
795
  /**
745
796
  * Service image configuration for custom Docker images.
746
797
  *
@@ -1077,7 +1128,7 @@ interface SecretsConfig {
1077
1128
  *
1078
1129
  * // Frontend app
1079
1130
  * web: {
1080
- * type: 'frontend',
1131
+ * type: 'web',
1081
1132
  * path: 'apps/web',
1082
1133
  * port: 3002,
1083
1134
  * framework: 'nextjs',
@@ -1089,10 +1140,12 @@ interface AppConfigBase {
1089
1140
  /**
1090
1141
  * App type.
1091
1142
  * - 'backend': Server-side app (API, auth service, etc.)
1092
- * - 'frontend': Client-side app (Next.js, Vite, etc.)
1143
+ * - 'web': Client-side web app (Next.js, Vite, TanStack Start, etc.)
1144
+ * - 'mobile': Native mobile app (Expo). Built/deployed via its own
1145
+ * toolchain (e.g. EAS Build) — Docker/Dokploy steps are skipped.
1093
1146
  * @default 'backend'
1094
1147
  */
1095
- type?: 'backend' | 'frontend';
1148
+ type?: 'backend' | 'web' | 'mobile';
1096
1149
  /**
1097
1150
  * Path to the app relative to workspace root.
1098
1151
  * @example 'apps/api', 'apps/web', 'services/auth'
@@ -1190,29 +1243,33 @@ interface AppConfigBase {
1190
1243
  * Framework for the app.
1191
1244
  *
1192
1245
  * Backend frameworks: 'hono', 'better-auth', 'express', 'fastify'
1193
- * Frontend frameworks: 'nextjs', 'remix', 'vite'
1246
+ * Frontend frameworks: 'nextjs', 'remix', 'vite', 'tanstack-start'
1247
+ * Mobile frameworks: 'expo'
1194
1248
  *
1195
- * @example 'nextjs', 'better-auth', 'hono'
1249
+ * @example 'nextjs', 'better-auth', 'hono', 'expo'
1196
1250
  */
1197
- framework?: BackendFramework | FrontendFramework;
1251
+ framework?: Framework;
1198
1252
  /**
1199
1253
  * Config file paths for frontend environment sniffing.
1200
1254
  *
1201
1255
  * Points to file(s) that call EnvironmentParser.parse() at import time.
1202
1256
  * The sniffer imports these files and captures all env vars accessed.
1203
1257
  *
1204
- * Dependencies are auto-generated as NEXT_PUBLIC_{DEP}_URL variables.
1258
+ * Dependencies are auto-generated as public-prefixed URL vars based on
1259
+ * the app's framework (e.g. `NEXT_PUBLIC_{DEP}_URL` for Next.js,
1260
+ * `VITE_{DEP}_URL` for Vite/TanStack Start, `EXPO_PUBLIC_{DEP}_URL`
1261
+ * for Expo).
1205
1262
  *
1206
1263
  * @example
1207
1264
  * ```ts
1208
1265
  * config: {
1209
- * client: './src/config/client.ts', // NEXT_PUBLIC_* vars for browser
1210
- * server: './src/config/server.ts', // Server-only vars for SSR
1266
+ * client: './src/config/client.ts', // public-prefixed vars for browser
1267
+ * server: './src/config/server.ts', // server-only vars for SSR
1211
1268
  * }
1212
1269
  * ```
1213
1270
  */
1214
1271
  config?: {
1215
- /** Client-side config (NEXT_PUBLIC_* vars, available in browser) */
1272
+ /** Client-side config (public-prefixed vars, available in browser/device) */
1216
1273
  client?: string;
1217
1274
  /** Server-side config (all env vars, for SSR/API routes) */
1218
1275
  server?: string;
@@ -1261,7 +1318,7 @@ interface AppConfigBase {
1261
1318
  * web: {
1262
1319
  * path: 'apps/web',
1263
1320
  * port: 3002,
1264
- * type: 'frontend',
1321
+ * type: 'web',
1265
1322
  * dependencies: ['api', 'auth'], // ✓ Valid
1266
1323
  * // dependencies: ['invalid'], // ✗ Type error
1267
1324
  * },
@@ -1313,7 +1370,7 @@ type ConstrainedApps<TApps extends AppsRecord> = { [K in keyof TApps]: Omit<TApp
1313
1370
  * routes: './src/endpoints/**\/*.ts',
1314
1371
  * },
1315
1372
  * web: {
1316
- * type: 'frontend',
1373
+ * type: 'web',
1317
1374
  * path: 'apps/web',
1318
1375
  * port: 3001,
1319
1376
  * framework: 'nextjs',
@@ -1403,7 +1460,7 @@ type InferredWorkspaceConfig<TApps extends AppsRecord> = {
1403
1460
  *
1404
1461
  * // Next.js frontend
1405
1462
  * web: {
1406
- * type: 'frontend',
1463
+ * type: 'web',
1407
1464
  * path: 'apps/web',
1408
1465
  * port: 3002,
1409
1466
  * framework: 'nextjs',
@@ -1465,7 +1522,7 @@ interface WorkspaceConfig {
1465
1522
  */
1466
1523
  interface NormalizedAppConfig extends Omit<AppConfigBase, 'type'> {
1467
1524
  /** App type (always defined after normalization) */
1468
- type: 'backend' | 'frontend';
1525
+ type: 'backend' | 'web' | 'mobile';
1469
1526
  /** Path to the app */
1470
1527
  path: string;
1471
1528
  /** Development server port */
@@ -1477,7 +1534,7 @@ interface NormalizedAppConfig extends Omit<AppConfigBase, 'type'> {
1477
1534
  /** Entry file path for non-gkm apps */
1478
1535
  entry?: string;
1479
1536
  /** Framework for the app */
1480
- framework?: BackendFramework | FrontendFramework;
1537
+ framework?: Framework;
1481
1538
  /** Override domain for this app */
1482
1539
  domain?: AppDomainConfig;
1483
1540
  /** Required environment variables for entry-based apps */
@@ -1556,7 +1613,7 @@ declare const PUBLIC_ENV_PREFIXES: readonly ["NEXT_PUBLIC_", "VITE_", "EXPO_PUBL
1556
1613
  * preserve the historical default. Backend apps never read these vars
1557
1614
  * from a bundle, so the prefix only affects scaffolding/symmetry.
1558
1615
  */
1559
- declare function getPublicEnvPrefix(framework?: FrontendFramework | BackendFramework): string;
1616
+ declare function getPublicEnvPrefix(framework?: Framework): string;
1560
1617
  /**
1561
1618
  * Strip a known public prefix from a var name.
1562
1619
  * Returns the un-prefixed name, or `null` if no prefix matched.
@@ -1591,7 +1648,7 @@ declare function stripPublicPrefix(name: string): string | null;
1591
1648
  * logger: './src/logger',
1592
1649
  * },
1593
1650
  * web: {
1594
- * type: 'frontend',
1651
+ * type: 'web',
1595
1652
  * framework: 'nextjs',
1596
1653
  * path: 'apps/web',
1597
1654
  * port: 3001,
@@ -1677,4 +1734,4 @@ declare function getEndpointForStage(dokployConfig: {
1677
1734
 
1678
1735
  //#endregion
1679
1736
  export { AppConfig, AppConfigInput, AppInput, AppsRecord, BackendFramework, ConstrainedApps, DeployConfig, DeployTarget, DokployWorkspaceConfig, FrontendFramework, InferAppNames, InferredWorkspaceConfig, LoadedConfig, MailServiceConfig, ModelsConfig, NormalizedAppConfig, NormalizedWorkspace, PHASE_2_DEPLOY_TARGETS, PUBLIC_ENV_PREFIXES, SUPPORTED_DEPLOY_TARGETS, SecretsConfig, ServiceImageConfig, ServicesConfig, SharedConfig, WorkspaceConfig, WorkspaceConfigSchema, WorkspaceInput, defineWorkspace, formatValidationErrors, getAppBuildOrder, getAppGkmConfig, getDependencyEnvVars, getDeployTargetError, getEndpointForStage, getPublicEnvPrefix, isDeployTargetSupported, isPhase2DeployTarget, isWorkspaceConfig, normalizeWorkspace, processConfig, safeValidateWorkspaceConfig, stripPublicPrefix, validateWorkspaceConfig, wrapSingleAppAsWorkspace };
1680
- //# sourceMappingURL=index-DRQq26DF.d.cts.map
1737
+ //# sourceMappingURL=index-Dz2a7xQU.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Dz2a7xQU.d.cts","names":[],"sources":["../src/deploy/state.ts","../src/deploy/StateProvider.ts","../src/workspace/schema.ts","../src/workspace/types.ts","../src/workspace/publicEnv.ts","../src/workspace/index.ts"],"sourcesContent":[],"mappings":"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"}