@campfire-interactive/master-data-client 4.13.0 → 4.14.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 (60) hide show
  1. package/dist/attributeDefinitions.d.ts +15 -0
  2. package/dist/attributeDefinitions.d.ts.map +1 -0
  3. package/dist/attributeDefinitions.js +70 -0
  4. package/dist/attributeDefinitions.js.map +1 -0
  5. package/dist/attributeGroups.d.ts +14 -0
  6. package/dist/attributeGroups.d.ts.map +1 -0
  7. package/dist/attributeGroups.js +51 -0
  8. package/dist/attributeGroups.js.map +1 -0
  9. package/dist/attributeOptions.d.ts +18 -0
  10. package/dist/attributeOptions.d.ts.map +1 -0
  11. package/dist/attributeOptions.js +63 -0
  12. package/dist/attributeOptions.js.map +1 -0
  13. package/dist/attributeValidation.d.ts +15 -0
  14. package/dist/attributeValidation.d.ts.map +1 -0
  15. package/dist/attributeValidation.js +141 -0
  16. package/dist/attributeValidation.js.map +1 -0
  17. package/dist/client.d.ts +12 -0
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +18 -0
  20. package/dist/client.js.map +1 -1
  21. package/dist/companies.d.ts.map +1 -1
  22. package/dist/companies.js +2 -0
  23. package/dist/companies.js.map +1 -1
  24. package/dist/http.d.ts.map +1 -1
  25. package/dist/http.js +5 -2
  26. package/dist/http.js.map +1 -1
  27. package/dist/index.d.ts +9 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +16 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/ownership.d.ts +21 -0
  32. package/dist/ownership.d.ts.map +1 -0
  33. package/dist/ownership.js +36 -0
  34. package/dist/ownership.js.map +1 -0
  35. package/dist/programs.d.ts.map +1 -1
  36. package/dist/programs.js +2 -0
  37. package/dist/programs.js.map +1 -1
  38. package/dist/quoteAsks.d.ts +66 -0
  39. package/dist/quoteAsks.d.ts.map +1 -0
  40. package/dist/quoteAsks.js +103 -0
  41. package/dist/quoteAsks.js.map +1 -0
  42. package/dist/quoteLines.d.ts +91 -0
  43. package/dist/quoteLines.d.ts.map +1 -0
  44. package/dist/quoteLines.js +147 -0
  45. package/dist/quoteLines.js.map +1 -0
  46. package/dist/quotes.d.ts +10 -5
  47. package/dist/quotes.d.ts.map +1 -1
  48. package/dist/quotes.js +10 -5
  49. package/dist/quotes.js.map +1 -1
  50. package/dist/rateBooks.d.ts +28 -1
  51. package/dist/rateBooks.d.ts.map +1 -1
  52. package/dist/rateBooks.js +73 -0
  53. package/dist/rateBooks.js.map +1 -1
  54. package/dist/rates.d.ts +6 -1
  55. package/dist/rates.d.ts.map +1 -1
  56. package/dist/rates.js +14 -0
  57. package/dist/rates.js.map +1 -1
  58. package/dist/types.d.ts +659 -4
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +3 -2
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuoteLineResource = void 0;
4
+ /**
5
+ * Quote lines — the finished goods on a quote.
6
+ *
7
+ * A quote is MULTI-PART: it is the document the OEM receives and it carries one
8
+ * line per finished good, each with its own volume, cost and price. See the
9
+ * nextgen ADR `2026-08-05-multi-part-quotes.md`.
10
+ *
11
+ * Two things to know before using this:
12
+ *
13
+ * 1. **`Quote.partId` is now a derived mirror** of these lines and is
14
+ * deprecated. It reflects the FIRST line only, so it is lossy the moment a
15
+ * quote has more than one. Read `lines` here instead. It keeps working for
16
+ * the whole deprecation window — including writes, which transparently
17
+ * maintain the quote's single line — and is dropped in a later major.
18
+ *
19
+ * 2. **Never sum lines across competing quotes.** When an OEM asks for several
20
+ * competing groupings of the same parts, those are alternatives, not
21
+ * additions. `rollUp` covers ONE quote; anything aggregating across a round
22
+ * must dedupe by part.
23
+ *
24
+ * Cost is DERIVED, never authored: it reaches a line only through
25
+ * {@link setEffectiveCost}, published by whichever engine resolved it. There is
26
+ * no authored-cost field, deliberately — the earlier design had one whose only
27
+ * writer was a human, so it could store a per-grouping cost but never produce
28
+ * one, and went stale unnoticed on the next re-cost.
29
+ */
30
+ class QuoteLineResource {
31
+ http;
32
+ constructor(http) {
33
+ this.http = http;
34
+ }
35
+ /**
36
+ * The quote's lines, each with resolved `terms` (volume / cost / price plus
37
+ * which tier each came from), and the quote-level `rollUp`.
38
+ */
39
+ async list(quoteId) {
40
+ return this.http.request({
41
+ method: 'GET',
42
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines`,
43
+ });
44
+ }
45
+ /**
46
+ * The resolved line sets for MANY quotes, in one round trip.
47
+ *
48
+ * Use this instead of looping {@link list} whenever you read volume off a set
49
+ * of quotes — a per-quote fan-out is slow and, against a hub holding one warm
50
+ * instance, manufactures cold starts.
51
+ *
52
+ * Chunk to 200 ids per call (the server rejects more). Ids that don't exist, or
53
+ * belong to another tenant, are simply absent from the result — so index the
54
+ * response by `quoteId` rather than assuming it lines up positionally with the
55
+ * ids you passed. A quote that exists but has no finished goods comes back with
56
+ * an empty `lines` array.
57
+ */
58
+ // Typed SingleResponse<T[]> rather than ListResponse<T>: this batch read is not
59
+ // paginated, so it carries no cursor/hasMore meta and claiming ListMeta would
60
+ // promise fields the server never sends.
61
+ async listForQuotes(quoteIds) {
62
+ return this.http.request({
63
+ method: 'GET',
64
+ path: '/v1/quote-lines',
65
+ query: { quoteIds: quoteIds.join(',') },
66
+ });
67
+ }
68
+ /**
69
+ * Add a finished good to a quote. Returns the full line set, so a caller never
70
+ * has to re-fetch to get the new roll-up.
71
+ *
72
+ * Omit `partId` to have it resolved from `partNumber` against the parts
73
+ * catalog; it is left null when nothing matches, which is legal — soft
74
+ * enforcement, so a part number that hasn't been reconciled into the catalog
75
+ * can still be quoted. Pass `partId: null` to pin it null explicitly.
76
+ */
77
+ async add(quoteId, input, idempotencyKey) {
78
+ return this.http.request({
79
+ method: 'POST',
80
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines`,
81
+ body: input,
82
+ idempotencyKey,
83
+ });
84
+ }
85
+ /**
86
+ * Update a line's AUTHORED terms. Derived cost/price are not settable here.
87
+ *
88
+ * A `note`-only patch is accepted while the quote is in review — flagging a bad
89
+ * part is something that happens DURING review. Anything touching the figures
90
+ * requires a pre-approval status (422 otherwise).
91
+ */
92
+ async update(quoteId, lineId, input) {
93
+ return this.http.request({
94
+ method: 'PATCH',
95
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines/${encodeURIComponent(lineId)}`,
96
+ body: input,
97
+ });
98
+ }
99
+ /** Remove a finished good. The last line may be removed. */
100
+ async remove(quoteId, lineId) {
101
+ return this.http.request({
102
+ method: 'DELETE',
103
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines/${encodeURIComponent(lineId)}`,
104
+ });
105
+ }
106
+ /**
107
+ * Set the document order. `lineIds` must list every line on the quote exactly
108
+ * once (422 otherwise). Order also decides which line supplies the deprecated
109
+ * `quote.partId` mirror.
110
+ */
111
+ async reorder(quoteId, lineIds) {
112
+ return this.http.request({
113
+ method: 'PUT',
114
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines/reorder`,
115
+ body: { lineIds },
116
+ });
117
+ }
118
+ /**
119
+ * Publish a DERIVED per-line cost — the line-scoped mirror of
120
+ * `quotes.setEffectiveCost`, and the only way a cost reaches a line.
121
+ *
122
+ * Deliberately NOT gated on quote status: a re-cost must always be able to
123
+ * land, or the published number silently diverges from the cost model that
124
+ * produced it. When the figure lands on a quote already in approval the
125
+ * response sets `invalidatesApproval` — the caller owns what to do about it
126
+ * (OMSF voids the collected approvals and re-routes).
127
+ */
128
+ async setEffectiveCost(quoteId, lineId, input, idempotencyKey) {
129
+ return this.http.request({
130
+ method: 'PATCH',
131
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines/${encodeURIComponent(lineId)}/effective-cost`,
132
+ body: input,
133
+ idempotencyKey,
134
+ });
135
+ }
136
+ /** Price-side sibling of {@link setEffectiveCost}. */
137
+ async setEffectivePrice(quoteId, lineId, input, idempotencyKey) {
138
+ return this.http.request({
139
+ method: 'PATCH',
140
+ path: `/v1/quotes/${encodeURIComponent(quoteId)}/lines/${encodeURIComponent(lineId)}/effective-price`,
141
+ body: input,
142
+ idempotencyKey,
143
+ });
144
+ }
145
+ }
146
+ exports.QuoteLineResource = QuoteLineResource;
147
+ //# sourceMappingURL=quoteLines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quoteLines.js","sourceRoot":"","sources":["../src/quoteLines.ts"],"names":[],"mappings":"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"}
package/dist/quotes.d.ts CHANGED
@@ -19,13 +19,18 @@ export declare class QuoteResource {
19
19
  get(id: string, options?: GetQuoteOptions): Promise<SingleResponse<Quote>>;
20
20
  create(input: CreateQuoteInput, idempotencyKey?: string): Promise<CreateResponse<Quote>>;
21
21
  /**
22
- * Issue the next `RFQ-YYYY-NNNN` for the caller's tenant — the authoritative
22
+ * Issue the next `Q-YYYY-NNN` for the caller's tenant — the authoritative
23
23
  * quote-number mint (master-data owns the number and enforces `quoteNumber`
24
24
  * uniqueness). Atomic per (tenant, year); the first call of a year seeds the
25
- * counter above the existing numeric max. Returns `{ quoteNumber }`. CPQ's
26
- * createRfq calls this instead of scanning its own list and incrementing —
27
- * a scan that wedged at `RFQ-YYYY-10000` once a tenant's yearly sequence
28
- * passed four digits.
25
+ * counter above the existing numeric max, across both prefixes. Returns
26
+ * `{ quoteNumber }`. Both CPQ and OMSF call this instead of scanning the quote
27
+ * list and incrementing — scans that wedged at 10000 once a tenant's yearly
28
+ * sequence passed four digits (CPQ) and raced on concurrent creates (OMSF).
29
+ *
30
+ * **The prefix changed from `RFQ-` to `Q-` on 2026-08-06**, because `RFQ-` now
31
+ * names the customer's request that several competing quotes answer. Quotes
32
+ * numbered before the change keep their `RFQ-` numbers — treat a quote number
33
+ * as an opaque string and never parse a prefix out of it.
29
34
  */
30
35
  nextNumber(): Promise<SingleResponse<{
31
36
  quoteNumber: string;
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAqB/D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAY1E,MAAM,CACV,KAAK,EAAE,gBAAgB,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAOpE;;;;OAIG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;;;;;OAMG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAQvE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAOhE;;;;;;;;;;;;;;OAcG;IACG,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,qBAAqB,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;CAQlC"}
1
+ {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAqB/D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAY1E,MAAM,CACV,KAAK,EAAE,gBAAgB,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;OAaG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAOpE;;;;OAIG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;;;;;OAMG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAQvE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAOhE;;;;;;;;;;;;;;OAcG;IACG,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,qBAAqB,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IASjC;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;CAQlC"}
package/dist/quotes.js CHANGED
@@ -68,13 +68,18 @@ class QuoteResource {
68
68
  });
69
69
  }
70
70
  /**
71
- * Issue the next `RFQ-YYYY-NNNN` for the caller's tenant — the authoritative
71
+ * Issue the next `Q-YYYY-NNN` for the caller's tenant — the authoritative
72
72
  * quote-number mint (master-data owns the number and enforces `quoteNumber`
73
73
  * uniqueness). Atomic per (tenant, year); the first call of a year seeds the
74
- * counter above the existing numeric max. Returns `{ quoteNumber }`. CPQ's
75
- * createRfq calls this instead of scanning its own list and incrementing —
76
- * a scan that wedged at `RFQ-YYYY-10000` once a tenant's yearly sequence
77
- * passed four digits.
74
+ * counter above the existing numeric max, across both prefixes. Returns
75
+ * `{ quoteNumber }`. Both CPQ and OMSF call this instead of scanning the quote
76
+ * list and incrementing — scans that wedged at 10000 once a tenant's yearly
77
+ * sequence passed four digits (CPQ) and raced on concurrent creates (OMSF).
78
+ *
79
+ * **The prefix changed from `RFQ-` to `Q-` on 2026-08-06**, because `RFQ-` now
80
+ * names the customer's request that several competing quotes answer. Quotes
81
+ * numbered before the change keep their `RFQ-` numbers — treat a quote number
82
+ * as an opaque string and never parse a prefix out of it.
78
83
  */
79
84
  async nextNumber() {
80
85
  return this.http.request({
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { HttpTransport } from './http';
2
- import type { RateBook, CreateRateBookInput, UpdateRateBookInput, ListRateBooksOptions, SingleResponse, ListResponse, CreateResponse } from './types';
2
+ import type { RateBook, CreateRateBookInput, UpdateRateBookInput, ListRateBooksOptions, RateBookSummary, RateBookPlant, RateBookEquipmentPage, MachineRateLine, CategoryRateRow, RateCategoryKind, RateContainer, ListRateBookEquipmentOptions, SingleResponse, ListResponse, CreateResponse } from './types';
3
3
  /**
4
4
  * Rate Books (v1) — the versioned, effective-dated container for rate values.
5
5
  * CPQ-verbatim shape adopted in the 2026-07-02 consolidation. Publish freezes
@@ -14,5 +14,32 @@ export declare class RateBookResource {
14
14
  update(id: string, input: UpdateRateBookInput, idempotencyKey?: string): Promise<SingleResponse<RateBook>>;
15
15
  archive(id: string): Promise<void>;
16
16
  publish(id: string, idempotencyKey?: string): Promise<SingleResponse<RateBook>>;
17
+ /** The tenant's active rate book summary, or null when none is active. */
18
+ getActive(): Promise<SingleResponse<{
19
+ book: RateBookSummary | null;
20
+ }>>;
21
+ /** Distinct plants (by opaque plantId) carrying rate elements in the book,
22
+ * with per-plant element counts. */
23
+ listPlants(bookId: string): Promise<SingleResponse<{
24
+ rows: RateBookPlant[];
25
+ }>>;
26
+ /** Cursor-paginated equipment for a plant in the book. `lens` defaults to
27
+ * 'rated' (machines with a rate in this book); 'all' unions the plant's live
28
+ * machine master. */
29
+ listEquipment(bookId: string, plantId: string, options?: ListRateBookEquipmentOptions): Promise<SingleResponse<RateBookEquipmentPage>>;
30
+ /** The rate-line × year value matrix for one machine in the book. */
31
+ getMachineRates(bookId: string, plantId: string, equipmentCode: string): Promise<SingleResponse<{
32
+ rows: MachineRateLine[];
33
+ }>>;
34
+ /** Category rate rows (global defaults merged with a plant's overrides) for a
35
+ * kind (material/packaging/freight/labor). Omit plantId for globals only. */
36
+ listCategoryRates(bookId: string, kind: RateCategoryKind, plantId?: string): Promise<SingleResponse<{
37
+ rows: CategoryRateRow[];
38
+ }>>;
39
+ /** Distinct packaging containers available in the active book (global merged
40
+ * with the given plant's overrides). */
41
+ listContainers(plantId?: string): Promise<SingleResponse<{
42
+ rows: RateContainer[];
43
+ }>>;
17
44
  }
18
45
  //# sourceMappingURL=rateBooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rateBooks.d.ts","sourceRoot":"","sources":["../src/rateBooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAkBrE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAOlD,MAAM,CACV,KAAK,EAAE,mBAAmB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAS9B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAS9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;CAQtF"}
1
+ {"version":3,"file":"rateBooks.d.ts","sourceRoot":"","sources":["../src/rateBooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAkBrE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAOlD,MAAM,CACV,KAAK,EAAE,mBAAmB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAS9B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAS9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAcrF,0EAA0E;IACpE,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;QAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAO5E;yCACqC;IAC/B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;QAAE,IAAI,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAAC;IAOpF;;0BAEsB;IAChB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAgBjD,qEAAqE;IAC/D,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC,CAAC;IAOvD;kFAC8E;IACxE,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC,CAAC;IAUvD;6CACyC;IACnC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;QAAE,IAAI,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAAC;CAS3F"}
package/dist/rateBooks.js CHANGED
@@ -71,6 +71,79 @@ class RateBookResource {
71
71
  idempotencyKey,
72
72
  });
73
73
  }
74
+ // ─── Costing-UI aggregation reads (CPQ-verbatim shapes) ────────────────────
75
+ // Read/aggregation surface the CPQ costing UI needs. Each mirrors CPQ's rate
76
+ // read API field-for-field so the consumer can repoint here as a near
77
+ // drop-in. All are tenant-scoped reads (roles owner/admin/member).
78
+ /** The tenant's active rate book summary, or null when none is active. */
79
+ async getActive() {
80
+ return this.http.request({
81
+ method: 'GET',
82
+ path: '/v1/rate-books/active',
83
+ });
84
+ }
85
+ /** Distinct plants (by opaque plantId) carrying rate elements in the book,
86
+ * with per-plant element counts. */
87
+ async listPlants(bookId) {
88
+ return this.http.request({
89
+ method: 'GET',
90
+ path: `/v1/rate-books/${encodeURIComponent(bookId)}/plants`,
91
+ });
92
+ }
93
+ /** Cursor-paginated equipment for a plant in the book. `lens` defaults to
94
+ * 'rated' (machines with a rate in this book); 'all' unions the plant's live
95
+ * machine master. */
96
+ async listEquipment(bookId, plantId, options) {
97
+ const query = {};
98
+ if (options) {
99
+ if (options.q)
100
+ query.q = options.q;
101
+ if (options.family)
102
+ query.family = options.family;
103
+ if (options.cursor)
104
+ query.cursor = options.cursor;
105
+ if (options.limit !== undefined)
106
+ query.limit = String(options.limit);
107
+ if (options.lens)
108
+ query.lens = options.lens;
109
+ }
110
+ return this.http.request({
111
+ method: 'GET',
112
+ path: `/v1/rate-books/${encodeURIComponent(bookId)}/plants/${encodeURIComponent(plantId)}/equipment`,
113
+ query,
114
+ });
115
+ }
116
+ /** The rate-line × year value matrix for one machine in the book. */
117
+ async getMachineRates(bookId, plantId, equipmentCode) {
118
+ return this.http.request({
119
+ method: 'GET',
120
+ path: `/v1/rate-books/${encodeURIComponent(bookId)}/plants/${encodeURIComponent(plantId)}/equipment/${encodeURIComponent(equipmentCode)}/rates`,
121
+ });
122
+ }
123
+ /** Category rate rows (global defaults merged with a plant's overrides) for a
124
+ * kind (material/packaging/freight/labor). Omit plantId for globals only. */
125
+ async listCategoryRates(bookId, kind, plantId) {
126
+ const query = { kind };
127
+ if (plantId)
128
+ query.plantId = plantId;
129
+ return this.http.request({
130
+ method: 'GET',
131
+ path: `/v1/rate-books/${encodeURIComponent(bookId)}/rates`,
132
+ query,
133
+ });
134
+ }
135
+ /** Distinct packaging containers available in the active book (global merged
136
+ * with the given plant's overrides). */
137
+ async listContainers(plantId) {
138
+ const query = {};
139
+ if (plantId)
140
+ query.plantId = plantId;
141
+ return this.http.request({
142
+ method: 'GET',
143
+ path: '/v1/rate-containers',
144
+ query,
145
+ });
146
+ }
74
147
  }
75
148
  exports.RateBookResource = RateBookResource;
76
149
  //# sourceMappingURL=rateBooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rateBooks.js","sourceRoot":"","sources":["../src/rateBooks.ts"],"names":[],"mappings":";;;AAWA;;;;GAIG;AACH,MAAa,gBAAgB;IACE;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC5C,IAAI,OAAO,CAAC,CAAC;gBAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,QAAQ;gBAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAyB;YAC/C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAA0B,EAC1B,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,KAA0B,EAC1B,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAChD,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAY;YACjC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,cAAuB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,UAAU;YACxD,IAAI,EAAE,EAAE;YACR,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AApED,4CAoEC"}
1
+ {"version":3,"file":"rateBooks.js","sourceRoot":"","sources":["../src/rateBooks.ts"],"names":[],"mappings":"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"}
package/dist/rates.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { HttpTransport } from './http';
2
- import type { RateLookupInput, RateLookupResult, SingleResponse } from './types';
2
+ import type { RateLookupInput, RateLookupResult, RateSnapshot, SingleResponse } from './types';
3
3
  /**
4
4
  * Consumer-facing read surface for rate values. Resolves a single rate value
5
5
  * from the active rate model without dealing with book/element lifecycle.
@@ -8,5 +8,10 @@ export declare class RatesResource {
8
8
  private readonly http;
9
9
  constructor(http: HttpTransport);
10
10
  lookup(input: RateLookupInput): Promise<SingleResponse<RateLookupResult>>;
11
+ /**
12
+ * Bulk rate set for consumer per-run caching (CPQ costing). Fetch once per
13
+ * calc run and resolve rates in-memory instead of calling `lookup` per driver.
14
+ */
15
+ snapshot(asOf?: string): Promise<SingleResponse<RateSnapshot>>;
11
16
  }
