@adversarylabs/sdk 0.1.3 → 0.1.5

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Adversary Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -9,21 +9,38 @@ and write runtime output.
9
9
  ## Install
10
10
 
11
11
  ```bash
12
- npm install @adversarylabs/sdk
12
+ npm install @adversarylabs/sdk@^0.1.5
13
13
  ```
14
14
 
15
15
  Requires Node 22 or newer and ESM.
16
16
 
17
+ ## Migrating from 0.1.4
18
+
19
+ SDK 0.1.4 output is incompatible with the current strict Adversary CLI schema. Version 0.1.5 is
20
+ the canonical protocol release. Existing adversaries should:
21
+
22
+ 1. Upgrade the package to `@adversarylabs/sdk@^0.1.5`.
23
+ 2. Set `findings.format` to `adversary.review.v1` in `adversary.yaml`.
24
+ 3. Stop reading `result.schemaVersion`; protocol selection is expressed by `protocolVersion: 1`
25
+ and the manifest format.
26
+ 4. If consuming serialized evidence, read `file`, `line`, `endLine`, `message`, `snippet`, and
27
+ `metadata` instead of `location`, `label`, and `data`.
28
+ 5. If consuming review scores, read the canonical review observation with key `score.<score-key>`;
29
+ the complete authored score is preserved in that note's metadata.
30
+
31
+ There is no compatibility adapter or dual wire format. Output is validated against the strict
32
+ `adversary.review.v1` schema before it is written.
33
+
17
34
  ## Author an adversary
18
35
 
19
36
  ```ts
20
- import { Adversary, Severity, defineRule, log } from "@adversarylabs/sdk";
37
+ import { Adversary, Severity, log } from "@adversarylabs/sdk";
21
38
 
22
39
  const app = new Adversary({
23
40
  name: "adversarylabs/comment-sentences"
24
41
  });
25
42
 
26
- defineRule({
43
+ app.defineRule({
27
44
  id: "comments.complete-sentence",
28
45
  category: "code-style",
29
46
  defaultSeverity: Severity.Info,
@@ -59,7 +76,7 @@ app.rule("comments.complete-sentence", async (ctx) => {
59
76
  });
60
77
  });
61
78
 
62
- await app.run();
79
+ await app.runFromEnvironment();
63
80
  ```
64
81
 
65
82
  ## API
@@ -93,14 +110,14 @@ Rule context exposes:
93
110
  - `ctx.review.observe(note)`
94
111
  - `ctx.review.opinion(opinion)`
95
112
 
96
- ### `defineRule(definition)`
113
+ ### `app.defineRule(definition)`
97
114
 
98
115
  Registers domain-specific aggregation for a stable rule id. The SDK still owns grouping,
99
116
  deduplication, ranking, suppression, and rendering; the rule definition supplies engineering
100
117
  language for a grouped set of observations.
101
118
 
102
119
  ```ts
103
- defineRule({
120
+ app.defineRule({
104
121
  id: "comments.complete-sentence",
105
122
  category: "code-style",
106
123
  defaultSeverity: "info",
@@ -126,6 +143,10 @@ defineRule({
126
143
  `category`, `defaultSeverity`, `defaultConfidence`, and `groupBy` act as defaults for observations
127
144
  with the same `ruleId`. If a rule has no `aggregate(...)`, the SDK uses generic synthesis.
128
145
 
146
+ Definitions are scoped to one `Adversary`. Duplicate IDs throw; use `app.replaceRule(...)` when an
147
+ intentional replacement is required. The top-level `defineRule(...)` API remains temporarily
148
+ available for compatibility but is deprecated.
149
+
129
150
  ### `ctx.observe(input)`
130
151
 
131
152
  Use observations for raw detector output and evidence. Observations are normalized, deduplicated,
@@ -157,7 +178,8 @@ ctx.observe({
157
178
  });
158
179
  ```
159
180
 
160
- Set `deduplicate: false` only when repeated evidence is meaningful.
181
+ Set `deduplicate: false` on a completed finding when separate findings intentionally share an
182
+ identity. The SDK otherwise merges findings with the same group key or generated ID.
161
183
 
