@contractual/governance 0.1.0-dev.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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/dist/differs/index.d.ts +11 -0
  3. package/dist/differs/index.d.ts.map +1 -0
  4. package/dist/differs/index.js +11 -0
  5. package/dist/differs/index.js.map +1 -0
  6. package/dist/differs/json-schema/index.d.ts +8 -0
  7. package/dist/differs/json-schema/index.d.ts.map +1 -0
  8. package/dist/differs/json-schema/index.js +9 -0
  9. package/dist/differs/json-schema/index.js.map +1 -0
  10. package/dist/differs/openapi-diff.d.ts +22 -0
  11. package/dist/differs/openapi-diff.d.ts.map +1 -0
  12. package/dist/differs/openapi-diff.js +113 -0
  13. package/dist/differs/openapi-diff.js.map +1 -0
  14. package/dist/index.d.ts +22 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +44 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/linters/index.d.ts +9 -0
  19. package/dist/linters/index.d.ts.map +1 -0
  20. package/dist/linters/index.js +11 -0
  21. package/dist/linters/index.js.map +1 -0
  22. package/dist/linters/json-schema-ajv.d.ts +42 -0
  23. package/dist/linters/json-schema-ajv.d.ts.map +1 -0
  24. package/dist/linters/json-schema-ajv.js +146 -0
  25. package/dist/linters/json-schema-ajv.js.map +1 -0
  26. package/dist/linters/json-schema-rules.d.ts +42 -0
  27. package/dist/linters/json-schema-rules.d.ts.map +1 -0
  28. package/dist/linters/json-schema-rules.js +747 -0
  29. package/dist/linters/json-schema-rules.js.map +1 -0
  30. package/dist/linters/openapi-redocly.d.ts +15 -0
  31. package/dist/linters/openapi-redocly.d.ts.map +1 -0
  32. package/dist/linters/openapi-redocly.js +69 -0
  33. package/dist/linters/openapi-redocly.js.map +1 -0
  34. package/dist/registry.d.ts +48 -0
  35. package/dist/registry.d.ts.map +1 -0
  36. package/dist/registry.js +178 -0
  37. package/dist/registry.js.map +1 -0
  38. package/dist/runner.d.ts +32 -0
  39. package/dist/runner.d.ts.map +1 -0
  40. package/dist/runner.js +321 -0
  41. package/dist/runner.js.map +1 -0
  42. package/dist/tsconfig.build.tsbuildinfo +1 -0
  43. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-rules.js","sourceRoot":"","sources":["../../linters/json-schema-rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * OpenAPI Linter using @redocly/openapi-core
