@stechquick/studio-cli 4.2.0-2 → 4.3.0-0-BETA-release-4.3.0-2026.10.7.8.25

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 (390) hide show
  1. package/dist/common/agentic/compiler/src/definitions/Bar.js +172 -0
  2. package/dist/common/agentic/compiler/src/definitions/Bar.js.map +1 -0
  3. package/dist/common/agentic/compiler/src/definitions/Doughnut.js +172 -0
  4. package/dist/common/agentic/compiler/src/definitions/Doughnut.js.map +1 -0
  5. package/dist/common/agentic/compiler/src/definitions/Line.js +172 -0
  6. package/dist/common/agentic/compiler/src/definitions/Line.js.map +1 -0
  7. package/dist/common/agentic/compiler/src/definitions/VSparkline.js +310 -0
  8. package/dist/common/agentic/compiler/src/definitions/VSparkline.js.map +1 -0
  9. package/dist/common/agentic/compiler/src/system/ComponentDefinitionManager.js +8 -0
  10. package/dist/common/agentic/compiler/src/system/ComponentDefinitionManager.js.map +1 -1
  11. package/dist/common/clean/domain/useCases/ICloudProviderStorage.js.map +1 -1
  12. package/dist/common/clean/infrastructure/cloud/s3Low.js +72 -14
  13. package/dist/common/clean/infrastructure/cloud/s3Low.js.map +1 -1
  14. package/dist/common/clean/useCases/cloudProviderStorageCephImpl.js +6 -0
  15. package/dist/common/clean/useCases/cloudProviderStorageCephImpl.js.map +1 -1
  16. package/dist/common/helpers/aiKitResolver.js +11 -5
  17. package/dist/common/helpers/aiKitResolver.js.map +1 -1
  18. package/dist/common/qCloudTemp/quickCloud.js +1 -1
  19. package/dist/common/qCloudTemp/quickCloud.js.map +1 -1
  20. package/dist/common/qCloudTemp/rawExport.js +42 -0
  21. package/dist/common/qCloudTemp/rawExport.js.map +1 -0
  22. package/dist/common/qCloudTemp/rawImport.js +49 -0
  23. package/dist/common/qCloudTemp/rawImport.js.map +1 -0
  24. package/dist/common/qCloudTemp/studioInfoExport.js +3 -0
  25. package/dist/common/qCloudTemp/studioInfoExport.js.map +1 -0
  26. package/dist/common/qCloudTemp/symDtoObjects.js.map +1 -1
  27. package/dist/quick/common/shrimp/interfaces/quick/IStore.js.map +1 -1
  28. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
  29. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
  30. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
  31. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
  32. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/index.md +23 -0
  33. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/concepts.md +39 -0
  34. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/README.md +18 -0
  35. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-container-methods.qjson +1314 -0
  36. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consent-check-using-hosttrigger.qjson +1301 -0
  37. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/consentHostMethods.container +81 -0
  38. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/dataroid.qjson +692 -0
  39. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-appbar.qjson +674 -0
  40. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-footer.qjson +627 -0
  41. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-page-example-with-appbar-and-footer.qjson +1122 -0
  42. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/examples/miniapp-payment-page-paymentComp-usage.qjson +1262 -0
  43. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/analytics-and-logging.md +45 -0
  44. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/host-functions.md +88 -0
  45. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/miniapp-page-structure.md +65 -0
  46. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/navigation-and-lifecycle.md +29 -0
  47. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/guides/platform-payments.md +54 -0
  48. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/index.md +40 -0
  49. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-app-image.json +53 -0
  50. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.container +145 -0
  51. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/host-functions.json +109 -0
  52. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/paymentComp.qjson +1867 -0
  53. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/miniapp-kit/reference/platform-components.json +105 -0
  54. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
  55. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
  56. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
  57. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
  58. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
  59. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
  60. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
  61. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
  62. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
  63. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
  64. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
  65. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
  66. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
  67. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
  68. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
  69. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
  70. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
  71. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
  72. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
  73. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
  74. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
  75. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
  76. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
  77. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
  78. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
  79. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
  80. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
  81. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
  82. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
  83. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
  84. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
  85. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
  86. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
  87. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
  88. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
  89. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
  90. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
  91. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
  92. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
  93. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
  94. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
  95. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
  96. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
  97. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
  98. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
  99. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
  100. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
  101. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
  102. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
  103. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
  104. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
  105. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
  106. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
  107. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
  108. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
  109. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
  110. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
  111. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
  112. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
  113. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
  114. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
  115. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
  116. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
  117. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
  118. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
  119. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
  120. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
  121. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
  122. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
  123. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
  124. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
  125. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
  126. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
  127. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  128. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
  129. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
  130. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
  131. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
  132. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
  133. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
  134. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
  135. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
  136. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
  137. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
  138. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
  139. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
  140. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
  141. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
  142. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
  143. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
  144. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
  145. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
  146. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/index.md +153 -0
  147. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
  148. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
  149. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
  150. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
  151. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
  152. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
  153. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
  154. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
  155. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
  156. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
  157. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
  158. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
  159. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
  160. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
  161. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
  162. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
  163. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
  164. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
  165. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
  166. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
  167. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
  168. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
  169. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
  170. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
  171. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
  172. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
  173. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
  174. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
  175. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
  176. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
  177. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
  178. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
  179. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
  180. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
  181. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
  182. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7232 -0
  183. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
  184. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
  185. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
  186. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
  187. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
  188. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
  189. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
  190. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
  191. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
  192. package/dist/studio-cli/kits/miniapp-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
  193. package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
  194. package/dist/studio-cli/kits/miniapp-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
  195. package/dist/studio-cli/kits/miniapp-app-kit/.mcp.json +8 -0
  196. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/opencode.json +19 -0
  197. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
  198. package/dist/studio-cli/kits/miniapp-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
  199. package/dist/studio-cli/kits/miniapp-app-kit/AGENTS.md +24 -0
  200. package/dist/studio-cli/kits/miniapp-app-kit/CLAUDE.md +24 -0
  201. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/buildqjson.md +35 -0
  202. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/cli-bridge.md +97 -0
  203. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +48 -0
  204. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/cli-kit/knowledge/sync.md +50 -0
  205. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/index.md +22 -0
  206. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/README.md +11 -0
  207. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/AllowdDates.qjson +126 -0
  208. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartEvents.qjson +323 -0
  209. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartTitle.qjson +411 -0
  210. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChartYTicks.qjson +399 -0
  211. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
  212. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
  213. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/CalendarUsageExample.qjson +2 -0
  214. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/ChartLegendFont.qjson +788 -0
  215. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DataTable_customSort.qjson +277 -0
  216. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
  217. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DoughnutChartEvents.qjson +243 -0
  218. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
  219. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Icon_Samples.qjson +181 -0
  220. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Instructions.request.qjson +584 -0
  221. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Intersect.qjson +404 -0
  222. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LightBox.qjson +777 -0
  223. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart.qjson +1049 -0
  224. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartEvents.qjson +327 -0
  225. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChartPointProps.qjson +416 -0
  226. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
  227. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
  228. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMDelay.qjson +384 -0
  229. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/MMtrigger.qjson +209 -0
  230. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerExample.qjson +899 -0
  231. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
  232. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/Parallax.qjson +416 -0
  233. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/PieChart.qjson +1103 -0
  234. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QCaptcha.qjson +409 -0
  235. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QDocumentViewer.qjson +149 -0
  236. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
  237. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QFrameExample.qjson +213 -0
  238. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QIdleTimer.qjson +221 -0
  239. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomRotate.qjson +432 -0
  240. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
  241. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
  242. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
  243. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/VList_NavMenu.qjson +3008 -0
  244. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/alertSamplePage.qjson +450 -0
  245. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/authorizationDashboard.qjson +24914 -0
  246. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/badge.qjson +151 -0
  247. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
  248. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/breadcrumbs.qjson +563 -0
  249. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/button.qjson +1658 -0
  250. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/cellTemplate.qjson +96 -0
  251. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/combobox.qjson +109 -0
  252. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/comboboxSelected.qjson +119 -0
  253. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createChildren.qjson +411 -0
  254. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/createClosedPanes.qjson +265 -0
  255. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/creditcard.qjson +49 -0
  256. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/crypto.qjson +5632 -0
  257. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
  258. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/customStore.qjson +157 -0
  259. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dataTableFormatColumn.qjson +151 -0
  260. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/data_table_component_access.qjson +130 -0
  261. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
  262. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
  263. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
  264. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/deleteComponent.qjson +501 -0
  265. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/divider.qjson +180 -0
  266. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxColumncssClass.qjson +249 -0
  267. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
  268. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridLines.qjson +121 -0
  269. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDataGridRemove.qjson +209 -0
  270. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
  271. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxDatagridUpdate.qjson +80 -0
  272. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxMasterDetail.qjson +257 -0
  273. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
  274. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxRowDragging.qjson +175 -0
  275. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
  276. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
  277. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
  278. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/dynamicComp.qjson +156 -0
  279. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  280. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/email.qjson +177 -0
  281. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encoding.qjson +304 -0
  282. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
  283. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
  284. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images.qjson +1379 -0
  285. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/images_olddd.qjson +1366 -0
  286. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/newCustomerRegister.qjson +2598 -0
  287. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number.qjson +169 -0
  288. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/number_VTextarea.qjson +163 -0
  289. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/onlyAlphabetic.qjson +164 -0
  290. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/parentPage.qjson +351 -0
  291. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipeline.qjson +78 -0
  292. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/pipelineSample.qjson +410 -0
  293. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/placeQidDynamic.qjson +289 -0
  294. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/progress-circular.qjson +1014 -0
  295. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/samplePageLottie.qjson +696 -0
  296. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
  297. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
  298. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/index.md +112 -0
  299. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/13-application.md +164 -0
  300. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/alert-component.md +91 -0
  301. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/appSettings.md +204 -0
  302. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +63 -0
  303. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +71 -0
  304. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-intellisense.md +42 -0
  305. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/global-localization.md +78 -0
  306. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/loading-component.md +61 -0
  307. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/local-proxy-file.md +62 -0
  308. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/pipeline.md +139 -0
  309. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/settings-file.md +66 -0
  310. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/style-file.md +58 -0
  311. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/appSettings/theme.md +58 -0
  312. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/components.md +105 -0
  313. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/container-configuration.md +157 -0
  314. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/dynamic-components.md +169 -0
  315. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/events-and-scripting.md +79 -0
  316. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +15 -0
  317. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +64 -0
  318. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/localization.md +40 -0
  319. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons-legacy.md +15 -0
  320. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/page-skeletons.md +111 -0
  321. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/properties.md +77 -0
  322. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure-legacy.md +15 -0
  323. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/qjson-structure.md +67 -0
  324. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/services.md +68 -0
  325. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling-legacy.md +15 -0
  326. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/styling.md +177 -0
  327. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation-legacy.md +15 -0
  328. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/knowledge/validation.md +56 -0
  329. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/legacy-track.md +15 -0
  330. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +15 -0
  331. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +144 -0
  332. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-contracts.json +16920 -0
  333. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-index.json +266 -0
  334. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/component-styles.json +7232 -0
  335. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/events-system.md +96 -0
  336. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/layout-system.md +15 -0
  337. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/mapping-S-vuetify-class.md +103 -0
  338. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema-legacy.md +15 -0
  339. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/qjson-schema.md +188 -0
  340. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.json +1746 -0
  341. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/quick-api.md +284 -0
  342. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/reference/styling-system.md +193 -0
  343. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/s-track.md +30 -0
  344. package/dist/studio-cli/kits/mobile-app-kit/.ai-kit/ui-kit/skills/quick-qjson/SKILL.md +10 -0
  345. package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/figma-to-qjson/SKILL.md +116 -0
  346. package/dist/studio-cli/kits/mobile-app-kit/.claude/skills/quick-qjson/SKILL.md +10 -0
  347. package/dist/studio-cli/kits/mobile-app-kit/.mcp.json +8 -0
  348. package/dist/studio-cli/kits/mobile-app-kit/.opencode/opencode.json +19 -0
  349. package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/figma-to-qjson/SKILL.md +116 -0
  350. package/dist/studio-cli/kits/mobile-app-kit/.opencode/skills/quick-qjson/SKILL.md +10 -0
  351. package/dist/studio-cli/kits/mobile-app-kit/AGENTS.md +23 -0
  352. package/dist/studio-cli/kits/mobile-app-kit/CLAUDE.md +23 -0
  353. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +6 -6
  354. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/index.md +5 -0
  355. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
  356. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
  357. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
  358. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
  359. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
  360. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
  361. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
  362. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
  363. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/component-styles.json +104 -0
  364. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
  365. package/dist/studio-cli/kits/ui-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
  366. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/cli-kit/knowledge/render-check.md +6 -6
  367. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/index.md +5 -0
  368. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/component-list.md +2 -2
  369. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/appSettings/container-services-file.md +3 -3
  370. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/components.md +22 -14
  371. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots-legacy.md +1 -1
  372. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/knowledge/layout-and-slots.md +1 -1
  373. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog-legacy.md +4 -0
  374. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-catalog.md +4 -0
  375. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-index.json +1 -1
  376. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/component-styles.json +104 -0
  377. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/layout-system.md +1 -1
  378. package/dist/studio-cli/kits/wf-app-kit/.ai-kit/ui-kit/reference/styling-system.md +1 -1
  379. package/dist/studio-cli/src/control/kitInstall.js +28 -1
  380. package/dist/studio-cli/src/control/kitInstall.js.map +1 -1
  381. package/dist/studio-cli/src/control/pull.js +6 -3
  382. package/dist/studio-cli/src/control/pull.js.map +1 -1
  383. package/dist/studio-cli/src/server/bridgeServer.js +15 -62
  384. package/dist/studio-cli/src/server/bridgeServer.js.map +1 -1
  385. package/dist/studio-cli/src/version.js +1 -1
  386. package/dist/studio-cli/src/version.js.map +1 -1
  387. package/package.json +1 -1
  388. package/dist/studio-cli/kits/super-app-kit/.ai-kit/coming-soon.md +0 -0
  389. package/dist/studio-cli/kits/super-app-kit/AGENTS.md +0 -0
  390. package/dist/studio-cli/kits/super-app-kit/CLAUDE.md +0 -0
