formulab 0.10.3 → 0.11.1

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 (51) hide show
  1. package/dist/ie/index.d.ts +7 -0
  2. package/dist/ie/index.d.ts.map +1 -0
  3. package/dist/ie/index.js +7 -0
  4. package/dist/ie/index.js.map +1 -0
  5. package/dist/ie/learningCurve.d.ts +19 -0
  6. package/dist/ie/learningCurve.d.ts.map +1 -0
  7. package/dist/ie/learningCurve.js +65 -0
  8. package/dist/ie/learningCurve.js.map +1 -0
  9. package/dist/ie/standardTime.d.ts +17 -0
  10. package/dist/ie/standardTime.d.ts.map +1 -0
  11. package/dist/ie/standardTime.js +36 -0
  12. package/dist/ie/standardTime.js.map +1 -0
  13. package/dist/ie/timeStudy.d.ts +20 -0
  14. package/dist/ie/timeStudy.d.ts.map +1 -0
  15. package/dist/ie/timeStudy.js +52 -0
  16. package/dist/ie/timeStudy.js.map +1 -0
  17. package/dist/ie/types.d.ts +84 -0
  18. package/dist/ie/types.d.ts.map +1 -0
  19. package/dist/ie/types.js +2 -0
  20. package/dist/ie/types.js.map +1 -0
  21. package/dist/ie/vaAnalysis.d.ts +15 -0
  22. package/dist/ie/vaAnalysis.d.ts.map +1 -0
  23. package/dist/ie/vaAnalysis.js +45 -0
  24. package/dist/ie/vaAnalysis.js.map +1 -0
  25. package/dist/ie/workSampling.d.ts +19 -0
  26. package/dist/ie/workSampling.d.ts.map +1 -0
  27. package/dist/ie/workSampling.js +45 -0
  28. package/dist/ie/workSampling.js.map +1 -0
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/quality/actionPriority.d.ts +18 -0
  34. package/dist/quality/actionPriority.d.ts.map +1 -0
  35. package/dist/quality/actionPriority.js +128 -0
  36. package/dist/quality/actionPriority.js.map +1 -0
  37. package/dist/quality/cpkToOccurrence.d.ts +13 -0
  38. package/dist/quality/cpkToOccurrence.d.ts.map +1 -0
  39. package/dist/quality/cpkToOccurrence.js +35 -0
  40. package/dist/quality/cpkToOccurrence.js.map +1 -0
  41. package/dist/quality/index.d.ts +4 -1
  42. package/dist/quality/index.d.ts.map +1 -1
  43. package/dist/quality/index.js +3 -0
  44. package/dist/quality/index.js.map +1 -1
  45. package/dist/quality/nelsonRules.d.ts +16 -0
  46. package/dist/quality/nelsonRules.d.ts.map +1 -0
  47. package/dist/quality/nelsonRules.js +213 -0
  48. package/dist/quality/nelsonRules.js.map +1 -0
  49. package/dist/quality/types.d.ts +45 -0
  50. package/dist/quality/types.d.ts.map +1 -1
  51. package/package.json +46 -18
