docworks 0.14.0 → 0.15.0-next.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.
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +9 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +6 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/reporter.d.ts +3 -3
- package/dist/utils/reporter.d.ts.map +1 -1
- package/dist/utils/reporter.js +56 -21
- package/dist/utils/reporter.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/check.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAMA,wBAAsB,KAAK,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAMA,wBAAsB,KAAK,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGhB"}
|
package/dist/commands/check.js
CHANGED
|
@@ -11,6 +11,8 @@ export async function check(options) {
|
|
|
11
11
|
config.provider = options.provider;
|
|
12
12
|
if (options.model)
|
|
13
13
|
config.model = options.model;
|
|
14
|
+
if (options.threshold !== undefined)
|
|
15
|
+
config.threshold = parseInt(options.threshold);
|
|
14
16
|
// Validate API key
|
|
15
17
|
const apiKey = process.env.OPENAI_API_KEY ||
|
|
16
18
|
process.env.ANTHROPIC_API_KEY ||
|
|
@@ -34,7 +36,11 @@ export async function check(options) {
|
|
|
34
36
|
}
|
|
35
37
|
// Add explicit journeys
|
|
36
38
|
if (config.journeys) {
|
|
37
|
-
Object.
|
|
39
|
+
for (const [journey, journeyConfig] of Object.entries(config.journeys)) {
|
|
40
|
+
allValidations[journey] = Array.isArray(journeyConfig)
|
|
41
|
+
? journeyConfig
|
|
42
|
+
: journeyConfig.questions;
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
45
|
// Check if we have anything to validate
|
|
40
46
|
if (Object.keys(allValidations).length === 0) {
|
|
@@ -63,12 +69,12 @@ export async function check(options) {
|
|
|
63
69
|
}
|
|
64
70
|
// Format output
|
|
65
71
|
if (options.format === 'json') {
|
|
66
|
-
console.log(formatJSON(results, sourceName));
|
|
72
|
+
console.log(formatJSON(results, sourceName, config));
|
|
67
73
|
const hasFailures = Object.values(results).some((questions) => questions.some((q) => q.answerable === 'NO'));
|
|
68
74
|
process.exit(hasFailures ? 1 : 0);
|
|
69
75
|
}
|
|
70
76
|
else {
|
|
71
|
-
const exitCode = formatReport(results);
|
|
77
|
+
const exitCode = formatReport(results, config);
|
|
72
78
|
process.exit(exitCode);
|
|
73
79
|
}
|
|
74
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE/D,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ program
|
|
|
26
26
|
.option('-f, --format <type>', 'Output: json or terminal', 'terminal')
|
|
27
27
|
.option('--provider <name>', 'Override provider')
|
|
28
28
|
.option('--model <name>', 'Override model')
|
|
29
|
+
.option('--threshold <number>', 'Override threshold (0-100)')
|
|
29
30
|
.action(check);
|
|
30
31
|
program.parse();
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,0DAA0D;AAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;IACrD,YAAY,EAAE,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,EAAE,QAAQ,CAAC;KACzE,MAAM,CAAC,IAAI,CAAC,CAAA;AAEf,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,cAAc,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,UAAU,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KAC1C,MAAM,CAAC,KAAK,CAAC,CAAA;AAEhB,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,0DAA0D;AAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;IACrD,YAAY,EAAE,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,EAAE,QAAQ,CAAC;KACzE,MAAM,CAAC,IAAI,CAAC,CAAA;AAEf,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,cAAc,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,UAAU,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KAC1C,MAAM,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;KAC5D,MAAM,CAAC,KAAK,CAAC,CAAA;AAEhB,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
export interface DocWorksConfig {
|
|
2
2
|
source: string;
|
|
3
|
+
threshold?: number;
|
|
3
4
|
questions?: string[];
|
|
4
|
-
journeys?: Record<string, string[]>;
|
|
5
|
+
journeys?: Record<string, JourneyConfig | string[]>;
|
|
5
6
|
provider?: string;
|
|
6
7
|
model?: string;
|
|
7
8
|
api_key?: string;
|
|
8
9
|
}
|
|
10
|
+
export interface JourneyConfig {
|
|
11
|
+
threshold?: number;
|
|
12
|
+
questions: string[];
|
|
13
|
+
}
|
|
9
14
|
export interface ValidationResult {
|
|
10
15
|
question: string;
|
|
11
16
|
answerable: 'YES' | 'PARTIAL' | 'NO';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CACtC"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAgC5E;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,GACrB,MAAM,CAUR"}
|
package/dist/utils/config.js
CHANGED
|
@@ -18,6 +18,19 @@ export async function loadConfig(configPath) {
|
|
|
18
18
|
if (!config.journeys && !config.questions) {
|
|
19
19
|
throw new Error('Config must have either "questions" or "journeys" section');
|
|
20
20
|
}
|
|
21
|
+
if (config.threshold !== undefined &&
|
|
22
|
+
(config.threshold < 0 || config.threshold > 100)) {
|
|
23
|
+
throw new Error('Threshold must be between 0 and 100');
|
|
24
|
+
}
|
|
21
25
|
return config;
|
|
22
26
|
}
|
|
27
|
+
export function getJourneyThreshold(journey, config) {
|
|
28
|
+
const journeyConfig = config.journeys?.[journey];
|
|
29
|
+
if (journeyConfig &&
|
|
30
|
+
!Array.isArray(journeyConfig) &&
|
|
31
|
+
journeyConfig.threshold !== undefined) {
|
|
32
|
+
return journeyConfig.threshold;
|
|
33
|
+
}
|
|
34
|
+
return config.threshold ?? 100;
|
|
35
|
+
}
|
|
23
36
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAGvB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAElD,yDAAyD;IACzD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1D,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,YAAY,IAAI,KAAK,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAElC,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,MAAwB,CAAA;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAGvB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAElD,yDAAyD;IACzD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1D,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,YAAY,IAAI,KAAK,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAElC,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IAED,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,EAChD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,MAAwB,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAsB;IAEtB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAA;IAChD,IACE,aAAa;QACb,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7B,aAAa,CAAC,SAAS,KAAK,SAAS,EACrC,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAA;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,IAAI,GAAG,CAAA;AAChC,CAAC"}
|
package/dist/utils/reporter.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JourneyResults } from '../types/config.js';
|
|
2
|
-
export declare function formatReport(results: JourneyResults): number;
|
|
3
|
-
export declare function formatJSON(results: JourneyResults, source: string): string;
|
|
1
|
+
import { JourneyResults, DocWorksConfig } from '../types/config.js';
|
|
2
|
+
export declare function formatReport(results: JourneyResults, config: DocWorksConfig): number;
|
|
3
|
+
export declare function formatJSON(results: JourneyResults, source: string, config: DocWorksConfig): string;
|
|
4
4
|
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/utils/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/utils/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EAEf,MAAM,oBAAoB,CAAA;AAG3B,wBAAgB,YAAY,CAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,cAAc,GACrB,MAAM,CAyFR;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,MAAM,CAiDR"}
|
package/dist/utils/reporter.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { getJourneyThreshold } from './config.js';
|
|
2
|
+
export function formatReport(results, config) {
|
|
2
3
|
let totalQuestions = 0;
|
|
3
4
|
let answeredQuestions = 0;
|
|
4
5
|
let partialQuestions = 0;
|
|
5
6
|
const failedJourneys = [];
|
|
6
|
-
//
|
|
7
|
+
// Check if any journeys have explicit thresholds
|
|
8
|
+
const hasJourneyThresholds = config.journeys &&
|
|
9
|
+
Object.entries(config.journeys).some(([_, journeyConfig]) => !Array.isArray(journeyConfig) && journeyConfig.threshold !== undefined);
|
|
10
|
+
// Calculate stats and check per-journey thresholds
|
|
7
11
|
for (const [journey, questions] of Object.entries(results)) {
|
|
8
12
|
const answered = questions.filter((q) => q.answerable === 'YES').length;
|
|
9
13
|
const partial = questions.filter((q) => q.answerable === 'PARTIAL').length;
|
|
@@ -11,8 +15,13 @@ export function formatReport(results) {
|
|
|
11
15
|
totalQuestions += questions.length;
|
|
12
16
|
answeredQuestions += answered;
|
|
13
17
|
partialQuestions += partial;
|
|
14
|
-
if
|
|
15
|
-
|
|
18
|
+
// Only check journey thresholds if we're using journey-specific mode
|
|
19
|
+
if (hasJourneyThresholds) {
|
|
20
|
+
const threshold = getJourneyThreshold(journey, config);
|
|
21
|
+
const journeyScore = Math.round((answered / questions.length) * 100);
|
|
22
|
+
if (journeyScore < threshold) {
|
|
23
|
+
failedJourneys.push(`${journey} (${journeyScore}% < ${threshold}%)`);
|
|
24
|
+
}
|
|
16
25
|
}
|
|
17
26
|
}
|
|
18
27
|
const score = Math.round((answeredQuestions / totalQuestions) * 100);
|
|
@@ -36,43 +45,69 @@ export function formatReport(results) {
|
|
|
36
45
|
}
|
|
37
46
|
// Summary
|
|
38
47
|
console.log('='.repeat(50));
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
const threshold = config.threshold ?? 100;
|
|
49
|
+
console.log(`\nOverall Score: ${score}/100 (Threshold: ${threshold})\n`);
|
|
50
|
+
// If any journeys are configured with thresholds, ONLY check those
|
|
51
|
+
// Otherwise check global
|
|
52
|
+
if (hasJourneyThresholds) {
|
|
53
|
+
// Only check journey thresholds
|
|
54
|
+
if (failedJourneys.length > 0) {
|
|
55
|
+
console.log('❌ Failed journeys:', failedJourneys.join(', '));
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log('✅ Documentation validation passed!');
|
|
60
|
+
return 0;
|
|
61
|
+
}
|
|
49
62
|
}
|
|
50
63
|
else {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
// Only check global threshold
|
|
65
|
+
if (score >= threshold) {
|
|
66
|
+
console.log('✅ Documentation validation passed!');
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.log(`❌ Documentation validation failed (${score}% < ${threshold}% threshold)`);
|
|
71
|
+
return 1;
|
|
72
|
+
}
|
|
54
73
|
}
|
|
55
74
|
}
|
|
56
|
-
export function formatJSON(results, source) {
|
|
75
|
+
export function formatJSON(results, source, config) {
|
|
57
76
|
const stats = {
|
|
58
77
|
total: 0,
|
|
59
78
|
answered: 0,
|
|
60
79
|
partial: 0,
|
|
61
80
|
missing: 0,
|
|
62
81
|
};
|
|
63
|
-
|
|
82
|
+
// Calculate pass/fail for each journey
|
|
83
|
+
const journeyResults = {};
|
|
84
|
+
for (const [journey, questions] of Object.entries(results)) {
|
|
85
|
+
const threshold = getJourneyThreshold(journey, config);
|
|
86
|
+
const score = Math.round((questions.filter((q) => q.answerable === 'YES').length /
|
|
87
|
+
questions.length) *
|
|
88
|
+
100);
|
|
89
|
+
journeyResults[journey] = {
|
|
90
|
+
score,
|
|
91
|
+
threshold,
|
|
92
|
+
passed: score >= threshold,
|
|
93
|
+
questions,
|
|
94
|
+
};
|
|
64
95
|
stats.total += questions.length;
|
|
65
96
|
stats.answered += questions.filter((q) => q.answerable === 'YES').length;
|
|
66
97
|
stats.partial += questions.filter((q) => q.answerable === 'PARTIAL').length;
|
|
67
98
|
stats.missing += questions.filter((q) => q.answerable === 'NO').length;
|
|
68
99
|
}
|
|
100
|
+
const overallScore = Math.round((stats.answered / stats.total) * 100);
|
|
101
|
+
const overallThreshold = config.threshold ?? 100;
|
|
69
102
|
return JSON.stringify({
|
|
70
103
|
version: '1.0.0',
|
|
71
104
|
timestamp: new Date().toISOString(),
|
|
72
105
|
source,
|
|
73
|
-
score:
|
|
106
|
+
score: overallScore,
|
|
107
|
+
threshold: overallThreshold,
|
|
108
|
+
passed: overallScore >= overallThreshold,
|
|
74
109
|
stats,
|
|
75
|
-
results,
|
|
110
|
+
results: journeyResults,
|
|
76
111
|
}, null, 2);
|
|
77
112
|
}
|
|
78
113
|
//# sourceMappingURL=reporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/utils/reporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/utils/reporter.ts"],"names":[],"mappings":"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"}
|