@@ -7123,6 +7123,110 @@
7123
7123
  "borderLeftWidth": {},
7124
7124
  "defaultBorderColor": {},
7125
7125
  "sides": {}
7126
+ },
7127
+ "Doughnut": {
7128
+ "marginTop": {},
7129
+ "marginRight": {},
7130
+ "marginBottom": {},
7131
+ "marginLeft": {},
7132
+ "paddingTop": {},
7133
+ "paddingRight": {},
7134
+ "paddingBottom": {},
7135
+ "paddingLeft": {},
7136
+ "boxShadow": {},
7137
+ "boxSizing": {},
7138
+ "borderTopStyle": {},
7139
+ "borderRightStyle": {},
7140
+ "borderBottomStyle": {},
7141
+ "borderLeftStyle": {},
7142
+ "borderTopLeftRadius": {},
7143
+ "borderTopRightRadius": {},
7144
+ "borderBottomLeftRadius": {},
7145
+ "borderBottomRightRadius": {},
7146
+ "borderTopWidth": {},
7147
+ "borderRightWidth": {},
7148
+ "borderBottomWidth": {},
7149
+ "borderLeftWidth": {},
7150
+ "defaultBorderColor": {},
7151
+ "sides": {}
7152
+ },
7153
+ "Bar": {
7154
+ "marginTop": {},
7155
+ "marginRight": {},
7156
+ "marginBottom": {},
7157
+ "marginLeft": {},
7158
+ "paddingTop": {},
7159
+ "paddingRight": {},
7160
+ "paddingBottom": {},
7161
+ "paddingLeft": {},
7162
+ "boxShadow": {},
7163
+ "boxSizing": {},
7164
+ "borderTopStyle": {},
7165
+ "borderRightStyle": {},
7166
+ "borderBottomStyle": {},
7167
+ "borderLeftStyle": {},
7168
+ "borderTopLeftRadius": {},
7169
+ "borderTopRightRadius": {},
7170
+ "borderBottomLeftRadius": {},
7171
+ "borderBottomRightRadius": {},
7172
+ "borderTopWidth": {},
7173
+ "borderRightWidth": {},
7174
+ "borderBottomWidth": {},
7175
+ "borderLeftWidth": {},
7176
+ "defaultBorderColor": {},
7177
+ "sides": {}
7178
+ },
7179
+ "Line": {
7180
+ "marginTop": {},
7181
+ "marginRight": {},
7182
+ "marginBottom": {},
7183
+ "marginLeft": {},
7184
+ "paddingTop": {},
7185
+ "paddingRight": {},
7186
+ "paddingBottom": {},
7187
+ "paddingLeft": {},
7188
+ "boxShadow": {},
7189
+ "boxSizing": {},
7190
+ "borderTopStyle": {},
7191
+ "borderRightStyle": {},
7192
+ "borderBottomStyle": {},
7193
+ "borderLeftStyle": {},
7194
+ "borderTopLeftRadius": {},
7195
+ "borderTopRightRadius": {},
7196
+ "borderBottomLeftRadius": {},
7197
+ "borderBottomRightRadius": {},
7198
+ "borderTopWidth": {},
7199
+ "borderRightWidth": {},
7200
+ "borderBottomWidth": {},
7201
+ "borderLeftWidth": {},
7202
+ "defaultBorderColor": {},
7203
+ "sides": {}
7204
+ },
7205
+ "VSparkline": {
7206
+ "marginTop": {},
7207
+ "marginRight": {},
7208
+ "marginBottom": {},
7209
+ "marginLeft": {},
7210
+ "paddingTop": {},
7211
+ "paddingRight": {},
7212
+ "paddingBottom": {},
7213
+ "paddingLeft": {},
7214
+ "boxShadow": {},
7215
+ "boxSizing": {},
7216
+ "borderTopStyle": {},
7217
+ "borderRightStyle": {},
7218
+ "borderBottomStyle": {},
7219
+ "borderLeftStyle": {},
7220
+ "borderTopLeftRadius": {},
7221
+ "borderTopRightRadius": {},
7222
+ "borderBottomLeftRadius": {},
7223
+ "borderBottomRightRadius": {},
7224
+ "borderTopWidth": {},
7225
+ "borderRightWidth": {},
7226
+ "borderBottomWidth": {},
7227
+ "borderLeftWidth": {},
7228
+ "defaultBorderColor": {},
7229
+ "sides": {}
7126
7230
  }
