@zigrivers/scaffold 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +127 -12
  2. package/content/knowledge/backend/backend-api-design.md +103 -0
  3. package/content/knowledge/backend/backend-architecture.md +100 -0
  4. package/content/knowledge/backend/backend-async-patterns.md +101 -0
  5. package/content/knowledge/backend/backend-auth-patterns.md +100 -0
  6. package/content/knowledge/backend/backend-conventions.md +105 -0
  7. package/content/knowledge/backend/backend-data-modeling.md +102 -0
  8. package/content/knowledge/backend/backend-deployment.md +100 -0
  9. package/content/knowledge/backend/backend-dev-environment.md +102 -0
  10. package/content/knowledge/backend/backend-observability.md +102 -0
  11. package/content/knowledge/backend/backend-project-structure.md +100 -0
  12. package/content/knowledge/backend/backend-requirements.md +103 -0
  13. package/content/knowledge/backend/backend-security.md +104 -0
  14. package/content/knowledge/backend/backend-testing.md +101 -0
  15. package/content/knowledge/backend/backend-worker-patterns.md +100 -0
  16. package/content/knowledge/cli/cli-architecture.md +101 -0
  17. package/content/knowledge/cli/cli-conventions.md +117 -0
  18. package/content/knowledge/cli/cli-dev-environment.md +121 -0
  19. package/content/knowledge/cli/cli-distribution-patterns.md +106 -0
  20. package/content/knowledge/cli/cli-interactivity-patterns.md +116 -0
  21. package/content/knowledge/cli/cli-output-patterns.md +107 -0
  22. package/content/knowledge/cli/cli-project-structure.md +124 -0
  23. package/content/knowledge/cli/cli-requirements.md +101 -0
  24. package/content/knowledge/cli/cli-shell-integration.md +130 -0
  25. package/content/knowledge/cli/cli-testing.md +134 -0
  26. package/content/knowledge/library/library-api-design.md +306 -0
  27. package/content/knowledge/library/library-architecture.md +247 -0
  28. package/content/knowledge/library/library-bundling.md +244 -0
  29. package/content/knowledge/library/library-conventions.md +229 -0
  30. package/content/knowledge/library/library-dev-environment.md +220 -0
  31. package/content/knowledge/library/library-documentation.md +300 -0
  32. package/content/knowledge/library/library-project-structure.md +237 -0
  33. package/content/knowledge/library/library-requirements.md +173 -0
  34. package/content/knowledge/library/library-security.md +257 -0
  35. package/content/knowledge/library/library-testing.md +319 -0
  36. package/content/knowledge/library/library-type-definitions.md +284 -0
  37. package/content/knowledge/library/library-versioning.md +300 -0
  38. package/content/knowledge/mobile-app/mobile-app-architecture.md +283 -0
  39. package/content/knowledge/mobile-app/mobile-app-conventions.md +180 -0
  40. package/content/knowledge/mobile-app/mobile-app-deployment.md +298 -0
  41. package/content/knowledge/mobile-app/mobile-app-dev-environment.md +257 -0
  42. package/content/knowledge/mobile-app/mobile-app-distribution.md +264 -0
  43. package/content/knowledge/mobile-app/mobile-app-observability.md +317 -0
  44. package/content/knowledge/mobile-app/mobile-app-offline-patterns.md +311 -0
  45. package/content/knowledge/mobile-app/mobile-app-project-structure.md +245 -0
  46. package/content/knowledge/mobile-app/mobile-app-push-notifications.md +321 -0
  47. package/content/knowledge/mobile-app/mobile-app-requirements.md +147 -0
  48. package/content/knowledge/mobile-app/mobile-app-security.md +338 -0
  49. package/content/knowledge/mobile-app/mobile-app-testing.md +400 -0
  50. package/content/knowledge/web-app/web-app-api-patterns.md +224 -0
  51. package/content/knowledge/web-app/web-app-architecture.md +116 -0
  52. package/content/knowledge/web-app/web-app-auth-patterns.md +256 -0
  53. package/content/knowledge/web-app/web-app-conventions.md +121 -0
  54. package/content/knowledge/web-app/web-app-data-patterns.md +218 -0
  55. package/content/knowledge/web-app/web-app-deployment-workflow.md +143 -0
  56. package/content/knowledge/web-app/web-app-deployment.md +134 -0
  57. package/content/knowledge/web-app/web-app-design-system.md +158 -0
  58. package/content/knowledge/web-app/web-app-dev-environment.md +173 -0
  59. package/content/knowledge/web-app/web-app-observability.md +221 -0
  60. package/content/knowledge/web-app/web-app-project-structure.md +160 -0
  61. package/content/knowledge/web-app/web-app-rendering-strategies.md +133 -0
  62. package/content/knowledge/web-app/web-app-requirements.md +112 -0
  63. package/content/knowledge/web-app/web-app-security.md +193 -0
  64. package/content/knowledge/web-app/web-app-session-patterns.md +214 -0
  65. package/content/knowledge/web-app/web-app-testing.md +249 -0
  66. package/content/knowledge/web-app/web-app-ux-patterns.md +162 -0
  67. package/content/methodology/backend-overlay.yml +73 -0
  68. package/content/methodology/cli-overlay.yml +69 -0
  69. package/content/methodology/library-overlay.yml +67 -0
  70. package/content/methodology/mobile-app-overlay.yml +71 -0
  71. package/content/methodology/web-app-overlay.yml +79 -0
  72. package/dist/cli/commands/init.d.ts +21 -0
  73. package/dist/cli/commands/init.d.ts.map +1 -1
  74. package/dist/cli/commands/init.js +261 -13
  75. package/dist/cli/commands/init.js.map +1 -1
  76. package/dist/cli/commands/init.test.js +206 -0
  77. package/dist/cli/commands/init.test.js.map +1 -1
  78. package/dist/config/schema.d.ts +1392 -64
  79. package/dist/config/schema.d.ts.map +1 -1
  80. package/dist/config/schema.js +82 -5
  81. package/dist/config/schema.js.map +1 -1
  82. package/dist/config/schema.test.js +302 -1
  83. package/dist/config/schema.test.js.map +1 -1
  84. package/dist/core/assembly/overlay-loader.d.ts.map +1 -1
  85. package/dist/core/assembly/overlay-loader.js +2 -1
  86. package/dist/core/assembly/overlay-loader.js.map +1 -1
  87. package/dist/core/assembly/overlay-loader.test.js +56 -0
  88. package/dist/core/assembly/overlay-loader.test.js.map +1 -1
  89. package/dist/e2e/game-pipeline.test.js +1 -0
  90. package/dist/e2e/game-pipeline.test.js.map +1 -1
  91. package/dist/e2e/project-type-overlays.test.d.ts +16 -0
  92. package/dist/e2e/project-type-overlays.test.d.ts.map +1 -0
  93. package/dist/e2e/project-type-overlays.test.js +834 -0
  94. package/dist/e2e/project-type-overlays.test.js.map +1 -0
  95. package/dist/types/config.d.ts +19 -2
  96. package/dist/types/config.d.ts.map +1 -1
  97. package/dist/types/index.d.ts +0 -1
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +0 -1
  100. package/dist/types/index.js.map +1 -1
  101. package/dist/wizard/questions.d.ts +27 -1
  102. package/dist/wizard/questions.d.ts.map +1 -1
  103. package/dist/wizard/questions.js +142 -3
  104. package/dist/wizard/questions.js.map +1 -1
  105. package/dist/wizard/questions.test.js +206 -8
  106. package/dist/wizard/questions.test.js.map +1 -1
  107. package/dist/wizard/wizard.d.ts +21 -0
  108. package/dist/wizard/wizard.d.ts.map +1 -1
  109. package/dist/wizard/wizard.js +27 -1
  110. package/dist/wizard/wizard.js.map +1 -1
  111. package/package.json +1 -1
  112. package/dist/types/wizard.d.ts +0 -14
  113. package/dist/types/wizard.d.ts.map +0 -1
  114. package/dist/types/wizard.js +0 -2
  115. package/dist/types/wizard.js.map +0 -1
@@ -1,5 +1,88 @@
1
1
  import { z } from 'zod';
2
2
  export declare const ProjectTypeSchema: z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>;
