@audit-tools/shared 0.1.0 → 0.5.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.
Files changed (53) hide show
  1. package/dist/git.d.ts +18 -0
  2. package/dist/git.d.ts.map +1 -0
  3. package/dist/git.js +63 -0
  4. package/dist/git.js.map +1 -0
  5. package/dist/index.d.ts +17 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +9 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/observability/runLog.d.ts +31 -0
  10. package/dist/observability/runLog.d.ts.map +1 -0
  11. package/dist/observability/runLog.js +40 -0
  12. package/dist/observability/runLog.js.map +1 -0
  13. package/dist/quota/errorParsing.d.ts.map +1 -1
  14. package/dist/quota/errorParsing.js +13 -1
  15. package/dist/quota/errorParsing.js.map +1 -1
  16. package/dist/quota/limits.d.ts.map +1 -1
  17. package/dist/quota/limits.js +2 -13
  18. package/dist/quota/limits.js.map +1 -1
  19. package/dist/tokens.d.ts +29 -0
  20. package/dist/tokens.d.ts.map +1 -0
  21. package/dist/tokens.js +59 -0
  22. package/dist/tokens.js.map +1 -0
  23. package/dist/tooling/analyzerDeps.d.ts +43 -0
  24. package/dist/tooling/analyzerDeps.d.ts.map +1 -0
  25. package/dist/tooling/analyzerDeps.js +112 -0
  26. package/dist/tooling/analyzerDeps.js.map +1 -0
  27. package/dist/tooling/exec.d.ts +48 -0
  28. package/dist/tooling/exec.d.ts.map +1 -0
  29. package/dist/tooling/exec.js +108 -0
  30. package/dist/tooling/exec.js.map +1 -0
  31. package/dist/tooling/repoConventions.d.ts +21 -0
  32. package/dist/tooling/repoConventions.d.ts.map +1 -0
  33. package/dist/tooling/repoConventions.js +162 -0
  34. package/dist/tooling/repoConventions.js.map +1 -0
  35. package/dist/tooling/testCommand.d.ts +17 -0
  36. package/dist/tooling/testCommand.d.ts.map +1 -0
  37. package/dist/tooling/testCommand.js +78 -0
  38. package/dist/tooling/testCommand.js.map +1 -0
  39. package/dist/types/finding.d.ts +80 -0
  40. package/dist/types/finding.d.ts.map +1 -0
  41. package/dist/types/finding.js +8 -0
  42. package/dist/types/finding.js.map +1 -0
  43. package/dist/types/graph.d.ts +6 -0
  44. package/dist/types/graph.d.ts.map +1 -1
  45. package/dist/types/remediationOutcome.d.ts +21 -0
  46. package/dist/types/remediationOutcome.d.ts.map +1 -0
  47. package/dist/types/remediationOutcome.js +7 -0
  48. package/dist/types/remediationOutcome.js.map +1 -0
  49. package/dist/types/sessionConfig.d.ts +46 -0
  50. package/dist/types/sessionConfig.d.ts.map +1 -1
  51. package/dist/types/sessionConfig.js +22 -0
  52. package/dist/types/sessionConfig.js.map +1 -1
  53. package/package.json +41 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remediationOutcome.js","sourceRoot":"","sources":["../../src/types/remediationOutcome.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,6CAA6C"}
@@ -57,6 +57,46 @@ export interface OpenTokenConfig {
57
57
  enabled?: boolean;
58
58
  command?: string;
59
59
  }
60
+ export interface ObservabilityConfig {
61
+ /** Emit the structured run log (run.log.jsonl). Defaults to true. */
62
+ run_log?: boolean;
63
+ }
64
+ export interface SynthesisConfig {
65
+ /**
66
+ * Generate the optional LLM synthesis narrative (themes, executive summary,
67
+ * top risks) and append it to `audit-findings.json` / `audit-report.md`.
68
+ * Defaults to on when a provider/host agent is available; the deterministic
69
+ * report is unchanged when omitted.
70
+ */
71
+ narrative?: boolean;
72
+ }
73
+ export interface GraphConfig {
74
+ /**
75
+ * Phase 4B: run the optional, bounded edge-reasoning pass that rewrites the
76
+ * human-readable `reason` of low-confidence graph edges (never the edge set
77
+ * itself). Defaults to off; it is a no-op without host-supplied rewrites.
78
+ */
79
+ llm_edge_reasoning?: boolean;
80
+ /** Model override for the edge-reasoning pass (host's choice otherwise). */
81
+ model?: string;
82
+ }
83
+ /**
84
+ * Per-analyzer resolution policy for the optional graph-enrichment pass
85
+ * (`analyzers.<id>`). Resolution order is repo node_modules → version-keyed
86
+ * analyzer cache → (for `ephemeral`/`permanent`) install into the cache, else
87
+ * the regex floor.
88
+ *
89
+ * - `repo` — use only the audited repo's node_modules; absent ⇒ regex floor.
90
+ * - `ephemeral`/`permanent` — resolve repo→cache, installing into the shared
91
+ * cache if absent (never touches the audited project). `permanent` is a
92
+ * durable opt-in; `ephemeral` is a one-time/per-need install. Both behave the
93
+ * same for resolution.
94
+ * - `skip` — never run this analyzer.
95
+ * - `auto` — resolve repo→cache; if absent and the analyzer has in-scope
96
+ * files, the conversation-first flow proposes an install. Unanswered ⇒ skip.
97
+ */
98
+ export declare const ANALYZER_SETTINGS: readonly ["repo", "ephemeral", "permanent", "skip", "auto"];
99
+ export type AnalyzerSetting = (typeof ANALYZER_SETTINGS)[number];
60
100
  export interface SessionConfig {
61
101
  provider?: ProviderName;
62
102
  timeout_ms?: number;
@@ -71,5 +111,11 @@ export interface SessionConfig {
71
111
  block_quota?: BlockQuotaConfig;
72
112
  quota?: QuotaConfig;
73
113
  opentoken?: OpenTokenConfig;
114
+ observability?: ObservabilityConfig;
115
+ synthesis?: SynthesisConfig;
116
+ /** Per-analyzer resolution policy for the optional graph-enrichment pass. */
117
+ analyzers?: Record<string, AnalyzerSetting>;
118
+ /** Optional graph-enrichment tuning (Phase 4B edge reasoning). */
119
+ graph?: GraphConfig;
74
120
  }
75
121
  //# sourceMappingURL=sessionConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../src/types/sessionConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../src/types/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,26 @@ export const PROVIDER_SECTION_KEYS = {
13
13
  opencode: "opencode",
14
14
  "vscode-task": "vscode_task",
15
15
  };