12
17
  //# sourceMappingURL=rates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rates.d.ts","sourceRoot":"","sources":["../src/rates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjF;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;CAmBhF"}
1
+ {"version":3,"file":"rates.d.ts","sourceRoot":"","sources":["../src/rates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/F;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAoB/E;;;OAGG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;CASrE"}
package/dist/rates.js CHANGED
@@ -40,6 +40,20 @@ class RatesResource {
40
40
  query,
41
41
  });
42
42
  }
43
+ /**
44
+ * Bulk rate set for consumer per-run caching (CPQ costing). Fetch once per
45
+ * calc run and resolve rates in-memory instead of calling `lookup` per driver.
46
+ */
47
+ async snapshot(asOf) {
48
+ const query = {};
49
+ if (asOf)
50
+ query.asOf = asOf;
51
+ return this.http.request({
52
+ method: 'GET',
53
+ path: '/v1/rates/snapshot',
54
+ query,
55
+ });
56
+ }
43
57
  }
44
58
  exports.RatesResource = RatesResource;
45
59
  //# sourceMappingURL=rates.js.map
package/dist/rates.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","sourceRoot":"","sources":["../src/rates.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,aAAa;IACK;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACjD,IAAI,KAAK,CAAC,aAAa;YAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACnE,IAAI,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7D,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC1D,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmC;YACzD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;YACxB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF;AAtBD,sCAsBC"}
1
+ {"version":3,"file":"rates.js","sourceRoot":"","sources":["../src/rates.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,aAAa;IACK;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACjD,IAAI,KAAK,CAAC,aAAa;YAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACnE,IAAI,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7D,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC1D,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmC;YACzD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;YACxB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAa;QAC1B,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB;YAC1B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF;AApCD,sCAoCC"}