3
+ export declare const WebAppConfigSchema: z.ZodObject<{
4
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
5
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
6
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
7
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
8
+ }, "strict", z.ZodTypeAny, {
9
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
10
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
11
+ realtime: "none" | "websocket" | "sse";
12
+ authFlow: "none" | "session" | "oauth" | "passkey";
13
+ }, {
14
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
15
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
16
+ realtime?: "none" | "websocket" | "sse" | undefined;
17
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
18
+ }>;
19
+ export declare const BackendConfigSchema: z.ZodObject<{
20
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
21
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
22
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
23
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
24
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
25
+ }, "strict", z.ZodTypeAny, {
26
+ deployTarget: "serverless" | "container" | "long-running";
27
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
28
+ dataStore: ("relational" | "document" | "key-value")[];
29
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
30
+ asyncMessaging: "none" | "queue" | "event-driven";
31
+ }, {
32
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
33
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
34
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
35
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
36
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
37
+ }>;
38
+ export declare const CliConfigSchema: z.ZodObject<{
39
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
40
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
41
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ interactivity: "interactive" | "hybrid" | "args-only";
44
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
45
+ hasStructuredOutput: boolean;
46
+ }, {
47
+ interactivity: "interactive" | "hybrid" | "args-only";
48
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
49
+ hasStructuredOutput?: boolean | undefined;
50
+ }>;
51
+ export declare const LibraryConfigSchema: z.ZodObject<{
52
+ visibility: z.ZodEnum<["public", "internal"]>;
53
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
54
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
55
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
56
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
57
+ }, "strict", z.ZodTypeAny, {
58
+ visibility: "public" | "internal";
59
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
60
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
61
+ hasTypeDefinitions: boolean;
62
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
63
+ }, {
64
+ visibility: "public" | "internal";
65
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
66
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
67
+ hasTypeDefinitions?: boolean | undefined;
68
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
69
+ }>;
70
+ export declare const MobileAppConfigSchema: z.ZodObject<{
71
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
72
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
73
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
74
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
75
+ }, "strict", z.ZodTypeAny, {
76
+ platform: "ios" | "android" | "cross-platform";
77
+ distributionModel: "public" | "private" | "mixed";
78
+ offlineSupport: "none" | "cache" | "offline-first";
79
+ hasPushNotifications: boolean;
80
+ }, {
81
+ platform: "ios" | "android" | "cross-platform";
82
+ distributionModel?: "public" | "private" | "mixed" | undefined;
83
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
84
+ hasPushNotifications?: boolean | undefined;
85
+ }>;
3
86
  export declare const GameConfigSchema: z.ZodObject<{
4
87
  engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
5
88
  multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
@@ -14,25 +97,25 @@ export declare const GameConfigSchema: z.ZodObject<{
14
97
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
15
98
  }, "strict", z.ZodTypeAny, {
16
99
  engine: "custom" | "unity" | "unreal" | "godot";
17
- multiplayerMode: "none" | "local" | "online" | "hybrid";
100
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
18
101
  narrative: "none" | "light" | "heavy";
19
102
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
20
103
  economy: "none" | "progression" | "monetized" | "both";
21
104
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
22
105
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
23
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
106
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
24
107
  supportedLocales: string[];
25
108
  hasModding: boolean;
26
109
  npcAiComplexity: "none" | "simple" | "complex";
27
110
  }, {
28
111
  engine: "custom" | "unity" | "unreal" | "godot";
29
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
112
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
30
113
  narrative?: "none" | "light" | "heavy" | undefined;
31
114
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
32
115
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
33
116
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
34
117
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
35
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
118
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
36
119
  supportedLocales?: string[] | undefined;
37
120
  hasModding?: boolean | undefined;
38
121
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
@@ -84,29 +167,112 @@ export declare const ConfigSchema: z.ZodObject<{
84
167
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
85
168
  }, "strict", z.ZodTypeAny, {
86
169
  engine: "custom" | "unity" | "unreal" | "godot";
87
- multiplayerMode: "none" | "local" | "online" | "hybrid";
170
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
88
171
  narrative: "none" | "light" | "heavy";
89
172
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
90
173
  economy: "none" | "progression" | "monetized" | "both";
91
174
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
92
175
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
93
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
176
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
94
177
  supportedLocales: string[];
95
178
  hasModding: boolean;
96
179
  npcAiComplexity: "none" | "simple" | "complex";
97
180
  }, {
98
181
  engine: "custom" | "unity" | "unreal" | "godot";
99
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
182
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
100
183
  narrative?: "none" | "light" | "heavy" | undefined;
101
184
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
102
185
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
103
186
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
104
187
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
105
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
188
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
106
189
  supportedLocales?: string[] | undefined;
107
190
  hasModding?: boolean | undefined;
108
191
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
109
192
  }>>;
193
+ webAppConfig: z.ZodOptional<z.ZodObject<{
194
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
195
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
196
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
197
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
198
+ }, "strict", z.ZodTypeAny, {
199
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
200
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
201
+ realtime: "none" | "websocket" | "sse";
202
+ authFlow: "none" | "session" | "oauth" | "passkey";
203
+ }, {
204
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
205
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
206
+ realtime?: "none" | "websocket" | "sse" | undefined;
207
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
208
+ }>>;
209
+ backendConfig: z.ZodOptional<z.ZodObject<{
210
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
211
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
212
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
213
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
214
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
215
+ }, "strict", z.ZodTypeAny, {
216
+ deployTarget: "serverless" | "container" | "long-running";
217
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
218
+ dataStore: ("relational" | "document" | "key-value")[];
219
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
220
+ asyncMessaging: "none" | "queue" | "event-driven";
221
+ }, {
222
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
223
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
224
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
225
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
226
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
227
+ }>>;
228
+ cliConfig: z.ZodOptional<z.ZodObject<{
229
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
230
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
231
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
232
+ }, "strict", z.ZodTypeAny, {
233
+ interactivity: "interactive" | "hybrid" | "args-only";
234
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
235
+ hasStructuredOutput: boolean;
236
+ }, {
237
+ interactivity: "interactive" | "hybrid" | "args-only";
238
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
239
+ hasStructuredOutput?: boolean | undefined;
240
+ }>>;
241
+ libraryConfig: z.ZodOptional<z.ZodObject<{
242
+ visibility: z.ZodEnum<["public", "internal"]>;
243
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
244
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
245
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
246
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
247
+ }, "strict", z.ZodTypeAny, {
248
+ visibility: "public" | "internal";
249
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
250
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
251
+ hasTypeDefinitions: boolean;
252
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
253
+ }, {
254
+ visibility: "public" | "internal";
255
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
256
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
257
+ hasTypeDefinitions?: boolean | undefined;
258
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
259
+ }>>;
260
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
261
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
262
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
263
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
264
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
265
+ }, "strict", z.ZodTypeAny, {
266
+ platform: "ios" | "android" | "cross-platform";
267
+ distributionModel: "public" | "private" | "mixed";
268
+ offlineSupport: "none" | "cache" | "offline-first";
269
+ hasPushNotifications: boolean;
270
+ }, {
271
+ platform: "ios" | "android" | "cross-platform";
272
+ distributionModel?: "public" | "private" | "mixed" | undefined;
273
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
274
+ hasPushNotifications?: boolean | undefined;
275
+ }>>;
110
276
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
111
277
  name: z.ZodOptional<z.ZodString>;
112
278
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -125,29 +291,112 @@ export declare const ConfigSchema: z.ZodObject<{
125
291
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
126
292
  }, "strict", z.ZodTypeAny, {
127
293
  engine: "custom" | "unity" | "unreal" | "godot";
128
- multiplayerMode: "none" | "local" | "online" | "hybrid";
294
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
129
295
  narrative: "none" | "light" | "heavy";
130
296
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
131
297
  economy: "none" | "progression" | "monetized" | "both";
132
298
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
133
299
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
134
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
300
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
135
301
  supportedLocales: string[];
136
302
  hasModding: boolean;
137
303
  npcAiComplexity: "none" | "simple" | "complex";
138
304
  }, {
139
305
  engine: "custom" | "unity" | "unreal" | "godot";
140
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
306
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
141
307
  narrative?: "none" | "light" | "heavy" | undefined;
142
308
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
143
309
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
144
310
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
145
311
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
146
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
312
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
147
313
  supportedLocales?: string[] | undefined;
148
314
  hasModding?: boolean | undefined;
149
315
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
150
316
  }>>;
317
+ webAppConfig: z.ZodOptional<z.ZodObject<{
318
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
319
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
320
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
321
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
322
+ }, "strict", z.ZodTypeAny, {
323
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
324
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
325
+ realtime: "none" | "websocket" | "sse";
326
+ authFlow: "none" | "session" | "oauth" | "passkey";
327
+ }, {
328
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
329
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
330
+ realtime?: "none" | "websocket" | "sse" | undefined;
331
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
332
+ }>>;
333
+ backendConfig: z.ZodOptional<z.ZodObject<{
334
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
335
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
336
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
337
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
338
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
339
+ }, "strict", z.ZodTypeAny, {
340
+ deployTarget: "serverless" | "container" | "long-running";
341
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
342
+ dataStore: ("relational" | "document" | "key-value")[];
343
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
344
+ asyncMessaging: "none" | "queue" | "event-driven";
345
+ }, {
346
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
347
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
348
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
349
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
350
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
351
+ }>>;
352
+ cliConfig: z.ZodOptional<z.ZodObject<{
353
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
354
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
355
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
356
+ }, "strict", z.ZodTypeAny, {
357
+ interactivity: "interactive" | "hybrid" | "args-only";
358
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
359
+ hasStructuredOutput: boolean;
360
+ }, {
361
+ interactivity: "interactive" | "hybrid" | "args-only";
362
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
363
+ hasStructuredOutput?: boolean | undefined;
364
+ }>>;
365
+ libraryConfig: z.ZodOptional<z.ZodObject<{
366
+ visibility: z.ZodEnum<["public", "internal"]>;
367
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
368
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
369
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
370
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
371
+ }, "strict", z.ZodTypeAny, {
372
+ visibility: "public" | "internal";
373
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
374
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
375
+ hasTypeDefinitions: boolean;
376
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
377
+ }, {
378
+ visibility: "public" | "internal";
379
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
380
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
381
+ hasTypeDefinitions?: boolean | undefined;
382
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
383
+ }>>;
384
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
385
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
386
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
387
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
388
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
389
+ }, "strict", z.ZodTypeAny, {
390
+ platform: "ios" | "android" | "cross-platform";
391
+ distributionModel: "public" | "private" | "mixed";
392
+ offlineSupport: "none" | "cache" | "offline-first";
393
+ hasPushNotifications: boolean;
394
+ }, {
395
+ platform: "ios" | "android" | "cross-platform";
396
+ distributionModel?: "public" | "private" | "mixed" | undefined;
397
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
398
+ hasPushNotifications?: boolean | undefined;
399
+ }>>;
151
400
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
152
401
  name: z.ZodOptional<z.ZodString>;
