@peakinfer/cli 1.0.133

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 (367) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/.env.example +6 -0
  3. package/.github/workflows/peakinfer.yml +64 -0
  4. package/CHANGELOG.md +31 -0
  5. package/LICENSE +190 -0
  6. package/README.md +335 -0
  7. package/data/inferencemax.json +274 -0
  8. package/dist/agent-analyzer.d.ts +45 -0
  9. package/dist/agent-analyzer.d.ts.map +1 -0
  10. package/dist/agent-analyzer.js +374 -0
  11. package/dist/agent-analyzer.js.map +1 -0
  12. package/dist/agent.d.ts +76 -0
  13. package/dist/agent.d.ts.map +1 -0
  14. package/dist/agent.js +965 -0
  15. package/dist/agent.js.map +1 -0
  16. package/dist/agents/correlation-analyzer.d.ts +34 -0
  17. package/dist/agents/correlation-analyzer.d.ts.map +1 -0
  18. package/dist/agents/correlation-analyzer.js +261 -0
  19. package/dist/agents/correlation-analyzer.js.map +1 -0
  20. package/dist/agents/index.d.ts +91 -0
  21. package/dist/agents/index.d.ts.map +1 -0
  22. package/dist/agents/index.js +111 -0
  23. package/dist/agents/index.js.map +1 -0
  24. package/dist/agents/runtime-analyzer.d.ts +38 -0
  25. package/dist/agents/runtime-analyzer.d.ts.map +1 -0
  26. package/dist/agents/runtime-analyzer.js +244 -0
  27. package/dist/agents/runtime-analyzer.js.map +1 -0
  28. package/dist/analysis-types.d.ts +500 -0
  29. package/dist/analysis-types.d.ts.map +1 -0
  30. package/dist/analysis-types.js +11 -0
  31. package/dist/analysis-types.js.map +1 -0
  32. package/dist/analytics.d.ts +25 -0
  33. package/dist/analytics.d.ts.map +1 -0
  34. package/dist/analytics.js +94 -0
  35. package/dist/analytics.js.map +1 -0
  36. package/dist/analyzer.d.ts +48 -0
  37. package/dist/analyzer.d.ts.map +1 -0
  38. package/dist/analyzer.js +547 -0
  39. package/dist/analyzer.js.map +1 -0
  40. package/dist/artifacts.d.ts +44 -0
  41. package/dist/artifacts.d.ts.map +1 -0
  42. package/dist/artifacts.js +165 -0
  43. package/dist/artifacts.js.map +1 -0
  44. package/dist/benchmarks/index.d.ts +88 -0
  45. package/dist/benchmarks/index.d.ts.map +1 -0
  46. package/dist/benchmarks/index.js +205 -0
  47. package/dist/benchmarks/index.js.map +1 -0
  48. package/dist/cli.d.ts +3 -0
  49. package/dist/cli.d.ts.map +1 -0
  50. package/dist/cli.js +427 -0
  51. package/dist/cli.js.map +1 -0
  52. package/dist/commands/ci.d.ts +19 -0
  53. package/dist/commands/ci.d.ts.map +1 -0
  54. package/dist/commands/ci.js +253 -0
  55. package/dist/commands/ci.js.map +1 -0
  56. package/dist/commands/config.d.ts +16 -0
  57. package/dist/commands/config.d.ts.map +1 -0
  58. package/dist/commands/config.js +249 -0
  59. package/dist/commands/config.js.map +1 -0
  60. package/dist/commands/demo.d.ts +15 -0
  61. package/dist/commands/demo.d.ts.map +1 -0
  62. package/dist/commands/demo.js +106 -0
  63. package/dist/commands/demo.js.map +1 -0
  64. package/dist/commands/export.d.ts +14 -0
  65. package/dist/commands/export.d.ts.map +1 -0
  66. package/dist/commands/export.js +209 -0
  67. package/dist/commands/export.js.map +1 -0
  68. package/dist/commands/history.d.ts +15 -0
  69. package/dist/commands/history.d.ts.map +1 -0
  70. package/dist/commands/history.js +389 -0
  71. package/dist/commands/history.js.map +1 -0
  72. package/dist/commands/template.d.ts +14 -0
  73. package/dist/commands/template.d.ts.map +1 -0
  74. package/dist/commands/template.js +341 -0
  75. package/dist/commands/template.js.map +1 -0
  76. package/dist/commands/validate-map.d.ts +12 -0
  77. package/dist/commands/validate-map.d.ts.map +1 -0
  78. package/dist/commands/validate-map.js +274 -0
  79. package/dist/commands/validate-map.js.map +1 -0
  80. package/dist/commands/whatif.d.ts +17 -0
  81. package/dist/commands/whatif.d.ts.map +1 -0
  82. package/dist/commands/whatif.js +206 -0
  83. package/dist/commands/whatif.js.map +1 -0
  84. package/dist/comparison.d.ts +38 -0
  85. package/dist/comparison.d.ts.map +1 -0
  86. package/dist/comparison.js +223 -0
  87. package/dist/comparison.js.map +1 -0
  88. package/dist/config.d.ts +42 -0
  89. package/dist/config.d.ts.map +1 -0
  90. package/dist/config.js +158 -0
  91. package/dist/config.js.map +1 -0
  92. package/dist/connectors/helicone.d.ts +9 -0
  93. package/dist/connectors/helicone.d.ts.map +1 -0
  94. package/dist/connectors/helicone.js +106 -0
  95. package/dist/connectors/helicone.js.map +1 -0
  96. package/dist/connectors/index.d.ts +37 -0
  97. package/dist/connectors/index.d.ts.map +1 -0
  98. package/dist/connectors/index.js +65 -0
  99. package/dist/connectors/index.js.map +1 -0
  100. package/dist/connectors/langsmith.d.ts +9 -0
  101. package/dist/connectors/langsmith.d.ts.map +1 -0
  102. package/dist/connectors/langsmith.js +122 -0
  103. package/dist/connectors/langsmith.js.map +1 -0
  104. package/dist/connectors/types.d.ts +83 -0
  105. package/dist/connectors/types.d.ts.map +1 -0
  106. package/dist/connectors/types.js +98 -0
  107. package/dist/connectors/types.js.map +1 -0
  108. package/dist/cost-estimator.d.ts +46 -0
  109. package/dist/cost-estimator.d.ts.map +1 -0
  110. package/dist/cost-estimator.js +104 -0
  111. package/dist/cost-estimator.js.map +1 -0
  112. package/dist/costs.d.ts +57 -0
  113. package/dist/costs.d.ts.map +1 -0
  114. package/dist/costs.js +251 -0
  115. package/dist/costs.js.map +1 -0
  116. package/dist/counterfactuals.d.ts +29 -0
  117. package/dist/counterfactuals.d.ts.map +1 -0
  118. package/dist/counterfactuals.js +448 -0
  119. package/dist/counterfactuals.js.map +1 -0
  120. package/dist/enhancement-prompts.d.ts +41 -0
  121. package/dist/enhancement-prompts.d.ts.map +1 -0
  122. package/dist/enhancement-prompts.js +88 -0
  123. package/dist/enhancement-prompts.js.map +1 -0
  124. package/dist/envelopes.d.ts +20 -0
  125. package/dist/envelopes.d.ts.map +1 -0
  126. package/dist/envelopes.js +790 -0
  127. package/dist/envelopes.js.map +1 -0
  128. package/dist/format-normalizer.d.ts +71 -0
  129. package/dist/format-normalizer.d.ts.map +1 -0
  130. package/dist/format-normalizer.js +1331 -0
  131. package/dist/format-normalizer.js.map +1 -0
  132. package/dist/history.d.ts +79 -0
  133. package/dist/history.d.ts.map +1 -0
  134. package/dist/history.js +313 -0
  135. package/dist/history.js.map +1 -0
  136. package/dist/html.d.ts +11 -0
  137. package/dist/html.d.ts.map +1 -0
  138. package/dist/html.js +463 -0
  139. package/dist/html.js.map +1 -0
  140. package/dist/impact.d.ts +42 -0
  141. package/dist/impact.d.ts.map +1 -0
  142. package/dist/impact.js +443 -0
  143. package/dist/impact.js.map +1 -0
  144. package/dist/index.d.ts +26 -0
  145. package/dist/index.d.ts.map +1 -0
  146. package/dist/index.js +34 -0
  147. package/dist/index.js.map +1 -0
  148. package/dist/insights.d.ts +5 -0
  149. package/dist/insights.d.ts.map +1 -0
  150. package/dist/insights.js +271 -0
  151. package/dist/insights.js.map +1 -0
  152. package/dist/joiner.d.ts +9 -0
  153. package/dist/joiner.d.ts.map +1 -0
  154. package/dist/joiner.js +247 -0
  155. package/dist/joiner.js.map +1 -0
  156. package/dist/orchestrator.d.ts +34 -0
  157. package/dist/orchestrator.d.ts.map +1 -0
  158. package/dist/orchestrator.js +827 -0
  159. package/dist/orchestrator.js.map +1 -0
  160. package/dist/pdf.d.ts +26 -0
  161. package/dist/pdf.d.ts.map +1 -0
  162. package/dist/pdf.js +84 -0
  163. package/dist/pdf.js.map +1 -0
  164. package/dist/prediction.d.ts +33 -0
  165. package/dist/prediction.d.ts.map +1 -0
  166. package/dist/prediction.js +316 -0
  167. package/dist/prediction.js.map +1 -0
  168. package/dist/prompts/loader.d.ts +38 -0
  169. package/dist/prompts/loader.d.ts.map +1 -0
  170. package/dist/prompts/loader.js +60 -0
  171. package/dist/prompts/loader.js.map +1 -0
  172. package/dist/renderer.d.ts +64 -0
  173. package/dist/renderer.d.ts.map +1 -0
  174. package/dist/renderer.js +923 -0
  175. package/dist/renderer.js.map +1 -0
  176. package/dist/runid.d.ts +57 -0
  177. package/dist/runid.d.ts.map +1 -0
  178. package/dist/runid.js +199 -0
  179. package/dist/runid.js.map +1 -0
  180. package/dist/runtime.d.ts +29 -0
  181. package/dist/runtime.d.ts.map +1 -0
  182. package/dist/runtime.js +366 -0
  183. package/dist/runtime.js.map +1 -0
  184. package/dist/scanner.d.ts +11 -0
  185. package/dist/scanner.d.ts.map +1 -0
  186. package/dist/scanner.js +426 -0
  187. package/dist/scanner.js.map +1 -0
  188. package/dist/templates.d.ts +120 -0
  189. package/dist/templates.d.ts.map +1 -0
  190. package/dist/templates.js +429 -0
  191. package/dist/templates.js.map +1 -0
  192. package/dist/tools/index.d.ts +153 -0
  193. package/dist/tools/index.d.ts.map +1 -0
  194. package/dist/tools/index.js +177 -0
  195. package/dist/tools/index.js.map +1 -0
  196. package/dist/types.d.ts +3647 -0
  197. package/dist/types.d.ts.map +1 -0
  198. package/dist/types.js +703 -0
  199. package/dist/types.js.map +1 -0
  200. package/dist/version.d.ts +7 -0
  201. package/dist/version.d.ts.map +1 -0
  202. package/dist/version.js +23 -0
  203. package/dist/version.js.map +1 -0
  204. package/docs/demo-guide.md +423 -0
  205. package/docs/events-format.md +295 -0
  206. package/docs/inferencemap-spec.md +344 -0
  207. package/docs/migration-v2.md +293 -0
  208. package/fixtures/demo/precomputed.json +142 -0
  209. package/fixtures/demo-project/README.md +52 -0
  210. package/fixtures/demo-project/ai-service.ts +65 -0
  211. package/fixtures/demo-project/sample-events.jsonl +15 -0
  212. package/fixtures/demo-project/src/ai-service.ts +128 -0
  213. package/fixtures/demo-project/src/llm-client.ts +155 -0
  214. package/package.json +65 -0
  215. package/prompts/agent-analyzer.yaml +47 -0
  216. package/prompts/ci-gate.yaml +98 -0
  217. package/prompts/correlation-analyzer.yaml +178 -0
  218. package/prompts/format-normalizer.yaml +46 -0
  219. package/prompts/peak-performance.yaml +180 -0
  220. package/prompts/pr-comment.yaml +111 -0
  221. package/prompts/runtime-analyzer.yaml +189 -0
  222. package/prompts/unified-analyzer.yaml +241 -0
  223. package/schemas/inference-map.v0.1.json +215 -0
  224. package/scripts/benchmark.ts +394 -0
  225. package/scripts/demo-v1.5.sh +158 -0
  226. package/scripts/sync-from-site.sh +197 -0
  227. package/scripts/validate-sync.sh +178 -0
  228. package/src/agent-analyzer.ts +481 -0
  229. package/src/agent.ts +1232 -0
  230. package/src/agents/correlation-analyzer.ts +353 -0
  231. package/src/agents/index.ts +235 -0
  232. package/src/agents/runtime-analyzer.ts +343 -0
  233. package/src/analysis-types.ts +558 -0
  234. package/src/analytics.ts +100 -0
  235. package/src/analyzer.ts +692 -0
  236. package/src/artifacts.ts +218 -0
  237. package/src/benchmarks/index.ts +309 -0
  238. package/src/cli.ts +503 -0
  239. package/src/commands/ci.ts +336 -0
  240. package/src/commands/config.ts +288 -0
  241. package/src/commands/demo.ts +175 -0
  242. package/src/commands/export.ts +297 -0
  243. package/src/commands/history.ts +425 -0
  244. package/src/commands/template.ts +385 -0
  245. package/src/commands/validate-map.ts +324 -0
  246. package/src/commands/whatif.ts +272 -0
  247. package/src/comparison.ts +283 -0
  248. package/src/config.ts +188 -0
  249. package/src/connectors/helicone.ts +164 -0
  250. package/src/connectors/index.ts +93 -0
  251. package/src/connectors/langsmith.ts +179 -0
  252. package/src/connectors/types.ts +180 -0
  253. package/src/cost-estimator.ts +146 -0
  254. package/src/costs.ts +347 -0
  255. package/src/counterfactuals.ts +516 -0
  256. package/src/enhancement-prompts.ts +118 -0
  257. package/src/envelopes.ts +814 -0
  258. package/src/format-normalizer.ts +1486 -0
  259. package/src/history.ts +400 -0
  260. package/src/html.ts +512 -0
  261. package/src/impact.ts +522 -0
  262. package/src/index.ts +83 -0
  263. package/src/insights.ts +341 -0
  264. package/src/joiner.ts +289 -0
  265. package/src/orchestrator.ts +1015 -0
  266. package/src/pdf.ts +110 -0
  267. package/src/prediction.ts +392 -0
  268. package/src/prompts/loader.ts +88 -0
  269. package/src/renderer.ts +1045 -0
  270. package/src/runid.ts +261 -0
  271. package/src/runtime.ts +450 -0
  272. package/src/scanner.ts +508 -0
  273. package/src/templates.ts +561 -0
  274. package/src/tools/index.ts +214 -0
  275. package/src/types.ts +873 -0
  276. package/src/version.ts +24 -0
  277. package/templates/context-accumulation.yaml +23 -0
  278. package/templates/cost-concentration.yaml +20 -0
  279. package/templates/dead-code.yaml +20 -0
  280. package/templates/latency-explainer.yaml +23 -0
  281. package/templates/optimizations/ab-testing-framework.yaml +74 -0
  282. package/templates/optimizations/api-gateway-optimization.yaml +81 -0
  283. package/templates/optimizations/api-model-routing-strategy.yaml +126 -0
  284. package/templates/optimizations/auto-scaling-optimization.yaml +85 -0
  285. package/templates/optimizations/batch-utilization-diagnostic.yaml +142 -0
  286. package/templates/optimizations/comprehensive-apm.yaml +76 -0
  287. package/templates/optimizations/context-window-optimization.yaml +91 -0
  288. package/templates/optimizations/cost-sensitive-batch-processing.yaml +77 -0
  289. package/templates/optimizations/distributed-training-optimization.yaml +77 -0
  290. package/templates/optimizations/document-analysis-edge.yaml +77 -0
  291. package/templates/optimizations/document-pipeline-optimization.yaml +78 -0
  292. package/templates/optimizations/domain-specific-distillation.yaml +78 -0
  293. package/templates/optimizations/error-handling-optimization.yaml +76 -0
  294. package/templates/optimizations/gptq-4bit-quantization.yaml +96 -0
  295. package/templates/optimizations/long-context-memory-management.yaml +78 -0
  296. package/templates/optimizations/max-tokens-optimization.yaml +76 -0
  297. package/templates/optimizations/memory-bandwidth-optimization.yaml +73 -0
  298. package/templates/optimizations/multi-framework-resilience.yaml +75 -0
  299. package/templates/optimizations/multi-tenant-optimization.yaml +75 -0
  300. package/templates/optimizations/prompt-caching-optimization.yaml +143 -0
  301. package/templates/optimizations/pytorch-to-onnx-migration.yaml +109 -0
  302. package/templates/optimizations/quality-monitoring.yaml +74 -0
  303. package/templates/optimizations/realtime-budget-controls.yaml +74 -0
  304. package/templates/optimizations/realtime-latency-optimization.yaml +74 -0
  305. package/templates/optimizations/sglang-concurrency-optimization.yaml +78 -0
  306. package/templates/optimizations/smart-model-routing.yaml +96 -0
  307. package/templates/optimizations/streaming-batch-selection.yaml +167 -0
  308. package/templates/optimizations/system-prompt-optimization.yaml +75 -0
  309. package/templates/optimizations/tensorrt-llm-performance.yaml +77 -0
  310. package/templates/optimizations/vllm-high-throughput-optimization.yaml +93 -0
  311. package/templates/optimizations/vllm-migration-memory-bound.yaml +78 -0
  312. package/templates/overpowered-extraction.yaml +32 -0
  313. package/templates/overpowered-model.yaml +31 -0
  314. package/templates/prompt-bloat.yaml +24 -0
  315. package/templates/retry-explosion.yaml +28 -0
  316. package/templates/schema/insight.schema.json +113 -0
  317. package/templates/schema/optimization.schema.json +180 -0
  318. package/templates/streaming-drift.yaml +30 -0
  319. package/templates/throughput-gap.yaml +21 -0
  320. package/templates/token-underutilization.yaml +28 -0
  321. package/templates/untested-fallback.yaml +21 -0
  322. package/tests/accuracy/drift-detection.test.ts +184 -0
  323. package/tests/accuracy/false-positives.test.ts +166 -0
  324. package/tests/accuracy/templates.test.ts +205 -0
  325. package/tests/action/commands.test.ts +125 -0
  326. package/tests/action/comments.test.ts +347 -0
  327. package/tests/cli.test.ts +203 -0
  328. package/tests/comparison.test.ts +309 -0
  329. package/tests/correlation-analyzer.test.ts +534 -0
  330. package/tests/counterfactuals.test.ts +347 -0
  331. package/tests/fixtures/events/missing-id.jsonl +1 -0
  332. package/tests/fixtures/events/missing-input.jsonl +1 -0
  333. package/tests/fixtures/events/missing-latency.jsonl +1 -0
  334. package/tests/fixtures/events/missing-model.jsonl +1 -0
  335. package/tests/fixtures/events/missing-output.jsonl +1 -0
  336. package/tests/fixtures/events/missing-provider.jsonl +1 -0
  337. package/tests/fixtures/events/missing-ts.jsonl +1 -0
  338. package/tests/fixtures/events/valid.csv +3 -0
  339. package/tests/fixtures/events/valid.json +1 -0
  340. package/tests/fixtures/events/valid.jsonl +2 -0
  341. package/tests/fixtures/events/with-callsite.jsonl +1 -0
  342. package/tests/fixtures/events/with-intent.jsonl +1 -0
  343. package/tests/fixtures/events/wrong-type.jsonl +1 -0
  344. package/tests/fixtures/repos/empty/.gitkeep +0 -0
  345. package/tests/fixtures/repos/hybrid-router/router.py +35 -0
  346. package/tests/fixtures/repos/saas-anthropic/agent.ts +27 -0
  347. package/tests/fixtures/repos/saas-openai/assistant.js +33 -0
  348. package/tests/fixtures/repos/saas-openai/client.py +26 -0
  349. package/tests/fixtures/repos/self-hosted-vllm/inference.py +22 -0
  350. package/tests/github-action.test.ts +292 -0
  351. package/tests/insights.test.ts +878 -0
  352. package/tests/joiner.test.ts +168 -0
  353. package/tests/performance/action-latency.test.ts +132 -0
  354. package/tests/performance/benchmark.test.ts +189 -0
  355. package/tests/performance/cli-latency.test.ts +102 -0
  356. package/tests/pr-comment.test.ts +313 -0
  357. package/tests/prediction.test.ts +296 -0
  358. package/tests/runtime-analyzer.test.ts +375 -0
  359. package/tests/runtime.test.ts +205 -0
  360. package/tests/scanner.test.ts +122 -0
  361. package/tests/template-conformance.test.ts +526 -0
  362. package/tests/unit/cost-calculator.test.ts +303 -0
  363. package/tests/unit/credits.test.ts +180 -0
  364. package/tests/unit/inference-map.test.ts +276 -0
  365. package/tests/unit/schema.test.ts +300 -0
  366. package/tsconfig.json +20 -0
  367. package/vitest.config.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-normalizer.js","sourceRoot":"","sources":["../src/format-normalizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * History Storage Module (v1.5)
