@happyvertical/smrt-manufacturing 0.53.4 → 0.53.6

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 (106) hide show
  1. package/AGENTS.md +58 -7
  2. package/README.md +228 -4
  3. package/agents/multilevel-and-runs.md +28 -0
  4. package/dist/collections/AssemblyCollection.d.ts +15 -0
  5. package/dist/collections/AssemblyCollection.d.ts.map +1 -0
  6. package/dist/collections/OperationCollection.d.ts +20 -0
  7. package/dist/collections/OperationCollection.d.ts.map +1 -0
  8. package/dist/collections/ProductionRunCollection.d.ts +15 -0
  9. package/dist/collections/ProductionRunCollection.d.ts.map +1 -0
  10. package/dist/collections/ProductionRunCompletionCollection.d.ts +14 -0
  11. package/dist/collections/ProductionRunCompletionCollection.d.ts.map +1 -0
  12. package/dist/collections/RoutingStepCollection.d.ts +15 -0
  13. package/dist/collections/RoutingStepCollection.d.ts.map +1 -0
  14. package/dist/collections/index.d.ts +5 -0
  15. package/dist/collections/index.d.ts.map +1 -1
  16. package/dist/index.d.ts +23 -5
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1660 -42
  19. package/dist/index.js.map +1 -1
  20. package/dist/manifest.json +1910 -161
  21. package/dist/models/Assembly.d.ts +62 -0
  22. package/dist/models/Assembly.d.ts.map +1 -0
  23. package/dist/models/BillOfMaterials.d.ts +12 -4
  24. package/dist/models/BillOfMaterials.d.ts.map +1 -1
  25. package/dist/models/BomLine.d.ts +11 -5
  26. package/dist/models/BomLine.d.ts.map +1 -1
  27. package/dist/models/Operation.d.ts +59 -0
  28. package/dist/models/Operation.d.ts.map +1 -0
  29. package/dist/models/ProductionRun.d.ts +67 -0
  30. package/dist/models/ProductionRun.d.ts.map +1 -0
  31. package/dist/models/ProductionRunCompletion.d.ts +36 -0
  32. package/dist/models/ProductionRunCompletion.d.ts.map +1 -0
  33. package/dist/models/RoutingStep.d.ts +46 -0
  34. package/dist/models/RoutingStep.d.ts.map +1 -0
  35. package/dist/models/index.d.ts +5 -0
  36. package/dist/models/index.d.ts.map +1 -1
  37. package/dist/operation-types.d.ts +108 -0
  38. package/dist/operation-types.d.ts.map +1 -0
  39. package/dist/production-run-types.d.ts +100 -0
  40. package/dist/production-run-types.d.ts.map +1 -0
  41. package/dist/quantity.d.ts +36 -0
  42. package/dist/quantity.d.ts.map +1 -0
  43. package/dist/services/AssemblyService.d.ts +222 -0
  44. package/dist/services/AssemblyService.d.ts.map +1 -0
  45. package/dist/services/BomService.d.ts +108 -5
  46. package/dist/services/BomService.d.ts.map +1 -1
  47. package/dist/services/OperationService.d.ts +48 -0
  48. package/dist/services/OperationService.d.ts.map +1 -0
  49. package/dist/services/ProductionRunService.d.ts +123 -0
  50. package/dist/services/ProductionRunService.d.ts.map +1 -0
  51. package/dist/services/ProductionService.d.ts +11 -0
  52. package/dist/services/ProductionService.d.ts.map +1 -1
  53. package/dist/services/RoutingService.d.ts +50 -0
  54. package/dist/services/RoutingService.d.ts.map +1 -0
  55. package/dist/services/index.d.ts +5 -0
  56. package/dist/services/index.d.ts.map +1 -1
  57. package/dist/services/structure-walk.d.ts +77 -0
  58. package/dist/services/structure-walk.d.ts.map +1 -0
  59. package/dist/smrt-knowledge.json +1771 -207
  60. package/dist/svelte/components/AssemblyForm.svelte +69 -0
  61. package/dist/svelte/components/AssemblyForm.svelte.d.ts +38 -0
  62. package/dist/svelte/components/AssemblyForm.svelte.d.ts.map +1 -0
  63. package/dist/svelte/components/AssemblyList.svelte +229 -0
  64. package/dist/svelte/components/AssemblyList.svelte.d.ts +28 -0
  65. package/dist/svelte/components/AssemblyList.svelte.d.ts.map +1 -0
  66. package/dist/svelte/components/BomEditor.svelte +575 -0
  67. package/dist/svelte/components/BomEditor.svelte.d.ts +29 -0
  68. package/dist/svelte/components/BomEditor.svelte.d.ts.map +1 -0
  69. package/dist/svelte/components/BomStructureTree.svelte +164 -0
  70. package/dist/svelte/components/BomStructureTree.svelte.d.ts +16 -0
  71. package/dist/svelte/components/BomStructureTree.svelte.d.ts.map +1 -0
  72. package/dist/svelte/components/OperationForm.svelte +258 -0
  73. package/dist/svelte/components/OperationForm.svelte.d.ts +17 -0
  74. package/dist/svelte/components/OperationForm.svelte.d.ts.map +1 -0
  75. package/dist/svelte/components/OperationList.svelte +170 -0
  76. package/dist/svelte/components/OperationList.svelte.d.ts +17 -0
  77. package/dist/svelte/components/OperationList.svelte.d.ts.map +1 -0
  78. package/dist/svelte/components/ProductionRunList.svelte +213 -0
  79. package/dist/svelte/components/ProductionRunList.svelte.d.ts +18 -0
  80. package/dist/svelte/components/ProductionRunList.svelte.d.ts.map +1 -0
  81. package/dist/svelte/components/RequirementsTree.svelte +125 -0
  82. package/dist/svelte/components/RequirementsTree.svelte.d.ts +13 -0
  83. package/dist/svelte/components/RequirementsTree.svelte.d.ts.map +1 -0
  84. package/dist/svelte/components/RequirementsTreeLevel.svelte +120 -0
  85. package/dist/svelte/components/RequirementsTreeLevel.svelte.d.ts +12 -0
  86. package/dist/svelte/components/RequirementsTreeLevel.svelte.d.ts.map +1 -0
  87. package/dist/svelte/i18n.d.ts +119 -0
  88. package/dist/svelte/i18n.d.ts.map +1 -0
  89. package/dist/svelte/i18n.js +119 -0
  90. package/dist/svelte/index.d.ts +33 -0
  91. package/dist/svelte/index.d.ts.map +1 -0
  92. package/dist/svelte/index.js +34 -0
  93. package/dist/svelte/types.d.ts +257 -0
  94. package/dist/svelte/types.d.ts.map +1 -0
  95. package/dist/svelte/types.js +249 -0
  96. package/dist/tenant-scope.d.ts +25 -0
  97. package/dist/tenant-scope.d.ts.map +1 -0
  98. package/dist/types.d.ts +207 -3
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/types.js +13 -1
  101. package/dist/types.js.map +1 -1
  102. package/dist/ui.d.ts +17 -0
  103. package/dist/ui.d.ts.map +1 -0
  104. package/dist/ui.js +94 -0
  105. package/dist/ui.js.map +1 -0
  106. package/package.json +41 -11