153
402
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -166,29 +415,112 @@ export declare const ConfigSchema: z.ZodObject<{
166
415
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
167
416
  }, "strict", z.ZodTypeAny, {
168
417
  engine: "custom" | "unity" | "unreal" | "godot";
169
- multiplayerMode: "none" | "local" | "online" | "hybrid";
418
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
170
419
  narrative: "none" | "light" | "heavy";
171
420
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
172
421
  economy: "none" | "progression" | "monetized" | "both";
173
422
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
174
423
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
175
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
424
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
176
425
  supportedLocales: string[];
177
426
  hasModding: boolean;
178
427
  npcAiComplexity: "none" | "simple" | "complex";
179
428
  }, {
180
429
  engine: "custom" | "unity" | "unreal" | "godot";
181
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
430
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
182
431
  narrative?: "none" | "light" | "heavy" | undefined;
183
432
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
184
433
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
185
434
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
186
435
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
187
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
436
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
188
437
  supportedLocales?: string[] | undefined;
189
438
  hasModding?: boolean | undefined;
190
439
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
191
440
  }>>;
441
+ webAppConfig: z.ZodOptional<z.ZodObject<{
442
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
443
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
444
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
445
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
446
+ }, "strict", z.ZodTypeAny, {
447
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
448
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
449
+ realtime: "none" | "websocket" | "sse";
450
+ authFlow: "none" | "session" | "oauth" | "passkey";
451
+ }, {
452
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
453
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
454
+ realtime?: "none" | "websocket" | "sse" | undefined;
455
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
456
+ }>>;
457
+ backendConfig: z.ZodOptional<z.ZodObject<{
458
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
459
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
460
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
461
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
462
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
463
+ }, "strict", z.ZodTypeAny, {
464
+ deployTarget: "serverless" | "container" | "long-running";
465
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
466
+ dataStore: ("relational" | "document" | "key-value")[];
467
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
468
+ asyncMessaging: "none" | "queue" | "event-driven";
469
+ }, {
470
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
471
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
472
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
473
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
474
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
475
+ }>>;
476
+ cliConfig: z.ZodOptional<z.ZodObject<{
477
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
478
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
479
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
480
+ }, "strict", z.ZodTypeAny, {
481
+ interactivity: "interactive" | "hybrid" | "args-only";
482
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
483
+ hasStructuredOutput: boolean;
484
+ }, {
485
+ interactivity: "interactive" | "hybrid" | "args-only";
486
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
487
+ hasStructuredOutput?: boolean | undefined;
488
+ }>>;
489
+ libraryConfig: z.ZodOptional<z.ZodObject<{
490
+ visibility: z.ZodEnum<["public", "internal"]>;
491
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
492
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
493
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
494
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
495
+ }, "strict", z.ZodTypeAny, {
496
+ visibility: "public" | "internal";
497
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
498
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
499
+ hasTypeDefinitions: boolean;
500
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
501
+ }, {
502
+ visibility: "public" | "internal";
503
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
504
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
505
+ hasTypeDefinitions?: boolean | undefined;
506
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
507
+ }>>;
508
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
509
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
510
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
511
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
512
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
513
+ }, "strict", z.ZodTypeAny, {
514
+ platform: "ios" | "android" | "cross-platform";
515
+ distributionModel: "public" | "private" | "mixed";
516
+ offlineSupport: "none" | "cache" | "offline-first";
517
+ hasPushNotifications: boolean;
518
+ }, {
519
+ platform: "ios" | "android" | "cross-platform";
520
+ distributionModel?: "public" | "private" | "mixed" | undefined;
521
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
522
+ hasPushNotifications?: boolean | undefined;
523
+ }>>;
192
524
  }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
193
525
  name: z.ZodOptional<z.ZodString>;
194
526
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -207,29 +539,112 @@ export declare const ConfigSchema: z.ZodObject<{
207
539
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
208
540
  }, "strict", z.ZodTypeAny, {
209
541
  engine: "custom" | "unity" | "unreal" | "godot";
210
- multiplayerMode: "none" | "local" | "online" | "hybrid";
542
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
211
543
  narrative: "none" | "light" | "heavy";
212
544
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
213
545
  economy: "none" | "progression" | "monetized" | "both";
214
546
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
215
547
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
216
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
548
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
217
549
  supportedLocales: string[];
218
550
  hasModding: boolean;
219
551
  npcAiComplexity: "none" | "simple" | "complex";
220
552
  }, {
221
553
  engine: "custom" | "unity" | "unreal" | "godot";
222
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
554
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
223
555
  narrative?: "none" | "light" | "heavy" | undefined;
224
556
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
225
557
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
226
558
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
227
559
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
228
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
560
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
229
561
  supportedLocales?: string[] | undefined;
230
562
  hasModding?: boolean | undefined;
231
563
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
232
564
  }>>;
565
+ webAppConfig: z.ZodOptional<z.ZodObject<{
566
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
567
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
568
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
569
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
570
+ }, "strict", z.ZodTypeAny, {
571
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
572
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
573
+ realtime: "none" | "websocket" | "sse";
574
+ authFlow: "none" | "session" | "oauth" | "passkey";
575
+ }, {
576
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
577
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
578
+ realtime?: "none" | "websocket" | "sse" | undefined;
579
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
580
+ }>>;
581
+ backendConfig: z.ZodOptional<z.ZodObject<{
582
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
583
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
584
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
585
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
586
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
587
+ }, "strict", z.ZodTypeAny, {
588
+ deployTarget: "serverless" | "container" | "long-running";
589
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
590
+ dataStore: ("relational" | "document" | "key-value")[];
591
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
592
+ asyncMessaging: "none" | "queue" | "event-driven";
593
+ }, {
594
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
595
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
596
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
597
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
598
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
599
+ }>>;
600
+ cliConfig: z.ZodOptional<z.ZodObject<{
601
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
602
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
603
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
604
+ }, "strict", z.ZodTypeAny, {
605
+ interactivity: "interactive" | "hybrid" | "args-only";
606
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
607
+ hasStructuredOutput: boolean;
608
+ }, {
609
+ interactivity: "interactive" | "hybrid" | "args-only";
610
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
611
+ hasStructuredOutput?: boolean | undefined;
612
+ }>>;
613
+ libraryConfig: z.ZodOptional<z.ZodObject<{
614
+ visibility: z.ZodEnum<["public", "internal"]>;
615
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
616
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
617
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
618
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
619
+ }, "strict", z.ZodTypeAny, {
620
+ visibility: "public" | "internal";
621
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
622
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
623
+ hasTypeDefinitions: boolean;
624
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
625
+ }, {
626
+ visibility: "public" | "internal";
627
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
628
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
629
+ hasTypeDefinitions?: boolean | undefined;
630
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
631
+ }>>;
632
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
633
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
634
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
635
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
636
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
637
+ }, "strict", z.ZodTypeAny, {
638
+ platform: "ios" | "android" | "cross-platform";
639
+ distributionModel: "public" | "private" | "mixed";
640
+ offlineSupport: "none" | "cache" | "offline-first";
641
+ hasPushNotifications: boolean;
642
+ }, {
643
+ platform: "ios" | "android" | "cross-platform";
644
+ distributionModel?: "public" | "private" | "mixed" | undefined;
645
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
646
+ hasPushNotifications?: boolean | undefined;
647
+ }>>;
233
648
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
234
649
  name: z.ZodOptional<z.ZodString>;
