@henrylabs/mcp 0.15.0 → 0.18.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.
Files changed (197) hide show
  1. package/README.md +13 -334
  2. package/code-tool.d.mts +2 -44
  3. package/code-tool.d.mts.map +1 -1
  4. package/code-tool.d.ts +2 -44
  5. package/code-tool.d.ts.map +1 -1
  6. package/code-tool.js +7 -3
  7. package/code-tool.js.map +1 -1
  8. package/code-tool.mjs +7 -3
  9. package/code-tool.mjs.map +1 -1
  10. package/docs-search-tool.d.mts +3 -3
  11. package/docs-search-tool.d.mts.map +1 -1
  12. package/docs-search-tool.d.ts +3 -3
  13. package/docs-search-tool.d.ts.map +1 -1
  14. package/docs-search-tool.js +1 -1
  15. package/docs-search-tool.js.map +1 -1
  16. package/docs-search-tool.mjs +1 -1
  17. package/http.d.mts.map +1 -1
  18. package/http.d.ts.map +1 -1
  19. package/http.js +1 -18
  20. package/http.js.map +1 -1
  21. package/http.mjs +1 -18
  22. package/http.mjs.map +1 -1
  23. package/index.js +4 -40
  24. package/index.js.map +1 -1
  25. package/index.mjs +4 -40
  26. package/index.mjs.map +1 -1
  27. package/options.d.mts +0 -9
  28. package/options.d.mts.map +1 -1
  29. package/options.d.ts +0 -9
  30. package/options.d.ts.map +1 -1
  31. package/options.js +4 -359
  32. package/options.js.map +1 -1
  33. package/options.mjs +4 -359
  34. package/options.mjs.map +1 -1
  35. package/package.json +9 -49
  36. package/server.d.mts +3 -8
  37. package/server.d.mts.map +1 -1
  38. package/server.d.ts +3 -8
  39. package/server.d.ts.map +1 -1
  40. package/server.js +12 -65
  41. package/server.js.map +1 -1
  42. package/server.mjs +11 -62
  43. package/server.mjs.map +1 -1
  44. package/src/code-tool.ts +7 -3
  45. package/src/docs-search-tool.ts +1 -1
  46. package/src/http.ts +1 -19
  47. package/src/index.ts +5 -52
  48. package/src/options.ts +5 -386
  49. package/src/server.ts +12 -72
  50. package/src/stdio.ts +2 -3
  51. package/src/{tools/types.ts → types.ts} +1 -1
  52. package/stdio.d.mts +1 -2
  53. package/stdio.d.mts.map +1 -1
  54. package/stdio.d.ts +1 -2
  55. package/stdio.d.ts.map +1 -1
  56. package/stdio.js +2 -2
  57. package/stdio.js.map +1 -1
  58. package/stdio.mjs +2 -2
  59. package/stdio.mjs.map +1 -1
  60. package/{tools/types.d.mts → types.d.mts} +1 -1
  61. package/types.d.mts.map +1 -0
  62. package/{tools/types.d.ts → types.d.ts} +1 -1
  63. package/types.d.ts.map +1 -0
  64. package/types.js.map +1 -0
  65. package/types.mjs.map +1 -0
  66. package/compat.d.mts +0 -58
  67. package/compat.d.mts.map +0 -1
  68. package/compat.d.ts +0 -58
  69. package/compat.d.ts.map +0 -1
  70. package/compat.js +0 -387
  71. package/compat.js.map +0 -1
  72. package/compat.mjs +0 -378
  73. package/compat.mjs.map +0 -1
  74. package/dynamic-tools.d.mts +0 -12
  75. package/dynamic-tools.d.mts.map +0 -1
  76. package/dynamic-tools.d.ts +0 -12
  77. package/dynamic-tools.d.ts.map +0 -1
  78. package/dynamic-tools.js +0 -135
  79. package/dynamic-tools.js.map +0 -1
  80. package/dynamic-tools.mjs +0 -132
  81. package/dynamic-tools.mjs.map +0 -1
  82. package/filtering.d.mts +0 -3
  83. package/filtering.d.mts.map +0 -1
  84. package/filtering.d.ts +0 -3
  85. package/filtering.d.ts.map +0 -1
  86. package/filtering.js +0 -24
  87. package/filtering.js.map +0 -1
  88. package/filtering.mjs +0 -16
  89. package/filtering.mjs.map +0 -1
  90. package/src/compat.ts +0 -483
  91. package/src/dynamic-tools.ts +0 -153
  92. package/src/filtering.ts +0 -18
  93. package/src/tools/cart/create-cart-checkout.ts +0 -60
  94. package/src/tools/cart/items/add-cart-items.ts +0 -100
  95. package/src/tools/cart/items/clear-cart-items.ts +0 -54
  96. package/src/tools/cart/items/list-cart-items.ts +0 -54
  97. package/src/tools/cart/items/remove-cart-items.ts +0 -57
  98. package/src/tools/index.ts +0 -87
  99. package/src/tools/orders/retrieve-status-orders.ts +0 -54
  100. package/src/tools/products/retrieve-product-details.ts +0 -48
  101. package/src/tools/products/search-products.ts +0 -110
  102. package/src/tools/wallet/collect-payment-details.ts +0 -56
  103. package/src/tools.ts +0 -1
  104. package/tools/cart/create-cart-checkout.d.mts +0 -51
  105. package/tools/cart/create-cart-checkout.d.mts.map +0 -1
  106. package/tools/cart/create-cart-checkout.d.ts +0 -51
  107. package/tools/cart/create-cart-checkout.d.ts.map +0 -1
  108. package/tools/cart/create-cart-checkout.js +0 -60
  109. package/tools/cart/create-cart-checkout.js.map +0 -1
  110. package/tools/cart/create-cart-checkout.mjs +0 -53
  111. package/tools/cart/create-cart-checkout.mjs.map +0 -1
  112. package/tools/cart/items/add-cart-items.d.mts +0 -51
  113. package/tools/cart/items/add-cart-items.d.mts.map +0 -1
  114. package/tools/cart/items/add-cart-items.d.ts +0 -51
  115. package/tools/cart/items/add-cart-items.d.ts.map +0 -1
  116. package/tools/cart/items/add-cart-items.js +0 -98
  117. package/tools/cart/items/add-cart-items.js.map +0 -1
  118. package/tools/cart/items/add-cart-items.mjs +0 -91
  119. package/tools/cart/items/add-cart-items.mjs.map +0 -1
  120. package/tools/cart/items/clear-cart-items.d.mts +0 -51
  121. package/tools/cart/items/clear-cart-items.d.mts.map +0 -1
  122. package/tools/cart/items/clear-cart-items.d.ts +0 -51
  123. package/tools/cart/items/clear-cart-items.d.ts.map +0 -1
  124. package/tools/cart/items/clear-cart-items.js +0 -54
  125. package/tools/cart/items/clear-cart-items.js.map +0 -1
  126. package/tools/cart/items/clear-cart-items.mjs +0 -47
  127. package/tools/cart/items/clear-cart-items.mjs.map +0 -1
  128. package/tools/cart/items/list-cart-items.d.mts +0 -51
  129. package/tools/cart/items/list-cart-items.d.mts.map +0 -1
  130. package/tools/cart/items/list-cart-items.d.ts +0 -51
  131. package/tools/cart/items/list-cart-items.d.ts.map +0 -1
  132. package/tools/cart/items/list-cart-items.js +0 -54
  133. package/tools/cart/items/list-cart-items.js.map +0 -1
  134. package/tools/cart/items/list-cart-items.mjs +0 -47
  135. package/tools/cart/items/list-cart-items.mjs.map +0 -1
  136. package/tools/cart/items/remove-cart-items.d.mts +0 -51
  137. package/tools/cart/items/remove-cart-items.d.mts.map +0 -1
  138. package/tools/cart/items/remove-cart-items.d.ts +0 -51
  139. package/tools/cart/items/remove-cart-items.d.ts.map +0 -1
  140. package/tools/cart/items/remove-cart-items.js +0 -57
  141. package/tools/cart/items/remove-cart-items.js.map +0 -1
  142. package/tools/cart/items/remove-cart-items.mjs +0 -50
  143. package/tools/cart/items/remove-cart-items.mjs.map +0 -1
  144. package/tools/index.d.mts +0 -10
  145. package/tools/index.d.mts.map +0 -1
  146. package/tools/index.d.ts +0 -10
  147. package/tools/index.d.ts.map +0 -1
  148. package/tools/index.js +0 -71
  149. package/tools/index.js.map +0 -1
  150. package/tools/index.mjs +0 -64
  151. package/tools/index.mjs.map +0 -1
  152. package/tools/orders/retrieve-status-orders.d.mts +0 -51
  153. package/tools/orders/retrieve-status-orders.d.mts.map +0 -1
  154. package/tools/orders/retrieve-status-orders.d.ts +0 -51
  155. package/tools/orders/retrieve-status-orders.d.ts.map +0 -1
  156. package/tools/orders/retrieve-status-orders.js +0 -54
  157. package/tools/orders/retrieve-status-orders.js.map +0 -1
  158. package/tools/orders/retrieve-status-orders.mjs +0 -47
  159. package/tools/orders/retrieve-status-orders.mjs.map +0 -1
  160. package/tools/products/retrieve-product-details.d.mts +0 -51
  161. package/tools/products/retrieve-product-details.d.mts.map +0 -1
  162. package/tools/products/retrieve-product-details.d.ts +0 -51
  163. package/tools/products/retrieve-product-details.d.ts.map +0 -1
  164. package/tools/products/retrieve-product-details.js +0 -49
  165. package/tools/products/retrieve-product-details.js.map +0 -1
  166. package/tools/products/retrieve-product-details.mjs +0 -42
  167. package/tools/products/retrieve-product-details.mjs.map +0 -1
  168. package/tools/products/search-products.d.mts +0 -51
  169. package/tools/products/search-products.d.mts.map +0 -1
  170. package/tools/products/search-products.d.ts +0 -51
  171. package/tools/products/search-products.d.ts.map +0 -1
  172. package/tools/products/search-products.js +0 -110
  173. package/tools/products/search-products.js.map +0 -1
  174. package/tools/products/search-products.mjs +0 -103
  175. package/tools/products/search-products.mjs.map +0 -1
  176. package/tools/types.d.mts.map +0 -1
  177. package/tools/types.d.ts.map +0 -1
  178. package/tools/types.js.map +0 -1
  179. package/tools/types.mjs.map +0 -1
  180. package/tools/wallet/collect-payment-details.d.mts +0 -51
  181. package/tools/wallet/collect-payment-details.d.mts.map +0 -1
  182. package/tools/wallet/collect-payment-details.d.ts +0 -51
  183. package/tools/wallet/collect-payment-details.d.ts.map +0 -1
  184. package/tools/wallet/collect-payment-details.js +0 -56
  185. package/tools/wallet/collect-payment-details.js.map +0 -1
  186. package/tools/wallet/collect-payment-details.mjs +0 -49
  187. package/tools/wallet/collect-payment-details.mjs.map +0 -1
  188. package/tools.d.mts +0 -2
  189. package/tools.d.mts.map +0 -1
  190. package/tools.d.ts +0 -2
  191. package/tools.d.ts.map +0 -1
  192. package/tools.js +0 -18
  193. package/tools.js.map +0 -1
  194. package/tools.mjs +0 -2
  195. package/tools.mjs.map +0 -1
  196. /package/{tools/types.js → types.js} +0 -0
  197. /package/{tools/types.mjs → types.mjs} +0 -0
