@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.
- package/dist/common/clean/domain/infrastructure/ICloudProviderFileSystem.js +5 -0
- package/dist/common/clean/domain/infrastructure/ICloudProviderFileSystem.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/ICrypto.js +5 -0
- package/dist/common/clean/domain/infrastructure/ICrypto.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/ILogger.js +5 -0
- package/dist/common/clean/domain/infrastructure/ILogger.js.map +1 -0
- package/dist/common/clean/domain/infrastructure/IMime.js +5 -0
- package/dist/common/clean/domain/infrastructure/IMime.js.map +1 -0
- package/dist/common/clean/domain/useCases/ICloudProvider.js +3 -0
- package/dist/common/clean/domain/useCases/ICloudProvider.js.map +1 -0
- package/dist/common/clean/domain/useCases/ICloudProviderPublish.js +5 -0
- package/dist/common/clean/domain/useCases/ICloudProviderPublish.js.map +1 -0
- package/dist/common/everything/accessmanager/types.js +8 -0
- package/dist/common/everything/accessmanager/types.js.map +1 -0
- package/dist/common/everything/action/types.js +5 -0
- package/dist/common/everything/action/types.js.map +1 -0
- package/dist/common/everything/befunc/runtimeModels/types.js +5 -0
- package/dist/common/everything/befunc/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/dataSet/runtimemodels/types.js +5 -0
- package/dist/common/everything/dataSet/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/dataType/runtimemodels/types.js +35 -0
- package/dist/common/everything/dataType/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/endpoint/runtimeModels/types.js +5 -0
- package/dist/common/everything/endpoint/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/enum/runtimeModels/types.js +3 -0
- package/dist/common/everything/enum/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/flow/runtimeModels/types.js +7 -0
- package/dist/common/everything/flow/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/restService/runtimeModels/types.js +5 -0
- package/dist/common/everything/restService/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/sla/runtimemodels/types.js +5 -0
- package/dist/common/everything/sla/runtimemodels/types.js.map +1 -0
- package/dist/common/everything/soapService/runtimeModels/types.js +6 -0
- package/dist/common/everything/soapService/runtimeModels/types.js.map +1 -0
- package/dist/common/everything/studio/ui/IStudioUIModelBase.js +3 -0
- package/dist/common/everything/studio/ui/IStudioUIModelBase.js.map +1 -0
- package/dist/common/everything/studio/ui/IStudioUIObjectBase.js +3 -0
- package/dist/common/everything/studio/ui/IStudioUIObjectBase.js.map +1 -0
- package/dist/common/everything/workflow/runtimemodels/types.js +90 -0
- package/dist/common/everything/workflow/runtimemodels/types.js.map +1 -0
- package/dist/common/helpers/objectHelper.js +43 -0
- package/dist/common/helpers/objectHelper.js.map +1 -0
- package/dist/common/helpers/promiseHelper.js +47 -0
- package/dist/common/helpers/promiseHelper.js.map +1 -0
- package/dist/common/helpers/typeHelper.js +3 -0
- package/dist/common/helpers/typeHelper.js.map +1 -0
- package/dist/common/qCloudTemp/announcement.js +3 -0
- package/dist/common/qCloudTemp/announcement.js.map +1 -0
- package/dist/common/qCloudTemp/application.js +3 -0
- package/dist/common/qCloudTemp/application.js.map +1 -0
- package/dist/common/qCloudTemp/applicationCopy.js +3 -0
- package/dist/common/qCloudTemp/applicationCopy.js.map +1 -0
- package/dist/common/qCloudTemp/applicationVersion.js +3 -0
- package/dist/common/qCloudTemp/applicationVersion.js.map +1 -0
- package/dist/common/qCloudTemp/authentication.js +3 -0
- package/dist/common/qCloudTemp/authentication.js.map +1 -0
- package/dist/common/qCloudTemp/authorization.js +4 -0
- package/dist/common/qCloudTemp/authorization.js.map +1 -0
- package/dist/common/qCloudTemp/backoffice.js +3 -0
- package/dist/common/qCloudTemp/backoffice.js.map +1 -0
- package/dist/common/qCloudTemp/exporter.js +3 -0
- package/dist/common/qCloudTemp/exporter.js.map +1 -0
- package/dist/common/qCloudTemp/externalToken.js +3 -0
- package/dist/common/qCloudTemp/externalToken.js.map +1 -0
- package/dist/common/qCloudTemp/feedback.js +3 -0
- package/dist/common/qCloudTemp/feedback.js.map +1 -0
- package/dist/common/qCloudTemp/invitation.js +3 -0
- package/dist/common/qCloudTemp/invitation.js.map +1 -0
- package/dist/common/qCloudTemp/membership.js +3 -0
- package/dist/common/qCloudTemp/membership.js.map +1 -0
- package/dist/common/qCloudTemp/modelDatas.js +3 -0
- package/dist/common/qCloudTemp/modelDatas.js.map +1 -0
- package/dist/common/qCloudTemp/organizationGroupApplication.js +3 -0
- package/dist/common/qCloudTemp/organizationGroupApplication.js.map +1 -0
- package/dist/common/qCloudTemp/quickCloud.js +34 -0
- package/dist/common/qCloudTemp/quickCloud.js.map +1 -0
- package/dist/common/qCloudTemp/storageTypes.js +3 -0
- package/dist/common/qCloudTemp/storageTypes.js.map +1 -0
- package/dist/common/qCloudTemp/symDtoObjects.js +8 -0
- package/dist/common/qCloudTemp/symDtoObjects.js.map +1 -0
- package/dist/common/qCloudTemp/tags.js +3 -0
- package/dist/common/qCloudTemp/tags.js.map +1 -0
- package/dist/common/qCloudTemp/template.js +107 -0
- package/dist/common/qCloudTemp/template.js.map +1 -0
- package/dist/common/qCloudTemp/userPreference.js +3 -0
- package/dist/common/qCloudTemp/userPreference.js.map +1 -0
- package/dist/common/qCloudTemp/userRequest.js +8 -0
- package/dist/common/qCloudTemp/userRequest.js.map +1 -0
- package/dist/common/studioCli/messages.js +14 -0
- package/dist/common/studioCli/messages.js.map +1 -0
- package/dist/common/studioCli/protocolVersion.js +14 -0
- package/dist/common/studioCli/protocolVersion.js.map +1 -0
- package/dist/jobs/src/application/shared/fileUrlCreator.js +72 -0
- package/dist/jobs/src/application/shared/fileUrlCreator.js.map +1 -0
- package/dist/jobs/src/domain/model/IExportJob.js +3 -0
- package/dist/jobs/src/domain/model/IExportJob.js.map +1 -0
- package/dist/studio-cli/src/.ai-kit/.mcp.json +8 -0
- package/dist/studio-cli/src/.ai-kit/AGENTS.md +18 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-legacy.md +29 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE-s.md +30 -0
- package/dist/studio-cli/src/.ai-kit/AGENT_GUIDE.md +86 -0
- package/dist/studio-cli/src/.ai-kit/CLAUDE.md +12 -0
- package/dist/studio-cli/src/.ai-kit/README.md +81 -0
- package/dist/studio-cli/src/.ai-kit/agents/qjson-legacy-migrator.md +308 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-events.md +41 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-legacy.md +29 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author-s.md +29 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-qjson-author.md +33 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-styling-legacy.md +37 -0
- package/dist/studio-cli/src/.ai-kit/agents/quick-styling.md +36 -0
- package/dist/studio-cli/src/.ai-kit/examples/README.md +12 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/AllowdDates.qjson +122 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Avatarlar.qjson +1084 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart.qjson +1061 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BarChart_Type_Time_Sample.qjson +344 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/BottomSheetScrollWithHeaderInformation.qjson +1609 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CardTitle.qjson +143 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_Custom_Legend_Sample.qjson +763 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Charts_tooltipLabel_sample.qjson +631 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckBoxQvalue.qjson +91 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CheckboxDisabledExample.qjson +153 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Click Outside.qjson +144 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboBoxReset.qjson +839 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithDialog.qjson +296 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxAddItemWithTextField.qjson +186 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxDefaultSelection.qjson +99 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComboboxWithTreeView.qjson +94 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Combobox_SelectAll.qjson +704 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ComponentsInteractionExamples.qjson +722 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CookieExamples.qjson +828 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/CreateComponent_WithTransmitDataSource_Sample.qjson +749 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Cryptography-with-ivKey.qjson +2159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Dashboard.qjson +1135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataExamples.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataStorageExamples.qjson +1296 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable-Single-select-Multi-Select-TotalCalculation.qjson +441 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableAddRemoveItem.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableBoldHeader.qjson +34 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableEdit.qjson +422 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableFixedColumn.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableIndexExample.qjson +117 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableSearch.qjson +105 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableVerticalBorder.qjson +34 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTableWithTooltip.qjson +354 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DataTable_ChildButtonVisibleSample.qjson +892 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerExampleApp (1).qjson +770 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerInlineExample.qjson +299 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatePickerLocale.qjson +87 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerDatenow.qjson +96 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DatepickerExample.qjson +147 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Row_Expand.qjson +388 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Detailed_Table_Rows.qjson +114 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogBlockSubPage.qjson +1014 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExample.qjson +420 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogExampleWith/304/261con.qjson +345 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DialogWithEagerProp.qjson +129 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DoughnutChart.qjson +1005 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Download.qjson +139 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnChooser.qjson +341 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumnFixing.qjson +317 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxColumn_fix_allowFixing.qjson +466 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxExport.qjson +225 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxFilterRow.qjson +174 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-DxSearchPanel.qjson +170 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGrid-columnAutoWidth.qjson +135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveCon.qjson +201 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridArrStoreLiveConReason.qjson +290 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFilterCleaning.qjson +358 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridExternalFiltering.qjson +300 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDataGridRowDragging.qjson +257 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_MultipleSelection.qjson +503 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_ServiceCall.qjson +204 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SimplestGridWithArrayStore.qjson +215 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_SingleSelection.qjson +337 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_allowFixing.qjson +321 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_columnResizingMode.qjson +718 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_hoverStateEnabled.qjson +144 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_onCellClickEvent.qjson +147 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxDatagrid_width_menu.qjson +574 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreeListArrStoreLiveCon.qjson +302 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-color.qjson +237 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-columnreordering.qjson +241 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-editing.qjson +1471 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/DxTreelist-extarnelfiltre.qjson +122 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Expansion_Panels.qjson +298 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/FileInput.qjson +228 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Frame_openHtmlContentInFrame.qjson +556 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Highlight_datatable_select.qjson +53 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Icon_Samples.qjson +148 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Instructions.request.qjson +605 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Intersect.qjson +423 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LightBox.qjson +809 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart.qjson +1046 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LineChart_Type_Time_Sample.qjson +340 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ListExample.qjson +475 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/LoginPage.qjson +525 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMDelay.qjson +356 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/MMtrigger.qjson +195 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerExample.qjson +808 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/NavigationDrawerWithAppBar.qjson +1621 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Parallax.qjson +381 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/PermanentStore_Example.qjson +1445 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/PieChart.qjson +1005 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Profile_Card.qjson +345 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ProgressLinear.qjson +547 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QCaptcha.qjson +318 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QDocumentViewer.qjson +41 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameAllowFullScreenExample.qjson +368 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QFrameExample.qjson +117 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QIdleTimer.qjson +100 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomRotate.qjson +428 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeNextTo.qjson +187 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QImgZoomTypeOn.qjson +187 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL.qjson +105 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLabel_URL_Click.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend.qjson +501 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegendBlock.qjson +732 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QLegend_unchanged.qjson +746 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMapExample.qjson +785 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QMenuExample.qjson +68 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QOtp.qjson +979 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QQRCode.qjson +295 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QReCaptcha.qjson +361 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichTextExample.qjson +139 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QRichText_Cursor_Sample.qjson +352 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QTutorialFinalDemo.qjson +494 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/QVideoExample.qjson +1135 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qlabel_Props.qjson +1591 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Qmenu-Icon-Img-SizeandColor.qjson +244 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind.qjson +110 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Quick_Bind_Sample.qjson +172 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Rating.qjson +101 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/RenderingComponent_Sample.qjson +1592 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/RequestExamples.qjson +680 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ResetValidation-ResetUsage.qjson +1326 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Resize.qjson +140 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Ripple.qjson +431 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Sparkline.qjson +386 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/State_storing.qjson +286 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/SwitchComponent.qjson +42 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Pagination.qjson +99 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Search.qjson +64 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Table_Select.qjson +106 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/ToolTip_props.qjson +2649 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/TooltipDisplayOfVDataTableDataTotal.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/TreeViewExample.qjson +92 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAppBar.qjson +1681 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VAutocompleteRegex.qjson +45 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VBottomSheet.qjson +429 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCard.qjson +1945 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VCombobox_customValidation.qjson +290 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable-slot-columnVeriyeG/303/266reRenklendirme.qjson +493 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableIconExample.qjson +116 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTableItemAggregation.qjson +499 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Change_FooterPageText.qjson +107 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Multiple_Select_Control.qjson +50 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetGetComboboxValue_.qjson +148 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SetItemSelect_GetSelection.qjson +627 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_SlotInstances.qjson +362 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_Validation.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_With_QTableCell_Sample.qjson +281 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_customSearchFilter.qjson +255 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_firstColumn_fixedActionsColumn.qjson +216 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDataTable_uniqueSlot_itemKey_Object.qjson +545 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDatePicker_AllowdDates.qjson +89 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VDialog.qjson +3512 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VExpansionPanel_UsageAndProps.qjson +3811 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput-Slot-VIcon-Dolu.qjson +232 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInputGetUploadedContent.qjson +111 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFileInput_ImagePicker.qjson +308 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFooter.qjson +1480 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VForm.qjson +410 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VFormActionExample.qjson +2289 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatePicker_titleDateFormat.qjson +319 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerMaxMin.qjson +36 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineDatepickerReset.qjson +88 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VInlineTimePicker.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VListGroup.qjson +1817 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VList_NavigationMenu.qjson +1636 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_PopoverInTable.qjson +534 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VMenu_sample.qjson +470 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepperExample.qjson +748 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VStepper_vertical.qjson +364 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_EditableNonLinear.qjson +658 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VSteppers_LinearWithContinueButton.qjson +719 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldQuickInputFormat.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextFieldValidation.qjson +1087 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_FocusExample.qjson +329 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_Validation_examples.qjson +877 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_customValidation.qjson +159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSample1.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValueSapmle2.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_exceptLetters.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_formatValue_specialChars.qjson +40 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_keyDown.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextField_rangeOfNumber_validation.qjson +55 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextareaQuickInputFormat.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTextarea_format_regex_sample.qjson +321 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VTimelineExample.qjson +322 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/Vcontainer.qjson +417 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/VinlineDatePicker.qjson +61 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/V/304/261nlineDatepickerDeleteValue.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/alert.qjson +459 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/alertSamplePage.qjson +455 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge copy.qjson +158 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/badge.qjson +158 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/bottomSheetScrollable.qjson +3220 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/breadcrumbs.qjson +587 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/button.qjson +1765 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/cellTemplate.qjson +76 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/combobox.qjson +90 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/comboboxSelected.qjson +118 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/createChildren.qjson +406 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/createClosedPanes.qjson +245 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/creditcard.qjson +28 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/crypto.qjson +5965 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/customFilterUsingCalculateFilterExpressionEvent.qjson +305 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/customStore.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/deleteComponent.qjson +533 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/divider.qjson +185 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridLines.qjson +120 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDataGridRemove.qjson +216 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridHeatMap.qjson +334 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxMasterDetail.qjson +261 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxPaging_withServiceCall.qjson +159 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxRowDragging.qjson +179 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxSummary_dxTotalItem_usage.qjson +219 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTotalItemCustomizeText.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dxTreeList_exportToExcel.qjson +266 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/dynamicComp.qjson +162 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/email.qjson +29 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/encoding.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileInput-1.qjson +904 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadBlockComponent.qjson +68 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fileUploadServiceCallBlockComp.qjson +128 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/findAndDeleteRelatedDynamicComp.qjson +211 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/first.qjson +57 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/fixedActionsColumn.qjson +133 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/formatWithFormatType.qjson +1740 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/getComponent_example.qjson +491 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/globalLocalization.qjson +189 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/goldenLayout.qjson +228 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/images.qjson +1461 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/list.qjson +162 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/localization_AddLanguageRTL_Sample.qjson +1192 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/number.qjson +41 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/number_VTextarea.qjson +37 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/onlyAlphabetic.qjson +32 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/parentPage.qjson +292 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipeline.qjson +77 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/pipelineSample.qjson +422 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/placeQidDynamic.qjson +193 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/progress-circular.qjson +1056 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/qtimer.qjson +335 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/radioGroupGetValues.qjson +125 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/region_definition_example.qjson +580 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/resetAndResetValidationUsage.qjson +1827 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive1.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive2.qjson +312 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/responsive3.qjson +1546 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollButton.qjson +331 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/scrollDirective.qjson +297 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/selectedRow-propertyDisable.qjson +238 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/serviceCallerBlockComponent.qjson +63 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/sheet.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/slider.qjson +81 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/snackbars.qjson +2454 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/sso.qjson +260 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/subPage.qjson +710 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tab.qjson +271 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tableadditem.qjson +125 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/themeExamplePage.qjson +876 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/tiffImage.qjson +315 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/timePicker.qjson +452 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/treeview2.qjson +503 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/uniqueRowSlots.qjson +226 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vMenu.qjson +212 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vcarousel.qjson +659 -0
- package/dist/studio-cli/src/.ai-kit/examples/cssClass/vdatatable_slots_with_custom_validation_usage.qjson +1585 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/AllowdDates.qjson +126 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartEvents.qjson +323 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartTitle.qjson +411 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChartYTicks.qjson +399 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/BarChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/CalendarClickMoreExample.qjson +2 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/CalendarUsageExample.qjson +2 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/ChartLegendFont.qjson +788 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DataTable_customSort.qjson +277 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DocumentViewer_tiff_Sample.qjson +927 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DoughnutChartEvents.qjson +243 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/DxDataGrid_CustomStore.qjson +267 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Icon_Samples.qjson +181 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Instructions.request.qjson +584 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Intersect.qjson +404 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LightBox.qjson +777 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart.qjson +1049 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChartEvents.qjson +327 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChartPointProps.qjson +416 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_TicksCallback.qjson +309 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/LineChart_Type_Time_Sample.qjson +342 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/MMDelay.qjson +384 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/MMtrigger.qjson +209 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerExample.qjson +899 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/NavigationDrawerWithAppBar.qjson +1647 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/Parallax.qjson +416 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/PieChart.qjson +1103 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QCaptcha.qjson +409 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QDocumentViewer.qjson +149 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QFrameAllowFullScreenExample.qjson +360 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QFrameExample.qjson +213 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QIdleTimer.qjson +221 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomRotate.qjson +432 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeNextTo.qjson +196 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QImgZoomTypeOn.qjson +196 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/QLabel_URL_Click_SendParams.qjson +477 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/VList_NavMenu.qjson +3008 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/alertSamplePage.qjson +450 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/authorizationDashboard.qjson +24914 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/badge.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/bottomSheetScrollable.qjson +3120 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/breadcrumbs.qjson +563 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/button.qjson +1658 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/cellTemplate.qjson +96 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/combobox.qjson +109 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/comboboxSelected.qjson +119 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/createChildren.qjson +411 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/createClosedPanes.qjson +265 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/creditcard.qjson +49 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/crypto.qjson +5632 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/customFilterUsingCalculateFilterExpressionEvent.qjson +301 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/customStore.qjson +157 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dataTableFormatColumn.qjson +151 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/data_table_component_access.qjson +130 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datagridAddDynamicColumn.qjson +1381 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datatableAddandDeleteItem.qjson +1195 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/datatable_selectable_feature_select_unselect_usage.qjson +300 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/deleteComponent.qjson +501 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/divider.qjson +180 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxColumncssClass.qjson +249 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridAddinEditingDeleting.qjson +486 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridLines.qjson +121 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDataGridRemove.qjson +209 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridHeatMap.qjson +335 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxDatagridUpdate.qjson +80 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxMasterDetail.qjson +257 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxPaging_withServiceCall.qjson +160 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxRowDragging.qjson +175 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxSummary_dxTotalItem_usage.qjson +215 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxTotalItemCustomizeText.qjson +222 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dxTreeList_exportToExcel.qjson +267 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/dynamicComp.qjson +156 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/efficientTreeviewSearchforLargeDatasets.qjson +736 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/email.qjson +177 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/encoding.qjson +304 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/encryptedStorage_Sample.qjson +596 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/exportToXlsx_Sample.qjson +1956 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/images.qjson +1379 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/images_olddd.qjson +1366 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/newCustomerRegister.qjson +2598 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/number.qjson +169 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/number_VTextarea.qjson +163 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/onlyAlphabetic.qjson +164 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/parentPage.qjson +351 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/pipeline.qjson +78 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/pipelineSample.qjson +410 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/placeQidDynamic.qjson +289 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/progress-circular.qjson +1014 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/samplePageLottie.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/server-SideAutocompleteHandling.qjson +696 -0
- package/dist/studio-cli/src/.ai-kit/examples/style/xlsxToJson_Sample.qjson +772 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure-legacy.md +65 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/00-qjson-structure.md +67 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/01-properties.md +77 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/02-events-and-scripting.md +79 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots-legacy.md +72 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/03-layout-and-slots.md +64 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/04-styling-legacy.md +73 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/04-styling.md +177 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/05-components.md +97 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/06-services.md +68 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/07-localization.md +40 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/08-dynamic-components.md +49 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons-legacy.md +83 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/09-page-skeletons.md +87 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync-legacy.md +69 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/10-validation-and-sync.md +78 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/11-cli-bridge.md +97 -0
- package/dist/studio-cli/src/.ai-kit/knowledge/12-render-check.md +45 -0
- package/dist/studio-cli/src/.ai-kit/opencode.jsonc +95 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-catalog-legacy.md +120 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-catalog.md +135 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-contracts.json +14964 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-index.json +114 -0
- package/dist/studio-cli/src/.ai-kit/reference/component-styles.json +6983 -0
- package/dist/studio-cli/src/.ai-kit/reference/events-system.md +98 -0
- package/dist/studio-cli/src/.ai-kit/reference/layout-system.md +99 -0
- package/dist/studio-cli/src/.ai-kit/reference/mapping-S-vuetify-class.md +103 -0
- package/dist/studio-cli/src/.ai-kit/reference/qjson-schema-legacy.md +189 -0
- package/dist/studio-cli/src/.ai-kit/reference/qjson-schema.md +188 -0
- package/dist/studio-cli/src/.ai-kit/reference/quick-api.md +248 -0
- package/dist/studio-cli/src/.ai-kit/reference/styling-system.md +193 -0
- package/dist/studio-cli/src/.ai-kit/skills/figma-to-qjson/SKILL.md +116 -0
- package/dist/studio-cli/src/.ai-kit/skills/quick-qjson/SKILL.md +36 -0
- package/dist/studio-cli/src/.ai-kit/tools/README.md +42 -0
- package/dist/studio-cli/src/control/controlClient.js +119 -0
- package/dist/studio-cli/src/control/controlClient.js.map +1 -0
- package/dist/studio-cli/src/control/convertToBlock.js +70 -0
- package/dist/studio-cli/src/control/convertToBlock.js.map +1 -0
- package/dist/studio-cli/src/control/pickWorkspaceDir.js +105 -0
- package/dist/studio-cli/src/control/pickWorkspaceDir.js.map +1 -0
- package/dist/studio-cli/src/control/protocolHandler.js +60 -0
- package/dist/studio-cli/src/control/protocolHandler.js.map +1 -0
- package/dist/studio-cli/src/control/pull.js +135 -0
- package/dist/studio-cli/src/control/pull.js.map +1 -0
- package/dist/studio-cli/src/control/push.js +113 -0
- package/dist/studio-cli/src/control/push.js.map +1 -0
- package/dist/studio-cli/src/control/registerProtocol.js +251 -0
- package/dist/studio-cli/src/control/registerProtocol.js.map +1 -0
- package/dist/studio-cli/src/control/startWorking.js +70 -0
- package/dist/studio-cli/src/control/startWorking.js.map +1 -0
- package/dist/studio-cli/src/control/workspaceSetup.js +66 -0
- package/dist/studio-cli/src/control/workspaceSetup.js.map +1 -0
- package/dist/studio-cli/src/index.js +193 -0
- package/dist/studio-cli/src/index.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/figmaPull.js +207 -0
- package/dist/studio-cli/src/isolatedCommands/figmaPull.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js +26 -0
- package/dist/studio-cli/src/isolatedCommands/qjsonBuild.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/validateQjson.js +560 -0
- package/dist/studio-cli/src/isolatedCommands/validateQjson.js.map +1 -0
- package/dist/studio-cli/src/isolatedCommands/validateStyles.js +672 -0
- package/dist/studio-cli/src/isolatedCommands/validateStyles.js.map +1 -0
- package/dist/studio-cli/src/server/bridgeServer.js +817 -0
- package/dist/studio-cli/src/server/bridgeServer.js.map +1 -0
- package/dist/studio-cli/src/server/peer.js +119 -0
- package/dist/studio-cli/src/server/peer.js.map +1 -0
- package/dist/studio-cli/src/server/serverInfo.js +59 -0
- package/dist/studio-cli/src/server/serverInfo.js.map +1 -0
- package/dist/studio-cli/src/server/wsRaw.js +252 -0
- package/dist/studio-cli/src/server/wsRaw.js.map +1 -0
- package/dist/studio-cli/src/util/frontmatter.js +71 -0
- package/dist/studio-cli/src/util/frontmatter.js.map +1 -0
- package/dist/studio-cli/src/util/logger.js +28 -0
- package/dist/studio-cli/src/util/logger.js.map +1 -0
- package/dist/studio-cli/src/util/modelRef.js +38 -0
- package/dist/studio-cli/src/util/modelRef.js.map +1 -0
- package/dist/studio-cli/src/util/state.js +36 -0
- package/dist/studio-cli/src/util/state.js.map +1 -0
- package/dist/studio-cli/src/version.js +6 -0
- package/dist/studio-cli/src/version.js.map +1 -0
- package/dist/ui/src/common/promiseHelper.js +6 -0
- package/dist/ui/src/common/promiseHelper.js.map +1 -0
- package/dist/ui/src/domain/model/IObject.js +3 -0
- package/dist/ui/src/domain/model/IObject.js.map +1 -0
- package/dist/ui/src/domain/model/models.js +163 -0
- package/dist/ui/src/domain/model/models.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|