235
650
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -248,29 +663,112 @@ export declare const ConfigSchema: z.ZodObject<{
248
663
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
249
664
  }, "strict", z.ZodTypeAny, {
250
665
  engine: "custom" | "unity" | "unreal" | "godot";
251
- multiplayerMode: "none" | "local" | "online" | "hybrid";
666
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
252
667
  narrative: "none" | "light" | "heavy";
253
668
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
254
669
  economy: "none" | "progression" | "monetized" | "both";
255
670
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
256
671
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
257
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
672
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
258
673
  supportedLocales: string[];
259
674
  hasModding: boolean;
260
675
  npcAiComplexity: "none" | "simple" | "complex";
261
676
  }, {
262
677
  engine: "custom" | "unity" | "unreal" | "godot";
263
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
678
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
264
679
  narrative?: "none" | "light" | "heavy" | undefined;
265
680
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
266
681
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
267
682
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
268
683
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
269
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
684
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
270
685
  supportedLocales?: string[] | undefined;
271
686
  hasModding?: boolean | undefined;
272
687
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
273
688
  }>>;
689
+ webAppConfig: z.ZodOptional<z.ZodObject<{
690
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
691
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
692
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
693
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
694
+ }, "strict", z.ZodTypeAny, {
695
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
696
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
697
+ realtime: "none" | "websocket" | "sse";
698
+ authFlow: "none" | "session" | "oauth" | "passkey";
699
+ }, {
700
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
701
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
702
+ realtime?: "none" | "websocket" | "sse" | undefined;
703
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
704
+ }>>;
705
+ backendConfig: z.ZodOptional<z.ZodObject<{
706
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
707
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
708
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
709
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
710
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
711
+ }, "strict", z.ZodTypeAny, {
712
+ deployTarget: "serverless" | "container" | "long-running";
713
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
714
+ dataStore: ("relational" | "document" | "key-value")[];
715
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
716
+ asyncMessaging: "none" | "queue" | "event-driven";
717
+ }, {
718
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
719
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
720
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
721
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
722
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
723
+ }>>;
724
+ cliConfig: z.ZodOptional<z.ZodObject<{
725
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
726
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
727
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
728
+ }, "strict", z.ZodTypeAny, {
729
+ interactivity: "interactive" | "hybrid" | "args-only";
730
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
731
+ hasStructuredOutput: boolean;
732
+ }, {
733
+ interactivity: "interactive" | "hybrid" | "args-only";
734
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
735
+ hasStructuredOutput?: boolean | undefined;
736
+ }>>;
737
+ libraryConfig: z.ZodOptional<z.ZodObject<{
738
+ visibility: z.ZodEnum<["public", "internal"]>;
739
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
740
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
741
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
742
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
743
+ }, "strict", z.ZodTypeAny, {
744
+ visibility: "public" | "internal";
745
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
746
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
747
+ hasTypeDefinitions: boolean;
748
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
749
+ }, {
750
+ visibility: "public" | "internal";
751
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
752
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
753
+ hasTypeDefinitions?: boolean | undefined;
754
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
755
+ }>>;
756
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
757
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
758
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
759
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
760
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
761
+ }, "strict", z.ZodTypeAny, {
762
+ platform: "ios" | "android" | "cross-platform";
763
+ distributionModel: "public" | "private" | "mixed";
764
+ offlineSupport: "none" | "cache" | "offline-first";
765
+ hasPushNotifications: boolean;
766
+ }, {
767
+ platform: "ios" | "android" | "cross-platform";
768
+ distributionModel?: "public" | "private" | "mixed" | undefined;
769
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
770
+ hasPushNotifications?: boolean | undefined;
771
+ }>>;
274
772
  }, z.ZodTypeAny, "passthrough">>>;
275
773
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
276
774
  version: z.ZodLiteral<2>;
@@ -319,29 +817,112 @@ export declare const ConfigSchema: z.ZodObject<{
319
817
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
320
818
  }, "strict", z.ZodTypeAny, {
321
819
  engine: "custom" | "unity" | "unreal" | "godot";
322
- multiplayerMode: "none" | "local" | "online" | "hybrid";
820
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
323
821
  narrative: "none" | "light" | "heavy";
324
822
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
325
823
  economy: "none" | "progression" | "monetized" | "both";
326
824
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
327
825
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
328
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
826
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
329
827
  supportedLocales: string[];
330
828
  hasModding: boolean;
331
829
  npcAiComplexity: "none" | "simple" | "complex";
332
830
  }, {
333
831
  engine: "custom" | "unity" | "unreal" | "godot";
334
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
832
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
335
833
  narrative?: "none" | "light" | "heavy" | undefined;
336
834
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
337
835
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
338
836
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
339
837
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
340
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
838
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
341
839
  supportedLocales?: string[] | undefined;
342
840
  hasModding?: boolean | undefined;
343
841
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
344
842
  }>>;
843
+ webAppConfig: z.ZodOptional<z.ZodObject<{
844
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
845
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
846
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
847
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
848
+ }, "strict", z.ZodTypeAny, {
849
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
850
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
851
+ realtime: "none" | "websocket" | "sse";
852
+ authFlow: "none" | "session" | "oauth" | "passkey";
853
+ }, {
854
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
855
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
856
+ realtime?: "none" | "websocket" | "sse" | undefined;
857
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
858
+ }>>;
859
+ backendConfig: z.ZodOptional<z.ZodObject<{
860
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
861
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
862
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
863
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
864
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
865
+ }, "strict", z.ZodTypeAny, {
866
+ deployTarget: "serverless" | "container" | "long-running";
867
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
868
+ dataStore: ("relational" | "document" | "key-value")[];
869
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
870
+ asyncMessaging: "none" | "queue" | "event-driven";
871
+ }, {
872
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
873
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
874
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
875
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
876
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
877
+ }>>;
878
+ cliConfig: z.ZodOptional<z.ZodObject<{
879
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
880
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
881
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
882
+ }, "strict", z.ZodTypeAny, {
883
+ interactivity: "interactive" | "hybrid" | "args-only";
884
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
885
+ hasStructuredOutput: boolean;
886
+ }, {
887
+ interactivity: "interactive" | "hybrid" | "args-only";
888
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
889
+ hasStructuredOutput?: boolean | undefined;
890
+ }>>;
891
+ libraryConfig: z.ZodOptional<z.ZodObject<{
892
+ visibility: z.ZodEnum<["public", "internal"]>;
893
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
894
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
895
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
896
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
897
+ }, "strict", z.ZodTypeAny, {
898
+ visibility: "public" | "internal";
899
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
900
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
901
+ hasTypeDefinitions: boolean;
902
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
903
+ }, {
904
+ visibility: "public" | "internal";
905
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
906
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
907
+ hasTypeDefinitions?: boolean | undefined;
908
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
909
+ }>>;
910
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
911
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
912
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
913
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
914
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
915
+ }, "strict", z.ZodTypeAny, {
916
+ platform: "ios" | "android" | "cross-platform";
917
+ distributionModel: "public" | "private" | "mixed";
918
+ offlineSupport: "none" | "cache" | "offline-first";
919
+ hasPushNotifications: boolean;
920
+ }, {
921
+ platform: "ios" | "android" | "cross-platform";
922
+ distributionModel?: "public" | "private" | "mixed" | undefined;
923
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
924
+ hasPushNotifications?: boolean | undefined;
925
+ }>>;
345
926
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
346
927
  name: z.ZodOptional<z.ZodString>;
347
928
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -360,29 +941,112 @@ export declare const ConfigSchema: z.ZodObject<{
360
941
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
361
942
  }, "strict", z.ZodTypeAny, {
362
943
  engine: "custom" | "unity" | "unreal" | "godot";
363
- multiplayerMode: "none" | "local" | "online" | "hybrid";
944
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
364
945
  narrative: "none" | "light" | "heavy";
365
946
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
366
947
  economy: "none" | "progression" | "monetized" | "both";
367
948
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
368
949
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
369
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
950
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
370
951
  supportedLocales: string[];
371
952
  hasModding: boolean;
372
953
  npcAiComplexity: "none" | "simple" | "complex";
373
954
  }, {
374
955
  engine: "custom" | "unity" | "unreal" | "godot";
375
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
956
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
376
957
  narrative?: "none" | "light" | "heavy" | undefined;
377
958
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
378
959
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
379
960
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
380
961
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
381
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
962
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
382
963
  supportedLocales?: string[] | undefined;
383
964
  hasModding?: boolean | undefined;
384
965
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
385
966
  }>>;
