@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,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pull = exports.writeModel = exports.stripQJsonCompiledFields = void 0;
4
+ const promises_1 = require("node:fs/promises");
5
+ const node_path_1 = require("node:path");
6
+ const workspaceSetup_1 = require("./workspaceSetup");
7
+ const frontmatter_1 = require("../util/frontmatter");
8
+ const state_1 = require("../util/state");
9
+ const modelRef_1 = require("../util/modelRef");
10
+ const MODE_READONLY = 0o444;
11
+ const MODE_WRITABLE = 0o644;
12
+ // Binary/düzenlenmeyen tipler: sadece context için iner, frontmatter YOK, hep readonly,
13
+ // push'ta atlanır (frontmatter'ı olmadığı için doğal olarak).
14
+ const BINARY_TYPES = new Set([
15
+ "png",
16
+ "jpg",
17
+ "jpeg",
18
+ "gif",
19
+ "svg",
20
+ "webp",
21
+ "woff",
22
+ "woff2",
23
+ "ttf",
24
+ "otf",
25
+ "lottie",
26
+ ]);
27
+ // 0444 olan dosyanın üzerine yazabilmek için önce yazılabilir yap, yaz, sonra hedef modu uygula.
28
+ async function writeGated(abs, content, readOnly) {
29
+ try {
30
+ await (0, promises_1.chmod)(abs, MODE_WRITABLE);
31
+ }
32
+ catch {
33
+ /* dosya henüz yok */
34
+ }
35
+ await (0, promises_1.writeFile)(abs, content, "utf8");
36
+ await (0, promises_1.chmod)(abs, readOnly ? MODE_READONLY : MODE_WRITABLE);
37
+ }
38
+ function pathDirFor(root, path, ownerName) {
39
+ const segments = path.split("/").filter(Boolean).map(modelRef_1.removeInvalidPathChars);
40
+ const prefix = ownerName ? [(0, modelRef_1.removeInvalidPathChars)(ownerName)] : [];
41
+ return (0, node_path_1.join)(root, ...prefix, ...segments);
42
+ }
43
+ // Ad zaten bu uzantıyla bitiyorsa dokunma; değilse ekle (tüm tipler için aynı kural).
44
+ function fileNameFor(name, ext) {
45
+ const safe = (0, modelRef_1.removeInvalidPathChars)(name);
46
+ return endsWithExtension(safe, ext) ? safe : `${safe}.${ext}`;
47
+ }
48
+ // Son "." sonrası verilen uzantıya eşit mi? (ör. "main.css" + "css" → true, "roboto" + "css" → false)
49
+ function endsWithExtension(name, ext) {
50
+ const dot = name.lastIndexOf(".");
51
+ return dot >= 0 && name.slice(dot + 1).toLowerCase() === ext.toLowerCase();
52
+ }
53
+ // Compiled alanları (cJson, cFiles, clrids) qjson string gövdesinden strip et.
54
+ // Format: "let pjson = <JSON>;\nexport default pjson"
55
+ function stripQJsonCompiledFields(content) {
56
+ const PREFIX = "let pjson = ";
57
+ const EXPORT_MARK = "\nexport default pjson";
58
+ if (!content.startsWith(PREFIX))
59
+ return content;
60
+ const exportIdx = content.lastIndexOf(EXPORT_MARK);
61
+ if (exportIdx < 0)
62
+ return content;
63
+ const jsonStr = content.slice(PREFIX.length, exportIdx).replace(/;\s*$/, "").trim();
64
+ try {
65
+ const parsed = JSON.parse(jsonStr);
66
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
67
+ const { cJson, cFiles, clrids, ...rest } = parsed;
68
+ const tail = content.slice(exportIdx + EXPORT_MARK.length);
69
+ return `${PREFIX}${JSON.stringify(rest, null, "\t")};\nexport default pjson${tail}`;
70
+ }
71
+ catch {
72
+ return content;
73
+ }
74
+ }
75
+ exports.stripQJsonCompiledFields = stripQJsonCompiledFields;
76
+ /** Bir modeli tek düz dosyaya yazar. @returns readonly mı + gövde hash'i (text; binary'de yok → state). */
77
+ async function writeModel(root, fsModel, inReadOnlyList) {
78
+ const binary = BINARY_TYPES.has(fsModel.modelType);
79
+ const readOnly = binary || inReadOnlyList;
80
+ const body = fsModel.model[0];
81
+ if (!body)
82
+ return { readOnly };
83
+ let modelData = body.model;
84
+ if (fsModel.modelType === "qjson") {
85
+ if (typeof modelData === "string") {
86
+ modelData = stripQJsonCompiledFields(modelData);
87
+ }
88
+ else if (typeof modelData === "object" && modelData !== null) {
89
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
90
+ const { cJson, cFiles, clrids, ...rest } = modelData;
91
+ modelData = rest;
92
+ }
93
+ }
94
+ const content = typeof modelData === "string" ? modelData : JSON.stringify(modelData, null, 2);
95
+ const dir = pathDirFor(root, fsModel.path, fsModel.ownerName);
96
+ await (0, promises_1.mkdir)(dir, { recursive: true });
97
+ const abs = (0, node_path_1.join)(dir, fileNameFor(fsModel.name, fsModel.modelType));
98
+ const blockComponent = fsModel.modelAdditionals?.qjsonType === "quickComponent";
99
+ const fileContent = binary
100
+ ? content
101
+ : (0, frontmatter_1.writeWithFrontmatter)({ id: fsModel.ID, ownerName: fsModel.ownerName ?? "/", blockComponent }, content);
102
+ await writeGated(abs, fileContent, readOnly);
103
+ return { readOnly, hash: binary ? undefined : (0, state_1.sha)(content) };
104
+ }
105
+ exports.writeModel = writeModel;
106
+ // .ai-kit klasörünü pull hedefine kopyalar (ajan için context).
107
+ // Build (scripts/copy-assets.js) kit'i dist/studio-cli/src/ altına koyar; bu dosya
108
+ // .../src/control içinde çalıştığı için kaynak bir üst dizinde.
109
+ async function copyAiKit(root) {
110
+ const src = (0, node_path_1.join)(__dirname, "..", ".ai-kit");
111
+ await (0, promises_1.cp)(src, (0, node_path_1.join)(root, ".ai-kit"), { recursive: true, force: true });
112
+ await (0, workspaceSetup_1.reshapeStructure)(root);
113
+ }
114
+ /** appSnapshot'ı yerel dosya ağacına yazar (design-time only, frontmatter, readonly gating). */
115
+ async function pull(root, payload, onProgress) {
116
+ const readOnlyIds = new Set(payload.readOnlyModelIds);
117
+ const modelTotal = payload.models.length;
118
+ const state = {};
119
+ let total = 0;
120
+ let readOnly = 0;
121
+ for (const model of payload.models) {
122
+ const result = await writeModel(root, model, readOnlyIds.has(model.ID));
123
+ if (result.hash !== undefined)
124
+ state[model.ID] = result.hash;
125
+ total++;
126
+ if (result.readOnly)
127
+ readOnly++;
128
+ onProgress?.(total, modelTotal);
129
+ }
130
+ await (0, state_1.writeState)(root, state);
131
+ await copyAiKit(root);
132
+ return { total, readOnly };
133
+ }
134
+ exports.pull = pull;
135
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../../src/control/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ // Push toplama (SERVER tarafında çalışır): rootDir'i tarar, editable dosyalardan
3
+ // state'e göre değişmiş olanları bulur. Apply'ı/relay'i server yapar; burası sadece "ne değişti".
4
+ //
5
+ // Tüm değişmiş dosyalar NewModelInput olarak gider:
6
+ // - Frontmatter YOK → yeni model (existingId yok)
7
+ // - Frontmatter VAR → existingId ile; web önce vmm'de arar, bulamazsa create eder (Problem 1 fix)
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.push = void 0;
10
+ const promises_1 = require("node:fs/promises");
11
+ const node_path_1 = require("node:path");
12
+ const frontmatter_1 = require("../util/frontmatter");
13
+ const state_1 = require("../util/state");
14
+ // Roottaki bu dosyalar agent araçları içindir, studio modeli değil → push atlanır.
15
+ const ROOT_SKIP_FILES = new Set(["AGENTS.md", "CLAUDE.md", "opencode.jsonc"]);
16
+ // Studio'nun desteklediği metin tabanlı model uzantıları (ModelType değerleri).
17
+ // Bu listede olmayan uzantılar push'ta atlanır ve kullanıcıya bildirilir.
18
+ // Atlanmaya devam edenler: appSettings (settings senaryosu), erronous/step (gerçek model değil).
19
+ // Binary'ler (png, jpg vb.) zaten 0444 mode'u ile → writable check'te elenirler.
20
+ const STUDIO_TEXT_TYPES = new Set([
21
+ "qjson", "js", "ts", "css", "json", "yaml", "wsdl", "xsd",
22
+ "bpmn", "process", "entityDesigner", "namedComponent",
23
+ "flow", "workflow", "restService", "soapService", "soapServiceV2",
24
+ "dataType", "constant", "enum", "certificate", "decisionTable",
25
+ "jobScheduler", "container", "sla", "endpoint", "befunc", "dataSet", "theme", "appSettings"
26
+ ]);
27
+ /** rootDir'i tara: editable dosyaları topla.
28
+ * - Frontmatter VAR → `models` (her zaman; rename/move tespiti + bodyChanged varsa body)
29
+ * - Frontmatter YOK → `newModels` (yeni dosya)
30
+ * - Read-only (0444) → skipped "readonly"
31
+ * - Desteklenmeyen uzantı → skipped "unsupported-type"
32
+ */
33
+ async function push(rootDir, state) {
34
+ const models = [];
35
+ const newModels = [];
36
+ const skipped = [];
37
+ const existingIds = new Set(); // diskte var olan tüm ID'ler (readonly dahil)
38
+ for (const abs of await walk(rootDir, rootDir)) {
39
+ const info = await (0, promises_1.stat)(abs);
40
+ const localKey = (0, node_path_1.relative)(rootDir, abs).replace(/\\/g, "/");
41
+ if (!(info.mode & 0o200)) {
42
+ skipped.push({ localKey, reason: "readonly" });
43
+ // Readonly dosyaların ID'sini takip et — silinmiş sanılmasın.
44
+ const ext = (0, node_path_1.extname)(abs).slice(1);
45
+ if (ext && STUDIO_TEXT_TYPES.has(ext)) {
46
+ const content = (await (0, promises_1.readFile)(abs, "utf8")).replace(/\r\n/g, "\n");
47
+ const fm = (0, frontmatter_1.parseFrontmatter)(content);
48
+ if (fm)
49
+ existingIds.add(fm.meta.id);
50
+ }
51
+ continue;
52
+ }
53
+ const content = (await (0, promises_1.readFile)(abs, "utf8")).replace(/\r\n/g, "\n"); // CRLF → LF
54
+ const ext = (0, node_path_1.extname)(abs).slice(1);
55
+ if (!ext || !STUDIO_TEXT_TYPES.has(ext)) {
56
+ skipped.push({ localKey, reason: "unsupported-type" });
57
+ continue;
58
+ }
59
+ const relDir = (0, node_path_1.relative)(rootDir, (0, node_path_1.dirname)(abs)).replace(/\\/g, "/");
60
+ const normRelDir = relDir === "." ? "" : relDir;
61
+ const actualName = (0, node_path_1.basename)(abs, (0, node_path_1.extname)(abs));
62
+ const fm = (0, frontmatter_1.parseFrontmatter)(content);
63
+ if (!fm) {
64
+ // Frontmatter yok → yeni dosya
65
+ newModels.push({ localKey, name: actualName, relDir: normRelDir, modelType: ext, body: content });
66
+ continue;
67
+ }
68
+ // Frontmatter var ama ID state'te YOK → Studio bu modeli tanımıyor (kopyalanmış dosya,
69
+ // başka projeden gelen, ya da state sıfırlanmış). newModels'e existingId ile gönder:
70
+ // web önce findModel ile arar, bulamazsa ICreateModel ile yeni model oluşturur.
71
+ if (!(fm.meta.id in state)) {
72
+ existingIds.add(fm.meta.id);
73
+ newModels.push({ localKey, name: actualName, relDir: normRelDir, modelType: ext, body: fm.body, existingId: fm.meta.id });
74
+ continue;
75
+ }
76
+ // ID state'te VAR → mevcut model; her zaman gönder (rename/move tespiti için).
77
+ // bodyChanged=false → model="" (body gönderilmez, web sadece name/relDir karşılaştırır).
78
+ const bodyChanged = (0, state_1.sha)(fm.body) !== state[fm.meta.id];
79
+ existingIds.add(fm.meta.id);
80
+ models.push({
81
+ id: fm.meta.id,
82
+ modelType: ext,
83
+ model: bodyChanged ? fm.body : "",
84
+ newName: actualName,
85
+ relDir: normRelDir,
86
+ bodyChanged,
87
+ });
88
+ }
89
+ // State'te olup diskde bulunmayan ID'ler → local'de silinmiş
90
+ const deletedIds = Object.keys(state).filter(id => !existingIds.has(id));
91
+ return { models, newModels, skipped, deletedIds };
92
+ }
93
+ exports.push = push;
94
+ // rootDir altını recursive gez.
95
+ // - Adı `.` ile başlayan dizinler atlanır (.studio, .git, vb.)
96
+ // - rootDir'in doğrudan altındaki ROOT_SKIP_FILES dosyaları atlanır
97
+ async function walk(dir, rootDir) {
98
+ const out = [];
99
+ const isRoot = dir === rootDir;
100
+ for (const entry of await (0, promises_1.readdir)(dir, { withFileTypes: true })) {
101
+ if (entry.name.startsWith("."))
102
+ continue;
103
+ if (isRoot && ROOT_SKIP_FILES.has(entry.name))
104
+ continue;
105
+ const abs = (0, node_path_1.join)(dir, entry.name);
106
+ if (entry.isDirectory())
107
+ out.push(...(await walk(abs, rootDir)));
108
+ else
109
+ out.push(abs);
110
+ }
111
+ return out;
112
+ }
113
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/control/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.runUninstallProtocol = exports.runRegisterProtocol = void 0;
27
+ const fs = __importStar(require("node:fs"));
28
+ const path = __importStar(require("node:path"));
29
+ const os = __importStar(require("node:os"));
30
+ const node_child_process_1 = require("node:child_process");
31
+ const logger_1 = require("../util/logger");
32
+ const SCHEME = "studio";
33
+ const APP_NAME = "StudioProtocol";
34
+ // ---------------------------------------------------------------------------
35
+ // Helpers
36
+ // ---------------------------------------------------------------------------
37
+ function resolveStudioBin() {
38
+ // When running from an npm-installed global, process.argv[1] points to the
39
+ // actual script (possibly via a symlink). We resolve it so we get the real
40
+ // absolute path that will still work after the .app is installed.
41
+ try {
42
+ return fs.realpathSync(process.argv[1]);
43
+ }
44
+ catch {
45
+ return process.argv[1];
46
+ }
47
+ }
48
+ // ---------------------------------------------------------------------------
49
+ // macOS
50
+ // ---------------------------------------------------------------------------
51
+ /**
52
+ * Build a minimal AppleScript .app bundle that handles studio:// URLs and
53
+ * delegates to the `studio` CLI binary (= this Node script).
54
+ *
55
+ * We use `osacompile` to compile an AppleScript into a real .app bundle.
56
+ * AppleScript's `on open location` handler is the only reliable way to
57
+ * receive URL scheme dispatch from macOS LaunchServices without a native
58
+ * binary - the URL arrives as an Apple Event (GetURL) and AppleScript
59
+ * intercepts it natively before forwarding to our Node process.
60
+ *
61
+ * The compiled bundle gets a custom Info.plist injected afterwards so that
62
+ * CFBundleURLSchemes, CFBundleIdentifier, and LSBackgroundOnly are set
63
+ * correctly (osacompile does not support these options directly).
64
+ */
65
+ function buildMacAppBundle(appDir, studioBin, nodeBin) {
66
+ // Remove existing bundle so osacompile gets a clean slate.
67
+ if (fs.existsSync(appDir)) {
68
+ fs.rmSync(appDir, { recursive: true, force: true });
69
+ }
70
+ // AppleScript source: receive the URL via Apple Event and shell out to node.
71
+ // We embed the absolute paths at build time so the script works regardless
72
+ // of PATH when invoked by LaunchServices.
73
+ const appleScript = `
74
+ on open location theURL
75
+ set logFile to (POSIX path of (path to home folder)) & "Library/Logs/StudioProtocol.log"
76
+ set cmd to "${nodeBin}" & " " & "${studioBin}" & " protocol open " & quoted form of theURL
77
+ do shell script cmd & " >> " & quoted form of logFile & " 2>&1 &"
78
+ end open location
79
+ `;
80
+ const tmpScript = path.join(os.tmpdir(), "StudioProtocol.applescript");
81
+ fs.writeFileSync(tmpScript, appleScript, "utf8");
82
+ const compile = (0, node_child_process_1.spawnSync)("osacompile", ["-o", appDir, tmpScript], { encoding: "utf8" });
83
+ fs.unlinkSync(tmpScript);
84
+ if (compile.status !== 0) {
85
+ throw new Error(`osacompile failed: ${compile.stderr}`);
86
+ }
87
+ // Overwrite Info.plist with our custom version that declares the URL scheme.
88
+ const plist = `<?xml version="1.0" encoding="UTF-8"?>
89
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
90
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
91
+ <plist version="1.0">
92
+ <dict>
93
+ <key>CFBundleIdentifier</key>
94
+ <string>com.stechquick.studio-protocol</string>
95
+ <key>CFBundleName</key>
96
+ <string>${APP_NAME}</string>
97
+ <key>CFBundleExecutable</key>
98
+ <string>applet</string>
99
+ <key>CFBundlePackageType</key>
100
+ <string>APPL</string>
101
+ <key>CFBundleVersion</key>
102
+ <string>1.0</string>
103
+ <key>CFBundleURLTypes</key>
104
+ <array>
105
+ <dict>
106
+ <key>CFBundleURLName</key>
107
+ <string>Studio Protocol</string>
108
+ <key>CFBundleURLSchemes</key>
109
+ <array>
110
+ <string>${SCHEME}</string>
111
+ </array>
112
+ </dict>
113
+ </array>
114
+ <key>LSBackgroundOnly</key>
115
+ <true/>
116
+ <key>NSHighResolutionCapable</key>
117
+ <true/>
118
+ </dict>
119
+ </plist>
120
+ `;
121
+ const plistPath = path.join(appDir, "Contents", "Info.plist");
122
+ fs.writeFileSync(plistPath, plist, "utf8");
123
+ logger_1.logger.info(`Built .app bundle at: ${appDir}`);
124
+ }
125
+ async function runRegisterProtocol() {
126
+ const platform = os.platform();
127
+ if (platform === "darwin") {
128
+ return registerMac();
129
+ }
130
+ else if (platform === "win32") {
131
+ return registerWindows();
132
+ }
133
+ else {
134
+ logger_1.logger.error(`Unsupported platform: ${platform}. Only macOS and Windows are supported.`);
135
+ return 1;
136
+ }
137
+ }
138
+ exports.runRegisterProtocol = runRegisterProtocol;
139
+ function registerMac() {
140
+ const studioBin = resolveStudioBin();
141
+ // Use the node binary that is currently running this script.
142
+ const nodeBin = process.execPath;
143
+ logger_1.logger.info(`studio bin: ${studioBin}`);
144
+ logger_1.logger.info(`node bin: ${nodeBin}`);
145
+ // Install location: ~/Library/Application Support/StudioCLI/StudioProtocol.app
146
+ const installBase = path.join(os.homedir(), "Library", "Application Support", "StudioCLI");
147
+ fs.mkdirSync(installBase, { recursive: true });
148
+ const appDir = path.join(installBase, `${APP_NAME}.app`);
149
+ // Always rebuild so the embedded bin path stays current.
150
+ logger_1.logger.info("Building .app bundle...");
151
+ try {
152
+ buildMacAppBundle(appDir, studioBin, nodeBin);
153
+ }
154
+ catch (err) {
155
+ logger_1.logger.error(`Failed to build .app bundle: ${err.message}`);
156
+ return 1;
157
+ }
158
+ // Register with Launch Services using lsregister.
159
+ const lsregister = "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/" +
160
+ "LaunchServices.framework/Versions/A/Support/lsregister";
161
+ logger_1.logger.info("Registering with Launch Services...");
162
+ const result = (0, node_child_process_1.spawnSync)(lsregister, ["-f", appDir], { encoding: "utf8" });
163
+ if (result.status !== 0) {
164
+ logger_1.logger.error(`lsregister failed (exit ${result.status}): ${result.stderr}`);
165
+ return 1;
166
+ }
167
+ logger_1.logger.info(`${SCHEME}:// protocol registered successfully.`);
168
+ logger_1.logger.info(`App bundle: ${appDir}`);
169
+ logger_1.logger.info(`Logs: ~/Library/Logs/StudioProtocol.log`);
170
+ return 0;
171
+ }
172
+ function registerWindows() {
173
+ const studioBin = resolveStudioBin();
174
+ // Find node.exe - use the one running this script.
175
+ const nodeExe = process.execPath;
176
+ // The command that Windows will invoke: node "path\to\index.js" protocol open "%1"
177
+ const command = `"${nodeExe}" "${studioBin}" protocol open "%1"`;
178
+ const regCommands = [
179
+ // Create the root key with a URL Protocol marker.
180
+ ["add", `HKCU\\Software\\Classes\\${SCHEME}`, "/ve", "/d", "URL:Studio Protocol", "/f"],
181
+ ["add", `HKCU\\Software\\Classes\\${SCHEME}`, "/v", "URL Protocol", "/d", "", "/f"],
182
+ // Set the default icon.
183
+ ["add", `HKCU\\Software\\Classes\\${SCHEME}\\DefaultIcon`, "/ve", "/d", `${nodeExe},1`, "/f"],
184
+ // Set the open command.
185
+ ["add", `HKCU\\Software\\Classes\\${SCHEME}\\shell\\open\\command`, "/ve", "/d", command, "/f"],
186
+ ];
187
+ for (const args of regCommands) {
188
+ logger_1.logger.info(`> reg ${args.join(" ")}`);
189
+ // Invoke reg.exe directly (no cmd.exe) so Node's own Windows arg-quoting
190
+ // is applied once, correctly. Routing the same string through
191
+ // `cmd.exe /c "<string>"` double-escapes embedded quotes and corrupts
192
+ // the command, which reg.exe then rejects with "Invalid syntax".
193
+ const result = (0, node_child_process_1.spawnSync)("reg", args, { encoding: "utf8" });
194
+ if (result.status !== 0) {
195
+ logger_1.logger.error(`Registry command failed: ${result.stderr}`);
196
+ return 1;
197
+ }
198
+ }
199
+ logger_1.logger.info(`${SCHEME}:// protocol registered successfully in HKCU registry.`);
200
+ return 0;
201
+ }
202
+ // ---------------------------------------------------------------------------
203
+ // Uninstall
204
+ // ---------------------------------------------------------------------------
205
+ function runUninstallProtocol() {
206
+ const platform = os.platform();
207
+ if (platform === "darwin") {
208
+ return uninstallMac();
209
+ }
210
+ else if (platform === "win32") {
211
+ return uninstallWindows();
212
+ }
213
+ else {
214
+ logger_1.logger.error(`Unsupported platform: ${platform}.`);
215
+ return 1;
216
+ }
217
+ }
218
+ exports.runUninstallProtocol = runUninstallProtocol;
219
+ function uninstallMac() {
220
+ const lsregister = "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/" +
221
+ "LaunchServices.framework/Versions/A/Support/lsregister";
222
+ const appDir = path.join(os.homedir(), "Library", "Application Support", "StudioCLI", `${APP_NAME}.app`);
223
+ if (fs.existsSync(appDir)) {
224
+ logger_1.logger.info("Unregistering from Launch Services...");
225
+ (0, node_child_process_1.spawnSync)(lsregister, ["-u", appDir], { encoding: "utf8" });
226
+ logger_1.logger.info(`Removing app bundle: ${appDir}`);
227
+ fs.rmSync(appDir, { recursive: true, force: true });
228
+ }
229
+ else {
230
+ logger_1.logger.info("App bundle not found, nothing to remove.");
231
+ }
232
+ logger_1.logger.info(`${SCHEME}:// protocol uninstalled.`);
233
+ return 0;
234
+ }
235
+ function uninstallWindows() {
236
+ const args = ["delete", `HKCU\\Software\\Classes\\${SCHEME}`, "/f"];
237
+ logger_1.logger.info(`> reg ${args.join(" ")}`);
238
+ const result = (0, node_child_process_1.spawnSync)("reg", args, { encoding: "utf8" });
239
+ if (result.status !== 0) {
240
+ // "key not found" hatasını sessizce geç — zaten yoksa sorun değil.
241
+ if (result.stderr?.includes("cannot find")) {
242
+ logger_1.logger.info("Registry key not found, nothing to remove.");
243
+ return 0;
244
+ }
245
+ logger_1.logger.error(`Registry delete failed: ${result.stderr}`);
246
+ return 1;
247
+ }
248
+ logger_1.logger.info(`${SCHEME}:// protocol uninstalled from registry.`);
249
+ return 0;
250
+ }
251
+ //# sourceMappingURL=registerProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerProtocol.js","sourceRoot":"","sources":["../../../../src/control/registerProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAClC,4CAA8B;AAC9B,2DAA+C;AAC/C,2CAAwC;AAExC,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAElC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,gBAAgB;IACvB,2EAA2E;IAC3E,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI;QACF,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAAC,MAAM;QACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACxB;AACH,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAe;IAC3E,2DAA2D;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACzB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACrD;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,WAAW,GAAG;;;gBAGN,OAAO,cAAc,SAAS;;;CAG7C,CAAC;IAEA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,IAAA,8BAAS,EAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACzF,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KACzD;IAED,6EAA6E;IAC7E,MAAM,KAAK,GAAG;;;;;;;;YAQJ,QAAQ;;;;;;;;;;;;;;kBAcF,MAAM;;;;;;;;;;CAUvB,CAAC;IACA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3C,eAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,mBAAmB;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE;QACzB,OAAO,WAAW,EAAE,CAAC;KACtB;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;QAC/B,OAAO,eAAe,EAAE,CAAC;KAC1B;SAAM;QACL,eAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,yCAAyC,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAXD,kDAWC;AAED,SAAS,WAAW;IAClB,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,6DAA6D;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IACjC,eAAM,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;IACxC,eAAM,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IAEtC,+EAA+E;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAC3F,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAEzD,yDAAyD;IACzD,eAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI;QACF,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,gCAAiC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;KACV;IAED,kDAAkD;IAClD,MAAM,UAAU,GACd,0EAA0E;QAC1E,wDAAwD,CAAC;IAE3D,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,eAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,CAAC;KACV;IAED,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,uCAAuC,CAAC,CAAC;IAC9D,eAAM,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAEvD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,mDAAmD;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEjC,mFAAmF;IACnF,MAAM,OAAO,GAAG,IAAI,OAAO,MAAM,SAAS,sBAAsB,CAAC;IAEjE,MAAM,WAAW,GAAe;QAC9B,kDAAkD;QAClD,CAAC,KAAK,EAAE,4BAA4B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC;QACvF,CAAC,KAAK,EAAE,4BAA4B,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;QACnF,wBAAwB;QACxB,CAAC,KAAK,EAAE,4BAA4B,MAAM,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC;QAC7F,wBAAwB;QACxB,CAAC,KAAK,EAAE,4BAA4B,MAAM,wBAAwB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;KAChG,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,eAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,yEAAyE;QACzE,8DAA8D;QAC9D,sEAAsE;QACtE,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,eAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;SACV;KACF;IAED,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,wDAAwD,CAAC,CAAC;IAC/E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,SAAgB,oBAAoB;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE;QACzB,OAAO,YAAY,EAAE,CAAC;KACvB;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;QAC/B,OAAO,gBAAgB,EAAE,CAAC;KAC3B;SAAM;QACL,eAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAXD,oDAWC;AAED,SAAS,YAAY;IACnB,MAAM,UAAU,GACd,0EAA0E;QAC1E,wDAAwD,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,QAAQ,MAAM,CAC/E,CAAC;IAEF,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACzB,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,IAAA,8BAAS,EAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,eAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACrD;SAAM;QACL,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;KACzD;IAED,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,4BAA4B,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,eAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,mEAAmE;QACnE,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;YAC1C,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;SACV;QACD,eAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC;KACV;IAED,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,yCAAyC,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runStartWorking = void 0;
4
+ const promises_1 = require("node:fs/promises");
5
+ const node_path_1 = require("node:path");
6
+ const serverInfo_1 = require("../server/serverInfo");
7
+ const frontmatter_1 = require("../util/frontmatter");
8
+ const logger_1 = require("../util/logger");
9
+ const MODE_WRITABLE = 0o644;
10
+ /** studio startWorking <yol>: dosyadan modelId çözer, server üzerinden checkout yapar, 0644'e alır. */
11
+ async function runStartWorking(rootDir, filePath) {
12
+ const absPath = (0, node_path_1.resolve)(filePath);
13
+ let content;
14
+ try {
15
+ content = await (0, promises_1.readFile)(absPath, "utf8");
16
+ }
17
+ catch {
18
+ logger_1.logger.error(`cannot read file: ${absPath}`);
19
+ return 1;
20
+ }
21
+ const parsed = (0, frontmatter_1.parseFrontmatter)(content);
22
+ if (!parsed) {
23
+ logger_1.logger.error(`no studio frontmatter in ${absPath} — is this a studio-managed file?`);
24
+ return 1;
25
+ }
26
+ const { id: modelId } = parsed.meta;
27
+ const info = (0, serverInfo_1.readServerInfo)(rootDir);
28
+ if (!info) {
29
+ logger_1.logger.error("no studio server in this workspace — run `studio connect` first");
30
+ return 1;
31
+ }
32
+ let res;
33
+ try {
34
+ res = await fetch(`http://127.0.0.1:${info.port}/control/startWorking`, {
35
+ method: "POST",
36
+ headers: { "Content-Type": "application/json" },
37
+ body: JSON.stringify({ modelId }),
38
+ });
39
+ }
40
+ catch {
41
+ logger_1.logger.error("studio server not reachable — is `studio connect` running?");
42
+ return 1;
43
+ }
44
+ if (!res.ok) {
45
+ const text = await res.text();
46
+ let errMsg = text;
47
+ try {
48
+ const j = JSON.parse(text);
49
+ if (j.error)
50
+ errMsg = j.error;
51
+ }
52
+ catch { /* keep raw */ }
53
+ logger_1.logger.error(`startWorking failed: ${errMsg || `HTTP ${res.status}`}`);
54
+ return 1;
55
+ }
56
+ const result = (await res.json());
57
+ if (!result.checkedOut) {
58
+ logger_1.logger.error(`checkout failed for model ${modelId} — file may be locked by another user`);
59
+ return 1;
60
+ }
61
+ if (result.alreadyEditable) {
62
+ logger_1.logger.info(`${filePath} is already editable`);
63
+ return 0;
64
+ }
65
+ await (0, promises_1.chmod)(absPath, MODE_WRITABLE);
66
+ logger_1.logger.info(`${filePath} is now editable`);
67
+ return 0;
68
+ }
69
+ exports.runStartWorking = runStartWorking;
70
+ //# sourceMappingURL=startWorking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startWorking.js","sourceRoot":"","sources":["../../../../src/control/startWorking.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AACnD,yCAAoC;AACpC,qDAAsD;AACtD,qDAAuD;AACvD,2CAAwC;AAGxC,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,uGAAuG;AAChG,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,QAAgB;IACrE,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,OAAe,CAAC;IACpB,IAAI;QACF,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC3C;IAAC,MAAM;QACN,eAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;KACV;IAED,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE;QACX,eAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,mCAAmC,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC;KACV;IAED,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE;QACT,eAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;KACV;IAED,IAAI,GAAa,CAAC;IAClB,IAAI;QACF,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,uBAAuB,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;SAClC,CAAC,CAAC;KACJ;IAAC,MAAM;QACN,eAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;KACV;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI;YAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;YAAC,IAAI,CAAC,CAAC,KAAK;gBAAE,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;SAAE;QAAC,MAAM,EAAE,cAAc,EAAE;QACjH,eAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;KACV;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA8B,CAAC;IAE/D,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QACtB,eAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,uCAAuC,CAAC,CAAC;QAC1F,OAAO,CAAC,CAAC;KACV;IAED,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,eAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;KACV;IAED,MAAM,IAAA,gBAAK,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACpC,eAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,kBAAkB,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC;AACX,CAAC;AA5DD,0CA4DC"}