lua-cli 2.0.6 → 2.1.0-alpha.14
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/commands/compile.js +18 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/product-api.d.ts +48 -0
- package/dist/product-api.js +61 -0
- package/dist/services/api.d.ts +20 -5
- package/dist/services/api.js +50 -5
- package/dist/utils/sandbox.js +26 -1
- package/dist/web/app.css +447 -0
- package/dist/web/app.js +20 -20
- package/package.json +3 -2
- package/template/lua-skill-1.0.1-beta.0.tgz +0 -0
- package/template/lua.skill.yaml +5 -7
- package/template/package-lock.json +72 -7
- package/template/package.json +2 -1
- package/template/src/index.ts +6 -1
- package/template/src/tools/ProductsTool.ts +75 -0
- package/template/src/tools/SearchProducts.ts +0 -43
package/dist/web/app.css
CHANGED
|
@@ -4808,6 +4808,453 @@ body {
|
|
|
4808
4808
|
letter-spacing: 0.5px;
|
|
4809
4809
|
}
|
|
4810
4810
|
|
|
4811
|
+
/* Product Management Styles */
|
|
4812
|
+
.product-management {
|
|
4813
|
+
flex: 1;
|
|
4814
|
+
display: flex;
|
|
4815
|
+
flex-direction: column;
|
|
4816
|
+
overflow: hidden;
|
|
4817
|
+
background: #1e1e1e;
|
|
4818
|
+
}
|
|
4819
|
+
|
|
4820
|
+
.product-header {
|
|
4821
|
+
background: #2d2d30;
|
|
4822
|
+
color: #cccccc;
|
|
4823
|
+
padding: 12px 16px;
|
|
4824
|
+
border-bottom: 1px solid #3e3e42;
|
|
4825
|
+
display: flex;
|
|
4826
|
+
justify-content: space-between;
|
|
4827
|
+
align-items: center;
|
|
4828
|
+
flex-shrink: 0;
|
|
4829
|
+
}
|
|
4830
|
+
|
|
4831
|
+
.product-header .header-content {
|
|
4832
|
+
display: flex;
|
|
4833
|
+
align-items: center;
|
|
4834
|
+
gap: 16px;
|
|
4835
|
+
}
|
|
4836
|
+
|
|
4837
|
+
.product-header h3 {
|
|
4838
|
+
margin: 0;
|
|
4839
|
+
font-size: 14px;
|
|
4840
|
+
font-weight: 600;
|
|
4841
|
+
color: #ffffff;
|
|
4842
|
+
font-family: inherit;
|
|
4843
|
+
}
|
|
4844
|
+
|
|
4845
|
+
.product-count {
|
|
4846
|
+
color: #8c8c8c;
|
|
4847
|
+
font-size: 12px;
|
|
4848
|
+
}
|
|
4849
|
+
|
|
4850
|
+
.product-header .header-actions {
|
|
4851
|
+
display: flex;
|
|
4852
|
+
gap: 8px;
|
|
4853
|
+
}
|
|
4854
|
+
|
|
4855
|
+
.product-header .create-button {
|
|
4856
|
+
background: transparent;
|
|
4857
|
+
color: #cccccc;
|
|
4858
|
+
border: 1px solid #3e3e42;
|
|
4859
|
+
border-radius: 4px;
|
|
4860
|
+
padding: 6px;
|
|
4861
|
+
cursor: pointer;
|
|
4862
|
+
font-size: 14px;
|
|
4863
|
+
display: flex;
|
|
4864
|
+
align-items: center;
|
|
4865
|
+
justify-content: center;
|
|
4866
|
+
min-width: 32px;
|
|
4867
|
+
transition: all 0.2s;
|
|
4868
|
+
}
|
|
4869
|
+
|
|
4870
|
+
.product-header .create-button:hover {
|
|
4871
|
+
background: #007acc;
|
|
4872
|
+
border-color: #007acc;
|
|
4873
|
+
color: #ffffff;
|
|
4874
|
+
}
|
|
4875
|
+
|
|
4876
|
+
.product-content {
|
|
4877
|
+
flex: 1;
|
|
4878
|
+
overflow: hidden;
|
|
4879
|
+
display: flex;
|
|
4880
|
+
flex-direction: column;
|
|
4881
|
+
}
|
|
4882
|
+
|
|
4883
|
+
.product-search {
|
|
4884
|
+
padding: 16px;
|
|
4885
|
+
border-bottom: 1px solid #3e3e42;
|
|
4886
|
+
background: #2d2d30;
|
|
4887
|
+
flex-shrink: 0;
|
|
4888
|
+
}
|
|
4889
|
+
|
|
4890
|
+
.search-container {
|
|
4891
|
+
display: flex;
|
|
4892
|
+
gap: 8px;
|
|
4893
|
+
}
|
|
4894
|
+
|
|
4895
|
+
.search-input {
|
|
4896
|
+
flex: 1;
|
|
4897
|
+
background: #1e1e1e;
|
|
4898
|
+
border: 1px solid #3e3e42;
|
|
4899
|
+
border-radius: 4px;
|
|
4900
|
+
color: #ffffff;
|
|
4901
|
+
padding: 8px 12px;
|
|
4902
|
+
font-size: 14px;
|
|
4903
|
+
font-family: inherit;
|
|
4904
|
+
}
|
|
4905
|
+
|
|
4906
|
+
.search-input:focus {
|
|
4907
|
+
outline: none;
|
|
4908
|
+
border-color: #007acc;
|
|
4909
|
+
}
|
|
4910
|
+
|
|
4911
|
+
.search-button {
|
|
4912
|
+
background: #007acc;
|
|
4913
|
+
color: #ffffff;
|
|
4914
|
+
border: none;
|
|
4915
|
+
border-radius: 4px;
|
|
4916
|
+
padding: 8px 12px;
|
|
4917
|
+
cursor: pointer;
|
|
4918
|
+
font-size: 14px;
|
|
4919
|
+
transition: background 0.2s;
|
|
4920
|
+
}
|
|
4921
|
+
|
|
4922
|
+
.search-button:hover {
|
|
4923
|
+
background: #005a9e;
|
|
4924
|
+
}
|
|
4925
|
+
|
|
4926
|
+
.products-list {
|
|
4927
|
+
flex: 1;
|
|
4928
|
+
overflow-y: auto;
|
|
4929
|
+
padding: 16px;
|
|
4930
|
+
}
|
|
4931
|
+
|
|
4932
|
+
.product-item {
|
|
4933
|
+
background: #2d2d30;
|
|
4934
|
+
border: 1px solid #3e3e42;
|
|
4935
|
+
border-radius: 6px;
|
|
4936
|
+
padding: 16px;
|
|
4937
|
+
margin-bottom: 12px;
|
|
4938
|
+
display: flex;
|
|
4939
|
+
justify-content: space-between;
|
|
4940
|
+
align-items: center;
|
|
4941
|
+
cursor: pointer;
|
|
4942
|
+
transition: all 0.2s;
|
|
4943
|
+
}
|
|
4944
|
+
|
|
4945
|
+
.product-item:hover {
|
|
4946
|
+
border-color: #007acc;
|
|
4947
|
+
background: #323233;
|
|
4948
|
+
transform: translateX(2px);
|
|
4949
|
+
}
|
|
4950
|
+
|
|
4951
|
+
.product-item .product-info {
|
|
4952
|
+
flex: 1;
|
|
4953
|
+
}
|
|
4954
|
+
|
|
4955
|
+
.product-name {
|
|
4956
|
+
color: #ffffff;
|
|
4957
|
+
font-weight: 600;
|
|
4958
|
+
font-size: 16px;
|
|
4959
|
+
margin-bottom: 4px;
|
|
4960
|
+
}
|
|
4961
|
+
|
|
4962
|
+
.product-description {
|
|
4963
|
+
color: #cccccc;
|
|
4964
|
+
font-size: 14px;
|
|
4965
|
+
margin-bottom: 8px;
|
|
4966
|
+
line-height: 1.4;
|
|
4967
|
+
}
|
|
4968
|
+
|
|
4969
|
+
.product-meta {
|
|
4970
|
+
color: #8c8c8c;
|
|
4971
|
+
font-size: 12px;
|
|
4972
|
+
}
|
|
4973
|
+
|
|
4974
|
+
.product-arrow {
|
|
4975
|
+
color: #007acc;
|
|
4976
|
+
font-size: 18px;
|
|
4977
|
+
font-weight: bold;
|
|
4978
|
+
margin-left: 12px;
|
|
4979
|
+
}
|
|
4980
|
+
|
|
4981
|
+
.no-products {
|
|
4982
|
+
display: flex;
|
|
4983
|
+
flex-direction: column;
|
|
4984
|
+
align-items: center;
|
|
4985
|
+
justify-content: center;
|
|
4986
|
+
height: 200px;
|
|
4987
|
+
color: #8c8c8c;
|
|
4988
|
+
text-align: center;
|
|
4989
|
+
}
|
|
4990
|
+
|
|
4991
|
+
.no-products-icon {
|
|
4992
|
+
font-size: 48px;
|
|
4993
|
+
margin-bottom: 16px;
|
|
4994
|
+
opacity: 0.6;
|
|
4995
|
+
}
|
|
4996
|
+
|
|
4997
|
+
.no-products-text {
|
|
4998
|
+
margin: 0 0 8px 0;
|
|
4999
|
+
color: #cccccc;
|
|
5000
|
+
font-size: 16px;
|
|
5001
|
+
font-weight: 500;
|
|
5002
|
+
}
|
|
5003
|
+
|
|
5004
|
+
.no-products-subtext {
|
|
5005
|
+
margin: 0;
|
|
5006
|
+
color: #8c8c8c;
|
|
5007
|
+
font-size: 14px;
|
|
5008
|
+
opacity: 0.8;
|
|
5009
|
+
}
|
|
5010
|
+
|
|
5011
|
+
/* Product Detail Styles */
|
|
5012
|
+
.product-detail {
|
|
5013
|
+
flex: 1;
|
|
5014
|
+
display: flex;
|
|
5015
|
+
flex-direction: column;
|
|
5016
|
+
overflow: hidden;
|
|
5017
|
+
}
|
|
5018
|
+
|
|
5019
|
+
.product-detail-header {
|
|
5020
|
+
display: flex;
|
|
5021
|
+
align-items: center;
|
|
5022
|
+
gap: 12px;
|
|
5023
|
+
padding: 16px;
|
|
5024
|
+
border-bottom: 1px solid #3e3e42;
|
|
5025
|
+
background: #2d2d30;
|
|
5026
|
+
flex-shrink: 0;
|
|
5027
|
+
}
|
|
5028
|
+
|
|
5029
|
+
.product-detail-header .back-button {
|
|
5030
|
+
background: transparent;
|
|
5031
|
+
color: #007acc;
|
|
5032
|
+
border: none;
|
|
5033
|
+
padding: 4px 8px;
|
|
5034
|
+
font-size: 16px;
|
|
5035
|
+
cursor: pointer;
|
|
5036
|
+
transition: color 0.2s;
|
|
5037
|
+
display: flex;
|
|
5038
|
+
align-items: center;
|
|
5039
|
+
justify-content: center;
|
|
5040
|
+
min-width: 32px;
|
|
5041
|
+
border-radius: 4px;
|
|
5042
|
+
}
|
|
5043
|
+
|
|
5044
|
+
.product-detail-header .back-button:hover {
|
|
5045
|
+
background: #3e3e42;
|
|
5046
|
+
color: #ffffff;
|
|
5047
|
+
}
|
|
5048
|
+
|
|
5049
|
+
.product-detail-header h4 {
|
|
5050
|
+
flex: 1;
|
|
5051
|
+
margin: 0;
|
|
5052
|
+
color: #ffffff;
|
|
5053
|
+
font-size: 16px;
|
|
5054
|
+
font-weight: 600;
|
|
5055
|
+
}
|
|
5056
|
+
|
|
5057
|
+
.product-actions {
|
|
5058
|
+
display: flex;
|
|
5059
|
+
gap: 8px;
|
|
5060
|
+
}
|
|
5061
|
+
|
|
5062
|
+
.product-detail .product-info {
|
|
5063
|
+
flex: 1;
|
|
5064
|
+
padding: 16px;
|
|
5065
|
+
overflow-y: auto;
|
|
5066
|
+
}
|
|
5067
|
+
|
|
5068
|
+
.product-field {
|
|
5069
|
+
margin-bottom: 16px;
|
|
5070
|
+
padding-bottom: 12px;
|
|
5071
|
+
border-bottom: 1px solid #3e3e42;
|
|
5072
|
+
}
|
|
5073
|
+
|
|
5074
|
+
.product-field:last-child {
|
|
5075
|
+
border-bottom: none;
|
|
5076
|
+
margin-bottom: 0;
|
|
5077
|
+
}
|
|
5078
|
+
|
|
5079
|
+
.field-label {
|
|
5080
|
+
color: #8c8c8c;
|
|
5081
|
+
font-size: 12px;
|
|
5082
|
+
font-weight: 500;
|
|
5083
|
+
margin-bottom: 4px;
|
|
5084
|
+
text-transform: uppercase;
|
|
5085
|
+
letter-spacing: 0.5px;
|
|
5086
|
+
}
|
|
5087
|
+
|
|
5088
|
+
.field-value {
|
|
5089
|
+
color: #ffffff;
|
|
5090
|
+
font-size: 14px;
|
|
5091
|
+
word-break: break-word;
|
|
5092
|
+
line-height: 1.4;
|
|
5093
|
+
}
|
|
5094
|
+
|
|
5095
|
+
/* Product Form Styles */
|
|
5096
|
+
.product-form {
|
|
5097
|
+
flex: 1;
|
|
5098
|
+
padding: 16px;
|
|
5099
|
+
overflow-y: auto;
|
|
5100
|
+
}
|
|
5101
|
+
|
|
5102
|
+
.form-fields {
|
|
5103
|
+
display: flex;
|
|
5104
|
+
flex-direction: column;
|
|
5105
|
+
gap: 16px;
|
|
5106
|
+
margin-bottom: 24px;
|
|
5107
|
+
}
|
|
5108
|
+
|
|
5109
|
+
.form-group {
|
|
5110
|
+
display: flex;
|
|
5111
|
+
flex-direction: column;
|
|
5112
|
+
gap: 6px;
|
|
5113
|
+
}
|
|
5114
|
+
|
|
5115
|
+
.form-group label {
|
|
5116
|
+
color: #cccccc;
|
|
5117
|
+
font-size: 14px;
|
|
5118
|
+
font-weight: 500;
|
|
5119
|
+
}
|
|
5120
|
+
|
|
5121
|
+
.form-group input,
|
|
5122
|
+
.form-group textarea {
|
|
5123
|
+
background: #1e1e1e;
|
|
5124
|
+
border: 1px solid #3e3e42;
|
|
5125
|
+
border-radius: 4px;
|
|
5126
|
+
color: #ffffff;
|
|
5127
|
+
padding: 10px 12px;
|
|
5128
|
+
font-size: 14px;
|
|
5129
|
+
font-family: inherit;
|
|
5130
|
+
transition: border-color 0.2s;
|
|
5131
|
+
}
|
|
5132
|
+
|
|
5133
|
+
.form-group input:focus,
|
|
5134
|
+
.form-group textarea:focus {
|
|
5135
|
+
outline: none;
|
|
5136
|
+
border-color: #007acc;
|
|
5137
|
+
}
|
|
5138
|
+
|
|
5139
|
+
.add-field-container {
|
|
5140
|
+
display: flex;
|
|
5141
|
+
flex-direction: column;
|
|
5142
|
+
gap: 4px;
|
|
5143
|
+
}
|
|
5144
|
+
|
|
5145
|
+
.field-hint {
|
|
5146
|
+
color: #8c8c8c;
|
|
5147
|
+
font-size: 11px;
|
|
5148
|
+
font-style: italic;
|
|
5149
|
+
}
|
|
5150
|
+
|
|
5151
|
+
.form-actions {
|
|
5152
|
+
display: flex;
|
|
5153
|
+
gap: 12px;
|
|
5154
|
+
justify-content: flex-end;
|
|
5155
|
+
padding-top: 16px;
|
|
5156
|
+
border-top: 1px solid #3e3e42;
|
|
5157
|
+
}
|
|
5158
|
+
|
|
5159
|
+
.product-form .cancel-button {
|
|
5160
|
+
background: transparent;
|
|
5161
|
+
border: 1px solid #3e3e42;
|
|
5162
|
+
color: #cccccc;
|
|
5163
|
+
padding: 8px 16px;
|
|
5164
|
+
border-radius: 4px;
|
|
5165
|
+
cursor: pointer;
|
|
5166
|
+
font-size: 14px;
|
|
5167
|
+
transition: all 0.2s;
|
|
5168
|
+
}
|
|
5169
|
+
|
|
5170
|
+
.product-form .cancel-button:hover:not(:disabled) {
|
|
5171
|
+
background: #3e3e42;
|
|
5172
|
+
color: #ffffff;
|
|
5173
|
+
}
|
|
5174
|
+
|
|
5175
|
+
.product-form .save-button {
|
|
5176
|
+
background: #007acc;
|
|
5177
|
+
color: #ffffff;
|
|
5178
|
+
border: none;
|
|
5179
|
+
padding: 8px 16px;
|
|
5180
|
+
border-radius: 4px;
|
|
5181
|
+
cursor: pointer;
|
|
5182
|
+
font-size: 14px;
|
|
5183
|
+
font-weight: 500;
|
|
5184
|
+
transition: background 0.2s;
|
|
5185
|
+
}
|
|
5186
|
+
|
|
5187
|
+
.product-form .save-button:hover:not(:disabled) {
|
|
5188
|
+
background: #005a9e;
|
|
5189
|
+
}
|
|
5190
|
+
|
|
5191
|
+
.product-form .save-button:disabled {
|
|
5192
|
+
background: #666666;
|
|
5193
|
+
cursor: not-allowed;
|
|
5194
|
+
}
|
|
5195
|
+
|
|
5196
|
+
/* Product Pagination */
|
|
5197
|
+
.product-pagination {
|
|
5198
|
+
background: #2d2d30;
|
|
5199
|
+
border-top: 1px solid #3e3e42;
|
|
5200
|
+
padding: 12px 16px;
|
|
5201
|
+
display: flex;
|
|
5202
|
+
justify-content: space-between;
|
|
5203
|
+
align-items: center;
|
|
5204
|
+
flex-shrink: 0;
|
|
5205
|
+
}
|
|
5206
|
+
|
|
5207
|
+
.product-pagination .pagination-info {
|
|
5208
|
+
color: #8c8c8c;
|
|
5209
|
+
font-size: 12px;
|
|
5210
|
+
}
|
|
5211
|
+
|
|
5212
|
+
.product-pagination .pagination-controls {
|
|
5213
|
+
display: flex;
|
|
5214
|
+
gap: 8px;
|
|
5215
|
+
}
|
|
5216
|
+
|
|
5217
|
+
.product-pagination .pagination-button {
|
|
5218
|
+
background: transparent;
|
|
5219
|
+
color: #cccccc;
|
|
5220
|
+
border: 1px solid #3e3e42;
|
|
5221
|
+
border-radius: 4px;
|
|
5222
|
+
padding: 6px 8px;
|
|
5223
|
+
cursor: pointer;
|
|
5224
|
+
font-size: 12px;
|
|
5225
|
+
transition: all 0.2s;
|
|
5226
|
+
min-width: 32px;
|
|
5227
|
+
display: flex;
|
|
5228
|
+
align-items: center;
|
|
5229
|
+
justify-content: center;
|
|
5230
|
+
}
|
|
5231
|
+
|
|
5232
|
+
.product-pagination .pagination-button:hover:not(:disabled) {
|
|
5233
|
+
background: #3e3e42;
|
|
5234
|
+
border-color: #007acc;
|
|
5235
|
+
color: #007acc;
|
|
5236
|
+
}
|
|
5237
|
+
|
|
5238
|
+
.product-pagination .pagination-button:disabled {
|
|
5239
|
+
opacity: 0.5;
|
|
5240
|
+
cursor: not-allowed;
|
|
5241
|
+
}
|
|
5242
|
+
|
|
5243
|
+
/* Detail Header Styles */
|
|
5244
|
+
.detail-header {
|
|
5245
|
+
display: flex;
|
|
5246
|
+
align-items: center;
|
|
5247
|
+
gap: 12px;
|
|
5248
|
+
}
|
|
5249
|
+
|
|
5250
|
+
.detail-header h3 {
|
|
5251
|
+
margin: 0;
|
|
5252
|
+
font-size: 14px;
|
|
5253
|
+
font-weight: 600;
|
|
5254
|
+
color: #ffffff;
|
|
5255
|
+
font-family: inherit;
|
|
5256
|
+
}
|
|
5257
|
+
|
|
4811
5258
|
|
|
4812
5259
|
|
|
4813
5260
|
/* Legacy ToolsPage CSS - Keep until refactored */
|