@@ -1,47 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import { isJqError, maybeFilter } from '@henrylabs/mcp/filtering';
3
- import { asErrorResult, asTextContentResult } from '@henrylabs/mcp/tools/types';
4
- import HenrySDK from '@henrylabs/sdk';
5
- export const metadata = {
6
- resource: 'cart.items',
7
- operation: 'read',
8
- tags: [],
9
- httpMethod: 'get',
10
- httpPath: '/cart/items',
11
- operationId: 'getCartItems',
12
- };
13
- export const tool = {
14
- name: 'list_cart_items',
15
- description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve all products currently in the user's cart.\n\nReturns products array with:\n- name, price, productLink, quantity\n- productId (if provided when added)\n- metadata (variant selections)\n- productImageLink (thumbnail)\n- affiliateProductLink (if used)\n\nUse this to:\n- Show cart contents before checkout\n- Calculate totals\n- Verify items before creating checkout\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/item_list_response',\n $defs: {\n item_list_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n products: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'Product name'\n },\n price: {\n type: 'string',\n description: 'Product price'\n },\n productLink: {\n type: 'string',\n description: 'Product link'\n },\n quantity: {\n type: 'number',\n description: 'Quantity'\n },\n affiliateProductLink: {\n type: 'string',\n description: 'Affiliate product link (if provided, will be used instead of productLink for order fulfillment)'\n },\n metadata: {\n type: 'object',\n description: 'Product metadata',\n additionalProperties: true\n },\n productId: {\n type: 'string',\n description: 'Product Id'\n },\n productImageLink: {\n type: 'string',\n description: 'Product image link (thumbnail)'\n }\n },\n required: [ 'name',\n 'price',\n 'productLink',\n 'quantity'\n ]\n }\n }\n },\n required: [ 'products'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
16
- inputSchema: {
17
- type: 'object',
18
- properties: {
19
- 'x-user-id': {
20
- type: 'string',
21
- },
22
- jq_filter: {
23
- type: 'string',
24
- title: 'jq Filter',
25
- description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
26
- },
27
- },
28
- required: ['x-user-id'],
29
- },
30
- annotations: {
31
- readOnlyHint: true,
32
- },
33
- };
34
- export const handler = async (client, args) => {
35
- const { jq_filter, ...body } = args;
36
- try {
37
- return asTextContentResult(await maybeFilter(jq_filter, await client.cart.items.list(body)));
38
- }
39
- catch (error) {
40
- if (error instanceof HenrySDK.APIError || isJqError(error)) {
41
- return asErrorResult(error.message);
42
- }
43
- throw error;
44
- }
45
- };
46
- export default { metadata, tool, handler };
47
- //# sourceMappingURL=list-cart-items.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-cart-items.mjs","sourceRoot":"","sources":["../../../src/tools/cart/items/list-cart-items.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC1D,EAAY,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OAGlF,QAAQ,MAAM,gBAAgB;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,ytFAAytF;IAC3tF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
@@ -1,51 +0,0 @@
1
- import { Metadata } from '@henrylabs/mcp/tools/types';
2
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
- import HenrySDK from '@henrylabs/sdk';
4
- export declare const metadata: Metadata;
5
- export declare const tool: Tool;
6
- export declare const handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
7
- declare const _default: {
8
- metadata: Metadata;
9
- tool: {
10
- inputSchema: {
11
- [x: string]: unknown;
12
- type: "object";
13
- properties?: {
14
- [x: string]: object;
15
- } | undefined;
16
- required?: string[] | undefined;
17
- };
18
- name: string;
19
- description?: string | undefined;
20
- outputSchema?: {
21
- [x: string]: unknown;
22
- type: "object";
23
- properties?: {
24
- [x: string]: object;
25
- } | undefined;
26
- required?: string[] | undefined;
27
- } | undefined;
28
- annotations?: {
29
- title?: string | undefined;
30
- readOnlyHint?: boolean | undefined;
31
- destructiveHint?: boolean | undefined;
32
- idempotentHint?: boolean | undefined;
33
- openWorldHint?: boolean | undefined;
34
- } | undefined;
35
- execution?: {
36
- taskSupport?: "optional" | "required" | "forbidden" | undefined;
37
- } | undefined;
38
- _meta?: {
39
- [x: string]: unknown;
40
- } | undefined;
41
- icons?: {
42
- src: string;
43
- mimeType?: string | undefined;
44
- sizes?: string[] | undefined;
45
- }[] | undefined;
46
- title?: string | undefined;
47
- };
48
- handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
49
- };
50
- export default _default;
51
- //# sourceMappingURL=remove-cart-items.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-cart-items.d.mts","sourceRoot":"","sources":["../../../src/tools/cart/items/remove-cart-items.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,4BAA4B;OAElF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAyBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAUxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYzF,wBAA2C"}
@@ -1,51 +0,0 @@
1
- import { Metadata } from '@henrylabs/mcp/tools/types';
2
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
- import HenrySDK from '@henrylabs/sdk';
4
- export declare const metadata: Metadata;
5
- export declare const tool: Tool;
6
- export declare const handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
7
- declare const _default: {
8
- metadata: Metadata;
9
- tool: {
10
- inputSchema: {
11
- [x: string]: unknown;
12
- type: "object";
13
- properties?: {
14
- [x: string]: object;
15
- } | undefined;
16
- required?: string[] | undefined;
17
- };
18
- name: string;
19
- description?: string | undefined;
20
- outputSchema?: {
21
- [x: string]: unknown;
22
- type: "object";
23
- properties?: {
24
- [x: string]: object;
25
- } | undefined;
26
- required?: string[] | undefined;
27
- } | undefined;
28
- annotations?: {
29
- title?: string | undefined;
30
- readOnlyHint?: boolean | undefined;
31
- destructiveHint?: boolean | undefined;
32
- idempotentHint?: boolean | undefined;
33
- openWorldHint?: boolean | undefined;
34
- } | undefined;
35
- execution?: {
36
- taskSupport?: "optional" | "required" | "forbidden" | undefined;
37
- } | undefined;
38
- _meta?: {
39
- [x: string]: unknown;
40
- } | undefined;
41
- icons?: {
42
- src: string;
43
- mimeType?: string | undefined;
44
- sizes?: string[] | undefined;
45
- }[] | undefined;
46
- title?: string | undefined;
47
- };
48
- handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
49
- };
50
- export default _default;
51
- //# sourceMappingURL=remove-cart-items.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-cart-items.d.ts","sourceRoot":"","sources":["../../../src/tools/cart/items/remove-cart-items.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,4BAA4B;OAElF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAyBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAUxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYzF,wBAA2C"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.handler = exports.tool = exports.metadata = void 0;
8
- const filtering_1 = require("@henrylabs/mcp/filtering");
9
- const types_1 = require("@henrylabs/mcp/tools/types");
10
- const sdk_1 = __importDefault(require("@henrylabs/sdk"));
11
- exports.metadata = {
12
- resource: 'cart.items',
13
- operation: 'write',
14
- tags: [],
15
- httpMethod: 'delete',
16
- httpPath: '/cart/items/{productId}',
17
- operationId: 'deleteCartItem',
18
- };
19
- exports.tool = {
20
- name: 'remove_cart_items',
21
- description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRemove a specific product from the cart by its productId.\n\nRequired: productId (must match the ID used when adding item)\n\nReturns success confirmation message.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/item_remove_response',\n $defs: {\n item_remove_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- productId: {
26
- type: 'string',
27
- },
28
- 'x-user-id': {
29
- type: 'string',
30
- },
31
- jq_filter: {
32
- type: 'string',
33
- title: 'jq Filter',
34
- description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
35
- },
36
- },
37
- required: ['productId', 'x-user-id'],
38
- },
39
- annotations: {
40
- idempotentHint: true,
41
- },
42
- };
43
- const handler = async (client, args) => {
44
- const { productId, jq_filter, ...body } = args;
45
- try {
46
- return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.cart.items.remove(productId, body)));
47
- }
48
- catch (error) {
49
- if (error instanceof sdk_1.default.APIError || (0, filtering_1.isJqError)(error)) {
50
- return (0, types_1.asErrorResult)(error.message);
51
- }
52
- throw error;
53
- }
54
- };
55
- exports.handler = handler;
56
- exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
57
- //# sourceMappingURL=remove-cart-items.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-cart-items.js","sourceRoot":"","sources":["../../../src/tools/cart/items/remove-cart-items.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;AAEtF,wDAAkE;AAClE,sDAA0F;AAG1F,yDAAsC;AAEzB,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6wBAA6wB;IAC/wB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;aACf;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KACrC;IACD,WAAW,EAAE;QACX,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAQ,CAAC,QAAQ,IAAI,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
@@ -1,50 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import { isJqError, maybeFilter } from '@henrylabs/mcp/filtering';
3
- import { asErrorResult, asTextContentResult } from '@henrylabs/mcp/tools/types';
4
- import HenrySDK from '@henrylabs/sdk';
5
- export const metadata = {
6
- resource: 'cart.items',
7
- operation: 'write',
8
- tags: [],
9
- httpMethod: 'delete',
10
- httpPath: '/cart/items/{productId}',
11
- operationId: 'deleteCartItem',
12
- };
13
- export const tool = {
14
- name: 'remove_cart_items',
15
- description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRemove a specific product from the cart by its productId.\n\nRequired: productId (must match the ID used when adding item)\n\nReturns success confirmation message.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/item_remove_response',\n $defs: {\n item_remove_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
16
- inputSchema: {
17
- type: 'object',
18
- properties: {
19
- productId: {
20
- type: 'string',
21
- },
22
- 'x-user-id': {
23
- type: 'string',
24
- },
25
- jq_filter: {
26
- type: 'string',
27
- title: 'jq Filter',
28
- description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
29
- },
30
- },
31
- required: ['productId', 'x-user-id'],
32
- },
33
- annotations: {
34
- idempotentHint: true,
35
- },
36
- };
37
- export const handler = async (client, args) => {
38
- const { productId, jq_filter, ...body } = args;
39
- try {
40
- return asTextContentResult(await maybeFilter(jq_filter, await client.cart.items.remove(productId, body)));
41
- }
42
- catch (error) {
43
- if (error instanceof HenrySDK.APIError || isJqError(error)) {
44
- return asErrorResult(error.message);
45
- }
46
- throw error;
47
- }
48
- };
49
- export default { metadata, tool, handler };
50
- //# sourceMappingURL=remove-cart-items.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-cart-items.mjs","sourceRoot":"","sources":["../../../src/tools/cart/items/remove-cart-items.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC1D,EAAY,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OAGlF,QAAQ,MAAM,gBAAgB;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6wBAA6wB;IAC/wB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;aACf;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KACrC;IACD,WAAW,EAAE;QACX,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
package/tools/index.d.mts DELETED
@@ -1,10 +0,0 @@
1
- import { Metadata, Endpoint, HandlerFunction } from "./types.mjs";
2
- export { Metadata, Endpoint, HandlerFunction };
3
- export declare const endpoints: Endpoint[];
4
- export type Filter = {
5
- type: 'resource' | 'operation' | 'tag' | 'tool';
6
- op: 'include' | 'exclude';
7
- value: string;
8
- };
9
- export declare function query(filters: Filter[], endpoints: Endpoint[]): Endpoint[];
10
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/tools/index.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE;AAE9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAY/C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAAO,CAAC;AAgBxC,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;IAChD,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CA4B1E"}
package/tools/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { Metadata, Endpoint, HandlerFunction } from "./types.js";
2
- export { Metadata, Endpoint, HandlerFunction };
3
- export declare const endpoints: Endpoint[];
4
- export type Filter = {
5
- type: 'resource' | 'operation' | 'tag' | 'tool';
6
- op: 'include' | 'exclude';
7
- value: string;
8
- };
9
- export declare function query(filters: Filter[], endpoints: Endpoint[]): Endpoint[];
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/tools/index.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE;AAE9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAY/C,eAAO,MAAM,SAAS,EAAE,QAAQ,EAAO,CAAC;AAgBxC,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;IAChD,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CA4B1E"}
package/tools/index.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.endpoints = void 0;
8
- exports.query = query;
9
- const retrieve_product_details_1 = __importDefault(require("./products/retrieve-product-details.js"));
10
- const search_products_1 = __importDefault(require("./products/search-products.js"));
11
- const create_cart_checkout_1 = __importDefault(require("./cart/create-cart-checkout.js"));
12
- const list_cart_items_1 = __importDefault(require("./cart/items/list-cart-items.js"));
13
- const add_cart_items_1 = __importDefault(require("./cart/items/add-cart-items.js"));
14
- const clear_cart_items_1 = __importDefault(require("./cart/items/clear-cart-items.js"));
15
- const remove_cart_items_1 = __importDefault(require("./cart/items/remove-cart-items.js"));
16
- const retrieve_status_orders_1 = __importDefault(require("./orders/retrieve-status-orders.js"));
17
- const collect_payment_details_1 = __importDefault(require("./wallet/collect-payment-details.js"));
18
- exports.endpoints = [];
19
- function addEndpoint(endpoint) {
20
- exports.endpoints.push(endpoint);
21
- }
22
- addEndpoint(retrieve_product_details_1.default);
23
- addEndpoint(search_products_1.default);
24
- addEndpoint(create_cart_checkout_1.default);
25
- addEndpoint(list_cart_items_1.default);
26
- addEndpoint(add_cart_items_1.default);
27
- addEndpoint(clear_cart_items_1.default);
28
- addEndpoint(remove_cart_items_1.default);
29
- addEndpoint(retrieve_status_orders_1.default);
30
- addEndpoint(collect_payment_details_1.default);
31
- function query(filters, endpoints) {
32
- const allExcludes = filters.length > 0 && filters.every((filter) => filter.op === 'exclude');
33
- const unmatchedFilters = new Set(filters);
34
- const filtered = endpoints.filter((endpoint) => {
35
- let included = false || allExcludes;
36
- for (const filter of filters) {
37
- if (match(filter, endpoint)) {
38
- unmatchedFilters.delete(filter);
39
- included = filter.op === 'include';
40
- }
41
- }
42
- return included;
43
- });
44
- // Check if any filters didn't match
45
- const unmatched = Array.from(unmatchedFilters).filter((f) => f.type === 'tool' || f.type === 'resource');
46
- if (unmatched.length > 0) {
47
- throw new Error(`The following filters did not match any endpoints: ${unmatched
48
- .map((f) => `${f.type}=${f.value}`)
49
- .join(', ')}`);
50
- }
51
- return filtered;
52
- }
53
- function match({ type, value }, endpoint) {
54
- switch (type) {
55
- case 'resource': {
56
- const regexStr = '^' + normalizeResource(value).replace(/\*/g, '.*') + '$';
57
- const regex = new RegExp(regexStr);
58
- return regex.test(normalizeResource(endpoint.metadata.resource));
59
- }
60
- case 'operation':
61
- return endpoint.metadata.operation === value;
62
- case 'tag':
63
- return endpoint.metadata.tags.includes(value);
64
- case 'tool':
65
- return endpoint.tool.name === value;
66
- }
67
- }
68
- function normalizeResource(resource) {
69
- return resource.toLowerCase().replace(/[^a-z.*\-_]*/g, '');
70
- }
71
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/tools/index.ts"],"names":[],"mappings":"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"}
package/tools/index.mjs DELETED
@@ -1,64 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import retrieve_product_details from "./products/retrieve-product-details.mjs";
3
- import search_products from "./products/search-products.mjs";
4
- import create_cart_checkout from "./cart/create-cart-checkout.mjs";
5
- import list_cart_items from "./cart/items/list-cart-items.mjs";
6
- import add_cart_items from "./cart/items/add-cart-items.mjs";
7
- import clear_cart_items from "./cart/items/clear-cart-items.mjs";
8
- import remove_cart_items from "./cart/items/remove-cart-items.mjs";
9
- import retrieve_status_orders from "./orders/retrieve-status-orders.mjs";
10
- import collect_payment_details from "./wallet/collect-payment-details.mjs";
11
- export const endpoints = [];
12
- function addEndpoint(endpoint) {
13
- endpoints.push(endpoint);
14
- }
15
- addEndpoint(retrieve_product_details);
16
- addEndpoint(search_products);
17
- addEndpoint(create_cart_checkout);
18
- addEndpoint(list_cart_items);
19
- addEndpoint(add_cart_items);
20
- addEndpoint(clear_cart_items);
21
- addEndpoint(remove_cart_items);
22
- addEndpoint(retrieve_status_orders);
23
- addEndpoint(collect_payment_details);
24
- export function query(filters, endpoints) {
25
- const allExcludes = filters.length > 0 && filters.every((filter) => filter.op === 'exclude');
26
- const unmatchedFilters = new Set(filters);
27
- const filtered = endpoints.filter((endpoint) => {
28
- let included = false || allExcludes;
29
- for (const filter of filters) {
30
- if (match(filter, endpoint)) {
31
- unmatchedFilters.delete(filter);
32
- included = filter.op === 'include';
33
- }
34
- }
35
- return included;
36
- });
37
- // Check if any filters didn't match
38
- const unmatched = Array.from(unmatchedFilters).filter((f) => f.type === 'tool' || f.type === 'resource');
39
- if (unmatched.length > 0) {
40
- throw new Error(`The following filters did not match any endpoints: ${unmatched
41
- .map((f) => `${f.type}=${f.value}`)
42
- .join(', ')}`);
43
- }
44
- return filtered;
45
- }
46
- function match({ type, value }, endpoint) {
47
- switch (type) {
48
- case 'resource': {
49
- const regexStr = '^' + normalizeResource(value).replace(/\*/g, '.*') + '$';
50
- const regex = new RegExp(regexStr);
51
- return regex.test(normalizeResource(endpoint.metadata.resource));
52
- }
53
- case 'operation':
54
- return endpoint.metadata.operation === value;
55
- case 'tag':
56
- return endpoint.metadata.tags.includes(value);
57
- case 'tool':
58
- return endpoint.tool.name === value;
59
- }
60
- }
61
- function normalizeResource(resource) {
62
- return resource.toLowerCase().replace(/[^a-z.*\-_]*/g, '');
63
- }
64
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { Metadata } from '@henrylabs/mcp/tools/types';
2
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
- import HenrySDK from '@henrylabs/sdk';
4
- export declare const metadata: Metadata;
5
- export declare const tool: Tool;
6
- export declare const handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
7
- declare const _default: {
8
- metadata: Metadata;
9
- tool: {
10
- inputSchema: {
11
- [x: string]: unknown;
12
- type: "object";
13
- properties?: {
14
- [x: string]: object;
15
- } | undefined;
16
- required?: string[] | undefined;
17
- };
18
- name: string;
19
- description?: string | undefined;
20
- outputSchema?: {
21
- [x: string]: unknown;
22
- type: "object";
23
- properties?: {
24
- [x: string]: object;
25
- } | undefined;
26
- required?: string[] | undefined;
27
- } | undefined;
28
- annotations?: {
29
- title?: string | undefined;
30
- readOnlyHint?: boolean | undefined;
31
- destructiveHint?: boolean | undefined;
32
- idempotentHint?: boolean | undefined;
33
- openWorldHint?: boolean | undefined;
34
- } | undefined;
35
- execution?: {
36
- taskSupport?: "optional" | "required" | "forbidden" | undefined;
37
- } | undefined;
38
- _meta?: {
39
- [x: string]: unknown;
40
- } | undefined;
41
- icons?: {
42
- src: string;
43
- mimeType?: string | undefined;
44
- sizes?: string[] | undefined;
45
- }[] | undefined;
46
- title?: string | undefined;
47
- };
48
- handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
49
- };
50
- export default _default;
51
- //# sourceMappingURL=retrieve-status-orders.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retrieve-status-orders.d.mts","sourceRoot":"","sources":["../../src/tools/orders/retrieve-status-orders.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,4BAA4B;OAElF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAsBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAUxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYzF,wBAA2C"}
@@ -1,51 +0,0 @@
1
- import { Metadata } from '@henrylabs/mcp/tools/types';
2
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
- import HenrySDK from '@henrylabs/sdk';
4
- export declare const metadata: Metadata;
5
- export declare const tool: Tool;
6
- export declare const handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
7
- declare const _default: {
8
- metadata: Metadata;
9
- tool: {
10
- inputSchema: {
11
- [x: string]: unknown;
12
- type: "object";
13
- properties?: {
14
- [x: string]: object;
15
- } | undefined;
16
- required?: string[] | undefined;
17
- };
18
- name: string;
19
- description?: string | undefined;
20
- outputSchema?: {
21
- [x: string]: unknown;
22
- type: "object";
23
- properties?: {
24
- [x: string]: object;
25
- } | undefined;
26
- required?: string[] | undefined;
27
- } | undefined;
28
- annotations?: {
29
- title?: string | undefined;
30
- readOnlyHint?: boolean | undefined;
31
- destructiveHint?: boolean | undefined;
32
- idempotentHint?: boolean | undefined;
33
- openWorldHint?: boolean | undefined;
34
- } | undefined;
35
- execution?: {
36
- taskSupport?: "optional" | "required" | "forbidden" | undefined;
37
- } | undefined;
38
- _meta?: {
39
- [x: string]: unknown;
40
- } | undefined;
41
- icons?: {
42
- src: string;
43
- mimeType?: string | undefined;
44
- sizes?: string[] | undefined;
45
- }[] | undefined;
46
- title?: string | undefined;
47
- };
48
- handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
49
- };
50
- export default _default;
51
- //# sourceMappingURL=retrieve-status-orders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retrieve-status-orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders/retrieve-status-orders.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,4BAA4B;OAElF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAsBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAUxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAYzF,wBAA2C"}