@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.
- package/dist/agents/control_flow/types.d.ts +1 -1
- package/dist/agents/control_flow/types.js +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/security-logger.d.ts +1 -1
- package/dist/security-logger.js +1 -1
- package/package.json +6 -6
- package/dist/__tests__/hermetic-setup.d.ts +0 -55
- package/dist/__tests__/hermetic-setup.d.ts.map +0 -1
- package/dist/__tests__/hermetic-setup.js +0 -62
- package/dist/__tests__/hermetic-setup.js.map +0 -1
|
@@ -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
|
// =============================================================================
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/agents/index.js
CHANGED
|
@@ -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
|
*/
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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
|
/**
|
package/dist/security-logger.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
46
|
-
"@vitest/coverage-v8": "4.0
|
|
47
|
-
"vitest": "^4.0
|
|
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"}
|