162
184
  ### `ctx.finding(input)`
163
185
 
@@ -173,9 +195,9 @@ ctx.finding({
173
195
  whyItMatters: "Complete-sentence comments can be useful for intent, but noisy when they restate code.",
174
196
  impact: "Reviewers may spend time reading comments that do not add much context.",
175
197
  evidence: [
176
- { file: "src/index.ts", line: 3, message: "Explains parser intent." },
177
- { file: "src/index.ts", line: 11, message: "Explains fallback behavior." },
178
- { file: "src/index.ts", line: 20, message: "Explains output formatting." }
198
+ { location: { file: "src/index.ts", line: 3 }, message: "Explains parser intent." },
199
+ { location: { file: "src/index.ts", line: 11 }, message: "Explains fallback behavior." },
200
+ { location: { file: "src/index.ts", line: 20 }, message: "Explains output formatting." }
179
201
  ],
180
202
  recommendation: "Keep complete-sentence comments only when they explain non-obvious intent.",
181
203
  remediation: { complexity: "trivial" }
@@ -260,7 +282,7 @@ ctx.review.assessment({
260
282
  ctx.review.positive({
261
283
  key: "intentional-comments",
262
284
  summary: "Several comments explain intent rather than restating implementation.",
263
- evidence: [{ file: "src/index.ts", line: 3 }]
285
+ evidence: [{ location: { file: "src/index.ts", line: 3 } }]
264
286
  });
265
287
 
266
288
  ctx.review.observe({
@@ -282,7 +304,10 @@ ctx.review.score({
282
304
  });
283
305
  ```
284
306
 
285
- Scores are optional. They are included in JSON and rendered in terminal output when present.
307
+ Scores are optional and remain available as an authoring API and terminal section. Because the CLI
308
+ schema has no top-level score collection, the SDK serializes each score as a review
309
+ observation. The note key is `score.<score-key>`, its summary is the rendered score, and its metadata
310
+ preserves the authored `key`, `label`, `score`, `max`, and `summary`. No score data is discarded.
286
311
 
287
312
  ### Observation-First Authoring
288
313
 
@@ -309,7 +334,9 @@ Use `ctx.finding(...)` when the adversary has already done issue synthesis itsel
309
334
 
310
335
  ## Review Result
311
336
 
312
- `app.run()` returns one normalized review object:
337
+ `app.run({ input })` is the side-effect-free library API and returns one normalized review object.
338
+ Container and CLI entry points should call `app.runFromEnvironment()`, which reads the runtime
339
+ environment and writes the run envelope to the configured output path.
313
340
 
314
341
  ```ts
315
342
  type ReviewResult = {
@@ -318,7 +345,6 @@ type ReviewResult = {
318
345
  assessment?: { risk: "none" | "low" | "medium" | "high" | "critical"; summary?: string };
319
346
  positives: ReviewNote[];
320
347
  observations: ReviewNote[];
321
- scores?: ReviewScore[];
322
348
  findings: ReviewFinding[];
323
349
  opinion?: { ship?: boolean; summary: string };
324
350
  suppressed: { observations: number; findings: number };
@@ -329,13 +355,29 @@ type ReviewResult = {
329
355
  Renderers consume this result. The SDK includes `TerminalRenderer` and `JsonRenderer`:
330
356
 
331
357
  ```ts
332
- const result = await app.run({ write: false });
358
+ const result = await app.run({ input: { source: { path: "/repo" } } });
333
359
  new TerminalRenderer().render(result);
334
360
  new JsonRenderer().render(result);
335
361
  ```
336
362
 
337
363
  Adversary implementations should not manually format review output.
338
364
 
365
+ ### Canonical wire evidence
366
+
367
+ The authoring API continues to accept nested `location`, structured `data`, and `label`. Envelope
368
+ serialization translates those fields without losing their meaning:
369
+
370
+ | Authoring field | Canonical wire field |
371
+ | --- | --- |
372
+ | `location.file` | `file` |
373
+ | `location.line` | `line` |
374
+ | `location.endLine` | `endLine` |
375
+ | `data` | `metadata` |
376
+ | `label` when `message` is absent | `message` |
377
+
378
+ Wire evidence never contains `location`, `data`, or `label`. Findings likewise never contain SDK
379
+ diagnostic fields such as `synthesisSource`.
380
+
339
381
  ## Comment Sentence Example
340
382
 
341
383
  `adversary.yaml`:
@@ -367,7 +409,7 @@ permissions:
367
409
  env: []
368
410
 
369
411
  findings:
370
- format: adversary.findings.v1
412
+ format: adversary.review.v1
371
413
  ```
372
414
 
373
415
  `src/index.ts`:
@@ -375,7 +417,7 @@ findings:
375
417
  ```ts
376
418
  import { readFile } from "node:fs/promises";
377
419
  import { join } from "node:path";
378
- import { Adversary, defineRule } from "@adversarylabs/sdk";
420
+ import { Adversary } from "@adversarylabs/sdk";
379
421
 
380
422
  const app = new Adversary({
381
423
  name: "adversarylabs/comment-sentences",
@@ -384,7 +426,7 @@ const app = new Adversary({
384
426
  }
385
427
  });
386
428
 
387
- defineRule({
429
+ app.defineRule({
388
430
  id: "comments.complete-sentence",
389
431
  category: "code-style",
390
432
  defaultSeverity: "info",
@@ -402,8 +444,10 @@ defineRule({
402
444
  "Comments are most useful when they explain non-obvious intent rather than restating code.",
403
445
  impact: "Repeated prose can make routine code harder to scan during review.",
404
446
  evidence: observations.map((observation) => ({
405
- file: observation.location?.file,
406
- line: observation.location?.line,
447
+ location: {
448
+ file: observation.location?.file,
449
+ line: observation.location?.line
450
+ },
407
451
  message: "complete sentence",
408
452
  snippet:
409
453
  typeof observation.evidence === "object" && observation.evidence !== null
@@ -521,6 +565,10 @@ Output shape:
521
565
  }
522
566
  ```
523
567
 
568
+ The package exports the exact CLI schema at
569
+ `@adversarylabs/sdk/schemas/adversary.review.v1`. `writeOutput(...)` and
570
+ `runFromEnvironment(...)` validate the complete envelope against that schema before writing.
571
+
524
572
  ## Development
525
573
 
526
574
  ```bash
package/dist/index.d.ts CHANGED
@@ -26,21 +26,27 @@ export interface ConfidenceThresholds {
26
26
  high: number;
27
27
  }
28
28
  export declare const DEFAULT_CONFIDENCE_THRESHOLDS: ConfidenceThresholds;
29
- export interface Evidence {
30
- location?: {
31
- file?: string;
32
- line?: number;
33
- endLine?: number;
34
- };
29
+ export interface Location {
35
30
  file?: string;
36
31
  line?: number;
37
32
  endLine?: number;
33
+ }
34
+ export interface EvidenceInput extends Location {
35
+ location?: Location;
38
36
  label?: string;
39
37
  message?: string;
40
38
  snippet?: string;
41
39
  data?: Record<string, unknown>;
40
+ /** @deprecated Use data. */
42
41
  metadata?: Record<string, unknown>;
43
42
  }
43
+ export interface Evidence {
44
+ location?: Location;
45
+ label?: string;
46
+ message?: string;
47
+ snippet?: string;
48
+ data?: Record<string, unknown>;
49
+ }
44
50
  export interface Remediation {
45
51
  complexity?: "trivial" | "small" | "medium" | "large" | "architectural";
46
52
  }
@@ -74,7 +80,7 @@ export interface ObservationInit {
74
80
  summary?: ObservationSummary;
75
81
  whyItMatters?: string;
76
82
  impact?: string;
77
- location?: Evidence;
83
+ location?: EvidenceInput;
78
84
  evidence?: string | Record<string, unknown>;
79
85
  recommendation?: string | RecommendationInput;
80
86
  remediation?: Remediation;
@@ -93,7 +99,7 @@ export interface FindingInput {
93
99
  summary: string;
94
100
  whyItMatters?: string;
95
101
  impact?: string;
96
- evidence: Evidence[];
102
+ evidence: EvidenceInput[];
97
103
  recommendation?: string;
98
104
  remediation?: Remediation;
99
105
  tags?: string[];
@@ -113,7 +119,6 @@ export interface ReviewFinding {
113
119
  evidence: Evidence[];
114
120
  recommendation?: string;
115
121
  remediation?: Remediation;
116
- synthesisSource?: "rule" | "generic";
117
122
  tags?: string[];
118
123
  metadata?: Record<string, unknown>;
119
124
  }
@@ -123,6 +128,9 @@ export interface ReviewNote {
123
128
  evidence?: Evidence[];
124
129
  metadata?: Record<string, unknown>;
125
130
  }
131
+ export interface ReviewNoteInput extends Omit<ReviewNote, "evidence"> {
132
+ evidence?: EvidenceInput[];
133
+ }
126
134
  export interface ReviewAssessment {
127
135
  risk: "none" | "low" | "medium" | "high" | "critical";
128
136
  summary?: string;
@@ -157,7 +165,6 @@ export interface ReviewResult {
157
165
  assessment?: ReviewAssessment;
158
166
  positives: ReviewNote[];
159
167
  observations: ReviewNote[];
160
- scores?: ReviewScore[];
161
168
  findings: ReviewFinding[];
162
169
  opinion?: ReviewOpinion;
163
170
  suppressed: {
@@ -175,7 +182,27 @@ export interface ReviewResult {
175
182
  }
176
183
  export interface AdversaryRunEnvelope {
177
184
  protocolVersion: typeof ADVERSARY_RUN_PROTOCOL_VERSION;
178
- result: ReviewResult;
185
+ result: WireReviewResult;
186
+ }
187
+ export interface WireEvidence {
188
+ file?: string;
189
+ line?: number;
190
+ endLine?: number;
191
+ message?: string;
192
+ snippet?: string;
193
+ metadata?: Record<string, unknown>;
194
+ }
195
+ export interface WireReviewFinding extends Omit<ReviewFinding, "evidence"> {
196
+ evidence: WireEvidence[];
197
+ }
198
+ export interface WireReviewNote extends Omit<ReviewNote, "evidence"> {
199
+ evidence?: WireEvidence[];
200
+ }
201
+ export interface WireReviewResult extends Omit<ReviewResult, "positives" | "observations" | "findings" | "suppressedFindings"> {
202
+ positives: WireReviewNote[];
203
+ observations: WireReviewNote[];
204
+ findings: WireReviewFinding[];
205
+ suppressedFindings?: WireReviewFinding[];
179
206
  }
180
207
  export interface RuntimeInput {
181
208
  source: {
@@ -185,7 +212,6 @@ export interface RuntimeInput {
185
212
  }
186
213
  export interface Summary {
187
214
  files_scanned?: number;
188
- [key: string]: number | string | boolean | null | undefined;
189
215
  }
190
216
  export interface RuleContext {
191
217
  repoPath: string;
@@ -198,8 +224,8 @@ export interface RuleContext {
198
224
  finding: (finding: FindingInput) => void;
199
225
  review: {
200
226
  assessment: (assessment: ReviewAssessment) => void;
201
- positive: (note: ReviewNote) => void;
202
- observe: (note: ReviewNote) => void;
227
+ positive: (note: ReviewNoteInput) => void;
228
+ observe: (note: ReviewNoteInput) => void;
203
229
  score: (score: ReviewScore) => void;
204
230
  opinion: (opinion: ReviewOpinion) => void;
205
231
  };
@@ -211,13 +237,20 @@ export interface AdversaryOptions {
211
237
  review?: ReviewPolicy;
212
238
  }
213
239
  export interface RunOptions {
240
+ input: RuntimeInput;
241
+ review?: ReviewPolicy;
242
+ includeSuppressed?: boolean;
243
+ includeRawObservations?: boolean;
244
+ includeTiming?: boolean;
245
+ }
246
+ export interface EnvironmentRunOptions {
214
247
  input?: RuntimeInput;
215
248
  inputPath?: string;
216
249
  outputPath?: string;
217
- write?: boolean;
218
250
  review?: ReviewPolicy;
219
251
  includeSuppressed?: boolean;
220
252
  includeRawObservations?: boolean;
253
+ includeTiming?: boolean;
221
254
  }
222
255
  export interface ReviewRenderer {
223
256
  render(result: ReviewResult): Promise<void> | void;
@@ -228,16 +261,26 @@ export interface RuleDefinition {
228
261
  defaultSeverity?: Severity;
229
262
  defaultConfidence?: ConfidenceInput;
230
263
  groupBy?: string[];
231
- aggregate?: (observations: ObservationInit[]) => Partial<ReviewFinding>;
264
+ aggregate?: (observations: ReadonlyArray<ObservationInit>) => FindingSynthesis;
232
265
  }
266
+ export type FindingSynthesis = Omit<Partial<ReviewFinding>, "evidence"> & {
267
+ evidence?: EvidenceInput[];
268
+ };
233
269
  export declare class RuleRegistry {
234
270
  private readonly rules;
235
271
  register(rule: RuleDefinition): void;
272
+ replace(rule: RuleDefinition): void;
236
273
  lookup(ruleId: string): RuleDefinition | undefined;
237
274
  has(ruleId: string): boolean;
275
+ snapshot(): RuleRegistry;
276
+ importMissing(source: RuleRegistry): void;
238
277
  }
278
+ /** @deprecated Prefer app.defineRule(...) so definitions remain instance-scoped. */
239
279
  export declare const ruleRegistry: RuleRegistry;
280
+ /** @deprecated Prefer app.defineRule(...) so definitions remain instance-scoped. */
240
281
  export declare function defineRule(rule: RuleDefinition): void;
282
+ /** @deprecated Prefer app.replaceRule(...) so definitions remain instance-scoped. */
283
+ export declare function replaceRule(rule: RuleDefinition): void;
241
284
  export declare const log: {
242
285
  debug(message: unknown): void;
243
286
  info(message: unknown): void;
@@ -247,18 +290,21 @@ export declare const log: {
247
290
  export declare class Adversary {
248
291
  readonly name: string;
249
292
  readonly version?: string;
250
- readonly rules: Array<{
251
- id: string;
252
- handler: RuleHandler;
253
- }>;
254
- readonly reviewPolicy: ReviewPolicy;
293
+ private readonly rules;
294
+ private readonly reviewPolicy;
295
+ private readonly ruleDefinitions;
255
296
  constructor(options: AdversaryOptions);
297
+ defineRule(rule: RuleDefinition): void;
298
+ replaceRule(rule: RuleDefinition): void;
299
+ hasRuleDefinition(ruleId: string): boolean;
256
300
  rule(id: string, handler: RuleHandler): void;
257
- run(options?: RunOptions): Promise<ReviewResult>;
301
+ run(options: RunOptions): Promise<ReviewResult>;
302
+ runFromEnvironment(options?: EnvironmentRunOptions): Promise<ReviewResult>;
258
303
  }
259
304
  export declare function createAdversaryRunEnvelope(result: ReviewResult): AdversaryRunEnvelope;
260
305
  export declare function parseInput(path?: string): Promise<RuntimeInput>;
261
- export declare function writeOutput(output: unknown, path?: string): Promise<void>;
306
+ export declare function writeOutput(output: AdversaryRunEnvelope, path?: string): Promise<void>;
307
+ export declare function validateRunEnvelope(output: unknown): Promise<void>;
262
308
  export declare function normalizeConfidence(confidence: ConfidenceInput, thresholds?: ConfidenceThresholds): Confidence;
263
309
  export declare function rankFindings(findings: ReviewFinding[]): ReviewFinding[];
264
310
  export declare class JsonRenderer implements ReviewRenderer {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}