@@ -0,0 +1,128 @@
1
+ /**
2
+ * AIAG-VDA 2019 Action Priority (AP) Matrix
3
+ *
4
+ * Replaces the traditional RPN-based prioritization with a structured
5
+ * S × O × D matrix lookup that better reflects risk relationships.
6
+ *
7
+ * @formula AP = lookup(severityGroup, occurrenceGroup, detectionGroup)
8
+ * - RPN = S × O × D (still computed for reference)
9
+ *
10
+ * @reference AIAG & VDA (2019). "FMEA Handbook", 1st Edition.
11
+ *
12
+ * @throws {RangeError} Severity must be between 1 and 10
13
+ * @throws {RangeError} Occurrence must be between 1 and 10
14
+ * @throws {RangeError} Detection must be between 1 and 10
15
+ */
16
+ export function actionPriority(input) {
17
+ const { severity, occurrence, detection } = input;
18
+ if (!Number.isFinite(severity) || severity < 1 || severity > 10) {
19
+ throw new RangeError('Severity must be between 1 and 10');
20
+ }
21
+ if (!Number.isFinite(occurrence) || occurrence < 1 || occurrence > 10) {
22
+ throw new RangeError('Occurrence must be between 1 and 10');
23
+ }
24
+ if (!Number.isFinite(detection) || detection < 1 || detection > 10) {
25
+ throw new RangeError('Detection must be between 1 and 10');
26
+ }
27
+ const s = Math.round(severity);
28
+ const o = Math.round(occurrence);
29
+ const d = Math.round(detection);
30
+ const sGroup = getGroup(s, S_GROUPS);
31
+ const oGroup = getGroup(o, O_GROUPS);
32
+ const dGroup = getGroup(d, D_GROUPS);
33
+ const ap = AP_TABLE[sGroup][oGroup][dGroup];
34
+ const rpn = s * o * d;
35
+ return {
36
+ actionPriority: ap,
37
+ rpn,
38
+ severityGroup: sGroup,
39
+ occurrenceGroup: oGroup,
40
+ detectionGroup: dGroup,
41
+ };
42
+ }
43
+ // Group mapping: value → group index (0-4)
44
+ const S_GROUPS = [[1, 0], [3, 1], [6, 2], [8, 3], [10, 4]];
45
+ const O_GROUPS = [[1, 0], [3, 1], [6, 2], [8, 3], [10, 4]];
46
+ const D_GROUPS = [[1, 0], [4, 1], [6, 2], [8, 3], [10, 4]];
47
+ function getGroup(value, groups) {
48
+ for (const [max, group] of groups) {
49
+ if (value <= max)
50
+ return group;
51
+ }
52
+ return groups[groups.length - 1][1];
53
+ }
54
+ const H = 'H';
55
+ const M = 'M';
56
+ const L = 'L';
57
+ /**
58
+ * AP lookup table: AP_TABLE[sGroup][oGroup][dGroup]
59
+ * S groups: {1}=0, {2-3}=1, {4-6}=2, {7-8}=3, {9-10}=4
60
+ * O groups: {1}=0, {2-3}=1, {4-6}=2, {7-8}=3, {9-10}=4
61
+ * D groups: {1}=0, {2-4}=1, {5-6}=2, {7-8}=3, {9-10}=4
62
+ *
63
+ * Table columns are D in order: {9-10}, {7-8}, {5-6}, {2-4}, {1}
64
+ * So dGroup 4→col0, 3→col1, 2→col2, 1→col3, 0→col4
65
+ */
66
+ const AP_TABLE = buildApTable();
67
+ function buildApTable() {
68
+ // Raw table: [sGroup][oGroup] → [D={9-10}, D={7-8}, D={5-6}, D={2-4}, D={1}]
69
+ const raw = [
70
+ // S=1 (sGroup=0)
71
+ [
72
+ /* O=1 */ [L, L, L, L, L],
73
+ /* O=2-3 */ [L, L, L, L, L],
74
+ /* O=4-6 */ [M, L, L, L, L],
75
+ /* O=7-8 */ [M, M, L, L, L],
76
+ /* O=9-10 */ [H, M, M, L, L],
77
+ ],
78
+ // S=2-3 (sGroup=1)
79
+ [
80
+ /* O=1 */ [L, L, L, L, L],
81
+ /* O=2-3 */ [M, L, L, L, L],
82
+ /* O=4-6 */ [M, M, L, L, L],
83
+ /* O=7-8 */ [H, M, M, L, L],
84
+ /* O=9-10 */ [H, H, M, M, L],
85
+ ],
86
+ // S=4-6 (sGroup=2)
87
+ [
88
+ /* O=1 */ [M, L, L, L, L],
89
+ /* O=2-3 */ [M, M, L, L, L],
90
+ /* O=4-6 */ [H, M, M, L, L],
91
+ /* O=7-8 */ [H, H, M, M, L],
92
+ /* O=9-10 */ [H, H, H, M, M],
93
+ ],
94
+ // S=7-8 (sGroup=3)
95
+ [
96
+ /* O=1 */ [M, M, L, L, L],
97
+ /* O=2-3 */ [H, M, M, L, L],
98
+ /* O=4-6 */ [H, H, M, M, L],
99
+ /* O=7-8 */ [H, H, H, M, M],
100
+ /* O=9-10 */ [H, H, H, H, H],
101
+ ],
102
+ // S=9-10 (sGroup=4)
103
+ [
104
+ /* O=1 */ [H, M, M, L, L],
105
+ /* O=2-3 */ [H, H, M, M, L],
106
+ /* O=4-6 */ [H, H, H, M, M],
107
+ /* O=7-8 */ [H, H, H, H, H],
108
+ /* O=9-10 */ [H, H, H, H, H],
109
+ ],
110
+ ];
111
+ // Convert raw table: columns are D={9-10}(4), D={7-8}(3), D={5-6}(2), D={2-4}(1), D={1}(0)
112
+ // We need AP_TABLE[s][o][dGroup] where dGroup 0={1}, 1={2-4}, 2={5-6}, 3={7-8}, 4={9-10}
113
+ const table = [];
114
+ for (let s = 0; s < 5; s++) {
115
+ table[s] = [];
116
+ for (let o = 0; o < 5; o++) {
117
+ table[s][o] = [
118
+ raw[s][o][4], // dGroup 0 ({1}) ← col 4
119
+ raw[s][o][3], // dGroup 1 ({2-4}) ← col 3
120
+ raw[s][o][2], // dGroup 2 ({5-6}) ← col 2
121
+ raw[s][o][1], // dGroup 3 ({7-8}) ← col 1
122
+ raw[s][o][0], // dGroup 4 ({9-10}) ← col 0
123
+ ];
124
+ }
125
+ }
126
+ return table;
127
+ }
128
+ //# sourceMappingURL=actionPriority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionPriority.js","sourceRoot":"","sources":["../../src/quality/actionPriority.ts"],"names":[],"mappings":"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,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,mBAAmB;QACnB;YACE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,mBAAmB;QACnB;YACE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,mBAAmB;QACnB;YACE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,oBAAoB;QACpB;YACE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7B;KACF,CAAC;IAEF,2FAA2F;IAC3F,yFAAyF;IACzF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;gBACZ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,4BAA4B;gBAC1C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,6BAA6B;gBAC3C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,6BAA6B;gBAC3C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,6BAA6B;gBAC3C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,6BAA6B;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CpkToOccurrenceInput, CpkToOccurrenceResult } from './types.js';
2
+ /**
3
+ * Map Cpk (Process Capability Index) to FMEA Occurrence rating
4
+ *
5
+ * Based on AIAG-VDA FMEA Handbook correlation between process capability
6
+ * and occurrence likelihood.
7
+ *
8
+ * @reference AIAG & VDA (2019). "FMEA Handbook", 1st Edition, Table O-1.
9
+ *
10
+ * @throws {RangeError} Cpk must be a non-negative number
11
+ */
12
+ export declare function cpkToOccurrence(input: CpkToOccurrenceInput): CpkToOccurrenceResult;
13
+ //# sourceMappingURL=cpkToOccurrence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpkToOccurrence.d.ts","sourceRoot":"","sources":["../../src/quality/cpkToOccurrence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAclF"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Map Cpk (Process Capability Index) to FMEA Occurrence rating
3
+ *
4
+ * Based on AIAG-VDA FMEA Handbook correlation between process capability
5
+ * and occurrence likelihood.
6
+ *
7
+ * @reference AIAG & VDA (2019). "FMEA Handbook", 1st Edition, Table O-1.
8
+ *
9
+ * @throws {RangeError} Cpk must be a non-negative number
10
+ */
11
+ export function cpkToOccurrence(input) {
12
+ const { cpk } = input;
13
+ if (!Number.isFinite(cpk) || cpk < 0) {
14
+ throw new RangeError('Cpk must be a non-negative number');
15
+ }
16
+ const entry = CPK_TABLE.find(row => cpk >= row.threshold);
17
+ return {
18
+ occurrence: entry.occurrence,
19
+ description: entry.description,
20
+ cpkRange: entry.cpkRange,
21
+ };
22
+ }
23
+ const CPK_TABLE = [
24
+ { threshold: 2.00, occurrence: 1, description: 'Remote: Failure unlikely', cpkRange: '>= 2.00' },
25
+ { threshold: 1.67, occurrence: 2, description: 'Very low: Few failures', cpkRange: '1.67 - 1.99' },
26
+ { threshold: 1.33, occurrence: 3, description: 'Low: Relatively few failures', cpkRange: '1.33 - 1.66' },
27
+ { threshold: 1.00, occurrence: 4, description: 'Moderately low: Occasional failures', cpkRange: '1.00 - 1.32' },
28
+ { threshold: 0.83, occurrence: 5, description: 'Moderate: Medium number of failures', cpkRange: '0.83 - 0.99' },
29
+ { threshold: 0.67, occurrence: 6, description: 'Moderately high: Frequent failures', cpkRange: '0.67 - 0.82' },
30
+ { threshold: 0.51, occurrence: 7, description: 'High: Many failures', cpkRange: '0.51 - 0.66' },
31
+ { threshold: 0.33, occurrence: 8, description: 'Very high: Repeated failures', cpkRange: '0.33 - 0.50' },
32
+ { threshold: 0.17, occurrence: 9, description: 'Extremely high: Persistent failures', cpkRange: '0.17 - 0.32' },
33
+ { threshold: -Infinity, occurrence: 10, description: 'Almost certain: Failure is inevitable', cpkRange: '< 0.17' },
34
+ ];
35
+ //# sourceMappingURL=cpkToOccurrence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpkToOccurrence.js","sourceRoot":"","sources":["../../src/quality/cpkToOccurrence.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAE,CAAC;IAE3D,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAuF;IACpG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,0BAA0B,EAAqB,QAAQ,EAAE,SAAS,EAAE;IACpH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,wBAAwB,EAAuB,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,8BAA8B,EAAiB,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,qCAAqC,EAAU,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,qCAAqC,EAAU,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,oCAAoC,EAAW,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,qBAAqB,EAA0B,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,8BAA8B,EAAiB,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAG,WAAW,EAAE,qCAAqC,EAAU,QAAQ,EAAE,aAAa,EAAE;IACxH,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAI,QAAQ,EAAE,QAAQ,EAAE;CACrH,CAAC"}
@@ -16,5 +16,8 @@ export { gageRR } from './gageRR.js';
16
16
  export { cmk } from './cmk.js';
