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