@codeledger/cli 0.6.2 → 0.6.4

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 (65) hide show
  1. package/dist/commands/activate.d.ts.map +1 -1
  2. package/dist/commands/activate.js +3 -1
  3. package/dist/commands/activate.js.map +1 -1
  4. package/dist/commands/refine.d.ts.map +1 -1
  5. package/dist/commands/refine.js +2 -1
  6. package/dist/commands/refine.js.map +1 -1
  7. package/dist/commands/session-summary.js +27 -10
  8. package/dist/commands/session-summary.js.map +1 -1
  9. package/dist/commands/verify.d.ts.map +1 -1
  10. package/dist/commands/verify.js +78 -2
  11. package/dist/commands/verify.js.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/policy/schema.d.ts.map +1 -1
  15. package/dist/policy/schema.js +1 -0
  16. package/dist/policy/schema.js.map +1 -1
  17. package/dist/review-intelligence/companion-check.d.ts +28 -0
  18. package/dist/review-intelligence/companion-check.d.ts.map +1 -0
  19. package/dist/review-intelligence/companion-check.js +71 -0
  20. package/dist/review-intelligence/companion-check.js.map +1 -0
  21. package/dist/review-intelligence/detectors/outbound-io.d.ts +14 -0
  22. package/dist/review-intelligence/detectors/outbound-io.d.ts.map +1 -0
  23. package/dist/review-intelligence/detectors/outbound-io.js +122 -0
  24. package/dist/review-intelligence/detectors/outbound-io.js.map +1 -0
  25. package/dist/review-intelligence/detectors/platform-helpers.d.ts +15 -0
  26. package/dist/review-intelligence/detectors/platform-helpers.d.ts.map +1 -0
  27. package/dist/review-intelligence/detectors/platform-helpers.js +171 -0
  28. package/dist/review-intelligence/detectors/platform-helpers.js.map +1 -0
  29. package/dist/review-intelligence/detectors/runtime-validation.d.ts +10 -0
  30. package/dist/review-intelligence/detectors/runtime-validation.d.ts.map +1 -0
  31. package/dist/review-intelligence/detectors/runtime-validation.js +109 -0
  32. package/dist/review-intelligence/detectors/runtime-validation.js.map +1 -0
  33. package/dist/review-intelligence/index.d.ts +17 -0
  34. package/dist/review-intelligence/index.d.ts.map +1 -0
  35. package/dist/review-intelligence/index.js +90 -0
  36. package/dist/review-intelligence/index.js.map +1 -0
  37. package/dist/review-intelligence/invariants.d.ts +10 -0
  38. package/dist/review-intelligence/invariants.d.ts.map +1 -0
  39. package/dist/review-intelligence/invariants.js +29 -0
  40. package/dist/review-intelligence/invariants.js.map +1 -0
  41. package/dist/review-intelligence/output.d.ts +25 -0
  42. package/dist/review-intelligence/output.d.ts.map +1 -0
  43. package/dist/review-intelligence/output.js +116 -0
  44. package/dist/review-intelligence/output.js.map +1 -0
  45. package/dist/review-intelligence/repair-guidance.d.ts +11 -0
  46. package/dist/review-intelligence/repair-guidance.d.ts.map +1 -0
  47. package/dist/review-intelligence/repair-guidance.js +91 -0
  48. package/dist/review-intelligence/repair-guidance.js.map +1 -0
  49. package/dist/review-intelligence/severity.d.ts +10 -0
  50. package/dist/review-intelligence/severity.d.ts.map +1 -0
  51. package/dist/review-intelligence/severity.js +36 -0
  52. package/dist/review-intelligence/severity.js.map +1 -0
  53. package/dist/review-intelligence/standards-discovery.d.ts +12 -0
  54. package/dist/review-intelligence/standards-discovery.d.ts.map +1 -0
  55. package/dist/review-intelligence/standards-discovery.js +221 -0
  56. package/dist/review-intelligence/standards-discovery.js.map +1 -0
  57. package/dist/review-intelligence/triggers.d.ts +15 -0
  58. package/dist/review-intelligence/triggers.d.ts.map +1 -0
  59. package/dist/review-intelligence/triggers.js +104 -0
  60. package/dist/review-intelligence/triggers.js.map +1 -0
  61. package/dist/review-intelligence/types.d.ts +137 -0
  62. package/dist/review-intelligence/types.d.ts.map +1 -0
  63. package/dist/review-intelligence/types.js +3 -0
  64. package/dist/review-intelligence/types.js.map +1 -0
  65. package/package.json +9 -9
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/policy/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAc,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvF,eAAO,MAAM,qBAAqB,EAAG,mBAA4B,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAW3B,CAAC;AAKF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqC1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAetG;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,gBAAgB,CAAC,eAAe,CAAC,GAC9C,gBAAgB,CAElB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/policy/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAc,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvF,eAAO,MAAM,qBAAqB,EAAG,mBAA4B,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAW3B,CAAC;AAKF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqC1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAgBtG;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,gBAAgB,CAAC,eAAe,CAAC,GAC9C,gBAAgB,CAElB"}
@@ -71,6 +71,7 @@ export function mergePolicy(base, override) {
71
71
  store_file_paths: override.store_file_paths ?? base.store_file_paths,
72
72
  min_review_coverage: override.min_review_coverage ?? base.min_review_coverage,
73
73
  block_post_hoc_reads: override.block_post_hoc_reads ?? base.block_post_hoc_reads,
74
+ review_intelligence: override.review_intelligence ?? base.review_intelligence,
74
75
  };