3
+ *
4
+ * Wraps Redocly's OpenAPI linting library to validate OpenAPI specs.
5
+ * Users can place a .redocly.yaml in their repo for custom rules.
6
+ */
7
+ import type { LintResult } from '@contractual/types';
8
+ /**
9
+ * Lint an OpenAPI specification using Redocly
10
+ *
11
+ * @param specPath - Path to the OpenAPI spec file
12
+ * @returns Lint result with errors and warnings
13
+ */
14
+ export declare function lintOpenAPI(specPath: string): Promise<LintResult>;
15
+ //# sourceMappingURL=openapi-redocly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-redocly.d.ts","sourceRoot":"","sources":["../../linters/openapi-redocly.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,oBAAoB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA8DvE"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * OpenAPI Linter using @redocly/openapi-core
3
+ *
4
+ * Wraps Redocly's OpenAPI linting library to validate OpenAPI specs.
5
+ * Users can place a .redocly.yaml in their repo for custom rules.
6
+ */
7
+ /**
8
+ * Lint an OpenAPI specification using Redocly
9
+ *
10
+ * @param specPath - Path to the OpenAPI spec file
11
+ * @returns Lint result with errors and warnings
12
+ */
13
+ export async function lintOpenAPI(specPath) {
14
+ // Dynamic import to handle the library being optional
15
+ let lint;
16
+ let loadConfig;
17
+ try {
18
+ const redocly = await import('@redocly/openapi-core');
19
+ lint = redocly.lint;
20
+ loadConfig = redocly.loadConfig;
21
+ }
22
+ catch {
23
+ throw new Error('OpenAPI linting requires @redocly/openapi-core. ' +
24
+ 'Install it with: npm install @redocly/openapi-core');
25
+ }
26
+ const errors = [];
27
+ const warnings = [];
28
+ try {
29
+ // Load config from .redocly.yaml if present, or use defaults
30
+ const config = await loadConfig();
31
+ // Run the linter
32
+ const results = await lint({
33
+ ref: specPath,
34
+ config,
35
+ });
36
+ // Process problems
37
+ for (const problem of results) {
38
+ const issue = {
39
+ path: problem.location?.[0]?.pointer ?? '',
40
+ message: problem.message,
41
+ rule: problem.ruleId,
42
+ severity: problem.severity === 'error' ? 'error' : 'warning',
43
+ };
44
+ if (issue.severity === 'error') {
45
+ errors.push(issue);
46
+ }
47
+ else {
48
+ warnings.push(issue);
49
+ }
50
+ }
51
+ }
52
+ catch (error) {
53
+ // Handle parse errors or file not found
54
+ const message = error instanceof Error ? error.message : 'Unknown error during linting';
55
+ errors.push({
56
+ path: '/',
57
+ message,
58
+ rule: 'parse-error',
59
+ severity: 'error',
60
+ });
61
+ }
62
+ return {
63
+ contract: '', // Filled by caller
64
+ specPath,
65
+ errors,
66
+ warnings,
67
+ };
68
+ }
69
+ //# sourceMappingURL=openapi-redocly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-redocly.js","sourceRoot":"","sources":["../../linters/openapi-redocly.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,sDAAsD;IACtD,IAAI,IAAiD,CAAC;IACtD,IAAI,UAA6D,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,oDAAoD,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAElC,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;YACzB,GAAG,EAAE,QAAQ;YACb,MAAM;SACP,CAAC,CAAC;QAEH,mBAAmB;QACnB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAc;gBACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;gBAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC7D,CAAC;YAEF,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,wCAAwC;QACxC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG;YACT,OAAO;YACP,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,EAAE,mBAAmB;QACjC,QAAQ;QACR,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Governance Registry
3
+ *
4
+ * Central registry for linters and differs. CLI Core uses this to resolve
5
+ * the correct engine for each contract type.
6
+ */
7
+ import type { LintFn, DiffFn, ContractType } from '@contractual/types';
8
+ /**
9
+ * Register a linter for a contract type
10
+ */
11
+ export declare function registerLinter(type: ContractType, linter: LintFn): void;
12
+ /**
13
+ * Register a differ for a contract type
14
+ */
15
+ export declare function registerDiffer(type: ContractType, differ: DiffFn): void;
16
+ /**
17
+ * Get the linter for a contract type
18
+ *
19
+ * @param type - Contract type (openapi, json-schema, etc.)
20
+ * @param override - Optional override: built-in name or custom command
21
+ * @returns Linter function or null if not found
22
+ */
23
+ export declare function getLinter(type: ContractType, override?: string | false): LintFn | null;
24
+ /**
25
+ * Get the differ for a contract type
26
+ *
27
+ * @param type - Contract type (openapi, json-schema, etc.)
28
+ * @param override - Optional override: built-in name or custom command
29
+ * @returns Differ function or null if not found
30
+ */
31
+ export declare function getDiffer(type: ContractType, override?: string | false): DiffFn | null;
32
+ /**
33
+ * Check if a linter is registered for a contract type
34
+ */
35
+ export declare function hasLinter(type: ContractType): boolean;
36
+ /**
37
+ * Check if a differ is registered for a contract type
38
+ */
39
+ export declare function hasDiffer(type: ContractType): boolean;
40
+ /**
41
+ * Get all registered contract types for linting
42
+ */
43
+ export declare function getRegisteredLinterTypes(): ContractType[];
44
+ /**
45
+ * Get all registered contract types for diffing
46
+ */
47
+ export declare function getRegisteredDifferTypes(): ContractType[];
48
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAmBtF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAmBtF;AA2FD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAEzD"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Governance Registry
3
+ *
4
+ * Central registry for linters and differs. CLI Core uses this to resolve
5
+ * the correct engine for each contract type.
6
+ */
7
+ const linters = new Map();
8
+ const differs = new Map();
9
+ /**
10
+ * Register a linter for a contract type
11
+ */
12
+ export function registerLinter(type, linter) {
13
+ linters.set(type, linter);
14
+ }
15
+ /**
16
+ * Register a differ for a contract type
17
+ */
18
+ export function registerDiffer(type, differ) {
19
+ differs.set(type, differ);
20
+ }
21
+ /**
22
+ * Get the linter for a contract type
23
+ *
24
+ * @param type - Contract type (openapi, json-schema, etc.)
25
+ * @param override - Optional override: built-in name or custom command
26
+ * @returns Linter function or null if not found
27
+ */
28
+ export function getLinter(type, override) {
29
+ // If override is explicitly false, disable linting
30
+ if (override === false) {
31
+ return null;
32
+ }
33
+ // If override is a custom command (contains {spec}), create custom executor
34
+ if (override && override.includes('{spec}')) {
35
+ return createCustomLinter(override);
36
+ }
37
+ // If override is a known built-in name, resolve it
38
+ if (override) {
39
+ const builtIn = resolveBuiltInLinter(override);
40
+ if (builtIn)
41
+ return builtIn;
42
+ }
43
+ // Return default for type
44
+ return linters.get(type) ?? null;
45
+ }
46
+ /**
47
+ * Get the differ for a contract type
48
+ *
49
+ * @param type - Contract type (openapi, json-schema, etc.)
50
+ * @param override - Optional override: built-in name or custom command
51
+ * @returns Differ function or null if not found
52
+ */
53
+ export function getDiffer(type, override) {
54
+ // If override is explicitly false, disable diffing
55
+ if (override === false) {
56
+ return null;
57
+ }
58
+ // If override is a custom command (contains {old} or {new}), create custom executor
59
+ if (override && (override.includes('{old}') || override.includes('{new}'))) {
60
+ return createCustomDiffer(override);
61
+ }
62
+ // If override is a known built-in name, resolve it
63
+ if (override) {
64
+ const builtIn = resolveBuiltInDiffer(override);
65
+ if (builtIn)
66
+ return builtIn;
67
+ }
68
+ // Return default for type
69
+ return differs.get(type) ?? null;
70
+ }
71
+ /**
72
+ * Valid contract type values for type checking
73
+ */
74
+ const VALID_CONTRACT_TYPES = [
75
+ 'openapi',
76
+ 'json-schema',
77
+ 'asyncapi',
78
+ 'odcs',
79
+ ];
80
+ /**
81
+ * Type guard for ContractType
82
+ */
83
+ function isContractType(value) {
84
+ return VALID_CONTRACT_TYPES.includes(value);
85
+ }
86
+ /**
87
+ * Resolve a built-in linter by name
88
+ */
89
+ function resolveBuiltInLinter(name) {
90
+ // Check if name is a valid contract type
91
+ if (isContractType(name)) {
92
+ const linter = linters.get(name);
93
+ if (linter)
94
+ return linter;
95
+ }
96
+ // Special named overrides
97
+ switch (name.toLowerCase()) {
98
+ case 'redocly':
99
+ case 'openapi-redocly':
100
+ return linters.get('openapi') ?? null;
101
+ case 'spectral':
102
+ // Spectral is an alternative OpenAPI linter - could add support later
103
+ return linters.get('openapi') ?? null;
104
+ case 'ajv':
105
+ case 'json-schema-ajv':
106
+ return linters.get('json-schema') ?? null;
107
+ default:
108
+ return null;
109
+ }
110
+ }
111
+ /**
112
+ * Resolve a built-in differ by name
113
+ */
114
+ function resolveBuiltInDiffer(name) {
115
+ // Check if name is a valid contract type
116
+ if (isContractType(name)) {
117
+ const differ = differs.get(name);
118
+ if (differ)
119
+ return differ;
120
+ }
121
+ // Special named overrides
122
+ switch (name.toLowerCase()) {
123
+ case 'oasdiff':
124
+ case 'openapi-oasdiff':
125
+ return differs.get('openapi') ?? null;
126
+ case 'json-schema-differ':
127
+ return differs.get('json-schema') ?? null;
128
+ default:
129
+ return null;
130
+ }
131
+ }
132
+ /**
133
+ * Create a custom linter from a command template
134
+ */
135
+ function createCustomLinter(commandTemplate) {
136
+ return async (specPath) => {
137
+ const { executeCustomCommand, parseCustomLintOutput } = await import('./runner.js');
138
+ const command = commandTemplate.replace('{spec}', specPath);
139
+ const output = await executeCustomCommand(command);
140
+ return parseCustomLintOutput(output);
141
+ };
142
+ }
143
+ /**
144
+ * Create a custom differ from a command template
145
+ */
146
+ function createCustomDiffer(commandTemplate) {
147
+ return async (oldSpecPath, newSpecPath) => {
148
+ const { executeCustomCommand, parseCustomDiffOutput } = await import('./runner.js');
149
+ const command = commandTemplate.replace('{old}', oldSpecPath).replace('{new}', newSpecPath);
150
+ const output = await executeCustomCommand(command);
151
+ return parseCustomDiffOutput(output);
152
+ };
153
+ }
154
+ /**
155
+ * Check if a linter is registered for a contract type
156
+ */
157
+ export function hasLinter(type) {
158
+ return linters.has(type);
159
+ }
160
+ /**
161
+ * Check if a differ is registered for a contract type
162
+ */
163
+ export function hasDiffer(type) {
164
+ return differs.has(type);
165
+ }
166
+ /**
167
+ * Get all registered contract types for linting
168
+ */
169
+ export function getRegisteredLinterTypes() {
170
+ return Array.from(linters.keys());
171
+ }
172
+ /**
173
+ * Get all registered contract types for diffing
174
+ */
175
+ export function getRegisteredDifferTypes() {
176
+ return Array.from(differs.keys());
177
+ }
178
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Custom Command Runner
3
+ *
4
+ * Executes user-defined governance commands and parses their output.
5
+ */
6
+ import type { LintResult, DiffResult } from '@contractual/types';
7
+ /**
8
+ * Execute a custom command and return its output
9
+ *
10
+ * Note: This function is async for API consistency with other governance functions,
11
+ * even though the underlying execSync is synchronous. This allows for future
12
+ * migration to async child_process.spawn if needed.
13
+ *
14
+ * @param command - Command to execute
15
+ * @param timeout - Timeout in milliseconds (default: 60000)
16
+ * @returns Command stdout
17
+ * @throws Error if command fails
18
+ */
19
+ export declare function executeCustomCommand(command: string, timeout?: number): Promise<string>;
20
+ /**
21
+ * Parse custom lint command output into LintResult
22
+ *
23
+ * Attempts to parse as JSON first, then falls back to line-based parsing.
24
+ */
25
+ export declare function parseCustomLintOutput(output: string): LintResult;
26
+ /**
27
+ * Parse custom diff command output into DiffResult
28
+ *
29
+ * Attempts to parse as JSON first, then falls back to line-based parsing.
30
+ */
31
+ export declare function parseCustomDiffOutput(output: string): DiffResult;
32
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAC;AAmBpF;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB5F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAehE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAehE"}