@stechquick/studio-cli 4.0.3-2

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 (569) hide show
  1. package/dist/common/clean/domain/infrastructure/ICloudProviderFileSystem.js +5 -0
  2. package/dist/common/clean/domain/infrastructure/ICloudProviderFileSystem.js.map +1 -0
  3. package/dist/common/clean/domain/infrastructure/ICrypto.js +5 -0
  4. package/dist/common/clean/domain/infrastructure/ICrypto.js.map +1 -0
  5. package/dist/common/clean/domain/infrastructure/ILogger.js +5 -0
  6. package/dist/common/clean/domain/infrastructure/ILogger.js.map +1 -0
  7. package/dist/common/clean/domain/infrastructure/IMime.js +5 -0
  8. package/dist/common/clean/domain/infrastructure/IMime.js.map +1 -0
  9. package/dist/common/clean/domain/useCases/ICloudProvider.js +3 -0
  10. package/dist/common/clean/domain/useCases/ICloudProvider.js.map +1 -0
  11. package/dist/common/clean/domain/useCases/ICloudProviderPublish.js +5 -0
  12. package/dist/common/clean/domain/useCases/ICloudProviderPublish.js.map +1 -0
  13. package/dist/common/everything/accessmanager/types.js +8 -0
  14. package/dist/common/everything/accessmanager/types.js.map +1 -0
  15. package/dist/common/everything/action/types.js +5 -0
  16. package/dist/common/everything/action/types.js.map +1 -0
  17. package/dist/common/everything/befunc/runtimeModels/types.js +5 -0
  18. package/dist/common/everything/befunc/runtimeModels/types.js.map +1 -0
  19. package/dist/common/everything/dataSet/runtimemodels/types.js +5 -0
  20. package/dist/common/everything/dataSet/runtimemodels/types.js.map +1 -0
  21. package/dist/common/everything/dataType/runtimemodels/types.js +35 -0
  22. package/dist/common/everything/dataType/runtimemodels/types.js.map +1 -0
  23. package/dist/common/everything/endpoint/runtimeModels/types.js +5 -0
  24. package/dist/common/everything/endpoint/runtimeModels/types.js.map +1 -0
  25. package/dist/common/everything/enum/runtimeModels/types.js +3 -0
  26. package/dist/common/everything/enum/runtimeModels/types.js.map +1 -0
  27. package/dist/common/everything/flow/runtimeModels/types.js +7 -0
  28. package/dist/common/everything/flow/runtimeModels/types.js.map +1 -0
  29. package/dist/common/everything/restService/runtimeModels/types.js +5 -0
  30. package/dist/common/everything/restService/runtimeModels/types.js.map +1 -0
  31. package/dist/common/everything/sla/runtimemodels/types.js +5 -0
  32. package/dist/common/everything/sla/runtimemodels/types.js.map +1 -0
  33. package/dist/common/everything/soapService/runtimeModels/types.js +6 -0
  34. package/dist/common/everything/soapService/runtimeModels/types.js.map +1 -0
  35. package/dist/common/everything/studio/ui/IStudioUIModelBase.js +3 -0
  36. package/dist/common/everything/studio/ui/IStudioUIModelBase.js.map +1 -0
  37. package/dist/common/everything/studio/ui/IStudioUIObjectBase.js +3 -0
  38. package/dist/common/everything/studio/ui/IStudioUIObjectBase.js.map +1 -0
  39. package/dist/common/everything/workflow/runtimemodels/types.js +90 -0
  40. package/dist/common/everything/workflow/runtimemodels/types.js.map +1 -0
  41. package/dist/common/helpers/objectHelper.js +43 -0
  42. package/dist/common/helpers/objectHelper.js.map +1 -0
  43. package/dist/common/helpers/promiseHelper.js +47 -0
  44. package/dist/common/helpers/promiseHelper.js.map +1 -0
  45. package/dist/common/helpers/typeHelper.js +3 -0
  46. package/dist/common/helpers/typeHelper.js.map +1 -0
  47. package/dist/common/qCloudTemp/announcement.js +3 -0
  48. package/dist/common/qCloudTemp/announcement.js.map +1 -0
  49. package/dist/common/qCloudTemp/application.js +3 -0
  50. package/dist/common/qCloudTemp/application.js.map +1 -0
  51. package/dist/common/qCloudTemp/applicationCopy.js +3 -0
  52. package/dist/common/qCloudTemp/applicationCopy.js.map +1 -0
  53. package/dist/common/qCloudTemp/applicationVersion.js +3 -0
  54. package/dist/common/qCloudTemp/applicationVersion.js.map +1 -0
  55. package/dist/common/qCloudTemp/authentication.js +3 -0
  56. package/dist/common/qCloudTemp/authentication.js.map +1 -0
  57. package/dist/common/qCloudTemp/authorization.js +4 -0
  58. package/dist/common/qCloudTemp/authorization.js.map +1 -0
  59. package/dist/common/qCloudTemp/backoffice.js +3 -0
  60. package/dist/common/qCloudTemp/backoffice.js.map +1 -0
  61. package/dist/common/qCloudTemp/exporter.js +3 -0
  62. package/dist/common/qCloudTemp/exporter.js.map +1 -0
  63. package/dist/common/qCloudTemp/externalToken.js +3 -0
  64. package/dist/common/qCloudTemp/externalToken.js.map +1 -0
  65. package/dist/common/qCloudTemp/feedback.js +3 -0
  66. package/dist/common/qCloudTemp/feedback.js.map +1 -0
  67. package/dist/common/qCloudTemp/invitation.js +3 -0
  68. package/dist/common/qCloudTemp/invitation.js.map +1 -0
  69. package/dist/common/qCloudTemp/membership.js +3 -0
  70. package/dist/common/qCloudTemp/membership.js.map +1 -0
  71. package/dist/common/qCloudTemp/modelDatas.js +3 -0
  72. package/dist/common/qCloudTemp/modelDatas.js.map +1 -0
  73. package/dist/common/qCloudTemp/organizationGroupApplication.js +3 -0
  74. package/dist/common/qCloudTemp/organizationGroupApplication.js.map +1 -0
  75. package/dist/common/qCloudTemp/quickCloud.js +34 -0
  76. package/dist/common/qCloudTemp/quickCloud.js.map +1 -0
  77. package/dist/common/qCloudTemp/storageTypes.js +3 -0
  78. package/dist/common/qCloudTemp/storageTypes.js.map +1 -0
  79. package/dist/common/qCloudTemp/symDtoObjects.js +8 -0
  80. package/dist/common/qCloudTemp/symDtoObjects.js.map +1 -0
  81. package/dist/common/qCloudTemp/tags.js +3 -0
  82. package/dist/common/qCloudTemp/tags.js.map +1 -0
  83. package/dist/common/qCloudTemp/template.js +107 -0
  84. package/dist/common/qCloudTemp/template.js.map +1 -0
  85. package/dist/common/qCloudTemp/userPreference.js +3 -0
  86. package/dist/common/qCloudTemp/userPreference.js.map +1 -0
  87. package/dist/common/qCloudTemp/userRequest.js +8 -0
  88. package/dist/common/qCloudTemp/userRequest.js.map +1 -0
  89. package/dist/common/studioCli/messages.js +14 -0
  90. package/dist/common/studioCli/messages.js.map +1 -0
  91. package/dist/common/studioCli/protocolVersion.js +14 -0
  92. package/dist/common/studioCli/protocolVersion.js.map +1 -0
  93. package/dist/jobs/src/application/shared/fileUrlCreator.js +72 -0
  94. package/dist/jobs/src/application/shared/fileUrlCreator.js.map +1 -0
  95. package/dist/jobs/src/domain/model/IExportJob.js +3 -0
  96. package/dist/jobs/src/domain/model/IExportJob.js.map +1 -0
  97. package/dist/studio-cli/src/.ai-kit/.mcp.json +8 -0
  98. package/dist/studio-cli/src/.ai-kit/AGENTS.md +18 -0
  99. package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-legacy.md +29 -0
  100. package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-s.md +30 -0
  101. package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE.md +86 -0
  102. package/dist/studio-cli/src/.ai-kit/CLAUDE.md +12 -0
  103. package/dist/studio-cli/src/.ai-kit/README.md +81 -0
  104. package/dist/studio-cli/src/.ai-kit/agents/qjson-legacy-migrator.md +308 -0
  105. package/dist/studio-cli/src/.ai-kit/agents/quick-events.md +41 -0
  106. package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-legacy.md +29 -0
  107. package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-s.md +29 -0
  108. package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author.md +33 -0
  109. package/dist/studio-cli/src/.ai-kit/agents/quick-styling-legacy.md +37 -0
  110. package/dist/studio-cli/src/.ai-kit/agents/quick-styling.md +36 -0
  111. package/dist/studio-cli/src/.ai-kit/examples/README.md +12 -0
  112. package/dist/studio-cli/src/.ai-kit/examples/cssClass/AllowdDates.qjson +122 -0
  113. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Avatarlar.qjson +1084 -0
  114. package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart.qjson +1061 -0
  115. package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart_Type_Time_Sample.qjson +344 -0
  116. package/dist/studio-cli/src/.ai-kit/examples/cssClass/BottomSheetScrollWithHeaderInformation.qjson +1609 -0
  117. package/dist/studio-cli/src/.ai-kit/examples/cssClass/CardTitle.qjson +143 -0
  118. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_Custom_Legend_Sample.qjson +763 -0
  119. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_tooltipLabel_sample.qjson +631 -0
  120. package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckBoxQvalue.qjson +91 -0
  121. package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckboxDisabledExample.qjson +153 -0
  122. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Click Outside.qjson +144 -0
  123. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboBoxReset.qjson +839 -0
  124. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithDialog.qjson +296 -0
  125. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithTextField.qjson +186 -0
  126. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxDefaultSelection.qjson +99 -0
  127. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxWithTreeView.qjson +94 -0
  128. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Combobox_SelectAll.qjson +704 -0
  129. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComponentsInteractionExamples.qjson +722 -0
  130. package/dist/studio-cli/src/.ai-kit/examples/cssClass/CookieExamples.qjson +828 -0
  131. package/dist/studio-cli/src/.ai-kit/examples/cssClass/CreateComponent_WithTransmitDataSource_Sample.qjson +749 -0
  132. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Cryptography-with-ivKey.qjson +2159 -0
  133. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Dashboard.qjson +1135 -0
  134. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataExamples.qjson +696 -0
  135. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataStorageExamples.qjson +1296 -0
  136. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable-Single-select-Multi-Select-TotalCalculation.qjson +441 -0
  137. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableAddRemoveItem.qjson +312 -0
  138. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableBoldHeader.qjson +34 -0
  139. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableEdit.qjson +422 -0
  140. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableFixedColumn.qjson +133 -0
  141. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableIndexExample.qjson +117 -0
  142. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableSearch.qjson +105 -0
  143. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableVerticalBorder.qjson +34 -0
  144. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableWithTooltip.qjson +354 -0
  145. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable_ChildButtonVisibleSample.qjson +892 -0
  146. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerExampleApp (1).qjson +770 -0
  147. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerInlineExample.qjson +299 -0
  148. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerLocale.qjson +87 -0
  149. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerDatenow.qjson +96 -0
  150. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerExample.qjson +147 -0
  151. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Row_Expand.qjson +388 -0
  152. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Rows.qjson +114 -0
  153. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogBlockSubPage.qjson +1014 -0
  154. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExample.qjson +420 -0
  155. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExampleWith/304/261con.qjson +345 -0
  156. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogWithEagerProp.qjson +129 -0
  157. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DoughnutChart.qjson +1005 -0
  158. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Download.qjson +139 -0
  159. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnChooser.qjson +341 -0
  160. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnFixing.qjson +317 -0
  161. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumn_fix_allowFixing.qjson +466 -0
  162. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxExport.qjson +225 -0
  163. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxFilterRow.qjson +174 -0
  164. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxSearchPanel.qjson +170 -0
  165. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-columnAutoWidth.qjson +135 -0
  166. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveCon.qjson +201 -0
  167. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveConReason.qjson +290 -0
  168. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFilterCleaning.qjson +358 -0
  169. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFiltering.qjson +300 -0
  170. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridRowDragging.qjson +257 -0
  171. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_MultipleSelection.qjson +503 -0
  172. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_ServiceCall.qjson +204 -0
  173. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SimplestGridWithArrayStore.qjson +215 -0
  174. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SingleSelection.qjson +337 -0
  175. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_allowFixing.qjson +321 -0
  176. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_columnResizingMode.qjson +718 -0
  177. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_hoverStateEnabled.qjson +144 -0
  178. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_onCellClickEvent.qjson +147 -0
  179. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_width_menu.qjson +574 -0
  180. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreeListArrStoreLiveCon.qjson +302 -0
  181. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-color.qjson +237 -0
  182. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-columnreordering.qjson +241 -0
  183. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-editing.qjson +1471 -0
  184. package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-extarnelfiltre.qjson +122 -0
  185. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Expansion_Panels.qjson +298 -0
  186. package/dist/studio-cli/src/.ai-kit/examples/cssClass/FileInput.qjson +228 -0
  187. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Frame_openHtmlContentInFrame.qjson +556 -0
  188. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Highlight_datatable_select.qjson +53 -0
  189. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Icon_Samples.qjson +148 -0
  190. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Instructions.request.qjson +605 -0
  191. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Intersect.qjson +423 -0
  192. package/dist/studio-cli/src/.ai-kit/examples/cssClass/LightBox.qjson +809 -0
  193. package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart.qjson +1046 -0
  194. package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart_Type_Time_Sample.qjson +340 -0
  195. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ListExample.qjson +475 -0
  196. package/dist/studio-cli/src/.ai-kit/examples/cssClass/LoginPage.qjson +525 -0
  197. package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMDelay.qjson +356 -0
  198. package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMtrigger.qjson +195 -0
  199. package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerExample.qjson +808 -0
  200. package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerWithAppBar.qjson +1621 -0
  201. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Parallax.qjson +381 -0
  202. package/dist/studio-cli/src/.ai-kit/examples/cssClass/PermanentStore_Example.qjson +1445 -0
  203. package/dist/studio-cli/src/.ai-kit/examples/cssClass/PieChart.qjson +1005 -0
  204. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Profile_Card.qjson +345 -0
  205. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ProgressLinear.qjson +547 -0
  206. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QCaptcha.qjson +318 -0
  207. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QDocumentViewer.qjson +41 -0
  208. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameAllowFullScreenExample.qjson +368 -0
  209. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameExample.qjson +117 -0
  210. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QIdleTimer.qjson +100 -0
  211. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomRotate.qjson +428 -0
  212. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeNextTo.qjson +187 -0
  213. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeOn.qjson +187 -0
  214. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL.qjson +105 -0
  215. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL_Click.qjson +133 -0
  216. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend.qjson +501 -0
  217. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegendBlock.qjson +732 -0
  218. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend_unchanged.qjson +746 -0
  219. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMapExample.qjson +785 -0
  220. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMenuExample.qjson +68 -0
  221. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QOtp.qjson +979 -0
  222. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QQRCode.qjson +295 -0
  223. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QReCaptcha.qjson +361 -0
  224. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichTextExample.qjson +139 -0
  225. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichText_Cursor_Sample.qjson +352 -0
  226. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QTutorialFinalDemo.qjson +494 -0
  227. package/dist/studio-cli/src/.ai-kit/examples/cssClass/QVideoExample.qjson +1135 -0
  228. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qlabel_Props.qjson +1591 -0
  229. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qmenu-Icon-Img-SizeandColor.qjson +244 -0
  230. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind.qjson +110 -0
  231. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind_Sample.qjson +172 -0
  232. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Rating.qjson +101 -0
  233. package/dist/studio-cli/src/.ai-kit/examples/cssClass/RenderingComponent_Sample.qjson +1592 -0
  234. package/dist/studio-cli/src/.ai-kit/examples/cssClass/RequestExamples.qjson +680 -0
  235. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ResetValidation-ResetUsage.qjson +1326 -0
  236. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Resize.qjson +140 -0
  237. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Ripple.qjson +431 -0
  238. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Sparkline.qjson +386 -0
  239. package/dist/studio-cli/src/.ai-kit/examples/cssClass/State_storing.qjson +286 -0
  240. package/dist/studio-cli/src/.ai-kit/examples/cssClass/SwitchComponent.qjson +42 -0
  241. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Pagination.qjson +99 -0
  242. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Search.qjson +64 -0
  243. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Select.qjson +106 -0
  244. package/dist/studio-cli/src/.ai-kit/examples/cssClass/ToolTip_props.qjson +2649 -0
  245. package/dist/studio-cli/src/.ai-kit/examples/cssClass/TooltipDisplayOfVDataTableDataTotal.qjson +312 -0
  246. package/dist/studio-cli/src/.ai-kit/examples/cssClass/TreeViewExample.qjson +92 -0
  247. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAppBar.qjson +1681 -0
  248. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAutocompleteRegex.qjson +45 -0
  249. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VBottomSheet.qjson +429 -0
  250. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCard.qjson +1945 -0
  251. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCombobox_customValidation.qjson +290 -0
  252. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable-slot-columnVeriyeG/303/266reRenklendirme.qjson +493 -0
  253. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableIconExample.qjson +116 -0
  254. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableItemAggregation.qjson +499 -0
  255. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Change_FooterPageText.qjson +107 -0
  256. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Multiple_Select_Control.qjson +50 -0
  257. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetGetComboboxValue_.qjson +148 -0
  258. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetItemSelect_GetSelection.qjson +627 -0
  259. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SlotInstances.qjson +362 -0
  260. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Validation.qjson +226 -0
  261. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_With_QTableCell_Sample.qjson +281 -0
  262. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_customSearchFilter.qjson +255 -0
  263. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_firstColumn_fixedActionsColumn.qjson +216 -0
  264. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_uniqueSlot_itemKey_Object.qjson +545 -0
  265. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDatePicker_AllowdDates.qjson +89 -0
  266. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDialog.qjson +3512 -0
  267. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VExpansionPanel_UsageAndProps.qjson +3811 -0
  268. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput-Slot-VIcon-Dolu.qjson +232 -0
  269. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInputGetUploadedContent.qjson +111 -0
  270. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput_ImagePicker.qjson +308 -0
  271. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFooter.qjson +1480 -0
  272. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VForm.qjson +410 -0
  273. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFormActionExample.qjson +2289 -0
  274. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatePicker_titleDateFormat.qjson +319 -0
  275. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerMaxMin.qjson +36 -0
  276. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerReset.qjson +88 -0
  277. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineTimePicker.qjson +149 -0
  278. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VListGroup.qjson +1817 -0
  279. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VList_NavigationMenu.qjson +1636 -0
  280. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_PopoverInTable.qjson +534 -0
  281. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_sample.qjson +470 -0
  282. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepperExample.qjson +748 -0
  283. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepper_vertical.qjson +364 -0
  284. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_EditableNonLinear.qjson +658 -0
  285. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_LinearWithContinueButton.qjson +719 -0
  286. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldQuickInputFormat.qjson +40 -0
  287. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldValidation.qjson +1087 -0
  288. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_FocusExample.qjson +329 -0
  289. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_Validation_examples.qjson +877 -0
  290. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_customValidation.qjson +159 -0
  291. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSample1.qjson +40 -0
  292. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSapmle2.qjson +40 -0
  293. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_exceptLetters.qjson +40 -0
  294. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_specialChars.qjson +40 -0
  295. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_keyDown.qjson +37 -0
  296. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_rangeOfNumber_validation.qjson +55 -0
  297. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextareaQuickInputFormat.qjson +37 -0
  298. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextarea_format_regex_sample.qjson +321 -0
  299. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTimelineExample.qjson +322 -0
  300. package/dist/studio-cli/src/.ai-kit/examples/cssClass/Vcontainer.qjson +417 -0
  301. package/dist/studio-cli/src/.ai-kit/examples/cssClass/VinlineDatePicker.qjson +61 -0
  302. package/dist/studio-cli/src/.ai-kit/examples/cssClass/V/304/261nlineDatepickerDeleteValue.qjson +304 -0
  303. package/dist/studio-cli/src/.ai-kit/examples/cssClass/alert.qjson +459 -0
  304. package/dist/studio-cli/src/.ai-kit/examples/cssClass/alertSamplePage.qjson +455 -0
  305. package/dist/studio-cli/src/.ai-kit/examples/cssClass/authorizationDashboard.qjson +24914 -0
  306. package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge copy.qjson +158 -0
  307. package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge.qjson +158 -0
  308. package/dist/studio-cli/src/.ai-kit/examples/cssClass/bottomSheetScrollable.qjson +3220 -0
  309. package/dist/studio-cli/src/.ai-kit/examples/cssClass/breadcrumbs.qjson +587 -0
  310. package/dist/studio-cli/src/.ai-kit/examples/cssClass/button.qjson +1765 -0
  311. package/dist/studio-cli/src/.ai-kit/examples/cssClass/cellTemplate.qjson +76 -0
  312. package/dist/studio-cli/src/.ai-kit/examples/cssClass/combobox.qjson +90 -0
  313. package/dist/studio-cli/src/.ai-kit/examples/cssClass/comboboxSelected.qjson +118 -0
  314. package/dist/studio-cli/src/.ai-kit/examples/cssClass/createChildren.qjson +406 -0
  315. package/dist/studio-cli/src/.ai-kit/examples/cssClass/createClosedPanes.qjson +245 -0
  316. package/dist/studio-cli/src/.ai-kit/examples/cssClass/creditcard.qjson +28 -0
  317. package/dist/studio-cli/src/.ai-kit/examples/cssClass/crypto.qjson +5965 -0
  318. package/dist/studio-cli/src/.ai-kit/examples/cssClass/customFilterUsingCalculateFilterExpressionEvent.qjson +305 -0
  319. package/dist/studio-cli/src/.ai-kit/examples/cssClass/customStore.qjson +156 -0
  320. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dataTableFormatColumn.qjson +151 -0
  321. package/dist/studio-cli/src/.ai-kit/examples/cssClass/data_table_component_access.qjson +130 -0
  322. package/dist/studio-cli/src/.ai-kit/examples/cssClass/datagridAddDynamicColumn.qjson +1381 -0
  323. package/dist/studio-cli/src/.ai-kit/examples/cssClass/datatableAddandDeleteItem.qjson +1195 -0
  324. package/dist/studio-cli/src/.ai-kit/examples/cssClass/deleteComponent.qjson +533 -0
  325. package/dist/studio-cli/src/.ai-kit/examples/cssClass/divider.qjson +185 -0
  326. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxColumncssClass.qjson +249 -0
  327. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridAddinEditingDeleting.qjson +486 -0
  328. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridLines.qjson +120 -0
  329. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridRemove.qjson +216 -0
  330. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridHeatMap.qjson +334 -0
  331. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridUpdate.qjson +80 -0
  332. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxMasterDetail.qjson +261 -0
  333. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxPaging_withServiceCall.qjson +159 -0
  334. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxRowDragging.qjson +179 -0
  335. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxSummary_dxTotalItem_usage.qjson +219 -0
  336. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTotalItemCustomizeText.qjson +226 -0
  337. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTreeList_exportToExcel.qjson +266 -0
  338. package/dist/studio-cli/src/.ai-kit/examples/cssClass/dynamicComp.qjson +162 -0
  339. package/dist/studio-cli/src/.ai-kit/examples/cssClass/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  340. package/dist/studio-cli/src/.ai-kit/examples/cssClass/email.qjson +29 -0
  341. package/dist/studio-cli/src/.ai-kit/examples/cssClass/encoding.qjson +304 -0
  342. package/dist/studio-cli/src/.ai-kit/examples/cssClass/encryptedStorage_Sample.qjson +596 -0
  343. package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileInput-1.qjson +904 -0
  344. package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadBlockComponent.qjson +68 -0
  345. package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadServiceCallBlockComp.qjson +128 -0
  346. package/dist/studio-cli/src/.ai-kit/examples/cssClass/findAndDeleteRelatedDynamicComp.qjson +211 -0
  347. package/dist/studio-cli/src/.ai-kit/examples/cssClass/first.qjson +57 -0
  348. package/dist/studio-cli/src/.ai-kit/examples/cssClass/fixedActionsColumn.qjson +133 -0
  349. package/dist/studio-cli/src/.ai-kit/examples/cssClass/formatWithFormatType.qjson +1740 -0
  350. package/dist/studio-cli/src/.ai-kit/examples/cssClass/getComponent_example.qjson +491 -0
  351. package/dist/studio-cli/src/.ai-kit/examples/cssClass/globalLocalization.qjson +189 -0
  352. package/dist/studio-cli/src/.ai-kit/examples/cssClass/goldenLayout.qjson +228 -0
  353. package/dist/studio-cli/src/.ai-kit/examples/cssClass/images.qjson +1461 -0
  354. package/dist/studio-cli/src/.ai-kit/examples/cssClass/list.qjson +162 -0
  355. package/dist/studio-cli/src/.ai-kit/examples/cssClass/localization_AddLanguageRTL_Sample.qjson +1192 -0
  356. package/dist/studio-cli/src/.ai-kit/examples/cssClass/newCustomerRegister.qjson +2598 -0
  357. package/dist/studio-cli/src/.ai-kit/examples/cssClass/number.qjson +41 -0
  358. package/dist/studio-cli/src/.ai-kit/examples/cssClass/number_VTextarea.qjson +37 -0
  359. package/dist/studio-cli/src/.ai-kit/examples/cssClass/onlyAlphabetic.qjson +32 -0
  360. package/dist/studio-cli/src/.ai-kit/examples/cssClass/parentPage.qjson +292 -0
  361. package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipeline.qjson +77 -0
  362. package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipelineSample.qjson +422 -0
  363. package/dist/studio-cli/src/.ai-kit/examples/cssClass/placeQidDynamic.qjson +193 -0
  364. package/dist/studio-cli/src/.ai-kit/examples/cssClass/progress-circular.qjson +1056 -0
  365. package/dist/studio-cli/src/.ai-kit/examples/cssClass/qtimer.qjson +335 -0
  366. package/dist/studio-cli/src/.ai-kit/examples/cssClass/radioGroupGetValues.qjson +125 -0
  367. package/dist/studio-cli/src/.ai-kit/examples/cssClass/region_definition_example.qjson +580 -0
  368. package/dist/studio-cli/src/.ai-kit/examples/cssClass/resetAndResetValidationUsage.qjson +1827 -0
  369. package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive1.qjson +312 -0
  370. package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive2.qjson +312 -0
  371. package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive3.qjson +1546 -0
  372. package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollButton.qjson +331 -0
  373. package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollDirective.qjson +297 -0
  374. package/dist/studio-cli/src/.ai-kit/examples/cssClass/selectedRow-propertyDisable.qjson +238 -0
  375. package/dist/studio-cli/src/.ai-kit/examples/cssClass/serviceCallerBlockComponent.qjson +63 -0
  376. package/dist/studio-cli/src/.ai-kit/examples/cssClass/sheet.qjson +149 -0
  377. package/dist/studio-cli/src/.ai-kit/examples/cssClass/slider.qjson +81 -0
  378. package/dist/studio-cli/src/.ai-kit/examples/cssClass/snackbars.qjson +2454 -0
  379. package/dist/studio-cli/src/.ai-kit/examples/cssClass/sso.qjson +260 -0
  380. package/dist/studio-cli/src/.ai-kit/examples/cssClass/subPage.qjson +710 -0
  381. package/dist/studio-cli/src/.ai-kit/examples/cssClass/tab.qjson +271 -0
  382. package/dist/studio-cli/src/.ai-kit/examples/cssClass/tableadditem.qjson +125 -0
  383. package/dist/studio-cli/src/.ai-kit/examples/cssClass/themeExamplePage.qjson +876 -0
  384. package/dist/studio-cli/src/.ai-kit/examples/cssClass/tiffImage.qjson +315 -0
  385. package/dist/studio-cli/src/.ai-kit/examples/cssClass/timePicker.qjson +452 -0
  386. package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview.qjson +156 -0
  387. package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview2.qjson +503 -0
  388. package/dist/studio-cli/src/.ai-kit/examples/cssClass/uniqueRowSlots.qjson +226 -0
  389. package/dist/studio-cli/src/.ai-kit/examples/cssClass/vMenu.qjson +212 -0
  390. package/dist/studio-cli/src/.ai-kit/examples/cssClass/vcarousel.qjson +659 -0
  391. package/dist/studio-cli/src/.ai-kit/examples/cssClass/vdatatable_slots_with_custom_validation_usage.qjson +1585 -0
  392. package/dist/studio-cli/src/.ai-kit/examples/style/AllowdDates.qjson +126 -0
  393. package/dist/studio-cli/src/.ai-kit/examples/style/BarChartEvents.qjson +323 -0
  394. package/dist/studio-cli/src/.ai-kit/examples/style/BarChartTitle.qjson +411 -0
  395. package/dist/studio-cli/src/.ai-kit/examples/style/BarChartYTicks.qjson +399 -0
  396. package/dist/studio-cli/src/.ai-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
  397. package/dist/studio-cli/src/.ai-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
  398. package/dist/studio-cli/src/.ai-kit/examples/style/CalendarUsageExample.qjson +2 -0
  399. package/dist/studio-cli/src/.ai-kit/examples/style/ChartLegendFont.qjson +788 -0
  400. package/dist/studio-cli/src/.ai-kit/examples/style/DataTable_customSort.qjson +277 -0
  401. package/dist/studio-cli/src/.ai-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
  402. package/dist/studio-cli/src/.ai-kit/examples/style/DoughnutChartEvents.qjson +243 -0
  403. package/dist/studio-cli/src/.ai-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
  404. package/dist/studio-cli/src/.ai-kit/examples/style/Icon_Samples.qjson +181 -0
  405. package/dist/studio-cli/src/.ai-kit/examples/style/Instructions.request.qjson +584 -0
  406. package/dist/studio-cli/src/.ai-kit/examples/style/Intersect.qjson +404 -0
  407. package/dist/studio-cli/src/.ai-kit/examples/style/LightBox.qjson +777 -0
  408. package/dist/studio-cli/src/.ai-kit/examples/style/LineChart.qjson +1049 -0
  409. package/dist/studio-cli/src/.ai-kit/examples/style/LineChartEvents.qjson +327 -0
  410. package/dist/studio-cli/src/.ai-kit/examples/style/LineChartPointProps.qjson +416 -0
  411. package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
  412. package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
  413. package/dist/studio-cli/src/.ai-kit/examples/style/MMDelay.qjson +384 -0
  414. package/dist/studio-cli/src/.ai-kit/examples/style/MMtrigger.qjson +209 -0
  415. package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerExample.qjson +899 -0
  416. package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
  417. package/dist/studio-cli/src/.ai-kit/examples/style/Parallax.qjson +416 -0
  418. package/dist/studio-cli/src/.ai-kit/examples/style/PieChart.qjson +1103 -0
  419. package/dist/studio-cli/src/.ai-kit/examples/style/QCaptcha.qjson +409 -0
  420. package/dist/studio-cli/src/.ai-kit/examples/style/QDocumentViewer.qjson +149 -0
  421. package/dist/studio-cli/src/.ai-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
  422. package/dist/studio-cli/src/.ai-kit/examples/style/QFrameExample.qjson +213 -0
  423. package/dist/studio-cli/src/.ai-kit/examples/style/QIdleTimer.qjson +221 -0
  424. package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomRotate.qjson +432 -0
  425. package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
  426. package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
  427. package/dist/studio-cli/src/.ai-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
  428. package/dist/studio-cli/src/.ai-kit/examples/style/VList_NavMenu.qjson +3008 -0
  429. package/dist/studio-cli/src/.ai-kit/examples/style/alertSamplePage.qjson +450 -0
  430. package/dist/studio-cli/src/.ai-kit/examples/style/authorizationDashboard.qjson +24914 -0
  431. package/dist/studio-cli/src/.ai-kit/examples/style/badge.qjson +151 -0
  432. package/dist/studio-cli/src/.ai-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
  433. package/dist/studio-cli/src/.ai-kit/examples/style/breadcrumbs.qjson +563 -0
  434. package/dist/studio-cli/src/.ai-kit/examples/style/button.qjson +1658 -0
  435. package/dist/studio-cli/src/.ai-kit/examples/style/cellTemplate.qjson +96 -0
  436. package/dist/studio-cli/src/.ai-kit/examples/style/combobox.qjson +109 -0
  437. package/dist/studio-cli/src/.ai-kit/examples/style/comboboxSelected.qjson +119 -0
  438. package/dist/studio-cli/src/.ai-kit/examples/style/createChildren.qjson +411 -0
  439. package/dist/studio-cli/src/.ai-kit/examples/style/createClosedPanes.qjson +265 -0
  440. package/dist/studio-cli/src/.ai-kit/examples/style/creditcard.qjson +49 -0
  441. package/dist/studio-cli/src/.ai-kit/examples/style/crypto.qjson +5632 -0
  442. package/dist/studio-cli/src/.ai-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
  443. package/dist/studio-cli/src/.ai-kit/examples/style/customStore.qjson +157 -0
  444. package/dist/studio-cli/src/.ai-kit/examples/style/dataTableFormatColumn.qjson +151 -0
  445. package/dist/studio-cli/src/.ai-kit/examples/style/data_table_component_access.qjson +130 -0
  446. package/dist/studio-cli/src/.ai-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
  447. package/dist/studio-cli/src/.ai-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
  448. package/dist/studio-cli/src/.ai-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
  449. package/dist/studio-cli/src/.ai-kit/examples/style/deleteComponent.qjson +501 -0
  450. package/dist/studio-cli/src/.ai-kit/examples/style/divider.qjson +180 -0
  451. package/dist/studio-cli/src/.ai-kit/examples/style/dxColumncssClass.qjson +249 -0
  452. package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
  453. package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridLines.qjson +121 -0
  454. package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridRemove.qjson +209 -0
  455. package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
  456. package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridUpdate.qjson +80 -0
  457. package/dist/studio-cli/src/.ai-kit/examples/style/dxMasterDetail.qjson +257 -0
  458. package/dist/studio-cli/src/.ai-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
  459. package/dist/studio-cli/src/.ai-kit/examples/style/dxRowDragging.qjson +175 -0
  460. package/dist/studio-cli/src/.ai-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
  461. package/dist/studio-cli/src/.ai-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
  462. package/dist/studio-cli/src/.ai-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
  463. package/dist/studio-cli/src/.ai-kit/examples/style/dynamicComp.qjson +156 -0
  464. package/dist/studio-cli/src/.ai-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
  465. package/dist/studio-cli/src/.ai-kit/examples/style/email.qjson +177 -0
  466. package/dist/studio-cli/src/.ai-kit/examples/style/encoding.qjson +304 -0
  467. package/dist/studio-cli/src/.ai-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
  468. package/dist/studio-cli/src/.ai-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
  469. package/dist/studio-cli/src/.ai-kit/examples/style/images.qjson +1379 -0
  470. package/dist/studio-cli/src/.ai-kit/examples/style/images_olddd.qjson +1366 -0
  471. package/dist/studio-cli/src/.ai-kit/examples/style/newCustomerRegister.qjson +2598 -0
  472. package/dist/studio-cli/src/.ai-kit/examples/style/number.qjson +169 -0
  473. package/dist/studio-cli/src/.ai-kit/examples/style/number_VTextarea.qjson +163 -0
  474. package/dist/studio-cli/src/.ai-kit/examples/style/onlyAlphabetic.qjson +164 -0
  475. package/dist/studio-cli/src/.ai-kit/examples/style/parentPage.qjson +351 -0
  476. package/dist/studio-cli/src/.ai-kit/examples/style/pipeline.qjson +78 -0
  477. package/dist/studio-cli/src/.ai-kit/examples/style/pipelineSample.qjson +410 -0
  478. package/dist/studio-cli/src/.ai-kit/examples/style/placeQidDynamic.qjson +289 -0
  479. package/dist/studio-cli/src/.ai-kit/examples/style/progress-circular.qjson +1014 -0
  480. package/dist/studio-cli/src/.ai-kit/examples/style/samplePageLottie.qjson +696 -0
  481. package/dist/studio-cli/src/.ai-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
  482. package/dist/studio-cli/src/.ai-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
  483. package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure-legacy.md +65 -0
  484. package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure.md +67 -0
  485. package/dist/studio-cli/src/.ai-kit/knowledge/01-properties.md +77 -0
  486. package/dist/studio-cli/src/.ai-kit/knowledge/02-events-and-scripting.md +79 -0
  487. package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots-legacy.md +72 -0
  488. package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots.md +64 -0
  489. package/dist/studio-cli/src/.ai-kit/knowledge/04-styling-legacy.md +73 -0
  490. package/dist/studio-cli/src/.ai-kit/knowledge/04-styling.md +177 -0
  491. package/dist/studio-cli/src/.ai-kit/knowledge/05-components.md +97 -0
  492. package/dist/studio-cli/src/.ai-kit/knowledge/06-services.md +68 -0
  493. package/dist/studio-cli/src/.ai-kit/knowledge/07-localization.md +40 -0
  494. package/dist/studio-cli/src/.ai-kit/knowledge/08-dynamic-components.md +49 -0
  495. package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons-legacy.md +83 -0
  496. package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons.md +87 -0
  497. package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync-legacy.md +69 -0
  498. package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync.md +78 -0
  499. package/dist/studio-cli/src/.ai-kit/knowledge/11-cli-bridge.md +97 -0
  500. package/dist/studio-cli/src/.ai-kit/knowledge/12-render-check.md +45 -0
  501. package/dist/studio-cli/src/.ai-kit/opencode.jsonc +95 -0
  502. package/dist/studio-cli/src/.ai-kit/reference/component-catalog-legacy.md +120 -0
  503. package/dist/studio-cli/src/.ai-kit/reference/component-catalog.md +135 -0
  504. package/dist/studio-cli/src/.ai-kit/reference/component-contracts.json +14964 -0
  505. package/dist/studio-cli/src/.ai-kit/reference/component-index.json +114 -0
  506. package/dist/studio-cli/src/.ai-kit/reference/component-styles.json +6983 -0
  507. package/dist/studio-cli/src/.ai-kit/reference/events-system.md +98 -0
  508. package/dist/studio-cli/src/.ai-kit/reference/layout-system.md +99 -0
  509. package/dist/studio-cli/src/.ai-kit/reference/mapping-S-vuetify-class.md +103 -0
  510. package/dist/studio-cli/src/.ai-kit/reference/qjson-schema-legacy.md +189 -0
  511. package/dist/studio-cli/src/.ai-kit/reference/qjson-schema.md +188 -0
  512. package/dist/studio-cli/src/.ai-kit/reference/quick-api.md +248 -0
  513. package/dist/studio-cli/src/.ai-kit/reference/styling-system.md +193 -0
  514. package/dist/studio-cli/src/.ai-kit/skills/figma-to-qjson/SKILL.md +116 -0
  515. package/dist/studio-cli/src/.ai-kit/skills/quick-qjson/SKILL.md +36 -0
  516. package/dist/studio-cli/src/.ai-kit/tools/README.md +42 -0
  517. package/dist/studio-cli/src/control/controlClient.js +119 -0
  518. package/dist/studio-cli/src/control/controlClient.js.map +1 -0
  519. package/dist/studio-cli/src/control/convertToBlock.js +70 -0
  520. package/dist/studio-cli/src/control/convertToBlock.js.map +1 -0
  521. package/dist/studio-cli/src/control/pickWorkspaceDir.js +105 -0
  522. package/dist/studio-cli/src/control/pickWorkspaceDir.js.map +1 -0
  523. package/dist/studio-cli/src/control/protocolHandler.js +60 -0
  524. package/dist/studio-cli/src/control/protocolHandler.js.map +1 -0
  525. package/dist/studio-cli/src/control/pull.js +135 -0
  526. package/dist/studio-cli/src/control/pull.js.map +1 -0
  527. package/dist/studio-cli/src/control/push.js +113 -0
  528. package/dist/studio-cli/src/control/push.js.map +1 -0
  529. package/dist/studio-cli/src/control/registerProtocol.js +251 -0
  530. package/dist/studio-cli/src/control/registerProtocol.js.map +1 -0
  531. package/dist/studio-cli/src/control/startWorking.js +70 -0
  532. package/dist/studio-cli/src/control/startWorking.js.map +1 -0
  533. package/dist/studio-cli/src/control/workspaceSetup.js +66 -0
  534. package/dist/studio-cli/src/control/workspaceSetup.js.map +1 -0
  535. package/dist/studio-cli/src/index.js +193 -0
  536. package/dist/studio-cli/src/index.js.map +1 -0
  537. package/dist/studio-cli/src/isolatedCommands/figmaPull.js +207 -0
  538. package/dist/studio-cli/src/isolatedCommands/figmaPull.js.map +1 -0
  539. package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js +26 -0
  540. package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js.map +1 -0
  541. package/dist/studio-cli/src/isolatedCommands/validateQjson.js +560 -0
  542. package/dist/studio-cli/src/isolatedCommands/validateQjson.js.map +1 -0
  543. package/dist/studio-cli/src/isolatedCommands/validateStyles.js +672 -0
  544. package/dist/studio-cli/src/isolatedCommands/validateStyles.js.map +1 -0
  545. package/dist/studio-cli/src/server/bridgeServer.js +817 -0
  546. package/dist/studio-cli/src/server/bridgeServer.js.map +1 -0
  547. package/dist/studio-cli/src/server/peer.js +119 -0
  548. package/dist/studio-cli/src/server/peer.js.map +1 -0
  549. package/dist/studio-cli/src/server/serverInfo.js +59 -0
  550. package/dist/studio-cli/src/server/serverInfo.js.map +1 -0
  551. package/dist/studio-cli/src/server/wsRaw.js +252 -0
  552. package/dist/studio-cli/src/server/wsRaw.js.map +1 -0
  553. package/dist/studio-cli/src/util/frontmatter.js +71 -0
  554. package/dist/studio-cli/src/util/frontmatter.js.map +1 -0
  555. package/dist/studio-cli/src/util/logger.js +28 -0
  556. package/dist/studio-cli/src/util/logger.js.map +1 -0
  557. package/dist/studio-cli/src/util/modelRef.js +38 -0
  558. package/dist/studio-cli/src/util/modelRef.js.map +1 -0
  559. package/dist/studio-cli/src/util/state.js +36 -0
  560. package/dist/studio-cli/src/util/state.js.map +1 -0
  561. package/dist/studio-cli/src/version.js +6 -0
  562. package/dist/studio-cli/src/version.js.map +1 -0
  563. package/dist/ui/src/common/promiseHelper.js +6 -0
  564. package/dist/ui/src/common/promiseHelper.js.map +1 -0
  565. package/dist/ui/src/domain/model/IObject.js +3 -0
  566. package/dist/ui/src/domain/model/IObject.js.map +1 -0
  567. package/dist/ui/src/domain/model/models.js +163 -0
  568. package/dist/ui/src/domain/model/models.js.map +1 -0
  569. package/package.json +32 -0
