@cmssy/ai-tools 0.81.0 → 0.83.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 (74) hide show
  1. package/dist/index.d.ts +13 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/registry.d.ts.map +1 -1
  6. package/dist/registry.js +22 -0
  7. package/dist/registry.js.map +1 -1
  8. package/dist/schemas.d.ts +33 -0
  9. package/dist/schemas.d.ts.map +1 -1
  10. package/dist/schemas.js +48 -2
  11. package/dist/schemas.js.map +1 -1
  12. package/dist/tools/create-model.tool.d.ts +3 -0
  13. package/dist/tools/create-model.tool.d.ts.map +1 -1
  14. package/dist/tools/create-model.tool.js +3 -2
  15. package/dist/tools/create-model.tool.js.map +1 -1
  16. package/dist/tools/create-price-list.tool.d.ts +10 -0
  17. package/dist/tools/create-price-list.tool.d.ts.map +1 -0
  18. package/dist/tools/create-price-list.tool.js +18 -0
  19. package/dist/tools/create-price-list.tool.js.map +1 -0
  20. package/dist/tools/delete-price-list.tool.d.ts +13 -0
  21. package/dist/tools/delete-price-list.tool.d.ts.map +1 -0
  22. package/dist/tools/delete-price-list.tool.js +16 -0
  23. package/dist/tools/delete-price-list.tool.js.map +1 -0
  24. package/dist/tools/get-customer.tool.js +1 -1
  25. package/dist/tools/get-customer.tool.js.map +1 -1
  26. package/dist/tools/get-model.tool.js +1 -1
  27. package/dist/tools/get-model.tool.js.map +1 -1
  28. package/dist/tools/get-order.tool.js +1 -1
  29. package/dist/tools/get-order.tool.js.map +1 -1
  30. package/dist/tools/get-price-list.tool.d.ts +21 -0
  31. package/dist/tools/get-price-list.tool.d.ts.map +1 -0
  32. package/dist/tools/get-price-list.tool.js +41 -0
  33. package/dist/tools/get-price-list.tool.js.map +1 -0
  34. package/dist/tools/list-customers.tool.js +1 -1
  35. package/dist/tools/list-customers.tool.js.map +1 -1
  36. package/dist/tools/list-price-lists.tool.d.ts +11 -0
  37. package/dist/tools/list-price-lists.tool.d.ts.map +1 -0
  38. package/dist/tools/list-price-lists.tool.js +13 -0
  39. package/dist/tools/list-price-lists.tool.js.map +1 -0
  40. package/dist/tools/remove-price-list-entries.tool.d.ts +17 -0
  41. package/dist/tools/remove-price-list-entries.tool.d.ts.map +1 -0
  42. package/dist/tools/remove-price-list-entries.tool.js +25 -0
  43. package/dist/tools/remove-price-list-entries.tool.js.map +1 -0
  44. package/dist/tools/set-company-price-list.tool.d.ts +10 -0
  45. package/dist/tools/set-company-price-list.tool.d.ts.map +1 -0
  46. package/dist/tools/set-company-price-list.tool.js +20 -0
  47. package/dist/tools/set-company-price-list.tool.js.map +1 -0
  48. package/dist/tools/set-customer-company-role.tool.d.ts +10 -0
  49. package/dist/tools/set-customer-company-role.tool.d.ts.map +1 -0
  50. package/dist/tools/set-customer-company-role.tool.js +17 -0
  51. package/dist/tools/set-customer-company-role.tool.js.map +1 -0
  52. package/dist/tools/set-customer-price-list.tool.d.ts +10 -0
  53. package/dist/tools/set-customer-price-list.tool.d.ts.map +1 -0
  54. package/dist/tools/set-customer-price-list.tool.js +17 -0
  55. package/dist/tools/set-customer-price-list.tool.js.map +1 -0
  56. package/dist/tools/set-price-list-entries.tool.d.ts +22 -0
  57. package/dist/tools/set-price-list-entries.tool.d.ts.map +1 -0
  58. package/dist/tools/set-price-list-entries.tool.js +25 -0
  59. package/dist/tools/set-price-list-entries.tool.js.map +1 -0
  60. package/dist/tools/set-price-list-entry.tool.d.ts +16 -0
  61. package/dist/tools/set-price-list-entry.tool.d.ts.map +1 -0
  62. package/dist/tools/set-price-list-entry.tool.js +18 -0
  63. package/dist/tools/set-price-list-entry.tool.js.map +1 -0
  64. package/dist/tools/update-model.tool.d.ts +3 -0
  65. package/dist/tools/update-model.tool.d.ts.map +1 -1
  66. package/dist/tools/update-model.tool.js +3 -2
  67. package/dist/tools/update-model.tool.js.map +1 -1
  68. package/dist/tools/update-price-list.tool.d.ts +11 -0
  69. package/dist/tools/update-price-list.tool.d.ts.map +1 -0
  70. package/dist/tools/update-price-list.tool.js +20 -0
  71. package/dist/tools/update-price-list.tool.js.map +1 -0
  72. package/dist/types.d.ts +88 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"get-model.tool.js","sourceRoot":"","sources":["../../src/tools/get-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,gaAAga;IACla,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"get-model.tool.js","sourceRoot":"","sources":["../../src/tools/get-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,0pBAA0pB;IAC5pB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -6,7 +6,7 @@ export const getOrderTool = {
6
6
  name: "get_order",
7
7
  description: "Get one order's full details by its id: items, the full money column " +
8
8
  "(subtotal, discount, shipping, tax, total - all minor units), the frozen " +
9
- "discount code, PO number, shipping address, payment/fulfillment status " +
9
+ "discount code, priceListName (the price list the order was priced from, name frozen at checkout; null when none), PO number, shipping address, payment/fulfillment status " +
10
10
  "and the parcels (shipments: id, carrier, tracking number and link, " +
11
11
  "status, history) - a parcel's id is what update_shipment takes - the " +
12
12
  "returns (id, number, status, lines with reason and received/restocked " +
@@ -1 +1 @@
1
- {"version":3,"file":"get-order.tool.js","sourceRoot":"","sources":["../../src/tools/get-order.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACzE,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,sBAAsB;IACxB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"get-order.tool.js","sourceRoot":"","sources":["../../src/tools/get-order.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACzE,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,uEAAuE;QACvE,2EAA2E;QAC3E,4KAA4K;QAC5K,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,sBAAsB;IACxB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, PriceListEntry, PriceListSummary } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ recordId: z.ZodOptional<z.ZodString>;
6
+ first: z.ZodOptional<z.ZodNumber>;
7
+ after: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ type Input = z.infer<typeof inputSchema>;
10
+ type Output = ({
11
+ found: true;
12
+ } & PriceListSummary & {
13
+ entries: PriceListEntry[];
14
+ nextCursor: string | null;
15
+ }) | {
16
+ found: false;
17
+ id: string;
18
+ };
19
+ export declare const getPriceListTool: AiTool<Input, Output>;
20
+ export {};
21
+ //# sourceMappingURL=get-price-list.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-price-list.tool.d.ts","sourceRoot":"","sources":["../../src/tools/get-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5E,QAAA,MAAM,WAAW;;;;;iBAmBf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,KAAK,MAAM,GACP,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,gBAAgB,GAAG;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,GACJ;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAmBlD,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({
3
+ id: z.string().min(1).describe("The price list's id (from list_price_lists)"),
4
+ recordId: z
5
+ .string()
6
+ .min(1)
7
+ .optional()
8
+ .describe("Only the fixed prices for this product record"),
9
+ first: z
10
+ .number()
11
+ .int()
12
+ .min(1)
13
+ .max(200)
14
+ .optional()
15
+ .describe("Entries per page, at most 200"),
16
+ after: z
17
+ .string()
18
+ .min(1)
19
+ .optional()
20
+ .describe("nextCursor from the previous page"),
21
+ });
22
+ export const getPriceListTool = {
23
+ name: "get_price_list",
24
+ description: "Get one price list by id with a page of its fixed prices (entries, oldest first, at most 200 per page; pass nextCursor back as after for the next page, null on the last). An entry is a fixed unit price in minor units for one product (variantKey null) or one variant of a product with variants, with its own volume breaks (tiers) and the product's currency; recordMissing true means the product or variant was removed and the entry prices nothing - remove it with remove_price_list_entries. Filter by recordId to see one product's entries. Read-only.",
25
+ inputSchema,
26
+ requiredPermissions: ["models:view"],
27
+ execute: async ({ id, recordId, first, after }, ops) => {
28
+ const list = await ops.priceLists.get(id);
29
+ if (!list) {
30
+ return { found: false, id };
31
+ }
32
+ const page = await ops.priceLists.entries(id, { recordId, first, after });
33
+ return {
34
+ found: true,
35
+ ...list,
36
+ entries: page.items,
37
+ nextCursor: page.nextCursor,
38
+ };
39
+ },
40
+ };
41
+ //# sourceMappingURL=get-price-list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-price-list.tool.js","sourceRoot":"","sources":["../../src/tools/get-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7E,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;CACjD,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,uiBAAuiB;IACziB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,OAAO;YACL,KAAK,EAAE,IAAI;YACX,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -21,7 +21,7 @@ const inputSchema = z.object({
21
21
  });