7127
7231
  }
7128
7232
  }
@@ -77,7 +77,7 @@ These are the editor's own drop rules (`acceptableParentComps`/`acceptableChildC
77
77
  | `VRow` accepts only `VCol` children | `VRowExtension.acceptableChildComps={VCol}` |
78
78
  | `VFooter` accepts only `VContainer` children | `VFooterExtension.acceptableChildComps={VContainer}` |
79
79
 
80
- Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` in `VTabs`, `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks (existing pages may legitimately root on `VAppBar`, `VDataTable`, etc.). Machine-readable: [component-index.json](component-index.json) `containmentRules`.
80
+ Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` as **sibling pairs** in `VTabs` — see [../knowledge/components.md](../knowledge/components.md) Tabs; `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks (existing pages may legitimately root on `VAppBar`, `VDataTable`, etc.). Machine-readable: [component-index.json](component-index.json) `containmentRules`.
81
81
 
82
82
  ## 5. The grid: VContainer → VRow → VCol
83
83
 
@@ -148,7 +148,7 @@ Reusable named styles created from the Style tab; the node references them via `
148
148
  | `VRow` accepts only `VCol` children | `VRowExtension.acceptableChildComps={VCol}` |
149
149
  | `VFooter` accepts only `VContainer` children | `VFooterExtension.acceptableChildComps={VContainer}` |
150
150
 
151
- Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` in `VTabs`, `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks. Machine-readable: [component-index.json](component-index.json) `containmentRules`.
151
+ Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` as **sibling pairs** in `VTabs` — see [../knowledge/components.md](../knowledge/components.md) Tabs; `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks. Machine-readable: [component-index.json](component-index.json) `containmentRules`.
152
152
 
153
153
  ## 8. Breakpoint device ranges (shared)
154
154
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  `studio buildQjson` is **static** — it compiles and structurally validates, but never *runs* the page, so it can't see **runtime / console errors** (a handler that throws on init, a bad binding, a service call that blows up at render). To catch those, render the page in a real Studio editor tab and look at it.
4
4
 
5
- You have a browser for this: the **Playwright MCP** server (`playwright`). You do **not** log in and you do **not** deal with any token — the CLI opens an authenticated Studio editor for you, and that tab keeps itself in sync with your pushes.
5
+ You have a browser for this: the **Playwright MCP** server (`playwright`). You do **not** log in and you do **not** deal with any token — the CLI opens an authenticated Studio editor for you, and that tab shows the same state as the user's own Studio session.
6
6
 
7
7
  ## Push first — the editor renders the *cloud* model
8
8
 
9
- The test tab shows the real Studio app editor. A page you just authored locally reaches it through `studio push`: push creates brand-new models in the cloud app (writing their id back into the file's frontmatter) and mirrors every pushed body straight into the test tab. So the order is **build → push → check**:
9
+ The test tab shows the real Studio app editor. A page you just authored locally reaches it through `studio push`: push creates brand-new models in the cloud app (writing their id back into the file's frontmatter) and puts every pushed body into the user's Studio session as unsaved work. The test tab picks up that unsaved work when it opens and after every push. So the order is **build → push → check**:
10
10
 
11
11
  1. `studio buildQjson <file>` is clean.
12
- 2. `studio push` — your model now exists in the app, and the test tab receives its body automatically (the pushed page is opened in the editor for you).
12
+ 2. `studio push` — your model now exists in the app and its body is in the user's session.
13
13
  3. Check it.
14
14
 
15
15
  ## The loop
@@ -19,12 +19,12 @@ The test tab shows the real Studio app editor. A page you just authored locally
19
19
  http://127.0.0.1:<port>/render
20
20
  ```