967
+ webAppConfig: z.ZodOptional<z.ZodObject<{
968
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
969
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
970
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
971
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
972
+ }, "strict", z.ZodTypeAny, {
973
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
974
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
975
+ realtime: "none" | "websocket" | "sse";
976
+ authFlow: "none" | "session" | "oauth" | "passkey";
977
+ }, {
978
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
979
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
980
+ realtime?: "none" | "websocket" | "sse" | undefined;
981
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
982
+ }>>;
983
+ backendConfig: z.ZodOptional<z.ZodObject<{
984
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
985
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
986
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
987
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
988
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
989
+ }, "strict", z.ZodTypeAny, {
990
+ deployTarget: "serverless" | "container" | "long-running";
991
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
992
+ dataStore: ("relational" | "document" | "key-value")[];
993
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
994
+ asyncMessaging: "none" | "queue" | "event-driven";
995
+ }, {
996
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
997
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
998
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
999
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1000
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1001
+ }>>;
1002
+ cliConfig: z.ZodOptional<z.ZodObject<{
1003
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1004
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1005
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1006
+ }, "strict", z.ZodTypeAny, {
1007
+ interactivity: "interactive" | "hybrid" | "args-only";
1008
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1009
+ hasStructuredOutput: boolean;
1010
+ }, {
1011
+ interactivity: "interactive" | "hybrid" | "args-only";
1012
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1013
+ hasStructuredOutput?: boolean | undefined;
1014
+ }>>;
1015
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1016
+ visibility: z.ZodEnum<["public", "internal"]>;
1017
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1018
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1019
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1020
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1021
+ }, "strict", z.ZodTypeAny, {
1022
+ visibility: "public" | "internal";
1023
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1024
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1025
+ hasTypeDefinitions: boolean;
1026
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1027
+ }, {
1028
+ visibility: "public" | "internal";
1029
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1030
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1031
+ hasTypeDefinitions?: boolean | undefined;
1032
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1033
+ }>>;
1034
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1035
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1036
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1037
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1038
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1039
+ }, "strict", z.ZodTypeAny, {
1040
+ platform: "ios" | "android" | "cross-platform";
1041
+ distributionModel: "public" | "private" | "mixed";
1042
+ offlineSupport: "none" | "cache" | "offline-first";
1043
+ hasPushNotifications: boolean;
1044
+ }, {
1045
+ platform: "ios" | "android" | "cross-platform";
1046
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1047
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1048
+ hasPushNotifications?: boolean | undefined;
1049
+ }>>;
386
1050
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
387
1051
  name: z.ZodOptional<z.ZodString>;
388
1052
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -401,29 +1065,112 @@ export declare const ConfigSchema: z.ZodObject<{
401
1065
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
402
1066
  }, "strict", z.ZodTypeAny, {
403
1067
  engine: "custom" | "unity" | "unreal" | "godot";
404
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1068
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
405
1069
  narrative: "none" | "light" | "heavy";
406
1070
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
407
1071
  economy: "none" | "progression" | "monetized" | "both";
408
1072
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
409
1073
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
410
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1074
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
411
1075
  supportedLocales: string[];
412
1076
  hasModding: boolean;
413
1077
  npcAiComplexity: "none" | "simple" | "complex";
414
1078
  }, {
415
1079
  engine: "custom" | "unity" | "unreal" | "godot";
416
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1080
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
417
1081
  narrative?: "none" | "light" | "heavy" | undefined;
418
1082
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
419
1083
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
420
1084
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
421
1085
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
422
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1086
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
423
1087
  supportedLocales?: string[] | undefined;
424
1088
  hasModding?: boolean | undefined;
425
1089
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
426
1090
  }>>;
1091
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1092
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1093
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1094
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1095
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1096
+ }, "strict", z.ZodTypeAny, {
1097
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1098
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1099
+ realtime: "none" | "websocket" | "sse";
1100
+ authFlow: "none" | "session" | "oauth" | "passkey";
1101
+ }, {
1102
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1103
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1104
+ realtime?: "none" | "websocket" | "sse" | undefined;
1105
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1106
+ }>>;
1107
+ backendConfig: z.ZodOptional<z.ZodObject<{
1108
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1109
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1110
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1111
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1112
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1113
+ }, "strict", z.ZodTypeAny, {
1114
+ deployTarget: "serverless" | "container" | "long-running";
1115
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1116
+ dataStore: ("relational" | "document" | "key-value")[];
1117
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1118
+ asyncMessaging: "none" | "queue" | "event-driven";
1119
+ }, {
1120
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1121
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1122
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1123
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1124
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1125
+ }>>;
1126
+ cliConfig: z.ZodOptional<z.ZodObject<{
1127
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1128
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1129
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1130
+ }, "strict", z.ZodTypeAny, {
1131
+ interactivity: "interactive" | "hybrid" | "args-only";
1132
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1133
+ hasStructuredOutput: boolean;
1134
+ }, {
1135
+ interactivity: "interactive" | "hybrid" | "args-only";
1136
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1137
+ hasStructuredOutput?: boolean | undefined;
1138
+ }>>;
1139
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1140
+ visibility: z.ZodEnum<["public", "internal"]>;
1141
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1142
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1143
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1144
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1145
+ }, "strict", z.ZodTypeAny, {
1146
+ visibility: "public" | "internal";
1147
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1148
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1149
+ hasTypeDefinitions: boolean;
1150
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1151
+ }, {
1152
+ visibility: "public" | "internal";
1153
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1154
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1155
+ hasTypeDefinitions?: boolean | undefined;
1156
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1157
+ }>>;
1158
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1159
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1160
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1161
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1162
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1163
+ }, "strict", z.ZodTypeAny, {
1164
+ platform: "ios" | "android" | "cross-platform";
1165
+ distributionModel: "public" | "private" | "mixed";
1166
+ offlineSupport: "none" | "cache" | "offline-first";
1167
+ hasPushNotifications: boolean;
1168
+ }, {
1169
+ platform: "ios" | "android" | "cross-platform";
1170
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1171
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1172
+ hasPushNotifications?: boolean | undefined;
1173
+ }>>;
427
1174
  }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
428
1175
  name: z.ZodOptional<z.ZodString>;
429
1176
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -442,29 +1189,112 @@ export declare const ConfigSchema: z.ZodObject<{
442
1189
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
443
1190
  }, "strict", z.ZodTypeAny, {
444
1191
  engine: "custom" | "unity" | "unreal" | "godot";
445
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1192
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
446
1193
  narrative: "none" | "light" | "heavy";
447
1194
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
448
1195
  economy: "none" | "progression" | "monetized" | "both";
449
1196
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
450
1197
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
451
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1198
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
452
1199
  supportedLocales: string[];
453
1200
  hasModding: boolean;
454
1201
  npcAiComplexity: "none" | "simple" | "complex";
455
1202
  }, {
456
1203
  engine: "custom" | "unity" | "unreal" | "godot";
457
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1204
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
458
1205
  narrative?: "none" | "light" | "heavy" | undefined;
459
1206
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
460
1207
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
461
1208
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
462
1209
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
463
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1210
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
464
1211
  supportedLocales?: string[] | undefined;
465
1212
  hasModding?: boolean | undefined;
466
1213
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
467
1214
  }>>;
1215
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1216
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1217
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1218
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1219
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1220
+ }, "strict", z.ZodTypeAny, {
1221
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1222
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1223
+ realtime: "none" | "websocket" | "sse";
1224
+ authFlow: "none" | "session" | "oauth" | "passkey";
1225
+ }, {
1226
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1227
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1228
+ realtime?: "none" | "websocket" | "sse" | undefined;
1229
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1230
+ }>>;
1231
+ backendConfig: z.ZodOptional<z.ZodObject<{
1232
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1233
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1234
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1235
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1236
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1237
+ }, "strict", z.ZodTypeAny, {
1238
+ deployTarget: "serverless" | "container" | "long-running";
1239
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1240
+ dataStore: ("relational" | "document" | "key-value")[];
1241
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1242
+ asyncMessaging: "none" | "queue" | "event-driven";
1243
+ }, {
1244
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1245
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1246
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1247
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1248
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1249
+ }>>;
1250
+ cliConfig: z.ZodOptional<z.ZodObject<{
1251
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1252
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1253
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1254
+ }, "strict", z.ZodTypeAny, {
1255
+ interactivity: "interactive" | "hybrid" | "args-only";
1256
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1257
+ hasStructuredOutput: boolean;
1258
+ }, {
1259
+ interactivity: "interactive" | "hybrid" | "args-only";
1260
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1261
+ hasStructuredOutput?: boolean | undefined;
1262
+ }>>;
1263
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1264
+ visibility: z.ZodEnum<["public", "internal"]>;
1265
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1266
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1267
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1268
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1269
+ }, "strict", z.ZodTypeAny, {
1270
+ visibility: "public" | "internal";
1271
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1272
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1273
+ hasTypeDefinitions: boolean;
1274
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1275
+ }, {
1276
+ visibility: "public" | "internal";
1277
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1278
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1279
+ hasTypeDefinitions?: boolean | undefined;
1280
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1281
+ }>>;
1282
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1283
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1284
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1285
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1286
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1287
+ }, "strict", z.ZodTypeAny, {
1288
+ platform: "ios" | "android" | "cross-platform";
1289
+ distributionModel: "public" | "private" | "mixed";
1290
+ offlineSupport: "none" | "cache" | "offline-first";
1291
+ hasPushNotifications: boolean;
1292
+ }, {
1293
+ platform: "ios" | "android" | "cross-platform";
1294
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1295
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1296
+ hasPushNotifications?: boolean | undefined;
1297
+ }>>;
468
1298
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
469
1299
  name: z.ZodOptional<z.ZodString>;
