@happyvertical/smrt-manufacturing 0.53.3 → 0.53.5

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 (72) hide show
  1. package/AGENTS.md +45 -6
  2. package/README.md +161 -3
  3. package/dist/collections/AssemblyCollection.d.ts +15 -0
  4. package/dist/collections/AssemblyCollection.d.ts.map +1 -0
  5. package/dist/collections/OperationCollection.d.ts +20 -0
  6. package/dist/collections/OperationCollection.d.ts.map +1 -0
  7. package/dist/collections/RoutingStepCollection.d.ts +15 -0
  8. package/dist/collections/RoutingStepCollection.d.ts.map +1 -0
  9. package/dist/collections/index.d.ts +3 -0
  10. package/dist/collections/index.d.ts.map +1 -1
  11. package/dist/index.d.ts +13 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +756 -29
  14. package/dist/index.js.map +1 -1
  15. package/dist/manifest.json +1248 -128
  16. package/dist/models/Assembly.d.ts +62 -0
  17. package/dist/models/Assembly.d.ts.map +1 -0
  18. package/dist/models/BillOfMaterials.d.ts +12 -4
  19. package/dist/models/BillOfMaterials.d.ts.map +1 -1
  20. package/dist/models/BomLine.d.ts +11 -5
  21. package/dist/models/BomLine.d.ts.map +1 -1
  22. package/dist/models/Operation.d.ts +59 -0
  23. package/dist/models/Operation.d.ts.map +1 -0
  24. package/dist/models/RoutingStep.d.ts +46 -0
  25. package/dist/models/RoutingStep.d.ts.map +1 -0
  26. package/dist/models/index.d.ts +3 -0
  27. package/dist/models/index.d.ts.map +1 -1
  28. package/dist/operation-types.d.ts +99 -0
  29. package/dist/operation-types.d.ts.map +1 -0
  30. package/dist/services/AssemblyService.d.ts +217 -0
  31. package/dist/services/AssemblyService.d.ts.map +1 -0
  32. package/dist/services/BomService.d.ts +25 -1
  33. package/dist/services/BomService.d.ts.map +1 -1
  34. package/dist/services/OperationService.d.ts +48 -0
  35. package/dist/services/OperationService.d.ts.map +1 -0
  36. package/dist/services/RoutingService.d.ts +50 -0
  37. package/dist/services/RoutingService.d.ts.map +1 -0
  38. package/dist/services/index.d.ts +3 -0
  39. package/dist/services/index.d.ts.map +1 -1
  40. package/dist/smrt-knowledge.json +1138 -81
  41. package/dist/svelte/components/AssemblyForm.svelte +69 -0
  42. package/dist/svelte/components/AssemblyForm.svelte.d.ts +38 -0
  43. package/dist/svelte/components/AssemblyForm.svelte.d.ts.map +1 -0
  44. package/dist/svelte/components/AssemblyList.svelte +229 -0
  45. package/dist/svelte/components/AssemblyList.svelte.d.ts +28 -0
  46. package/dist/svelte/components/AssemblyList.svelte.d.ts.map +1 -0
  47. package/dist/svelte/components/BomEditor.svelte +575 -0
  48. package/dist/svelte/components/BomEditor.svelte.d.ts +29 -0
  49. package/dist/svelte/components/BomEditor.svelte.d.ts.map +1 -0
  50. package/dist/svelte/components/BomStructureTree.svelte +164 -0
  51. package/dist/svelte/components/BomStructureTree.svelte.d.ts +16 -0
  52. package/dist/svelte/components/BomStructureTree.svelte.d.ts.map +1 -0
  53. package/dist/svelte/components/OperationForm.svelte +258 -0
  54. package/dist/svelte/components/OperationForm.svelte.d.ts +17 -0
  55. package/dist/svelte/components/OperationForm.svelte.d.ts.map +1 -0
  56. package/dist/svelte/components/OperationList.svelte +170 -0
  57. package/dist/svelte/components/OperationList.svelte.d.ts +17 -0
  58. package/dist/svelte/components/OperationList.svelte.d.ts.map +1 -0
  59. package/dist/svelte/i18n.d.ts +87 -0
  60. package/dist/svelte/i18n.d.ts.map +1 -0
  61. package/dist/svelte/i18n.js +87 -0
  62. package/dist/svelte/index.d.ts +28 -0
  63. package/dist/svelte/index.d.ts.map +1 -0
  64. package/dist/svelte/index.js +29 -0
  65. package/dist/svelte/types.d.ts +170 -0
  66. package/dist/svelte/types.d.ts.map +1 -0
  67. package/dist/svelte/types.js +126 -0
  68. package/dist/ui.d.ts +17 -0
  69. package/dist/ui.d.ts.map +1 -0
  70. package/dist/ui.js +72 -0
  71. package/dist/ui.js.map +1 -0
  72. package/package.json +39 -10