21
21
  `<port>` is the `port` field of `.studio/server.json` in the workspace (usually `7345`). The CLI redirects the browser into the **authenticated** Studio editor for the right org + app — you never log in and never handle credentials. The tab also connects to the CLI as a **test client** automatically. Wait for the editor to load.
22
- 2. **Find your page open in the editor.** Pushed pages are opened automatically; if you need another model, click its name in the file explorer on the left.
22
+ 2. **Open your page.** Nothing is opened for you — click the page's name in the file explorer on the left.
23
23
  3. **Check for errors** in three places:
24
24
  - the **rendered UI** itself — `browser_take_screenshot`; does it draw, or is it blank / broken / misaligned?
25
25
  - the **browser console** — `browser_console_messages`; collect every `error` (and relevant `warning`),
26
26
  - the **editor's own error panel / markers**, if it surfaces any.
27
- 4. **Fix & re-push:** map each error back to the offending node/handler in your `.qjson`, fix it locally, run `studio buildQjson`, then `studio push`. The test tab updates itself — no reload needed.
27
+ 4. **Fix & re-push:** map each error back to the offending node/handler in your `.qjson`, fix it locally, run `studio buildQjson`, then `studio push`. The test tab picks up the new body after the push; if the page you're checking still looks old, click it again in the file explorer or re-open the render URL.
28
28
  5. **Repeat** until the UI renders correctly and the console is clean.
29
29
  6. **Close the browser** with `browser_close`. The Playwright MCP keeps a real browser process alive between tool calls — it does not shut down on its own — so this is a required, explicit final action, not something to get to eventually. Close it whether the check passed or you are stopping early; the only time there is nothing to close is when you never opened the browser at all.
30
30
 
@@ -42,7 +42,7 @@ Ignore unrelated framework/network noise; focus on errors that name your compone
42
42
 
43
43
  - If `http://127.0.0.1:<port>/render` refuses the connection, the bridge isn't running — the user needs `studio connect`. Skip the render check and rely on `buildQjson`; note that runtime wasn't verified.
44
44
  - If it returns **503** ("no authenticated Studio session"), the user's Studio tab isn't connected — ask them to open Studio and connect the CLI, then retry.
45
- - If the test tab starts failing with auth errors mid-session (token expired), `browser_navigate` to the render URL again — it re-enters with a fresh session and replays your pushes.
45
+ - If the test tab starts failing with auth errors mid-session (token expired), `browser_navigate` to the render URL again — it re-enters with a fresh session and picks up the user's current state again.
46
46
  - If the `playwright` MCP server isn't in your harness at all, skip the render check and rely on `buildQjson` + the [pre-delivery checklist](../../ui-kit/knowledge/validation.md). Nothing was opened, so there is nothing to close.
47
47
 
48
48
  Whenever you *did* open the browser — even if the check couldn't be finished (connection refused after navigating, a 503, an expired session you gave up on) — still call `browser_close` before you finish. A launched browser left open outlives the task.
@@ -16,6 +16,11 @@ Quick has **two style systems**, and they are not interchangeable on a page. Dec
16
16
 