470
1300
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -483,29 +1313,112 @@ export declare const ConfigSchema: z.ZodObject<{
483
1313
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
484
1314
  }, "strict", z.ZodTypeAny, {
485
1315
  engine: "custom" | "unity" | "unreal" | "godot";
486
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1316
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
487
1317
  narrative: "none" | "light" | "heavy";
488
1318
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
489
1319
  economy: "none" | "progression" | "monetized" | "both";
490
1320
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
491
1321
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
492
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1322
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
493
1323
  supportedLocales: string[];
494
1324
  hasModding: boolean;
495
1325
  npcAiComplexity: "none" | "simple" | "complex";
496
1326
  }, {
497
1327
  engine: "custom" | "unity" | "unreal" | "godot";
498
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1328
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
499
1329
  narrative?: "none" | "light" | "heavy" | undefined;
500
1330
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
501
1331
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
502
1332
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
503
1333
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
504
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1334
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
505
1335
  supportedLocales?: string[] | undefined;
506
1336
  hasModding?: boolean | undefined;
507
1337
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
508
1338
  }>>;
1339
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1340
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1341
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1342
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1343
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1344
+ }, "strict", z.ZodTypeAny, {
1345
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1346
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1347
+ realtime: "none" | "websocket" | "sse";
1348
+ authFlow: "none" | "session" | "oauth" | "passkey";
1349
+ }, {
1350
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1351
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1352
+ realtime?: "none" | "websocket" | "sse" | undefined;
1353
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1354
+ }>>;
1355
+ backendConfig: z.ZodOptional<z.ZodObject<{
1356
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1357
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1358
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1359
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1360
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1361
+ }, "strict", z.ZodTypeAny, {
1362
+ deployTarget: "serverless" | "container" | "long-running";
1363
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1364
+ dataStore: ("relational" | "document" | "key-value")[];
1365
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1366
+ asyncMessaging: "none" | "queue" | "event-driven";
1367
+ }, {
1368
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1369
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1370
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1371
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1372
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1373
+ }>>;
1374
+ cliConfig: z.ZodOptional<z.ZodObject<{
1375
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1376
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1377
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1378
+ }, "strict", z.ZodTypeAny, {
1379
+ interactivity: "interactive" | "hybrid" | "args-only";
1380
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1381
+ hasStructuredOutput: boolean;
1382
+ }, {
1383
+ interactivity: "interactive" | "hybrid" | "args-only";
1384
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1385
+ hasStructuredOutput?: boolean | undefined;
1386
+ }>>;
1387
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1388
+ visibility: z.ZodEnum<["public", "internal"]>;
1389
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1390
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1391
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1392
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1393
+ }, "strict", z.ZodTypeAny, {
1394
+ visibility: "public" | "internal";
1395
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1396
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1397
+ hasTypeDefinitions: boolean;
1398
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1399
+ }, {
1400
+ visibility: "public" | "internal";
1401
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1402
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1403
+ hasTypeDefinitions?: boolean | undefined;
1404
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1405
+ }>>;
1406
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1407
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1408
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1409
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1410
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1411
+ }, "strict", z.ZodTypeAny, {
1412
+ platform: "ios" | "android" | "cross-platform";
1413
+ distributionModel: "public" | "private" | "mixed";
1414
+ offlineSupport: "none" | "cache" | "offline-first";
1415
+ hasPushNotifications: boolean;
1416
+ }, {
1417
+ platform: "ios" | "android" | "cross-platform";
1418
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1419
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1420
+ hasPushNotifications?: boolean | undefined;
1421
+ }>>;
509
1422
  }, z.ZodTypeAny, "passthrough">>>;
510
1423
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
511
1424
  version: z.ZodLiteral<2>;
@@ -554,29 +1467,112 @@ export declare const ConfigSchema: z.ZodObject<{
554
1467
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
555
1468
  }, "strict", z.ZodTypeAny, {
556
1469
  engine: "custom" | "unity" | "unreal" | "godot";
557
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1470
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
558
1471
  narrative: "none" | "light" | "heavy";
559
1472
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
560
1473
  economy: "none" | "progression" | "monetized" | "both";
561
1474
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
562
1475
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
563
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1476
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
564
1477
  supportedLocales: string[];
565
1478
  hasModding: boolean;
566
1479
  npcAiComplexity: "none" | "simple" | "complex";
567
1480
  }, {
568
1481
  engine: "custom" | "unity" | "unreal" | "godot";
569
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1482
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
570
1483
  narrative?: "none" | "light" | "heavy" | undefined;
571
1484
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
572
1485
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
573
1486
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
574
1487
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
575
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1488
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
576
1489
  supportedLocales?: string[] | undefined;
577
1490
  hasModding?: boolean | undefined;
578
1491
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
579
1492
  }>>;
1493
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1494
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1495
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1496
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1497
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1498
+ }, "strict", z.ZodTypeAny, {
1499
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1500
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1501
+ realtime: "none" | "websocket" | "sse";
1502
+ authFlow: "none" | "session" | "oauth" | "passkey";
1503
+ }, {
1504
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1505
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1506
+ realtime?: "none" | "websocket" | "sse" | undefined;
1507
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1508
+ }>>;
1509
+ backendConfig: z.ZodOptional<z.ZodObject<{
1510
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1511
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1512
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1513
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1514
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1515
+ }, "strict", z.ZodTypeAny, {
1516
+ deployTarget: "serverless" | "container" | "long-running";
1517
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1518
+ dataStore: ("relational" | "document" | "key-value")[];
1519
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1520
+ asyncMessaging: "none" | "queue" | "event-driven";
1521
+ }, {
1522
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1523
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1524
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1525
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1526
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1527
+ }>>;
1528
+ cliConfig: z.ZodOptional<z.ZodObject<{
1529
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1530
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1531
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1532
+ }, "strict", z.ZodTypeAny, {
1533
+ interactivity: "interactive" | "hybrid" | "args-only";
1534
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1535
+ hasStructuredOutput: boolean;
1536
+ }, {
1537
+ interactivity: "interactive" | "hybrid" | "args-only";
1538
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1539
+ hasStructuredOutput?: boolean | undefined;
1540
+ }>>;
1541
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1542
+ visibility: z.ZodEnum<["public", "internal"]>;
1543
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1544
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1545
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1546
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1547
+ }, "strict", z.ZodTypeAny, {
1548
+ visibility: "public" | "internal";
1549
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1550
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1551
+ hasTypeDefinitions: boolean;
1552
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1553
+ }, {
1554
+ visibility: "public" | "internal";
1555
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1556
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1557
+ hasTypeDefinitions?: boolean | undefined;
1558
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1559
+ }>>;
1560
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1561
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1562
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1563
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1564
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1565
+ }, "strict", z.ZodTypeAny, {
1566
+ platform: "ios" | "android" | "cross-platform";
1567
+ distributionModel: "public" | "private" | "mixed";
1568
+ offlineSupport: "none" | "cache" | "offline-first";
1569
+ hasPushNotifications: boolean;
1570
+ }, {
1571
+ platform: "ios" | "android" | "cross-platform";
1572
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1573
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1574
+ hasPushNotifications?: boolean | undefined;
1575
+ }>>;
580
1576
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
581
1577
  name: z.ZodOptional<z.ZodString>;
582
1578
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -595,29 +1591,112 @@ export declare const ConfigSchema: z.ZodObject<{
595
1591
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
596
1592
  }, "strict", z.ZodTypeAny, {
597
1593
  engine: "custom" | "unity" | "unreal" | "godot";
598
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1594
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
599
1595
  narrative: "none" | "light" | "heavy";
600
1596
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
601
1597
  economy: "none" | "progression" | "monetized" | "both";
602
1598
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
603
1599
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
604
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1600
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
605
1601
  supportedLocales: string[];
606
1602
  hasModding: boolean;
607
1603
  npcAiComplexity: "none" | "simple" | "complex";
608
1604
  }, {
609
1605
  engine: "custom" | "unity" | "unreal" | "godot";
610
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1606
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
611
1607
  narrative?: "none" | "light" | "heavy" | undefined;
612
1608
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
613
1609
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
614
1610
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
615
1611
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
616
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1612
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
617
1613
  supportedLocales?: string[] | undefined;
618
1614
  hasModding?: boolean | undefined;
619
1615
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
620
1616
  }>>;