@@ -22,11 +22,14 @@
22
22
  *
23
23
  * @packageDocumentation
24
24
  */
25
- import type { DatabaseConfig } from '@happyvertical/smrt-core';
25
+ import { type DatabaseConfig } from '@happyvertical/smrt-core';
26
26
  import { type StockService } from '@happyvertical/smrt-inventory';
27
27
  import { BillOfMaterialsCollection } from '../collections/BillOfMaterialsCollection.js';
28
28
  import { BomLineCollection } from '../collections/BomLineCollection.js';
29
+ import { OperationCollection } from '../collections/OperationCollection.js';
30
+ import { RoutingStepCollection } from '../collections/RoutingStepCollection.js';
29
31
  import type { BomLine } from '../models/BomLine.js';
32
+ import type { LabourEstimate, OperationRateResolver } from '../operation-types.js';
30
33
  import { type BomCostRollup, type CanProduceResult, type MaterialRequirement } from '../types.js';
31
34
  /**
32
35
  * Callback signature for resolving the unit cost of a component SKU.
@@ -68,6 +71,12 @@ export type BomServiceOptions = {
68
71
  * costs default to `0` and per-line `costUnavailable` is set.
69
72
  */
70
73
  costResolver?: ComponentCostResolver;
74
+ /**
75
+ * Optional resolver that returns the hourly labour rate for an operation,
76
+ * used by {@link BomService.computeLabourEstimate}. When omitted, the
77
+ * estimate reports minutes only and flags every step `rateUnavailable`.
78
+ */
79
+ rateResolver?: OperationRateResolver;
71
80
  } & ({
72
81
  db: DatabaseConfig;
73
82
  stockService?: StockService;
@@ -92,6 +101,9 @@ export declare class BomService {
92
101
  readonly lines: BomLineCollection;
93
102
  readonly stockService: StockService;
94
103
  private readonly costResolver;
104
+ readonly routingSteps: RoutingStepCollection;
105
+ readonly operations: OperationCollection;
106
+ private readonly rateResolver;
95
107
  private constructor();
96
108
  /** Factory — prefer {@link createBomService}. */
97
109
  static create(options: BomServiceOptions): Promise<BomService>;
@@ -108,6 +120,16 @@ export declare class BomService {
108
120
  * warning.
109
121
  */
110
122
  computeMaterialCost(bomId: string): Promise<BomCostRollup>;
123
+ /**
124
+ * Roll up the estimated labour to build one unit from the bill's routing:
125
+ * total minutes, plus cost when a `rateResolver` was supplied (hourly rate
126
+ * times minutes, per step). A bill with no routing returns an empty
127
+ * estimate with zero totals, so callers can add it to the material cost
128
+ * unconditionally. Retired operations still count: the routing names them.
129
+ *
130
+ * Throws {@link BomNotFoundError} when the BOM does not exist.
131
+ */
132
+ computeLabourEstimate(bomId: string): Promise<LabourEstimate>;
111
133
  /**
112
134
  * Return a "shopping list" of materials needed to produce `qty` units of
113
135
  * the parent product against the given BOM. Lines that reference the
@@ -142,6 +164,8 @@ export declare class BomService {
142
164
  * "missing BOM" error path so callers don't have to repeat the check.
143
165
  */
144
166
  private requireBom;
167
+ /** Run the {@link OperationRateResolver}; `null` when there is no rate. */
168
+ private resolveRate;
145
169
  /**
146
170
  * Run the supplied {@link ComponentCostResolver} for the given component
147
171
  * SKU. Returns `null` when no resolver is registered or when the
@@ -1 +1 @@
1
- {"version":3,"file":"BomService.d.ts","sourceRoot":"","sources":["../../src/services/BomService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,GAAG,CACA;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GACnD;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,EAAE,CAAC,EAAE,cAAc,CAAA;CAAE,CACtD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;aAEH,IAAI,EAAE,yBAAyB;aAC/B,KAAK,EAAE,iBAAiB;aACxB,YAAY,EAAE,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO;IAOP,iDAAiD;WACpC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAepE;;;;;;;;;;;OAWG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwChE;;;;;;;;;;;;OAYG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0BjC;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCvE;;;OAGG;YACW,UAAU;IAOxB;;;;OAIG;YACW,WAAW;CAO1B;AA8BD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC,CAErB;AAID,YAAY,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"BomService.d.ts","sourceRoot":"","sources":["../../src/services/BomService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,GAAG,CACA;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GACnD;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,EAAE,CAAC,EAAE,cAAc,CAAA;CAAE,CACtD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;aAEH,IAAI,EAAE,yBAAyB;aAC/B,KAAK,EAAE,iBAAiB;aACxB,YAAY,EAAE,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY;aACb,YAAY,EAAE,qBAAqB;aACnC,UAAU,EAAE,mBAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B,OAAO;IAYP,iDAAiD;WACpC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BpE;;;;;;;;;;;OAWG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwChE;;;;;;;;OAQG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyCnE;;;;;;;;;;;;OAYG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0BjC;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCvE;;;OAGG;YACW,UAAU;IAOxB,2EAA2E;YAC7D,WAAW;IAUzB;;;;OAIG;YACW,WAAW;CAO1B;AA8BD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC,CAErB;AAID,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * OperationService — maintain the managed list of {@link Operation} rows:
3
+ * define, rename, change category or required qualification, retire and
4
+ * reinstate. Operations are never deleted.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { DatabaseConfig } from '@happyvertical/smrt-core';
9
+ import { OperationCollection } from '../collections/OperationCollection.js';
10
+ import type { Operation } from '../models/Operation.js';
11
+ import { type DefineOperationInput } from '../operation-types.js';
12
+ /** Options accepted by {@link OperationService.create}. */
13
+ export interface OperationServiceOptions {
14
+ db: DatabaseConfig;
15
+ }
16
+ export declare class OperationService {
17
+ readonly operations: OperationCollection;
18
+ private constructor();
19
+ /** Factory — prefer {@link createOperationService}. */
20
+ static create(options: OperationServiceOptions): Promise<OperationService>;
21
+ /**
22
+ * Add an operation. The code is trimmed and must be unique per tenant;
23
+ * throws {@link DuplicateOperationCodeError} when it is taken (retired
24
+ * operations keep their code).
25
+ */
26
+ define(input: DefineOperationInput): Promise<Operation>;
27
+ /** Fetch an operation or throw {@link OperationNotFoundError}. */
28
+ get(id: string): Promise<Operation>;
29
+ /** List operations; retired ones only with `includeRetired`. */
30
+ list(options?: {
31
+ includeRetired?: boolean;
32
+ }): Promise<Operation[]>;
33
+ /** Change the display name. The code does not change. */
34
+ rename(id: string, name: string): Promise<Operation>;
35
+ /** Change category and/or required qualification; an empty string clears. */
36
+ update(id: string, changes: {
37
+ category?: string;
38
+ requiredQualificationId?: string;
39
+ }): Promise<Operation>;
40
+ /** Retire: stays on history and routings, leaves pickers. Idempotent. */
41
+ retire(id: string): Promise<Operation>;
42
+ /** Reinstate a retired operation. Idempotent. */
43
+ reinstate(id: string): Promise<Operation>;
44
+ private setActive;
45
+ }
46
+ /** Convenience factory. */
47
+ export declare function createOperationService(options: OperationServiceOptions): Promise<OperationService>;
48
+ //# sourceMappingURL=OperationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationService.d.ts","sourceRoot":"","sources":["../../src/services/OperationService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,uBAAuB,CAAC;AAE/B,2DAA2D;AAC3D,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,cAAc,CAAC;CACpB;AAED,qBAAa,gBAAgB;aACS,UAAU,EAAE,mBAAmB;IAAnE,OAAO;IAEP,uDAAuD;WAC1C,MAAM,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IA2B7D,kEAAkE;IAC5D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAMzC,gEAAgE;IAC1D,IAAI,CAAC,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI5E,yDAAyD;IACnD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAU1D,6EAA6E;IACvE,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/D,OAAO,CAAC,SAAS,CAAC;IAWrB,yEAAyE;IACnE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI5C,iDAAiD;IAC3C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAIjC,SAAS;CAQxB;AAED,2BAA2B;AAC3B,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * RoutingService — read and replace the routing of a bill of materials.
3
+ *
4
+ * A routing is the ordered list of {@link RoutingStep} rows for one bill.
5
+ * It is optional; a bill with none is valid. `replaceRouting` swaps the whole
6
+ * list in one transaction, so reordering, inserting and removing steps are one
7
+ * operation and a bill never shows a half-written routing.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ import { type DatabaseConfig } from '@happyvertical/smrt-core';
12
+ import { BillOfMaterialsCollection } from '../collections/BillOfMaterialsCollection.js';
13
+ import { OperationCollection } from '../collections/OperationCollection.js';
14
+ import { RoutingStepCollection } from '../collections/RoutingStepCollection.js';
15
+ import type { RoutingStep } from '../models/RoutingStep.js';
16
+ import { type RoutingStepInput } from '../operation-types.js';
17
+ /** Options accepted by {@link RoutingService.create}. */
18
+ export interface RoutingServiceOptions {
19
+ db: DatabaseConfig;
20
+ }
21
+ export declare class RoutingService {
22
+ private readonly db;
23
+ readonly boms: BillOfMaterialsCollection;
24
+ readonly operations: OperationCollection;
25
+ readonly steps: RoutingStepCollection;
26
+ private constructor();
27
+ /** Factory — prefer {@link createRoutingService}. */
28
+ static create(options: RoutingServiceOptions): Promise<RoutingService>;
29
+ /** The routing of a bill in step order; empty when it has none. */
30
+ list(bomId: string): Promise<RoutingStep[]>;
31
+ /**
32
+ * Check `inputs` against the routing about to be replaced: durations,
33
+ * operations, and that a retired operation is not added beyond the
34
+ * occurrences `current` already has.
35
+ */
36
+ private validate;
37
+ /**
38
+ * Replace the bill's routing with `inputs`, numbered 1..n in the order given.
39
+ * An empty list removes the routing.
40
+ *
41
+ * Throws {@link BomNotFoundError}, {@link OperationNotFoundError},
42
+ * {@link OperationRetiredError} (a retired operation may stay on a routing
43
+ * that already has it but cannot be newly added), or
44
+ * {@link InvalidOperationInputError} for a negative or non-finite duration.
45
+ */
46
+ replaceRouting(bomId: string, inputs: readonly RoutingStepInput[]): Promise<RoutingStep[]>;
47
+ }
48
+ /** Convenience factory. */
49
+ export declare function createRoutingService(options: RoutingServiceOptions): Promise<RoutingService>;
50
+ //# sourceMappingURL=RoutingService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingService.d.ts","sourceRoot":"","sources":["../../src/services/RoutingService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,cAAc,CAAC;CACpB;AAMD,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,EAAE;aACH,IAAI,EAAE,yBAAyB;aAC/B,UAAU,EAAE,mBAAmB;aAC/B,KAAK,EAAE,qBAAqB;IAJ9C,OAAO;IAOP,qDAAqD;WACxC,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAU5E,mEAAmE;IAC7D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIjD;;;;OAIG;YACW,QAAQ;IAyBtB;;;;;;;;OAQG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,OAAO,CAAC,WAAW,EAAE,CAAC;CAoD1B;AAiBD,2BAA2B;AAC3B,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAEzB"}
@@ -3,7 +3,10 @@
3
3
  *
4
4
  * @packageDocumentation
5
5
  */
6
+ export { AssemblyService, type AssemblyServiceOptions, type BillStructure, type BillStructureLine, BomCycleError, type BomCyclePathEntry, type ComponentKind, createAssemblyService, type ResolveComponentOptions, type ResolvedComponent, } from './AssemblyService.js';
6
7
  export { BomService, type BomServiceOptions, type ComponentCostResolver, createBomService, } from './BomService.js';
7
8
  export { type InstalledManufacturingDispatchHandlers, type InstallManufacturingDispatchHandlersOptions, installManufacturingDispatchHandlers, type ProductionOrderCompletedPayload, type ProductionOrderPostedPayload, } from './dispatch-handlers.js';
9
+ export { createOperationService, OperationService, type OperationServiceOptions, } from './OperationService.js';
8
10
  export { type ConsumeMaterialsOptions, type ConsumeResult, createProductionService, type ProduceFinishedGoodsOptions, type ProduceResult, type ProductionOrderRef, ProductionService, type ProductionServiceOptions, } from './ProductionService.js';
11
+ export { createRoutingService, RoutingService, type RoutingServiceOptions, } from './RoutingService.js';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,2CAA2C,EAChD,oCAAoC,EACpC,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,GAClC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,uBAAuB,EACvB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,2CAA2C,EAChD,oCAAoC,EACpC,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,GAClC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,uBAAuB,EACvB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC"}