17
17
  There is no in-between: a page is either fully `S` or fully legacy. **Do not mix mechanisms** (never introduce `S` on a legacy page — it silently won't render; never author `O.layout` on an `S` page). **The presence of an `S` object is the ground truth for which system a page is on**, and `opt.V` should agree with it (`>= 2.0` ⇔ uses `S`). If the two disagree — `opt.V >= 2.0` but the nodes carry `O.layout`, or `opt.V` missing/`< 2.0` but the nodes carry an `S` object — the page is mid-migration or mis-tagged: go by whether an `S` object is actually present, and flag the mismatch to the user.
18
18
 
19
+ > **On Mobile, two things above work differently.** Mobile does not parse or apply `O.layout`, so legacy css declarations simply **have no effect** there — the page still renders, it is just not styled by them, and Studio's editor injects some of these fragments on its own.
20
+ >
21
+ > - **`opt.V >= 2.0` with leftover `O.layout` is normal on Mobile — do NOT flag it as a mismatch.** It is an ordinary `S` page. Never read `O.layout` to work out how it currently looks, author its design in `S`, and **strip its `O.layout` (`dOpt`/`class`) when you edit it**, so the page comes out clean.
22
+ > - **`opt.V` missing or `< 2.0` on Mobile: stop.** That page is legacy and **cannot be edited from a mobile workspace** — neither style system can author it there. Tell the user and make no changes.
23
+
19
24
  Your track guide lists the exact doc set to use (schema, structure, layout, styling, catalog, skeletons, validation, examples) — **open only your track's docs plus the shared docs below.**
20
25
 
21
26
  ## What a `.qjson` is (one paragraph)
@@ -4,7 +4,7 @@ Declares, per component type, **which props exist**, their types, their allowed
4
4
 
5
5
  Selected in **App Settings → General → Component List** → [appSettings.md](appSettings.md).
6
6
 
7
- For the built-in components and their `S` params, use the kit's own reference — [../components.md](../components.md) and [../reference/component-styles.json](../reference/component-styles.json). The Component List is the **app-level** catalog: where a project describes its domain components and any extra props.
7
+ For the built-in components and their `S` params, use the kit's own reference — [../components.md](../components.md) and [../reference/component-styles.json](../../reference/component-styles.json). The Component List is the **app-level** catalog: where a project describes its domain components and any extra props.
8
8
 
9
9
  ## Shape
10
10
 
@@ -57,7 +57,7 @@ It describes props; it does not implement components. A component still has to e
57
57
  ## Rules that prevent the common failures
58
58
 
59
59
  - Quote values as you would in a prop `H` — strings single-quoted inside the string, numbers and booleans bare.
60
- - Don't duplicate the built-in registry here; consult [../reference/component-styles.json](../reference/component-styles.json) for built-ins and keep this file for the app's own components.
60
+ - Don't duplicate the built-in registry here; consult [../reference/component-styles.json](../../reference/component-styles.json) for built-ins and keep this file for the app's own components.
61
61
  - `editorDefaultValue` only pre-fills the editor — it is not a runtime fallback. A page that never sets the prop does not get this value at runtime.
62
62
  - Adding a prop here does not create behaviour; the component must already support it.
63
63
  - Creating the file is not enough — it must be selected in App Settings → General → Component List.
@@ -30,7 +30,7 @@ if (typeof exports === 'object' && typeof module === 'object') {
30
30
  | Hook | Purpose |
31
31
  |---|---|
32
32
  | `getURL(url, mode)` | Resolve the final URL for a call. `mode` is `"ui"` or `"service"`. The place to do environment-based domains and proxying. |
33
- | `hostTriggerCb(functionName, params, pageNameArray)` | Invoke a function on the host. |
33
+ | `hostTriggerCb(functionName, params, pageNameArray)` | Invoke a function on the host. This is what backs `quick.Quick.host.trigger` — deprecated in favour of Container Configuration and `quick.container`, but still needed by the pages that call it. |
34
34
  | `getPlateauIAM()` | The host's IAM object. |
35
35
  | `authenticatedCb()` | Whether the user is authenticated. |
36
36
  | `userContextCb()` / `customerContextCb()` | Current user / customer context. |
@@ -57,9 +57,9 @@ Two different things share the word "container":
57
57
  | | |
58
58
  |---|---|
59
59
  | **Container Services File** *(this doc)* | A JS file of low-level host callbacks the **runtime** calls. Selected in App Settings → General. |
60
- | **Container Configuration** | An editor where you declare the host functions a miniapp may call, with parameters, return types and mock data. Those become `quick.container.yourFunction()` in page code. Created from **+ Add New → Container Configuration**. |
60
+ | **Container Configuration** | A separate model — *not* a setting file — where you declare the host functions the app may call, with parameters, return types and mock data. Those become `quick.container.yourFunction()` in page code. Created from **+ Add New → Application Configuration → Container Configuration**, or from the CLI as a `.container` file. |
61
61
 
62
- If the task is "call a function on the superapp from a page", that is `quick.container.*` and Container Configuration — not this file.
62
+ If the task is "call a function on the host from a page", that is `quick.container.*` and Container Configuration — not this file.
63
63
 
64
64
  ## Rules that prevent the common failures
65
65
 
@@ -57,7 +57,28 @@ Pick the `T` from [reference/component-catalog.md](../reference/component-catalo
57
57
  ```
58
58
  Open: `components.dlgDetail.qValue = true;`. Add `Render:true`+`eager:true` to touch inner components before opening.
59
59
 
60
- ## Select / Combobox / Autocomplete
60
+ ## Tabs (VTab + VTabItem sibling pairs)
61
+ ```json
62
+ { "T": "VTabs", "P": { "ID": { "H": "tabsMain", "T": "prop" } },
63
+ "E": {}, "C": { "default": { "c": [
64
+ { "T": "VTab", "P": { "ID": { "H": "tabGeneral", "T": "prop" } }, "E": {},
65
+ "C": { "default": { "c": [ /* QLabel 'General' */ ], "cType": "slot" } },
66
+ "O": { "cType": "slot" }, "_Editor": { "eID": "tabGeneral" } },
67
+ { "T": "VTabItem", "P": { "ID": { "H": "tabItemGeneral", "T": "prop" } }, "E": {},
68
+ "C": { "default": { "c": [ /* VContainer > VRow > VCol > content */ ], "cType": "slot" } },
69
+ "O": { "cType": "slot" }, "_Editor": { "eID": "tabItemGeneral" } }
70
+ /* , VTab 'Details', VTabItem 'Details', … */
71
+ ], "cType": "slot" } },
72
+ "O": { "cType": "slot" }, "_Editor": { "eID": "tabsMain" } }
73
+ ```
74
+ - `VTab` and `VTabItem` are **siblings** in `VTabs.C.default.c`, ordered as header/panel pairs: `VTab₁, VTabItem₁, VTab₂, VTabItem₂, …`. `VTabItem` is **never** a child of `VTab`.
75
+ - Every `VTab` has exactly one `VTabItem` in the same group — same count, same order.
76
+ - `VTab` holds only the visible label (a child `QLabel`). `VTabItem` holds that tab's page content.
77
+ - Panel content: `VTabItem > VContainer > VRow > VCol > content`. Don't put content directly in `VTabItem`.
78
+ - Put the `VTabItem`s directly in `VTabs`, paired with their `VTab`s.
79
+ - The bundled examples show the pairing correctly but put a bare `VBtn` (or no `VCol`) in the panel — that's a minimal demo, not the content pattern.
80
+
81
+ ## Select / Autocomplete
61
82
  ```json
62
83
  "items": { "H": "[{text='Istanbul', value=1}, {text='Ankara', value=2}]", "T": "prop" }
63
84
  ```
@@ -66,19 +87,6 @@ For service data prefer raw items + `itemText`/`itemValue`/`returnObject:true`.
66
87
  ## Pagination
67
88
  `length`/`totalVisible` are string values; `input` handler starts with `quick.this.qValue = number;` (`"P":"number:number"`).
68
89
 
69
- ## Charts (Bar / Line / Doughnut only)
70
- ```json
71
- { "T": "Bar", "P": { "ID": { "H": "barChart", "T": "prop" },
72
- "labels": { "H": "['Jan','Feb','Mar']", "T": "prop" },
73
- "data": { "H": "[12,19,3]", "T": "prop" },
74
- "label": { "H": "'Sales'", "T": "prop" },
75
- "backgroundColor": { "H": "['rgba(54,162,235,0.4)']", "T": "prop" },
76
- "width": { "H": "'32vw'", "T": "prop" }, "height": { "H": "'40vh'", "T": "prop" } },
77
- "E": {}, "C": {}, "O": { "cType": "slot" }, "_Editor": { "eID": "barChart" } }
78
- ```
79
- - `labels`=array, `label`=string. No `visible` prop (wrap in a `VCol`).
80
- - Runtime update: mutate `components.barChart.data` then `(<any>components.barChart).update()`. Use `Doughnut` + `cutoutPercentage:0` for a pie.
81
-
82
90
  ## Block Component (embedding another qjson page)
83
91
  Place at `pJson` root level — **not** inside VContainer. Minimal node; no Ghost child, no `dynProps`.
84
92
  ```json
@@ -61,7 +61,7 @@ The Studio editor enforces these on drag-drop (source: component extensions `acc
61
61
  - **`VCol` must be a child of `VRow`** and must not sit at the page root. (`layout.md`: "You cannot use VCol alone or within any other components. Always use VCol with VRow as its parent.")
62
62
  - **`VRow` should contain only `VCol`** children — put content inside a `VCol`, not directly in the `VRow`.
63
63
  - **`VFooter` accepts only `VContainer`** children.
64
- - Container components with item parts — `VTabs`→`VTab`/`VTabItem`, `VStepper`→`VStepperStep`/`VStepperContent`, `VExpansionPanels`→`VExpansionPanel`, `VCarousel`→`VCarouselItem` — must hold their documented item components.
64
+ - Container components with item parts must hold their documented item components: `VStepper`→`VStepperStep`/`VStepperContent`, `VExpansionPanels`→`VExpansionPanel`, `VCarousel`→`VCarouselItem`, `VTabs` holds `VTab`/`VTabItem` as **sibling pairs** (not nested; no `VTabsItems`; see [components.md](components.md) Tabs).
65
65
  - Canonical wrapper for a page: `VContainer > VRow > VCol > VCard > content`.
66
66
 
67
67
  Follow the editor's placement rules. Machine-readable rules: [../reference/component-index.json](../reference/component-index.json) `containmentRules`.
@@ -53,7 +53,7 @@ The Studio editor enforces these on drag-drop (source: component extensions `acc
53
53
  - **`VCol` must be a child of `VRow`** and must not sit at the page root. (`layout.md`: "You cannot use VCol alone or within any other components. Always use VCol with VRow as its parent.")
54
54
  - **`VRow` should contain only `VCol`** children — put content inside a `VCol`, not directly in the `VRow`.
55
55
  - **`VFooter` accepts only `VContainer`** children.
56
- - Container components with item parts — `VTabs`→`VTab`/`VTabItem`, `VStepper`→`VStepperStep`/`VStepperContent`, `VExpansionPanels`→`VExpansionPanel`, `VCarousel`→`VCarouselItem` — must hold their documented item components.
56
+ - Container components with item parts must hold their documented item components: `VStepper`→`VStepperStep`/`VStepperContent`, `VExpansionPanels`→`VExpansionPanel`, `VCarousel`→`VCarouselItem`, `VTabs` holds `VTab`/`VTabItem` as **sibling pairs** (not nested; see [components.md](components.md) Tabs).
57
57
  - Canonical wrapper for a page: `VContainer > VRow > VCol > content`.
58
58
 
59
59
  Follow the editor's placement rules. Machine-readable rules: [../reference/component-index.json](../reference/component-index.json) `containmentRules`.
@@ -98,6 +98,10 @@ The icon name goes in `text` with **`T: "text"`**. PType `text` renders as slot
98
98
  - Add `Render:true` + `eager:true` to access inner components before opening.
99
99
  - Non-persistent dialogs: handle `click:outside` to set `qValue=false`.
100
100
 
101
+ ### `VTabs` / `VTab` / `VTabItem`
102
+ - `VTab` and `VTabItem` are **siblings** in `VTabs`' `default` slot, one `VTabItem` per `VTab`, ordered as pairs. `VTabItem` is never inside `VTab`.
103
+ - `VTab` = label (`QLabel`); `VTabItem` = content, wrapped as `VTabItem > VContainer > VRow > VCol > content`. Full pattern: [../knowledge/components.md](../knowledge/components.md).
104
+
101
105
  ### `VPagination`
102
106
  - `length`/`totalVisible` are string values; `input` handler's first line: `quick.this.qValue = number;` (param `"P":"number:number"`).
103
107
 
@@ -113,6 +113,10 @@ The icon name goes in `text` with **`T: "text"`**. PType `text` renders as slot
113
113
  - Add `Render:true` + `eager:true` to access inner components before opening.
114
114
  - Non-persistent dialogs: handle `click:outside` to set `qValue=false`.
115
115
 
116
+ ### `VTabs` / `VTab` / `VTabItem`
117
+ - `VTab` and `VTabItem` are **siblings** in `VTabs`' `default` slot, one `VTabItem` per `VTab`, ordered as pairs. `VTabItem` is never inside `VTab`.
118
+ - `VTab` = label (`QLabel`); `VTabItem` = content, wrapped as `VTabItem > VContainer > VRow > VCol > content`. Full pattern: [../knowledge/components.md](../knowledge/components.md).
119
+
116
120
  ### `VPagination`
117
121
  - `length`/`totalVisible` are string values; `input` handler's first line: `quick.this.qValue = number;` (param `"P":"number:number"`).
118
122
 
@@ -307,7 +307,7 @@
307
307
  "VRow accepts only VCol children.",
308
308
  "VFooter accepts only VContainer children.",
309
309
  "Canonical page structure: VContainer > VRow > VCol > content. Other components have no hard parent/child restriction, but follow the grid for layout.",
310
- "Some container components (VTabs/VStepper/VExpansionPanels/VCarousel) use fixed child generators in the editor; place their documented item components (VTab/VTabItem, VStepperStep/VStepperContent, VExpansionPanel, VCarouselItem) inside them.",
310
+ "Some container components (VTabs/VStepper/VExpansionPanels/VCarousel) use fixed child generators in the editor; place their documented item components (VTab/VTabItem, VStepperStep/VStepperContent, VExpansionPanel, VCarouselItem) inside them. VTab and VTabItem are sibling pairs in VTabs (VTab1, VTabItem1, VTab2, VTabItem2, ...), never nested; panel content is VTabItem > VContainer > VRow > VCol > content.",
311
311
  "NEW PAGES ONLY: a newly-created page must wrap all UI content in a single top-level VContainer (the content root); the only allowed non-VContainer top-level pJson siblings are the non-visual Messaging event hub and an optional service component. Do NOT retrofit a VContainer root onto an existing page unless the user explicitly asks (existing pages may legitimately root on VAppBar, VDataTable, etc.). See newPageContentRoot below and s-track.md rule S4."
312
312
  ],
313
313
  "newPageContentRoot": {
@@ -7123,6 +7123,110 @@
7123
7123
  "borderLeftWidth": {},
7124
7124
  "defaultBorderColor": {},
7125
7125
  "sides": {}
7126
+ },
7127
+ "Doughnut": {
7128
+ "marginTop": {},
7129
+ "marginRight": {},
7130
+ "marginBottom": {},
7131
+ "marginLeft": {},
7132
+ "paddingTop": {},
7133
+ "paddingRight": {},
7134
+ "paddingBottom": {},
7135
+ "paddingLeft": {},
7136
+ "boxShadow": {},
7137
+ "boxSizing": {},
7138
+ "borderTopStyle": {},
7139
+ "borderRightStyle": {},
7140
+ "borderBottomStyle": {},
7141
+ "borderLeftStyle": {},
7142
+ "borderTopLeftRadius": {},
7143
+ "borderTopRightRadius": {},
7144
+ "borderBottomLeftRadius": {},
7145
+ "borderBottomRightRadius": {},
7146
+ "borderTopWidth": {},
7147
+ "borderRightWidth": {},
7148
+ "borderBottomWidth": {},
7149
+ "borderLeftWidth": {},
7150
+ "defaultBorderColor": {},
7151
+ "sides": {}
7152
+ },
7153
+ "Bar": {
7154
+ "marginTop": {},
7155
+ "marginRight": {},
7156
+ "marginBottom": {},
7157
+ "marginLeft": {},
7158
+ "paddingTop": {},
7159
+ "paddingRight": {},
7160
+ "paddingBottom": {},
7161
+ "paddingLeft": {},
7162
+ "boxShadow": {},
7163
+ "boxSizing": {},
7164
+ "borderTopStyle": {},
7165
+ "borderRightStyle": {},
7166
+ "borderBottomStyle": {},
7167
+ "borderLeftStyle": {},
7168
+ "borderTopLeftRadius": {},
7169
+ "borderTopRightRadius": {},
7170
+ "borderBottomLeftRadius": {},
7171
+ "borderBottomRightRadius": {},
7172
+ "borderTopWidth": {},
7173
+ "borderRightWidth": {},
7174
+ "borderBottomWidth": {},
7175
+ "borderLeftWidth": {},
7176
+ "defaultBorderColor": {},
7177
+ "sides": {}
7178
+ },
7179
+ "Line": {
7180
+ "marginTop": {},
7181
+ "marginRight": {},
7182
+ "marginBottom": {},
7183
+ "marginLeft": {},
7184
+ "paddingTop": {},
7185
+ "paddingRight": {},
7186
+ "paddingBottom": {},
7187
+ "paddingLeft": {},
7188
+ "boxShadow": {},
7189
+ "boxSizing": {},
7190
+ "borderTopStyle": {},
7191
+ "borderRightStyle": {},
7192
+ "borderBottomStyle": {},
7193
+ "borderLeftStyle": {},
7194
+ "borderTopLeftRadius": {},
7195
+ "borderTopRightRadius": {},
7196
+ "borderBottomLeftRadius": {},
7197
+ "borderBottomRightRadius": {},
7198
+ "borderTopWidth": {},
7199
+ "borderRightWidth": {},
7200
+ "borderBottomWidth": {},
7201
+ "borderLeftWidth": {},
7202
+ "defaultBorderColor": {},
7203
+ "sides": {}
7204
+ },
7205
+ "VSparkline": {
7206
+ "marginTop": {},
7207
+ "marginRight": {},
7208
+ "marginBottom": {},
7209
+ "marginLeft": {},
7210
+ "paddingTop": {},
7211
+ "paddingRight": {},
7212
+ "paddingBottom": {},
7213
+ "paddingLeft": {},
7214
+ "boxShadow": {},
7215
+ "boxSizing": {},
7216
+ "borderTopStyle": {},
7217
+ "borderRightStyle": {},
7218
+ "borderBottomStyle": {},
7219
+ "borderLeftStyle": {},
7220
+ "borderTopLeftRadius": {},
7221
+ "borderTopRightRadius": {},
7222
+ "borderBottomLeftRadius": {},
7223
+ "borderBottomRightRadius": {},
7224
+ "borderTopWidth": {},
7225
+ "borderRightWidth": {},
7226
+ "borderBottomWidth": {},
7227
+ "borderLeftWidth": {},
7228
+ "defaultBorderColor": {},
7229
+ "sides": {}
7126
7230
  }
7127
7231
  }
7128
7232
  }
@@ -77,7 +77,7 @@ These are the editor's own drop rules (`acceptableParentComps`/`acceptableChildC
77
77
  | `VRow` accepts only `VCol` children | `VRowExtension.acceptableChildComps={VCol}` |
78
78
  | `VFooter` accepts only `VContainer` children | `VFooterExtension.acceptableChildComps={VContainer}` |
79
79
 
80
- Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` in `VTabs`, `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks (existing pages may legitimately root on `VAppBar`, `VDataTable`, etc.). Machine-readable: [component-index.json](component-index.json) `containmentRules`.
80
+ Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` as **sibling pairs** in `VTabs` — see [../knowledge/components.md](../knowledge/components.md) Tabs; `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks (existing pages may legitimately root on `VAppBar`, `VDataTable`, etc.). Machine-readable: [component-index.json](component-index.json) `containmentRules`.
81
81
 
82
82
  ## 5. The grid: VContainer → VRow → VCol
83
83
 
@@ -148,7 +148,7 @@ Reusable named styles created from the Style tab; the node references them via `
148
148
  | `VRow` accepts only `VCol` children | `VRowExtension.acceptableChildComps={VCol}` |
149
149
  | `VFooter` accepts only `VContainer` children | `VFooterExtension.acceptableChildComps={VContainer}` |
150
150
 
151
- Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` in `VTabs`, `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks. Machine-readable: [component-index.json](component-index.json) `containmentRules`.
151
+ Other components have no hard accept-list, but container components with item parts use fixed child generators (place `VTab`/`VTabItem` as **sibling pairs** in `VTabs` — see [../knowledge/components.md](../knowledge/components.md) Tabs; `VStepperStep`/`VStepperContent` in `VStepper`, etc.). Canonical page wrapper: `VContainer > VRow > VCol > content`. For a **newly-created page this `VContainer` content root is required**: wrap all UI content in a single top-level `VContainer`, with only `Messaging` and an optional service component as other top-level `pJson` siblings. This is a **new-page rule only** — do **not** retrofit a `VContainer` root onto an existing page unless the user explicitly asks. Machine-readable: [component-index.json](component-index.json) `containmentRules`.
152
152
 
153
153
  ## 8. Breakpoint device ranges (shared)
154
154
 
@@ -7,12 +7,18 @@
7
7
  // kit-owned and replaced wholesale; the user's own files are left alone, including
8
8
  // .claude/settings.local.json, which is theirs and which the kit never writes.
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.installKit = void 0;
10
+ exports.linkModuleAiDocs = exports.installKit = void 0;
11
11
  const promises_1 = require("node:fs/promises");
12
12
  const node_path_1 = require("node:path");
13
+ const aiKitResolver_1 = require("../../../common/helpers/aiKitResolver");
14
+ const modelRefs_1 = require("../../../common/agentic/modelFiles/modelRefs");
13
15
  const KIT_DIRNAME = ".ai-kit";
14
16
  // Compiled to dist/studio-cli/src/control/, so the bundled images sit two levels up.
15
17
  const IMAGES_DIR = (0, node_path_1.join)(__dirname, "..", "..", "kits");
18
+ const DOOR_FILES = ["AGENTS.md", "CLAUDE.md"];
19
+ const AI_DOCS_DIRNAME = "ai-docs";
20
+ // Opaque marker in the mobile kit's door files where the module docs step goes; meaningless if an agent ever sees it.
21
+ const MODULE_STEP_SLOT = "<!-- 7f3a9c2e -->";
16
22
  async function installKit(root, kitName) {
17
23
  const image = (0, node_path_1.join)(IMAGES_DIR, kitName);
18
24
  try {
@@ -26,4 +32,25 @@ async function installKit(root, kitName) {
26
32
  await (0, promises_1.cp)(image, root, { recursive: true });
27
33
  }
28
34
  exports.installKit = installKit;
35
+ // Points the installed door files at the mobile module's own ai-docs, when the pull brought any; otherwise
36
+ // only clears the kit's slot so the door files read as plain mobile.
37
+ // Patches only the user's workspace copy; installKit rewrites the door files on every pull.
38
+ async function linkModuleAiDocs(root) {
39
+ const relDir = `${(0, modelRefs_1.removeInvalidPathChars)(aiKitResolver_1.MOBILE_MODULE_NAME)}/${AI_DOCS_DIRNAME}`;
40
+ const hasDocs = await (0, promises_1.stat)((0, node_path_1.join)(root, relDir)).then((s) => s.isDirectory(), () => false);
41
+ const firstStep = [
42
+ `1. This app uses the ${aiKitResolver_1.MOBILE_MODULE_NAME} module, which ships its own documentation in [\`${relDir}/\`](${relDir}/).`,
43
+ `Before creating or changing anything, **read [\`${relDir}/index.md\`](${relDir}/index.md) first.** Open the module's other docs only when that file links to them.`,
44
+ ].join(" ");
45
+ for (const door of DOOR_FILES) {
46
+ const path = (0, node_path_1.join)(root, door);
47
+ const text = await (0, promises_1.readFile)(path, "utf8");
48
+ // The slot sits right above the kit's "1." step: the module step takes "1." and the kit's step becomes "2.".
49
+ const patched = hasDocs
50
+ ? text.replace(`${MODULE_STEP_SLOT}\n1. `, `${firstStep}\n2. `)
51
+ : text.replace(`${MODULE_STEP_SLOT}\n`, "");
52
+ await (0, promises_1.writeFile)(path, patched, "utf8");
53
+ }
54
+ }
55
+ exports.linkModuleAiDocs = linkModuleAiDocs;
29
56
  //# sourceMappingURL=kitInstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kitInstall.js","sourceRoot":"","sources":["../../../../src/control/kitInstall.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,oFAAoF;AACpF,qFAAqF;AACrF,+EAA+E;AAC/E,mFAAmF;AACnF,+EAA+E;;;AAE/E,+CAAgD;AAChD,yCAAiC;AAEjC,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,qFAAqF;AACrF,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEhD,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAe;IAC1D,MAAM,KAAK,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI;QACA,MAAM,IAAA,eAAI,EAAC,KAAK,CAAC,CAAC;KACrB;IAAC,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,qBAAqB,UAAU,iCAAiC,CAAC,CAAC;KAC1G;IAED,+EAA+E;IAC/E,MAAM,IAAA,aAAE,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,IAAA,aAAE,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAXD,gCAWC"}