1617
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1618
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1619
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1620
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1621
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1622
+ }, "strict", z.ZodTypeAny, {
1623
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1624
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1625
+ realtime: "none" | "websocket" | "sse";
1626
+ authFlow: "none" | "session" | "oauth" | "passkey";
1627
+ }, {
1628
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1629
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1630
+ realtime?: "none" | "websocket" | "sse" | undefined;
1631
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1632
+ }>>;
1633
+ backendConfig: z.ZodOptional<z.ZodObject<{
1634
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1635
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1636
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1637
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1638
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1639
+ }, "strict", z.ZodTypeAny, {
1640
+ deployTarget: "serverless" | "container" | "long-running";
1641
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1642
+ dataStore: ("relational" | "document" | "key-value")[];
1643
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1644
+ asyncMessaging: "none" | "queue" | "event-driven";
1645
+ }, {
1646
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1647
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1648
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1649
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1650
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1651
+ }>>;
1652
+ cliConfig: z.ZodOptional<z.ZodObject<{
1653
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1654
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1655
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1656
+ }, "strict", z.ZodTypeAny, {
1657
+ interactivity: "interactive" | "hybrid" | "args-only";
1658
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1659
+ hasStructuredOutput: boolean;
1660
+ }, {
1661
+ interactivity: "interactive" | "hybrid" | "args-only";
1662
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1663
+ hasStructuredOutput?: boolean | undefined;
1664
+ }>>;
1665
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1666
+ visibility: z.ZodEnum<["public", "internal"]>;
1667
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1668
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1669
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1670
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1671
+ }, "strict", z.ZodTypeAny, {
1672
+ visibility: "public" | "internal";
1673
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1674
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1675
+ hasTypeDefinitions: boolean;
1676
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1677
+ }, {
1678
+ visibility: "public" | "internal";
1679
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1680
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1681
+ hasTypeDefinitions?: boolean | undefined;
1682
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1683
+ }>>;
1684
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1685
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1686
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1687
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1688
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1689
+ }, "strict", z.ZodTypeAny, {
1690
+ platform: "ios" | "android" | "cross-platform";
1691
+ distributionModel: "public" | "private" | "mixed";
1692
+ offlineSupport: "none" | "cache" | "offline-first";
1693
+ hasPushNotifications: boolean;
1694
+ }, {
1695
+ platform: "ios" | "android" | "cross-platform";
1696
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1697
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1698
+ hasPushNotifications?: boolean | undefined;
1699
+ }>>;
621
1700
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
622
1701
  name: z.ZodOptional<z.ZodString>;
623
1702
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -636,29 +1715,112 @@ export declare const ConfigSchema: z.ZodObject<{
636
1715
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
637
1716
  }, "strict", z.ZodTypeAny, {
638
1717
  engine: "custom" | "unity" | "unreal" | "godot";
639
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1718
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
640
1719
  narrative: "none" | "light" | "heavy";
641
1720
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
642
1721
  economy: "none" | "progression" | "monetized" | "both";
643
1722
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
644
1723
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
645
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1724
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
646
1725
  supportedLocales: string[];
647
1726
  hasModding: boolean;
648
1727
  npcAiComplexity: "none" | "simple" | "complex";
649
1728
  }, {
650
1729
  engine: "custom" | "unity" | "unreal" | "godot";
651
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1730
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
652
1731
  narrative?: "none" | "light" | "heavy" | undefined;
653
1732
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
654
1733
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
655
1734
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
656
1735
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
657
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1736
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
658
1737
  supportedLocales?: string[] | undefined;
659
1738
  hasModding?: boolean | undefined;
660
1739
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
661
1740
  }>>;
1741
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1742
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1743
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1744
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1745
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1746
+ }, "strict", z.ZodTypeAny, {
1747
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1748
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1749
+ realtime: "none" | "websocket" | "sse";
1750
+ authFlow: "none" | "session" | "oauth" | "passkey";
1751
+ }, {
1752
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1753
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1754
+ realtime?: "none" | "websocket" | "sse" | undefined;
1755
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1756
+ }>>;
1757
+ backendConfig: z.ZodOptional<z.ZodObject<{
1758
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1759
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1760
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1761
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1762
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1763
+ }, "strict", z.ZodTypeAny, {
1764
+ deployTarget: "serverless" | "container" | "long-running";
1765
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1766
+ dataStore: ("relational" | "document" | "key-value")[];
1767
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1768
+ asyncMessaging: "none" | "queue" | "event-driven";
1769
+ }, {
1770
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1771
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1772
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1773
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1774
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1775
+ }>>;
1776
+ cliConfig: z.ZodOptional<z.ZodObject<{
1777
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1778
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1779
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1780
+ }, "strict", z.ZodTypeAny, {
1781
+ interactivity: "interactive" | "hybrid" | "args-only";
1782
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1783
+ hasStructuredOutput: boolean;
1784
+ }, {
1785
+ interactivity: "interactive" | "hybrid" | "args-only";
1786
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1787
+ hasStructuredOutput?: boolean | undefined;
1788
+ }>>;
1789
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1790
+ visibility: z.ZodEnum<["public", "internal"]>;
1791
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1792
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1793
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1794
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1795
+ }, "strict", z.ZodTypeAny, {
1796
+ visibility: "public" | "internal";
1797
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1798
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1799
+ hasTypeDefinitions: boolean;
1800
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1801
+ }, {
1802
+ visibility: "public" | "internal";
1803
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1804
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1805
+ hasTypeDefinitions?: boolean | undefined;
1806
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1807
+ }>>;
1808
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1809
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1810
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1811
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1812
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1813
+ }, "strict", z.ZodTypeAny, {
1814
+ platform: "ios" | "android" | "cross-platform";
1815
+ distributionModel: "public" | "private" | "mixed";
1816
+ offlineSupport: "none" | "cache" | "offline-first";
1817
+ hasPushNotifications: boolean;
1818
+ }, {
1819
+ platform: "ios" | "android" | "cross-platform";
1820
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1821
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1822
+ hasPushNotifications?: boolean | undefined;
1823
+ }>>;
662
1824
  }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
663
1825
  name: z.ZodOptional<z.ZodString>;
664
1826
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -677,29 +1839,112 @@ export declare const ConfigSchema: z.ZodObject<{
677
1839
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
678
1840
  }, "strict", z.ZodTypeAny, {
679
1841
  engine: "custom" | "unity" | "unreal" | "godot";
680
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1842
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
681
1843
  narrative: "none" | "light" | "heavy";
682
1844
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
683
1845
  economy: "none" | "progression" | "monetized" | "both";
684
1846
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
685
1847
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
686
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1848
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
687
1849
  supportedLocales: string[];
688
1850
  hasModding: boolean;
689
1851
  npcAiComplexity: "none" | "simple" | "complex";
690
1852
  }, {
691
1853
  engine: "custom" | "unity" | "unreal" | "godot";
692
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1854
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
693
1855
  narrative?: "none" | "light" | "heavy" | undefined;
694
1856
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
695
1857
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
696
1858
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
697
1859
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
698
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1860
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
699
1861
  supportedLocales?: string[] | undefined;
700
1862
  hasModding?: boolean | undefined;
701
1863
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
702
1864
  }>>;
1865
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1866
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1867
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1868
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1869
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1870
+ }, "strict", z.ZodTypeAny, {
1871
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1872
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1873
+ realtime: "none" | "websocket" | "sse";
1874
+ authFlow: "none" | "session" | "oauth" | "passkey";
1875
+ }, {
1876
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1877
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
1878
+ realtime?: "none" | "websocket" | "sse" | undefined;
1879
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
1880
+ }>>;
1881
+ backendConfig: z.ZodOptional<z.ZodObject<{
1882
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
1883
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
1884
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
1885
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
1886
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
1887
+ }, "strict", z.ZodTypeAny, {
1888
+ deployTarget: "serverless" | "container" | "long-running";
1889
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1890
+ dataStore: ("relational" | "document" | "key-value")[];
1891
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
1892
+ asyncMessaging: "none" | "queue" | "event-driven";
1893
+ }, {
1894
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
1895
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
1896
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
1897
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
1898
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
1899
+ }>>;
1900
+ cliConfig: z.ZodOptional<z.ZodObject<{
1901
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
1902
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
1903
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
1904
+ }, "strict", z.ZodTypeAny, {
1905
+ interactivity: "interactive" | "hybrid" | "args-only";
1906
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
1907
+ hasStructuredOutput: boolean;
1908
+ }, {
1909
+ interactivity: "interactive" | "hybrid" | "args-only";
1910
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
1911
+ hasStructuredOutput?: boolean | undefined;
1912
+ }>>;
1913
+ libraryConfig: z.ZodOptional<z.ZodObject<{
1914
+ visibility: z.ZodEnum<["public", "internal"]>;
1915
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
1916
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
1917
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
1918
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
1919
+ }, "strict", z.ZodTypeAny, {
1920
+ visibility: "public" | "internal";
1921
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
1922
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
1923
+ hasTypeDefinitions: boolean;
1924
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
1925
+ }, {
1926
+ visibility: "public" | "internal";
1927
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
1928
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
1929
+ hasTypeDefinitions?: boolean | undefined;
1930
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
1931
+ }>>;
1932
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
1933
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
1934
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
1935
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
1936
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
1937
+ }, "strict", z.ZodTypeAny, {
1938
+ platform: "ios" | "android" | "cross-platform";
1939
+ distributionModel: "public" | "private" | "mixed";
1940
+ offlineSupport: "none" | "cache" | "offline-first";
1941
+ hasPushNotifications: boolean;
1942
+ }, {
1943
+ platform: "ios" | "android" | "cross-platform";
1944
+ distributionModel?: "public" | "private" | "mixed" | undefined;
1945
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
1946
+ hasPushNotifications?: boolean | undefined;
1947
+ }>>;
703
1948
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
704
1949
  name: z.ZodOptional<z.ZodString>;
