@happyvertical/smrt-products 0.44.0 → 0.45.0

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.
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-products",
5
- "packageVersion": "0.44.0",
5
+ "packageVersion": "0.45.0",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-products:CategoryCollection": {
8
8
  "name": "categorycollection",
@@ -85,6 +85,101 @@
85
85
  "packageName": "@happyvertical/smrt-products",
86
86
  "fields": {},
87
87
  "methods": {
88
+ "findByManufacturer": {
89
+ "name": "findByManufacturer",
90
+ "async": true,
91
+ "parameters": [
92
+ {
93
+ "name": "manufacturer",
94
+ "type": "string",
95
+ "optional": false
96
+ }
97
+ ],
98
+ "returnType": "Promise<Product[]>",
99
+ "isStatic": false,
100
+ "isPublic": true
101
+ },
102
+ "findInStock": {
103
+ "name": "findInStock",
104
+ "async": true,
105
+ "parameters": [],
106
+ "returnType": "Promise<Product[]>",
107
+ "isStatic": false,
108
+ "isPublic": true
109
+ },
110
+ "getAssets": {
111
+ "name": "getAssets",
112
+ "async": true,
113
+ "parameters": [
114
+ {
115
+ "name": "productId",
116
+ "type": "string",
117
+ "optional": false
118
+ },
119
+ {
120
+ "name": "relationship",
121
+ "type": "string",
122
+ "optional": true
123
+ }
124
+ ],
125
+ "returnType": "Promise<Asset[]>",
126
+ "isStatic": false,
127
+ "isPublic": true
128
+ },
129
+ "addAsset": {
130
+ "name": "addAsset",
131
+ "async": true,
132
+ "parameters": [
133
+ {
134
+ "name": "productId",
135
+ "type": "string",
136
+ "optional": false
137
+ },
138
+ {
139
+ "name": "asset",
140
+ "type": "Asset",
141
+ "optional": false
142
+ },
143
+ {
144
+ "name": "relationship",
145
+ "type": "any",
146
+ "optional": true,
147
+ "default": "attachment"
148
+ },
149
+ {
150
+ "name": "sortOrder",
151
+ "type": "any",
152
+ "optional": true
153
+ }
154
+ ],
155
+ "returnType": "Promise<void>",
156
+ "isStatic": false,
157
+ "isPublic": true
158
+ },
159
+ "removeAsset": {
160
+ "name": "removeAsset",
161
+ "async": true,
162
+ "parameters": [
163
+ {
164
+ "name": "productId",
165
+ "type": "string",
166
+ "optional": false
167
+ },
168
+ {
169
+ "name": "assetId",
170
+ "type": "string",
171
+ "optional": false
172
+ },
173
+ {
174
+ "name": "relationship",
175
+ "type": "string",
176
+ "optional": true
177
+ }
178
+ ],
179
+ "returnType": "Promise<void>",
180
+ "isStatic": false,
181
+ "isPublic": true
182
+ },
88
183
  "findByKind": {
89
184
  "name": "findByKind",
90
185
  "async": true,
@@ -864,552 +959,362 @@
864
959
  "default": true
865
960
  }
866
961
  },
