conductor-node-mcp 12.23.1 → 12.25.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 (44) hide show
  1. package/README.md +15 -4
  2. package/package.json +2 -2
  3. package/server.js +1 -1
  4. package/server.mjs +1 -1
  5. package/src/server.ts +1 -1
  6. package/src/tools/index.ts +6 -0
  7. package/src/tools/qbd/sales-receipts/create-qbd-sales-receipts.ts +5 -5
  8. package/src/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.ts +120 -0
  9. package/src/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.ts +102 -0
  10. package/src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts +54 -0
  11. package/tools/index.d.mts.map +1 -1
  12. package/tools/index.d.ts.map +1 -1
  13. package/tools/index.js +6 -0
  14. package/tools/index.js.map +1 -1
  15. package/tools/index.mjs +6 -0
  16. package/tools/index.mjs.map +1 -1
  17. package/tools/qbd/sales-receipts/create-qbd-sales-receipts.js +5 -5
  18. package/tools/qbd/sales-receipts/create-qbd-sales-receipts.js.map +1 -1
  19. package/tools/qbd/sales-receipts/create-qbd-sales-receipts.mjs +5 -5
  20. package/tools/qbd/sales-receipts/create-qbd-sales-receipts.mjs.map +1 -1
  21. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.d.mts +45 -0
  22. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.d.mts.map +1 -0
  23. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.d.ts +45 -0
  24. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.d.ts.map +1 -0
  25. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.js +103 -0
  26. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.js.map +1 -0
  27. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.mjs +99 -0
  28. package/tools/qbd/unit-of-measure-sets/create-qbd-unit-of-measure-sets.mjs.map +1 -0
  29. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.d.mts +45 -0
  30. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.d.mts.map +1 -0
  31. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.d.ts +45 -0
  32. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.d.ts.map +1 -0
  33. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.js +87 -0
  34. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.js.map +1 -0
  35. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.mjs +83 -0
  36. package/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.mjs.map +1 -0
  37. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.d.mts +45 -0
  38. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.d.mts.map +1 -0
  39. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.d.ts +45 -0
  40. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.d.ts.map +1 -0
  41. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.js +46 -0
  42. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.js.map +1 -0
  43. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.mjs +42 -0
  44. package/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.mjs.map +1 -0
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.handler = exports.tool = exports.metadata = void 0;
5
+ const types_1 = require("conductor-node-mcp/tools/types");
6
+ exports.metadata = {
7
+ resource: 'qbd.unit_of_measure_sets',
8
+ operation: 'read',
9
+ tags: [],
10
+ httpMethod: 'get',
11
+ httpPath: '/quickbooks-desktop/unit-of-measure-sets',
12
+ };
13
+ exports.tool = {
14
+ name: 'list_qbd_unit_of_measure_sets',
15
+ description: 'Lists all unit-of-measure sets. NOTE: QuickBooks Desktop does not support pagination for unit-of-measure sets; hence, there is no cursor parameter. Users typically have few unit-of-measure sets.\n\nNOTE: The QuickBooks company file must have unit-of-measure enabled (either a single unit per item or multiple units per item).',
16
+ inputSchema: {
17
+ type: 'object',
18
+ properties: {
19
+ conductorEndUserId: {
20
+ type: 'string',
21
+ description: 'The ID of the EndUser to receive this request (e.g., `"Conductor-End-User-Id: {{END_USER_ID}}"`).',
22
+ },
23
+ ids: {
24
+ type: 'array',
25
+ description: 'Filter for specific unit-of-measure sets by their QuickBooks-assigned unique identifier(s).\n\n**IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request.\n\n**NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.',
26
+ items: {
27
+ type: 'string',
28
+ },
29
+ },
30
+ limit: {
31
+ type: 'integer',
32
+ description: 'The maximum number of objects to return.\n\n**IMPORTANT**: QuickBooks Desktop does not support cursor-based pagination for unit-of-measure sets. This parameter will limit the response size, but you cannot fetch subsequent results using a cursor. For pagination, use the name-range parameters instead (e.g., `nameFrom=A&nameTo=B`).\n\nWhen this parameter is omitted, the endpoint returns all unit-of-measure sets without limit, unlike paginated endpoints which default to 150 records. This is acceptable because unit-of-measure sets typically have low record counts.',
33
+ },
34
+ nameContains: {
35
+ type: 'string',
36
+ description: 'Filter for unit-of-measure sets whose `name` contains this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameStartsWith` or `nameEndsWith`.',
37
+ },
38
+ nameEndsWith: {
39
+ type: 'string',
40
+ description: 'Filter for unit-of-measure sets whose `name` ends with this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameStartsWith`.',
41
+ },
42
+ nameFrom: {
43
+ type: 'string',
44
+ description: 'Filter for unit-of-measure sets whose `name` is alphabetically greater than or equal to this value.',
45
+ },
46
+ names: {
47
+ type: 'array',
48
+ description: 'Filter for specific unit-of-measure sets by their name(s), case-insensitive. Like `id`, `name` is a unique identifier for an unit-of-measure set.\n\n**IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request.\n\n**NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.',
49
+ items: {
50
+ type: 'string',
51
+ },
52
+ },
53
+ nameStartsWith: {
54
+ type: 'string',
55
+ description: 'Filter for unit-of-measure sets whose `name` starts with this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameEndsWith`.',
56
+ },
57
+ nameTo: {
58
+ type: 'string',
59
+ description: 'Filter for unit-of-measure sets whose `name` is alphabetically less than or equal to this value.',
60
+ },
61
+ status: {
62
+ type: 'string',
63
+ description: 'Filter for unit-of-measure sets that are active, inactive, or both.',
64
+ enum: ['active', 'all', 'inactive'],
65
+ },
66
+ updatedAfter: {
67
+ type: 'string',
68
+ description: 'Filter for unit-of-measure sets updated on or after this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 00:00:00 of that day.',
69
+ },
70
+ updatedBefore: {
71
+ type: 'string',
72
+ description: 'Filter for unit-of-measure sets updated on or before this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 23:59:59 of that day.',
73
+ },
74
+ },
75
+ required: ['conductorEndUserId'],
76
+ },
77
+ annotations: {
78
+ readOnlyHint: true,
79
+ },
80
+ };
81
+ const handler = async (conductor, args) => {
82
+ const body = args;
83
+ return (0, types_1.asTextContentResult)(await conductor.qbd.unitOfMeasureSets.list(body));
84
+ };
85
+ exports.handler = handler;
86
+ exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
87
+ //# sourceMappingURL=list-qbd-unit-of-measure-sets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-qbd-unit-of-measure-sets.js","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,0DAA+E;AAKlE,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,0BAA0B;IACpC,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,0CAA0C;CACrD,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,uUAAuU;IACzU,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,mUAAmU;gBACrU,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,ujBAAujB;aAC1jB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yLAAyL;aAC5L;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0LAA0L;aAC7L;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qGAAqG;aACxG;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,yXAAyX;gBAC3X,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0LAA0L;aAC7L;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kGAAkG;aACrG;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;aACpC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,4MAA4M;aAC/M;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6MAA6M;aAChN;SACF;QACD,QAAQ,EAAE,CAAC,oBAAoB,CAAC;KACjC;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,SAAoB,EAAE,IAAyC,EAAE,EAAE;IAC/F,MAAM,IAAI,GAAG,IAAW,CAAC;IACzB,OAAO,IAAA,2BAAmB,EAAC,MAAM,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
@@ -0,0 +1,83 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { asTextContentResult } from 'conductor-node-mcp/tools/types';
3
+ export const metadata = {
4
+ resource: 'qbd.unit_of_measure_sets',
5
+ operation: 'read',
6
+ tags: [],
7
+ httpMethod: 'get',
8
+ httpPath: '/quickbooks-desktop/unit-of-measure-sets',
9
+ };
10
+ export const tool = {
11
+ name: 'list_qbd_unit_of_measure_sets',
12
+ description: 'Lists all unit-of-measure sets. NOTE: QuickBooks Desktop does not support pagination for unit-of-measure sets; hence, there is no cursor parameter. Users typically have few unit-of-measure sets.\n\nNOTE: The QuickBooks company file must have unit-of-measure enabled (either a single unit per item or multiple units per item).',
13
+ inputSchema: {
14
+ type: 'object',
15
+ properties: {
16
+ conductorEndUserId: {
17
+ type: 'string',
18
+ description: 'The ID of the EndUser to receive this request (e.g., `"Conductor-End-User-Id: {{END_USER_ID}}"`).',
19
+ },
20
+ ids: {
21
+ type: 'array',
22
+ description: 'Filter for specific unit-of-measure sets by their QuickBooks-assigned unique identifier(s).\n\n**IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request.\n\n**NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.',
23
+ items: {
24
+ type: 'string',
25
+ },
26
+ },
27
+ limit: {
28
+ type: 'integer',
29
+ description: 'The maximum number of objects to return.\n\n**IMPORTANT**: QuickBooks Desktop does not support cursor-based pagination for unit-of-measure sets. This parameter will limit the response size, but you cannot fetch subsequent results using a cursor. For pagination, use the name-range parameters instead (e.g., `nameFrom=A&nameTo=B`).\n\nWhen this parameter is omitted, the endpoint returns all unit-of-measure sets without limit, unlike paginated endpoints which default to 150 records. This is acceptable because unit-of-measure sets typically have low record counts.',
30
+ },
31
+ nameContains: {
32
+ type: 'string',
33
+ description: 'Filter for unit-of-measure sets whose `name` contains this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameStartsWith` or `nameEndsWith`.',
34
+ },
35
+ nameEndsWith: {
36
+ type: 'string',
37
+ description: 'Filter for unit-of-measure sets whose `name` ends with this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameStartsWith`.',
38
+ },
39
+ nameFrom: {
40
+ type: 'string',
41
+ description: 'Filter for unit-of-measure sets whose `name` is alphabetically greater than or equal to this value.',
42
+ },
43
+ names: {
44
+ type: 'array',
45
+ description: 'Filter for specific unit-of-measure sets by their name(s), case-insensitive. Like `id`, `name` is a unique identifier for an unit-of-measure set.\n\n**IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request.\n\n**NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.',
46
+ items: {
47
+ type: 'string',
48
+ },
49
+ },
50
+ nameStartsWith: {
51
+ type: 'string',
52
+ description: 'Filter for unit-of-measure sets whose `name` starts with this substring, case-insensitive.\n\n**NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameEndsWith`.',
53
+ },
54
+ nameTo: {
55
+ type: 'string',
56
+ description: 'Filter for unit-of-measure sets whose `name` is alphabetically less than or equal to this value.',
57
+ },
58
+ status: {
59
+ type: 'string',
60
+ description: 'Filter for unit-of-measure sets that are active, inactive, or both.',
61
+ enum: ['active', 'all', 'inactive'],
62
+ },
63
+ updatedAfter: {
64
+ type: 'string',
65
+ description: 'Filter for unit-of-measure sets updated on or after this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 00:00:00 of that day.',
66
+ },
67
+ updatedBefore: {
68
+ type: 'string',
69
+ description: 'Filter for unit-of-measure sets updated on or before this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 23:59:59 of that day.',
70
+ },
71
+ },
72
+ required: ['conductorEndUserId'],
73
+ },
74
+ annotations: {
75
+ readOnlyHint: true,
76
+ },
77
+ };
78
+ export const handler = async (conductor, args) => {
79
+ const body = args;
80
+ return asTextContentResult(await conductor.qbd.unitOfMeasureSets.list(body));
81
+ };
82
+ export default { metadata, tool, handler };
83
+ //# sourceMappingURL=list-qbd-unit-of-measure-sets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-qbd-unit-of-measure-sets.mjs","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/list-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAY,mBAAmB,EAAE,MAAM,gCAAgC;AAK9E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,0BAA0B;IACpC,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,0CAA0C;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,uUAAuU;IACzU,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,mUAAmU;gBACrU,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,ujBAAujB;aAC1jB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yLAAyL;aAC5L;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0LAA0L;aAC7L;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qGAAqG;aACxG;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,yXAAyX;gBAC3X,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0LAA0L;aAC7L;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kGAAkG;aACrG;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;aACpC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,4MAA4M;aAC/M;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6MAA6M;aAChN;SACF;QACD,QAAQ,EAAE,CAAC,oBAAoB,CAAC;KACjC;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,SAAoB,EAAE,IAAyC,EAAE,EAAE;IAC/F,MAAM,IAAI,GAAG,IAAW,CAAC;IACzB,OAAO,mBAAmB,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { Metadata } from 'conductor-node-mcp/tools/types';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import Conductor from 'conductor-node';
4
+ export declare const metadata: Metadata;
5
+ export declare const tool: Tool;
6
+ export declare const handler: (conductor: Conductor, args: Record<string, unknown> | undefined) => Promise<import("conductor-node-mcp/tools/types").ToolCallResult>;
7
+ declare const _default: {
8
+ metadata: Metadata;
9
+ tool: {
10
+ [x: string]: unknown;
11
+ name: string;
12
+ inputSchema: {
13
+ [x: string]: unknown;
14
+ type: "object";
15
+ properties?: {
16
+ [x: string]: unknown;
17
+ } | undefined;
18
+ required?: string[] | undefined;
19
+ };
20
+ title?: string | undefined;
21
+ description?: string | undefined;
22
+ outputSchema?: {
23
+ [x: string]: unknown;
24
+ type: "object";
25
+ properties?: {
26
+ [x: string]: unknown;
27
+ } | undefined;
28
+ required?: string[] | undefined;
29
+ } | undefined;
30
+ annotations?: {
31
+ [x: string]: unknown;
32
+ title?: string | undefined;
33
+ readOnlyHint?: boolean | undefined;
34
+ destructiveHint?: boolean | undefined;
35
+ idempotentHint?: boolean | undefined;
36
+ openWorldHint?: boolean | undefined;
37
+ } | undefined;
38
+ _meta?: {
39
+ [x: string]: unknown;
40
+ } | undefined;
41
+ };
42
+ handler: (conductor: Conductor, args: Record<string, unknown> | undefined) => Promise<import("conductor-node-mcp/tools/types").ToolCallResult>;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=retrieve-qbd-unit-of-measure-sets.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-qbd-unit-of-measure-sets.d.mts","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,gCAAgC;OAEvE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,gBAAgB;AAEtC,eAAO,MAAM,QAAQ,EAAE,QAMtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA4BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,WAAW,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,qEAK5F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBALuC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAO7F,wBAA2C"}
@@ -0,0 +1,45 @@
1
+ import { Metadata } from 'conductor-node-mcp/tools/types';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import Conductor from 'conductor-node';
4
+ export declare const metadata: Metadata;
5
+ export declare const tool: Tool;
6
+ export declare const handler: (conductor: Conductor, args: Record<string, unknown> | undefined) => Promise<import("conductor-node-mcp/tools/types").ToolCallResult>;
7
+ declare const _default: {
8
+ metadata: Metadata;
9
+ tool: {
10
+ [x: string]: unknown;
11
+ name: string;
12
+ inputSchema: {
13
+ [x: string]: unknown;
14
+ type: "object";
15
+ properties?: {
16
+ [x: string]: unknown;
17
+ } | undefined;
18
+ required?: string[] | undefined;
19
+ };
20
+ title?: string | undefined;
21
+ description?: string | undefined;
22
+ outputSchema?: {
23
+ [x: string]: unknown;
24
+ type: "object";
25
+ properties?: {
26
+ [x: string]: unknown;
27
+ } | undefined;
28
+ required?: string[] | undefined;
29
+ } | undefined;
30
+ annotations?: {
31
+ [x: string]: unknown;
32
+ title?: string | undefined;
33
+ readOnlyHint?: boolean | undefined;
34
+ destructiveHint?: boolean | undefined;
35
+ idempotentHint?: boolean | undefined;
36
+ openWorldHint?: boolean | undefined;
37
+ } | undefined;
38
+ _meta?: {
39
+ [x: string]: unknown;
40
+ } | undefined;
41
+ };
42
+ handler: (conductor: Conductor, args: Record<string, unknown> | undefined) => Promise<import("conductor-node-mcp/tools/types").ToolCallResult>;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=retrieve-qbd-unit-of-measure-sets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-qbd-unit-of-measure-sets.d.ts","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,gCAAgC;OAEvE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,gBAAgB;AAEtC,eAAO,MAAM,QAAQ,EAAE,QAMtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA4BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,WAAW,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,qEAK5F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBALuC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAO7F,wBAA2C"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.handler = exports.tool = exports.metadata = void 0;
5
+ const filtering_1 = require("conductor-node-mcp/filtering");
6
+ const types_1 = require("conductor-node-mcp/tools/types");
7
+ exports.metadata = {
8
+ resource: 'qbd.unit_of_measure_sets',
9
+ operation: 'read',
10
+ tags: [],
11
+ httpMethod: 'get',
12
+ httpPath: '/quickbooks-desktop/unit-of-measure-sets/{id}',
13
+ };
14
+ exports.tool = {
15
+ name: 'retrieve_qbd_unit_of_measure_sets',
16
+ 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\nRetrieves an unit-of-measure set by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/unit_of_measure_set',\n $defs: {\n unit_of_measure_set: {\n type: 'object',\n title: 'The Unit-Of-Measure Set object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this unit-of-measure set. This ID is unique across all unit-of-measure sets but not across different QuickBooks object types.'\n },\n baseUnit: {\n type: 'object',\n title: 'The Base Unit object',\n description: 'The unit-of-measure set\\'s base unit used to track and price item quantities. If the company file is enabled for a single unit of measure per item, the base unit is the only unit available on transaction line items. If enabled for multiple units per item, the base unit is the default unless overridden by the set\\'s default units.',\n properties: {\n abbreviation: {\n type: 'string',\n description: 'The base unit\\'s short identifier shown in the QuickBooks U/M field on transaction line items.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this base unit, unique across all base units.\\n\\n**NOTE**: Base units do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n }\n },\n required: [ 'abbreviation',\n 'name'\n ]\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this unit-of-measure set was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user\\'s time zone in QuickBooks.'\n },\n defaultUnits: {\n type: 'array',\n description: 'The unit-of-measure set\\'s default units to appear in the U/M field on transaction line items. You can specify separate defaults for purchases, sales, and shipping.',\n items: {\n type: 'object',\n title: 'The Default Unit object',\n properties: {\n unit: {\n type: 'string',\n description: 'The unit name for this default unit, as displayed in the U/M field. If the company file is enabled for multiple units per item, this appears as an available unit for the item. Must correspond to the base unit or a related unit defined in this set.'\n },\n unitUsedFor: {\n type: 'string',\n description: 'Where this default unit is used as the default: purchase line items, sales line items, or shipping lines.',\n enum: [ 'purchase',\n 'sales',\n 'shipping'\n ]\n }\n },\n required: [ 'unit',\n 'unitUsedFor'\n ]\n }\n },\n isActive: {\n type: 'boolean',\n description: 'Indicates whether this unit-of-measure set is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this unit-of-measure set, unique across all unit-of-measure sets. To ensure this set appears in the QuickBooks UI for companies configured with a single unit per item, prefix the name with \"By the\" (e.g., \"By the Barrel\").\\n\\n**NOTE**: Unit-of-measure sets do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"qbd_unit_of_measure_set\"`.',\n enum: [ 'qbd_unit_of_measure_set'\n ]\n },\n relatedUnits: {\n type: 'array',\n description: 'The unit-of-measure set\\'s related units, each specifying how many base units they represent (conversion ratio).',\n items: {\n type: 'object',\n title: 'The Related Unit object',\n properties: {\n abbreviation: {\n type: 'string',\n description: 'The related unit\\'s short identifier shown in the QuickBooks U/M field on transaction line items.'\n },\n conversionRatio: {\n type: 'string',\n description: 'The number of base units in this related unit, represented as a decimal string. For example, if the base unit is \"box\" and this related unit is \"case\" with `conversionRatio` = \"10\", that means there are 10 boxes in one case.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this related unit, unique across all related units.\\n\\n**NOTE**: Related units do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n }\n },\n required: [ 'abbreviation',\n 'conversionRatio',\n 'name'\n ]\n }\n },\n revisionNumber: {\n type: 'string',\n description: 'The current QuickBooks-assigned revision number of this unit-of-measure set object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you\\'re working with the latest data; otherwise, the update will return an error.'\n },\n unitOfMeasureType: {\n type: 'string',\n description: 'The unit-of-measure set\\'s type. Use \"other\" for a custom type defined in QuickBooks.',\n enum: [ 'area',\n 'count',\n 'length',\n 'other',\n 'time',\n 'volume',\n 'weight'\n ]\n },\n updatedAt: {\n type: 'string',\n description: 'The date and time when this unit-of-measure set was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user\\'s time zone in QuickBooks.'\n }\n },\n required: [ 'id',\n 'baseUnit',\n 'createdAt',\n 'defaultUnits',\n 'isActive',\n 'name',\n 'objectType',\n 'relatedUnits',\n 'revisionNumber',\n 'unitOfMeasureType',\n 'updatedAt'\n ]\n }\n }\n}\n```",
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ id: {
21
+ type: 'string',
22
+ description: 'The QuickBooks-assigned unique identifier of the unit-of-measure set to retrieve.',
23
+ },
24
+ conductorEndUserId: {
25
+ type: 'string',
26
+ description: 'The ID of the EndUser to receive this request (e.g., `"Conductor-End-User-Id: {{END_USER_ID}}"`).',
27
+ },
28
+ jq_filter: {
29
+ type: 'string',
30
+ title: 'jq Filter',
31
+ 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/).',
32
+ },
33
+ },
34
+ required: ['id', 'conductorEndUserId'],
35
+ },
36
+ annotations: {
37
+ readOnlyHint: true,
38
+ },
39
+ };
40
+ const handler = async (conductor, args) => {
41
+ const { id, jq_filter, ...body } = args;
42
+ return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await conductor.qbd.unitOfMeasureSets.retrieve(id, body)));
43
+ };
44
+ exports.handler = handler;
45
+ exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
46
+ //# sourceMappingURL=retrieve-qbd-unit-of-measure-sets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-qbd-unit-of-measure-sets.js","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAA2D;AAC3D,0DAA+E;AAKlE,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,0BAA0B;IACpC,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,+CAA+C;CAC1D,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,k3NAAk3N;IACp3N,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mFAAmF;aACjG;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;KACvC;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,SAAoB,EAAE,IAAyC,EAAE,EAAE;IAC/F,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC/C,OAAO,IAAA,2BAAmB,EACxB,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CACvF,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { maybeFilter } from 'conductor-node-mcp/filtering';
3
+ import { asTextContentResult } from 'conductor-node-mcp/tools/types';
4
+ export const metadata = {
5
+ resource: 'qbd.unit_of_measure_sets',
6
+ operation: 'read',
7
+ tags: [],
8
+ httpMethod: 'get',
9
+ httpPath: '/quickbooks-desktop/unit-of-measure-sets/{id}',
10
+ };
11
+ export const tool = {
12
+ name: 'retrieve_qbd_unit_of_measure_sets',
13
+ 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\nRetrieves an unit-of-measure set by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/unit_of_measure_set',\n $defs: {\n unit_of_measure_set: {\n type: 'object',\n title: 'The Unit-Of-Measure Set object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique identifier assigned by QuickBooks to this unit-of-measure set. This ID is unique across all unit-of-measure sets but not across different QuickBooks object types.'\n },\n baseUnit: {\n type: 'object',\n title: 'The Base Unit object',\n description: 'The unit-of-measure set\\'s base unit used to track and price item quantities. If the company file is enabled for a single unit of measure per item, the base unit is the only unit available on transaction line items. If enabled for multiple units per item, the base unit is the default unless overridden by the set\\'s default units.',\n properties: {\n abbreviation: {\n type: 'string',\n description: 'The base unit\\'s short identifier shown in the QuickBooks U/M field on transaction line items.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this base unit, unique across all base units.\\n\\n**NOTE**: Base units do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n }\n },\n required: [ 'abbreviation',\n 'name'\n ]\n },\n createdAt: {\n type: 'string',\n description: 'The date and time when this unit-of-measure set was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user\\'s time zone in QuickBooks.'\n },\n defaultUnits: {\n type: 'array',\n description: 'The unit-of-measure set\\'s default units to appear in the U/M field on transaction line items. You can specify separate defaults for purchases, sales, and shipping.',\n items: {\n type: 'object',\n title: 'The Default Unit object',\n properties: {\n unit: {\n type: 'string',\n description: 'The unit name for this default unit, as displayed in the U/M field. If the company file is enabled for multiple units per item, this appears as an available unit for the item. Must correspond to the base unit or a related unit defined in this set.'\n },\n unitUsedFor: {\n type: 'string',\n description: 'Where this default unit is used as the default: purchase line items, sales line items, or shipping lines.',\n enum: [ 'purchase',\n 'sales',\n 'shipping'\n ]\n }\n },\n required: [ 'unit',\n 'unitUsedFor'\n ]\n }\n },\n isActive: {\n type: 'boolean',\n description: 'Indicates whether this unit-of-measure set is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this unit-of-measure set, unique across all unit-of-measure sets. To ensure this set appears in the QuickBooks UI for companies configured with a single unit per item, prefix the name with \"By the\" (e.g., \"By the Barrel\").\\n\\n**NOTE**: Unit-of-measure sets do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n },\n objectType: {\n type: 'string',\n description: 'The type of object. This value is always `\"qbd_unit_of_measure_set\"`.',\n enum: [ 'qbd_unit_of_measure_set'\n ]\n },\n relatedUnits: {\n type: 'array',\n description: 'The unit-of-measure set\\'s related units, each specifying how many base units they represent (conversion ratio).',\n items: {\n type: 'object',\n title: 'The Related Unit object',\n properties: {\n abbreviation: {\n type: 'string',\n description: 'The related unit\\'s short identifier shown in the QuickBooks U/M field on transaction line items.'\n },\n conversionRatio: {\n type: 'string',\n description: 'The number of base units in this related unit, represented as a decimal string. For example, if the base unit is \"box\" and this related unit is \"case\" with `conversionRatio` = \"10\", that means there are 10 boxes in one case.'\n },\n name: {\n type: 'string',\n description: 'The case-insensitive unique name of this related unit, unique across all related units.\\n\\n**NOTE**: Related units do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.'\n }\n },\n required: [ 'abbreviation',\n 'conversionRatio',\n 'name'\n ]\n }\n },\n revisionNumber: {\n type: 'string',\n description: 'The current QuickBooks-assigned revision number of this unit-of-measure set object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you\\'re working with the latest data; otherwise, the update will return an error.'\n },\n unitOfMeasureType: {\n type: 'string',\n description: 'The unit-of-measure set\\'s type. Use \"other\" for a custom type defined in QuickBooks.',\n enum: [ 'area',\n 'count',\n 'length',\n 'other',\n 'time',\n 'volume',\n 'weight'\n ]\n },\n updatedAt: {\n type: 'string',\n description: 'The date and time when this unit-of-measure set was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user\\'s time zone in QuickBooks.'\n }\n },\n required: [ 'id',\n 'baseUnit',\n 'createdAt',\n 'defaultUnits',\n 'isActive',\n 'name',\n 'objectType',\n 'relatedUnits',\n 'revisionNumber',\n 'unitOfMeasureType',\n 'updatedAt'\n ]\n }\n }\n}\n```",
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ id: {
18
+ type: 'string',
19
+ description: 'The QuickBooks-assigned unique identifier of the unit-of-measure set to retrieve.',
20
+ },
21
+ conductorEndUserId: {
22
+ type: 'string',
23
+ description: 'The ID of the EndUser to receive this request (e.g., `"Conductor-End-User-Id: {{END_USER_ID}}"`).',
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: ['id', 'conductorEndUserId'],
32
+ },
33
+ annotations: {
34
+ readOnlyHint: true,
35
+ },
36
+ };
37
+ export const handler = async (conductor, args) => {
38
+ const { id, jq_filter, ...body } = args;
39
+ return asTextContentResult(await maybeFilter(jq_filter, await conductor.qbd.unitOfMeasureSets.retrieve(id, body)));
40
+ };
41
+ export default { metadata, tool, handler };
42
+ //# sourceMappingURL=retrieve-qbd-unit-of-measure-sets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-qbd-unit-of-measure-sets.mjs","sourceRoot":"","sources":["../../../src/tools/qbd/unit-of-measure-sets/retrieve-qbd-unit-of-measure-sets.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,8BAA8B;OACnD,EAAY,mBAAmB,EAAE,MAAM,gCAAgC;AAK9E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,0BAA0B;IACpC,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,+CAA+C;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,k3NAAk3N;IACp3N,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mFAAmF;aACjG;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;KACvC;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,SAAoB,EAAE,IAAyC,EAAE,EAAE;IAC/F,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC/C,OAAO,mBAAmB,CACxB,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CACvF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}