75
76
  }
76
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/policy/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/policy/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { DetectedTrigger, ReviewFinding } from './types.js';
2
+ /**
3
+ * Companion change detection: for each trigger, determine what companion
4
+ * safeguards are expected and whether they are present.
5
+ *
6
+ * This module provides the logic for understanding the relationship between
7
+ * triggers and their required companions. The actual detection is done by
8
+ * the individual detector modules; this module provides shared utilities
9
+ * for companion reasoning.
10
+ */
11
+ export interface CompanionExpectation {
12
+ /** What triggered the expectation */
13
+ trigger_description: string;
14
+ /** What companion safeguard is expected */
15
+ expected_companion: string;
16
+ /** Why the companion matters */
17
+ rationale: string;
18
+ }
19
+ /**
20
+ * Given a set of triggers, determine what companion safeguards should
21
+ * be present. This is used for reasoning and explanation output.
22
+ */
23
+ export declare function getCompanionExpectations(triggers: DetectedTrigger[]): CompanionExpectation[];
24
+ /**
25
+ * Summarize companion analysis for a set of findings.
26
+ */
27
+ export declare function summarizeCompanionGaps(findings: ReviewFinding[]): string[];
28
+ //# sourceMappingURL=companion-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-check.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/companion-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGjE;;;;;;;;GAQG;AAEH,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EAAE,GAC1B,oBAAoB,EAAE,CA8CxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EAAE,GACxB,MAAM,EAAE,CAeV"}
@@ -0,0 +1,71 @@
1
+ import { isTypedRouteTrigger, isOutboundIOTrigger } from './triggers.js';
2
+ /**
3
+ * Given a set of triggers, determine what companion safeguards should
4
+ * be present. This is used for reasoning and explanation output.
5
+ */
6
+ export function getCompanionExpectations(triggers) {
7
+ const expectations = [];
8
+ for (const trigger of triggers) {
9
+ if (isTypedRouteTrigger(trigger)) {
10
+ expectations.push({
11
+ trigger_description: `Typed route definition at ${trigger.file}:${trigger.line}`,
12
+ expected_companion: 'Runtime validation (zod .parse()/.safeParse(), ajv, or Fastify schema.body/params/querystring)',
13
+ rationale: 'TypeScript generics provide compile-time safety only. Without runtime validation, ' +
14
+ 'malformed client input bypasses type checks entirely.',
15
+ });
16
+ }
17
+ if (isOutboundIOTrigger(trigger)) {
18
+ expectations.push({
19
+ trigger_description: `Outbound ${trigger.type.replace(/_/g, ' ')} at ${trigger.file}:${trigger.line}`,
20
+ expected_companion: 'Timeout (AbortController, timeout config, or sanctioned wrapper with built-in timeout)',
21
+ rationale: 'Outbound calls without timeouts can hang indefinitely, causing resource exhaustion ' +
22
+ 'and cascading failures under load.',
23
+ });
24
+ }
25
+ if (trigger.type === 'raw_error_response') {
26
+ expectations.push({
27
+ trigger_description: `Raw error response at ${trigger.file}:${trigger.line}`,
28
+ expected_companion: 'Shared error helper for consistent error formatting',
29
+ rationale: 'Ad-hoc error responses create inconsistent API contracts and may miss logging ' +
30
+ 'or observability hooks provided by shared error helpers.',
31
+ });
32
+ }
33
+ if (trigger.type === 'redis_cache_key') {
34
+ expectations.push({
35
+ trigger_description: `Cache key construction at ${trigger.file}:${trigger.line}`,
36
+ expected_companion: 'Shared cache key helper for consistent key formatting',
37
+ rationale: 'Manual cache key construction risks inconsistent key formats, namespace collisions, ' +
38
+ 'or missing tenant isolation prefixes.',
39
+ });
40
+ }
41
+ }
42
+ return deduplicateExpectations(expectations);
43
+ }
44
+ /**
45
+ * Summarize companion analysis for a set of findings.
46
+ */
47
+ export function summarizeCompanionGaps(findings) {
48
+ const gaps = [];
49
+ const seen = new Set();
50
+ for (const finding of findings) {
51
+ for (const companion of finding.missing_companions) {
52
+ const key = `${finding.category}:${companion}`;
53
+ if (!seen.has(key)) {
54
+ seen.add(key);
55
+ gaps.push(companion);
56
+ }
57
+ }
58
+ }
59
+ return gaps;
60
+ }
61
+ function deduplicateExpectations(expectations) {
62
+ const seen = new Set();
63
+ return expectations.filter((e) => {
64
+ const key = `${e.trigger_description}:${e.expected_companion}`;
65
+ if (seen.has(key))
66
+ return false;
67
+ seen.add(key);
68
+ return true;
69
+ });
70
+ }
71
+ //# sourceMappingURL=companion-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-check.js","sourceRoot":"","sources":["../../src/review-intelligence/companion-check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAqBzE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA2B;IAE3B,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,mBAAmB,EAAE,6BAA6B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChF,kBAAkB,EAAE,gGAAgG;gBACpH,SAAS,EACP,oFAAoF;oBACpF,uDAAuD;aAC1D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,mBAAmB,EAAE,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBACrG,kBAAkB,EAAE,wFAAwF;gBAC5G,SAAS,EACP,qFAAqF;oBACrF,oCAAoC;aACvC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC;gBAChB,mBAAmB,EAAE,yBAAyB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBAC5E,kBAAkB,EAAE,qDAAqD;gBACzE,SAAS,EACP,gFAAgF;oBAChF,0DAA0D;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC;gBAChB,mBAAmB,EAAE,6BAA6B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChF,kBAAkB,EAAE,uDAAuD;gBAC3E,SAAS,EACP,sFAAsF;oBACtF,uCAAuC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAyB;IAEzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAAoC;IAEpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { InvariantDetector } from '../types.js';
2
+ /**
3
+ * INVARIANT 2 — outbound_io
4
+ *
5
+ * Trigger: fetch(), axios(), http.request(), equivalent outbound calls
6
+ * Invariant: timeout must exist
7
+ * Also detects: repository drift (raw calls bypassing sanctioned wrapper)
8
+ *
9
+ * Severity:
10
+ * - missing timeout = P1
11
+ * - bypassing sanctioned wrapper = P2
12
+ */
13
+ export declare const outboundIODetector: InvariantDetector;
14
+ //# sourceMappingURL=outbound-io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-io.d.ts","sourceRoot":"","sources":["../../../src/review-intelligence/detectors/outbound-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAwFhC,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { detectTriggers, isOutboundIOTrigger } from '../triggers.js';
2
+ /**
3
+ * INVARIANT 2 — outbound_io
4
+ *
5
+ * Trigger: fetch(), axios(), http.request(), equivalent outbound calls
6
+ * Invariant: timeout must exist
7
+ * Also detects: repository drift (raw calls bypassing sanctioned wrapper)
8
+ *
9
+ * Severity:
10
+ * - missing timeout = P1
11
+ * - bypassing sanctioned wrapper = P2
12
+ */
13
+ export const outboundIODetector = {
14
+ name: 'outbound_io',
15
+ analyze(ctx) {
16
+ const findings = [];
17
+ // Find sanctioned wrapper standard, if any
18
+ const fetchWrapper = ctx.repoStandards.find((s) => {
19
+ const lower = s.helper_name.toLowerCase();
20
+ return (lower.includes('fetch') ||
21
+ lower.includes('http') ||
22
+ lower.includes('request') ||
23
+ lower.includes('api'));
24
+ });
25
+ for (const filePath of ctx.files) {
26
+ const content = ctx.fileContents.get(filePath);
27
+ if (!content)
28
+ continue;
29
+ if (!isAnalyzableFile(filePath))
30
+ continue;
31
+ const triggers = detectTriggers(filePath, content);
32
+ const ioTriggers = triggers.filter(isOutboundIOTrigger);
33
+ for (const trigger of ioTriggers) {
34
+ // Check the surrounding context (±15 lines) for timeout evidence
35
+ const lines = content.split('\n');
36
+ const startLine = Math.max(0, trigger.line - 16);
37
+ const endLine = Math.min(lines.length, trigger.line + 15);
38
+ const surroundingContent = lines.slice(startLine, endLine).join('\n');
39
+ const hasTimeout = checkTimeoutPresence(surroundingContent, trigger.type);
40
+ if (!hasTimeout) {
41
+ const finding = {
42
+ rule_id: 'RI-OI-001',
43
+ title: 'Outbound call without timeout',
44
+ severity: 'P1',
45
+ category: 'outbound_io',
46
+ file: filePath,
47
+ line: trigger.line,
48
+ trigger: `${trigger.type.replace(/_/g, ' ')} call`,
49
+ missing_companions: ['Timeout configuration (AbortController, timeout option, or sanctioned wrapper)'],
50
+ why_it_matters: 'Outbound HTTP calls without timeouts can hang indefinitely, ' +
51
+ 'leading to resource exhaustion, cascading failures, and degraded user experience. ' +
52
+ 'Always set an explicit timeout or use an AbortController with a deadline.',
53
+ confidence: 'high',
54
+ };
55
+ if (fetchWrapper) {
56
+ finding.repo_standard = fetchWrapper;
57
+ }
58
+ findings.push(finding);
59
+ }
60
+ // Check for repo drift: raw call when a sanctioned wrapper exists
61
+ if (fetchWrapper && !isInWrapperDefinition(filePath, fetchWrapper)) {
62
+ const isUsingWrapper = checkUsesWrapper(surroundingContent, fetchWrapper);
63
+ if (!isUsingWrapper) {
64
+ findings.push({
65
+ rule_id: 'RI-OI-002',
66
+ title: 'Raw outbound call bypasses sanctioned wrapper',
67
+ severity: 'P2',
68
+ category: 'outbound_io',
69
+ file: filePath,
70
+ line: trigger.line,
71
+ trigger: `raw ${trigger.type.replace(/_/g, ' ')} instead of ${fetchWrapper.helper_name}`,
72
+ missing_companions: [`Use ${fetchWrapper.helper_name} instead of raw ${trigger.type.replace(/_/g, ' ')}`],
73
+ why_it_matters: `This repository has a standard wrapper (${fetchWrapper.helper_name}) ` +
74
+ 'that likely includes timeout handling, error normalization, and observability. ' +
75
+ 'Bypassing it introduces inconsistency and may miss safety defaults.',
76
+ repo_standard: fetchWrapper,
77
+ confidence: 'medium',
78
+ });
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return findings;
84
+ },
85
+ };
86
+ function checkTimeoutPresence(content, triggerType) {
87
+ // AbortController / AbortSignal
88
+ if (/AbortController|AbortSignal|signal\s*:/.test(content)) {
89
+ return true;
90
+ }
91
+ // Explicit timeout config
92
+ if (/timeout\s*[:=]/.test(content)) {
93
+ return true;
94
+ }
95
+ // axios timeout option
96
+ if (triggerType === 'axios_call' && /timeout\s*:/.test(content)) {
97
+ return true;
98
+ }
99
+ // node:http agent with timeout
100
+ if (triggerType === 'http_request' && /(?:agent|timeout)\s*:/.test(content)) {
101
+ return true;
102
+ }
103
+ // Promise.race with timeout/deadline
104
+ if (/Promise\.race\s*\(/.test(content)) {
105
+ return true;
106
+ }
107
+ // setTimeout used as a deadline
108
+ if (/setTimeout\s*\(/.test(content) && /reject|abort|cancel/.test(content)) {
109
+ return true;
110
+ }
111
+ return false;
112
+ }
113
+ function isInWrapperDefinition(filePath, wrapper) {
114
+ return wrapper.example_paths.some((p) => filePath === p || filePath.endsWith(p));
115
+ }
116
+ function checkUsesWrapper(content, wrapper) {
117
+ return content.includes(wrapper.helper_name);
118
+ }
119
+ function isAnalyzableFile(filePath) {
120
+ return /\.(?:ts|tsx|js|jsx|mts|mjs)$/.test(filePath);
121
+ }
122
+ //# sourceMappingURL=outbound-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-io.js","sourceRoot":"","sources":["../../../src/review-intelligence/detectors/outbound-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { InvariantDetector } from '../types.js';
2
+ /**
3
+ * INVARIANT 3 — platform_helpers
4
+ *
5
+ * Detect bypassing of repository-standard helpers/patterns.
6
+ *
7
+ * Examples:
8
+ * - raw reply.status(...).send(...) instead of shared error helper
9
+ * - manual cache key format instead of shared helper
10
+ * - custom rate limit logic instead of shared middleware
11
+ *
12
+ * Severity: P2 (repository drift)
13
+ */
14
+ export declare const platformHelpersDetector: InvariantDetector;
15
+ //# sourceMappingURL=platform-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-helpers.d.ts","sourceRoot":"","sources":["../../../src/review-intelligence/detectors/platform-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,iBAoBrC,CAAC"}
@@ -0,0 +1,171 @@
1
+ import { detectTriggers } from '../triggers.js';
2
+ /**
3
+ * INVARIANT 3 — platform_helpers
4
+ *
5
+ * Detect bypassing of repository-standard helpers/patterns.
6
+ *
7
+ * Examples:
8
+ * - raw reply.status(...).send(...) instead of shared error helper
9
+ * - manual cache key format instead of shared helper
10
+ * - custom rate limit logic instead of shared middleware
11
+ *
12
+ * Severity: P2 (repository drift)
13
+ */
14
+ export const platformHelpersDetector = {
15
+ name: 'platform_helpers',
16
+ analyze(ctx) {
17
+ const findings = [];
18
+ for (const filePath of ctx.files) {
19
+ const content = ctx.fileContents.get(filePath);
20
+ if (!content)
21
+ continue;
22
+ if (!isAnalyzableFile(filePath))
23
+ continue;
24
+ // Check each pattern category
25
+ findings.push(...checkErrorResponseDrift(filePath, content, ctx));
26
+ findings.push(...checkCacheKeyDrift(filePath, content, ctx));
27
+ findings.push(...checkRateLimitDrift(filePath, content, ctx));
28
+ }
29
+ return findings;
30
+ },
31
+ };
32
+ /**
33
+ * Detect raw error responses when a shared error helper exists.
34
+ */
35
+ function checkErrorResponseDrift(filePath, content, ctx) {
36
+ const errorHelper = ctx.repoStandards.find((s) => {
37
+ const lower = s.helper_name.toLowerCase();
38
+ return (lower.includes('error') ||
39
+ lower.includes('response') ||
40
+ lower.includes('notfound') ||
41
+ lower.includes('badrequest') ||
42
+ lower.includes('send'));
43
+ });
44
+ if (!errorHelper)
45
+ return [];
46
+ if (isInHelperDefinition(filePath, errorHelper))
47
+ return [];
48
+ const findings = [];
49
+ const triggers = detectTriggers(filePath, content);
50
+ const errorTriggers = triggers.filter((t) => t.type === 'raw_error_response');
51
+ for (const trigger of errorTriggers) {
52
+ // Check if this line or nearby lines use the shared helper
53
+ const lines = content.split('\n');
54
+ const startLine = Math.max(0, trigger.line - 4);
55
+ const endLine = Math.min(lines.length, trigger.line + 3);
56
+ const nearby = lines.slice(startLine, endLine).join('\n');
57
+ if (!nearby.includes(errorHelper.helper_name)) {
58
+ findings.push({
59
+ rule_id: 'RI-PH-001',
60
+ title: 'Raw error response bypasses shared error helper',
61
+ severity: 'P2',
62
+ category: 'platform_helpers',
63
+ file: filePath,
64
+ line: trigger.line,
65
+ trigger: 'raw error response construction',
66
+ missing_companions: [`Use ${errorHelper.helper_name} for consistent error responses`],
67
+ why_it_matters: `This repository has a standard error helper (${errorHelper.helper_name}). ` +
68
+ 'Using raw reply.status().send() for errors creates inconsistency in error format, ' +
69
+ 'may miss logging/observability hooks, and makes error handling harder to maintain.',
70
+ repo_standard: errorHelper,
71
+ confidence: 'medium',
72
+ });
73
+ }
74
+ }
75
+ return findings;
76
+ }
77
+ /**
78
+ * Detect manual cache key construction when a shared helper exists.
79
+ */
80
+ function checkCacheKeyDrift(filePath, content, ctx) {
81
+ const cacheHelper = ctx.repoStandards.find((s) => {
82
+ const lower = s.helper_name.toLowerCase();
83
+ return (lower.includes('cache') ||
84
+ lower.includes('key'));
85
+ });
86
+ if (!cacheHelper)
87
+ return [];
88
+ if (isInHelperDefinition(filePath, cacheHelper))
89
+ return [];
90
+ const findings = [];
91
+ const triggers = detectTriggers(filePath, content);
92
+ const cacheTriggers = triggers.filter((t) => t.type === 'redis_cache_key');
93
+ for (const trigger of cacheTriggers) {
94
+ const lines = content.split('\n');
95
+ const startLine = Math.max(0, trigger.line - 4);
96
+ const endLine = Math.min(lines.length, trigger.line + 3);
97
+ const nearby = lines.slice(startLine, endLine).join('\n');
98
+ if (!nearby.includes(cacheHelper.helper_name)) {
99
+ findings.push({
100
+ rule_id: 'RI-PH-002',
101
+ title: 'Manual cache key bypasses shared cache helper',
102
+ severity: 'P2',
103
+ category: 'platform_helpers',
104
+ file: filePath,
105
+ line: trigger.line,
106
+ trigger: 'manual cache key construction',
107
+ missing_companions: [`Use ${cacheHelper.helper_name} for consistent cache key format`],
108
+ why_it_matters: `This repository has a standard cache helper (${cacheHelper.helper_name}). ` +
109
+ 'Manual cache key construction risks inconsistent key formats, ' +
110
+ 'missing tenant isolation, or namespace collisions.',
111
+ repo_standard: cacheHelper,
112
+ confidence: 'medium',
113
+ });
114
+ }
115
+ }
116
+ return findings;
117
+ }
118
+ /**
119
+ * Detect custom rate limiting when shared middleware exists.
120
+ */
121
+ function checkRateLimitDrift(filePath, content, ctx) {
122
+ const rateLimitHelper = ctx.repoStandards.find((s) => s.helper_name.includes('rateLimit') ||
123
+ s.helper_name.includes('rate_limit') ||
124
+ s.helper_name.includes('throttle'));
125
+ if (!rateLimitHelper)
126
+ return [];
127
+ if (isInHelperDefinition(filePath, rateLimitHelper))
128
+ return [];
129
+ const findings = [];
130
+ // Detect custom rate limiting patterns
131
+ const rateLimitPatterns = [
132
+ /\brateLimit\s*\(/,
133
+ /\bthrottle\s*\(/,
134
+ /\brequestCount\b.*\b(?:>=|>|===)\b/,
135
+ /\bwindow\b.*\b(?:requests?|count|limit)\b/i,
136
+ ];
137
+ const lines = content.split('\n');
138
+ for (let i = 0; i < lines.length; i++) {
139
+ const line = lines[i];
140
+ const trimmed = line.trim();
141
+ if (trimmed.startsWith('//') || trimmed.startsWith('import '))
142
+ continue;
143
+ for (const pattern of rateLimitPatterns) {
144
+ if (pattern.test(line) && !line.includes(rateLimitHelper.helper_name)) {
145
+ findings.push({
146
+ rule_id: 'RI-PH-003',
147
+ title: 'Custom rate limiting bypasses shared middleware',
148
+ severity: 'P2',
149
+ category: 'platform_helpers',
150
+ file: filePath,
151
+ line: i + 1,
152
+ trigger: 'custom rate limit logic',
153
+ missing_companions: [`Use ${rateLimitHelper.helper_name} for consistent rate limiting`],
154
+ why_it_matters: `This repository has a standard rate limiting helper (${rateLimitHelper.helper_name}). ` +
155
+ 'Custom rate limiting creates inconsistency and may miss distributed coordination.',
156
+ repo_standard: rateLimitHelper,
157
+ confidence: 'low',
158
+ });
159
+ break;
160
+ }
161
+ }
162
+ }
163
+ return findings;
164
+ }
165
+ function isInHelperDefinition(filePath, helper) {
166
+ return helper.example_paths.some((p) => filePath === p || filePath.endsWith(p));
167
+ }
168
+ function isAnalyzableFile(filePath) {
169
+ return /\.(?:ts|tsx|js|jsx|mts|mjs)$/.test(filePath);
170
+ }
171
+ //# sourceMappingURL=platform-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-helpers.js","sourceRoot":"","sources":["../../../src/review-intelligence/detectors/platform-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,kBAAkB;IAExB,OAAO,CAAC,GAAoB;QAC1B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAE1C,8BAA8B;YAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,OAAe,EACf,GAAoB;IAEpB,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE;QACJ,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IAE9E,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,2DAA2D;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,iDAAiD;gBACxD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,iCAAiC;gBAC1C,kBAAkB,EAAE,CAAC,OAAO,WAAW,CAAC,WAAW,iCAAiC,CAAC;gBACrF,cAAc,EACZ,gDAAgD,WAAW,CAAC,WAAW,KAAK;oBAC5E,oFAAoF;oBACpF,oFAAoF;gBACtF,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAgB,EAChB,OAAe,EACf,GAAoB;IAEpB,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE;QACJ,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IAE3E,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,+CAA+C;gBACtD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,+BAA+B;gBACxC,kBAAkB,EAAE,CAAC,OAAO,WAAW,CAAC,WAAW,kCAAkC,CAAC;gBACtF,cAAc,EACZ,gDAAgD,WAAW,CAAC,WAAW,KAAK;oBAC5E,gEAAgE;oBAChE,oDAAoD;gBACtD,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,OAAe,EACf,GAAoB;IAEpB,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrC,CAAC;IAEF,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,uCAAuC;IACvC,MAAM,iBAAiB,GAAG;QACxB,kBAAkB;QAClB,iBAAiB;QACjB,oCAAoC;QACpC,4CAA4C;KAC7C,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAExE,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtE,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,WAAW;oBACpB,KAAK,EAAE,iDAAiD;oBACxD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,OAAO,EAAE,yBAAyB;oBAClC,kBAAkB,EAAE,CAAC,OAAO,eAAe,CAAC,WAAW,+BAA+B,CAAC;oBACvF,cAAc,EACZ,wDAAwD,eAAe,CAAC,WAAW,KAAK;wBACxF,mFAAmF;oBACrF,aAAa,EAAE,eAAe;oBAC9B,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,MAAoB;IAClE,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { InvariantDetector } from '../types.js';
2
+ /**
3
+ * INVARIANT 1 — runtime_validation
4
+ *
5
+ * Trigger: typed route body/params/query (e.g. server.post<{ Body: ... }>(...))
6
+ * Invariant: runtime validation must exist (zod, ajv, Fastify schema)
7
+ * Severity: P1 (missing runtime validation)
8
+ */
9
+ export declare const runtimeValidationDetector: InvariantDetector;
10
+ //# sourceMappingURL=runtime-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-validation.d.ts","sourceRoot":"","sources":["../../../src/review-intelligence/detectors/runtime-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAGrB;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAiEvC,CAAC"}