16
+ /**
17
+ * Per-analyzer resolution policy for the optional graph-enrichment pass
18
+ * (`analyzers.<id>`). Resolution order is repo node_modules → version-keyed
19
+ * analyzer cache → (for `ephemeral`/`permanent`) install into the cache, else
20
+ * the regex floor.
21
+ *
22
+ * - `repo` — use only the audited repo's node_modules; absent ⇒ regex floor.
23
+ * - `ephemeral`/`permanent` — resolve repo→cache, installing into the shared
24
+ * cache if absent (never touches the audited project). `permanent` is a
25
+ * durable opt-in; `ephemeral` is a one-time/per-need install. Both behave the
26
+ * same for resolution.
27
+ * - `skip` — never run this analyzer.
28
+ * - `auto` — resolve repo→cache; if absent and the analyzer has in-scope
29
+ * files, the conversation-first flow proposes an install. Unanswered ⇒ skip.
30
+ */
31
+ export const ANALYZER_SETTINGS = [
32
+ "repo",
33
+ "ephemeral",
34
+ "permanent",
35
+ "skip",
36
+ "auto",
37
+ ];
16
38
  //# sourceMappingURL=sessionConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../src/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,UAAU;IACV,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAyBjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,aAAa;CACpB,CAAC"}
1
+ {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../src/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,UAAU;IACV,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAyBjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,aAAa;CACpB,CAAC;AA8DX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;CACE,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,41 @@
1
- {
2
- "name": "@audit-tools/shared",
3
- "version": "0.1.0",
4
- "private": false,
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": "./dist/index.js",
10
- "./types/*": "./dist/types/*.js",
11
- "./io/*": "./dist/io/*.js",
12
- "./quota/*": "./dist/quota/*.js",
13
- "./providers/*": "./dist/providers/*.js",
14
- "./validation/*": "./dist/validation/*.js"
15
- },
16
- "files": [
17
- "dist/**"
18
- ],
19
- "scripts": {
20
- "build": "tsc -p tsconfig.json",
21
- "check": "tsc -p tsconfig.json --noEmit"
22
- },
23
- "engines": {
24
- "node": ">=20"
25
- },
26
- "publishConfig": {
27
- "access": "public"
28
- }
29
- }
1
+ {
2
+ "name": "@audit-tools/shared",
3
+ "version": "0.5.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": "./dist/index.js",
10
+ "./types/*": "./dist/types/*.js",
11
+ "./io/*": "./dist/io/*.js",
12
+ "./quota/*": "./dist/quota/*.js",
13
+ "./providers/*": "./dist/providers/*.js",
14
+ "./validation/*": "./dist/validation/*.js",
15
+ "./tooling/*": "./dist/tooling/*.js",
16
+ "./observability/*": "./dist/observability/*.js",
17
+ "./tokens": "./dist/tokens.js",
18
+ "./git": "./dist/git.js"
19
+ },
20
+ "files": [
21
+ "dist/**"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.json",
25
+ "check": "tsc -p tsconfig.json --noEmit",
26
+ "test": "npm run build && node --test tests/*.test.mjs",
27
+ "verify:release": "npm run check && npm test",
28
+ "release:patch": "node scripts/release-and-publish.mjs patch --bump-only",
29
+ "release:minor": "node scripts/release-and-publish.mjs minor --bump-only",
30
+ "release:major": "node scripts/release-and-publish.mjs major --bump-only",
31
+ "release:patch:publish": "node scripts/release-and-publish.mjs patch",
32
+ "release:minor:publish": "node scripts/release-and-publish.mjs minor",
33
+ "release:major:publish": "node scripts/release-and-publish.mjs major"
34
+ },
35
+ "engines": {
36
+ "node": ">=20"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ }
41
+ }