@tudovu/api-client 0.1.2 → 0.1.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.
package/dist/client.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { type SecurityScoreBreakdown } from "./security-score.js";
2
+ export type { SecurityScoreBreakdown };
1
3
  export type Finding = {
2
4
  id: string;
3
5
  title: string;
@@ -18,20 +20,6 @@ export type FindingsResponse = {
18
20
  guardduty: Finding[];
19
21
  errors?: Record<string, string>;
20
22
  };
21
- /** Combined security score from stored checks + findings history (no live eval). */
22
- export type SecurityScoreBreakdown = {
23
- /** Checks-only weighted posture (alias of checksScore). */
24
- weightedSecurityScore: number;
25
- /** Checks posture base. */
26
- checksScore: number;
27
- /** Points subtracted for findings (capped) or incomplete-detection ding. */
28
- findingsPenalty: number;
29
- /** Combined: clamp(0, 100, checksScore − findingsPenalty). */
30
- securityScore: number;
31
- bySeverity: Partial<Record<Finding["severity"], number>>;
32
- findingsLoad: number;
33
- detectionIncomplete: boolean;
34
- };
35
23
  export type LatestChecksResponse = {
36
24
  run: {
37
25
  id?: string;
@@ -55,7 +43,10 @@ export type LatestChecksResponse = {
55
43
  failed?: number | null;
56
44
  [key: string]: unknown;
57
45
  } | null;
58
- /** Present when a stored run exists; computed from that run + findings history. */
46
+ /**
47
+ * Findings-primary security score (from findings history). Present even when
48
+ * `missing` is true (no check run) — checksScore is null in that case.
49
+ */
59
50
  security?: SecurityScoreBreakdown;
60
51
  missing: boolean;
61
52
  hint?: string;
@@ -104,8 +95,9 @@ export type ReviewSnapshot = {
104
95
  /** Full PASS/FAIL matrix when `includeChecks` was requested. */
105
96
  checks?: ReviewChecksSummary;
106
97
  /**
107
- * Combined security score from stored checks + findings history.
108
- * `null` when no stored check run exists yet.
98
+ * Findings-primary security score from open finding counts.
99
+ * Always present after a findings pull (no check run required).
100
+ * Optional `checksScore` when a stored check run exists.
109
101
  */
110
102
  security: SecurityScoreBreakdown | null;
111
103
  securityHint?: string;
@@ -188,6 +180,26 @@ export declare class TudovuClient {
188
180
  githubIacRootPath?: string;
189
181
  [key: string]: unknown;
190
182
  }>;
183
+ /**
184
+ * GitHub App installation status + granted repos for the current org.
185
+ * Same payload Architect uses (`GET /api/github/test`).
186
+ */
187
+ githubInstallStatus(): Promise<{
188
+ configured?: boolean;
189
+ installed?: boolean;
190
+ installUrl?: string | null;
191
+ manageInstallationUrl?: string;
192
+ repositorySelection?: string;
193
+ repos?: Array<{
194
+ full_name: string;
195
+ html_url: string;
196
+ default_branch: string;
197
+ }>;
198
+ warning?: string;
199
+ canRecoverInstall?: boolean;
200
+ missing?: string[];
201
+ [key: string]: unknown;
202
+ }>;
191
203
  awsConnectStatus(): Promise<{
192
204
  configured?: boolean;
193
205
  connected?: boolean;
@@ -269,17 +281,18 @@ export declare class TudovuClient {
269
281
  [key: string]: unknown;
270
282
  }>;
271
283
  /**
272
- * Latest persisted check run (full PASS/FAIL matrix) plus combined `security`
273
- * breakdown. Does not evaluate live.
274
- * When no run exists, `missing` is true and `hint` explains how to populate it.
284
+ * Latest persisted check run (full PASS/FAIL matrix) plus findings-primary
285
+ * `security` breakdown (optional compliance checksScore when a run exists).
286
+ * Does not evaluate live. When no run exists, `missing` is true; `security`
287
+ * may still be present from findings history alone.
275
288
  */
276
289
  getLatestChecks(): Promise<LatestChecksResponse>;
277
290
  postureHistory(limit?: number): Promise<{
278
291
  runs: unknown[];
279
292
  }>;
280
293
  /**
281
- * Read-only security posture snapshot: open findings + stored security score
282
- * (+ optional stored check matrix). Never live-evals checks.
294
+ * Read-only security posture snapshot: open findings + findings-primary security
295
+ * score (+ optional stored check matrix). Never live-evals checks.
283
296
  */
284
297
  review(opts?: {
285
298
  region?: string;
@@ -302,28 +315,39 @@ export declare class TudovuClient {
302
315
  }): Promise<UpsertDispositionResponse>;
303
316
  /**
304
317
  * Resolve a finding by id, title, or subject key. Pulls live findings (same as review).
318
+ * Optional `resource` (bucket name / ARN substring) disambiguates title matches.
305
319
  * When nothing matches but the needle looks like `source:control:resource`, returns that key.
306
320
  */
307
321
  resolveFindingForDisposition(opts: {
308
322
  idOrTitle: string;
309
323
  region?: string;
324
+ resource?: string;
310
325
  }): Promise<{
311
326
  finding?: Finding;
312
327
  subjectKey: string;
313
328
  }>;
314
329
  /**
315
- * Record a temporary exception (disposition type `exception`).
316
- * Prefer `subjectKey` / `checkId` when known; otherwise resolve via finding id or title.
330
+ * Record a temporary exception (accepted risk) via PUT /api/org/dispositions.
331
+ * Same model the UI uses for findings and checks (`type: "exception"`, expiry required).
332
+ * Check exceptions use subjectKey = checkId; finding exceptions use
333
+ * `source:controlId:resourceId` (resource scoping is via that key / live resolve).
317
334
  */
318
335
  addException(input: {
319
- rationale: string;
336
+ /** Required justification (e.g. "Marketing assets bucket must be publicly readable"). */
337
+ reason: string;
320
338
  expiresAt: string;
321
- /** Finding id, title, or subject key (resolved against live findings when needed). */
339
+ /** `finding` | `check` preferred with `id`. */
340
+ kind?: "finding" | "check";
341
+ /** Finding id from review (preferred), title/subject key, or check id (e.g. AC-S3-001). */
342
+ id?: string;
343
+ /** @deprecated Prefer kind=finding + id */
322
344
  finding?: string;
323
- /** Explicit disposition subject key (skips live lookup). */
345
+ /** Explicit disposition subject key (skips live lookup when kind=finding). */
324
346
  subjectKey?: string;
325
- /** Tudovu check id — records exception on subjectKind `check`. */
347
+ /** @deprecated Prefer kind=check + id */
326
348
  checkId?: string;
349
+ /** For findings: disambiguate by bucket name / ARN. Checks are check-scoped. */
350
+ resource?: string;
327
351
  region?: string;
328
352
  framework?: string[];
329
353
  }): Promise<{
@@ -333,6 +357,9 @@ export declare class TudovuClient {
333
357
  subjectKey: string;
334
358
  disposition?: Disposition;
335
359
  finding?: Finding;
360
+ checkId?: string;
361
+ rationale: string;
362
+ expiresAt: string;
336
363
  }>;
337
364
  }
338
365
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,CAAC;IACnE,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,sBAAsB,GAAG;IACnC,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,mFAAmF;IACnF,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,EAAE,CAAC;CACd,GACD;IACE,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,oBAAoB,EAAE,CAAC;KACtC,CAAC;IACF,gEAAgE;IAChE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B;;;OAGG;IACH,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,EAAE,CAAC;CAC3B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1D,qCAAqC;AACrC,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,eAAe,GACf,sBAAsB,GACtB,gBAAgB,GAChB,WAAW,GACX,2BAA2B,GAC3B,wBAAwB,GACxB,wBAAwB,GACxB,0BAA0B,CAAC;AAE/B,iFAAiF;AACjF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,GACtD,MAAM,CAKR;AAED,qBAAa,cAAe,SAAQ,KAAK;IAGrC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;gBAFvB,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,YAAA;CAK1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEhC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAKtD,OAAO,CAAC,OAAO;YAUD,OAAO;IAuBf,MAAM,IAAI,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACnD,GAAG,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAII,WAAW,IAAI,OAAO,CAAC;QAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IAII,gBAAgB,IAAI,OAAO,CAAC;QAChC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IAKI,GAAG,CAAC,KAAK,EAAE;QACf,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IA2CrG,eAAe,CAAC,KAAK,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1F,SAAS,CACb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5E,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAQ3F,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAKtE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAK3G,eAAe,IAAI,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAK7E,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO9D,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAI3C,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IAOF;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIhD,cAAc,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAI7D;;;OAGG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0FrB,gBAAgB,IAAI,OAAO,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,gBAAgB,EAAE,CAAC;KAClC,CAAC;IAIF;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAWtC;;;OAGG;IACG,4BAA4B,CAAC,IAAI,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAwDtD;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,sFAAsF;QACtF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,4DAA4D;QAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,EAAE,EAAE,OAAO,CAAC;QACZ,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,WAAW,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CA+CH"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -4,6 +4,7 @@
4
4
  // (`/api/org/api-keys`). Against a host with auth disabled (demo / no
5
5
  // DATABASE_URL), cookie-less calls still resolve to the anonymous session.
6
6
  // Against auth-enabled hosts, omit the key and you get 401.
7
+ import { computeFindingsSecurityScore, } from "./security-score.js";
7
8
  /**
8
9
  * Stable per-finding subject key: `source:controlId:resourceId`.
9
10
  * Matches platform `findingSubjectKey` (ASFF ids rotate; this does not).
@@ -69,6 +70,13 @@ export class TudovuClient {
69
70
  async setupConfig() {
70
71
  return this.request("/api/org/setup-config", { method: "GET" });
71
72
  }
73
+ /**
74
+ * GitHub App installation status + granted repos for the current org.
75
+ * Same payload Architect uses (`GET /api/github/test`).
76
+ */
77
+ async githubInstallStatus() {
78
+ return this.request("/api/github/test", { method: "GET" });
79
+ }
72
80
  async awsConnectStatus() {
73
81
  return this.request("/api/aws/connect", { method: "GET" });
74
82
  }
@@ -162,9 +170,10 @@ export class TudovuClient {
162
170
  });
163
171
  }
164
172
  /**
165
- * Latest persisted check run (full PASS/FAIL matrix) plus combined `security`
166
- * breakdown. Does not evaluate live.
167
- * When no run exists, `missing` is true and `hint` explains how to populate it.
173
+ * Latest persisted check run (full PASS/FAIL matrix) plus findings-primary
174
+ * `security` breakdown (optional compliance checksScore when a run exists).
175
+ * Does not evaluate live. When no run exists, `missing` is true; `security`
176
+ * may still be present from findings history alone.
168
177
  */
169
178
  async getLatestChecks() {
170
179
  return this.request("/api/infranitum/checks/latest", { method: "GET" });
@@ -173,17 +182,23 @@ export class TudovuClient {
173
182
  return this.request(`/api/posture/history?limit=${limit}`, { method: "GET" });
174
183
  }
175
184
  /**
176
- * Read-only security posture snapshot: open findings + stored security score
177
- * (+ optional stored check matrix). Never live-evals checks.
185
+ * Read-only security posture snapshot: open findings + findings-primary security
186
+ * score (+ optional stored check matrix). Never live-evals checks.
178
187
  */
179
188
  async review(opts) {
180
189
  const findingsRes = await this.pullFindings(opts?.region);
181
190
  const all = this.flattenFindings(findingsRes);
182
191
  const open = all.filter((f) => f.status === "NEW" || f.status === "NOTIFIED");
192
+ // Score uses NEW-only counts (matches findings_history snapshots).
193
+ const scoreOpen = all.filter((f) => f.status === "NEW");
183
194
  const bySeverity = {};
184
195
  for (const f of open) {
185
196
  bySeverity[f.severity] = (bySeverity[f.severity] ?? 0) + 1;
186
197
  }
198
+ const scoreBySeverity = {};
199
+ for (const f of scoreOpen) {
200
+ scoreBySeverity[f.severity] = (scoreBySeverity[f.severity] ?? 0) + 1;
201
+ }
187
202
  const limit = opts?.findingsLimit ?? 25;
188
203
  const criticalHigh = open
189
204
  .filter((f) => f.severity === "CRITICAL" || f.severity === "HIGH")
@@ -200,15 +215,27 @@ export class TudovuClient {
200
215
  region: f.region,
201
216
  controlId: f.controlId,
202
217
  }));
218
+ const findingsErrors = findingsRes.errors && Object.keys(findingsRes.errors).length
219
+ ? findingsRes.errors
220
+ : undefined;
221
+ const detectionIncomplete = Boolean(findingsErrors);
203
222
  const latest = await this.getLatestChecks().catch(() => ({
204
223
  run: null,
205
224
  missing: true,
206
225
  hint: "Could not load stored check run.",
207
226
  }));
208
- const security = latest.security ?? null;
209
- const securityHint = !security && (latest.hint || latest.missing)
210
- ? latest.hint ??
211
- "No stored check run yet. Run checks in the app or wait for the scheduled evaluate cron."
227
+ // Findings-primary from the live pull; attach compliance checksScore when a run exists.
228
+ const storedChecksScore = typeof latest.security?.checksScore === "number"
229
+ ? latest.security.checksScore
230
+ : typeof latest.run?.postureScore === "number"
231
+ ? latest.run.postureScore
232
+ : null;
233
+ const security = computeFindingsSecurityScore(scoreBySeverity, {
234
+ detectionIncomplete,
235
+ checksScore: storedChecksScore,
236
+ });
237
+ const securityHint = security.detectionIncomplete
238
+ ? "Detection incomplete — one or more findings feeds returned an error."
212
239
  : undefined;
213
240
  let checks;
214
241
  if (opts?.includeChecks) {
@@ -242,9 +269,7 @@ export class TudovuClient {
242
269
  findings: {
243
270
  totalOpen: open.length,
244
271
  bySeverity,
245
- errors: findingsRes.errors && Object.keys(findingsRes.errors).length
246
- ? findingsRes.errors
247
- : undefined,
272
+ errors: findingsErrors,
248
273
  criticalHigh,
249
274
  },
250
275
  checks,
@@ -274,6 +299,7 @@ export class TudovuClient {
274
299
  }
275
300
  /**
276
301
  * Resolve a finding by id, title, or subject key. Pulls live findings (same as review).
302
+ * Optional `resource` (bucket name / ARN substring) disambiguates title matches.
277
303
  * When nothing matches but the needle looks like `source:control:resource`, returns that key.
278
304
  */
279
305
  async resolveFindingForDisposition(opts) {
@@ -281,7 +307,17 @@ export class TudovuClient {
281
307
  if (!needle)
282
308
  throw new Error("Finding id or title is required.");
283
309
  const res = await this.pullFindings(opts.region);
284
- const all = this.flattenFindings(res);
310
+ let all = this.flattenFindings(res);
311
+ const resourceNeedle = opts.resource?.trim().toLowerCase();
312
+ if (resourceNeedle && all.length) {
313
+ all = all.filter((f) => {
314
+ const rid = (f.resourceId ?? "").toLowerCase();
315
+ return rid === resourceNeedle || rid.includes(resourceNeedle);
316
+ });
317
+ if (!all.length) {
318
+ throw new Error(`No finding matched resource "${opts.resource}". Pass a fuller ARN/name, or omit resource.`);
319
+ }
320
+ }
285
321
  if (all.length) {
286
322
  const byId = all.filter((f) => f.id === needle);
287
323
  if (byId.length === 1) {
@@ -297,7 +333,7 @@ export class TudovuClient {
297
333
  return { finding: exactTitle[0], subjectKey: findingSubjectKey(exactTitle[0]) };
298
334
  }
299
335
  if (exactTitle.length > 1) {
300
- throw new Error(`Multiple findings titled "${needle}". Pass a finding id or subject key instead.`);
336
+ throw new Error(`Multiple findings titled "${needle}". Use id from \`tudovu review\` or --resource.`);
301
337
  }
302
338
  const partial = all.filter((f) => f.title.toLowerCase().includes(lower));
303
339
  if (partial.length === 1) {
@@ -306,9 +342,9 @@ export class TudovuClient {
306
342
  if (partial.length > 1) {
307
343
  const sample = partial
308
344
  .slice(0, 5)
309
- .map((f) => ` ${f.id} ${f.title}`)
345
+ .map((f) => ` ${f.id} ${f.title} ${f.resourceId ?? ""}`)
310
346
  .join("\n");
311
- throw new Error(`Multiple findings match "${needle}". Narrow the title or pass an id:\n${sample}`);
347
+ throw new Error(`Multiple findings match "${needle}". Use id from \`tudovu review\` or --resource:\n${sample}`);
312
348
  }
313
349
  }
314
350
  // No live match — accept an explicit disposition subject key.
@@ -316,40 +352,53 @@ export class TudovuClient {
316
352
  return { subjectKey: needle };
317
353
  }
318
354
  throw new Error(all.length
319
- ? `No finding matched "${needle}". Use tudovu review to list findings, or pass --subject-key / --check.`
320
- : "No findings returned. Connect AWS in the app, or pass --subject-key / --check.");
355
+ ? `No finding matched "${needle}". Use review to list findings, or pass a check id.`
356
+ : "No findings returned. Connect AWS in the app, or pass a check id / subject key.");
321
357
  }
322
358
  /**
323
- * Record a temporary exception (disposition type `exception`).
324
- * Prefer `subjectKey` / `checkId` when known; otherwise resolve via finding id or title.
359
+ * Record a temporary exception (accepted risk) via PUT /api/org/dispositions.
360
+ * Same model the UI uses for findings and checks (`type: "exception"`, expiry required).
361
+ * Check exceptions use subjectKey = checkId; finding exceptions use
362
+ * `source:controlId:resourceId` (resource scoping is via that key / live resolve).
325
363
  */
326
364
  async addException(input) {
327
- const rationale = input.rationale.trim();
365
+ const rationale = (input.reason ?? "").trim();
328
366
  const expiresAt = input.expiresAt.trim();
329
367
  if (!rationale)
330
- throw new Error("A rationale is required.");
368
+ throw new Error("A reason / rationale is required.");
331
369
  if (!expiresAt)
332
- throw new Error("Exception requires an expiry date (expiresAt).");
370
+ throw new Error("Exception requires an expiry date (expiresAt, YYYY-MM-DD).");
333
371
  let subjectKind = "finding";
334
372
  let subjectKey = input.subjectKey?.trim() || "";
335
373
  let finding;
336
- const checkId = input.checkId?.trim();
374
+ let checkIdOut;
375
+ const kind = input.kind;
376
+ const id = input.id?.trim();
377
+ const checkId = input.checkId?.trim() || (kind === "check" ? id : undefined);
378
+ const findingNeedle = input.finding?.trim() || (kind === "finding" || (!kind && !checkId) ? id : undefined);
337
379
  if (checkId) {
338
380
  subjectKind = "check";
339
381
  subjectKey = checkId;
382
+ checkIdOut = checkId;
340
383
  }
341
384
  else if (!subjectKey) {
342
- const needle = input.finding?.trim();
343
- if (!needle) {
344
- throw new Error("Provide a finding (id/title), --subject-key, or --check.");
385
+ if (!findingNeedle) {
386
+ throw new Error("Provide --kind finding|check and --id, or a finding / check selector.");
345
387
  }
346
388
  const resolved = await this.resolveFindingForDisposition({
347
- idOrTitle: needle,
389
+ idOrTitle: findingNeedle,
348
390
  region: input.region,
391
+ resource: input.resource,
349
392
  });
393
+ subjectKind = "finding";
350
394
  subjectKey = resolved.subjectKey;
351
395
  finding = resolved.finding;
352
396
  }
397
+ else {
398
+ subjectKind = kind === "check" ? "check" : "finding";
399
+ if (subjectKind === "check")
400
+ checkIdOut = subjectKey;
401
+ }
353
402
  const result = await this.upsertDisposition({
354
403
  subjectKind,
355
404
  subjectKey,
@@ -367,6 +416,9 @@ export class TudovuClient {
367
416
  subjectKey,
368
417
  disposition: result.disposition,
369
418
  finding,
419
+ checkId: checkIdOut,
420
+ rationale,
421
+ expiresAt,
370
422
  };
371
423
  }
372
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { TudovuApiError, TudovuClient, findingSubjectKey, type Finding, type FindingsResponse, type SecurityScoreBreakdown, type LatestChecksResponse, type ReviewFindingSummary, type ReviewChecksSummary, type ReviewSnapshot, type SubjectKind, type DispositionSubjectKind, type DispositionType, type DispositionInput, type Disposition, type DispositionEntry, type UpsertDispositionResponse, } from "./client.js";
2
+ export { computeFindingsSecurityScore, computeFindingsPenalty, findingsWeightedLoad, MAX_FINDINGS_PENALTY, INCOMPLETE_DETECTION_PENALTY, FINDINGS_WEIGHT_DIVISOR, } from "./security-score.js";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { TudovuApiError, TudovuClient, findingSubjectKey, } from "./client.js";
2
+ export { computeFindingsSecurityScore, computeFindingsPenalty, findingsWeightedLoad, MAX_FINDINGS_PENALTY, INCOMPLETE_DETECTION_PENALTY, FINDINGS_WEIGHT_DIVISOR, } from "./security-score.js";
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,GAelB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,GAelB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Findings-primary security score (mirrors apps/platform/lib/security-score.ts).
3
+ * Pure — used by CLI/MCP `review` when attaching a score from live finding counts.
4
+ */
5
+ export declare const MAX_FINDINGS_PENALTY = 30;
6
+ export declare const INCOMPLETE_DETECTION_PENALTY = 5;
7
+ export declare const FINDINGS_WEIGHT_DIVISOR = 4;
8
+ /** Same severity weights as platform posture-score. */
9
+ export declare const FINDINGS_SEVERITY_WEIGHTS: Record<string, number>;
10
+ export type SeverityCounts = Partial<Record<string, number>>;
11
+ export type SecurityScoreBreakdown = {
12
+ /** Primary: clamp(0, 100, 100 − findingsPenalty). */
13
+ securityScore: number;
14
+ /** Compliance (checks) when a stored run exists; otherwise null. */
15
+ checksScore: number | null;
16
+ /** Alias of checksScore when present; else securityScore. */
17
+ weightedSecurityScore: number;
18
+ findingsPenalty: number;
19
+ bySeverity: SeverityCounts;
20
+ findingsLoad: number;
21
+ detectionIncomplete: boolean;
22
+ };
23
+ export declare function findingsWeightedLoad(bySeverity: SeverityCounts): number;
24
+ export declare function computeFindingsPenalty(opts: {
25
+ findingsBySeverity?: SeverityCounts;
26
+ detectionIncomplete?: boolean;
27
+ }): {
28
+ findingsPenalty: number;
29
+ findingsLoad: number;
30
+ bySeverity: SeverityCounts;
31
+ };
32
+ /**
33
+ * Findings-primary security score (0–100). No check run required.
34
+ * securityScore = clamp(0, 100, 100 − findingsPenalty)
35
+ */
36
+ export declare function computeFindingsSecurityScore(bySeverity: SeverityCounts, opts?: {
37
+ detectionIncomplete?: boolean;
38
+ checksScore?: number | null;
39
+ }): SecurityScoreBreakdown;
40
+ //# sourceMappingURL=security-score.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-score.d.ts","sourceRoot":"","sources":["../src/security-score.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,uDAAuD;AACvD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6DAA6D;IAC7D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAiBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAQvE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAgBhF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,cAAc,EAC1B,IAAI,CAAC,EAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpE,sBAAsB,CAqBxB"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Findings-primary security score (mirrors apps/platform/lib/security-score.ts).
3
+ * Pure — used by CLI/MCP `review` when attaching a score from live finding counts.
4
+ */
5
+ export const MAX_FINDINGS_PENALTY = 30;
6
+ export const INCOMPLETE_DETECTION_PENALTY = 5;
7
+ export const FINDINGS_WEIGHT_DIVISOR = 4;
8
+ /** Same severity weights as platform posture-score. */
9
+ export const FINDINGS_SEVERITY_WEIGHTS = {
10
+ CRITICAL: 40,
11
+ HIGH: 24,
12
+ MEDIUM: 14,
13
+ LOW: 7,
14
+ INFORMATIONAL: 3,
15
+ };
16
+ function clampScore(n) {
17
+ return Math.min(100, Math.max(0, Math.round(n)));
18
+ }
19
+ function normalizeCounts(counts) {
20
+ if (!counts)
21
+ return {};
22
+ const out = {};
23
+ for (const [k, v] of Object.entries(counts)) {
24
+ if (typeof v === "number" && v > 0 && Number.isFinite(v)) {
25
+ out[k] = Math.floor(v);
26
+ }
27
+ }
28
+ return out;
29
+ }
30
+ export function findingsWeightedLoad(bySeverity) {
31
+ let load = 0;
32
+ for (const [sev, count] of Object.entries(bySeverity)) {
33
+ if (!count)
34
+ continue;
35
+ const w = FINDINGS_SEVERITY_WEIGHTS[sev] ?? FINDINGS_SEVERITY_WEIGHTS.MEDIUM;
36
+ load += count * w;
37
+ }
38
+ return load;
39
+ }
40
+ export function computeFindingsPenalty(opts) {
41
+ const bySeverity = normalizeCounts(opts.findingsBySeverity);
42
+ if (opts.detectionIncomplete) {
43
+ return {
44
+ findingsPenalty: INCOMPLETE_DETECTION_PENALTY,
45
+ findingsLoad: 0,
46
+ bySeverity,
47
+ };
48
+ }
49
+ const findingsLoad = findingsWeightedLoad(bySeverity);
50
+ const scaled = Math.round(findingsLoad / FINDINGS_WEIGHT_DIVISOR);
51
+ return {
52
+ findingsPenalty: Math.min(MAX_FINDINGS_PENALTY, Math.max(0, scaled)),
53
+ findingsLoad,
54
+ bySeverity,
55
+ };
56
+ }
57
+ /**
58
+ * Findings-primary security score (0–100). No check run required.
59
+ * securityScore = clamp(0, 100, 100 − findingsPenalty)
60
+ */
61
+ export function computeFindingsSecurityScore(bySeverity, opts) {
62
+ const detectionIncomplete = Boolean(opts?.detectionIncomplete);
63
+ const { findingsPenalty, findingsLoad, bySeverity: normalized } = computeFindingsPenalty({
64
+ findingsBySeverity: bySeverity,
65
+ detectionIncomplete,
66
+ });
67
+ const securityScore = clampScore(100 - findingsPenalty);
68
+ const checksScore = typeof opts?.checksScore === "number" && Number.isFinite(opts.checksScore)
69
+ ? clampScore(opts.checksScore)
70
+ : null;
71
+ return {
72
+ securityScore,
73
+ checksScore,
74
+ weightedSecurityScore: checksScore ?? securityScore,
75
+ findingsPenalty,
76
+ bySeverity: normalized,
77
+ findingsLoad,
78
+ detectionIncomplete,
79
+ };
80
+ }
81
+ //# sourceMappingURL=security-score.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-score.js","sourceRoot":"","sources":["../src/security-score.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,GAAG,EAAE,CAAC;IACN,aAAa,EAAE,CAAC;CACjB,CAAC;AAiBF,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,MAAkC;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA0B;IAC7D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC;QAC7E,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAGtC;IACC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,OAAO;YACL,eAAe,EAAE,4BAA4B;YAC7C,YAAY,EAAE,CAAC;YACf,UAAU;SACX,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,uBAAuB,CAAC,CAAC;IAClE,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAA0B,EAC1B,IAAqE;IAErE,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC/D,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC;QACvF,kBAAkB,EAAE,UAAU;QAC9B,mBAAmB;KACpB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;IACxD,MAAM,WAAW,GACf,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,aAAa;QACb,WAAW;QACX,qBAAqB,EAAE,WAAW,IAAI,aAAa;QACnD,eAAe;QACf,UAAU,EAAE,UAAU;QACtB,YAAY;QACZ,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tudovu/api-client",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Shared HTTP client for Tudovu Architect (MCP, CLI).",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",