17
17
  export { weibull } from './weibull.js';
18
18
  export { paretoAnalysis } from './paretoAnalysis.js';
19
- export type { OeeRawData, OeeInput, OeeResult, CpkInput, CpkResult, CycleTimeInput, CycleTimeResult, TimeUnit, TaktTimeInput, TaktTimeResult, InspectionLevel, AqlInput, AqlResult, DowntimeInput, DowntimeResult, DpmoInput, DpmoResult, BalancingTask, LineBalancingInput, WorkStation, PositionalWeight, LineBalancingResult, MtbfInput, MtbfResult, PpkInput, PpkResult, ConvertFrom, PpmInput, PpmResult, RpnInput, RiskLevel, RpnResult, YieldInput, YieldResult, ControlChartType, ControlChartInput, ControlLimit, SubgroupStat, ControlChartResult, GageRRInput, GageRRResult, CmkInput, CmkResult, WeibullInput, WeibullResult, ParetoItem, ParetoInput, ParetoClassification, ParetoResult, } from './types.js';
19
+ export { actionPriority } from './actionPriority.js';
20
+ export { cpkToOccurrence } from './cpkToOccurrence.js';
21
+ export { nelsonRules } from './nelsonRules.js';
22
+ export type { OeeRawData, OeeInput, OeeResult, CpkInput, CpkResult, CycleTimeInput, CycleTimeResult, TimeUnit, TaktTimeInput, TaktTimeResult, InspectionLevel, AqlInput, AqlResult, DowntimeInput, DowntimeResult, DpmoInput, DpmoResult, BalancingTask, LineBalancingInput, WorkStation, PositionalWeight, LineBalancingResult, MtbfInput, MtbfResult, PpkInput, PpkResult, ConvertFrom, PpmInput, PpmResult, RpnInput, RiskLevel, RpnResult, YieldInput, YieldResult, ControlChartType, ControlChartInput, ControlLimit, SubgroupStat, ControlChartResult, GageRRInput, GageRRResult, CmkInput, CmkResult, WeibullInput, WeibullResult, ParetoItem, ParetoInput, ParetoClassification, ParetoResult, ActionPriorityLevel, ActionPriorityInput, ActionPriorityResult, CpkToOccurrenceInput, CpkToOccurrenceResult, NelsonRulesInput, NelsonViolation, NelsonRulesResult, } from './types.js';
20
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,YAAY,EAEV,UAAU,EACV,QAAQ,EACR,SAAS,EAET,QAAQ,EACR,SAAS,EAET,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,aAAa,EACb,cAAc,EAEd,eAAe,EACf,QAAQ,EACR,SAAS,EAET,aAAa,EACb,cAAc,EAEd,SAAS,EACT,UAAU,EAEV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EAEnB,SAAS,EACT,UAAU,EAEV,QAAQ,EACR,SAAS,EAET,WAAW,EACX,QAAQ,EACR,SAAS,EAET,QAAQ,EACR,SAAS,EACT,SAAS,EAET,UAAU,EACV,WAAW,EAEX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAElB,WAAW,EACX,YAAY,EAEZ,QAAQ,EACR,SAAS,EAET,YAAY,EACZ,aAAa,EAEb,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,YAAY,EAEV,UAAU,EACV,QAAQ,EACR,SAAS,EAET,QAAQ,EACR,SAAS,EAET,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,aAAa,EACb,cAAc,EAEd,eAAe,EACf,QAAQ,EACR,SAAS,EAET,aAAa,EACb,cAAc,EAEd,SAAS,EACT,UAAU,EAEV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EAEnB,SAAS,EACT,UAAU,EAEV,QAAQ,EACR,SAAS,EAET,WAAW,EACX,QAAQ,EACR,SAAS,EAET,QAAQ,EACR,SAAS,EACT,SAAS,EAET,UAAU,EACV,WAAW,EAEX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAElB,WAAW,EACX,YAAY,EAEZ,QAAQ,EACR,SAAS,EAET,YAAY,EACZ,aAAa,EAEb,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EAEZ,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EAErB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -17,4 +17,7 @@ export { gageRR } from './gageRR.js';
17
17
  export { cmk } from './cmk.js';