705
1950
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
@@ -718,29 +1963,112 @@ export declare const ConfigSchema: z.ZodObject<{
718
1963
  npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
719
1964
  }, "strict", z.ZodTypeAny, {
720
1965
  engine: "custom" | "unity" | "unreal" | "godot";
721
- multiplayerMode: "none" | "local" | "online" | "hybrid";
1966
+ multiplayerMode: "hybrid" | "none" | "local" | "online";
722
1967
  narrative: "none" | "light" | "heavy";
723
1968
  contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
724
1969
  economy: "none" | "progression" | "monetized" | "both";
725
1970
  onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
726
1971
  persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
727
- targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
1972
+ targetPlatforms: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
728
1973
  supportedLocales: string[];
729
1974
  hasModding: boolean;
730
1975
  npcAiComplexity: "none" | "simple" | "complex";
731
1976
  }, {
732
1977
  engine: "custom" | "unity" | "unreal" | "godot";
733
- multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
1978
+ multiplayerMode?: "hybrid" | "none" | "local" | "online" | undefined;
734
1979
  narrative?: "none" | "light" | "heavy" | undefined;
735
1980
  contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
736
1981
  economy?: "none" | "progression" | "monetized" | "both" | undefined;
737
1982
  onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
738
1983
  persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
739
- targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
1984
+ targetPlatforms?: ("ios" | "android" | "pc" | "web" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
740
1985
  supportedLocales?: string[] | undefined;
741
1986
  hasModding?: boolean | undefined;
742
1987
  npcAiComplexity?: "none" | "simple" | "complex" | undefined;
743
1988
  }>>;
1989
+ webAppConfig: z.ZodOptional<z.ZodObject<{
1990
+ renderingStrategy: z.ZodEnum<["spa", "ssr", "ssg", "hybrid"]>;
1991
+ deployTarget: z.ZodDefault<z.ZodEnum<["static", "serverless", "container", "edge", "long-running"]>>;
1992
+ realtime: z.ZodDefault<z.ZodEnum<["none", "websocket", "sse"]>>;
1993
+ authFlow: z.ZodDefault<z.ZodEnum<["none", "session", "oauth", "passkey"]>>;
1994
+ }, "strict", z.ZodTypeAny, {
1995
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
1996
+ deployTarget: "static" | "serverless" | "container" | "edge" | "long-running";
1997
+ realtime: "none" | "websocket" | "sse";
1998
+ authFlow: "none" | "session" | "oauth" | "passkey";
1999
+ }, {
2000
+ renderingStrategy: "spa" | "ssr" | "ssg" | "hybrid";
2001
+ deployTarget?: "static" | "serverless" | "container" | "edge" | "long-running" | undefined;
2002
+ realtime?: "none" | "websocket" | "sse" | undefined;
2003
+ authFlow?: "none" | "session" | "oauth" | "passkey" | undefined;
2004
+ }>>;
2005
+ backendConfig: z.ZodOptional<z.ZodObject<{
2006
+ apiStyle: z.ZodEnum<["rest", "graphql", "grpc", "trpc", "none"]>;
2007
+ dataStore: z.ZodDefault<z.ZodArray<z.ZodEnum<["relational", "document", "key-value"]>, "many">>;
2008
+ authMechanism: z.ZodDefault<z.ZodEnum<["none", "jwt", "session", "oauth", "apikey"]>>;
2009
+ asyncMessaging: z.ZodDefault<z.ZodEnum<["none", "queue", "event-driven"]>>;
2010
+ deployTarget: z.ZodDefault<z.ZodEnum<["serverless", "container", "long-running"]>>;
2011
+ }, "strict", z.ZodTypeAny, {
2012
+ deployTarget: "serverless" | "container" | "long-running";
2013
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
2014
+ dataStore: ("relational" | "document" | "key-value")[];
2015
+ authMechanism: "none" | "session" | "oauth" | "jwt" | "apikey";
2016
+ asyncMessaging: "none" | "queue" | "event-driven";
2017
+ }, {
2018
+ apiStyle: "none" | "rest" | "graphql" | "grpc" | "trpc";
2019
+ deployTarget?: "serverless" | "container" | "long-running" | undefined;
2020
+ dataStore?: ("relational" | "document" | "key-value")[] | undefined;
2021
+ authMechanism?: "none" | "session" | "oauth" | "jwt" | "apikey" | undefined;
2022
+ asyncMessaging?: "none" | "queue" | "event-driven" | undefined;
2023
+ }>>;
2024
+ cliConfig: z.ZodOptional<z.ZodObject<{
2025
+ interactivity: z.ZodEnum<["args-only", "interactive", "hybrid"]>;
2026
+ distributionChannels: z.ZodDefault<z.ZodArray<z.ZodEnum<["package-manager", "system-package-manager", "standalone-binary", "container"]>, "many">>;
2027
+ hasStructuredOutput: z.ZodDefault<z.ZodBoolean>;
2028
+ }, "strict", z.ZodTypeAny, {
2029
+ interactivity: "interactive" | "hybrid" | "args-only";
2030
+ distributionChannels: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[];
2031
+ hasStructuredOutput: boolean;
2032
+ }, {
2033
+ interactivity: "interactive" | "hybrid" | "args-only";
2034
+ distributionChannels?: ("container" | "package-manager" | "system-package-manager" | "standalone-binary")[] | undefined;
2035
+ hasStructuredOutput?: boolean | undefined;
2036
+ }>>;
2037
+ libraryConfig: z.ZodOptional<z.ZodObject<{
2038
+ visibility: z.ZodEnum<["public", "internal"]>;
2039
+ runtimeTarget: z.ZodDefault<z.ZodEnum<["node", "browser", "isomorphic", "edge"]>>;
2040
+ bundleFormat: z.ZodDefault<z.ZodEnum<["esm", "cjs", "dual", "unbundled"]>>;
2041
+ hasTypeDefinitions: z.ZodDefault<z.ZodBoolean>;
2042
+ documentationLevel: z.ZodDefault<z.ZodEnum<["none", "readme", "api-docs", "full-site"]>>;
2043
+ }, "strict", z.ZodTypeAny, {
2044
+ visibility: "public" | "internal";
2045
+ runtimeTarget: "edge" | "node" | "browser" | "isomorphic";
2046
+ bundleFormat: "esm" | "cjs" | "dual" | "unbundled";
2047
+ hasTypeDefinitions: boolean;
2048
+ documentationLevel: "none" | "readme" | "api-docs" | "full-site";
2049
+ }, {
2050
+ visibility: "public" | "internal";
2051
+ runtimeTarget?: "edge" | "node" | "browser" | "isomorphic" | undefined;
2052
+ bundleFormat?: "esm" | "cjs" | "dual" | "unbundled" | undefined;
2053
+ hasTypeDefinitions?: boolean | undefined;
2054
+ documentationLevel?: "none" | "readme" | "api-docs" | "full-site" | undefined;
2055
+ }>>;
2056
+ mobileAppConfig: z.ZodOptional<z.ZodObject<{
2057
+ platform: z.ZodEnum<["ios", "android", "cross-platform"]>;
2058
+ distributionModel: z.ZodDefault<z.ZodEnum<["public", "private", "mixed"]>>;
2059
+ offlineSupport: z.ZodDefault<z.ZodEnum<["none", "cache", "offline-first"]>>;
2060
+ hasPushNotifications: z.ZodDefault<z.ZodBoolean>;
2061
+ }, "strict", z.ZodTypeAny, {
2062
+ platform: "ios" | "android" | "cross-platform";
2063
+ distributionModel: "public" | "private" | "mixed";
2064
+ offlineSupport: "none" | "cache" | "offline-first";
2065
+ hasPushNotifications: boolean;
2066
+ }, {
2067
+ platform: "ios" | "android" | "cross-platform";
2068
+ distributionModel?: "public" | "private" | "mixed" | undefined;
2069
+ offlineSupport?: "none" | "cache" | "offline-first" | undefined;
2070
+ hasPushNotifications?: boolean | undefined;
2071
+ }>>;
744
2072
  }, z.ZodTypeAny, "passthrough">>>;
745
2073
  }, z.ZodTypeAny, "passthrough">>;
746
2074
  export type ParsedConfig = z.infer<typeof ConfigSchema>;