1
+ {"version":3,"file":"kitInstall.js","sourceRoot":"","sources":["../../../../src/control/kitInstall.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,EAAE;AACF,oFAAoF;AACpF,qFAAqF;AACrF,+EAA+E;AAC/E,mFAAmF;AACnF,+EAA+E;;;AAE/E,+CAAqE;AACrE,yCAAiC;AACjC,yEAA2E;AAC3E,4EAAsF;AAEtF,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,qFAAqF;AACrF,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC9C,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,sHAAsH;AACtH,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEtC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAe;IAC1D,MAAM,KAAK,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI;QACA,MAAM,IAAA,eAAI,EAAC,KAAK,CAAC,CAAC;KACrB;IAAC,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,qBAAqB,UAAU,iCAAiC,CAAC,CAAC;KAC1G;IAED,+EAA+E;IAC/E,MAAM,IAAA,aAAE,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,IAAA,aAAE,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAXD,gCAWC;AAED,2GAA2G;AAC3G,qEAAqE;AACrE,4FAA4F;AACrF,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC/C,MAAM,MAAM,GAAG,GAAG,IAAA,kCAAsB,EAAC,kCAAkB,CAAC,IAAI,eAAe,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,IAAA,eAAI,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAEzF,MAAM,SAAS,GAAG;QACd,wBAAwB,kCAAkB,oDAAoD,MAAM,QAAQ,MAAM,KAAK;QACvH,mDAAmD,MAAM,gBAAgB,MAAM,qFAAqF;KACvK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,6GAA6G;QAC7G,MAAM,OAAO,GAAG,OAAO;YACnB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,OAAO,EAAE,GAAG,SAAS,OAAO,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAC1C;AACL,CAAC;AAjBD,4CAiBC"}
@@ -54,12 +54,13 @@ async function writeModel(root, fsModel, inReadOnlyList) {
54
54
  }
55
55
  exports.writeModel = writeModel;
56
56
  function resolveKitName(payload) {
57
- const { appType, kitName } = (0, aiKitResolver_1.resolveKitName)(new Set(payload.models.map((m) => m.modelType)));
57
+ const moduleNames = new Set(payload.models.map((m) => m.ownerName).filter((n) => !!n));
58
+ const { appType, kitName } = (0, aiKitResolver_1.resolveKitName)(new Set(payload.models.map((m) => m.modelType)), moduleNames);
58
59
  logger_1.logger.info(`app type: ${appType}`);
59
- return kitName;
60
+ return { appType, kitName };
60
61
  }
61
62
  async function pull(root, payload, onProgress) {
62
- const kitName = resolveKitName(payload);
63
+ const { appType, kitName } = resolveKitName(payload);
63
64
  const readOnlyIds = new Set(payload.readOnlyModelIds);
64
65
  const modelTotal = payload.models.length;
65
66
  const state = {};
@@ -85,6 +86,8 @@ async function pull(root, payload, onProgress) {
85
86
  }
86
87
  await (0, state_1.writeState)(root, state);
87
88
  await (0, kitInstall_1.installKit)(root, kitName);
89
+ if (appType === "mobile")
90
+ await (0, kitInstall_1.linkModuleAiDocs)(root);
88
91
  return { total, readOnly, failed };
89
92
  }
90
93
  exports.pull = pull;
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../../src/control/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../../src/control/pull.ts"],"names":[],"mappings":"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"}