18
18
  export { weibull } from './weibull.js';
19
19
  export { paretoAnalysis } from './paretoAnalysis.js';
20
+ export { actionPriority } from './actionPriority.js';
21
+ export { cpkToOccurrence } from './cpkToOccurrence.js';
22
+ export { nelsonRules } from './nelsonRules.js';
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { NelsonRulesInput, NelsonRulesResult } from './types.js';
2
+ /**
3
+ * Nelson Rules for SPC Control Chart Analysis
4
+ *
5
+ * Eight rules to detect non-random patterns in control chart data,
6
+ * indicating special cause variation.
7
+ *
8
+ * @reference Nelson, L.S. (1984). "The Shewhart Control Chart — Tests for Special Causes".
9
+ * Journal of Quality Technology, 16(4), 237-239.
10
+ * @reference Western Electric (1956). "Statistical Quality Control Handbook".
11
+ *
12
+ * @throws {RangeError} Values array must have at least 1 element
13
+ * @throws {RangeError} Sigma must be a positive number
14
+ */
15
+ export declare function nelsonRules(input: NelsonRulesInput): NelsonRulesResult;
16
+ //# sourceMappingURL=nelsonRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nelsonRules.d.ts","sourceRoot":"","sources":["../../src/quality/nelsonRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAC;AAEvF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAqCtE"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Nelson Rules for SPC Control Chart Analysis
3
+ *
4
+ * Eight rules to detect non-random patterns in control chart data,
5
+ * indicating special cause variation.
6
+ *
7
+ * @reference Nelson, L.S. (1984). "The Shewhart Control Chart — Tests for Special Causes".
8
+ * Journal of Quality Technology, 16(4), 237-239.
9
+ * @reference Western Electric (1956). "Statistical Quality Control Handbook".
10
+ *
11
+ * @throws {RangeError} Values array must have at least 1 element
12
+ * @throws {RangeError} Sigma must be a positive number
13
+ */
14
+ export function nelsonRules(input) {
15
+ const { values, centerLine, sigma, rules = [1, 2, 3, 4, 5, 6, 7, 8] } = input;
16
+ if (!Array.isArray(values) || values.length < 1) {
17
+ throw new RangeError('Values array must have at least 1 element');
18
+ }
19
+ if (!Number.isFinite(sigma) || sigma <= 0) {
20
+ throw new RangeError('Sigma must be a positive number');
21
+ }
22
+ if (!Number.isFinite(centerLine)) {
23
+ throw new RangeError('Center line must be a finite number');
24
+ }
25
+ const violations = [];
26
+ const ruleCheckers = {
27
+ 1: () => checkRule1(values, centerLine, sigma),
28
+ 2: () => checkRule2(values, centerLine),
29
+ 3: () => checkRule3(values),
30
+ 4: () => checkRule4(values),
31
+ 5: () => checkRule5(values, centerLine, sigma),
32
+ 6: () => checkRule6(values, centerLine, sigma),
33
+ 7: () => checkRule7(values, centerLine, sigma),
34
+ 8: () => checkRule8(values, centerLine, sigma),
35
+ };
36
+ for (const rule of rules) {
37
+ if (rule >= 1 && rule <= 8) {
38
+ const result = ruleCheckers[rule]();
39
+ if (result)
40
+ violations.push(result);
41
+ }
42
+ }
43
+ return {
44
+ violations,
45
+ hasViolation: violations.length > 0,
46
+ };
47
+ }
48
+ const RULE_DESCRIPTIONS = {
49
+ 1: 'One point beyond 3σ from center line',
50
+ 2: 'Nine consecutive points on same side of center line',
51
+ 3: 'Six consecutive points steadily increasing or decreasing',
52
+ 4: 'Fourteen consecutive points alternating up and down',
53
+ 5: 'Two of three consecutive points beyond 2σ (same side)',
54
+ 6: 'Four of five consecutive points beyond 1σ (same side)',
55
+ 7: 'Fifteen consecutive points within ±1σ (stratification)',
56
+ 8: 'Eight consecutive points beyond ±1σ on both sides (mixture)',
57
+ };
58
+ // Rule 1: One point > 3σ from CL
59
+ function checkRule1(values, cl, sigma) {
60
+ const indices = [];
61
+ for (let i = 0; i < values.length; i++) {
62
+ if (Math.abs(values[i] - cl) > 3 * sigma) {
63
+ indices.push(i);
64
+ }
65
+ }
66
+ return indices.length > 0 ? { rule: 1, description: RULE_DESCRIPTIONS[1], indices } : null;
67
+ }
68
+ // Rule 2: Nine consecutive points on same side of CL
69
+ function checkRule2(values, cl) {
70
+ const indices = [];
71
+ const n = values.length;
72
+ if (n < 9)
73
+ return null;
74
+ for (let i = 0; i <= n - 9; i++) {
75
+ const above = values.slice(i, i + 9).every(v => v > cl);
76
+ const below = values.slice(i, i + 9).every(v => v < cl);
77
+ if (above || below) {
78
+ for (let j = i; j < i + 9; j++) {
79
+ if (!indices.includes(j))
80
+ indices.push(j);
81
+ }
82
+ }
83
+ }
84
+ return indices.length > 0 ? { rule: 2, description: RULE_DESCRIPTIONS[2], indices } : null;
85
+ }
86
+ // Rule 3: Six consecutive points steadily increasing or decreasing
87
+ function checkRule3(values) {
88
+ const indices = [];
89
+ const n = values.length;
90
+ if (n < 6)
91
+ return null;
92
+ for (let i = 0; i <= n - 6; i++) {
93
+ let increasing = true;
94
+ let decreasing = true;
95
+ for (let j = i; j < i + 5; j++) {
96
+ if (values[j + 1] <= values[j])
97
+ increasing = false;
98
+ if (values[j + 1] >= values[j])
99
+ decreasing = false;
100
+ }
101
+ if (increasing || decreasing) {
102
+ for (let j = i; j < i + 6; j++) {
103
+ if (!indices.includes(j))
104
+ indices.push(j);
105
+ }
106
+ }
107
+ }
108
+ return indices.length > 0 ? { rule: 3, description: RULE_DESCRIPTIONS[3], indices } : null;
109
+ }
110
+ // Rule 4: Fourteen consecutive points alternating up and down
111
+ function checkRule4(values) {
112
+ const indices = [];
113
+ const n = values.length;
114
+ if (n < 14)
115
+ return null;
116
+ for (let i = 0; i <= n - 14; i++) {
117
+ let alternating = true;
118
+ for (let j = i; j < i + 13; j++) {
119
+ const dir1 = values[j + 1] - values[j];
120
+ const dir2 = j + 2 < values.length ? values[j + 2] - values[j + 1] : 0;
121
+ if (j < i + 12 && dir1 * dir2 >= 0) {
122
+ alternating = false;
123
+ break;
124
+ }
125
+ }
126
+ if (alternating) {
127
+ for (let j = i; j < i + 14; j++) {
128
+ if (!indices.includes(j))
129
+ indices.push(j);
130
+ }
131
+ }
132
+ }
133
+ return indices.length > 0 ? { rule: 4, description: RULE_DESCRIPTIONS[4], indices } : null;
134
+ }
135
+ // Rule 5: Two of three consecutive points > 2σ from CL (same side)
136
+ function checkRule5(values, cl, sigma) {
137
+ const indices = [];
138
+ const n = values.length;
139
+ if (n < 3)
140
+ return null;
141
+ for (let i = 0; i <= n - 3; i++) {
142
+ const window = values.slice(i, i + 3);
143
+ const aboveCount = window.filter(v => v > cl + 2 * sigma).length;
144
+ const belowCount = window.filter(v => v < cl - 2 * sigma).length;
145
+ if (aboveCount >= 2 || belowCount >= 2) {
146
+ for (let j = i; j < i + 3; j++) {
147
+ if (!indices.includes(j))
148
+ indices.push(j);
149
+ }
150
+ }
151
+ }
152
+ return indices.length > 0 ? { rule: 5, description: RULE_DESCRIPTIONS[5], indices } : null;
153
+ }
154
+ // Rule 6: Four of five consecutive points > 1σ from CL (same side)
155
+ function checkRule6(values, cl, sigma) {
156
+ const indices = [];
157
+ const n = values.length;
158
+ if (n < 5)
159
+ return null;
160
+ for (let i = 0; i <= n - 5; i++) {
161
+ const window = values.slice(i, i + 5);
162
+ const aboveCount = window.filter(v => v > cl + sigma).length;
163
+ const belowCount = window.filter(v => v < cl - sigma).length;
164
+ if (aboveCount >= 4 || belowCount >= 4) {
165
+ for (let j = i; j < i + 5; j++) {
166
+ if (!indices.includes(j))
167
+ indices.push(j);
168
+ }
169
+ }
170
+ }
171
+ return indices.length > 0 ? { rule: 6, description: RULE_DESCRIPTIONS[6], indices } : null;
172
+ }
173
+ // Rule 7: Fifteen consecutive points within ±1σ (stratification)
174
+ function checkRule7(values, cl, sigma) {
175
+ const indices = [];
176
+ const n = values.length;
177
+ if (n < 15)
178
+ return null;
179
+ for (let i = 0; i <= n - 15; i++) {
180
+ const allWithin = values.slice(i, i + 15).every(v => Math.abs(v - cl) < sigma);
181
+ if (allWithin) {
182
+ for (let j = i; j < i + 15; j++) {
183
+ if (!indices.includes(j))
184
+ indices.push(j);
185
+ }
186
+ }
187
+ }
188
+ return indices.length > 0 ? { rule: 7, description: RULE_DESCRIPTIONS[7], indices } : null;
189
+ }
190
+ // Rule 8: Eight consecutive points beyond ±1σ on both sides (mixture)
191
+ function checkRule8(values, cl, sigma) {
192
+ const indices = [];
193
+ const n = values.length;
194
+ if (n < 8)
195
+ return null;
196
+ for (let i = 0; i <= n - 8; i++) {
197
+ const window = values.slice(i, i + 8);
198
+ const allBeyond = window.every(v => Math.abs(v - cl) > sigma);
199
+ if (!allBeyond)
200
+ continue;
201
+ // Must have points on both sides
202
+ const hasAbove = window.some(v => v > cl + sigma);
203
+ const hasBelow = window.some(v => v < cl - sigma);
204
+ if (hasAbove && hasBelow) {
205
+ for (let j = i; j < i + 8; j++) {
206
+ if (!indices.includes(j))
207
+ indices.push(j);
208
+ }
209
+ }
210
+ }
211
+ return indices.length > 0 ? { rule: 8, description: RULE_DESCRIPTIONS[8], indices } : null;
212
+ }
213
+ //# sourceMappingURL=nelsonRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nelsonRules.js","sourceRoot":"","sources":["../../src/quality/nelsonRules.ts"],"names":[],"mappings":"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"}
@@ -339,6 +339,51 @@ export interface WeibullResult {
339
339
  b50Life: number;
340
340
  failureMode: 'infant' | 'random' | 'wearout';
341
341
  }
