@better-fullstack/types 2.6.1 → 2.6.3

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 (51) hide show
  1. package/dist/{defaults-Bp46Ajyg.mjs → defaults-DTS30ICD.mjs} +2 -2
  2. package/dist/defaults-DTS30ICD.mjs.map +1 -0
  3. package/dist/{defaults-vm2Pzryr.d.mts → defaults-c1Q6oSGr.d.mts} +3 -3
  4. package/dist/defaults-c1Q6oSGr.d.mts.map +1 -0
  5. package/dist/defaults.d.mts +3 -3
  6. package/dist/defaults.mjs +1 -1
  7. package/dist/index.d.mts +1258 -11
  8. package/dist/index.d.mts.map +1 -1
  9. package/dist/index.mjs +289 -9
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/json-schema.d.mts +9 -9
  12. package/dist/json-schema.d.mts.map +1 -1
  13. package/dist/json-schema.mjs +2 -2
  14. package/dist/json-schema.mjs.map +1 -1
  15. package/dist/{schemas-ah-Pon-K.d.mts → schemas-byZ-ZfU_.d.mts} +92 -10
  16. package/dist/schemas-byZ-ZfU_.d.mts.map +1 -0
  17. package/dist/{schemas-CH1UszP5.mjs → schemas-cgmdgudQ.mjs} +41 -4
  18. package/dist/schemas-cgmdgudQ.mjs.map +1 -0
  19. package/dist/schemas.d.mts +2 -2
  20. package/dist/schemas.mjs +2 -2
  21. package/dist/{stack-graph-B2L-S2-8.d.mts → stack-graph-BuGqVDuz.d.mts} +26 -4
  22. package/dist/stack-graph-BuGqVDuz.d.mts.map +1 -0
  23. package/dist/{stack-graph-AWbdUrN3.mjs → stack-graph-Oj-P0cij.mjs} +91 -14
  24. package/dist/stack-graph-Oj-P0cij.mjs.map +1 -0
  25. package/dist/stack-graph.d.mts +4 -4
  26. package/dist/stack-graph.mjs +3 -3
  27. package/dist/{stack-translation-Cn6zGJ5q.mjs → stack-translation-49iba9M5.mjs} +161 -30
  28. package/dist/stack-translation-49iba9M5.mjs.map +1 -0
  29. package/dist/{stack-translation-BJ9ulTxF.d.mts → stack-translation-PRZPaQP4.d.mts} +59 -9
  30. package/dist/stack-translation-PRZPaQP4.d.mts.map +1 -0
  31. package/dist/stack-translation.d.mts +4 -4
  32. package/dist/stack-translation.mjs +3 -3
  33. package/dist/telemetry-C9qQ80l9.mjs +2270 -0
  34. package/dist/telemetry-C9qQ80l9.mjs.map +1 -0
  35. package/dist/telemetry-CUtrUTe9.d.mts +36 -0
  36. package/dist/telemetry-CUtrUTe9.d.mts.map +1 -0
  37. package/dist/telemetry.d.mts +2 -0
  38. package/dist/telemetry.mjs +6 -0
  39. package/dist/{types-CxFTot-Q.d.mts → types-DA-r_8X7.d.mts} +3 -3
  40. package/dist/types-DA-r_8X7.d.mts.map +1 -0
  41. package/dist/types.d.mts +2 -2
  42. package/package.json +5 -1
  43. package/dist/defaults-Bp46Ajyg.mjs.map +0 -1
  44. package/dist/defaults-vm2Pzryr.d.mts.map +0 -1
  45. package/dist/schemas-CH1UszP5.mjs.map +0 -1
  46. package/dist/schemas-ah-Pon-K.d.mts.map +0 -1
  47. package/dist/stack-graph-AWbdUrN3.mjs.map +0 -1
  48. package/dist/stack-graph-B2L-S2-8.d.mts.map +0 -1
  49. package/dist/stack-translation-BJ9ulTxF.d.mts.map +0 -1
  50. package/dist/stack-translation-Cn6zGJ5q.mjs.map +0 -1
  51. package/dist/types-CxFTot-Q.d.mts.map +0 -1