3
+ *
4
+ * Enables persistent storage of analysis runs for:
5
+ * - Historical comparison (Feature 2)
6
+ * - Deploy-time prediction (Feature 3)
7
+ *
8
+ * Directory structure:
9
+ * .peakinfer/
10
+ * └── history/
11
+ * ├── index.json # Global index of all runs
12
+ * └── <runId>/ # Individual run storage
13
+ * ├── manifest.json
14
+ * ├── inference-map.json
15
+ * └── analysis.json
16
+ */
17
+ import type { HistoryManifest, AnalysisType, InferenceMap, Insight, JoinedOutput, RuntimeSummary } from './types.js';
18
+ export interface AnalysisData {
19
+ inferenceMap?: InferenceMap;
20
+ insights?: Insight[];
21
+ joined?: JoinedOutput;
22
+ runtime?: RuntimeSummary;
23
+ }
24
+ export interface SaveRunOptions {
25
+ path: string;
26
+ analysisType: AnalysisType;
27
+ data: AnalysisData;
28
+ durationMs?: number;
29
+ htmlPath?: string;
30
+ pdfPath?: string;
31
+ }
32
+ export interface LoadedRun {
33
+ manifest: HistoryManifest;
34
+ data: AnalysisData;
35
+ }
36
+ /**
37
+ * Get the history directory path (relative to cwd or specified base)
38
+ */
39
+ export declare function getHistoryDir(baseDir?: string): string;
40
+ /**
41
+ * Create a deterministic hash from a normalized path.
42
+ * Used for efficient lookup of runs for a specific project.
43
+ */
44
+ export declare function hashPath(path: string): string;
45
+ /**
46
+ * Save an analysis run to history.
47
+ * Returns the run ID for reference.
48
+ */
49
+ export declare function saveRun(options: SaveRunOptions, baseDir?: string): string;
50
+ /**
51
+ * Load a specific run by ID.
52
+ */
53
+ export declare function loadRun(runId: string, baseDir?: string): LoadedRun | null;
54
+ /**
55
+ * List all runs for a specific path (or all runs if no path specified).
56
+ * Returns runs sorted by timestamp (most recent first).
57
+ */
58
+ export declare function listRuns(path?: string, baseDir?: string): HistoryManifest[];
59
+ /**
60
+ * Get the most recent run for a path.
61
+ * Returns null if no history exists.
62
+ */
63
+ export declare function getLatestRun(path: string, baseDir?: string): LoadedRun | null;
64
+ /**
65
+ * Prune old runs, keeping only the most recent N runs per path.
66
+ * Returns the number of runs deleted.
67
+ */
68
+ export declare function pruneHistory(keepCount?: number, baseDir?: string): number;
69
+ /**
70
+ * Delete a specific run by ID.
71
+ * Returns true if the run was deleted, false if not found.
72
+ */
73
+ export declare function deleteRun(runId: string, baseDir?: string): boolean;
74
+ /**
75
+ * Clear all history (delete everything).
76
+ * Returns the number of runs deleted.
77
+ */
78
+ export declare function clearAllHistory(baseDir?: string): number;
79
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAepB,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,YAAY,CAAC;CACpB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAY,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AA6ED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAoE9E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,SAAS,GAAG,IAAI,CAc9E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,eAAe,EAAE,CAwBhF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,SAAS,GAAG,IAAI,CASlF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,MAAW,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CA0ClF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,OAAO,CAsBvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAY,GAAG,MAAM,CAsB7D"}
@@ -0,0 +1,313 @@
1
+ /**
2
+ * History Storage Module (v1.5)
3
+ *
4
+ * Enables persistent storage of analysis runs for:
5
+ * - Historical comparison (Feature 2)
6
+ * - Deploy-time prediction (Feature 3)
7
+ *
8
+ * Directory structure:
9
+ * .peakinfer/
10
+ * └── history/
11
+ * ├── index.json # Global index of all runs
12
+ * └── <runId>/ # Individual run storage
13
+ * ├── manifest.json
14
+ * ├── inference-map.json
15
+ * └── analysis.json
16
+ */
17
+ import { createHash, randomUUID } from 'crypto';
18
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, rmSync } from 'fs';
19
+ import { join, resolve } from 'path';
20
+ import { VERSION } from './version.js';
21
+ // =============================================================================
22
+ // CONSTANTS
23
+ // =============================================================================
24
+ const HISTORY_DIR = '.peakinfer/history';
25
+ const INDEX_FILE = 'index.json';
26
+ const HISTORY_VERSION = '1.0';
27
+ // =============================================================================
28
+ // HELPERS
29
+ // =============================================================================
30
+ /**
31
+ * Get the history directory path (relative to cwd or specified base)
32
+ */
33
+ export function getHistoryDir(baseDir = '.') {
34
+ return join(baseDir, HISTORY_DIR);
35
+ }
36
+ /**
37
+ * Create a deterministic hash from a normalized path.
38
+ * Used for efficient lookup of runs for a specific project.
39
+ */
40
+ export function hashPath(path) {
41
+ const normalized = resolve(path).toLowerCase();
42
+ return createHash('sha256').update(normalized).digest('hex').slice(0, 12);
43
+ }
44
+ /**
45
+ * Generate a unique run ID (timestamp-based for chronological ordering)
46
+ */
47
+ function generateHistoryRunId() {
48
+ const timestamp = Date.now().toString(36); // Base36 timestamp
49
+ const random = randomUUID().slice(0, 8); // Short random suffix
50
+ return `${timestamp}-${random}`;
51
+ }
52
+ /**
53
+ * Ensure directory exists
54
+ */
55
+ function ensureDir(dir) {
56
+ if (!existsSync(dir)) {
57
+ mkdirSync(dir, { recursive: true });
58
+ }
59
+ }
60
+ /**
61
+ * Write JSON file with pretty printing
62
+ */
63
+ function writeJSON(filePath, data) {
64
+ writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
65
+ }
66
+ /**
67
+ * Read JSON file safely
68
+ */
69
+ function readJSON(filePath) {
70
+ try {
71
+ if (!existsSync(filePath))
72
+ return null;
73
+ const content = readFileSync(filePath, 'utf-8');
74
+ return JSON.parse(content);
75
+ }
76
+ catch {
77
+ return null;
78
+ }
79
+ }
80
+ // =============================================================================
81
+ // INDEX MANAGEMENT
82
+ // =============================================================================
83
+ /**
84
+ * Load the history index
85
+ */
86
+ function loadIndex(historyDir) {
87
+ const indexPath = join(historyDir, INDEX_FILE);
88
+ const existing = readJSON(indexPath);
89
+ if (existing) {
90
+ return existing;
91
+ }
92
+ // Return empty index
93
+ return {
94
+ version: HISTORY_VERSION,
95
+ lastUpdated: new Date().toISOString(),
96
+ runs: [],
97
+ };
98
+ }
99
+ /**
100
+ * Save the history index
101
+ */
102
+ function saveIndex(historyDir, index) {
103
+ ensureDir(historyDir);
104
+ const indexPath = join(historyDir, INDEX_FILE);
105
+ index.lastUpdated = new Date().toISOString();
106
+ writeJSON(indexPath, index);
107
+ }
108
+ // =============================================================================
109
+ // PUBLIC API
110
+ // =============================================================================
111
+ /**
112
+ * Save an analysis run to history.
113
+ * Returns the run ID for reference.
114
+ */
115
+ export function saveRun(options, baseDir = '.') {
116
+ const historyDir = getHistoryDir(baseDir);
117
+ const runId = generateHistoryRunId();
118
+ const runDir = join(historyDir, runId);
119
+ const pathHash = hashPath(options.path);
120
+ ensureDir(runDir);
121
+ // Calculate summary metrics
122
+ const inferencePointCount = options.data.inferenceMap?.callsites?.length ?? 0;
123
+ const eventCount = options.data.runtime?.totalEvents;
124
+ const driftCount = options.data.joined?.drift?.length;
125
+ const insightCount = options.data.insights?.length;
126
+ // Track saved artifacts
127
+ const artifacts = {};
128
+ // Save inference map
129
+ if (options.data.inferenceMap) {
130
+ const fileName = 'inference-map.json';
131
+ writeJSON(join(runDir, fileName), options.data.inferenceMap);
132
+ artifacts.inferenceMap = fileName;
133
+ }
134
+ // Save full analysis data
135
+ const analysisFileName = 'analysis.json';
136
+ writeJSON(join(runDir, analysisFileName), options.data);
137
+ artifacts.analysis = analysisFileName;
138
+ // Record report paths if provided
139
+ if (options.htmlPath) {
140
+ artifacts.html = options.htmlPath;
141
+ }
142
+ if (options.pdfPath) {
143
+ artifacts.pdf = options.pdfPath;
144
+ }
145
+ // Create manifest
146
+ const manifest = {
147
+ runId,
148
+ timestamp: new Date().toISOString(),
149
+ path: resolve(options.path),
150
+ pathHash,
151
+ analysisType: options.analysisType,
152
+ version: VERSION,
153
+ inferencePointCount,
154
+ eventCount,
155
+ driftCount,
156
+ insightCount,
157
+ durationMs: options.durationMs,
158
+ artifacts,
159
+ };
160
+ // Save manifest
161
+ writeJSON(join(runDir, 'manifest.json'), manifest);
162
+ // Update index
163
+ const index = loadIndex(historyDir);
164
+ index.runs.push({
165
+ runId,
166
+ timestamp: manifest.timestamp,
167
+ pathHash,
168
+ analysisType: options.analysisType,
169
+ inferencePointCount,
170
+ });
171
+ saveIndex(historyDir, index);
172
+ return runId;
173
+ }
174
+ /**
175
+ * Load a specific run by ID.
176
+ */
177
+ export function loadRun(runId, baseDir = '.') {
178
+ const historyDir = getHistoryDir(baseDir);
179
+ const runDir = join(historyDir, runId);
180
+ // Load manifest
181
+ const manifest = readJSON(join(runDir, 'manifest.json'));
182
+ if (!manifest) {
183
+ return null;
184
+ }
185
+ // Load analysis data
186
+ const data = readJSON(join(runDir, 'analysis.json')) ?? {};
187
+ return { manifest, data };
188
+ }
189
+ /**
190
+ * List all runs for a specific path (or all runs if no path specified).
191
+ * Returns runs sorted by timestamp (most recent first).
192
+ */
193
+ export function listRuns(path, baseDir = '.') {
194
+ const historyDir = getHistoryDir(baseDir);
195
+ const index = loadIndex(historyDir);
196
+ // Filter by path hash if specified
197
+ const pathHash = path ? hashPath(path) : null;
198
+ const filteredRuns = pathHash
199
+ ? index.runs.filter(r => r.pathHash === pathHash)
200
+ : index.runs;
201
+ // Load full manifests for filtered runs
202
+ const manifests = [];
203
+ for (const run of filteredRuns) {
204
+ const runDir = join(historyDir, run.runId);
205
+ const manifest = readJSON(join(runDir, 'manifest.json'));
206
+ if (manifest) {
207
+ manifests.push(manifest);
208
+ }
209
+ }
210
+ // Sort by timestamp descending (most recent first)
211
+ manifests.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
212
+ return manifests;
213
+ }
214
+ /**
215
+ * Get the most recent run for a path.
216
+ * Returns null if no history exists.
217
+ */
218
+ export function getLatestRun(path, baseDir = '.') {
219
+ const runs = listRuns(path, baseDir);
220
+ if (runs.length === 0) {
221
+ return null;
222
+ }
223
+ // First run is most recent (already sorted)
224
+ return loadRun(runs[0].runId, baseDir);
225
+ }
226
+ /**
227
+ * Prune old runs, keeping only the most recent N runs per path.
228
+ * Returns the number of runs deleted.
229
+ */
230
+ export function pruneHistory(keepCount = 10, baseDir = '.') {
231
+ const historyDir = getHistoryDir(baseDir);
232
+ const index = loadIndex(historyDir);
233
+ // Group runs by pathHash
234
+ const runsByPath = new Map();
235
+ for (const run of index.runs) {
236
+ const existing = runsByPath.get(run.pathHash) ?? [];
237
+ existing.push(run);
238
+ runsByPath.set(run.pathHash, existing);
239
+ }
240
+ // Find runs to delete
241
+ const runsToDelete = [];
242
+ for (const [, runs] of runsByPath) {
243
+ // Sort by timestamp descending
244
+ runs.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
245
+ // Mark excess runs for deletion
246
+ if (runs.length > keepCount) {
247
+ for (let i = keepCount; i < runs.length; i++) {
248
+ runsToDelete.push(runs[i].runId);
249
+ }
250
+ }
251
+ }
252
+ // Delete run directories
253
+ for (const runId of runsToDelete) {
254
+ const runDir = join(historyDir, runId);
255
+ if (existsSync(runDir)) {
256
+ rmSync(runDir, { recursive: true });
257
+ }
258
+ }
259
+ // Update index to remove deleted runs
260
+ if (runsToDelete.length > 0) {
261
+ const deleteSet = new Set(runsToDelete);
262
+ index.runs = index.runs.filter(r => !deleteSet.has(r.runId));
263
+ saveIndex(historyDir, index);
264
+ }
265
+ return runsToDelete.length;
266
+ }
267
+ /**
268
+ * Delete a specific run by ID.
269
+ * Returns true if the run was deleted, false if not found.
270
+ */
271
+ export function deleteRun(runId, baseDir = '.') {
272
+ const historyDir = getHistoryDir(baseDir);
273
+ const runDir = join(historyDir, runId);
274
+ // Check if run exists
275
+ if (!existsSync(runDir)) {
276
+ return false;
277
+ }
278
+ // Delete the run directory
279
+ rmSync(runDir, { recursive: true });
280
+ // Update the index
281
+ const index = loadIndex(historyDir);
282
+ const originalLength = index.runs.length;
283
+ index.runs = index.runs.filter(r => r.runId !== runId);
284
+ if (index.runs.length < originalLength) {
285
+ saveIndex(historyDir, index);
286
+ }
287
+ return true;
288
+ }
289
+ /**
290
+ * Clear all history (delete everything).
291
+ * Returns the number of runs deleted.
292
+ */
293
+ export function clearAllHistory(baseDir = '.') {
294
+ const historyDir = getHistoryDir(baseDir);
295
+ const index = loadIndex(historyDir);
296
+ const count = index.runs.length;
297
+ // Delete all run directories
298
+ for (const run of index.runs) {
299
+ const runDir = join(historyDir, run.runId);
300
+ if (existsSync(runDir)) {
301
+ rmSync(runDir, { recursive: true });
302
+ }
303
+ }
304
+ // Reset the index
305
+ const emptyIndex = {
306
+ version: HISTORY_VERSION,
307
+ lastUpdated: new Date().toISOString(),
308
+ runs: [],
309
+ };
310
+ saveIndex(historyDir, emptyIndex);
311
+ return count;
312
+ }
313
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,EAAE,MAAM,IAAI,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAUrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,eAAe,GAAG,KAAK,CAAC;AA2B9B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB,GAAG;IACjD,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;IAC9D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAG,sBAAsB;IACjE,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,QAAgB,EAAE,IAAa;IAChD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAI,QAAgB;IACnC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,SAAS,CAAC,UAAkB;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAe,SAAS,CAAC,CAAC;IAEnD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qBAAqB;IACrB,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,UAAkB,EAAE,KAAmB;IACxD,SAAS,CAAC,UAAU,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE,UAAkB,GAAG;IACpE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,4BAA4B;IAC5B,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEnD,wBAAwB;IACxB,MAAM,SAAS,GAAiC,EAAE,CAAC;IAEnD,qBAAqB;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,SAAS,CAAC,YAAY,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAEtC,kCAAkC;IAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAoB;QAChC,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,QAAQ;QACR,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,OAAO,EAAE,OAAO;QAChB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS;KACV,CAAC;IAEF,gBAAgB;IAChB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEnD,eAAe;IACf,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,KAAK;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ;QACR,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB;KACpB,CAAC,CAAC;IACH,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,UAAkB,GAAG;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEvC,gBAAgB;IAChB,MAAM,QAAQ,GAAG,QAAQ,CAAkB,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAe,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAa,EAAE,UAAkB,GAAG;IAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpC,mCAAmC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACjD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAEf,wCAAwC;IACxC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAkB,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,UAAkB,GAAG;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,EAAE,UAAkB,GAAG;IACxE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpC,yBAAyB;IACzB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QAClC,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvF,gCAAgC;QAChC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,UAAkB,GAAG;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEvC,sBAAsB;IACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B;IAC3B,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpC,mBAAmB;IACnB,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACzC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACvC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,GAAG;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAEhC,6BAA6B;IAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAiB;QAC/B,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,EAAE;KACT,CAAC;IACF,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/html.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { InferenceMap, Insight, JoinedOutput, RuntimeSummary } from './types.js';
2
+ import { type ImpactSummary } from './impact.js';
3
+ export interface HTMLData {
4
+ inferenceMap: InferenceMap;
5
+ insights: Insight[];
6
+ joined?: JoinedOutput;
7
+ runtime?: RuntimeSummary;
8
+ impactSummary?: ImpactSummary;
9
+ }
10
+ export declare function generateHTML(data: HTMLData): string;
11
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAOxE,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAmbD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA8DnD"}