342
+ /**
343
+ * Action Priority (AP) Types — AIAG-VDA 2019
344
+ */
345
+ export type ActionPriorityLevel = 'H' | 'M' | 'L';
346
+ export interface ActionPriorityInput {
347
+ severity: number;
348
+ occurrence: number;
349
+ detection: number;
350
+ }
351
+ export interface ActionPriorityResult {
352
+ actionPriority: ActionPriorityLevel;
353
+ rpn: number;
354
+ severityGroup: number;
355
+ occurrenceGroup: number;
356
+ detectionGroup: number;
357
+ }
358
+ /**
359
+ * Cpk to Occurrence Mapping Types
360
+ */
361
+ export interface CpkToOccurrenceInput {
362
+ cpk: number;
363
+ }
364
+ export interface CpkToOccurrenceResult {
365
+ occurrence: number;
366
+ description: string;
367
+ cpkRange: string;
368
+ }
369
+ /**
370
+ * Nelson Rules Types
371
+ */
372
+ export interface NelsonRulesInput {
373
+ values: number[];
374
+ centerLine: number;
375
+ sigma: number;
376
+ rules?: number[];
377
+ }
378
+ export interface NelsonViolation {
379
+ rule: number;
380
+ description: string;
381
+ indices: number[];
382
+ }
383
+ export interface NelsonRulesResult {
384
+ violations: NelsonViolation[];
385
+ hasViolation: boolean;
386
+ }
342
387
  /**
343
388
  * Pareto Analysis Types
344
389
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/quality/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/quality/types.ts"],"names":[],"mappings":"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"}