@@ -0,0 +1,560 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.formatQjsonReport = exports.validateQjson = exports.validateFile = exports.collect = void 0;
8
+ /**
9
+ * validate_qjson.ts — zero-dependency structural validator for Quick .qjson files.
10
+ *
11
+ * Catches the errors the official Quick compiler does NOT: missing required ICompJson
12
+ * fields (T, P, E, C, _Editor — and the required members within them: P.ID.H, each
13
+ * property's H/T, each event's H, each slot's cType/c, _Editor.eID), invalid component T,
14
+ * duplicate IDs, PType mistakes, dOpt/class drift, etc. Omitting a required field is what
15
+ * makes Studio fail to open a page, and the compiler (handler syntax/types only) misses it.
16
+ * For deep TS/QScript syntax/type checking, also run the official compiler CLI
17
+ * (see tools/README.md).
18
+ *
19
+ * Run: npx tsx validate_qjson.ts <file.qjson | folder> [--json] [--quiet]
20
+ *
21
+ * Exit code: 0 if no ERRORs, 1 if any ERROR found.
22
+ */
23
+ const node_fs_1 = __importDefault(require("node:fs"));
24
+ const node_path_1 = __importDefault(require("node:path"));
25
+ // ---- locate the kit root (the dir holding reference/ or .ai-kit/reference/). Resolves from
26
+ // the FILE being validated first — so when this runs bundled inside the studio CLI it finds
27
+ // the user's workspace `.ai-kit/reference/` — then falls back to __dirname (so it still works
28
+ // when run standalone from tools/). Returns null when no reference data is found. ----
29
+ function findKitRoot(startDir) {
30
+ let dir = startDir;
31
+ for (let i = 0; i < 8; i++) {
32
+ if (node_fs_1.default.existsSync(node_path_1.default.join(dir, "reference", "component-index.json")))
33
+ return dir;
34
+ if (node_fs_1.default.existsSync(node_path_1.default.join(dir, ".ai-kit", "reference", "component-index.json")))
35
+ return node_path_1.default.join(dir, ".ai-kit");
36
+ const parent = node_path_1.default.dirname(dir);
37
+ if (parent === dir)
38
+ break;
39
+ dir = parent;
40
+ }
41
+ return null;
42
+ }
43
+ // ---- reference data (component registry + per-component contracts). Loaded lazily and cached
44
+ // per kit root, so one process can validate files across different workspaces. Both are optional:
45
+ // without them the structural checks (IDs, PType/HL, dOpt sync, ...) still run; only the
46
+ // registry/contract-backed checks (unknown T, unknown prop/event) are skipped. ----
47
+ const registry = { valid: null, chartNotReal: new Set() };
48
+ let contracts = null;
49
+ let loadedRoot;
50
+ function loadReference(startDir) {
51
+ const kitRoot = findKitRoot(startDir) ?? findKitRoot(__dirname);
52
+ if (kitRoot === loadedRoot)
53
+ return; // already loaded for this root (undefined = never loaded)
54
+ loadedRoot = kitRoot;
55
+ const refFile = (name) => node_path_1.default.join(kitRoot ?? "", "reference", name);
56
+ // component registry
57
+ try {
58
+ const idx = JSON.parse(node_fs_1.default.readFileSync(refFile("component-index.json"), "utf8"));
59
+ const all = [].concat(idx.vuetify || [], idx.quick || [], idx.chart || [], idx.lifecycle || [], idx.placeholderOrSpecial || [], idx.devexpress || []);
60
+ registry.valid = new Set(all);
61
+ registry.chartNotReal = new Set(idx.chartNotReal || []);
62
+ const cr = idx.containmentRules || {};
63
+ registry.mustHaveParent = new Set(cr.mustHaveParent || []);
64
+ registry.acceptableParents = cr.acceptableParents || {};
65
+ registry.acceptableChildren = cr.acceptableChildren || {};
66
+ const pvc = idx.propValidation || {};
67
+ registry.extraValidProps = new Set(pvc.extraValidProps || []);
68
+ registry.skipUnknownProp = new Set(pvc.skipUnknownPropFamily === "devexpress" ? (idx.devexpress || []) : []);
69
+ }
70
+ catch {
71
+ registry.valid = null; // registry optional; T-name checks skip if missing
72
+ }
73
+ // per-component prop/event contracts (optional; generated from the Quick runtime sources)
74
+ try {
75
+ const c = JSON.parse(node_fs_1.default.readFileSync(refFile("component-contracts.json"), "utf8"));
76
+ contracts = c.components || {};
77
+ }
78
+ catch {
79
+ contracts = null;
80
+ }
81
+ }
82
+ // Components that accept arbitrary props (skip unknown-prop checks for these).
83
+ const DYNAMIC_PROP_COMPS = new Set(["CustomComponent", "RenderingComponent", "CustomChild"]);
84
+ // Native DOM/lifecycle events accepted by most components but not always in the PIM event list
85
+ // — don't flag these as "unknown event" (keeps event validation false-positive-free).
86
+ const PASSTHROUGH_EVENTS = new Set([
87
+ "click", "dblclick", "mousedown", "mouseup", "mouseenter", "mouseleave", "mouseover", "mousemove",
88
+ "keydown", "keyup", "keypress", "focus", "blur", "input", "change", "submit", "scroll",
89
+ "touchstart", "touchend", "touchmove", "contextmenu", "wheel", "mousewheel",
90
+ ]);
91
+ // event name set for a component (from contracts; events may be string[] or {name}[])
92
+ function eventNames(contract) {
93
+ if (!contract || !Array.isArray(contract.events))
94
+ return null;
95
+ return new Set(contract.events.map((e) => (typeof e === "string" ? e : e && e.name)).filter(Boolean));
96
+ }
97
+ const VALID_PTYPE = new Set(["prop", "class", "text", "attr"]);
98
+ const VALID_CTYPE = new Set(["slot", "child", "scopedSlot"]);
99
+ // HL (handler language) is restricted by where it lives, even though the interfaces
100
+ // enumerate more values: PROPS may only be "QS", EVENTS may only be "TS".
101
+ // JS/FL/GUI are not valid options at the moment.
102
+ const PROP_HL = "QS";
103
+ const EVENT_HL = "TS";
104
+ // Authoritative dOpt prefixes (common/shrimp/helpers/layoutBarHelper.ts)
105
+ const DOPT_PREFIXES = ["d:", "fd:", "a:", "j:", "w:", "c:", "sp:", "tt:", "tc:", "te:", "fi:"];
106
+ const BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
107
+ // Replicate getOptionsClass: xs tokens as-is; other breakpoints infixed after the first '-'.
108
+ function doptToClass(dOpt) {
109
+ const out = [];
110
+ for (const bp of Object.keys(dOpt)) {
111
+ const arr = dOpt[bp];
112
+ if (!Array.isArray(arr))
113
+ continue;
114
+ for (const tok of arr) {
115
+ const colon = tok.indexOf(":");
116
+ if (colon < 0)
117
+ continue;
118
+ const values = tok.slice(colon + 1).split(",");
119
+ for (const v of values) {
120
+ if (!v)
121
+ continue;
122
+ if (bp === "xs")
123
+ out.push(v);
124
+ else {
125
+ const parts = v.split("-");
126
+ parts.splice(1, 0, bp); // insert breakpoint after first segment
127
+ out.push(parts.join("-"));
128
+ }
129
+ }
130
+ }
131
+ }
132
+ return out;
133
+ }
134
+ // ---- collect qjson files ----
135
+ function collect(target) {
136
+ const out = [];
137
+ const st = node_fs_1.default.statSync(target);
138
+ if (st.isDirectory()) {
139
+ for (const e of node_fs_1.default.readdirSync(target)) {
140
+ const p = node_path_1.default.join(target, e);
141
+ if (node_fs_1.default.statSync(p).isDirectory())
142
+ out.push(...collect(p));
143
+ else if (e.endsWith(".qjson"))
144
+ out.push(p);
145
+ }
146
+ }
147
+ else if (target.endsWith(".qjson"))
148
+ out.push(target);
149
+ return out;
150
+ }
151
+ exports.collect = collect;
152
+ // ---- extract the pjson object literal from the JS module ----
153
+ function parseQjson(src) {
154
+ // Some stores wrap the module as {"qjson":"<escaped module string>"}; unwrap it.
155
+ const head = src.slice(0, 40).replace(/\s/g, "");
156
+ if (head.startsWith('{"qjson"')) {
157
+ try {
158
+ const wrapped = JSON.parse(src);
159
+ if (wrapped && typeof wrapped.qjson === "string")
160
+ src = wrapped.qjson;
161
+ }
162
+ catch {
163
+ /* fall through to normal parse */
164
+ }
165
+ }
166
+ // strip `let pjson =` ... `export default pjson`
167
+ const m = src.match(/(?:let|const|var)\s+pjson\s*=\s*/);
168
+ if (!m)
169
+ throw new Error("missing `let pjson = ...` declaration");
170
+ const start = m.index + m[0].length;
171
+ // find the matching object braces from `start`
172
+ const i = src.indexOf("{", start);
173
+ if (i < 0)
174
+ throw new Error("missing pjson object literal");
175
+ let depth = 0, inStr = false, strCh = "", end = -1;
176
+ for (let j = i; j < src.length; j++) {
177
+ const c = src[j], prev = src[j - 1];
178
+ if (inStr) {
179
+ if (c === strCh && prev !== "\\")
180
+ inStr = false;
181
+ continue;
182
+ }
183
+ if (c === '"' || c === "'" || c === "`") {
184
+ inStr = true;
185
+ strCh = c;
186
+ continue;
187
+ }
188
+ if (c === "{")
189
+ depth++;
190
+ else if (c === "}") {
191
+ depth--;
192
+ if (depth === 0) {
193
+ end = j;
194
+ break;
195
+ }
196
+ }
197
+ }
198
+ if (end < 0)
199
+ throw new Error("unbalanced braces in pjson object");
200
+ const objText = src.slice(i, end + 1);
201
+ const tail = src.slice(end + 1);
202
+ if (!/export\s+default\s+pjson/.test(tail) && !/export\s+default\s+pjson/.test(src))
203
+ throw new Error("missing `export default pjson`");
204
+ // qjson is a JS module, so trailing commas are legal; JSON.parse is not. Strip them
205
+ // (string-aware) before parsing.
206
+ return { obj: JSON.parse(stripTrailingCommas(objText)) };
207
+ }
208
+ function stripTrailingCommas(text) {
209
+ let out = "", inStr = false, strCh = "";
210
+ for (let k = 0; k < text.length; k++) {
211
+ const c = text[k], prev = text[k - 1];
212
+ if (inStr) {
213
+ out += c;
214
+ if (c === strCh && prev !== "\\")
215
+ inStr = false;
216
+ continue;
217
+ }
218
+ if (c === '"' || c === "'" || c === "`") {
219
+ inStr = true;
220
+ strCh = c;
221
+ out += c;
222
+ continue;
223
+ }
224
+ if (c === ",") {
225
+ // look ahead past whitespace; drop the comma if the next non-ws char closes a container
226
+ let mm = k + 1;
227
+ while (mm < text.length && /\s/.test(text[mm]))
228
+ mm++;
229
+ if (text[mm] === "}" || text[mm] === "]")
230
+ continue; // skip this comma
231
+ }
232
+ out += c;
233
+ }
234
+ return out;
235
+ }
236
+ // classify an H value: literal vs expression (only literals are value-type-checkable)
237
+ function literalKind(h) {
238
+ if (/^'(?:[^'\\]|\\.|'')*'$/.test(h))
239
+ return "str"; // single-quoted string
240
+ if (h === "true" || h === "false")
241
+ return "bool";
242
+ if (/^-?\d+(?:\.\d+)?$/.test(h))
243
+ return "num";
244
+ if (/^\[.*\]$/s.test(h))
245
+ return "arr";
246
+ if (/^\{.*\}$/s.test(h))
247
+ return "obj";
248
+ return "expr"; // binding / call / identifier — skip value checks
249
+ }
250
+ // ---- validate one file ----
251
+ function validateFile(file) {
252
+ loadReference(node_path_1.default.dirname(node_path_1.default.resolve(file)));
253
+ const findings = [];
254
+ const add = (level, msg, where) => findings.push({ level, msg, where });
255
+ let src;
256
+ try {
257
+ src = node_fs_1.default.readFileSync(file, "utf8");
258
+ }
259
+ catch (e) {
260
+ return [{ level: "ERROR", msg: "cannot read file: " + e.message, where: "" }];
261
+ }
262
+ let pjson;
263
+ try {
264
+ ({ obj: pjson } = parseQjson(src));
265
+ }
266
+ catch (e) {
267
+ return [{ level: "ERROR", msg: "parse: " + e.message, where: "" }];
268
+ }
269
+ // pJson is the only strictly-required key; the others are generated/optional but
270
+ // recommended for a clean Studio round-trip (real compiler-input files often omit cJson).
271
+ if (!("pJson" in pjson)) {
272
+ add("ERROR", `missing top-level key "pJson"`, "$");
273
+ return findings;
274
+ }
275
+ for (const k of ["lrids", "opt"])
276
+ if (!(k in pjson))
277
+ add("WARN", `missing top-level key "${k}" (recommended for Studio round-trip)`, "$");
278
+ if (!Array.isArray(pjson.pJson)) {
279
+ add("ERROR", "pJson must be an array", "$.pJson");
280
+ return findings;
281
+ }
282
+ const ids = new Map();
283
+ const eids = new Map();
284
+ function walk(node, where, parentT) {
285
+ if (!node || typeof node !== "object")
286
+ return;
287
+ const T = node.T;
288
+ if (!T)
289
+ add("ERROR", "node missing T (component type)", where);
290
+ // component type validity
291
+ if (T && registry.valid && !registry.valid.has(T)) {
292
+ if (registry.chartNotReal.has(T))
293
+ add("ERROR", `"${T}" is not a real component. Pie charts: use T:"Doughnut" with cutoutPercentage:0.`, where);
294
+ else
295
+ add("ERROR", `unknown component T:"${T}" (not in component-index.json)`, where);
296
+ }
297
+ // containment rules — these are EDITOR drag-drop placement rules + best practice,
298
+ // not runtime-fatal (existing files bypass them and still render), so WARN, not ERROR.
299
+ if (T) {
300
+ if (registry.mustHaveParent && registry.mustHaveParent.has(T) && !parentT)
301
+ add("WARN", `${T} should have a parent (the editor requires it). Place it inside ${(registry.acceptableParents?.[T] || ["a container"]).join("/")}.`, where);
302
+ const okParents = registry.acceptableParents && registry.acceptableParents[T];
303
+ if (okParents && parentT && !okParents.includes(parentT))
304
+ add("WARN", `${T} should be a child of ${okParents.join("/")} (found inside ${parentT}); the editor enforces this on drop.`, where);
305
+ const okChildren = parentT && registry.acceptableChildren && registry.acceptableChildren[parentT];
306
+ if (okChildren && !okChildren.includes(T))
307
+ add("WARN", `${parentT} accepts only ${okChildren.join("/")} children in the editor (found ${T}).`, where);
308
+ }
309
+ // required structural fields (from the ICompJson interface): every node must carry
310
+ // T, P, E, C, _Editor. (CP, D, O, SA, S, SC are optional.) Omitting any of these is the
311
+ // class of bug that makes Studio fail to OPEN the page — and the official compiler does
312
+ // NOT catch it (it only checks handler QScript/TS) — so these are ERRORs. T is reported
313
+ // above; the rest are object-valued containers (an empty {} is valid for E and C).
314
+ const REQUIRED_NODE_FIELDS = [
315
+ ["P", "props", false],
316
+ ["E", "events", true],
317
+ ["C", "children container", true],
318
+ ["_Editor", "editor info", false], // must hold eID
319
+ ];
320
+ for (const [key, label, emptyOk] of REQUIRED_NODE_FIELDS) {
321
+ if (!(key in node))
322
+ add("ERROR", `${T ?? "node"}: missing "${key}" (${label})${emptyOk ? ` — use "${key}": {} when empty` : ""}; required on every node or the page won't open.`, where);
323
+ else if (!node[key] || typeof node[key] !== "object" || Array.isArray(node[key]))
324
+ add("ERROR", `${T ?? "node"}: "${key}" (${label}) must be an object`, where);
325
+ }
326
+ // ID (P.ID.H, required + unique) and eID (_Editor.eID, required + unique) — validated
327
+ // independently so eID is still checked when ID is absent. P.ID.H is the runtime/reference
328
+ // id; _Editor.eID is the editor's stable internal id. They are equal for auto-generated
329
+ // components but legitimately differ after a Studio rename — so a mismatch is NOT an error;
330
+ // each just has to exist and be unique.
331
+ if (node.P && typeof node.P === "object") {
332
+ const idH = node.P.ID && node.P.ID.H;
333
+ if (idH === undefined)
334
+ add("ERROR", "missing P.ID.H", where);
335
+ else if (ids.has(idH))
336
+ add("ERROR", `duplicate component ID "${idH}" (also at ${ids.get(idH)})`, where);
337
+ else
338
+ ids.set(idH, where);
339
+ }
340
+ if (node._Editor && typeof node._Editor === "object") {
341
+ const eID = node._Editor.eID;
342
+ if (eID === undefined)
343
+ add("ERROR", "missing _Editor.eID", where);
344
+ else if (eids.has(eID))
345
+ add("ERROR", `duplicate _Editor.eID "${eID}" (also at ${eids.get(eID)})`, where);
346
+ else
347
+ eids.set(eID, where);
348
+ }
349
+ // props
350
+ if (node.P && typeof node.P === "object") {
351
+ const contract = contracts && T ? contracts[T] : null;
352
+ const knownProps = contract ? contract.props : null;
353
+ for (const [pName, pv] of Object.entries(node.P)) {
354
+ if (!pv || typeof pv !== "object")
355
+ continue;
356
+ // every property (IPropertyJson) requires H (value) and T (PType).
357
+ if (pv.H === undefined)
358
+ add("ERROR", `${T}.${pName}: missing "H" (property value)`, where);
359
+ if (pv.T === undefined)
360
+ add("ERROR", `${T}.${pName}: missing "T" (PType: prop|class|text|attr)`, where);
361
+ if (pv.T !== undefined && !VALID_PTYPE.has(pv.T))
362
+ add("ERROR", `${T}.${pName}: invalid PType "${pv.T}" (use prop|class|text|attr)`, where);
363
+ if (pv.HL !== undefined && pv.HL !== PROP_HL)
364
+ add("ERROR", `${T}.${pName}: invalid HL "${pv.HL}" (props may only use "${PROP_HL}")`, where);
365
+ // data-driven (PIM + componentList): unknown prop, wrong PType, wrong value type for THIS component
366
+ if (knownProps && T && !DYNAMIC_PROP_COMPS.has(T) && !(node.O && node.O.dynProps)) {
367
+ const meta = knownProps[pName];
368
+ if (meta === undefined) {
369
+ const allowed = (registry.extraValidProps && registry.extraValidProps.has(pName)) ||
370
+ (registry.skipUnknownProp && registry.skipUnknownProp.has(T));
371
+ if (!allowed)
372
+ add("WARN", `"${pName}" is not a recognized prop for ${T} (not in the editor's prop list) — verify it isn't a typo or a wrong-version prop.`, where);
373
+ }
374
+ else {
375
+ if (pv.T !== undefined && meta.pType && pv.T !== meta.pType)
376
+ add("WARN", `${T}.${pName} should be PType "${meta.pType}" (found "${pv.T}")`, where);
377
+ // value-type check (literals only; expressions/bindings skipped)
378
+ const H = typeof pv.H === "string" ? pv.H.trim() : null;
379
+ if (H !== null) {
380
+ const kind = literalKind(H);
381
+ const isBool = meta.type === "boolean" || (!meta.type && (meta.default === "true" || meta.default === "false"));
382
+ if (isBool && kind === "str" && (H === "'true'" || H === "'false'"))
383
+ add("WARN", `${T}.${pName} is a boolean prop — use bare ${H.slice(1, -1)} (not the quoted string ${H}).`, where);
384
+ }
385
+ }
386
+ }
387
+ }
388
+ // PType criticals (fallback when no contract is loaded)
389
+ if (!knownProps) {
390
+ const text = node.P.text;
391
+ if (T === "QLabel" && text && text.T && text.T !== "prop")
392
+ add("ERROR", `QLabel.text must be PType "prop" (found "${text.T}")`, where);
393
+ if (T === "VIcon" && text && text.T && text.T !== "text")
394
+ add("WARN", `VIcon icon name should be PType "text" (found "${text.T}")`, where);
395
+ const cls = node.P.class;
396
+ if (cls && cls.T && cls.T !== "class")
397
+ add("WARN", `${T}.class should be PType "class" (found "${cls.T}")`, where);
398
+ }
399
+ }
400
+ // events
401
+ if (node.E && typeof node.E === "object") {
402
+ const knownEvents = contracts && T ? eventNames(contracts[T]) : null;
403
+ for (const [eName, ev] of Object.entries(node.E)) {
404
+ if (!ev || typeof ev !== "object")
405
+ continue;
406
+ // every event (IEventJson) requires a handler H.
407
+ if (ev.H === undefined)
408
+ add("ERROR", `event ${eName}: missing "H" (handler)`, where);
409
+ // unknown-event check: the AI should use an event the component actually emits.
410
+ // Custom/property/external events live on Messaging and are user-named — skip those.
411
+ if (knownEvents && knownEvents.size && !knownEvents.has(eName) &&
412
+ !PASSTHROUGH_EVENTS.has(eName) && !ev.C && !ev.PE && !ev.EV && T !== "Messaging")
413
+ add("WARN", `${T} has no event "${eName}" in the editor's event list — verify the name (or set C/PE/EV if it's a custom/property/external event).`, where);
414
+ if (ev.HL !== undefined && ev.HL !== EVENT_HL)
415
+ add("ERROR", `event ${eName}: invalid HL "${ev.HL}" (events may only use "${EVENT_HL}")`, where);
416
+ const H = typeof ev.H === "string" ? ev.H : "";
417
+ if (ev.HL === "TS" || /\bquick\./.test(H)) {
418
+ if (/(^|[^.\w])return\s/.test(H) && !/quick\.return/.test(H))
419
+ add("WARN", `event ${eName}: uses native "return"; use quick.return`, where);
420
+ if (/\b(window|document|console|setTimeout|setInterval|clearInterval)\b/.test(H))
421
+ add("WARN", `event ${eName}: uses a browser global; use quick.* equivalents`, where);
422
+ }
423
+ if (/quick\.Quick\.alert\s*\(\s*\{/.test(H) && !/actionButtons/.test(H))
424
+ add("WARN", `event ${eName}: quick.Quick.alert without actionButtons`, where);
425
+ }
426
+ }
427
+ // options: cType + layout sync
428
+ if (node.O && typeof node.O === "object") {
429
+ if (node.O.cType !== undefined && !VALID_CTYPE.has(node.O.cType))
430
+ add("ERROR", `${T}: invalid O.cType "${node.O.cType}"`, where);
431
+ const lay = node.O.layout;
432
+ // O is optional, but when present a layout (ILayoutJson) requires both dOpt and class.
433
+ if (lay && typeof lay === "object") {
434
+ if (!("dOpt" in lay))
435
+ add("ERROR", `${T}: O.layout missing "dOpt"`, where);
436
+ if (!("class" in lay))
437
+ add("ERROR", `${T}: O.layout missing "class"`, where);
438
+ }
439
+ if (lay && lay.dOpt && typeof lay.dOpt === "object") {
440
+ let hadTokens = false;
441
+ for (const [bp, arr] of Object.entries(lay.dOpt)) {
442
+ if (!BREAKPOINTS.includes(bp))
443
+ add("WARN", `${T}: unknown dOpt breakpoint "${bp}" (use xs/sm/md/lg/xl)`, where);
444
+ if (!Array.isArray(arr))
445
+ continue;
446
+ for (const tok of arr) {
447
+ hadTokens = true;
448
+ const pfx = DOPT_PREFIXES.find((p) => tok.startsWith(p));
449
+ if (!pfx)
450
+ add("WARN", `${T}: dOpt token "${tok}" has no known prefix (${DOPT_PREFIXES.join(" ")})`, where);
451
+ }
452
+ }
453
+ const expected = doptToClass(lay.dOpt);
454
+ const actual = (lay.class || "").trim().split(/\s+/).filter(Boolean);
455
+ const norm = (a) => a.slice().sort().join(" ");
456
+ if (hadTokens && norm(expected) !== norm(actual))
457
+ add("WARN", `${T}: O.layout.class "${actual.join(" ")}" not in sync with dOpt (expected "${expected.join(" ")}")`, where);
458
+ }
459
+ }
460
+ // style object S: keys are EITHER a resolution range ("xs-xl") whose value is a
461
+ // prop map, OR a flat style property ("width","backgroundColor") whose value is a
462
+ // string/bool. Only validate the range key shape. (Style-param NAMES are carried as
463
+ // generation guidance in component-styles.json, not hard-validated: the editor serializes
464
+ // more params than styleDefinitions enumerates — border/box-shadow/font composites expand
465
+ // into sub-params like borderTopStyle/hoverColor/textAlign — so a name check false-positives.)
466
+ if (node.S && typeof node.S === "object") {
467
+ for (const [key, val] of Object.entries(node.S)) {
468
+ if (val && typeof val === "object") {
469
+ const mm = key.match(/^([a-z]{2})-([a-z]{2})$/);
470
+ if (!mm || !BREAKPOINTS.includes(mm[1]) || !BREAKPOINTS.includes(mm[2]))
471
+ add("WARN", `${T}: S range key "${key}" is not a valid breakpoint range like "xs-xl"`, where);
472
+ }
473
+ }
474
+ }
475
+ // children slots — C itself is required-as-object above (leaves use "C": {}). Each slot
476
+ // entry (IChildJson) requires a valid cType AND a `c` array; the editor's renderer walks
477
+ // these, so a malformed slot breaks the subtree. Not caught by the official compiler.
478
+ if (node.C && typeof node.C === "object" && !Array.isArray(node.C)) {
479
+ for (const [slot, ch] of Object.entries(node.C)) {
480
+ if (!ch || typeof ch !== "object") {
481
+ add("ERROR", `slot "${slot}": must be an object { "cType": ..., "c": [...] }`, where);
482
+ continue;
483
+ }
484
+ if (ch.cType === undefined)
485
+ add("ERROR", `slot "${slot}": missing "cType" (use "slot"|"child"|"scopedSlot")`, where);
486
+ else if (!VALID_CTYPE.has(ch.cType))
487
+ add("ERROR", `slot "${slot}": invalid cType "${ch.cType}"`, where);
488
+ if (!("c" in ch))
489
+ add("ERROR", `slot "${slot}": missing children array "c"`, where);
490
+ else if (!Array.isArray(ch.c))
491
+ add("ERROR", `slot "${slot}": "c" must be an array`, where);
492
+ else
493
+ ch.c.forEach((c, i) => walk(c, `${where}/${T}.C.${slot}[${i}]`, T ?? null));
494
+ }
495
+ }
496
+ }
497
+ pjson.pJson.forEach((n, i) => walk(n, `pJson[${i}]`, null));
498
+ // skeleton sanity
499
+ const types = pjson.pJson.map((n) => n && n.T);
500
+ if (!types.includes("Messaging"))
501
+ add("WARN", "page has no Messaging component (event hub)", "$.pJson");
502
+ if (!types.includes("VContainer"))
503
+ add("WARN", "page has no VContainer root", "$.pJson");
504
+ return findings;
505
+ }
506
+ exports.validateFile = validateFile;
507
+ /** Validate files/folders; returns a structured report (no console output). */
508
+ function validateQjson(targets) {
509
+ const files = targets.flatMap(collect);
510
+ const report = [];
511
+ let totalErr = 0, totalWarn = 0;
512
+ for (const f of files) {
513
+ const findings = validateFile(f);
514
+ const errs = findings.filter((x) => x.level === "ERROR").length;
515
+ const warns = findings.filter((x) => x.level === "WARN").length;
516
+ totalErr += errs;
517
+ totalWarn += warns;
518
+ report.push({ file: f, ok: errs === 0, errors: errs, warnings: warns, findings });
519
+ }
520
+ return { ok: totalErr === 0, fileCount: files.length, errorCount: totalErr, warningCount: totalWarn, files: report };
521
+ }
522
+ exports.validateQjson = validateQjson;
523
+ /** Render a ValidationReport as the human-readable text block (same format as the CLI). */
524
+ function formatQjsonReport(r) {
525
+ const lines = [];
526
+ for (const fr of r.files) {
527
+ const tag = fr.ok ? (fr.warnings ? "⚠ " : "✓ ") : "✗ ";
528
+ lines.push(`${tag}${fr.file} (${fr.errors} error${fr.errors !== 1 ? "s" : ""}, ${fr.warnings} warning${fr.warnings !== 1 ? "s" : ""})`);
529
+ for (const f of fr.findings)
530
+ lines.push(` ${f.level === "ERROR" ? "ERROR" : "warn "} ${f.where}: ${f.msg}`);
531
+ }
532
+ lines.push(`\n${r.fileCount} file(s): ${r.errorCount} error(s), ${r.warningCount} warning(s)`);
533
+ return lines.join("\n");
534
+ }
535
+ exports.formatQjsonReport = formatQjsonReport;
536
+ // ---- CLI ----
537
+ function main() {
538
+ const args = process.argv.slice(2);
539
+ const flags = new Set(args.filter((a) => a.startsWith("--")));
540
+ const targets = args.filter((a) => !a.startsWith("--"));
541
+ const asJson = flags.has("--json");
542
+ const quiet = flags.has("--quiet");
543
+ if (targets.length === 0) {
544
+ console.error("Usage: validate_qjson <file.qjson | folder> [--json] [--quiet]");
545
+ process.exit(2);
546
+ }
547
+ const r = validateQjson(targets);
548
+ if (asJson) {
549
+ console.log(JSON.stringify(r, null, 2));
550
+ }
551
+ else if (!quiet || r.errorCount || r.warningCount) {
552
+ console.log(formatQjsonReport(r));
553
+ }
554
+ // Use exitCode (not process.exit) so large stdout fully flushes before exit.
555
+ process.exitCode = r.errorCount > 0 ? 1 : 0;
556
+ }
557
+ // Run main() only when invoked directly as a CLI, not when imported (e.g. by qjsonBuild).
558
+ if (require.main === module)
559
+ main();
560
+ //# sourceMappingURL=validateQjson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateQjson.js","sourceRoot":"","sources":["../../../../src/isolatedCommands/validateQjson.ts"],"names":[],"mappings":"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"}