package/dist/ui.js ADDED
@@ -0,0 +1,94 @@
1
+ //#region src/ui.ts
2
+ var MANUFACTURING_UI_SLOTS = {
3
+ "operation-list": {
4
+ id: "operation-list",
5
+ label: "Operation List",
6
+ description: "Table of operations with category, status and retire or reinstate actions",
7
+ icon: "list",
8
+ category: "list",
9
+ order: 1,
10
+ propsInterface: "OperationListProps"
11
+ },
12
+ "operation-form": {
13
+ id: "operation-form",
14
+ label: "Operation Form",
15
+ description: "Add an operation, or rename and recategorize an existing one",
16
+ icon: "edit",
17
+ category: "form",
18
+ order: 2,
19
+ propsInterface: "OperationFormProps"
20
+ },
21
+ "assembly-list": {
22
+ id: "assembly-list",
23
+ label: "Assembly List",
24
+ description: "Table of assemblies with part reference, SKU, price and bill",
25
+ icon: "list",
26
+ category: "list",
27
+ order: 3,
28
+ propsInterface: "AssemblyListProps"
29
+ },
30
+ "assembly-form": {
31
+ id: "assembly-form",
32
+ label: "Assembly Form",
33
+ description: "Policy-driven create and edit form for an assembly",
34
+ icon: "edit",
35
+ category: "form",
36
+ order: 4,
37
+ propsInterface: "AssemblyFormProps"
38
+ },
39
+ "bom-editor": {
40
+ id: "bom-editor",
41
+ label: "Bill of Materials Editor",
42
+ description: "Edits an assembly's bill: materials and sub-assemblies, each sub-assembly expandable to its own bill",
43
+ icon: "tree",
44
+ category: "form",
45
+ order: 5,
46
+ propsInterface: "BomEditorProps"
47
+ },
48
+ "production-run-list": {
49
+ id: "production-run-list",
50
+ label: "Production Run List",
51
+ description: "Production runs with target, completed quantity and status, and completion reporting",
52
+ icon: "list",
53
+ category: "list",
54
+ order: 6,
55
+ propsInterface: "ProductionRunListProps"
56
+ },
57
+ "requirements-tree": {
58
+ id: "requirements-tree",
59
+ label: "Requirements Tree",
60
+ description: "A bill's exploded requirements by level, with totals and available and short stock",
61
+ icon: "tree",
62
+ category: "detail",
63
+ order: 7,
64
+ propsInterface: "RequirementsTreeProps"
65
+ }
66
+ };
67
+ var MANUFACTURING_MODULE_META = {
68
+ name: "@happyvertical/smrt-manufacturing",
69
+ displayName: "Manufacturing",
70
+ description: "Assemblies, multi-level bills of materials, routing operations, cost and labour rollup, production runs, and production-order stock movement",
71
+ uiSlots: MANUFACTURING_UI_SLOTS,
72
+ models: [
73
+ "Assembly",
74
+ "BillOfMaterials",
75
+ "BomLine",
76
+ "Operation",
77
+ "ProductionRun",
78
+ "ProductionRunCompletion",
79
+ "RoutingStep"
80
+ ],
81
+ collections: [
82
+ "AssemblyCollection",
83
+ "BillOfMaterialsCollection",
84
+ "BomLineCollection",
85
+ "OperationCollection",
86
+ "ProductionRunCollection",
87
+ "ProductionRunCompletionCollection",
88
+ "RoutingStepCollection"
89
+ ]
90
+ };
91
+ //#endregion
92
+ export { MANUFACTURING_MODULE_META, MANUFACTURING_UI_SLOTS };
93
+
94
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","names":[],"sources":["../src/ui.ts"],"sourcesContent":["/**\n * Manufacturing Module UI Slot Declarations\n *\n * UI extension points for the manufacturing module. Components live in the\n * ./svelte subpath and are props-driven: hosts load records through the\n * services and pass plain view objects.\n */\n\nimport type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\n/**\n * Manufacturing module UI slots\n */\nexport const MANUFACTURING_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'operation-list': {\n id: 'operation-list',\n label: 'Operation List',\n description:\n 'Table of operations with category, status and retire or reinstate actions',\n icon: 'list',\n category: 'list',\n order: 1,\n propsInterface: 'OperationListProps',\n },\n 'operation-form': {\n id: 'operation-form',\n label: 'Operation Form',\n description: 'Add an operation, or rename and recategorize an existing one',\n icon: 'edit',\n category: 'form',\n order: 2,\n propsInterface: 'OperationFormProps',\n },\n 'assembly-list': {\n id: 'assembly-list',\n label: 'Assembly List',\n description: 'Table of assemblies with part reference, SKU, price and bill',\n icon: 'list',\n category: 'list',\n order: 3,\n propsInterface: 'AssemblyListProps',\n },\n 'assembly-form': {\n id: 'assembly-form',\n label: 'Assembly Form',\n description: 'Policy-driven create and edit form for an assembly',\n icon: 'edit',\n category: 'form',\n order: 4,\n propsInterface: 'AssemblyFormProps',\n },\n 'bom-editor': {\n id: 'bom-editor',\n label: 'Bill of Materials Editor',\n description:\n \"Edits an assembly's bill: materials and sub-assemblies, each sub-assembly expandable to its own bill\",\n icon: 'tree',\n category: 'form',\n order: 5,\n propsInterface: 'BomEditorProps',\n },\n 'production-run-list': {\n id: 'production-run-list',\n label: 'Production Run List',\n description:\n 'Production runs with target, completed quantity and status, and completion reporting',\n icon: 'list',\n category: 'list',\n order: 6,\n propsInterface: 'ProductionRunListProps',\n },\n 'requirements-tree': {\n id: 'requirements-tree',\n label: 'Requirements Tree',\n description:\n \"A bill's exploded requirements by level, with totals and available and short stock\",\n icon: 'tree',\n category: 'detail',\n order: 7,\n propsInterface: 'RequirementsTreeProps',\n },\n};\n/**\n * Manufacturing module metadata\n */\nexport const MANUFACTURING_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-manufacturing',\n displayName: 'Manufacturing',\n description:\n 'Assemblies, multi-level bills of materials, routing operations, cost and labour rollup, production runs, and production-order stock movement',\n uiSlots: MANUFACTURING_UI_SLOTS,\n models: [\n 'Assembly',\n 'BillOfMaterials',\n 'BomLine',\n 'Operation',\n 'ProductionRun',\n 'ProductionRunCompletion',\n 'RoutingStep',\n ],\n collections: [\n 'AssemblyCollection',\n 'BillOfMaterialsCollection',\n 'BomLineCollection',\n 'OperationCollection',\n 'ProductionRunCollection',\n 'ProductionRunCompletionCollection',\n 'RoutingStepCollection',\n ],\n};\n"],"mappings":";AAaO,IAAM,yBAAuD;CAClE,kBAAkB;EAChB,IAAI;EACJ,OAAO;EACP,aACE;EACF,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,kBAAkB;EAChB,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aACE;EACF,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,uBAAuB;EACrB,IAAI;EACJ,OAAO;EACP,aACE;EACF,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,qBAAqB;EACnB,IAAI;EACJ,OAAO;EACP,aACE;EACF,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;AACF;AAIO,IAAM,4BAA4C;CACvD,MAAM;CACN,aAAa;CACb,aACE;CACF,SAAS;CACT,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
package/package.json CHANGED
@@ -1,33 +1,61 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-manufacturing",
3
- "version": "0.53.4",
3
+ "version": "0.53.6",
4
+ "smrtJsdoc": "strict",
4
5
  "description": "Bills of materials, cost rollup, and production-order operations for the SMRT framework — strictly industry-neutral",