@@ -1,4 +1,4 @@
1
- import "./schemas-ah-Pon-K.mjs";
2
- import "./types-CxFTot-Q.mjs";
3
- import { C as stackGraphToLegacyProjectConfigForEcosystem, E as validateStackParts, S as parseStackPartSpecs, T as toolingOverlayStackParts, _ as getStackToolDefinitions, a as StackGraphDiagnostic, b as legacyProjectConfigToStackParts, c as StackPartOptionContext, d as createStackPart, f as formatStackPartSpec, g as getStackPartOptions, h as getStackPartCompatibilityIssueForPart, i as STACK_TOOL_DEFINITIONS, l as StackPrimaryRole, m as getRoleTargetPath, n as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, o as StackGraphIssue, p as getAddonStackPartBinding, r as ProvidedCapabilityDefinition, s as StackGraphValidationResult, t as AddonStackPartBinding, u as ToolDefinition, v as hasJavaScriptWorkspaceRoot, w as stackPartsToLegacyProjectConfigPartial, x as materializeProvidedStackParts, y as hasVitePlusWorkspaceRoot } from "./stack-graph-B2L-S2-8.mjs";
4
- export { AddonStackPartBinding, ELIXIR_UNSUPPORTED_GRAPH_TOOLS, ProvidedCapabilityDefinition, STACK_TOOL_DEFINITIONS, StackGraphDiagnostic, StackGraphIssue, StackGraphValidationResult, StackPartOptionContext, StackPrimaryRole, ToolDefinition, createStackPart, formatStackPartSpec, getAddonStackPartBinding, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, hasJavaScriptWorkspaceRoot, hasVitePlusWorkspaceRoot, legacyProjectConfigToStackParts, materializeProvidedStackParts, parseStackPartSpecs, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, toolingOverlayStackParts, validateStackParts };
1
+ import "./schemas-byZ-ZfU_.mjs";
2
+ import "./types-DA-r_8X7.mjs";
3
+ import { A as stackGraphToLegacyProjectConfigForEcosystem, C as hasJavaScriptWorkspaceRoot, D as mergeProjectConfigSettingsIntoStackParts, E as materializeProvidedStackParts, M as toolingOverlayStackParts, N as validateStackParts, O as parseStackPartSpecs, S as getStackToolDefinitions, T as legacyProjectConfigToStackParts, _ as formatStackPartSpec, a as ProvidedCapabilityDefinition, b as getStackPartCompatibilityIssueForPart, c as StackGraphDiagnostic, d as StackPartOptionContext, f as StackPartProjectSettingKey, g as formatStackGraphIssue, h as createStackPart, i as PROJECT_METADATA_SETTING_KEYS, j as stackPartsToLegacyProjectConfigPartial, k as projectStackPartSettingsToProjectConfig, l as StackGraphIssue, m as ToolDefinition, n as DEFAULT_SHADCN_STACK_PART_SETTINGS, o as STACK_PART_PROJECT_SETTING_KEYS, p as StackPrimaryRole, r as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, s as STACK_TOOL_DEFINITIONS, t as AddonStackPartBinding, u as StackGraphValidationResult, v as getAddonStackPartBinding, w as hasVitePlusWorkspaceRoot, x as getStackPartOptions, y as getRoleTargetPath } from "./stack-graph-BuGqVDuz.mjs";
4
+ export { AddonStackPartBinding, DEFAULT_SHADCN_STACK_PART_SETTINGS, ELIXIR_UNSUPPORTED_GRAPH_TOOLS, PROJECT_METADATA_SETTING_KEYS, ProvidedCapabilityDefinition, STACK_PART_PROJECT_SETTING_KEYS, STACK_TOOL_DEFINITIONS, StackGraphDiagnostic, StackGraphIssue, StackGraphValidationResult, StackPartOptionContext, StackPartProjectSettingKey, StackPrimaryRole, ToolDefinition, createStackPart, formatStackGraphIssue, formatStackPartSpec, getAddonStackPartBinding, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, hasJavaScriptWorkspaceRoot, hasVitePlusWorkspaceRoot, legacyProjectConfigToStackParts, materializeProvidedStackParts, mergeProjectConfigSettingsIntoStackParts, parseStackPartSpecs, projectStackPartSettingsToProjectConfig, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, toolingOverlayStackParts, validateStackParts };
@@ -1,4 +1,4 @@
1
- import "./schemas-CH1UszP5.mjs";
2
- import { _ as toolingOverlayStackParts, a as getAddonStackPartBinding, c as getStackPartOptions, d as hasVitePlusWorkspaceRoot, f as legacyProjectConfigToStackParts, g as stackPartsToLegacyProjectConfigPartial, h as stackGraphToLegacyProjectConfigForEcosystem, i as formatStackPartSpec, l as getStackToolDefinitions, m as parseStackPartSpecs, n as STACK_TOOL_DEFINITIONS, o as getRoleTargetPath, p as materializeProvidedStackParts, r as createStackPart, s as getStackPartCompatibilityIssueForPart, t as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, u as hasJavaScriptWorkspaceRoot, v as validateStackParts } from "./stack-graph-AWbdUrN3.mjs";
1
+ import "./schemas-cgmdgudQ.mjs";
2
+ import { C as toolingOverlayStackParts, S as stackPartsToLegacyProjectConfigPartial, _ as materializeProvidedStackParts, a as STACK_TOOL_DEFINITIONS, b as projectStackPartSettingsToProjectConfig, c as formatStackPartSpec, d as getStackPartCompatibilityIssueForPart, f as getStackPartOptions, g as legacyProjectConfigToStackParts, h as hasVitePlusWorkspaceRoot, i as STACK_PART_PROJECT_SETTING_KEYS, l as getAddonStackPartBinding, m as hasJavaScriptWorkspaceRoot, n as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, o as createStackPart, p as getStackToolDefinitions, r as PROJECT_METADATA_SETTING_KEYS, s as formatStackGraphIssue, t as DEFAULT_SHADCN_STACK_PART_SETTINGS, u as getRoleTargetPath, v as mergeProjectConfigSettingsIntoStackParts, w as validateStackParts, x as stackGraphToLegacyProjectConfigForEcosystem, y as parseStackPartSpecs } from "./stack-graph-Oj-P0cij.mjs";
3
3
 