22
22
  export const listCustomersTool = {
23
23
  name: "list_customers",
24
- description: "List the customers - accounts that sign in to the user's site (records of an accounts model), with status, verification, last login, their company and orderStats (non-canceled order count, last order date, and net spend = paid minus refunded, in minor units, one entry per currency; null when the caller may not view orders). Not the team: those are list_team. Read-only; filter by model, status, company or an identity search; paginated, newest first.",
24
+ description: "List the customers - accounts that sign in to the user's site (records of an accounts model), with status, verification, last login, their company, companyRole (the effective company role: admin or buyer in v1, null without a company), effectivePriceList (the price list that prices them, source MEMBER or COMPANY; null = catalogue prices) and orderStats (non-canceled order count, last order date, and net spend = paid minus refunded, in minor units, one entry per currency; null when the caller may not view orders). Not the team: those are list_team. Read-only; filter by model, status, company or an identity search; paginated, newest first.",
25
25
  inputSchema,
26
26
  requiredPermissions: ["customers:view"],
27
27
  execute: async (input, ops) => {
@@ -1 +1 @@
1
- {"version":3,"file":"list-customers.tool.js","sourceRoot":"","sources":["../../src/tools/list-customers.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/D,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,scAAsc;IACxc,WAAW;IACX,mBAAmB,EAAE,CAAC,gBAAgB,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAA4B,CAAC,CAAC;QACtE,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"list-customers.tool.js","sourceRoot":"","sources":["../../src/tools/list-customers.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/D,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,uoBAAuoB;IACzoB,WAAW;IACX,mBAAmB,EAAE,CAAC,gBAAgB,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAA4B,CAAC,CAAC;QACtE,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, PriceListSummary } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{}, z.core.$strip>;
4
+ type Input = z.infer<typeof inputSchema>;
5
+ interface Output {
6
+ count: number;
7
+ items: PriceListSummary[];
8
+ }
9
+ export declare const listPriceListsTool: AiTool<Input, Output>;
10
+ export {};
11
+ //# sourceMappingURL=list-price-lists.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-price-lists.tool.d.ts","sourceRoot":"","sources":["../../src/tools/list-price-lists.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,QAAA,MAAM,WAAW,gCAAe,CAAC;AAEjC,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUpD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({});
3
+ export const listPriceListsTool = {
4
+ name: "list_price_lists",
5
+ description: "List the workspace's price lists (Gold, Silver, dealer tiers ...), by name: each with percentOff (percent off the catalogue, 2 decimals), overrideCount (fixed prices it holds) and assignedCount (companies and customers it prices). A list prices a buyer from a fixed price per product or variant where it has one, else the catalogue price minus percentOff. Read-only; entries are in get_price_list.",
6
+ inputSchema,
7
+ requiredPermissions: ["models:view"],
8
+ execute: async (_input, ops) => {
9
+ const items = await ops.priceLists.list();
10
+ return { count: items.length, items };
11
+ },
12
+ };
13
+ //# sourceMappingURL=list-price-lists.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-price-lists.tool.js","sourceRoot":"","sources":["../../src/tools/list-price-lists.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AASjC,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,+YAA+Y;IACjZ,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;CACF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import type { AiTool } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ priceListId: z.ZodString;
5
+ keys: z.ZodArray<z.ZodObject<{
6
+ recordId: z.ZodString;
7
+ variantKey: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>>;
9
+ }, z.core.$strip>;
10
+ type Input = z.infer<typeof inputSchema>;
11
+ interface Output {
12
+ priceListId: string;
13
+ removed: number;
14
+ }
15
+ export declare const removePriceListEntriesTool: AiTool<Input, Output>;
16
+ export {};
17
+ //# sourceMappingURL=remove-price-list-entries.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-price-list-entries.tool.d.ts","sourceRoot":"","sources":["../../src/tools/remove-price-list-entries.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,QAAA,MAAM,WAAW;;;;;;iBAUf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,UAAU,MAAM;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAW5D,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import { priceListEntryKeySchema } from "../schemas.js";
3
+ const inputSchema = z.object({
4
+ priceListId: z
5
+ .string()
6
+ .min(1)
7
+ .describe("The price list's id (from list_price_lists)"),
8
+ keys: z
9
+ .array(priceListEntryKeySchema)
10
+ .min(1)
11
+ .max(1000)
12
+ .describe("Up to 1000 product / variant keys whose fixed price to remove"),
13
+ });
14
+ export const removePriceListEntriesTool = {
15
+ name: "remove_price_list_entries",
16
+ description: "Remove up to 1000 fixed prices from a price list by key: recordId alone for a product without variants, recordId + variantKey for one variant of a product with variants. Those products then fall back to the catalogue price minus the list's percentOff. Returns how many were removed; a key with no entry removes nothing.",
17
+ inputSchema,
18
+ requiredPermissions: ["models:edit"],
19
+ confirmGated: true,
20
+ execute: async ({ priceListId, keys }, ops) => {
21
+ const removed = await ops.priceLists.removeEntries(priceListId, keys);
22
+ return { priceListId, removed };
23
+ },
24
+ };
25
+ //# sourceMappingURL=remove-price-list-entries.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-price-list-entries.tool.js","sourceRoot":"","sources":["../../src/tools/remove-price-list-entries.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,uBAAuB,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,0BAA0B,GAA0B;IAC/D,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,iUAAiU;IACnU,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, PriceListRecordAssignment } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ recordId: z.ZodString;
5
+ priceListId: z.ZodNullable<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ export declare const setCompanyPriceListTool: AiTool<Input, PriceListRecordAssignment>;
9
+ export {};
10
+ //# sourceMappingURL=set-company-price-list.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-company-price-list.tool.d.ts","sourceRoot":"","sources":["../../src/tools/set-company-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAErE,QAAA,MAAM,WAAW;;;iBAYf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,KAAK,EAAE,yBAAyB,CAS1E,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({
3
+ recordId: z
4
+ .string()
5
+ .min(1)
6
+ .describe("The company record's id (a record of a model with the Company capability; a customer's company.id)"),
7
+ priceListId: z
8
+ .string()
9
+ .min(1)
10
+ .nullable()
11
+ .describe("The price list's id (from list_price_lists); null unassigns"),
12
+ });
13
+ export const setCompanyPriceListTool = {
14
+ name: "set_company_price_list",
15
+ description: "Assign a price list to a company record; null unassigns. Every member of the company pays this list - one list per buyer, and a member's own list is ignored while they belong to the company. A company without a list leaves its members on catalogue prices. Refused for a record that is not a company (a model with the Company capability) - for a customer use set_customer_price_list. Returns the record id and its priceListId.",
16
+ inputSchema,
17
+ requiredPermissions: ["customers:manage"],
18
+ execute: async ({ recordId, priceListId }, ops) => ops.priceLists.setRecordPriceList(recordId, priceListId),
19
+ };
20
+ //# sourceMappingURL=set-company-price-list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-company-price-list.tool.js","sourceRoot":"","sources":["../../src/tools/set-company-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,oGAAoG,CACrG;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,2aAA2a;IAC7a,WAAW;IACX,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,CAChD,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC;CAC3D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, CustomerSummary } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ role: z.ZodString;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ export declare const setCustomerCompanyRoleTool: AiTool<Input, CustomerSummary>;
9
+ export {};
10
+ //# sourceMappingURL=set-customer-company-role.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-customer-company-role.tool.d.ts","sourceRoot":"","sources":["../../src/tools/set-customer-company-role.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,WAAW;;;iBAQf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,CAQrE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({
3
+ id: z.string().min(1).describe("The customer's id (from list_customers)"),
4
+ role: z
5
+ .string()
6
+ .min(1)
7
+ .describe("A role key from the workspace's company role catalogue - v1: 'admin' or 'buyer'"),
8
+ });
9
+ export const setCustomerCompanyRoleTool = {
10
+ name: "set_customer_company_role",
11
+ description: "Give a customer a company role in the company they belong to now. Roles come from the workspace's catalogue; v1 has two: 'admin' sees every order placed for the company, 'buyer' (the default) only their own. The role holds only while the customer stays in that company - moved to another, they are buyer there. Refused when the customer has no company, and for a key outside the catalogue. Returns the customer with companyRole as the effective role.",
12
+ inputSchema,
13
+ requiredPermissions: ["customers:manage"],
14
+ confirmGated: true,
15
+ execute: async ({ id, role }, ops) => ops.customers.setCompanyRole(id, role),
16
+ };
17
+ //# sourceMappingURL=set-customer-company-role.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-customer-company-role.tool.js","sourceRoot":"","sources":["../../src/tools/set-customer-company-role.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACzE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,iFAAiF,CAClF;CACJ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAmC;IACxE,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,ocAAoc;IACtc,WAAW;IACX,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC;CAC7E,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, CustomerSummary } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ priceListId: z.ZodNullable<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ export declare const setCustomerPriceListTool: AiTool<Input, CustomerSummary>;
9
+ export {};
10
+ //# sourceMappingURL=set-customer-price-list.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-customer-price-list.tool.d.ts","sourceRoot":"","sources":["../../src/tools/set-customer-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,WAAW;;;iBAOf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,CAQnE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({
3
+ id: z.string().min(1).describe("The customer's id (from list_customers)"),
4
+ priceListId: z
5
+ .string()
6
+ .min(1)
7
+ .nullable()
8
+ .describe("The price list's id (from list_price_lists); null unassigns"),
9
+ });
10
+ export const setCustomerPriceListTool = {
11
+ name: "set_customer_price_list",
12
+ description: "Assign a price list to a customer without a company (a B2C VIP); null unassigns. One list per buyer: a customer in a company pays the company's list, so assigning to them is refused - assign the list to the company with set_company_price_list instead. Returns the customer with priceList (their own) and effectivePriceList (the one that prices them, source MEMBER or COMPANY).",
13
+ inputSchema,
14
+ requiredPermissions: ["customers:manage"],
15
+ execute: async ({ id, priceListId }, ops) => ops.customers.setPriceList(id, priceListId),
16
+ };
17
+ //# sourceMappingURL=set-customer-price-list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-customer-price-list.tool.js","sourceRoot":"","sources":["../../src/tools/set-customer-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACzE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,0XAA0X;IAC5X,WAAW;IACX,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC;CAC9C,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import type { AiTool } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ priceListId: z.ZodString;
5
+ entries: z.ZodArray<z.ZodObject<{
6
+ recordId: z.ZodString;
7
+ variantKey: z.ZodOptional<z.ZodString>;
8
+ price: z.ZodNumber;
9
+ tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
10
+ minQty: z.ZodNumber;
11
+ price: z.ZodNumber;
12
+ }, z.core.$strip>>>;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>;
15
+ type Input = z.infer<typeof inputSchema>;
16
+ interface Output {
17
+ priceListId: string;
18
+ written: number;
19
+ }
20
+ export declare const setPriceListEntriesTool: AiTool<Input, Output>;
21
+ export {};
22
+ //# sourceMappingURL=set-price-list-entries.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-price-list-entries.tool.d.ts","sourceRoot":"","sources":["../../src/tools/set-price-list-entries.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,QAAA,MAAM,WAAW;;;;;;;;;;;iBAUf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,UAAU,MAAM;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAWzD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import { priceListEntrySchema } from "../schemas.js";
3
+ const inputSchema = z.object({
4
+ priceListId: z
5
+ .string()
6
+ .min(1)
7
+ .describe("The price list's id (from list_price_lists)"),
8
+ entries: z
9
+ .array(priceListEntrySchema)
10
+ .min(1)
11
+ .max(1000)
12
+ .describe("Up to 1000 fixed prices"),
13
+ });
14
+ export const setPriceListEntriesTool = {
15
+ name: "set_price_list_entries",
16
+ description: "Upsert up to 1000 fixed prices on a price list in one call (an ERP or spreadsheet import). Each row is one product (no variantKey) or one variant of a product with variants (variantKey required there), price in minor units with optional volume breaks; a row replaces the price already set for the same product/variant, every other entry stays. All or nothing: one invalid row refuses the whole call and the error names every bad row by index. Fixed prices override the list's percentOff. Never removes entries - use remove_price_list_entries for that.",
17
+ inputSchema,
18
+ requiredPermissions: ["models:edit"],
19
+ confirmGated: true,
20
+ execute: async ({ priceListId, entries }, ops) => {
21
+ const written = await ops.priceLists.setEntries(priceListId, entries);
22
+ return { priceListId, written };
23
+ },
24
+ };
25
+ //# sourceMappingURL=set-price-list-entries.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-price-list-entries.tool.js","sourceRoot":"","sources":["../../src/tools/set-price-list-entries.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,yBAAyB,CAAC;CACvC,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,yiBAAyiB;IAC3iB,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, PriceListEntry } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ recordId: z.ZodString;
5
+ variantKey: z.ZodOptional<z.ZodString>;
6
+ price: z.ZodNumber;
7
+ tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
8
+ minQty: z.ZodNumber;
9
+ price: z.ZodNumber;
10
+ }, z.core.$strip>>>;
11
+ priceListId: z.ZodString;
12
+ }, z.core.$strip>;
13
+ type Input = z.infer<typeof inputSchema>;
14
+ export declare const setPriceListEntryTool: AiTool<Input, PriceListEntry>;
15
+ export {};
16
+ //# sourceMappingURL=set-price-list-entry.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-price-list-entry.tool.d.ts","sourceRoot":"","sources":["../../src/tools/set-price-list-entry.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;;;;;;iBAOoB,CAAC;AAEtC,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,cAAc,CAQ/D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ import { priceListEntryShape, refineTiersBelowPrice } from "../schemas.js";
3
+ const inputSchema = priceListEntryShape
4
+ .extend({
5
+ priceListId: z
6
+ .string()
7
+ .min(1)
8
+ .describe("The price list's id (from list_price_lists)"),
9
+ })
10
+ .superRefine(refineTiersBelowPrice);
11
+ export const setPriceListEntryTool = {
12
+ name: "set_price_list_entry",
13
+ description: "Set a price list's fixed price for one product, or one variant of a product with variants (variantKey required there - a list prices each variant on its own, never the product as a whole; omit it for a product without variants). The fixed price (minor units, with optional volume breaks) overrides the list's percentOff for that product or variant; replaces the price already set for it. For many rows use set_price_list_entries.",
14
+ inputSchema,
15
+ requiredPermissions: ["models:edit"],
16
+ execute: async ({ priceListId, ...entry }, ops) => ops.priceLists.setEntry(priceListId, entry),
17
+ };
18
+ //# sourceMappingURL=set-price-list-entry.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-price-list-entry.tool.js","sourceRoot":"","sources":["../../src/tools/set-price-list-entry.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,WAAW,GAAG,mBAAmB;KACpC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;KACD,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAItC,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,+aAA+a;IACjb,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAChD,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;CAC9C,CAAC"}
@@ -38,6 +38,9 @@ declare const inputSchema: z.ZodObject<{
38
38
  taxRateField: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
39
  }, z.core.$strip>>;