867
- "methods": {
868
- "withDatabase": {
869
- "name": "withDatabase",
870
- "async": true,
871
- "parameters": [
872
- {
873
- "name": "db",
874
- "type": "DatabaseInterface",
875
- "optional": false
876
- },
877
- {
878
- "name": "operation",
879
- "type": "Function",
880
- "optional": false
881
- }
882
- ],
883
- "returnType": "Promise<T>",
884
- "isStatic": false,
885
- "isPublic": true
886
- },
887
- "getAiUsageSnapshot": {
888
- "name": "getAiUsageSnapshot",
889
- "async": false,
890
- "parameters": [],
891
- "returnType": "AiUsageSnapshot | undefined",
892
- "isStatic": false,
893
- "isPublic": true
894
- },
895
- "resetAiUsage": {
896
- "name": "resetAiUsage",
897
- "async": false,
898
- "parameters": [],
899
- "returnType": "void",
900
- "isStatic": false,
901
- "isPublic": true
902
- },
903
- "listAiUsage": {
904
- "name": "listAiUsage",
905
- "async": true,
906
- "parameters": [
907
- {
908
- "name": "options",
909
- "type": "AiUsageListOptions",
910
- "optional": true
911
- }
912
- ],
913
- "returnType": "Promise<SmrtAiUsageRecord[]>",
914
- "isStatic": false,
915
- "isPublic": true
962
+ "methods": {},
963
+ "decoratorConfig": {
964
+ "tableStrategy": "sti",
965
+ "api": {
966
+ "include": [
967
+ "list",
968
+ "get",
969
+ "create",
970
+ "update"
971
+ ]
916
972
  },
917
- "summarizeAiUsage": {
918
- "name": "summarizeAiUsage",
919
- "async": true,
920
- "parameters": [
921
- {
922
- "name": "options",
923
- "type": "AiUsageSummaryOptions",
924
- "optional": true
925
- }
926
- ],
927
- "returnType": "Promise<Record<string, AiUsageStats>>",
928
- "isStatic": false,
929
- "isPublic": true
973
+ "mcp": {
974
+ "include": [
975
+ "list",
976
+ "get"
977
+ ]
930
978
  },
931
- "destroy": {
932
- "name": "destroy",
933
- "async": false,
934
- "parameters": [],
935
- "returnType": "void",
936
- "isStatic": false,
937
- "isPublic": true
979
+ "cli": true,
980
+ "tenantScoped": {
981
+ "mode": "optional"
938
982
  },
939
- "markAsPersisted": {
940
- "name": "markAsPersisted",
941
- "async": false,
942
- "parameters": [],
943
- "returnType": "void",
944
- "isStatic": false,
945
- "isPublic": true
983
+ "conflictColumns": [
984
+ "tenant_id",
985
+ "slug",
986
+ "context",
987
+ "_meta_type"
988
+ ]
989
+ },
990
+ "extends": "SmrtObject",
991
+ "exportName": "Category",
992
+ "collectionExportName": "CategoryCollection",
993
+ "validationRules": [
994
+ {
995
+ "field": "level",
996
+ "rule": "required",
997
+ "fieldType": "integer"
946
998
  },
947
- "requireInsertOnSave": {
948
- "name": "requireInsertOnSave",
949
- "async": false,
950
- "parameters": [],
951
- "returnType": "void",
952
- "isStatic": false,
953
- "isPublic": true
999
+ {
1000
+ "field": "productCount",
1001
+ "rule": "required",
1002
+ "fieldType": "integer"
954
1003
  },
955
- "withTransaction": {
956
- "name": "withTransaction",
957
- "async": true,
958
- "parameters": [
959
- {
960
- "name": "operation",
961
- "type": "Function",
962
- "optional": false
1004
+ {
1005
+ "field": "active",
1006
+ "rule": "required",
1007
+ "fieldType": "boolean"
1008
+ }
1009
+ ],
1010
+ "schema": {
1011
+ "tableName": "categories",
1012
+ "ddl": "CREATE TABLE IF NOT EXISTS \"categories\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"name\" TEXT,\n \"description\" TEXT,\n \"parent_id\" UUID,\n \"level\" INTEGER DEFAULT 0,\n \"product_count\" INTEGER DEFAULT 0,\n \"active\" BOOLEAN DEFAULT TRUE\n);",
1013
+ "columns": {
1014
+ "id": {
1015
+ "type": "UUID",
1016
+ "primaryKey": true,
1017
+ "referenceKind": "id",
1018
+ "notNull": true
1019
+ },
1020
+ "slug": {
1021
+ "type": "TEXT",
1022
+ "notNull": true
1023
+ },
1024
+ "context": {
1025
+ "type": "TEXT",
1026
+ "notNull": true,
1027
+ "default": ""
1028
+ },
1029
+ "_meta_type": {
1030
+ "type": "TEXT",
1031
+ "notNull": true
1032
+ },
1033
+ "_meta_data": {
1034
+ "type": "JSON",
1035
+ "notNull": false
1036
+ },
1037
+ "created_at": {
1038
+ "type": "TIMESTAMP",
1039
+ "notNull": true,
1040
+ "default": "current_timestamp"
1041
+ },
1042
+ "updated_at": {
1043
+ "type": "TIMESTAMP",
1044
+ "notNull": true,
1045
+ "default": "current_timestamp"
1046
+ },
1047
+ "tenant_id": {
1048
+ "type": "UUID",
1049
+ "referenceKind": "tenantId",
1050
+ "notNull": false
1051
+ },
1052
+ "name": {
1053
+ "type": "TEXT",
1054
+ "notNull": false
1055
+ },
1056
+ "description": {
1057
+ "type": "TEXT",
1058
+ "notNull": false
1059
+ },
1060
+ "parent_id": {
1061
+ "type": "UUID",
1062
+ "referenceKind": "foreignKey",
1063
+ "notNull": false,
1064
+ "foreignKey": {
1065
+ "table": "categories",
1066
+ "column": "id",
1067
+ "onDelete": "NO ACTION",
1068
+ "onUpdate": "CASCADE"
963
1069
  }
964
- ],
965
- "returnType": "Promise<T>",
966
- "isStatic": false,
967
- "isPublic": true
1070
+ },
1071
+ "level": {
1072
+ "type": "INTEGER",
1073
+ "notNull": false,
1074
+ "default": 0
1075
+ },
1076
+ "product_count": {
1077
+ "type": "INTEGER",
1078
+ "notNull": false,
1079
+ "default": 0
1080
+ },
1081
+ "active": {
1082
+ "type": "BOOLEAN",
1083
+ "notNull": false,
1084
+ "default": true
1085
+ }
968
1086
  },
969
- "initialize": {
970
- "name": "initialize",
971
- "async": true,
972
- "parameters": [],
973
- "returnType": "Promise",
974
- "isStatic": false,
975
- "isPublic": true
1087
+ "indexes": [
1088
+ {
1089
+ "name": "categories_slug_context_meta_type_idx",
1090
+ "columns": [
1091
+ "tenant_id",
1092
+ "slug",
1093
+ "context",
1094
+ "_meta_type"
1095
+ ],
1096
+ "unique": true
1097
+ },
1098
+ {
1099
+ "name": "categories_meta_type_idx",
1100
+ "columns": [
1101
+ "_meta_type"
1102
+ ]
1103
+ },
1104
+ {
1105
+ "name": "categories_tenant_id_created_at_idx",
1106
+ "columns": [
1107
+ "tenant_id",
1108
+ "created_at"
1109
+ ]
1110
+ },
1111
+ {
1112
+ "name": "categories_parent_id_idx",
1113
+ "columns": [
1114
+ "parent_id"
1115
+ ]
1116
+ }
1117
+ ],
1118
+ "version": "78838be9"
1119
+ }
1120
+ },
1121
+ "@happyvertical/smrt-products:Material": {
1122
+ "name": "material",
1123
+ "className": "Material",
1124
+ "qualifiedName": "@happyvertical/smrt-products:Material",
1125
+ "collection": "products",
1126
+ "filePath": "/home/runner/work/smrt/smrt/packages/products/src/lib/models/Material.ts",
1127
+ "packageName": "@happyvertical/smrt-products",
1128
+ "fields": {
1129
+ "created_at": {
1130
+ "type": "datetime",
1131
+ "required": false
976
1132
  },
977
- "loadDataFromDb": {
978
- "name": "loadDataFromDb",
979
- "async": true,
980
- "parameters": [
981
- {
982
- "name": "data",
983
- "type": "Record<string>",
984
- "optional": false
1133
+ "updated_at": {
1134
+ "type": "datetime",
1135
+ "required": false
1136
+ },
1137
+ "tenantId": {
1138
+ "type": "text",
1139
+ "required": false,
1140
+ "_meta": {
1141
+ "sqlType": "UUID",
1142
+ "nullable": true,
1143
+ "__tenancy": {
1144
+ "isTenantIdField": true,
1145
+ "autoFilter": true,
1146
+ "required": false,
1147
+ "autoPopulate": true,
1148
+ "nullable": true,
1149
+ "mode": "optional",
1150
+ "field": "tenantId",
1151
+ "allowSuperAdminBypass": false
985
1152
  }
986
- ],
987
- "returnType": "any",
988
- "isStatic": false,
989
- "isPublic": true
1153
+ }
990
1154
  },
991
- "getFields": {
992
- "name": "getFields",
993
- "async": true,
994
- "parameters": [],
995
- "returnType": "Promise<any>",
996
- "isStatic": false,
997
- "isPublic": true
1155
+ "productType": {
1156
+ "type": "text",
1157
+ "required": false
998
1158
  },
999
- "toJSON": {
1000
- "name": "toJSON",
1001
- "async": false,
1002
- "parameters": [],
1003
- "returnType": "any",
1004
- "isStatic": false,
1005
- "isPublic": true
1159
+ "name": {
1160
+ "type": "text",
1161
+ "required": false
1006
1162
  },
1007
- "toPlainObject": {
1008
- "name": "toPlainObject",
1009
- "async": false,
1010
- "parameters": [],
1011
- "returnType": "Record<string>",
1012
- "isStatic": false,
1013
- "isPublic": true
1163
+ "description": {
1164
+ "type": "text",
1165
+ "required": false
1014
1166
  },
1015
- "toPublicJSON": {
1016
- "name": "toPublicJSON",
1017
- "async": false,
1018
- "parameters": [
1019
- {
1020
- "name": "options",
1021
- "type": "PublicJsonOptions",
1022
- "optional": true
1023
- }
1024
- ],
1025
- "returnType": "Record<string>",
1026
- "isStatic": false,
1027
- "isPublic": true
1167
+ "category": {
1168
+ "type": "text",
1169
+ "required": false
1028
1170
  },
1029
- "getId": {
1030
- "name": "getId",
1031
- "async": true,
1032
- "parameters": [],
1033
- "returnType": "any",
1034
- "isStatic": false,
1035
- "isPublic": true
1171
+ "manufacturer": {
1172
+ "type": "text",
1173
+ "required": false
1036
1174
  },
1037
- "getSlug": {
1038
- "name": "getSlug",
1039
- "async": true,
1040
- "parameters": [],
1041
- "returnType": "any",
1042
- "isStatic": false,
1043
- "isPublic": true
1175
+ "model": {
1176
+ "type": "text",
1177
+ "required": false
1044
1178
  },
1045
- "getSavedId": {
1046
- "name": "getSavedId",
1047
- "async": true,
1048
- "parameters": [],
1049
- "returnType": "any",
1050
- "isStatic": false,
1051
- "isPublic": true
1179
+ "price": {
1180
+ "type": "integer",
1181
+ "required": true,
1182
+ "default": 0
1052
1183
  },
1053
- "isSaved": {
1054
- "name": "isSaved",
1055
- "async": true,
1056
- "parameters": [],
1057
- "returnType": "any",
1058
- "isStatic": false,
1059
- "isPublic": true
1184
+ "inStock": {
1185
+ "type": "boolean",
1186
+ "required": true,
1187
+ "default": true
1060
1188
  },
1061
- "save": {
1062
- "name": "save",
1189
+ "specifications": {
1190
+ "type": "json",
1191
+ "required": false,
1192
+ "default": {}
1193
+ },
1194
+ "tags": {
1195
+ "type": "json",
1196
+ "required": false,
1197
+ "default": []
1198
+ },
1199
+ "materialKind": {
1200
+ "type": "meta",
1201
+ "required": false,
1202
+ "default": "component",
1203
+ "_meta": {
1204
+ "underlyingType": "text"
1205
+ }
1206
+ },
1207
+ "uom": {
1208
+ "type": "meta",
1209
+ "required": false,
1210
+ "default": "each",
1211
+ "_meta": {
1212
+ "underlyingType": "text"
1213
+ }
1214
+ },
1215
+ "costPerUnit": {
1216
+ "type": "meta",
1217
+ "required": false,
1218
+ "default": 0,
1219
+ "_meta": {
1220
+ "underlyingType": "decimal"
1221
+ }
1222
+ }
1223
+ },
1224
+ "methods": {
1225
+ "getSpecification": {
1226
+ "name": "getSpecification",
1063
1227
  "async": true,
1064
1228
  "parameters": [
1065
1229
  {
1066
- "name": "options",
1067
- "type": "SmrtSaveOptions",
1068
- "optional": true
1230
+ "name": "key",
1231
+ "type": "string",
1232
+ "optional": false
1069
1233
  }
1070
1234
  ],
1071
- "returnType": "any",
1235
+ "returnType": "Promise",
1072
1236
  "isStatic": false,
1073
1237
  "isPublic": true
1074
1238
  },
1075
- "claimRevision": {
1076
- "name": "claimRevision",
1239
+ "updateSpecification": {
1240
+ "name": "updateSpecification",
1077
1241
  "async": true,
1078
1242
  "parameters": [
1079
1243
  {
1080
- "name": "expectedUpdatedAt",
1081
- "type": "Date | string",
1244
+ "name": "key",
1245
+ "type": "string",
1246
+ "optional": false
1247
+ },
1248
+ {
1249
+ "name": "value",
1250
+ "type": "any",
1082
1251
  "optional": false
1083
1252
  }
1084
1253
  ],
1085
- "returnType": "Promise",
1254
+ "returnType": "Promise<void>",
1086
1255
  "isStatic": false,
1087
1256
  "isPublic": true
1088
1257
  },
1089
- "classifyConstraintError": {
1090
- "name": "classifyConstraintError",
1091
- "async": false,
1258
+ "getAssets": {
1259
+ "name": "getAssets",
1260
+ "async": true,
1092
1261
  "parameters": [
1093
1262
  {
1094
- "name": "message",
1263
+ "name": "relationship",
1095
1264
  "type": "string",
1096
- "optional": false
1265
+ "optional": true
1097
1266
  }
1098
1267
  ],
1099
- "returnType": "'unique' | 'not_null' | null",
1100
- "isStatic": true,
1101
- "isPublic": true
1102
- },
1103
- "loadFromId": {
1104
- "name": "loadFromId",
1105
- "async": true,
1106
- "parameters": [],
1107
- "returnType": "any",
1108
- "isStatic": false,
1109
- "isPublic": true
1110
- },
1111
- "loadFromSlug": {
1112
- "name": "loadFromSlug",
1113
- "async": true,
1114
- "parameters": [],
1115
- "returnType": "any",
1268
+ "returnType": "Promise<Asset[]>",
1116
1269
  "isStatic": false,
1117
1270
  "isPublic": true
1118
1271
  },
1119
- "is": {
1120
- "name": "is",
1272
+ "addAsset": {
1273
+ "name": "addAsset",
1121
1274
  "async": true,
1122
1275
  "parameters": [
1123
1276
  {
1124
- "name": "criteria",
1125
- "type": "string",
1277
+ "name": "asset",
1278
+ "type": "Asset",
1126
1279
  "optional": false
1127
1280
  },
1128
1281
  {
1129
- "name": "options",
1130
- "type": "AiOperationOptions",
1282
+ "name": "relationship",
1283
+ "type": "any",
1284
+ "optional": true,
1285
+ "default": "attachment"
1286
+ },
1287
+ {
1288
+ "name": "sortOrder",
1289
+ "type": "any",
1131
1290
  "optional": true
1132
1291
  }
1133
1292
  ],
1134
- "returnType": "any",
1293
+ "returnType": "Promise<void>",
1135
1294
  "isStatic": false,
1136
1295
  "isPublic": true
1137
1296
  },
1138
- "do": {
1139
- "name": "do",
1297
+ "removeAsset": {
1298
+ "name": "removeAsset",
1140
1299
  "async": true,
1141
1300
  "parameters": [
1142
1301
  {
1143
- "name": "instructions",
1302
+ "name": "assetId",
1144
1303
  "type": "string",
1145
1304
  "optional": false
1146
1305
  },
1147
1306
  {
1148
- "name": "options",
1149
- "type": "AiOperationOptions",
1307
+ "name": "relationship",
1308
+ "type": "string",
1150
1309
  "optional": true
1151
1310
  }
1152
1311
  ],
1153
- "returnType": "any",
1154
- "isStatic": false,
1155
- "isPublic": true
1156
- },
1157
- "describe": {
1158
- "name": "describe",
1159
- "async": true,
1160
- "parameters": [
1161
- {
1162
- "name": "options",
1163
- "type": "AiOperationOptions",
1164
- "optional": true
1165
- }
1166
- ],
1167
- "returnType": "any",
1168
- "isStatic": false,
1169
- "isPublic": true
1170
- },
1171
- "delete": {
1172
- "name": "delete",
1173
- "async": true,
1174
- "parameters": [],
1175
- "returnType": "Promise<void>",
1176
- "isStatic": false,
1177
- "isPublic": true
1178
- },
1179
- "isRelatedLoaded": {
1180
- "name": "isRelatedLoaded",
1181
- "async": false,
1182
- "parameters": [
1183
- {
1184
- "name": "fieldName",
1185
- "type": "string",
1186
- "optional": false
1187
- }
1188
- ],
1189
- "returnType": "boolean",
1190
- "isStatic": false,
1191
- "isPublic": true
1192
- },
1193
- "_setLoadedRelationship": {
1194
- "name": "_setLoadedRelationship",
1195
- "async": false,
1196
- "parameters": [
1197
- {
1198
- "name": "fieldName",
1199
- "type": "string",
1200
- "optional": false
1201
- },
1202
- {
1203
- "name": "value",
1204
- "type": "any",
1205
- "optional": false
1206
- }
1207
- ],
1208
- "returnType": "void",
1209
- "isStatic": false,
1210
- "isPublic": true
1211
- },
1212
- "loadRelated": {
1213
- "name": "loadRelated",
1214
- "async": true,
1215
- "parameters": [
1216
- {
1217
- "name": "fieldName",
1218
- "type": "string",
1219
- "optional": false
1220
- },
1221
- {
1222
- "name": "opts",
1223
- "type": "LoadRelatedOptions",
1224
- "optional": true
1225
- }
1226
- ],
1227
- "returnType": "Promise<any>",
1228
- "isStatic": false,
1229
- "isPublic": true
1230
- },
1231
- "loadRelatedMany": {
1232
- "name": "loadRelatedMany",
1233
- "async": true,
1234
- "parameters": [
1235
- {
1236
- "name": "fieldName",
1237
- "type": "string",
1238
- "optional": false
1239
- },
1240
- {
1241
- "name": "opts",
1242
- "type": "LoadRelatedOptions",
1243
- "optional": true
1244
- }
1245
- ],
1246
- "returnType": "Promise<any[]>",
1247
- "isStatic": false,
1248
- "isPublic": true
1249
- },
1250
- "getRelated": {
1251
- "name": "getRelated",
1252
- "async": true,
1253
- "parameters": [
1254
- {
1255
- "name": "fieldName",
1256
- "type": "string",
1257
- "optional": false
1258
- },
1259
- {
1260
- "name": "opts",
1261
- "type": "LoadRelatedOptions",
1262
- "optional": true
1263
- }
1264
- ],
1265
- "returnType": "Promise<any>",
1266
- "isStatic": false,
1267
- "isPublic": true
1268
- },
1269
- "getAvailableTools": {
1270
- "name": "getAvailableTools",
1271
- "async": false,
1272
- "parameters": [],
1273
- "returnType": "AITool[]",
1274
- "isStatic": false,
1275
- "isPublic": true
1276
- },
1277
- "executeToolCall": {
1278
- "name": "executeToolCall",
1279
- "async": true,
1280
- "parameters": [
1281
- {
1282
- "name": "toolCall",
1283
- "type": "ToolCall",
1284
- "optional": false
1285
- }
1286
- ],
1287
- "returnType": "Promise<ToolCallResult>",
1288
- "isStatic": false,
1289
- "isPublic": true
1290
- },
1291
- "remember": {
1292
- "name": "remember",
1293
- "async": true,
1294
- "parameters": [
1295
- {
1296
- "name": "options",
1297
- "type": "object",
1298
- "optional": false
1299
- }
1300
- ],
1301
- "returnType": "Promise<void>",
1302
- "isStatic": false,
1303
- "isPublic": true
1304
- },
1305
- "recall": {
1306
- "name": "recall",
1307
- "async": true,
1308
- "parameters": [
1309
- {
1310
- "name": "options",
1311
- "type": "object",
1312
- "optional": false
1313
- }
1314
- ],
1315
- "returnType": "Promise",
1316
- "isStatic": false,
1317
- "isPublic": true
1318
- },
1319
- "recallAll": {
1320
- "name": "recallAll",
1321
- "async": true,
1322
- "parameters": [
1323
- {
1324
- "name": "options",
1325
- "type": "object",
1326
- "optional": true
1327
- }
1328
- ],
1329
- "returnType": "Promise<Map<string>>",
1330
- "isStatic": false,
1331
- "isPublic": true
1332
- },
1333
- "forget": {
1334
- "name": "forget",
1335
- "async": true,
1336
- "parameters": [
1337
- {
1338
- "name": "options",
1339
- "type": "object",
1340
- "optional": false
1341
- }
1342
- ],
1343
- "returnType": "Promise<void>",
1344
- "isStatic": false,
1345
- "isPublic": true
1346
- },
1347
- "forgetScope": {
1348
- "name": "forgetScope",
1349
- "async": true,
1350
- "parameters": [
1351
- {
1352
- "name": "options",
1353
- "type": "object",
1354
- "optional": false
1355
- }
1356
- ],
1357
- "returnType": "Promise<number>",
1358
- "isStatic": false,
1359
- "isPublic": true
1360
- },
1361
- "generateEmbeddings": {
1362
- "name": "generateEmbeddings",
1363
- "async": true,
1364
- "parameters": [
1365
- {
1366
- "name": "options",
1367
- "type": "GenerateEmbeddingsOptions",
1368
- "optional": true
1369
- }
1370
- ],
1371
- "returnType": "Promise<void>",
1372
- "isStatic": false,
1373
- "isPublic": true
1374
- },
1375
- "getEmbedding": {
1376
- "name": "getEmbedding",
1377
- "async": true,
1378
- "parameters": [
1379
- {
1380
- "name": "fieldName",
1381
- "type": "string",
1382
- "optional": false
1383
- },
1384
- {
1385
- "name": "model",
1386
- "type": "string",
1387
- "optional": true
1388
- }
1389
- ],
1390
- "returnType": "Promise<number[] | null>",
1391
- "isStatic": false,
1392
- "isPublic": true
1393
- },
1394
- "hasStaleEmbeddings": {
1395
- "name": "hasStaleEmbeddings",
1396
- "async": true,
1397
- "parameters": [],
1398
- "returnType": "Promise<boolean>",
1399
- "isStatic": false,
1400
- "isPublic": true
1401
- },
1402
- "clearEmbeddings": {
1403
- "name": "clearEmbeddings",
1404
- "async": true,
1405
- "parameters": [],
1406
- "returnType": "Promise<void>",
1312
+ "returnType": "Promise<void>",
1407
1313
  "isStatic": false,
1408
1314
  "isPublic": true
1409
1315
  }
1410
1316
  },
1411
1317
  "decoratorConfig": {
1412
- "tableStrategy": "sti",
1413
1318
  "api": {
1414
1319
  "include": [
1415
1320
  "list",
@@ -1428,36 +1333,27 @@
1428
1333
  "tenantScoped": {
1429
1334
  "mode": "optional"
1430
1335
  },
1431
- "conflictColumns": [
1432
- "tenant_id",
1433
- "slug",
1434
- "context",
1435
- "_meta_type"
1436
- ]
1336
+ "tableName": "products",
1337
+ "tableStrategy": "sti"
1437
1338
  },
1438
- "extends": "SmrtObject",
1439
- "exportName": "Category",
1440
- "collectionExportName": "CategoryCollection",
1339
+ "extends": "Product",
1340
+ "exportName": "Material",
1341
+ "collectionExportName": "MaterialCollection",
1441
1342
  "validationRules": [
1442
1343
  {
1443
- "field": "level",
1444
- "rule": "required",
1445
- "fieldType": "integer"
1446
- },
1447
- {
1448
- "field": "productCount",
1344
+ "field": "price",
1449
1345
  "rule": "required",
1450
1346
  "fieldType": "integer"
1451
1347
  },
1452
1348
  {
1453
- "field": "active",
1349
+ "field": "inStock",
1454
1350
  "rule": "required",
1455
1351
  "fieldType": "boolean"
1456
1352
  }
1457
1353
  ],
1458
1354
  "schema": {
1459
- "tableName": "categories",
1460
- "ddl": "CREATE TABLE IF NOT EXISTS \"categories\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"name\" TEXT,\n \"description\" TEXT,\n \"parent_id\" UUID,\n \"level\" INTEGER DEFAULT 0,\n \"product_count\" INTEGER DEFAULT 0,\n \"active\" BOOLEAN DEFAULT TRUE\n);",
1355
+ "tableName": "products",
1356
+ "ddl": "CREATE TABLE IF NOT EXISTS \"products\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"product_type\" TEXT,\n \"name\" TEXT,\n \"description\" TEXT,\n \"category\" TEXT,\n \"manufacturer\" TEXT,\n \"model\" TEXT,\n \"price\" INTEGER DEFAULT 0,\n \"in_stock\" BOOLEAN DEFAULT TRUE,\n \"specifications\" JSON DEFAULT '{}',\n \"tags\" JSON DEFAULT '[]'\n);",
1461
1357
  "columns": {
1462
1358
  "id": {
1463
1359
  "type": "UUID",
@@ -1497,6 +1393,10 @@
1497
1393
  "referenceKind": "tenantId",
1498
1394
  "notNull": false
1499
1395
  },
1396
+ "product_type": {
1397
+ "type": "TEXT",
1398
+ "notNull": false
1399
+ },
1500
1400
  "name": {
1501
1401
  "type": "TEXT",
1502
1402
  "notNull": false
@@ -1505,36 +1405,42 @@
1505
1405
  "type": "TEXT",
1506
1406
  "notNull": false
1507
1407
  },
1508
- "parent_id": {
1509
- "type": "UUID",
1510
- "referenceKind": "foreignKey",
1511
- "notNull": false,
1512
- "foreignKey": {
1513
- "table": "categories",
1514
- "column": "id",
1515
- "onDelete": "NO ACTION",
1516
- "onUpdate": "CASCADE"
1517
- }
1408
+ "category": {
1409
+ "type": "TEXT",
1410
+ "notNull": false
1518
1411
  },
1519
- "level": {
1520
- "type": "INTEGER",
1521
- "notNull": false,
1522
- "default": 0
1412
+ "manufacturer": {
1413
+ "type": "TEXT",
1414
+ "notNull": false
1523
1415
  },
1524
- "product_count": {
1416
+ "model": {
1417
+ "type": "TEXT",
1418
+ "notNull": false
1419
+ },
1420
+ "price": {
1525
1421
  "type": "INTEGER",
1526
1422
  "notNull": false,
1527
1423
  "default": 0
1528
1424
  },
1529
- "active": {
1425
+ "in_stock": {
1530
1426
  "type": "BOOLEAN",
1531
1427
  "notNull": false,
1532
1428
  "default": true
1429
+ },
1430
+ "specifications": {
1431
+ "type": "JSON",
1432
+ "notNull": false,
1433
+ "default": {}
1434
+ },
1435
+ "tags": {
1436
+ "type": "JSON",
1437
+ "notNull": false,
1438
+ "default": []
1533
1439
  }
1534
1440
  },
1535
1441
  "indexes": [
1536
1442
  {
1537
- "name": "categories_slug_context_meta_type_idx",
1443
+ "name": "products_slug_context_meta_type_idx",
1538
1444
  "columns": [
1539
1445
  "tenant_id",
1540
1446
  "slug",
@@ -1544,34 +1450,28 @@
1544
1450
  "unique": true
1545
1451
  },
1546
1452
  {
1547
- "name": "categories_meta_type_idx",
1453
+ "name": "products_meta_type_idx",
1548
1454
  "columns": [
1549
1455
  "_meta_type"
1550
1456
  ]
1551
1457
  },
1552
1458
  {
1553
- "name": "categories_tenant_id_created_at_idx",
1459
+ "name": "products_tenant_id_created_at_idx",
1554
1460
  "columns": [
1555
1461
  "tenant_id",
1556
1462
  "created_at"
1557
1463
  ]
1558
- },
1559
- {
1560
- "name": "categories_parent_id_idx",
1561
- "columns": [
1562
- "parent_id"
1563
- ]
1564
1464
  }
1565
1465
  ],
1566
- "version": "78838be9"
1466
+ "version": "a7b4d592"
1567
1467
  }
1568
1468
  },
1569
- "@happyvertical/smrt-products:Material": {
1570
- "name": "material",
1571
- "className": "Material",
1572
- "qualifiedName": "@happyvertical/smrt-products:Material",
1469
+ "@happyvertical/smrt-products:Product": {
1470
+ "name": "product",
1471
+ "className": "Product",
1472
+ "qualifiedName": "@happyvertical/smrt-products:Product",
1573
1473
  "collection": "products",
1574
- "filePath": "/home/runner/work/smrt/smrt/packages/products/src/lib/models/Material.ts",
1474
+ "filePath": "/home/runner/work/smrt/smrt/packages/products/src/lib/models/Product.ts",
1575
1475
  "packageName": "@happyvertical/smrt-products",
1576
1476
  "fields": {
1577
1477
  "created_at": {
@@ -1643,1441 +1543,9 @@
1643
1543
  "type": "json",
1644
1544
  "required": false,
1645
1545
  "default": []
1646
- },
1647
- "materialKind": {
1648
- "type": "meta",
1649
- "required": false,
1650
- "default": "component",
1651
- "_meta": {
1652
- "underlyingType": "text"
1653
- }
1654
- },
1655
- "uom": {
1656
- "type": "meta",
1657
- "required": false,
1658
- "default": "each",
1659
- "_meta": {
1660
- "underlyingType": "text"
1661
- }
1662
- },
1663
- "costPerUnit": {
1664
- "type": "meta",
1665
- "required": false,
1666
- "default": 0,
1667
- "_meta": {
1668
- "underlyingType": "decimal"
1669
- }
1670
1546
  }
1671
1547
  },
1672
1548
  "methods": {
1673
- "withDatabase": {
1674
- "name": "withDatabase",
1675
- "async": true,
1676
- "parameters": [
1677
- {
1678
- "name": "db",
1679
- "type": "DatabaseInterface",
1680
- "optional": false
1681
- },
1682
- {
1683
- "name": "operation",
1684
- "type": "Function",
1685
- "optional": false
1686
- }
1687
- ],
1688
- "returnType": "Promise<T>",
1689
- "isStatic": false,
1690
- "isPublic": true
1691
- },
1692
- "getAiUsageSnapshot": {
1693
- "name": "getAiUsageSnapshot",
1694
- "async": false,
1695
- "parameters": [],
1696
- "returnType": "AiUsageSnapshot | undefined",
1697
- "isStatic": false,
1698
- "isPublic": true
1699
- },
1700
- "resetAiUsage": {
1701
- "name": "resetAiUsage",
1702
- "async": false,
1703
- "parameters": [],
1704
- "returnType": "void",
1705
- "isStatic": false,
1706
- "isPublic": true
1707
- },
1708
- "listAiUsage": {
1709
- "name": "listAiUsage",
1710
- "async": true,
1711
- "parameters": [
1712
- {
1713
- "name": "options",
1714
- "type": "AiUsageListOptions",
1715
- "optional": true
1716
- }
1717
- ],
1718
- "returnType": "Promise<SmrtAiUsageRecord[]>",
1719
- "isStatic": false,
1720
- "isPublic": true
1721
- },
1722
- "summarizeAiUsage": {
1723
- "name": "summarizeAiUsage",
1724
- "async": true,
1725
- "parameters": [
1726
- {
1727
- "name": "options",
1728
- "type": "AiUsageSummaryOptions",
1729
- "optional": true
1730
- }
1731
- ],
1732
- "returnType": "Promise<Record<string, AiUsageStats>>",
1733
- "isStatic": false,
1734
- "isPublic": true
1735
- },
1736
- "destroy": {
1737
- "name": "destroy",
1738
- "async": false,
1739
- "parameters": [],
1740
- "returnType": "void",
1741
- "isStatic": false,
1742
- "isPublic": true
1743
- },
1744
- "markAsPersisted": {
1745
- "name": "markAsPersisted",
1746
- "async": false,
1747
- "parameters": [],
1748
- "returnType": "void",
1749
- "isStatic": false,
1750
- "isPublic": true
1751
- },
1752
- "requireInsertOnSave": {
1753
- "name": "requireInsertOnSave",
1754
- "async": false,
1755
- "parameters": [],
1756
- "returnType": "void",
1757
- "isStatic": false,
1758
- "isPublic": true
1759
- },
1760
- "withTransaction": {
1761
- "name": "withTransaction",
1762
- "async": true,
1763
- "parameters": [
1764
- {
1765
- "name": "operation",
1766
- "type": "Function",
1767
- "optional": false
1768
- }
1769
- ],
1770
- "returnType": "Promise<T>",
1771
- "isStatic": false,
1772
- "isPublic": true
1773
- },
1774
- "initialize": {
1775
- "name": "initialize",
1776
- "async": true,
1777
- "parameters": [],
1778
- "returnType": "Promise",
1779
- "isStatic": false,
1780
- "isPublic": true
1781
- },
1782
- "loadDataFromDb": {
1783
- "name": "loadDataFromDb",
1784
- "async": true,
1785
- "parameters": [
1786
- {
1787
- "name": "data",
1788
- "type": "Record<string>",
1789
- "optional": false
1790
- }
1791
- ],
1792
- "returnType": "any",
1793
- "isStatic": false,
1794
- "isPublic": true
1795
- },
1796
- "getFields": {
1797
- "name": "getFields",
1798
- "async": true,
1799
- "parameters": [],
1800
- "returnType": "Promise<any>",
1801
- "isStatic": false,
1802
- "isPublic": true
1803
- },
1804
- "toJSON": {
1805
- "name": "toJSON",
1806
- "async": false,
1807
- "parameters": [],
1808
- "returnType": "any",
1809
- "isStatic": false,
1810
- "isPublic": true
1811
- },
1812
- "toPlainObject": {
1813
- "name": "toPlainObject",
1814
- "async": false,
1815
- "parameters": [],
1816
- "returnType": "Record<string>",
1817
- "isStatic": false,
1818
- "isPublic": true
1819
- },
1820
- "toPublicJSON": {
1821
- "name": "toPublicJSON",
1822
- "async": false,
1823
- "parameters": [
1824
- {
1825
- "name": "options",
1826
- "type": "PublicJsonOptions",
1827
- "optional": true
1828
- }
1829
- ],
1830
- "returnType": "Record<string>",
1831
- "isStatic": false,
1832
- "isPublic": true
1833
- },
1834
- "getId": {
1835
- "name": "getId",
1836
- "async": true,
1837
- "parameters": [],
1838
- "returnType": "any",
1839
- "isStatic": false,
1840
- "isPublic": true
1841
- },
1842
- "getSlug": {
1843
- "name": "getSlug",
1844
- "async": true,
1845
- "parameters": [],
1846
- "returnType": "any",
1847
- "isStatic": false,
1848
- "isPublic": true
1849
- },
1850
- "getSavedId": {
1851
- "name": "getSavedId",
1852
- "async": true,
1853
- "parameters": [],
1854
- "returnType": "any",
1855
- "isStatic": false,
1856
- "isPublic": true
1857
- },
1858
- "isSaved": {
1859
- "name": "isSaved",
1860
- "async": true,
1861
- "parameters": [],
1862
- "returnType": "any",
1863
- "isStatic": false,
1864
- "isPublic": true
1865
- },
1866
- "save": {
1867
- "name": "save",
1868
- "async": true,
1869
- "parameters": [
1870
- {
1871
- "name": "options",
1872
- "type": "SmrtSaveOptions",
1873
- "optional": true
1874
- }
1875
- ],
1876
- "returnType": "any",
1877
- "isStatic": false,
1878
- "isPublic": true
1879
- },
1880
- "claimRevision": {
1881
- "name": "claimRevision",
1882
- "async": true,
1883
- "parameters": [
1884
- {
1885
- "name": "expectedUpdatedAt",
1886
- "type": "Date | string",
1887
- "optional": false
1888
- }
1889
- ],
1890
- "returnType": "Promise",
1891
- "isStatic": false,
1892
- "isPublic": true
1893
- },
1894
- "classifyConstraintError": {
1895
- "name": "classifyConstraintError",
1896
- "async": false,
1897
- "parameters": [
1898
- {
1899
- "name": "message",
1900
- "type": "string",
1901
- "optional": false
1902
- }
1903
- ],
1904
- "returnType": "'unique' | 'not_null' | null",
1905
- "isStatic": true,
1906
- "isPublic": true
1907
- },
1908
- "loadFromId": {
1909
- "name": "loadFromId",
1910
- "async": true,
1911
- "parameters": [],
1912
- "returnType": "any",
1913
- "isStatic": false,
1914
- "isPublic": true
1915
- },
1916
- "loadFromSlug": {
1917
- "name": "loadFromSlug",
1918
- "async": true,
1919
- "parameters": [],
1920
- "returnType": "any",
1921
- "isStatic": false,
1922
- "isPublic": true
1923
- },
1924
- "is": {
1925
- "name": "is",
1926
- "async": true,
1927
- "parameters": [
1928
- {
1929
- "name": "criteria",
1930
- "type": "string",
1931
- "optional": false
1932
- },
1933
- {
1934
- "name": "options",
1935
- "type": "AiOperationOptions",
1936
- "optional": true
1937
- }
1938
- ],
1939
- "returnType": "any",
1940
- "isStatic": false,
1941
- "isPublic": true
1942
- },
1943
- "do": {
1944
- "name": "do",
1945
- "async": true,
1946
- "parameters": [
1947
- {
1948
- "name": "instructions",
1949
- "type": "string",
1950
- "optional": false
1951
- },
1952
- {
1953
- "name": "options",
1954
- "type": "AiOperationOptions",
1955
- "optional": true
1956
- }
1957
- ],
1958
- "returnType": "any",
1959
- "isStatic": false,
1960
- "isPublic": true
1961
- },
1962
- "describe": {
1963
- "name": "describe",
1964
- "async": true,
1965
- "parameters": [
1966
- {
1967
- "name": "options",
1968
- "type": "AiOperationOptions",
1969
- "optional": true
1970
- }
1971
- ],
1972
- "returnType": "any",
1973
- "isStatic": false,
1974
- "isPublic": true
1975
- },
1976
- "delete": {
1977
- "name": "delete",
1978
- "async": true,
1979
- "parameters": [],
1980
- "returnType": "Promise<void>",
1981
- "isStatic": false,
1982
- "isPublic": true
1983
- },
1984
- "isRelatedLoaded": {
1985
- "name": "isRelatedLoaded",
1986
- "async": false,
1987
- "parameters": [
1988
- {
1989
- "name": "fieldName",
1990
- "type": "string",
1991
- "optional": false
1992
- }
1993
- ],
1994
- "returnType": "boolean",
1995
- "isStatic": false,
1996
- "isPublic": true
1997
- },
1998
- "_setLoadedRelationship": {
1999
- "name": "_setLoadedRelationship",
2000
- "async": false,
2001
- "parameters": [
2002
- {
2003
- "name": "fieldName",
2004
- "type": "string",
2005
- "optional": false
2006
- },
2007
- {
2008
- "name": "value",
2009
- "type": "any",
2010
- "optional": false
2011
- }
2012
- ],
2013
- "returnType": "void",
2014
- "isStatic": false,
2015
- "isPublic": true
2016
- },
2017
- "loadRelated": {
2018
- "name": "loadRelated",
2019
- "async": true,
2020
- "parameters": [
2021
- {
2022
- "name": "fieldName",
2023
- "type": "string",
2024
- "optional": false
2025
- },
2026
- {
2027
- "name": "opts",
2028
- "type": "LoadRelatedOptions",
2029
- "optional": true
2030
- }
2031
- ],
2032
- "returnType": "Promise<any>",
2033
- "isStatic": false,
2034
- "isPublic": true
2035
- },
2036
- "loadRelatedMany": {
2037
- "name": "loadRelatedMany",
2038
- "async": true,
2039
- "parameters": [
2040
- {
2041
- "name": "fieldName",
2042
- "type": "string",
2043
- "optional": false
2044
- },
2045
- {
2046
- "name": "opts",
2047
- "type": "LoadRelatedOptions",
2048
- "optional": true
2049
- }
2050
- ],
2051
- "returnType": "Promise<any[]>",
2052
- "isStatic": false,
2053
- "isPublic": true
2054
- },
2055
- "getRelated": {
2056
- "name": "getRelated",
2057
- "async": true,
2058
- "parameters": [
2059
- {
2060
- "name": "fieldName",
2061
- "type": "string",
2062
- "optional": false
2063
- },
2064
- {
2065
- "name": "opts",
2066
- "type": "LoadRelatedOptions",
2067
- "optional": true
2068
- }
2069
- ],
2070
- "returnType": "Promise<any>",
2071
- "isStatic": false,
2072
- "isPublic": true
2073
- },
2074
- "getAvailableTools": {
2075
- "name": "getAvailableTools",
2076
- "async": false,
2077
- "parameters": [],
2078
- "returnType": "AITool[]",
2079
- "isStatic": false,
2080
- "isPublic": true
2081
- },
2082
- "executeToolCall": {
2083
- "name": "executeToolCall",
2084
- "async": true,
2085
- "parameters": [
2086
- {
2087
- "name": "toolCall",
2088
- "type": "ToolCall",
2089
- "optional": false
2090
- }
2091
- ],
2092
- "returnType": "Promise<ToolCallResult>",
2093
- "isStatic": false,
2094
- "isPublic": true
2095
- },
2096
- "remember": {
2097
- "name": "remember",
2098
- "async": true,
2099
- "parameters": [
2100
- {
2101
- "name": "options",
2102
- "type": "object",
2103
- "optional": false
2104
- }
2105
- ],
2106
- "returnType": "Promise<void>",
2107
- "isStatic": false,
2108
- "isPublic": true
2109
- },
2110
- "recall": {
2111
- "name": "recall",
2112
- "async": true,
2113
- "parameters": [
2114
- {
2115
- "name": "options",
2116
- "type": "object",
2117
- "optional": false
2118
- }
2119
- ],
2120
- "returnType": "Promise",
2121
- "isStatic": false,
2122
- "isPublic": true
2123
- },
2124
- "recallAll": {
2125
- "name": "recallAll",
2126
- "async": true,
2127
- "parameters": [
2128
- {
2129
- "name": "options",
2130
- "type": "object",
2131
- "optional": true
2132
- }
2133
- ],
2134
- "returnType": "Promise<Map<string>>",
2135
- "isStatic": false,
2136
- "isPublic": true
2137
- },
2138
- "forget": {
2139
- "name": "forget",
2140
- "async": true,
2141
- "parameters": [
2142
- {
2143
- "name": "options",
2144
- "type": "object",
2145
- "optional": false
2146
- }
2147
- ],
2148
- "returnType": "Promise<void>",
2149
- "isStatic": false,
2150
- "isPublic": true
2151
- },
2152
- "forgetScope": {
2153
- "name": "forgetScope",
2154
- "async": true,
2155
- "parameters": [
2156
- {
2157
- "name": "options",
2158
- "type": "object",
2159
- "optional": false
2160
- }
2161
- ],
2162
- "returnType": "Promise<number>",
2163
- "isStatic": false,
2164
- "isPublic": true
2165
- },
2166
- "generateEmbeddings": {
2167
- "name": "generateEmbeddings",
2168
- "async": true,
2169
- "parameters": [
2170
- {
2171
- "name": "options",
2172
- "type": "GenerateEmbeddingsOptions",
2173
- "optional": true
2174
- }
2175
- ],
2176
- "returnType": "Promise<void>",
2177
- "isStatic": false,
2178
- "isPublic": true
2179
- },
2180
- "getEmbedding": {
2181
- "name": "getEmbedding",
2182
- "async": true,
2183
- "parameters": [
2184
- {
2185
- "name": "fieldName",
2186
- "type": "string",
2187
- "optional": false
2188
- },
2189
- {
2190
- "name": "model",
2191
- "type": "string",
2192
- "optional": true
2193
- }
2194
- ],
2195
- "returnType": "Promise<number[] | null>",
2196
- "isStatic": false,
2197
- "isPublic": true
2198
- },
2199
- "hasStaleEmbeddings": {
2200
- "name": "hasStaleEmbeddings",
2201
- "async": true,
2202
- "parameters": [],
2203
- "returnType": "Promise<boolean>",
2204
- "isStatic": false,
2205
- "isPublic": true
2206
- },
2207
- "clearEmbeddings": {
2208
- "name": "clearEmbeddings",
2209
- "async": true,
2210
- "parameters": [],
2211
- "returnType": "Promise<void>",
2212
- "isStatic": false,
2213
- "isPublic": true
2214
- },
2215
- "getSpecification": {
2216
- "name": "getSpecification",
2217
- "async": true,
2218
- "parameters": [
2219
- {
2220
- "name": "key",
2221
- "type": "string",
2222
- "optional": false
2223
- }
2224
- ],
2225
- "returnType": "Promise",
2226
- "isStatic": false,
2227
- "isPublic": true
2228
- },
2229
- "updateSpecification": {
2230
- "name": "updateSpecification",
2231
- "async": true,
2232
- "parameters": [
2233
- {
2234
- "name": "key",
2235
- "type": "string",
2236
- "optional": false
2237
- },
2238
- {
2239
- "name": "value",
2240
- "type": "any",
2241
- "optional": false
2242
- }
2243
- ],
2244
- "returnType": "Promise<void>",
2245
- "isStatic": false,
2246
- "isPublic": true
2247
- },
2248
- "getAssets": {
2249
- "name": "getAssets",
2250
- "async": true,
2251
- "parameters": [
2252
- {
2253
- "name": "relationship",
2254
- "type": "string",
2255
- "optional": true
2256
- }
2257
- ],
2258
- "returnType": "Promise<Asset[]>",
2259
- "isStatic": false,
2260
- "isPublic": true
2261
- },
2262
- "addAsset": {
2263
- "name": "addAsset",
2264
- "async": true,
2265
- "parameters": [
2266
- {
2267
- "name": "asset",
2268
- "type": "Asset",
2269
- "optional": false
2270
- },
2271
- {
2272
- "name": "relationship",
2273
- "type": "any",
2274
- "optional": true,
2275
- "default": "attachment"
2276
- },
2277
- {
2278
- "name": "sortOrder",
2279
- "type": "any",
2280
- "optional": true
2281
- }
2282
- ],
2283
- "returnType": "Promise<void>",
2284
- "isStatic": false,
2285
- "isPublic": true
2286
- },
2287
- "removeAsset": {
2288
- "name": "removeAsset",
2289
- "async": true,
2290
- "parameters": [
2291
- {
2292
- "name": "assetId",
2293
- "type": "string",
2294
- "optional": false
2295
- },
2296
- {
2297
- "name": "relationship",
2298
- "type": "string",
2299
- "optional": true
2300
- }
2301
- ],
2302
- "returnType": "Promise<void>",
2303
- "isStatic": false,
2304
- "isPublic": true
2305
- }
2306
- },
2307
- "decoratorConfig": {
2308
- "api": {
2309
- "include": [
2310
- "list",
2311
- "get",
2312
- "create",
2313
- "update"
2314
- ]
2315
- },
2316
- "mcp": {
2317
- "include": [
2318
- "list",
2319
- "get"
2320
- ]
2321
- },
2322
- "cli": true,
2323
- "tenantScoped": {
2324
- "mode": "optional"
2325
- },
2326
- "tableName": "products",
2327
- "tableStrategy": "sti"
2328
- },
2329
- "extends": "Product",
2330
- "exportName": "Material",
2331
- "collectionExportName": "MaterialCollection",
2332
- "validationRules": [
2333
- {
2334
- "field": "price",
2335
- "rule": "required",
2336
- "fieldType": "integer"
2337
- },
2338
- {
2339
- "field": "inStock",
2340
- "rule": "required",
2341
- "fieldType": "boolean"
2342
- }
2343
- ],
2344
- "schema": {
2345
- "tableName": "products",
2346
- "ddl": "CREATE TABLE IF NOT EXISTS \"products\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"product_type\" TEXT,\n \"name\" TEXT,\n \"description\" TEXT,\n \"category\" TEXT,\n \"manufacturer\" TEXT,\n \"model\" TEXT,\n \"price\" INTEGER DEFAULT 0,\n \"in_stock\" BOOLEAN DEFAULT TRUE,\n \"specifications\" JSON DEFAULT '{}',\n \"tags\" JSON DEFAULT '[]'\n);",
2347
- "columns": {
2348
- "id": {
2349
- "type": "UUID",
2350
- "primaryKey": true,
2351
- "referenceKind": "id",
2352
- "notNull": true
2353
- },
2354
- "slug": {
2355
- "type": "TEXT",
2356
- "notNull": true
2357
- },
2358
- "context": {
2359
- "type": "TEXT",
2360
- "notNull": true,
2361
- "default": ""
2362
- },
2363
- "_meta_type": {
2364
- "type": "TEXT",
2365
- "notNull": true
2366
- },
2367
- "_meta_data": {
2368
- "type": "JSON",
2369
- "notNull": false
2370
- },
2371
- "created_at": {
2372
- "type": "TIMESTAMP",
2373
- "notNull": true,
2374
- "default": "current_timestamp"
2375
- },
2376
- "updated_at": {
2377
- "type": "TIMESTAMP",
2378
- "notNull": true,
2379
- "default": "current_timestamp"
2380
- },
2381
- "tenant_id": {
2382
- "type": "UUID",
2383
- "referenceKind": "tenantId",
2384
- "notNull": false
2385
- },
2386
- "product_type": {
2387
- "type": "TEXT",
2388
- "notNull": false
2389
- },
2390
- "name": {
2391
- "type": "TEXT",
2392
- "notNull": false
2393
- },
2394
- "description": {
2395
- "type": "TEXT",
2396
- "notNull": false
2397
- },
2398
- "category": {
2399
- "type": "TEXT",
2400
- "notNull": false
2401
- },
2402
- "manufacturer": {
2403
- "type": "TEXT",
2404
- "notNull": false
2405
- },
2406
- "model": {
2407
- "type": "TEXT",
2408
- "notNull": false
2409
- },
2410
- "price": {
2411
- "type": "INTEGER",
2412
- "notNull": false,
2413
- "default": 0
2414
- },
2415
- "in_stock": {
2416
- "type": "BOOLEAN",
2417
- "notNull": false,
2418
- "default": true
2419
- },
2420
- "specifications": {
2421
- "type": "JSON",
2422
- "notNull": false,
2423
- "default": {}
2424
- },
2425
- "tags": {
2426
- "type": "JSON",
2427
- "notNull": false,
2428
- "default": []
2429
- }
2430
- },
2431
- "indexes": [
2432
- {
2433
- "name": "products_slug_context_meta_type_idx",
2434
- "columns": [
2435
- "tenant_id",
2436
- "slug",
2437
- "context",
2438
- "_meta_type"
2439
- ],
2440
- "unique": true
2441
- },
2442
- {
2443
- "name": "products_meta_type_idx",
2444
- "columns": [
2445
- "_meta_type"
2446
- ]
2447
- },
2448
- {
2449
- "name": "products_tenant_id_created_at_idx",
2450
- "columns": [
2451
- "tenant_id",
2452
- "created_at"
2453
- ]
2454
- }
2455
- ],
2456
- "version": "a7b4d592"
2457
- }
2458
- },
2459
- "@happyvertical/smrt-products:Product": {
2460
- "name": "product",
2461
- "className": "Product",
2462
- "qualifiedName": "@happyvertical/smrt-products:Product",
2463
- "collection": "products",
2464
- "filePath": "/home/runner/work/smrt/smrt/packages/products/src/lib/models/Product.ts",
2465
- "packageName": "@happyvertical/smrt-products",
2466
- "fields": {
2467
- "created_at": {
2468
- "type": "datetime",
2469
- "required": false
2470
- },
2471
- "updated_at": {
2472
- "type": "datetime",
2473
- "required": false
2474
- },
2475
- "tenantId": {
2476
- "type": "text",
2477
- "required": false,
2478
- "_meta": {
2479
- "sqlType": "UUID",
2480
- "nullable": true,
2481
- "__tenancy": {
2482
- "isTenantIdField": true,
2483
- "autoFilter": true,
2484
- "required": false,
2485
- "autoPopulate": true,
2486
- "nullable": true,
2487
- "mode": "optional",
2488
- "field": "tenantId",
2489
- "allowSuperAdminBypass": false
2490
- }
2491
- }
2492
- },
2493
- "productType": {
2494
- "type": "text",
2495
- "required": false
2496
- },
2497
- "name": {
2498
- "type": "text",
2499
- "required": false
2500
- },
2501
- "description": {
2502
- "type": "text",
2503
- "required": false
2504
- },
2505
- "category": {
2506
- "type": "text",
2507
- "required": false
2508
- },
2509
- "manufacturer": {
2510
- "type": "text",
2511
- "required": false
2512
- },
2513
- "model": {
2514
- "type": "text",
2515
- "required": false
2516
- },
2517
- "price": {
2518
- "type": "integer",
2519
- "required": true,
2520
- "default": 0
2521
- },
2522
- "inStock": {
2523
- "type": "boolean",
2524
- "required": true,
2525
- "default": true
2526
- },
2527
- "specifications": {
2528
- "type": "json",
2529
- "required": false,
2530
- "default": {}
2531
- },
2532
- "tags": {
2533
- "type": "json",
2534
- "required": false,
2535
- "default": []
2536
- }
2537
- },
2538
- "methods": {
2539
- "withDatabase": {
2540
- "name": "withDatabase",
2541
- "async": true,
2542
- "parameters": [
2543
- {
2544
- "name": "db",
2545
- "type": "DatabaseInterface",
2546
- "optional": false
2547
- },
2548
- {
2549
- "name": "operation",
2550
- "type": "Function",
2551
- "optional": false
2552
- }
2553
- ],
2554
- "returnType": "Promise<T>",
2555
- "isStatic": false,
2556
- "isPublic": true
2557
- },
2558
- "getAiUsageSnapshot": {
2559
- "name": "getAiUsageSnapshot",
2560
- "async": false,
2561
- "parameters": [],
2562
- "returnType": "AiUsageSnapshot | undefined",
2563
- "isStatic": false,
2564
- "isPublic": true
2565
- },
2566
- "resetAiUsage": {
2567
- "name": "resetAiUsage",
2568
- "async": false,
2569
- "parameters": [],
2570
- "returnType": "void",
2571
- "isStatic": false,
2572
- "isPublic": true
2573
- },
2574
- "listAiUsage": {
2575
- "name": "listAiUsage",
2576
- "async": true,
2577
- "parameters": [
2578
- {
2579
- "name": "options",
2580
- "type": "AiUsageListOptions",
2581
- "optional": true
2582
- }
2583
- ],
2584
- "returnType": "Promise<SmrtAiUsageRecord[]>",
2585
- "isStatic": false,
2586
- "isPublic": true
2587
- },
2588
- "summarizeAiUsage": {
2589
- "name": "summarizeAiUsage",
2590
- "async": true,
2591
- "parameters": [
2592
- {
2593
- "name": "options",
2594
- "type": "AiUsageSummaryOptions",
2595
- "optional": true
2596
- }
2597
- ],
2598
- "returnType": "Promise<Record<string, AiUsageStats>>",
2599
- "isStatic": false,
2600
- "isPublic": true
2601
- },
2602
- "destroy": {
2603
- "name": "destroy",
2604
- "async": false,
2605
- "parameters": [],
2606
- "returnType": "void",
2607
- "isStatic": false,
2608
- "isPublic": true
2609
- },
2610
- "markAsPersisted": {
2611
- "name": "markAsPersisted",
2612
- "async": false,
2613
- "parameters": [],
2614
- "returnType": "void",
2615
- "isStatic": false,
2616
- "isPublic": true
2617
- },
2618
- "requireInsertOnSave": {
2619
- "name": "requireInsertOnSave",
2620
- "async": false,
2621
- "parameters": [],
2622
- "returnType": "void",
2623
- "isStatic": false,
2624
- "isPublic": true
2625
- },
2626
- "withTransaction": {
2627
- "name": "withTransaction",
2628
- "async": true,
2629
- "parameters": [
2630
- {
2631
- "name": "operation",
2632
- "type": "Function",
2633
- "optional": false
2634
- }
2635
- ],
2636
- "returnType": "Promise<T>",
2637
- "isStatic": false,
2638
- "isPublic": true
2639
- },
2640
- "initialize": {
2641
- "name": "initialize",
2642
- "async": true,
2643
- "parameters": [],
2644
- "returnType": "Promise",
2645
- "isStatic": false,
2646
- "isPublic": true
2647
- },
2648
- "loadDataFromDb": {
2649
- "name": "loadDataFromDb",
2650
- "async": true,
2651
- "parameters": [
2652
- {
2653
- "name": "data",
2654
- "type": "Record<string>",
2655
- "optional": false
2656
- }
2657
- ],
2658
- "returnType": "any",
2659
- "isStatic": false,
2660
- "isPublic": true
2661
- },
2662
- "getFields": {
2663
- "name": "getFields",
2664
- "async": true,
2665
- "parameters": [],
2666
- "returnType": "Promise<any>",
2667
- "isStatic": false,
2668
- "isPublic": true
2669
- },
2670
- "toJSON": {
2671
- "name": "toJSON",
2672
- "async": false,
2673
- "parameters": [],
2674
- "returnType": "any",
2675
- "isStatic": false,
2676
- "isPublic": true
2677
- },
2678
- "toPlainObject": {
2679
- "name": "toPlainObject",
2680
- "async": false,
2681
- "parameters": [],
2682
- "returnType": "Record<string>",
2683
- "isStatic": false,
2684
- "isPublic": true
2685
- },
2686
- "toPublicJSON": {
2687
- "name": "toPublicJSON",
2688
- "async": false,
2689
- "parameters": [
2690
- {
2691
- "name": "options",
2692
- "type": "PublicJsonOptions",
2693
- "optional": true
2694
- }
2695
- ],
2696
- "returnType": "Record<string>",
2697
- "isStatic": false,
2698
- "isPublic": true
2699
- },
2700
- "getId": {
2701
- "name": "getId",
2702
- "async": true,
2703
- "parameters": [],
2704
- "returnType": "any",
2705
- "isStatic": false,
2706
- "isPublic": true
2707
- },
2708
- "getSlug": {
2709
- "name": "getSlug",
2710
- "async": true,
2711
- "parameters": [],
2712
- "returnType": "any",
2713
- "isStatic": false,
2714
- "isPublic": true
2715
- },
2716
- "getSavedId": {
2717
- "name": "getSavedId",
2718
- "async": true,
2719
- "parameters": [],
2720
- "returnType": "any",
2721
- "isStatic": false,
2722
- "isPublic": true
2723
- },
2724
- "isSaved": {
2725
- "name": "isSaved",
2726
- "async": true,
2727
- "parameters": [],
2728
- "returnType": "any",
2729
- "isStatic": false,
2730
- "isPublic": true
2731
- },
2732
- "save": {
2733
- "name": "save",
2734
- "async": true,
2735
- "parameters": [
2736
- {
2737
- "name": "options",
2738
- "type": "SmrtSaveOptions",
2739
- "optional": true
2740
- }
2741
- ],
2742
- "returnType": "any",
2743
- "isStatic": false,
2744
- "isPublic": true
2745
- },
2746
- "claimRevision": {
2747
- "name": "claimRevision",
2748
- "async": true,
2749
- "parameters": [
2750
- {
2751
- "name": "expectedUpdatedAt",
2752
- "type": "Date | string",
2753
- "optional": false
2754
- }
2755
- ],
2756
- "returnType": "Promise",
2757
- "isStatic": false,
2758
- "isPublic": true
2759
- },
2760
- "classifyConstraintError": {
2761
- "name": "classifyConstraintError",
2762
- "async": false,
2763
- "parameters": [
2764
- {
2765
- "name": "message",
2766
- "type": "string",
2767
- "optional": false
2768
- }
2769
- ],
2770
- "returnType": "'unique' | 'not_null' | null",
2771
- "isStatic": true,
2772
- "isPublic": true
2773
- },
2774
- "loadFromId": {
2775
- "name": "loadFromId",
2776
- "async": true,
2777
- "parameters": [],
2778
- "returnType": "any",
2779
- "isStatic": false,
2780
- "isPublic": true
2781
- },
2782
- "loadFromSlug": {
2783
- "name": "loadFromSlug",
2784
- "async": true,
2785
- "parameters": [],
2786
- "returnType": "any",
2787
- "isStatic": false,
2788
- "isPublic": true
2789
- },
2790
- "is": {
2791
- "name": "is",
2792
- "async": true,
2793
- "parameters": [
2794
- {
2795
- "name": "criteria",
2796
- "type": "string",
2797
- "optional": false
2798
- },
2799
- {
2800
- "name": "options",
2801
- "type": "AiOperationOptions",
2802
- "optional": true
2803
- }
2804
- ],
2805
- "returnType": "any",
2806
- "isStatic": false,
2807
- "isPublic": true
2808
- },
2809
- "do": {
2810
- "name": "do",
2811
- "async": true,
2812
- "parameters": [
2813
- {
2814
- "name": "instructions",
2815
- "type": "string",
2816
- "optional": false
2817
- },
2818
- {
2819
- "name": "options",
2820
- "type": "AiOperationOptions",
2821
- "optional": true
2822
- }
2823
- ],
2824
- "returnType": "any",
2825
- "isStatic": false,
2826
- "isPublic": true
2827
- },
2828
- "describe": {
2829
- "name": "describe",
2830
- "async": true,
2831
- "parameters": [
2832
- {
2833
- "name": "options",
2834
- "type": "AiOperationOptions",
2835
- "optional": true
2836
- }
2837
- ],
2838
- "returnType": "any",
2839
- "isStatic": false,
2840
- "isPublic": true
2841
- },
2842
- "delete": {
2843
- "name": "delete",
2844
- "async": true,
2845
- "parameters": [],
2846
- "returnType": "Promise<void>",
2847
- "isStatic": false,
2848
- "isPublic": true
2849
- },
2850
- "isRelatedLoaded": {
2851
- "name": "isRelatedLoaded",
2852
- "async": false,
2853
- "parameters": [
2854
- {
2855
- "name": "fieldName",
2856
- "type": "string",
2857
- "optional": false
2858
- }
2859
- ],
2860
- "returnType": "boolean",
2861
- "isStatic": false,
2862
- "isPublic": true
2863
- },
2864
- "_setLoadedRelationship": {
2865
- "name": "_setLoadedRelationship",
2866
- "async": false,
2867
- "parameters": [
2868
- {
2869
- "name": "fieldName",
2870
- "type": "string",
2871
- "optional": false
2872
- },
2873
- {
2874
- "name": "value",
2875
- "type": "any",
2876
- "optional": false
2877
- }
2878
- ],
2879
- "returnType": "void",
2880
- "isStatic": false,
2881
- "isPublic": true
2882
- },
2883
- "loadRelated": {
2884
- "name": "loadRelated",
2885
- "async": true,
2886
- "parameters": [
2887
- {
2888
- "name": "fieldName",
2889
- "type": "string",
2890
- "optional": false
2891
- },
2892
- {
2893
- "name": "opts",
2894
- "type": "LoadRelatedOptions",
2895
- "optional": true
2896
- }
2897
- ],
2898
- "returnType": "Promise<any>",
2899
- "isStatic": false,
2900
- "isPublic": true
2901
- },
2902
- "loadRelatedMany": {
2903
- "name": "loadRelatedMany",
2904
- "async": true,
2905
- "parameters": [
2906
- {
2907
- "name": "fieldName",
2908
- "type": "string",
2909
- "optional": false
2910
- },
2911
- {
2912
- "name": "opts",
2913
- "type": "LoadRelatedOptions",
2914
- "optional": true
2915
- }
2916
- ],
2917
- "returnType": "Promise<any[]>",
2918
- "isStatic": false,
2919
- "isPublic": true
2920
- },
2921
- "getRelated": {
2922
- "name": "getRelated",
2923
- "async": true,
2924
- "parameters": [
2925
- {
2926
- "name": "fieldName",
2927
- "type": "string",
2928
- "optional": false
2929
- },
2930
- {
2931
- "name": "opts",
2932
- "type": "LoadRelatedOptions",
2933
- "optional": true
2934
- }
2935
- ],
2936
- "returnType": "Promise<any>",
2937
- "isStatic": false,
2938
- "isPublic": true
2939
- },
2940
- "getAvailableTools": {
2941
- "name": "getAvailableTools",
2942
- "async": false,
2943
- "parameters": [],
2944
- "returnType": "AITool[]",
2945
- "isStatic": false,
2946
- "isPublic": true
2947
- },
2948
- "executeToolCall": {
2949
- "name": "executeToolCall",
2950
- "async": true,
2951
- "parameters": [
2952
- {
2953
- "name": "toolCall",
2954
- "type": "ToolCall",
2955
- "optional": false
2956
- }
2957
- ],
2958
- "returnType": "Promise<ToolCallResult>",
2959
- "isStatic": false,
2960
- "isPublic": true
2961
- },
2962
- "remember": {
2963
- "name": "remember",
2964
- "async": true,
2965
- "parameters": [
2966
- {
2967
- "name": "options",
2968
- "type": "object",
2969
- "optional": false
2970
- }
2971
- ],
2972
- "returnType": "Promise<void>",
2973
- "isStatic": false,
2974
- "isPublic": true
2975
- },
2976
- "recall": {
2977
- "name": "recall",
2978
- "async": true,
2979
- "parameters": [
2980
- {
2981
- "name": "options",
2982
- "type": "object",
2983
- "optional": false
2984
- }
2985
- ],
2986
- "returnType": "Promise",
2987
- "isStatic": false,
2988
- "isPublic": true
2989
- },
2990
- "recallAll": {
2991
- "name": "recallAll",
2992
- "async": true,
2993
- "parameters": [
2994
- {
2995
- "name": "options",
2996
- "type": "object",
2997
- "optional": true
2998
- }
2999
- ],
3000
- "returnType": "Promise<Map<string>>",
3001
- "isStatic": false,
3002
- "isPublic": true
3003
- },
3004
- "forget": {
3005
- "name": "forget",
3006
- "async": true,
3007
- "parameters": [
3008
- {
3009
- "name": "options",
3010
- "type": "object",
3011
- "optional": false
3012
- }
3013
- ],
3014
- "returnType": "Promise<void>",
3015
- "isStatic": false,
3016
- "isPublic": true
3017
- },
3018
- "forgetScope": {
3019
- "name": "forgetScope",
3020
- "async": true,
3021
- "parameters": [
3022
- {
3023
- "name": "options",
3024
- "type": "object",
3025
- "optional": false
3026
- }
3027
- ],
3028
- "returnType": "Promise<number>",
3029
- "isStatic": false,
3030
- "isPublic": true
3031
- },
3032
- "generateEmbeddings": {
3033
- "name": "generateEmbeddings",
3034
- "async": true,
3035
- "parameters": [
3036
- {
3037
- "name": "options",
3038
- "type": "GenerateEmbeddingsOptions",
3039
- "optional": true
3040
- }
3041
- ],
3042
- "returnType": "Promise<void>",
3043
- "isStatic": false,
3044
- "isPublic": true
3045
- },
3046
- "getEmbedding": {
3047
- "name": "getEmbedding",
3048
- "async": true,
3049
- "parameters": [
3050
- {
3051
- "name": "fieldName",
3052
- "type": "string",
3053
- "optional": false
3054
- },
3055
- {
3056
- "name": "model",
3057
- "type": "string",
3058
- "optional": true
3059
- }
3060
- ],
3061
- "returnType": "Promise<number[] | null>",
3062
- "isStatic": false,
3063
- "isPublic": true
3064
- },
3065
- "hasStaleEmbeddings": {
3066
- "name": "hasStaleEmbeddings",
3067
- "async": true,
3068
- "parameters": [],
3069
- "returnType": "Promise<boolean>",
3070
- "isStatic": false,
3071
- "isPublic": true
3072
- },
3073
- "clearEmbeddings": {
3074
- "name": "clearEmbeddings",
3075
- "async": true,
3076
- "parameters": [],
3077
- "returnType": "Promise<void>",
3078
- "isStatic": false,
3079
- "isPublic": true
3080
- },
3081
1549
  "getSpecification": {
3082
1550
  "name": "getSpecification",
3083
1551
  "async": true,