4
- export { ELIXIR_UNSUPPORTED_GRAPH_TOOLS, STACK_TOOL_DEFINITIONS, createStackPart, formatStackPartSpec, getAddonStackPartBinding, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, hasJavaScriptWorkspaceRoot, hasVitePlusWorkspaceRoot, legacyProjectConfigToStackParts, materializeProvidedStackParts, parseStackPartSpecs, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, toolingOverlayStackParts, validateStackParts };
4
+ export { DEFAULT_SHADCN_STACK_PART_SETTINGS, ELIXIR_UNSUPPORTED_GRAPH_TOOLS, PROJECT_METADATA_SETTING_KEYS, STACK_PART_PROJECT_SETTING_KEYS, STACK_TOOL_DEFINITIONS, createStackPart, formatStackGraphIssue, formatStackPartSpec, getAddonStackPartBinding, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, hasJavaScriptWorkspaceRoot, hasVitePlusWorkspaceRoot, legacyProjectConfigToStackParts, materializeProvidedStackParts, mergeProjectConfigSettingsIntoStackParts, parseStackPartSpecs, projectStackPartSettingsToProjectConfig, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, toolingOverlayStackParts, validateStackParts };
@@ -1,8 +1,8 @@
1
- import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, At as ELIXIR_JSON_VALUES, B as DOTNET_AUTH_VALUES, Ba as SHADCN_STYLE_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Ci as PYTHON_TESTING_VALUES, Cn as GO_API_VALUES, Ct as ELIXIR_DEPLOY_VALUES, D as CACHING_VALUES, Dn as GO_CONFIG_VALUES, Dt as ELIXIR_HTTP_VALUES, En as GO_CLI_VALUES, Et as ELIXIR_HTTP_SERVER_VALUES, F as DART_MOBILE_VALUES, Fa as SHADCN_BASE_VALUES, Fn as GO_QUALITY_VALUES, Ft as ELIXIR_REALTIME_VALUES, G as DOTNET_LIBRARIES_VALUES, H as DOTNET_DEPLOY_VALUES, Ha as SWIFT_MOBILE_VALUES, Hr as MOBILE_TESTING_VALUES, I as DATABASE_SETUP_VALUES, Ia as SHADCN_COLOR_THEME_VALUES, In as GO_REALTIME_VALUES, Ir as MOBILE_DEEP_LINKING_VALUES, It as ELIXIR_TESTING_VALUES, J as DOTNET_REALTIME_VALUES, K as DOTNET_OBSERVABILITY_VALUES, L as DATABASE_VALUES, La as SHADCN_FONT_VALUES, Ln as GO_TEMPLATING_VALUES, Lr as MOBILE_LIBRARIES_VALUES, Lt as ELIXIR_VALIDATION_VALUES, M as CSS_FRAMEWORK_VALUES, Ma as SEARCH_VALUES, Mn as GO_OBSERVABILITY_VALUES, Mt as ELIXIR_OBSERVABILITY_VALUES, Na as SERVER_DEPLOY_VALUES, Nn as GO_ORM_VALUES, Nt as ELIXIR_ORM_VALUES, On as GO_DI_VALUES, Ot as ELIXIR_I18N_VALUES, Pa as SHADCN_BASE_COLOR_VALUES, Pn as GO_PROTO_TOOLING_VALUES, Pr as LOGGING_VALUES, Pt as ELIXIR_QUALITY_VALUES, Qi as RATE_LIMIT_VALUES, Qr as OBSERVABILITY_VALUES, Ra as SHADCN_ICON_LIBRARY_VALUES, Rn as GO_TESTING_VALUES, Rr as MOBILE_NAVIGATION_VALUES, Rt as ELIXIR_WEB_FRAMEWORK_VALUES, Si as PYTHON_TASK_QUEUE_VALUES, St as ELIXIR_CLUSTERING_VALUES, Ti as PYTHON_WEB_FRAMEWORK_VALUES, Tn as GO_CACHING_VALUES, Tt as ELIXIR_EMAIL_VALUES, U as DOTNET_FRONTEND_VALUES, Ur as MOBILE_UI_VALUES, V as DOTNET_CACHING_VALUES, Va as STATE_MANAGEMENT_VALUES, Vr as MOBILE_STORAGE_VALUES, W as DOTNET_JOB_QUEUE_VALUES, X as DOTNET_VALIDATION_VALUES, Y as DOTNET_TESTING_VALUES, Z as DOTNET_WEB_FRAMEWORK_VALUES, _i as PYTHON_ORM_VALUES, _o as WORKSPACE_SHAPE_VALUES, _r as JAVA_TESTING_LIBRARIES_VALUES, _t as EFFECT_VALUES, a as ANALYTICS_VALUES, aa as RUST_ERROR_HANDLING_VALUES, ai as PYTHON_AI_VALUES, ao as TESTING_VALUES, ar as I18N_VALUES, b as BOT_PROTECTION_VALUES, bi as PYTHON_REALTIME_VALUES, bt as ELIXIR_AUTH_VALUES, c as API_VALUES, ca as RUST_LOGGING_VALUES, ci as PYTHON_CACHING_VALUES, d as AUTH_VALUES, da as RUST_ORM_VALUES, di as PYTHON_DATA_VALUES, do as VECTOR_DB_VALUES, dr as JAVA_AUTH_VALUES, ea as RUNTIME_VALUES, ei as ORM_VALUES, fa as RUST_REALTIME_VALUES, fi as PYTHON_GRAPHQL_VALUES, fo as VERSION_CHANNEL_VALUES, fr as JAVA_BUILD_TOOL_VALUES, gi as PYTHON_OBSERVABILITY_VALUES, gn as FORMS_VALUES, go as WEB_DEPLOY_VALUES, gr as JAVA_ORM_VALUES, hi as PYTHON_MESSAGE_QUEUE_VALUES, hn as FILE_UPLOAD_VALUES, hr as JAVA_LOGGING_VALUES, ht as ECOMMERCE_VALUES, i as AI_VALUES, ia as RUST_CLI_VALUES, jn as GO_MIGRATIONS_VALUES, jr as KOTLIN_MOBILE_VALUES, jt as ELIXIR_LIBRARIES_VALUES, kn as GO_LOGGING_VALUES, kt as ELIXIR_JOBS_VALUES, l as APP_PLATFORM_ADDON_VALUES, la as RUST_MESSAGE_QUEUE_VALUES, li as PYTHON_CLI_VALUES, lo as UI_LIBRARY_VALUES, ma as RUST_WEB_FRAMEWORK_VALUES, mi as PYTHON_MEDIA_VALUES, mn as FILE_STORAGE_VALUES, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_VALUES, ni as PACKAGE_MANAGER_VALUES, o as ANIMATION_VALUES, oa as RUST_FRONTEND_VALUES, oi as PYTHON_API_VALUES, pa as RUST_TEMPLATING_VALUES, pi as PYTHON_HTTP_CLIENT_VALUES, pn as FEATURE_FLAGS_VALUES, pr as JAVA_LANGUAGE_VALUES, q as DOTNET_ORM_VALUES, r as AI_DOCS_VALUES, ra as RUST_CACHING_VALUES, ri as PAYMENTS_VALUES, sa as RUST_LIBRARIES_VALUES, si as PYTHON_AUTH_VALUES, sr as INTEGRATIONS_VALUES, ta as RUST_API_VALUES, u as ASTRO_INTEGRATION_VALUES, ua as RUST_OBSERVABILITY_VALUES, ui as PYTHON_CLOUD_SDK_VALUES, uo as VALIDATION_VALUES, ur as JAVA_API_VALUES, vi as PYTHON_PACKAGE_MANAGER_VALUES, vr as JAVA_WEB_FRAMEWORK_VALUES, vt as ELIXIR_API_VALUES, wi as PYTHON_VALIDATION_VALUES, wn as GO_AUTH_VALUES, wt as ELIXIR_DOCUMENTATION_VALUES, xi as PYTHON_SERVER_VALUES, xt as ELIXIR_CACHING_VALUES, yi as PYTHON_QUALITY_VALUES, yr as JOB_QUEUE_VALUES, yt as ELIXIR_APPLICATION_FRAMEWORK_VALUES, z as DOTNET_API_VALUES, za as SHADCN_RADIUS_VALUES, zn as GO_VALIDATION_VALUES, zr as MOBILE_OTA_VALUES, zt as EMAIL_VALUES } from "./schemas-CH1UszP5.mjs";
2
- import { B as isToolingOverlayOnly, C as hasPWACompatibleFrontend, L as getToolingCapability, T as hasTauriCompatibleFrontend, a as getAddonStackPartBinding, b as UI_LIBRARY_COMPATIBILITY, f as legacyProjectConfigToStackParts, g as stackPartsToLegacyProjectConfigPartial, i as formatStackPartSpec, k as requiresChatSdkVercelAIForExamples, m as parseStackPartSpecs, s as getStackPartCompatibilityIssueForPart, v as validateStackParts, w as hasTanStackAICompatibleFrontend, x as getUnsupportedWebDeployFrontend, z as getToolingSelectionOptions } from "./stack-graph-AWbdUrN3.mjs";
3
- import { t as createCliDefaultProjectConfigBase } from "./defaults-Bp46Ajyg.mjs";
1
+ import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, At as ELIXIR_JSON_VALUES, B as DOTNET_AUTH_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Ci as PYTHON_TESTING_VALUES, Cn as GO_API_VALUES, Ct as ELIXIR_DEPLOY_VALUES, D as CACHING_VALUES, Dn as GO_CONFIG_VALUES, Dt as ELIXIR_HTTP_VALUES, En as GO_CLI_VALUES, Et as ELIXIR_HTTP_SERVER_VALUES, F as DART_MOBILE_VALUES, Fa as SHADCN_BASE_VALUES, Fn as GO_QUALITY_VALUES, Ft as ELIXIR_REALTIME_VALUES, G as DOTNET_LIBRARIES_VALUES, H as DOTNET_DEPLOY_VALUES, Ha as STATE_MANAGEMENT_VALUES, Hr as MOBILE_TESTING_VALUES, I as DATABASE_SETUP_VALUES, Ia as SHADCN_COLOR_THEME_VALUES, In as GO_REALTIME_VALUES, Ir as MOBILE_DEEP_LINKING_VALUES, It as ELIXIR_TESTING_VALUES, J as DOTNET_REALTIME_VALUES, K as DOTNET_OBSERVABILITY_VALUES, L as DATABASE_VALUES, La as SHADCN_FONT_VALUES, Ln as GO_TEMPLATING_VALUES, Lr as MOBILE_LIBRARIES_VALUES, Lt as ELIXIR_VALIDATION_VALUES, M as CSS_FRAMEWORK_VALUES, Ma as SEARCH_VALUES, Mn as GO_OBSERVABILITY_VALUES, Mt as ELIXIR_OBSERVABILITY_VALUES, Na as SERVER_DEPLOY_VALUES, Nn as GO_ORM_VALUES, Nt as ELIXIR_ORM_VALUES, On as GO_DI_VALUES, Ot as ELIXIR_I18N_VALUES, Pa as SHADCN_BASE_COLOR_VALUES, Pn as GO_PROTO_TOOLING_VALUES, Pr as LOGGING_VALUES, Pt as ELIXIR_QUALITY_VALUES, Qi as RATE_LIMIT_VALUES, Qr as OBSERVABILITY_VALUES, Ra as SHADCN_ICON_LIBRARY_VALUES, Rn as GO_TESTING_VALUES, Rr as MOBILE_NAVIGATION_VALUES, Rt as ELIXIR_WEB_FRAMEWORK_VALUES, Si as PYTHON_TASK_QUEUE_VALUES, St as ELIXIR_CLUSTERING_VALUES, Ti as PYTHON_WEB_FRAMEWORK_VALUES, Tn as GO_CACHING_VALUES, Tt as ELIXIR_EMAIL_VALUES, U as DOTNET_FRONTEND_VALUES, Ua as SWIFT_MOBILE_VALUES, Ur as MOBILE_UI_VALUES, V as DOTNET_CACHING_VALUES, Va as SHADCN_STYLE_VALUES, Vr as MOBILE_STORAGE_VALUES, W as DOTNET_JOB_QUEUE_VALUES, X as DOTNET_VALIDATION_VALUES, Y as DOTNET_TESTING_VALUES, Z as DOTNET_WEB_FRAMEWORK_VALUES, _i as PYTHON_ORM_VALUES, _r as JAVA_TESTING_LIBRARIES_VALUES, _t as EFFECT_VALUES, a as ANALYTICS_VALUES, aa as RUST_ERROR_HANDLING_VALUES, ai as PYTHON_AI_VALUES, ar as I18N_VALUES, b as BOT_PROTECTION_VALUES, bi as PYTHON_REALTIME_VALUES, bt as ELIXIR_AUTH_VALUES, c as API_VALUES, ca as RUST_LOGGING_VALUES, ci as PYTHON_CACHING_VALUES, d as AUTH_VALUES, da as RUST_ORM_VALUES, di as PYTHON_DATA_VALUES, do as UI_LIBRARY_VALUES, dr as JAVA_AUTH_VALUES, ea as RUNTIME_VALUES, ei as ORM_VALUES, fa as RUST_REALTIME_VALUES, fi as PYTHON_GRAPHQL_VALUES, fo as VALIDATION_VALUES, fr as JAVA_BUILD_TOOL_VALUES, gi as PYTHON_OBSERVABILITY_VALUES, gn as FORMS_VALUES, gr as JAVA_ORM_VALUES, hi as PYTHON_MESSAGE_QUEUE_VALUES, hn as FILE_UPLOAD_VALUES, hr as JAVA_LOGGING_VALUES, ht as ECOMMERCE_VALUES, i as AI_VALUES, ia as RUST_CLI_VALUES, jn as GO_MIGRATIONS_VALUES, jr as KOTLIN_MOBILE_VALUES, jt as ELIXIR_LIBRARIES_VALUES, kn as GO_LOGGING_VALUES, kt as ELIXIR_JOBS_VALUES, l as APP_PLATFORM_ADDON_VALUES, la as RUST_MESSAGE_QUEUE_VALUES, li as PYTHON_CLI_VALUES, ma as RUST_WEB_FRAMEWORK_VALUES, mi as PYTHON_MEDIA_VALUES, mn as FILE_STORAGE_VALUES, mo as VERSION_CHANNEL_VALUES, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_VALUES, ni as PACKAGE_MANAGER_VALUES, o as ANIMATION_VALUES, oa as RUST_FRONTEND_VALUES, oi as PYTHON_API_VALUES, pa as RUST_TEMPLATING_VALUES, pi as PYTHON_HTTP_CLIENT_VALUES, pn as FEATURE_FLAGS_VALUES, po as VECTOR_DB_VALUES, pr as JAVA_LANGUAGE_VALUES, q as DOTNET_ORM_VALUES, r as AI_DOCS_VALUES, ra as RUST_CACHING_VALUES, ri as PAYMENTS_VALUES, sa as RUST_LIBRARIES_VALUES, si as PYTHON_AUTH_VALUES, so as TESTING_VALUES, sr as INTEGRATIONS_VALUES, ta as RUST_API_VALUES, u as ASTRO_INTEGRATION_VALUES, ua as RUST_OBSERVABILITY_VALUES, ui as PYTHON_CLOUD_SDK_VALUES, ur as JAVA_API_VALUES, vi as PYTHON_PACKAGE_MANAGER_VALUES, vo as WEB_DEPLOY_VALUES, vr as JAVA_WEB_FRAMEWORK_VALUES, vt as ELIXIR_API_VALUES, wi as PYTHON_VALIDATION_VALUES, wn as GO_AUTH_VALUES, wt as ELIXIR_DOCUMENTATION_VALUES, xi as PYTHON_SERVER_VALUES, xt as ELIXIR_CACHING_VALUES, yi as PYTHON_QUALITY_VALUES, yo as WORKSPACE_SHAPE_VALUES, yr as JOB_QUEUE_VALUES, yt as ELIXIR_APPLICATION_FRAMEWORK_VALUES, z as DOTNET_API_VALUES, za as SHADCN_RADIUS_VALUES, zn as GO_VALIDATION_VALUES, zr as MOBILE_OTA_VALUES, zt as EMAIL_VALUES } from "./schemas-cgmdgudQ.mjs";
2
+ import { A as hasTanStackAICompatibleFrontend, D as getUnsupportedWebDeployFrontend, E as UI_LIBRARY_COMPATIBILITY, F as requiresChatSdkVercelAIForExamples, G as getToolingSelectionOptions, K as isToolingOverlayOnly, S as stackPartsToLegacyProjectConfigPartial, U as getToolingCapability, b as projectStackPartSettingsToProjectConfig, c as formatStackPartSpec, d as getStackPartCompatibilityIssueForPart, g as legacyProjectConfigToStackParts, j as hasTauriCompatibleFrontend, k as hasPWACompatibleFrontend, l as getAddonStackPartBinding, v as mergeProjectConfigSettingsIntoStackParts, w as validateStackParts, y as parseStackPartSpecs } from "./stack-graph-Oj-P0cij.mjs";
3
+ import { t as createCliDefaultProjectConfigBase } from "./defaults-DTS30ICD.mjs";
4
4
 
