@unchainedshop/api 4.0.0-rc.18 → 4.0.0-rc.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/express/chatHandler.d.ts.map +1 -1
- package/lib/express/chatHandler.js +4 -2
- package/lib/express/chatHandler.js.map +1 -1
- package/lib/resolvers/queries/products/productReview.d.ts +1 -1
- package/lib/resolvers/queries/products/productReview.d.ts.map +1 -1
- package/lib/resolvers/queries/products/productReview.js +5 -2
- package/lib/resolvers/queries/products/productReview.js.map +1 -1
- package/lib/resolvers/type/index.d.ts +1 -1
- package/lib/resolvers/type/token-types.d.ts +1 -1
- package/lib/resolvers/type/token-types.js +1 -1
- package/lib/resolvers/type/token-types.js.map +1 -1
- package/package.json +9 -9
- package/src/express/chatHandler.ts +5 -2
- package/src/resolvers/queries/products/productReview.ts +4 -3
- package/src/resolvers/type/token-types.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatHandler.d.ts","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,SAAS,CAAC;AAW1E,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"chatHandler.d.ts","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,SAAS,CAAC;AAW1E,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAQnE,eAAO,MAAM,aAAa,kDAazB,CAAC;AAqKF,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,mBAAmB,iBAAiB,SAQ7E,CAAC"}
|
|
@@ -6,6 +6,8 @@ import { errorHandler } from '../chat/utils.js';
|
|
|
6
6
|
import generateImageHandler from '../chat/generateImageHandler.js';
|
|
7
7
|
import defaultSystemPrompt from '../chat/defaultSystemPrompt.js';
|
|
8
8
|
import normalizeToolsIndex from '../chat/normalizeToolsIndex.js';
|
|
9
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
10
|
+
const logger = createLogger('unchained:api:chat');
|
|
9
11
|
export const expressRouter = () => {
|
|
10
12
|
const router = express.Router();
|
|
11
13
|
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
@@ -68,7 +70,7 @@ const setupMCPChatHandler = (chatConfiguration) => {
|
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
catch (e) {
|
|
71
|
-
|
|
73
|
+
logger.error(`Failed to read resource ${resource.uri}:`, e);
|
|
72
74
|
}
|
|
73
75
|
return null;
|
|
74
76
|
}));
|
|
@@ -77,7 +79,7 @@ const setupMCPChatHandler = (chatConfiguration) => {
|
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
catch (e) {
|
|
80
|
-
|
|
82
|
+
logger.error('Failed to fetch MCP resources:', e);
|
|
81
83
|
}
|
|
82
84
|
const tools = {
|
|
83
85
|
...defaultUnchainedTools,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatHandler.js","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,4BAA4B,IAAI,eAAe,EAE/C,WAAW,EACX,UAAU,GAEX,MAAM,IAAI,CAAC;AACZ,OAAO,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"chatHandler.js","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,4BAA4B,IAAI,eAAe,EAE/C,WAAW,EACX,UAAU,GAEX,MAAM,IAAI,CAAC;AACZ,OAAO,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAC5B,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,iBAA0C,EAAkB,EAAE;IACzF,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,EACJ,KAAK,EAAE,eAAe,GAAG,EAAE,EAC3B,eAAe,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,EAC/C,KAAK,EACL,mBAAmB,EACnB,GAAG,cAAc,EAClB,GAAQ,iBAAiB,CAAC;IAE3B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,IAAI,mBAAmB,CAAC;IAE/D,MAAM,cAAc,GAAmB,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,EAAE;YACpF,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,MAAM,CAC1B,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,EACnD;YACE,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;SAChC,CACF,CAAC;QACF,MAAM,SAAS,CAAC,OAAO,CAAC,iBAAwB,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,EAAE;YAC5E,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACnC,SAAS,EAAE,SAAyB;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACnD,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;gBAClD,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;oBACzB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;wBACzC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;4BACpE,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gCACjC,OAAO,GAAG,QAAQ,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAC1D,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC9D,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,CACH,CAAC;oBACF,eAAe;wBACb,qCAAqC,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,KAAK,GAAY;gBACrB,GAAG,qBAAqB;gBACxB,GAAG,eAAe;aACnB,CAAC;YACF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAQ,CAAC;YAC9E,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;oBACjC,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE9B,MAAM,oBAAoB,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEtC,oBAAoB,CAAC,OAAO,CAAC,GAAG;gBAC9B,GAAG,oBAAoB,CAAC,OAAO,CAAC;gBAChC,eAAe,EAAE;oBACf,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;iBACnD;aACF,CAAC;YAEF,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAE7F,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChD,kBAAkB,CAAC,SAAS,CAAC,GAAG;oBAC9B,GAAG,kBAAkB,CAAC,SAAS,CAAC;oBAChC,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;iBACxE,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YACvE,OAAO,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,qBAAqB,GACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAEvF,IAAI,CAAC,qBAAqB;oBAAE,MAAM;gBAClC,UAAU,EAAE,CAAC;YACf,CAAC;YACD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;gBACzB,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,CAAC;gBACb,GAAG,cAAc;gBACjB,MAAM,EAAE,MAAM,GAAG,eAAe;gBAChC,KAAK;gBACL,KAAK,EAAE,oBAAoB;gBAC3B,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;gBACxB,CAAC;gBACD,QAAQ,EAAE,iBAAiB;gBAC3B,eAAe,EAAE;oBACf,SAAS,EAAE;wBACT,YAAY,EAAE;4BACZ,IAAI,EAAE,WAAW;yBAClB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,6BAA6B,CAAC,GAAG,EAAE;gBACxC,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;YACtB,MAAM,SAAS,EAAE,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,iBAAoC,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context } from '../../../context.js';
|
|
2
2
|
export default function productReview(root: never, { productReviewId }: {
|
|
3
3
|
productReviewId: string;
|
|
4
|
-
}, { modules, userId }: Context): Promise<import("mongodb").WithId<import("@unchainedshop/core-products").ProductReview
|
|
4
|
+
}, { modules, userId }: Context): Promise<import("mongodb").WithId<import("@unchainedshop/core-products").ProductReview>>;
|
|
5
5
|
//# sourceMappingURL=productReview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productReview.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productReview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,aAAa,CACzC,IAAI,EAAE,KAAK,EACX,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"productReview.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productReview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,aAAa,CACzC,IAAI,EAAE,KAAK,EACX,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,2FAQ7B"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { InvalidIdError } from '../../../errors.js';
|
|
2
|
+
import { InvalidIdError, ProductReviewNotFoundError } from '../../../errors.js';
|
|
3
3
|
export default async function productReview(root, { productReviewId }, { modules, userId }) {
|
|
4
4
|
log(`query productReview ${productReviewId}`, { userId });
|
|
5
5
|
if (!productReviewId)
|
|
6
6
|
throw new InvalidIdError({ productReviewId });
|
|
7
|
-
|
|
7
|
+
const review = await modules.products.reviews.findProductReview({ productReviewId });
|
|
8
|
+
if (!review)
|
|
9
|
+
throw new ProductReviewNotFoundError({ productReviewId });
|
|
10
|
+
return review;
|
|
8
11
|
}
|
|
9
12
|
//# sourceMappingURL=productReview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productReview.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"productReview.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/products/productReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,IAAW,EACX,EAAE,eAAe,EAA+B,EAChD,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,uBAAuB,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,0BAA0B,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -776,7 +776,7 @@ declare const types: {
|
|
|
776
776
|
ercMetadata: (token: import("@unchainedshop/core-warehousing").TokenSurrogate, { forceLocale }: {
|
|
777
777
|
forceLocale: string;
|
|
778
778
|
}, context: import("../../context.js").Context) => Promise<any>;
|
|
779
|
-
isInvalidateable: (token: import("@unchainedshop/core-warehousing").TokenSurrogate, _params: never, context: import("../../context.js").Context) => Promise<
|
|
779
|
+
isInvalidateable: (token: import("@unchainedshop/core-warehousing").TokenSurrogate, _params: never, context: import("../../context.js").Context) => Promise<boolean>;
|
|
780
780
|
accessKey: (token: import("@unchainedshop/core-warehousing").TokenSurrogate, params: never, requestContext: import("../../context.js").Context) => Promise<string | null>;
|
|
781
781
|
};
|
|
782
782
|
User: import("./user-types.js").UserHelperTypes;
|
|
@@ -7,7 +7,7 @@ export declare const Token: {
|
|
|
7
7
|
ercMetadata: (token: TokenSurrogate, { forceLocale }: {
|
|
8
8
|
forceLocale: string;
|
|
9
9
|
}, context: Context) => Promise<any>;
|
|
10
|
-
isInvalidateable: (token: TokenSurrogate, _params: never, context: Context) => Promise<
|
|
10
|
+
isInvalidateable: (token: TokenSurrogate, _params: never, context: Context) => Promise<boolean>;
|
|
11
11
|
accessKey: (token: TokenSurrogate, params: never, requestContext: Context) => Promise<string | null>;
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=token-types.d.ts.map
|
|
@@ -43,7 +43,7 @@ export const Token = {
|
|
|
43
43
|
quantity: token?.quantity || 1,
|
|
44
44
|
referenceDate: new Date(),
|
|
45
45
|
}, context);
|
|
46
|
-
return isInvalidateable;
|
|
46
|
+
return !!isInvalidateable;
|
|
47
47
|
},
|
|
48
48
|
accessKey: async (token, params, requestContext) => {
|
|
49
49
|
const { modules } = requestContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/token-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"token-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/token-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
|
-
"version": "4.0.0-rc.
|
|
3
|
+
"version": "4.0.0-rc.19",
|
|
4
4
|
"main": "lib/api-index.js",
|
|
5
5
|
"types": "lib/api-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -51,15 +51,15 @@
|
|
|
51
51
|
"@modelcontextprotocol/sdk": {
|
|
52
52
|
"optional": false
|
|
53
53
|
},
|
|
54
|
-
"ai": {
|
|
55
|
-
"optional": true
|
|
56
|
-
},
|
|
57
54
|
"graphql-yoga": {
|
|
58
55
|
"optional": false
|
|
59
56
|
},
|
|
60
57
|
"connect-mongo": {
|
|
61
58
|
"optional": false
|
|
62
59
|
},
|
|
60
|
+
"ai": {
|
|
61
|
+
"optional": true
|
|
62
|
+
},
|
|
63
63
|
"fastify": {
|
|
64
64
|
"optional": true
|
|
65
65
|
},
|
|
@@ -95,11 +95,11 @@
|
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
"dependencies": {
|
|
98
|
-
"@unchainedshop/core": "^4.0.0-rc.
|
|
99
|
-
"@unchainedshop/events": "^4.0.0-rc.
|
|
100
|
-
"@unchainedshop/logger": "^4.0.0-rc.
|
|
101
|
-
"@unchainedshop/roles": "^4.0.0-rc.
|
|
102
|
-
"@unchainedshop/utils": "^4.0.0-rc.
|
|
98
|
+
"@unchainedshop/core": "^4.0.0-rc.19",
|
|
99
|
+
"@unchainedshop/events": "^4.0.0-rc.19",
|
|
100
|
+
"@unchainedshop/logger": "^4.0.0-rc.19",
|
|
101
|
+
"@unchainedshop/roles": "^4.0.0-rc.19",
|
|
102
|
+
"@unchainedshop/utils": "^4.0.0-rc.19",
|
|
103
103
|
"file-type": "^21.0.0",
|
|
104
104
|
"dataloader": "^2.2.3",
|
|
105
105
|
"expiry-map": "^2.0.0",
|
|
@@ -14,6 +14,9 @@ import { ChatConfiguration, errorHandler } from '../chat/utils.js';
|
|
|
14
14
|
import generateImageHandler from '../chat/generateImageHandler.js';
|
|
15
15
|
import defaultSystemPrompt from '../chat/defaultSystemPrompt.js';
|
|
16
16
|
import normalizeToolsIndex from '../chat/normalizeToolsIndex.js';
|
|
17
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
18
|
+
|
|
19
|
+
const logger = createLogger('unchained:api:chat');
|
|
17
20
|
|
|
18
21
|
export const expressRouter = () => {
|
|
19
22
|
const router = express.Router();
|
|
@@ -97,7 +100,7 @@ const setupMCPChatHandler = (chatConfiguration: ChatConfiguration & any): Reques
|
|
|
97
100
|
return `${resource.name}:\n${content.contents[0].text}`;
|
|
98
101
|
}
|
|
99
102
|
} catch (e) {
|
|
100
|
-
|
|
103
|
+
logger.error(`Failed to read resource ${resource.uri}:`, e);
|
|
101
104
|
}
|
|
102
105
|
return null;
|
|
103
106
|
}),
|
|
@@ -106,7 +109,7 @@ const setupMCPChatHandler = (chatConfiguration: ChatConfiguration & any): Reques
|
|
|
106
109
|
'\n\nAVAILABLE SHOP CONFIGURATION:\n' + resourceTexts.filter(Boolean).join('\n\n');
|
|
107
110
|
}
|
|
108
111
|
} catch (e) {
|
|
109
|
-
|
|
112
|
+
logger.error('Failed to fetch MCP resources:', e);
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
const tools: ToolSet = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { InvalidIdError } from '../../../errors.js';
|
|
2
|
+
import { InvalidIdError, ProductReviewNotFoundError } from '../../../errors.js';
|
|
3
3
|
import { Context } from '../../../context.js';
|
|
4
4
|
|
|
5
5
|
export default async function productReview(
|
|
@@ -10,6 +10,7 @@ export default async function productReview(
|
|
|
10
10
|
log(`query productReview ${productReviewId}`, { userId });
|
|
11
11
|
|
|
12
12
|
if (!productReviewId) throw new InvalidIdError({ productReviewId });
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const review = await modules.products.reviews.findProductReview({ productReviewId });
|
|
14
|
+
if (!review) throw new ProductReviewNotFoundError({ productReviewId });
|
|
15
|
+
return review;
|
|
15
16
|
}
|