@oddessentials/odd-ai-reviewers 1.10.1 → 1.11.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.
@@ -2,7 +2,7 @@
2
2
  * Control Flow Analysis Types
3
3
  *
4
4
  * Type definitions for the control flow analysis agent.
5
- * Based on specs/001-control-flow-analysis/contracts/control-flow-types.ts
5
+ * Based on specs/archive/001-control-flow-analysis/contracts/control-flow-types.ts
6
6
  */
7
7
  import { z } from 'zod';
8
8
  export declare const VulnerabilityTypeSchema: z.ZodEnum<{
@@ -2,7 +2,7 @@
2
2
  * Control Flow Analysis Types
3
3
  *
4
4
  * Type definitions for the control flow analysis agent.
5
- * Based on specs/001-control-flow-analysis/contracts/control-flow-types.ts
5
+ * Based on specs/archive/001-control-flow-analysis/contracts/control-flow-types.ts
6
6
  */
7
7
  import { z } from 'zod';
8
8
  // =============================================================================
@@ -5,6 +5,7 @@
5
5
  * Manages agent registration and lookup.
6
6
  */
7
7
  export type { Severity, Finding, AgentMetrics, AgentResult, AgentContext, ReviewAgent, } from './types.js';
8
+ export { getSecurityMetadata, getKnownEnv } from './metadata.js';
8
9
  import type { ReviewAgent } from './types.js';
9
10
  /**
10
11
  * Register an agent
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAE3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAE3D"}
@@ -4,6 +4,8 @@
4
4
  * Re-exports types from ./types.ts for backward compatibility.
5
5
  * Manages agent registration and lookup.
6
6
  */
7
+ // Re-export metadata helpers (agent environment and security metadata)
8
+ export { getSecurityMetadata, getKnownEnv } from './metadata.js';
7
9
  /**
8
10
  * Agent registry
9
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH;;GAEG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAa;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5B,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,2DAA2D;AACzF,aAAa,CAAC,cAAc,CAAC,CAAC;AAC9B,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5B,aAAa,CAAC,aAAa,CAAC,CAAC;AAC7B,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,gCAAgC;AACtE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,oDAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,uEAAuE;AACvE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKjE;;GAEG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAa;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5B,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,2DAA2D;AACzF,aAAa,CAAC,cAAc,CAAC,CAAC;AAC9B,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5B,aAAa,CAAC,aAAa,CAAC,CAAC;AAC7B,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,gCAAgC;AACtE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,oDAAoD"}
@@ -10,7 +10,7 @@
10
10
  * - Consistent structured format across all events
11
11
  *
12
12
  * @see FR-021, FR-022, FR-023, FR-024
13
- * @see specs/006-quality-enforcement/contracts/security-event.ts
13
+ * @see specs/archive/006-quality-enforcement/contracts/security-event.ts
14
14
  */
15
15
  import { z } from 'zod';
16
16
  /**
@@ -10,7 +10,7 @@
10
10
  * - Consistent structured format across all events
11
11
  *
12
12
  * @see FR-021, FR-022, FR-023, FR-024
13
- * @see specs/006-quality-enforcement/contracts/security-event.ts
13
+ * @see specs/archive/006-quality-enforcement/contracts/security-event.ts
14
14
  */
15
15
  import { createHash } from 'crypto';
16
16
  import { z } from 'zod';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oddessentials/odd-ai-reviewers",
3
- "version": "1.10.1",
3
+ "version": "1.11.0",
4
4
  "description": "AI-powered code review CLI - run locally or in CI/CD pipelines",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -32,19 +32,19 @@
32
32
  "homepage": "https://github.com/oddessentials/odd-ai-reviewers#readme",
33
33
  "dependencies": {
34
34
  "@actions/cache": "5.0.5",
35
- "@anthropic-ai/sdk": "0.71.2",
35
+ "@anthropic-ai/sdk": "0.78.0",
36
36
  "@octokit/rest": "^22.0.1",
37
37
  "commander": "^14.0.3",
38
38
  "minimatch": "^10.2.4",
39
- "openai": "^6.27.0",
39
+ "openai": "^6.29.0",
40
40
  "typescript": "5.9.3",
41
41
  "yaml": "^2.8.2",
42
42
  "zod": "^4.3.6"
43
43
  },
44
44
  "devDependencies": {
45
- "@types/node": "25.4.0",
46
- "@vitest/coverage-v8": "4.0.18",
47
- "vitest": "^4.0.18"
45
+ "@types/node": "25.5.0",
46
+ "@vitest/coverage-v8": "4.1.0",
47
+ "vitest": "^4.1.0"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=22.0.0"
@@ -1,55 +0,0 @@
1
- /**
2
- * Hermetic Test Setup Utilities
3
- *
4
- * Shared test infrastructure for deterministic, isolated tests.
5
- * Located in __tests__/ directory which is classified as test code
6
- * by dependency-cruiser, allowing legitimate vitest imports.
7
- *
8
- * Provides:
9
- * - Frozen time (no wall-clock dependencies)
10
- * - Deterministic teardown
11
- *
12
- * @example
13
- * ```typescript
14
- * import { describe, it, beforeEach, afterEach } from 'vitest';
15
- * import {
16
- * FROZEN_TIMESTAMP,
17
- * setupHermeticTest,
18
- * teardownHermeticTest,
19
- * } from '../hermetic-setup.js';
20
- *
21
- * describe('MyFeature', () => {
22
- * beforeEach(() => setupHermeticTest());
23
- * afterEach(() => teardownHermeticTest());
24
- *
25
- * it('works with frozen time', () => {
26
- * expect(new Date().toISOString()).toBe(FROZEN_TIMESTAMP);
27
- * });
28
- * });
29
- * ```
30
- */
31
- /**
32
- * Frozen test timestamp - use consistently across all hermetic tests
33
- */
34
- export declare const FROZEN_TIMESTAMP = "2026-01-29T00:00:00.000Z";
35
- export declare const FROZEN_DATE: Date;
36
- /**
37
- * Setup hermetic test environment
38
- *
39
- * Configures:
40
- * - Frozen system time to FROZEN_TIMESTAMP
41
- *
42
- * Call this in beforeEach()
43
- */
44
- export declare function setupHermeticTest(): void;
45
- /**
46
- * Teardown hermetic test environment
47
- *
48
- * Restores:
49
- * - Real system time
50
- * - All mocks
51
- *
52
- * Call this in afterEach()
53
- */
54
- export declare function teardownHermeticTest(): void;
55
- //# sourceMappingURL=hermetic-setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hermetic-setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/hermetic-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH;;GAEG;AACH,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,WAAW,MAA6B,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Hermetic Test Setup Utilities
3
- *
4
- * Shared test infrastructure for deterministic, isolated tests.
5
- * Located in __tests__/ directory which is classified as test code
6
- * by dependency-cruiser, allowing legitimate vitest imports.
7
- *
8
- * Provides:
9
- * - Frozen time (no wall-clock dependencies)
10
- * - Deterministic teardown
11
- *
12
- * @example
13
- * ```typescript
14
- * import { describe, it, beforeEach, afterEach } from 'vitest';
15
- * import {
16
- * FROZEN_TIMESTAMP,
17
- * setupHermeticTest,
18
- * teardownHermeticTest,
19
- * } from '../hermetic-setup.js';
20
- *
21
- * describe('MyFeature', () => {
22
- * beforeEach(() => setupHermeticTest());
23
- * afterEach(() => teardownHermeticTest());
24
- *
25
- * it('works with frozen time', () => {
26
- * expect(new Date().toISOString()).toBe(FROZEN_TIMESTAMP);
27
- * });
28
- * });
29
- * ```
30
- */
31
- import { vi } from 'vitest';
32
- /**
33
- * Frozen test timestamp - use consistently across all hermetic tests
34
- */
35
- export const FROZEN_TIMESTAMP = '2026-01-29T00:00:00.000Z';
36
- export const FROZEN_DATE = new Date(FROZEN_TIMESTAMP);
37
- /**
38
- * Setup hermetic test environment
39
- *
40
- * Configures:
41
- * - Frozen system time to FROZEN_TIMESTAMP
42
- *
43
- * Call this in beforeEach()
44
- */
45
- export function setupHermeticTest() {
46
- vi.useFakeTimers();
47
- vi.setSystemTime(FROZEN_DATE);
48
- }
49
- /**
50
- * Teardown hermetic test environment
51
- *
52
- * Restores:
53
- * - Real system time
54
- * - All mocks
55
- *
56
- * Call this in afterEach()
57
- */
58
- export function teardownHermeticTest() {
59
- vi.useRealTimers();
60
- vi.restoreAllMocks();
61
- }
62
- //# sourceMappingURL=hermetic-setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hermetic-setup.js","sourceRoot":"","sources":["../../src/__tests__/hermetic-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB;IAC/B,EAAE,CAAC,aAAa,EAAE,CAAC;IACnB,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,EAAE,CAAC,aAAa,EAAE,CAAC;IACnB,EAAE,CAAC,eAAe,EAAE,CAAC;AACvB,CAAC"}