5
6
  "type": "module",
6
7
  "main": "./dist/index.js",
7
8
  "types": "./dist/index.d.ts",
9
+ "smrtRawPrimitives": "strict",
8
10
  "files": [
9
11
  "dist",
10
12
  "CLAUDE.md",
11
- "AGENTS.md"
13
+ "AGENTS.md",
14
+ "agents"
12
15
  ],
13
16
  "exports": {
14
17
  ".": {
15
18
  "types": "./dist/index.d.ts",
16
19
  "import": "./dist/index.js"
17
20
  },
21
+ "./ui": {
22
+ "types": "./dist/ui.d.ts",
23
+ "import": "./dist/ui.js"
24
+ },
25
+ "./svelte": {
26
+ "types": "./dist/svelte/index.d.ts",
27
+ "svelte": "./dist/svelte/index.js",
28
+ "import": "./dist/svelte/index.js"
29
+ },
18
30
  "./manifest": "./dist/manifest.json",
19
31
  "./manifest.json": "./dist/manifest.json"
20
32
  },
21
33
  "dependencies": {
22
- "@happyvertical/logger": "^0.98.0",
23
- "@happyvertical/smrt-core": "0.53.4",
24
- "@happyvertical/smrt-inventory": "0.53.4",
25
- "@happyvertical/smrt-tenancy": "0.53.4",
26
- "@happyvertical/sql": "^0.98.0"
34
+ "@happyvertical/logger": "^0.100.3",
35
+ "@happyvertical/smrt-core": "0.53.6",
36
+ "@happyvertical/smrt-fields": "0.53.6",
37
+ "@happyvertical/smrt-inventory": "0.53.6",
38
+ "@happyvertical/smrt-products": "0.53.6",
39
+ "@happyvertical/smrt-tenancy": "0.53.6",
40
+ "@happyvertical/smrt-types": "0.53.6",
41
+ "@happyvertical/smrt-ui": "0.53.6",
42
+ "@happyvertical/sql": "^0.100.3"
43
+ },
44
+ "peerDependencies": {
45
+ "svelte": "^5.57.0"
46
+ },
47
+ "peerDependenciesMeta": {
48
+ "svelte": {
49
+ "optional": true
50
+ }
27
51
  },
