@codeledger/cli 0.6.6 → 0.6.8
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/architecture-graph/dependency-scanner.d.ts +16 -0
- package/dist/architecture-graph/dependency-scanner.d.ts.map +1 -0
- package/dist/architecture-graph/dependency-scanner.js +96 -0
- package/dist/architecture-graph/dependency-scanner.js.map +1 -0
- package/dist/architecture-graph/graph-builder.d.ts +70 -0
- package/dist/architecture-graph/graph-builder.d.ts.map +1 -0
- package/dist/architecture-graph/graph-builder.js +231 -0
- package/dist/architecture-graph/graph-builder.js.map +1 -0
- package/dist/architecture-graph/index.d.ts +4 -0
- package/dist/architecture-graph/index.d.ts.map +1 -0
- package/dist/architecture-graph/index.js +7 -0
- package/dist/architecture-graph/index.js.map +1 -0
- package/dist/architecture-graph/service-scanner.d.ts +22 -0
- package/dist/architecture-graph/service-scanner.d.ts.map +1 -0
- package/dist/architecture-graph/service-scanner.js +181 -0
- package/dist/architecture-graph/service-scanner.js.map +1 -0
- package/dist/commands/audit-export.d.ts +8 -0
- package/dist/commands/audit-export.d.ts.map +1 -0
- package/dist/commands/audit-export.js +190 -0
- package/dist/commands/audit-export.js.map +1 -0
- package/dist/commands/fix.d.ts +7 -0
- package/dist/commands/fix.d.ts.map +1 -0
- package/dist/commands/fix.js +107 -0
- package/dist/commands/fix.js.map +1 -0
- package/dist/commands/graph.d.ts +8 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +29 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/learn.d.ts +8 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +33 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/pack.d.ts +12 -0
- package/dist/commands/pack.d.ts.map +1 -0
- package/dist/commands/pack.js +75 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/serve.d.ts +13 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +179 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/setup-ci.d.ts +6 -4
- package/dist/commands/setup-ci.d.ts.map +1 -1
- package/dist/commands/setup-ci.js +216 -23
- package/dist/commands/setup-ci.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -3
- package/dist/index.js.map +1 -1
- package/dist/review-intelligence/detectors/cjs-named-import.d.ts +13 -0
- package/dist/review-intelligence/detectors/cjs-named-import.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/cjs-named-import.js +134 -0
- package/dist/review-intelligence/detectors/cjs-named-import.js.map +1 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.d.ts +17 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.js +93 -0
- package/dist/review-intelligence/detectors/exact-count-assertion.js.map +1 -0
- package/dist/review-intelligence/detectors/exports-map-missing.d.ts +14 -0
- package/dist/review-intelligence/detectors/exports-map-missing.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/exports-map-missing.js +131 -0
- package/dist/review-intelligence/detectors/exports-map-missing.js.map +1 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts +12 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.js +82 -0
- package/dist/review-intelligence/detectors/fixture-keyword-drift.js.map +1 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.d.ts +12 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.js +97 -0
- package/dist/review-intelligence/detectors/optional-infra-crash.js.map +1 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.d.ts +11 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.d.ts.map +1 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.js +100 -0
- package/dist/review-intelligence/detectors/undeclared-dependency.js.map +1 -0
- package/dist/review-intelligence/engine/ast-parser.d.ts +90 -0
- package/dist/review-intelligence/engine/ast-parser.d.ts.map +1 -0
- package/dist/review-intelligence/engine/ast-parser.js +266 -0
- package/dist/review-intelligence/engine/ast-parser.js.map +1 -0
- package/dist/review-intelligence/engine/dataflow.d.ts +34 -0
- package/dist/review-intelligence/engine/dataflow.d.ts.map +1 -0
- package/dist/review-intelligence/engine/dataflow.js +115 -0
- package/dist/review-intelligence/engine/dataflow.js.map +1 -0
- package/dist/review-intelligence/engine/index.d.ts +7 -0
- package/dist/review-intelligence/engine/index.d.ts.map +1 -0
- package/dist/review-intelligence/engine/index.js +7 -0
- package/dist/review-intelligence/engine/index.js.map +1 -0
- package/dist/review-intelligence/engine/symbol-resolver.d.ts +34 -0
- package/dist/review-intelligence/engine/symbol-resolver.d.ts.map +1 -0
- package/dist/review-intelligence/engine/symbol-resolver.js +106 -0
- package/dist/review-intelligence/engine/symbol-resolver.js.map +1 -0
- package/dist/review-intelligence/fixes/index.d.ts +36 -0
- package/dist/review-intelligence/fixes/index.d.ts.map +1 -0
- package/dist/review-intelligence/fixes/index.js +157 -0
- package/dist/review-intelligence/fixes/index.js.map +1 -0
- package/dist/review-intelligence/index.d.ts.map +1 -1
- package/dist/review-intelligence/index.js +2 -0
- package/dist/review-intelligence/index.js.map +1 -1
- package/dist/review-intelligence/invariants.d.ts.map +1 -1
- package/dist/review-intelligence/invariants.js +14 -1
- package/dist/review-intelligence/invariants.js.map +1 -1
- package/dist/review-intelligence/learning/index.d.ts +39 -0
- package/dist/review-intelligence/learning/index.d.ts.map +1 -0
- package/dist/review-intelligence/learning/index.js +265 -0
- package/dist/review-intelligence/learning/index.js.map +1 -0
- package/dist/review-intelligence/packs/index.d.ts +69 -0
- package/dist/review-intelligence/packs/index.d.ts.map +1 -0
- package/dist/review-intelligence/packs/index.js +168 -0
- package/dist/review-intelligence/packs/index.js.map +1 -0
- package/dist/review-intelligence/repair-guidance.d.ts.map +1 -1
- package/dist/review-intelligence/repair-guidance.js +46 -0
- package/dist/review-intelligence/repair-guidance.js.map +1 -1
- package/dist/review-intelligence/types.d.ts +6 -1
- package/dist/review-intelligence/types.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** A rule within an invariant pack */
|
|
2
|
+
export interface PackRule {
|
|
3
|
+
/** Rule identifier */
|
|
4
|
+
rule_id: string;
|
|
5
|
+
/** Human-readable description */
|
|
6
|
+
description: string;
|
|
7
|
+
/** The kind of constraint */
|
|
8
|
+
kind: 'required_wrapper' | 'required_helper' | 'forbidden_pattern' | 'required_pattern';
|
|
9
|
+
/** The helper/wrapper name that should be used */
|
|
10
|
+
helper?: string;
|
|
11
|
+
/** Regex pattern that triggers the rule */
|
|
12
|
+
trigger_pattern?: string;
|
|
13
|
+
/** Severity if violated */
|
|
14
|
+
severity: 'P0' | 'P1' | 'P2' | 'P3';
|
|
15
|
+
}
|
|
16
|
+
/** An invariant pack */
|
|
17
|
+
export interface InvariantPack {
|
|
18
|
+
/** Pack identifier */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Human-readable description */
|
|
21
|
+
description: string;
|
|
22
|
+
/** Pack version */
|
|
23
|
+
version: string;
|
|
24
|
+
/** Whether this pack is enabled */
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
/** Rules in this pack */
|
|
27
|
+
rules: PackRule[];
|
|
28
|
+
}
|
|
29
|
+
/** Pack registry file format */
|
|
30
|
+
export interface PackRegistry {
|
|
31
|
+
version: 1;
|
|
32
|
+
packs: InvariantPack[];
|
|
33
|
+
}
|
|
34
|
+
export declare const PLATFORM_API_PACK: InvariantPack;
|
|
35
|
+
export declare const BUILD_RUNTIME_PACK: InvariantPack;
|
|
36
|
+
export declare const BUILTIN_PACKS: InvariantPack[];
|
|
37
|
+
/**
|
|
38
|
+
* Load the pack registry from disk.
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadPackRegistry(cwd: string): PackRegistry;
|
|
41
|
+
/**
|
|
42
|
+
* Save the pack registry to disk.
|
|
43
|
+
*/
|
|
44
|
+
export declare function savePackRegistry(cwd: string, registry: PackRegistry): void;
|
|
45
|
+
/**
|
|
46
|
+
* List all available packs (built-in + custom).
|
|
47
|
+
*/
|
|
48
|
+
export declare function listPacks(cwd: string): InvariantPack[];
|
|
49
|
+
/**
|
|
50
|
+
* Enable a pack by name.
|
|
51
|
+
*/
|
|
52
|
+
export declare function enablePack(cwd: string, packName: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Disable a pack by name.
|
|
55
|
+
*/
|
|
56
|
+
export declare function disablePack(cwd: string, packName: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Add a custom pack (e.g. from `codeledger learn`).
|
|
59
|
+
*/
|
|
60
|
+
export declare function addPack(cwd: string, pack: InvariantPack): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get all enabled pack rules.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getEnabledPackRules(cwd: string): PackRule[];
|
|
65
|
+
/**
|
|
66
|
+
* Save a generated pack as YAML-like config.
|
|
67
|
+
*/
|
|
68
|
+
export declare function saveGeneratedPack(cwd: string, pack: InvariantPack): string;
|
|
69
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/review-intelligence/packs/index.ts"],"names":[],"mappings":"AASA,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;IACxF,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CACrC;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAOD,eAAO,MAAM,iBAAiB,EAAE,aA+B/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aA0BhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,EAGxC,CAAC;AAIF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAa1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI1E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAGtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQlE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAY9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAW3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAO1E"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// ─── Invariant Packs ────────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// Invariant packs define reusable sets of repository-specific rules.
|
|
4
|
+
// They can be built-in, generated by `codeledger learn`, or manually
|
|
5
|
+
// authored.
|
|
6
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
7
|
+
import { join, dirname } from 'node:path';
|
|
8
|
+
const DEFAULT_PACKS_DIR = '.codeledger/packs';
|
|
9
|
+
const REGISTRY_FILE = '.codeledger/pack-registry.json';
|
|
10
|
+
// ─── Built-in Packs ─────────────────────────────────────────────────────────
|
|
11
|
+
export const PLATFORM_API_PACK = {
|
|
12
|
+
name: 'platform-api-pack',
|
|
13
|
+
description: 'API platform conventions: sanctioned wrappers, error helpers, auth middleware',
|
|
14
|
+
version: '1.0.0',
|
|
15
|
+
enabled: false,
|
|
16
|
+
rules: [
|
|
17
|
+
{
|
|
18
|
+
rule_id: 'PACK-API-001',
|
|
19
|
+
description: 'Outbound HTTP calls must use the sanctioned fetch wrapper',
|
|
20
|
+
kind: 'required_wrapper',
|
|
21
|
+
helper: 'safeFetch',
|
|
22
|
+
trigger_pattern: '\\bfetch\\s*\\(',
|
|
23
|
+
severity: 'P1',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
rule_id: 'PACK-API-002',
|
|
27
|
+
description: 'Error responses must use the shared error helper',
|
|
28
|
+
kind: 'required_helper',
|
|
29
|
+
helper: 'sendInvalidRequest',
|
|
30
|
+
trigger_pattern: '\\breply\\.status\\s*\\(\\s*4\\d{2}',
|
|
31
|
+
severity: 'P2',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
rule_id: 'PACK-API-003',
|
|
35
|
+
description: 'Cache keys must use the shared cache key builder',
|
|
36
|
+
kind: 'required_helper',
|
|
37
|
+
helper: 'buildTenantCacheKey',
|
|
38
|
+
trigger_pattern: '\\bredis\\s*\\.\\s*(?:get|set|del)',
|
|
39
|
+
severity: 'P2',
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
export const BUILD_RUNTIME_PACK = {
|
|
44
|
+
name: 'build-runtime-pack',
|
|
45
|
+
description: 'Build and runtime contract checks: dependencies, exports, ESM/CJS',
|
|
46
|
+
version: '1.0.0',
|
|
47
|
+
enabled: false,
|
|
48
|
+
rules: [
|
|
49
|
+
{
|
|
50
|
+
rule_id: 'PACK-BR-001',
|
|
51
|
+
description: 'All imported packages must be declared in package.json',
|
|
52
|
+
kind: 'required_pattern',
|
|
53
|
+
severity: 'P1',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
rule_id: 'PACK-BR-002',
|
|
57
|
+
description: 'Subpath imports must have matching exports map entries',
|
|
58
|
+
kind: 'required_pattern',
|
|
59
|
+
severity: 'P1',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
rule_id: 'PACK-BR-003',
|
|
63
|
+
description: 'Named imports from CJS modules must use default import pattern',
|
|
64
|
+
kind: 'forbidden_pattern',
|
|
65
|
+
trigger_pattern: 'import\\s*\\{.*\\}\\s*from',
|
|
66
|
+
severity: 'P1',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
export const BUILTIN_PACKS = [
|
|
71
|
+
PLATFORM_API_PACK,
|
|
72
|
+
BUILD_RUNTIME_PACK,
|
|
73
|
+
];
|
|
74
|
+
// ─── Pack Management ─────────────────────────────────────────────────────────
|
|
75
|
+
/**
|
|
76
|
+
* Load the pack registry from disk.
|
|
77
|
+
*/
|
|
78
|
+
export function loadPackRegistry(cwd) {
|
|
79
|
+
const registryPath = join(cwd, REGISTRY_FILE);
|
|
80
|
+
if (!existsSync(registryPath)) {
|
|
81
|
+
return { version: 1, packs: [...BUILTIN_PACKS] };
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const raw = JSON.parse(readFileSync(registryPath, 'utf-8'));
|
|
85
|
+
return raw;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return { version: 1, packs: [...BUILTIN_PACKS] };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Save the pack registry to disk.
|
|
93
|
+
*/
|
|
94
|
+
export function savePackRegistry(cwd, registry) {
|
|
95
|
+
const registryPath = join(cwd, REGISTRY_FILE);
|
|
96
|
+
mkdirSync(dirname(registryPath), { recursive: true });
|
|
97
|
+
writeFileSync(registryPath, JSON.stringify(registry, null, 2) + '\n');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* List all available packs (built-in + custom).
|
|
101
|
+
*/
|
|
102
|
+
export function listPacks(cwd) {
|
|
103
|
+
const registry = loadPackRegistry(cwd);
|
|
104
|
+
return registry.packs;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Enable a pack by name.
|
|
108
|
+
*/
|
|
109
|
+
export function enablePack(cwd, packName) {
|
|
110
|
+
const registry = loadPackRegistry(cwd);
|
|
111
|
+
const pack = registry.packs.find((p) => p.name === packName);
|
|
112
|
+
if (!pack)
|
|
113
|
+
return false;
|
|
114
|
+
pack.enabled = true;
|
|
115
|
+
savePackRegistry(cwd, registry);
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Disable a pack by name.
|
|
120
|
+
*/
|
|
121
|
+
export function disablePack(cwd, packName) {
|
|
122
|
+
const registry = loadPackRegistry(cwd);
|
|
123
|
+
const pack = registry.packs.find((p) => p.name === packName);
|
|
124
|
+
if (!pack)
|
|
125
|
+
return false;
|
|
126
|
+
pack.enabled = false;
|
|
127
|
+
savePackRegistry(cwd, registry);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Add a custom pack (e.g. from `codeledger learn`).
|
|
132
|
+
*/
|
|
133
|
+
export function addPack(cwd, pack) {
|
|
134
|
+
const registry = loadPackRegistry(cwd);
|
|
135
|
+
// Replace if already exists
|
|
136
|
+
const existingIdx = registry.packs.findIndex((p) => p.name === pack.name);
|
|
137
|
+
if (existingIdx >= 0) {
|
|
138
|
+
registry.packs[existingIdx] = pack;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
registry.packs.push(pack);
|
|
142
|
+
}
|
|
143
|
+
savePackRegistry(cwd, registry);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get all enabled pack rules.
|
|
147
|
+
*/
|
|
148
|
+
export function getEnabledPackRules(cwd) {
|
|
149
|
+
const registry = loadPackRegistry(cwd);
|
|
150
|
+
const rules = [];
|
|
151
|
+
for (const pack of registry.packs) {
|
|
152
|
+
if (pack.enabled) {
|
|
153
|
+
rules.push(...pack.rules);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return rules;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Save a generated pack as YAML-like config.
|
|
160
|
+
*/
|
|
161
|
+
export function saveGeneratedPack(cwd, pack) {
|
|
162
|
+
const packsDir = join(cwd, DEFAULT_PACKS_DIR);
|
|
163
|
+
mkdirSync(packsDir, { recursive: true });
|
|
164
|
+
const filePath = join(packsDir, `${pack.name}.json`);
|
|
165
|
+
writeFileSync(filePath, JSON.stringify(pack, null, 2) + '\n');
|
|
166
|
+
return filePath;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/review-intelligence/packs/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,YAAY;AAEZ,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,aAAa,GAAG,gCAAgC,CAAC;AAEvD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,+EAA+E;IAC5F,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE;QACL;YACE,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,2DAA2D;YACxE,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,iBAAiB;YAClC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,kDAAkD;YAC/D,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,oBAAoB;YAC5B,eAAe,EAAE,qCAAqC;YACtD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,kDAAkD;YAC/D,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,qBAAqB;YAC7B,eAAe,EAAE,oCAAoC;YACrD,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,mEAAmE;IAChF,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE;QACL;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,gEAAgE;YAC7E,IAAI,EAAE,mBAAmB;YACzB,eAAe,EAAE,4BAA4B;YAC7C,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE9C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAiB,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,QAAsB;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,QAAgB;IACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACpB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,QAAgB;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACrB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAmB;IACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEvC,4BAA4B;IAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAAmB;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC9C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;IACrD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair-guidance.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/repair-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"repair-guidance.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/repair-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA2HrE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,YAAY,EAAE,GACxB,MAAM,CAgBR"}
|
|
@@ -65,6 +65,52 @@ export function generateRepairGuidance(finding) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
break;
|
|
68
|
+
case 'RI-UD-001':
|
|
69
|
+
lines.push('Add the missing dependency to package.json:');
|
|
70
|
+
lines.push('');
|
|
71
|
+
lines.push(' npm install <package-name>');
|
|
72
|
+
lines.push(' # or: pnpm add <package-name>');
|
|
73
|
+
break;
|
|
74
|
+
case 'RI-EM-001':
|
|
75
|
+
lines.push('Add the subpath to the package exports map in package.json:');
|
|
76
|
+
lines.push('');
|
|
77
|
+
lines.push(' "exports": {');
|
|
78
|
+
lines.push(' "./<subpath>": { "import": "./dist/<subpath>.js" }');
|
|
79
|
+
lines.push(' }');
|
|
80
|
+
break;
|
|
81
|
+
case 'RI-CJS-001':
|
|
82
|
+
lines.push('Rewrite named import to default import with destructure:');
|
|
83
|
+
lines.push('');
|
|
84
|
+
lines.push(' // Before:');
|
|
85
|
+
lines.push(' import { method } from \'package\';');
|
|
86
|
+
lines.push(' // After:');
|
|
87
|
+
lines.push(' import pkg from \'package\';');
|
|
88
|
+
lines.push(' const { method } = pkg;');
|
|
89
|
+
break;
|
|
90
|
+
case 'RI-IC-001':
|
|
91
|
+
lines.push('Wrap optional infrastructure init in try/catch:');
|
|
92
|
+
lines.push('');
|
|
93
|
+
lines.push(' try {');
|
|
94
|
+
lines.push(' initTelemetry();');
|
|
95
|
+
lines.push(' } catch (err) {');
|
|
96
|
+
lines.push(' logger.warn(\'Telemetry init failed, continuing\', err);');
|
|
97
|
+
lines.push(' }');
|
|
98
|
+
break;
|
|
99
|
+
case 'RI-FK-001':
|
|
100
|
+
lines.push('Extract expected value from fixture data:');
|
|
101
|
+
lines.push('');
|
|
102
|
+
lines.push(' const keyword = fixtures[0].searchableField;');
|
|
103
|
+
lines.push(' const results = search(keyword);');
|
|
104
|
+
lines.push(' expect(results).toContainEqual(expect.objectContaining({ field: keyword }));');
|
|
105
|
+
break;
|
|
106
|
+
case 'RI-EC-001':
|
|
107
|
+
lines.push('Replace exact count with range assertion:');
|
|
108
|
+
lines.push('');
|
|
109
|
+
lines.push(' // Before:');
|
|
110
|
+
lines.push(' expect(results.length).toBe(5);');
|
|
111
|
+
lines.push(' // After:');
|
|
112
|
+
lines.push(' expect(results.length).toBeGreaterThan(0);');
|
|
113
|
+
break;
|
|
68
114
|
default:
|
|
69
115
|
lines.push('Review the finding and apply the recommended fix.');
|
|
70
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair-guidance.js","sourceRoot":"","sources":["../../src/review-intelligence/repair-guidance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repair-guidance.js","sourceRoot":"","sources":["../../src/review-intelligence/repair-guidance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Severity levels for review intelligence findings */
|
|
2
2
|
export type ReviewSeverity = 'P0' | 'P1' | 'P2' | 'P3';
|
|
3
3
|
/** Categories of review intelligence findings */
|
|
4
|
-
export type FindingCategory = 'runtime_validation' | 'outbound_io' | 'platform_helpers';
|
|
4
|
+
export type FindingCategory = 'runtime_validation' | 'outbound_io' | 'platform_helpers' | 'build_runtime' | 'test_integrity';
|
|
5
5
|
/** Confidence level of a finding */
|
|
6
6
|
export type FindingConfidence = 'high' | 'medium' | 'low';
|
|
7
7
|
/** A trigger detected in source code */
|
|
@@ -65,6 +65,8 @@ export interface ReviewFinding {
|
|
|
65
65
|
repo_standard?: RepoStandard;
|
|
66
66
|
/** Confidence level */
|
|
67
67
|
confidence: FindingConfidence;
|
|
68
|
+
/** Whether this finding has an auto-fix available */
|
|
69
|
+
fixable?: boolean;
|
|
68
70
|
}
|
|
69
71
|
/** Configuration for an individual invariant module */
|
|
70
72
|
export interface InvariantConfig {
|
|
@@ -78,6 +80,9 @@ export interface ReviewIntelligencePolicy {
|
|
|
78
80
|
runtime_validation: InvariantConfig;
|
|
79
81
|
outbound_io: InvariantConfig;
|
|
80
82
|
platform_helpers: InvariantConfig;
|
|
83
|
+
build_runtime?: InvariantConfig;
|
|
84
|
+
test_integrity?: InvariantConfig;
|
|
85
|
+
[key: string]: InvariantConfig | undefined;
|
|
81
86
|
};
|
|
82
87
|
}
|
|
83
88
|
/** Result of running the review intelligence engine */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/types.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,iDAAiD;AACjD,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,aAAa,GACb,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeledger/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for CodeLedger — deterministic context selection for AI coding agents",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@codeledger/
|
|
31
|
-
"@codeledger/core": "0.6.
|
|
32
|
-
"@codeledger/
|
|
33
|
-
"@codeledger/
|
|
34
|
-
"@codeledger/
|
|
35
|
-
"@codeledger/
|
|
36
|
-
"@codeledger/
|
|
37
|
-
"@codeledger/
|
|
30
|
+
"@codeledger/types": "0.6.8",
|
|
31
|
+
"@codeledger/core": "0.6.8",
|
|
32
|
+
"@codeledger/core-engine": "0.6.8",
|
|
33
|
+
"@codeledger/repo": "0.6.8",
|
|
34
|
+
"@codeledger/instrument": "0.6.8",
|
|
35
|
+
"@codeledger/harness": "0.6.8",
|
|
36
|
+
"@codeledger/cowork": "0.6.8",
|
|
37
|
+
"@codeledger/selector": "0.6.8"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"typescript": "^5.4.0"
|