40
40
  auth: z.ZodOptional<z.ZodType<import("../types.js").ModelAuthConfigInput, unknown, z.core.$ZodTypeInternals<import("../types.js").ModelAuthConfigInput, unknown>>>;
41
+ company: z.ZodOptional<z.ZodObject<{
42
+ enabled: z.ZodOptional<z.ZodBoolean>;
43
+ }, z.core.$strip>>;
41
44
  uniqueFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
42
45
  deliveryAccess: z.ZodOptional<z.ZodEnum<{
43
46
  public: "public";
@@ -1 +1 @@
1
- {"version":3,"file":"update-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAW1E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+Bf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAgDvD,CAAC"}
1
+ {"version":3,"file":"update-model.tool.d.ts","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAY1E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAgDvD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { proposedFieldSchema, defaultSortSchema, statusFieldSchema, productConfigSchema, authConfigSchema, uniqueFieldsSchema, modelDeliveryAccessSchema, } from "../schemas.js";
2
+ import { proposedFieldSchema, defaultSortSchema, statusFieldSchema, productConfigSchema, authConfigSchema, companyConfigSchema, uniqueFieldsSchema, modelDeliveryAccessSchema, } from "../schemas.js";
3
3
  const inputSchema = z.object({
4
4
  idOrSlug: z
5
5
  .string()
@@ -25,12 +25,13 @@ const inputSchema = z.object({
25
25
  statusField: statusFieldSchema.optional(),
26
26
  product: productConfigSchema.optional(),
27
27
  auth: authConfigSchema.optional(),
28
+ company: companyConfigSchema.optional(),
28
29
  uniqueFields: uniqueFieldsSchema.optional(),
29
30
  deliveryAccess: modelDeliveryAccessSchema.optional(),
30
31
  });
31
32
  export const updateModelTool = {
32
33
  name: "update_model",
33
- description: 'Update a data model by id or slug: name, slug, description, icon, color, displayField, defaultSort, statusField, fields, product capability config, uniqueFields (replaces the whole list; refused while records already share a value), or deliveryAccess ("public" lets the user\'s app read the model through the delivery API; "none" is admin only). `fields` is a PATCH - listed fields are added or replaced by key, unlisted fields stay untouched; use `removeFields` to delete fields. `product` is also a PATCH of the commerce capability config (enabled, priceField, skuField, inventoryField, variantAxes) - omitted keys keep their stored values. While the product is enabled, a call that changes product, fields, removeFields or displayField is graded against every product role, and refused when one would name a missing field or a field of a type it cannot read. `auth` is a PATCH of the accounts config (enabled, identityField, companyField for B2B companies over customers, verification, lockout) - omitted keys keep their stored values, null unlinks the company. Which fields a member may change on their own account is each field\'s `memberCanSet`.',
34
+ description: 'Update a data model by id or slug: name, slug, description, icon, color, displayField, defaultSort, statusField, fields, product capability config, uniqueFields (replaces the whole list; refused while records already share a value), or deliveryAccess ("public" lets the user\'s app read the model through the delivery API; "none" is admin only). `fields` is a PATCH - listed fields are added or replaced by key, unlisted fields stay untouched; use `removeFields` to delete fields. `product` is also a PATCH of the commerce capability config (enabled, priceField, skuField, inventoryField, variantAxes) - omitted keys keep their stored values. While the product is enabled, a call that changes product, fields, removeFields or displayField is graded against every product role, and refused when one would name a missing field or a field of a type it cannot read. `auth` is a PATCH of the accounts config (enabled, identityField, companyField for B2B companies over customers - a relation to a model with Company enabled, verification, lockout) - omitted keys keep their stored values, null unlinks the company. Which fields a member may change on their own account and send at sign-up is each field\'s `memberCanSet` (registration accepts only those; password fields and the company field never). `company` is a PATCH of the Company capability ({ enabled }) - a model is at most one of product, account (auth) or company; turning it off is refused while an accounts model\'s companyField links it.',
34
35
  inputSchema,
35
36
  requiredPermissions: ["models:edit"],
36
37
  execute: async ({ idOrSlug, fields, removeFields, ...rest }, ops) => {
@@ -1 +1 @@
1
- {"version":3,"file":"update-model.tool.js","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-model.tool.js","sourceRoot":"","sources":["../../src/tools/update-model.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import type { AiTool, PriceListSummary } from "../types.js";
3
+ declare const inputSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ name: z.ZodOptional<z.ZodString>;
6
+ percentOff: z.ZodOptional<z.ZodNumber>;
7
+ }, z.core.$strip>;
8
+ type Input = z.infer<typeof inputSchema>;
9
+ export declare const updatePriceListTool: AiTool<Input, PriceListSummary>;
10
+ export {};
11
+ //# sourceMappingURL=update-price-list.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-price-list.tool.d.ts","sourceRoot":"","sources":["../../src/tools/update-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5D,QAAA,MAAM,WAAW;;;;iBAIf,CAAC;AAEH,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzC,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAY/D,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ import { percentOffSchema } from "../schemas.js";
3
+ const inputSchema = z.object({
4
+ id: z.string().min(1).describe("The price list's id (from list_price_lists)"),
5
+ name: z.string().trim().min(1).optional().describe("New unique name"),
6
+ percentOff: percentOffSchema.optional(),
7
+ });
8
+ export const updatePriceListTool = {
9
+ name: "update_price_list",
10
+ description: "Rename a price list or change its percentOff (0-99.99, 2 decimals; it prices every product the list holds no fixed price for). Fixed prices are changed with set_price_list_entry / set_price_list_entries. Carts already priced from the list keep their prices until the buyer adds again; orders keep theirs.",
11
+ inputSchema,
12
+ requiredPermissions: ["models:edit"],
13
+ execute: async ({ id, name, percentOff }, ops) => {
14
+ if (name === undefined && percentOff === undefined) {
15
+ throw new Error("Provide name or percentOff to update");
16
+ }
17
+ return ops.priceLists.update(id, { name, percentOff });
18
+ },
19
+ };
20
+ //# sourceMappingURL=update-price-list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-price-list.tool.js","sourceRoot":"","sources":["../../src/tools/update-price-list.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACrE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,kTAAkT;IACpT,WAAW;IACX,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;CACF,CAAC"}