28
52
  "devDependencies": {
29
- "@happyvertical/smrt-vitest": "0.53.4",
53
+ "@happyvertical/smrt-vitest": "0.53.6",
54
+ "@sveltejs/package": "^2.5.8",
55
+ "@sveltejs/vite-plugin-svelte": "^7.3.0",
30
56
  "@types/node": "24.13.6",
57
+ "svelte": "^5.57.1",
58
+ "svelte-check": "^4.7.6",
31
59
  "typescript": "6.0.3",
32
60
  "vite": "8.1.4",
33
61
  "vitest": "4.1.10"
@@ -38,7 +66,8 @@
38
66
  "bom",
39
67
  "bill-of-materials",
40
68
  "production",
41
- "cost-rollup"
69
+ "cost-rollup",
70
+ "assembly"
42
71
  ],
43
72
  "author": "HappyVertical",
44
73
  "license": "MIT",
@@ -52,13 +81,14 @@
52
81
  "directory": "packages/manufacturing"
53
82
  },
54
83
  "scripts": {
55
- "build": "vite build --mode library",
84
+ "build": "vite build --mode library && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json && node ../../scripts/prune-svelte-package-artifacts.js dist",
56
85
  "build:watch": "vite build --mode library --watch",
57
86
  "clean": "rm -rf dist",
58
87
  "dev": "vite dev",
59
88
  "test": "vitest run",
89
+ "test:postgres": "node ../../scripts/run-with-ci-postgres.mjs -- pnpm exec vitest run optional.test.ts",
60
90
  "test:watch": "vitest",
61
- "typecheck": "tsc --noEmit",
91
+ "typecheck": "tsc --noEmit -p tsconfig.json && node ../../scripts/svelte-check-a11y.mjs --tsconfig ./tsconfig.svelte.json",
62
92
  "verify:pack": "node ../../scripts/verify-package-types-exports.js ."
63
93
  }
64
94
  }