5
- //#region src/capabilities.ts
5
+ //#region src/capabilities/capabilities.ts
6
6
  const CAPABILITY_DEFINITIONS = { auth: [
7
7
  {
8
8
  id: "better-auth",
@@ -245,7 +245,7 @@ function normalizeCapabilitySelection(capability, context, optionId) {
245
245
  }
246
246
 
247
247
  //#endregion
248
- //#region src/option-metadata.ts
248
+ //#region src/catalog/option-metadata.ts
249
249
  const TYPESCRIPT_CATEGORY_ORDER = [
250
250
  "webFrontend",
251
251
  "astroIntegration",
@@ -319,6 +319,22 @@ const TYPESCRIPT_CATEGORY_ORDER = [
319
319
  "git",
320
320
  "install"
321
321
  ];
322
+ /**
323
+ * Kotlin, Swift and Flutter apps exist only as stack graph parts: they are
324
+ * composed in multi-ecosystem mode or through `--shape mobile`, and the
325
+ * `react-native` ecosystem rejects them outright. They ride along in the mobile
326
+ * category order so their metadata stays reachable, so every surface that
327
+ * presents the react-native ecosystem to a user must filter them out.
328
+ */
329
+ const MULTI_ECOSYSTEM_MOBILE_CATEGORIES = new Set([
330
+ "kotlinMobile",
331
+ "kotlinMobileLibraries",
332
+ "swiftMobile",
333
+ "dartMobile"
334
+ ]);
335
+ function isMultiEcosystemMobileCategory(category) {
336
+ return MULTI_ECOSYSTEM_MOBILE_CATEGORIES.has(category);
337
+ }
322
338
  const REACT_NATIVE_CATEGORY_ORDER = [
323
339
  "nativeFrontend",
324
340
  "kotlinMobile",
@@ -2118,7 +2134,7 @@ function normalizeOptionId(category, value) {
2118
2134
  }
2119
2135
 
2120
2136
  //#endregion
2121
- //#region src/compatibility.ts
2137
+ //#region src/stack/compatibility.ts
2122
2138
  const SIGNOZ_SUPPORTED_GO_WEB_FRAMEWORKS = new Set([
2123
2139
  "gin",
2124
2140
  "echo",
@@ -2213,6 +2229,25 @@ function getKotlinJavaIncompatibilityReason(stack) {
2213
2229
  if (unsupportedTestingLibrary) return `The '${unsupportedTestingLibrary}' testing library is not wired for the Kotlin scaffold`;
2214
2230
  return null;
2215
2231
  }
2232
+ const REACT_NATIVE_ONLY_CATEGORIES = new Set([
2233
+ "mobileNavigation",
2234
+ "mobileUI",
2235
+ "mobileStorage",
2236
+ "mobileTesting",
2237
+ "mobilePush",
2238
+ "mobileOTA",
2239
+ "mobileDeepLinking",
2240
+ "mobileLibraries"
2241
+ ]);
2242
+ function isReactNativeOnlyCategory(category) {
2243
+ return REACT_NATIVE_ONLY_CATEGORIES.has(category);
2244
+ }
2245
+ function hasReactNativeApp(stack) {
2246
+ return (stack.nativeFrontend ?? []).some((frontend) => frontend !== "none");
2247
+ }
2248
+ function hasKotlinMobileApp(stack) {
2249
+ return (stack.kotlinMobile ?? "none") !== "none";
2250
+ }
2216
2251
  const TURNSTILE_WEB_FRONTENDS = new Set([
2217
2252
  "next",
2218
2253
  "react-router",
@@ -2322,7 +2357,7 @@ const SINGLE_APP_WEB_FRONTEND_BY_BACKEND = {
2322
2357
  * sibling workspace package (database/orm, better-auth server, trpc/orpc
2323
2358
  * packages/api, payments, email, etc.) and no separate native/server app. For
2324
2359
  * anything else, `single-app` is normalized back to `monorepo` so we never emit
2325
- * a broken flat layout. appPlatforms (turborepo/nx) are ignored here the
2360
+ * a broken flat layout. appPlatforms (turborepo/nx) are ignored here - the
2326
2361
  * generator drops the workspace tooling when it flattens.
2327
2362
  */
2328
2363
  function stackQualifiesForSingleApp(stack) {
@@ -2673,7 +2708,7 @@ const analyzeStackCompatibility = (stack) => {
2673
2708
  message: "Integrations set to 'none' (Nango's Node SDK is not available on Cloudflare Workers)"
2674
2709
  });
2675
2710
  }
2676
- if (nextStack.runtime === "none" && nextStack.backend !== "convex" && nextStack.backend !== "none" && nextStack.backend !== "self-next" && nextStack.backend !== "self-vinext" && nextStack.backend !== "self-tanstack-start" && nextStack.backend !== "self-astro" && nextStack.backend !== "self-nuxt" && nextStack.backend !== "self-svelte" && nextStack.backend !== "self-solid-start") {
2711
+ if (nextStack.runtime === "none" && nextStack.backend !== "convex" && nextStack.backend !== "encore" && nextStack.backend !== "none" && nextStack.backend !== "self-next" && nextStack.backend !== "self-vinext" && nextStack.backend !== "self-tanstack-start" && nextStack.backend !== "self-astro" && nextStack.backend !== "self-nuxt" && nextStack.backend !== "self-svelte" && nextStack.backend !== "self-solid-start") {
2677
2712
  nextStack.runtime = DEFAULT_RUNTIME;
2678
2713
  changed = true;
2679
2714
  changes.push({
@@ -3977,6 +4012,7 @@ const analyzeStackCompatibility = (stack) => {
3977
4012
  * - Follow CLI behavior: filter options based on UPSTREAM selections only
3978
4013
  */
3979
4014
  const getDisabledReason = (currentStack, category, optionId) => {
4015
+ if (optionId !== "none" && category === "kotlinMobileLibraries" && !hasKotlinMobileApp(currentStack)) return "Kotlin mobile libraries require a Jetpack Compose or Compose Multiplatform app";
3980
4016
  if (currentStack.ecosystem === "react-native" && category === "codeQuality" && optionId !== "knip" && optionId !== "gitleaks") return "React Native code quality currently supports Knip and Gitleaks only";
3981
4017
  if (category === "codeQuality" && optionId === "knip" && currentStack.ecosystem !== "typescript" && currentStack.ecosystem !== "react-native") return "Knip requires a TypeScript or React Native workspace";
3982
4018
  if (category === "appPlatforms" && optionId === "vite-plus" && (currentStack.ecosystem !== "typescript" || !currentStack.webFrontend.some((frontend) => frontend !== "none"))) return "Vite+ requires a generated TypeScript web frontend";
@@ -4041,7 +4077,7 @@ const getDisabledReason = (currentStack, category, optionId) => {
4041
4077
  "codeQuality"
4042
4078
  ]);
4043
4079
  if (category === "payments" && optionId !== "none" && optionId !== "revenuecat") return "React Native payments currently support RevenueCat only";
4044
- if (!reactNativeCategories.has(category) && optionId !== "none" && optionId !== "false") return "React Native ecosystem only supports native mobile options";
4080
+ if (!reactNativeCategories.has(category) && !isMultiEcosystemMobileCategory(category) && optionId !== "none" && optionId !== "false") return "React Native ecosystem only supports native mobile options";
4045
4081
  }
4046
4082
  if (currentStack.backend === "none") {
4047
4083
  if (category === "runtime" && optionId !== "none") return "No backend selected";
@@ -4416,17 +4452,8 @@ const getDisabledReason = (currentStack, category, optionId) => {
4416
4452
  "nextui"
4417
4453
  ].includes(currentStack.uiLibrary) && optionId !== "tailwind") return `${currentStack.uiLibrary === "shadcn-ui" ? "shadcn/ui" : currentStack.uiLibrary === "shadcn-svelte" ? "shadcn-svelte" : currentStack.uiLibrary === "daisyui" ? "daisyUI" : "NextUI"} requires Tailwind CSS`;
4418
4454
  }
4419
- if (new Set([
4420
- "mobileNavigation",
4421
- "mobileUI",
4422
- "mobileStorage",
4423
- "mobileTesting",
4424
- "mobilePush",
4425
- "mobileOTA",
4426
- "mobileDeepLinking",
4427
- "mobileLibraries"
4428
- ]).has(category)) {
4429
- if (!currentStack.nativeFrontend.some((f) => f !== "none") && optionId !== "none") return `${getCategoryDisplayName(category)} requires a native Expo frontend`;
4455
+ if (isReactNativeOnlyCategory(category)) {
4456
+ if (!hasReactNativeApp(currentStack) && optionId !== "none") return `${getCategoryDisplayName(category)} requires a native Expo frontend`;
4430
4457
  if (category === "mobileNavigation" && optionId === "react-navigation") return null;
4431
4458
  if (category === "mobileUI") {
4432
4459
  if (optionId === "uniwind" && !currentStack.nativeFrontend.includes("native-uniwind")) return "Uniwind mobile UI requires Expo + Uniwind frontend";
@@ -4634,6 +4661,57 @@ const isOptionCompatible = (currentStack, category, optionId) => {
4634
4661
  if (currentStack.yolo === "true") return true;
4635
4662
  return getDisabledReason(currentStack, category, optionId) === null;
4636
4663
  };
4664
+ function capabilityReference(category, optionId) {
4665
+ return {
4666
+ id: `${category}:${optionId}`,
4667
+ category,
4668
+ optionId
4669
+ };
4670
+ }
4671
+ function getCompatibilityExplanation(currentStack, category, optionId, reasonOverride) {
4672
+ const reason = reasonOverride ?? getDisabledReason(currentStack, category, optionId);
4673
+ if (!reason) return null;
4674
+ const graphDecision = getGraphDisabledReason(currentStack, category, optionId);
4675
+ const replacementIds = graphDecision.reason === reason ? graphDecision.alternatives ?? [] : [];
4676
+ const capability = capabilityReference(category, optionId);
4677
+ const alternatives = replacementIds.map((replacementId) => capabilityReference(category, replacementId));
4678
+ const punctuatedReason = /[.!?]$/.test(reason) ? reason : `${reason}.`;
4679
+ const message = alternatives.length === 0 ? reason : `${punctuatedReason} Compatible alternatives: ${alternatives.map((alternative) => alternative.optionId).join(", ")}.`;
4680
+ return {
4681
+ schemaVersion: 1,
4682
+ ruleId: `compatibility:${category}:${optionId}`,
4683
+ reason,
4684
+ message,
4685
+ capability,
4686
+ owner: {
4687
+ kind: graphDecision.ownerPart ? "stack-part" : "capability",
4688
+ capability,
4689
+ stackPart: graphDecision.ownerPart ?? null
4690
+ },
4691
+ candidateStackPart: graphDecision.candidateStackPart ?? null,
4692
+ alternatives
4693
+ };
4694
+ }
4695
+ function getCompatibilityDecision(currentStack, category, optionId) {
4696
+ const reason = getDisabledReason(currentStack, category, optionId);
4697
+ if (!reason) return {
4698
+ reason: null,
4699
+ suggestedReplacements: [],
4700
+ explanation: null
4701
+ };
4702
+ const explanation = getCompatibilityExplanation(currentStack, category, optionId, reason);
4703
+ return {
4704
+ reason,
4705
+ suggestedReplacements: explanation?.alternatives.map((alternative) => alternative.optionId) ?? [],
4706
+ explanation
4707
+ };
4708
+ }
4709
+ function formatCompatibilityDecision(decision) {
4710
+ if (!decision.reason) return null;
4711
+ if (decision.explanation) return decision.explanation.message;
4712
+ if (decision.suggestedReplacements.length === 0) return decision.reason;
4713
+ return `${decision.reason} Compatible alternatives: ${decision.suggestedReplacements.join(", ")}.`;
4714
+ }
4637
4715
  const SHARED_BACKEND_SERVICE_CATEGORIES = new Set([
4638
4716
  "email",
4639
4717
  "observability",
@@ -5297,7 +5375,11 @@ function getGraphDisabledReason(currentStack, category, optionId) {
5297
5375
  if (!owner && !binding.allowOwnerlessCandidate) return {
5298
5376
  handled: true,
5299
5377
  authoritative: binding.authoritative === true,
5300
- reason: binding.missingOwnerReason ?? null
5378
+ reason: binding.missingOwnerReason ?? null,
5379
+ candidateStackPart: {
5380
+ role: binding.role,
5381
+ ecosystem: binding.ecosystem
5382
+ }
5301
5383
  };
5302
5384
  const issue = getStackPartCompatibilityIssueForPart({
5303
5385
  id: `${binding.candidateIdPrefix ?? "candidate"}:${binding.ownerRole}.${binding.role}:${binding.ecosystem}:${optionId}`,
@@ -5313,7 +5395,18 @@ function getGraphDisabledReason(currentStack, category, optionId) {
5313
5395
  return {
5314
5396
  handled: true,
5315
5397
  authoritative: binding.authoritative === true,
5316
- reason: issue?.message ?? (!owner ? binding.missingOwnerReason ?? null : null)
5398
+ reason: issue?.message ?? (!owner ? binding.missingOwnerReason ?? null : null),
5399
+ alternatives: issue?.alternatives,
5400
+ ownerPart: owner ? {
5401
+ id: owner.id,
5402
+ role: owner.role,
5403
+ ecosystem: owner.ecosystem,
5404
+ toolId: owner.toolId
5405
+ } : void 0,
5406
+ candidateStackPart: {
5407
+ role: binding.role,
5408
+ ecosystem: binding.ecosystem
5409
+ }
5317
5410
  };
5318
5411
  }
5319
5412
  const WEB_FRAMEWORKS = [
@@ -5885,6 +5978,21 @@ function evaluateCompatibility(input) {
5885
5978
  ["auth", input.auth],
5886
5979
  ["payments", input.payments],
5887
5980
  ["email", input.email],
5981
+ ["fileUpload", input.fileUpload],
5982
+ ["logging", input.logging],
5983
+ ["observability", input.observability],
5984
+ ["realtime", input.realtime],
5985
+ ["jobQueue", input.jobQueue],
5986
+ ["validation", input.validation],
5987
+ ["testing", input.testing],
5988
+ ["ai", input.aiSdk],
5989
+ ["caching", input.caching],
5990
+ ["rateLimit", input.rateLimit],
5991
+ ["i18n", input.i18n],
5992
+ ["search", input.search],
5993
+ ["vectorDb", input.vectorDb],
5994
+ ["fileStorage", input.fileStorage],
5995
+ ["analytics", input.analytics],
5888
5996
  ["cssFramework", input.cssFramework],
5889
5997
  ["uiLibrary", input.uiLibrary],
5890
5998
  ["webDeploy", input.webDeploy],
@@ -5993,6 +6101,15 @@ function evaluateCompatibility(input) {
5993
6101
  optionId: mobileLibrary
5994
6102
  });
5995
6103
  }
6104
+ for (const kotlinLibrary of input.kotlinMobileLibraries ?? []) {
6105
+ const reason = getDisabledReason(input, "kotlinMobileLibraries", kotlinLibrary);
6106
+ if (reason) issues.push({
6107
+ code: "INCOMPATIBLE_KOTLIN_MOBILE_LIBRARY",
6108
+ message: reason,
6109
+ category: "kotlinMobileLibraries",
6110
+ optionId: kotlinLibrary
6111
+ });
6112
+ }
5996
6113
  for (const testingLibrary of input.javaTestingLibraries) {
5997
6114
  const reason = getDisabledReason(input, "javaTestingLibraries", testingLibrary);
5998
6115
  if (reason) issues.push({
@@ -6029,11 +6146,20 @@ function evaluateCompatibility(input) {
6029
6146
  optionId: dotnetLibrary
6030
6147
  });
6031
6148
  }
6032
- return { issues };
6149
+ return { issues: issues.map((issue) => {
6150
+ if (!issue.category || !issue.optionId) return issue;
6151
+ const explanation = getCompatibilityExplanation(input, issue.category, issue.optionId, issue.message);
6152
+ const suggestions = issue.suggestions ?? explanation?.alternatives.map((alternative) => `Use '${alternative.optionId}'`);
6153
+ return {
6154
+ ...issue,
6155
+ ...suggestions && suggestions.length > 0 ? { suggestions } : {},
6156
+ ...explanation ? { explanation } : {}
6157
+ };
6158
+ }) };
6033
6159
  }
6034
6160
 
6035
6161
  //#endregion
6036
- //#region src/stack-translation.ts
6162
+ //#region src/stack/stack-translation.ts
6037
6163
  const DEFAULT_STACK_SELECTION = {
6038
6164
  stackMode: "solo",
6039
6165
  stackPartSpecs: [],
@@ -7645,7 +7771,7 @@ function getGraphStackParts(selection) {
7645
7771
  const stackParts = parseStackPartSpecs(stackPartSpecs, "selected");
7646
7772
  const validation = validateStackParts(parseStackPartSpecs(getSelectableStackPartSpecs(stackPartSpecs), "selected"));
7647
7773
  if (validation.issues.length > 0) throw new Error(validation.issues.map((issue) => issue.message).join("\n"));
7648
- return stackParts;
7774
+ return mergeProjectConfigSettingsIntoStackParts(stackParts, selection);
7649
7775
  }
7650
7776
  function getAdjustedSelection(selection) {
7651
7777
  const compatibility = analyzeStackCompatibility(selection);
@@ -7747,7 +7873,7 @@ function getCliGraphStackParts(input) {
7747
7873
  addScopedBackendPart("elixir", "orm", input.elixirOrm);
7748
7874
  addScopedBackendPart("elixir", "api", input.elixirApi);
7749
7875
  addScopedBackendPart("elixir", "auth", input.elixirAuth);
7750
- return parseStackPartSpecs(expandScopedStackPartSpecs(stackPartSpecs, getCliScopedPartFields(input)), "selected");
7876
+ return mergeProjectConfigSettingsIntoStackParts(parseStackPartSpecs(expandScopedStackPartSpecs(stackPartSpecs, getCliScopedPartFields(input)), "selected"), input);
7751
7877
  }
7752
7878
  function buildProjectConfigBase(selection, projectName, relativePath, install) {
7753
7879
  const stack = getAdjustedSelection(selection);
@@ -7992,8 +8118,10 @@ function getBaseCommand(selection) {
7992
8118
  }
7993
8119
  function generateGraphCommand(selection, projectName) {
7994
8120
  const stackParts = getGraphStackParts(selection);
8121
+ const graphSettings = projectStackPartSettingsToProjectConfig(stackParts, { includeDefaults: true });
7995
8122
  const hasTypeScriptFrontend = hasGraphPrimaryPart(stackParts, "frontend", "typescript");
7996
8123
  const hasAstroFrontend = hasGraphPrimaryPart(stackParts, "frontend", "typescript", "astro");
8124
+ const hasShadcnUi = stackParts.some((part) => part.source !== "provided" && part.role === "ui" && part.ecosystem === "typescript" && part.toolId === "shadcn-ui");
7997
8125
  const hasRustBackend = hasGraphPrimaryPart(stackParts, "backend", "rust");
7998
8126
  const hasPythonBackend = hasGraphPrimaryPart(stackParts, "backend", "python");
7999
8127
  const hasGoBackend = hasGraphPrimaryPart(stackParts, "backend", "go");
@@ -8004,8 +8132,11 @@ function generateGraphCommand(selection, projectName) {
8004
8132
  const hasMobile = hasGraphPrimaryPart(stackParts, "mobile");
8005
8133
  const flags = [
8006
8134
  ...stackParts.filter((part) => part.source !== "provided" && part.toolId !== "none").map((part) => `--part ${formatStackPartSpec(part, stackParts)}`),
8007
- ...hasAstroFrontend && selection.astroIntegration !== "none" ? [`--astro-integration ${selection.astroIntegration}`] : [],
8008
- ...hasTypeScriptFrontend && selection.uiLibrary === "shadcn-ui" ? formatChangedStringFlags(selection, GRAPH_SHADCN_FLAG_KEYS) : [],
8135
+ ...hasAstroFrontend && graphSettings.astroIntegration !== "none" ? [`--astro-integration ${graphSettings.astroIntegration}`] : [],
8136
+ ...hasTypeScriptFrontend && hasShadcnUi ? formatChangedStringFlags({
8137
+ ...selection,
8138
+ ...graphSettings
8139
+ }, GRAPH_SHADCN_FLAG_KEYS) : [],
8009
8140
  ...hasNonTypeScriptBackend ? formatChangedStringFlags(selection, GRAPH_SHARED_BACKEND_FLAG_KEYS) : [],
8010
8141
  ...hasElixirBackend ? formatChangedStringFlags(selection, GRAPH_ELIXIR_BACKEND_FLAG_KEYS) : [],
8011
8142
  ...hasMobile ? formatChangedStringFlags(selection, GRAPH_MOBILE_FLAG_KEYS) : [],
@@ -8297,5 +8428,5 @@ function generateStackSelectionCommand(selection) {
8297
8428
  }
8298
8429
 
8299
8430
  //#endregion
8300
- export { supportsAnalyticsFrontends as $, getAIFrontendCompatibilityIssue as A, isAnalyticsFrontendSupported as B, usesVirtualNoneStackSelection as C, allowedApisForFrontends as D, KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES as E, getCompatibleUILibraries as F, isSignozSupportedPythonWebFramework as G, isFrontendAllowedWithBackend as H, getDisabledReason as I, isWebFrontend as J, isTurnstileWebFrontend as K, getKotlinJavaIncompatibilityReason as L, getCompatibleAddons as M, getCompatibleCSSFrameworks as N, analyzeStackCompatibility as O, getCompatibleFormLibraries as P, stackQualifiesForSingleApp as Q, hasSignozSupportedGoServerTarget as R, stackSelectionToProjectConfig as S, normalizeCapabilitySelection as St, KOTLIN_DROPPED_JAVA_LIBRARIES as T, isOptionCompatible as U, isBotIdWebFrontend as V, isSignozSupportedGoWebFramework as W, requiresChatSdkVercelAIForSelection as X, requiresChatSdkVercelAI as Y, splitFrontends as Z, normalizeStackSelectionValue as _, isMultiSelectCategory as _t, STACK_SELECTION_OPTION_CATEGORY_BY_KEY as a, GO_CATEGORY_ORDER as at, processCliArrayOption as b, getCapabilityDisabledReason as bt, cliInputToProjectConfigPartial as c, PYTHON_CATEGORY_ORDER as ct, generateStackSelectionCommand as d, TYPESCRIPT_CATEGORY_ORDER as dt, validateAddonCompatibility as et, isArrayStackSelectionKey as f, getCategoryCliValues as ft, normalizeStackSelection as g, getOptionMetadata as gt, isStackSelectionDefault as h, getCategoryOrderForEcosystem as ht, STACK_SELECTION_KEYS as i, ELIXIR_CATEGORY_ORDER as it, getApiFrontendCompatibilityIssue as j, evaluateCompatibility as k, cloneDefaultStackSelection as l, REACT_NATIVE_CATEGORY_ORDER as lt, isGraphStackSelection as m, getCategoryOptionIds as mt, NON_OPTION_STACK_SELECTION_KEYS as n, CATEGORY_ORDER as nt, STACK_SELECTION_URL_KEYS as o, JAVA_CATEGORY_ORDER as ot, isCliDefaultStackSelection as p, getCategoryDisplayName as pt, isVercelAnalyticsFrontend as q, PACKAGE_MANAGER_COMMANDS as r, DOTNET_CATEGORY_ORDER as rt, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS as s, OPTION_CATEGORY_METADATA as st, DEFAULT_STACK_SELECTION as t, validateProjectName as tt, createStackSelectionSearchParams as u, RUST_CATEGORY_ORDER as ut, parseStackSelectionFromSearch as v, normalizeOptionId as vt, ANALYTICS_FRONTEND_SUPPORT as w, stackSelectionToCliComparableConfig as x, getSupportedCapabilityOptions as xt, parseStackSelectionFromUrlRecord as y, getCapabilityDefinitions as yt, hasWebStyling as z };
8301
- //# sourceMappingURL=stack-translation-Cn6zGJ5q.mjs.map
8431
+ export { isWebFrontend as $, formatCompatibilityDecision as A, getKotlinJavaIncompatibilityReason as B, usesVirtualNoneStackSelection as C, isMultiEcosystemMobileCategory as Ct, allowedApisForFrontends as D, getCapabilityDisabledReason as Dt, KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES as E, getCapabilityDefinitions as Et, getCompatibleAddons as F, isBotIdWebFrontend as G, hasSignozSupportedGoServerTarget as H, getCompatibleCSSFrameworks as I, isReactNativeOnlyCategory as J, isFrontendAllowedWithBackend as K, getCompatibleFormLibraries as L, getApiFrontendCompatibilityIssue as M, getCompatibilityDecision as N, analyzeStackCompatibility as O, getSupportedCapabilityOptions as Ot, getCompatibilityExplanation as P, isVercelAnalyticsFrontend as Q, getCompatibleUILibraries as R, stackSelectionToProjectConfig as S, getOptionMetadata as St, KOTLIN_DROPPED_JAVA_LIBRARIES as T, normalizeOptionId as Tt, hasWebStyling as U, hasReactNativeApp as V, isAnalyticsFrontendSupported as W, isSignozSupportedPythonWebFramework as X, isSignozSupportedGoWebFramework as Y, isTurnstileWebFrontend as Z, normalizeStackSelectionValue as _, TYPESCRIPT_CATEGORY_ORDER as _t, STACK_SELECTION_OPTION_CATEGORY_BY_KEY as a, validateAddonCompatibility as at, processCliArrayOption as b, getCategoryOptionIds as bt, cliInputToProjectConfigPartial as c, DOTNET_CATEGORY_ORDER as ct, generateStackSelectionCommand as d, JAVA_CATEGORY_ORDER as dt, requiresChatSdkVercelAI as et, isArrayStackSelectionKey as f, MULTI_ECOSYSTEM_MOBILE_CATEGORIES as ft, normalizeStackSelection as g, RUST_CATEGORY_ORDER as gt, isStackSelectionDefault as h, REACT_NATIVE_CATEGORY_ORDER as ht, STACK_SELECTION_KEYS as i, supportsAnalyticsFrontends as it, getAIFrontendCompatibilityIssue as j, evaluateCompatibility as k, normalizeCapabilitySelection as kt, cloneDefaultStackSelection as l, ELIXIR_CATEGORY_ORDER as lt, isGraphStackSelection as m, PYTHON_CATEGORY_ORDER as mt, NON_OPTION_STACK_SELECTION_KEYS as n, splitFrontends as nt, STACK_SELECTION_URL_KEYS as o, validateProjectName as ot, isCliDefaultStackSelection as p, OPTION_CATEGORY_METADATA as pt, isOptionCompatible as q, PACKAGE_MANAGER_COMMANDS as r, stackQualifiesForSingleApp as rt, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS as s, CATEGORY_ORDER as st, DEFAULT_STACK_SELECTION as t, requiresChatSdkVercelAIForSelection as tt, createStackSelectionSearchParams as u, GO_CATEGORY_ORDER as ut, parseStackSelectionFromSearch as v, getCategoryCliValues as vt, ANALYTICS_FRONTEND_SUPPORT as w, isMultiSelectCategory as wt, stackSelectionToCliComparableConfig as x, getCategoryOrderForEcosystem as xt, parseStackSelectionFromUrlRecord as y, getCategoryDisplayName as yt, getDisabledReason as z };
8432
+ //# sourceMappingURL=stack-translation-49iba9M5.mjs.map