@uvl000/claude-trace 3.0.13-workflowexp.1

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 (258) hide show
  1. package/README.md +477 -0
  2. package/README.zh-CN.md +477 -0
  3. package/dist/adapt/api-format.d.ts +41 -0
  4. package/dist/adapt/api-format.d.ts.map +1 -0
  5. package/dist/adapt/api-format.js +132 -0
  6. package/dist/adapt/api-format.js.map +1 -0
  7. package/dist/adapt/openai-adapter.d.ts +123 -0
  8. package/dist/adapt/openai-adapter.d.ts.map +1 -0
  9. package/dist/adapt/openai-adapter.js +628 -0
  10. package/dist/adapt/openai-adapter.js.map +1 -0
  11. package/dist/cli/cli-common.d.ts +73 -0
  12. package/dist/cli/cli-common.d.ts.map +1 -0
  13. package/dist/cli/cli-common.js +189 -0
  14. package/dist/cli/cli-common.js.map +1 -0
  15. package/dist/cli/cli.d.ts +23 -0
  16. package/dist/cli/cli.d.ts.map +1 -0
  17. package/dist/cli/cli.js +175 -0
  18. package/dist/cli/cli.js.map +1 -0
  19. package/dist/cli/codex-cli.d.ts +24 -0
  20. package/dist/cli/codex-cli.d.ts.map +1 -0
  21. package/dist/cli/codex-cli.js +146 -0
  22. package/dist/cli/codex-cli.js.map +1 -0
  23. package/dist/cli/opencode-cli.d.ts +23 -0
  24. package/dist/cli/opencode-cli.d.ts.map +1 -0
  25. package/dist/cli/opencode-cli.js +156 -0
  26. package/dist/cli/opencode-cli.js.map +1 -0
  27. package/dist/cli/trace-runner.d.ts +21 -0
  28. package/dist/cli/trace-runner.d.ts.map +1 -0
  29. package/dist/cli/trace-runner.js +282 -0
  30. package/dist/cli/trace-runner.js.map +1 -0
  31. package/dist/cli/validate-trace.d.ts +30 -0
  32. package/dist/cli/validate-trace.d.ts.map +1 -0
  33. package/dist/cli/validate-trace.js +230 -0
  34. package/dist/cli/validate-trace.js.map +1 -0
  35. package/dist/cli/verify-offline-bundle.d.ts +13 -0
  36. package/dist/cli/verify-offline-bundle.d.ts.map +1 -0
  37. package/dist/cli/verify-offline-bundle.js +89 -0
  38. package/dist/cli/verify-offline-bundle.js.map +1 -0
  39. package/dist/cli/vibe-coding-proxy-cli.d.ts +12 -0
  40. package/dist/cli/vibe-coding-proxy-cli.d.ts.map +1 -0
  41. package/dist/cli/vibe-coding-proxy-cli.js +218 -0
  42. package/dist/cli/vibe-coding-proxy-cli.js.map +1 -0
  43. package/dist/config/claude-config-overlay.d.ts +69 -0
  44. package/dist/config/claude-config-overlay.d.ts.map +1 -0
  45. package/dist/config/claude-config-overlay.js +229 -0
  46. package/dist/config/claude-config-overlay.js.map +1 -0
  47. package/dist/config/codex-config-overlay.d.ts +122 -0
  48. package/dist/config/codex-config-overlay.d.ts.map +1 -0
  49. package/dist/config/codex-config-overlay.js +352 -0
  50. package/dist/config/codex-config-overlay.js.map +1 -0
  51. package/dist/index.d.ts +15 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +37 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/intercept/forward-proxy.d.ts +77 -0
  56. package/dist/intercept/forward-proxy.d.ts.map +1 -0
  57. package/dist/intercept/forward-proxy.js +368 -0
  58. package/dist/intercept/forward-proxy.js.map +1 -0
  59. package/dist/intercept/header-redaction.d.ts +7 -0
  60. package/dist/intercept/header-redaction.d.ts.map +1 -0
  61. package/dist/intercept/header-redaction.js +28 -0
  62. package/dist/intercept/header-redaction.js.map +1 -0
  63. package/dist/intercept/interceptor-loader.js +26 -0
  64. package/dist/intercept/interceptor.d.ts +164 -0
  65. package/dist/intercept/interceptor.d.ts.map +1 -0
  66. package/dist/intercept/interceptor.js +496 -0
  67. package/dist/intercept/interceptor.js.map +1 -0
  68. package/dist/intercept/mitm-cert.d.ts +53 -0
  69. package/dist/intercept/mitm-cert.d.ts.map +1 -0
  70. package/dist/intercept/mitm-cert.js +259 -0
  71. package/dist/intercept/mitm-cert.js.map +1 -0
  72. package/dist/intercept/proxy-log-writer.d.ts +77 -0
  73. package/dist/intercept/proxy-log-writer.d.ts.map +1 -0
  74. package/dist/intercept/proxy-log-writer.js +323 -0
  75. package/dist/intercept/proxy-log-writer.js.map +1 -0
  76. package/dist/intercept/proxy-targets.d.ts +69 -0
  77. package/dist/intercept/proxy-targets.d.ts.map +1 -0
  78. package/dist/intercept/proxy-targets.js +129 -0
  79. package/dist/intercept/proxy-targets.js.map +1 -0
  80. package/dist/intercept/reverse-proxy.d.ts +191 -0
  81. package/dist/intercept/reverse-proxy.d.ts.map +1 -0
  82. package/dist/intercept/reverse-proxy.js +807 -0
  83. package/dist/intercept/reverse-proxy.js.map +1 -0
  84. package/dist/intercept/token-extractor.js +28 -0
  85. package/dist/report/html-generator.d.ts +96 -0
  86. package/dist/report/html-generator.d.ts.map +1 -0
  87. package/dist/report/html-generator.js +225 -0
  88. package/dist/report/html-generator.js.map +1 -0
  89. package/dist/report/index-generator.d.ts +89 -0
  90. package/dist/report/index-generator.d.ts.map +1 -0
  91. package/dist/report/index-generator.js +319 -0
  92. package/dist/report/index-generator.js.map +1 -0
  93. package/dist/report/shared-conversation-processor.d.ts +200 -0
  94. package/dist/report/shared-conversation-processor.d.ts.map +1 -0
  95. package/dist/report/shared-conversation-processor.js +720 -0
  96. package/dist/report/shared-conversation-processor.js.map +1 -0
  97. package/dist/routing/codex-routing.d.ts +40 -0
  98. package/dist/routing/codex-routing.d.ts.map +1 -0
  99. package/dist/routing/codex-routing.js +96 -0
  100. package/dist/routing/codex-routing.js.map +1 -0
  101. package/dist/routing/proxy-routing.d.ts +48 -0
  102. package/dist/routing/proxy-routing.d.ts.map +1 -0
  103. package/dist/routing/proxy-routing.js +113 -0
  104. package/dist/routing/proxy-routing.js.map +1 -0
  105. package/dist/tools/binary-utils.d.ts +29 -0
  106. package/dist/tools/binary-utils.d.ts.map +1 -0
  107. package/dist/tools/binary-utils.js +134 -0
  108. package/dist/tools/binary-utils.js.map +1 -0
  109. package/dist/tools/claude.d.ts +61 -0
  110. package/dist/tools/claude.d.ts.map +1 -0
  111. package/dist/tools/claude.js +449 -0
  112. package/dist/tools/claude.js.map +1 -0
  113. package/dist/tools/codex.d.ts +70 -0
  114. package/dist/tools/codex.d.ts.map +1 -0
  115. package/dist/tools/codex.js +492 -0
  116. package/dist/tools/codex.js.map +1 -0
  117. package/dist/tools/opencode.d.ts +85 -0
  118. package/dist/tools/opencode.d.ts.map +1 -0
  119. package/dist/tools/opencode.js +401 -0
  120. package/dist/tools/opencode.js.map +1 -0
  121. package/dist/tools/types.d.ts +91 -0
  122. package/dist/tools/types.d.ts.map +1 -0
  123. package/dist/tools/types.js +11 -0
  124. package/dist/tools/types.js.map +1 -0
  125. package/dist/types.d.ts +158 -0
  126. package/dist/types.d.ts.map +1 -0
  127. package/dist/types.js +12 -0
  128. package/dist/types.js.map +1 -0
  129. package/frontend/dist/index.global.js +1551 -0
  130. package/frontend/dist/styles.css +1027 -0
  131. package/frontend/template.html +19 -0
  132. package/node_modules/agent-base/LICENSE +22 -0
  133. package/node_modules/agent-base/README.md +69 -0
  134. package/node_modules/agent-base/dist/helpers.d.ts +15 -0
  135. package/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
  136. package/node_modules/agent-base/dist/helpers.js +66 -0
  137. package/node_modules/agent-base/dist/helpers.js.map +1 -0
  138. package/node_modules/agent-base/dist/index.d.ts +41 -0
  139. package/node_modules/agent-base/dist/index.d.ts.map +1 -0
  140. package/node_modules/agent-base/dist/index.js +178 -0
  141. package/node_modules/agent-base/dist/index.js.map +1 -0
  142. package/node_modules/agent-base/package.json +46 -0
  143. package/node_modules/debug/LICENSE +20 -0
  144. package/node_modules/debug/README.md +481 -0
  145. package/node_modules/debug/package.json +64 -0
  146. package/node_modules/debug/src/browser.js +272 -0
  147. package/node_modules/debug/src/common.js +292 -0
  148. package/node_modules/debug/src/index.js +10 -0
  149. package/node_modules/debug/src/node.js +263 -0
  150. package/node_modules/http-proxy-agent/LICENSE +22 -0
  151. package/node_modules/http-proxy-agent/README.md +44 -0
  152. package/node_modules/http-proxy-agent/dist/index.d.ts +44 -0
  153. package/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -0
  154. package/node_modules/http-proxy-agent/dist/index.js +148 -0
  155. package/node_modules/http-proxy-agent/dist/index.js.map +1 -0
  156. package/node_modules/http-proxy-agent/package.json +47 -0
  157. package/node_modules/https-proxy-agent/LICENSE +22 -0
  158. package/node_modules/https-proxy-agent/README.md +70 -0
  159. package/node_modules/https-proxy-agent/dist/index.d.ts +47 -0
  160. package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
  161. package/node_modules/https-proxy-agent/dist/index.js +180 -0
  162. package/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  163. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
  164. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
  165. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
  166. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  167. package/node_modules/https-proxy-agent/package.json +50 -0
  168. package/node_modules/ms/index.js +162 -0
  169. package/node_modules/ms/license.md +21 -0
  170. package/node_modules/ms/package.json +38 -0
  171. package/node_modules/ms/readme.md +59 -0
  172. package/node_modules/node-forge/LICENSE +331 -0
  173. package/node_modules/node-forge/README.md +2071 -0
  174. package/node_modules/node-forge/dist/forge.all.min.js +2 -0
  175. package/node_modules/node-forge/dist/forge.all.min.js.map +1 -0
  176. package/node_modules/node-forge/dist/forge.min.js +2 -0
  177. package/node_modules/node-forge/dist/forge.min.js.map +1 -0
  178. package/node_modules/node-forge/dist/prime.worker.min.js +2 -0
  179. package/node_modules/node-forge/dist/prime.worker.min.js.map +1 -0
  180. package/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  181. package/node_modules/node-forge/lib/aes.js +1091 -0
  182. package/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  183. package/node_modules/node-forge/lib/asn1-validator.js +91 -0
  184. package/node_modules/node-forge/lib/asn1.js +1503 -0
  185. package/node_modules/node-forge/lib/baseN.js +186 -0
  186. package/node_modules/node-forge/lib/cipher.js +230 -0
  187. package/node_modules/node-forge/lib/cipherModes.js +999 -0
  188. package/node_modules/node-forge/lib/des.js +496 -0
  189. package/node_modules/node-forge/lib/ed25519.js +1091 -0
  190. package/node_modules/node-forge/lib/forge.js +13 -0
  191. package/node_modules/node-forge/lib/form.js +149 -0
  192. package/node_modules/node-forge/lib/hmac.js +146 -0
  193. package/node_modules/node-forge/lib/http.js +1346 -0
  194. package/node_modules/node-forge/lib/index.all.js +16 -0
  195. package/node_modules/node-forge/lib/index.js +33 -0
  196. package/node_modules/node-forge/lib/jsbn.js +1294 -0
  197. package/node_modules/node-forge/lib/kem.js +168 -0
  198. package/node_modules/node-forge/lib/log.js +319 -0
  199. package/node_modules/node-forge/lib/md.all.js +13 -0
  200. package/node_modules/node-forge/lib/md.js +11 -0
  201. package/node_modules/node-forge/lib/md5.js +289 -0
  202. package/node_modules/node-forge/lib/mgf.js +12 -0
  203. package/node_modules/node-forge/lib/mgf1.js +57 -0
  204. package/node_modules/node-forge/lib/oids.js +180 -0
  205. package/node_modules/node-forge/lib/pbe.js +1023 -0
  206. package/node_modules/node-forge/lib/pbkdf2.js +211 -0
  207. package/node_modules/node-forge/lib/pem.js +237 -0
  208. package/node_modules/node-forge/lib/pkcs1.js +276 -0
  209. package/node_modules/node-forge/lib/pkcs12.js +1078 -0
  210. package/node_modules/node-forge/lib/pkcs7.js +1260 -0
  211. package/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
  212. package/node_modules/node-forge/lib/pki.js +102 -0
  213. package/node_modules/node-forge/lib/prime.js +297 -0
  214. package/node_modules/node-forge/lib/prime.worker.js +168 -0
  215. package/node_modules/node-forge/lib/prng.js +419 -0
  216. package/node_modules/node-forge/lib/pss.js +241 -0
  217. package/node_modules/node-forge/lib/random.js +191 -0
  218. package/node_modules/node-forge/lib/rc2.js +410 -0
  219. package/node_modules/node-forge/lib/rsa.js +1968 -0
  220. package/node_modules/node-forge/lib/sha1.js +319 -0
  221. package/node_modules/node-forge/lib/sha256.js +327 -0
  222. package/node_modules/node-forge/lib/sha512.js +561 -0
  223. package/node_modules/node-forge/lib/socket.js +287 -0
  224. package/node_modules/node-forge/lib/ssh.js +236 -0
  225. package/node_modules/node-forge/lib/tls.js +4282 -0
  226. package/node_modules/node-forge/lib/tlssocket.js +249 -0
  227. package/node_modules/node-forge/lib/util.js +2652 -0
  228. package/node_modules/node-forge/lib/x509.js +3251 -0
  229. package/node_modules/node-forge/lib/xhr.js +738 -0
  230. package/node_modules/node-forge/package.json +123 -0
  231. package/node_modules/smol-toml/LICENSE +24 -0
  232. package/node_modules/smol-toml/README.md +239 -0
  233. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  234. package/node_modules/smol-toml/dist/date.js +127 -0
  235. package/node_modules/smol-toml/dist/error.d.ts +38 -0
  236. package/node_modules/smol-toml/dist/error.js +63 -0
  237. package/node_modules/smol-toml/dist/extract.d.ts +30 -0
  238. package/node_modules/smol-toml/dist/extract.js +100 -0
  239. package/node_modules/smol-toml/dist/index.cjs +897 -0
  240. package/node_modules/smol-toml/dist/index.d.ts +43 -0
  241. package/node_modules/smol-toml/dist/index.js +33 -0
  242. package/node_modules/smol-toml/dist/parse.d.ts +37 -0
  243. package/node_modules/smol-toml/dist/parse.js +148 -0
  244. package/node_modules/smol-toml/dist/primitive.d.ts +31 -0
  245. package/node_modules/smol-toml/dist/primitive.js +179 -0
  246. package/node_modules/smol-toml/dist/stringify.d.ts +31 -0
  247. package/node_modules/smol-toml/dist/stringify.js +167 -0
  248. package/node_modules/smol-toml/dist/struct.d.ts +32 -0
  249. package/node_modules/smol-toml/dist/struct.js +184 -0
  250. package/node_modules/smol-toml/dist/util.d.ts +42 -0
  251. package/node_modules/smol-toml/dist/util.js +111 -0
  252. package/node_modules/smol-toml/package.json +54 -0
  253. package/offline/bin/claude-trace +6 -0
  254. package/offline/bin/claude-wrapper +13 -0
  255. package/offline/bin/install-agent +14 -0
  256. package/offline/bin/validate-trace +6 -0
  257. package/offline/bin/verify-bundle +7 -0
  258. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reverse-proxy.js","sourceRoot":"","sources":["../../src/intercept/reverse-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ // Token extractor for OAuth token extraction
2
+ const fs = require("fs");
3
+ const path = require("path");
4
+ const originalFetch = global.fetch;
5
+
6
+ // Get token file from environment variable
7
+ const TEMP_TOKEN_FILE = process.env.CLAUDE_TRACE_TOKEN_FILE;
8
+
9
+ global.fetch = async function (input, init = {}) {
10
+ const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
11
+
12
+ const anthropicBaseUrl = process.env.ANTHROPIC_BASE_URL.replace(/https:\/\//g, "");
13
+
14
+ if ((url.includes("api.anthropic.com") || url.includes(anthropicBaseUrl)) && url.includes("/v1/messages")) {
15
+ const headers = new Headers(init.headers || {});
16
+ const authorization = headers.get("authorization");
17
+ if (authorization && authorization.startsWith("Bearer ") && TEMP_TOKEN_FILE) {
18
+ const token = authorization.substring(7);
19
+ try {
20
+ fs.writeFileSync(TEMP_TOKEN_FILE, token);
21
+ } catch (e) {
22
+ // Ignore write errors silently
23
+ }
24
+ }
25
+ }
26
+
27
+ return originalFetch(input, init);
28
+ };
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @file Self-contained HTML report generator.
3
+ *
4
+ * Reads the frontend template and bundled IIFE, injects base64-encoded trace
5
+ * data and metadata, and writes a single HTML file that opens offline in any
6
+ * browser without a server.
7
+ */
8
+ import { RawPair } from "../types";
9
+ /**
10
+ * Builds self-contained HTML trace reports from raw API request/response pairs.
11
+ *
12
+ * The output file embeds the compiled frontend bundle plus session data so the
13
+ * viewer works without network access or a local dev server.
14
+ */
15
+ export declare class HTMLGenerator {
16
+ private frontendDir;
17
+ private templatePath;
18
+ private bundlePath;
19
+ /**
20
+ * Resolves paths to `frontend/template.html` and `frontend/dist/index.global.js`
21
+ * relative to the compiled `dist/` output directory.
22
+ */
23
+ constructor();
24
+ /**
25
+ * Verifies the frontend bundle exists before attempting template assembly.
26
+ * @throws When `frontend/dist/index.global.js` has not been built.
27
+ */
28
+ private ensureFrontendBuilt;
29
+ /**
30
+ * Loads the HTML shell and the compiled Lit viewer bundle from disk.
31
+ * @returns Template HTML string and the minified IIFE bundle contents.
32
+ */
33
+ private loadTemplateFiles;
34
+ /**
35
+ * Keeps only Anthropic Messages API and Bedrock runtime calls.
36
+ * Currently unused — filtering was removed to avoid dropping valid data.
37
+ *
38
+ * @param pairs - Raw logged pairs to filter.
39
+ * @returns Pairs whose request URL targets `/v1/messages` or Bedrock runtime.
40
+ */
41
+ private filterClaudeAPIPairs;
42
+ /**
43
+ * Drops pairs whose request has two or fewer messages (likely heartbeats).
44
+ * Currently unused — kept for reference.
45
+ *
46
+ * @param pairs - Raw logged pairs to filter.
47
+ * @returns Pairs with more than two request messages, or non-array message lists.
48
+ */
49
+ private filterShortConversations;
50
+ /**
51
+ * Serializes trace data to base64 so it can be safely embedded in HTML
52
+ * without escaping issues in inline script tags.
53
+ *
54
+ * @param data - Session pairs, timestamp, and viewer metadata.
55
+ * @returns Base64-encoded JSON assigned to `window.claudeData` at runtime.
56
+ */
57
+ private prepareDataForInjection;
58
+ /**
59
+ * Escapes user-controlled strings before inserting them into HTML attributes
60
+ * or text nodes (e.g. the report `<title>`).
61
+ */
62
+ private escapeHtml;
63
+ /** Maps tool profile id to the display brand shown in the report title. */
64
+ private buildReportBrand;
65
+ /** Builds the default `<title>` text, e.g. `claude-trace · 42 API Calls`. */
66
+ private buildReportTitle;
67
+ /**
68
+ * Writes a self-contained HTML report for the given raw pairs.
69
+ *
70
+ * @param pairs - All logged request/response pairs for the session.
71
+ * @param outputFile - Destination `.html` path.
72
+ * @param options - Optional title, timestamp, filter flag, and tool id.
73
+ */
74
+ generateHTML(pairs: RawPair[], outputFile: string, options?: {
75
+ title?: string;
76
+ timestamp?: string;
77
+ includeAllRequests?: boolean;
78
+ tool?: string;
79
+ }): Promise<void>;
80
+ /**
81
+ * Reads a JSONL log file and generates the corresponding HTML report.
82
+ *
83
+ * @param jsonlFile - Path to a session `.jsonl` log.
84
+ * @param outputFile - Optional output path; defaults to same name with `.html`.
85
+ * @param includeAllRequests - Passed through to viewer metadata.
86
+ * @param tool - Tool profile id for branding in the report title.
87
+ * @returns The path of the written HTML file.
88
+ */
89
+ generateHTMLFromJSONL(jsonlFile: string, outputFile?: string, includeAllRequests?: boolean, tool?: string): Promise<string>;
90
+ /** Returns resolved paths to the template and bundle for diagnostics. */
91
+ getTemplatePaths(): {
92
+ templatePath: string;
93
+ bundlePath: string;
94
+ };
95
+ }
96
+ //# sourceMappingURL=html-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-generator.d.ts","sourceRoot":"","sources":["../../src/report/html-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,OAAO,EAAkC,MAAM,UAAU,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;;IAOH;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;OAGG;IACH,OAAO,CAAC,UAAU;IASlB,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB;IAOxB,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB;IAIxB;;;;;;OAMG;IACU,YAAY,CACxB,KAAK,EAAE,OAAO,EAAE,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;KACT,GACJ,OAAO,CAAC,IAAI,CAAC;IAuDhB;;;;;;;;OAQG;IACU,qBAAqB,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,kBAAkB,GAAE,OAAc,EAClC,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAoClB,yEAAyE;IAClE,gBAAgB,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAMvE"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * @file Self-contained HTML report generator.
4
+ *
5
+ * Reads the frontend template and bundled IIFE, injects base64-encoded trace
6
+ * data and metadata, and writes a single HTML file that opens offline in any
7
+ * browser without a server.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.HTMLGenerator = void 0;
14
+ const fs_1 = __importDefault(require("fs"));
15
+ const path_1 = __importDefault(require("path"));
16
+ /**
17
+ * Builds self-contained HTML trace reports from raw API request/response pairs.
18
+ *
19
+ * The output file embeds the compiled frontend bundle plus session data so the
20
+ * viewer works without network access or a local dev server.
21
+ */
22
+ class HTMLGenerator {
23
+ /**
24
+ * Resolves paths to `frontend/template.html` and `frontend/dist/index.global.js`
25
+ * relative to the compiled `dist/` output directory.
26
+ */
27
+ constructor() {
28
+ this.frontendDir = path_1.default.join(__dirname, "..", "..", "frontend");
29
+ this.templatePath = path_1.default.join(this.frontendDir, "template.html");
30
+ this.bundlePath = path_1.default.join(this.frontendDir, "dist", "index.global.js");
31
+ }
32
+ /**
33
+ * Verifies the frontend bundle exists before attempting template assembly.
34
+ * @throws When `frontend/dist/index.global.js` has not been built.
35
+ */
36
+ ensureFrontendBuilt() {
37
+ if (!fs_1.default.existsSync(this.bundlePath)) {
38
+ throw new Error(`Frontend bundle not found at ${this.bundlePath}. ` + `Run 'npm run build' in frontend directory first.`);
39
+ }
40
+ }
41
+ /**
42
+ * Loads the HTML shell and the compiled Lit viewer bundle from disk.
43
+ * @returns Template HTML string and the minified IIFE bundle contents.
44
+ */
45
+ loadTemplateFiles() {
46
+ this.ensureFrontendBuilt();
47
+ const htmlTemplate = fs_1.default.readFileSync(this.templatePath, "utf-8");
48
+ const jsBundle = fs_1.default.readFileSync(this.bundlePath, "utf-8");
49
+ return { htmlTemplate, jsBundle };
50
+ }
51
+ /**
52
+ * Keeps only Anthropic Messages API and Bedrock runtime calls.
53
+ * Currently unused — filtering was removed to avoid dropping valid data.
54
+ *
55
+ * @param pairs - Raw logged pairs to filter.
56
+ * @returns Pairs whose request URL targets `/v1/messages` or Bedrock runtime.
57
+ */
58
+ filterClaudeAPIPairs(pairs) {
59
+ return pairs.filter((pair) => {
60
+ const url = pair.request.url;
61
+ // Include both Anthropic API and Bedrock API calls
62
+ return url.includes("/v1/messages") || url.includes("bedrock-runtime.amazonaws.com");
63
+ });
64
+ }
65
+ /**
66
+ * Drops pairs whose request has two or fewer messages (likely heartbeats).
67
+ * Currently unused — kept for reference.
68
+ *
69
+ * @param pairs - Raw logged pairs to filter.
70
+ * @returns Pairs with more than two request messages, or non-array message lists.
71
+ */
72
+ filterShortConversations(pairs) {
73
+ return pairs.filter((pair) => {
74
+ const messages = pair.request?.body?.messages;
75
+ if (!Array.isArray(messages))
76
+ return true;
77
+ return messages.length > 2;
78
+ });
79
+ }
80
+ /**
81
+ * Serializes trace data to base64 so it can be safely embedded in HTML
82
+ * without escaping issues in inline script tags.
83
+ *
84
+ * @param data - Session pairs, timestamp, and viewer metadata.
85
+ * @returns Base64-encoded JSON assigned to `window.claudeData` at runtime.
86
+ */
87
+ prepareDataForInjection(data) {
88
+ const claudeData = {
89
+ rawPairs: data.rawPairs,
90
+ timestamp: data.timestamp,
91
+ metadata: {
92
+ includeAllRequests: data.includeAllRequests || false,
93
+ ...(data.tool ? { tool: data.tool } : {}),
94
+ },
95
+ };
96
+ // Compact JSON keeps the embedded payload smaller
97
+ const dataJson = JSON.stringify(claudeData, null, 0);
98
+ // Base64 avoids `</script>` and quote-escaping problems in inline HTML
99
+ return Buffer.from(dataJson, "utf-8").toString("base64");
100
+ }
101
+ /**
102
+ * Escapes user-controlled strings before inserting them into HTML attributes
103
+ * or text nodes (e.g. the report `<title>`).
104
+ */
105
+ escapeHtml(text) {
106
+ return text
107
+ .replace(/&/g, "&amp;")
108
+ .replace(/</g, "&lt;")
109
+ .replace(/>/g, "&gt;")
110
+ .replace(/"/g, "&quot;")
111
+ .replace(/'/g, "&#39;");
112
+ }
113
+ /** Maps tool profile id to the display brand shown in the report title. */
114
+ buildReportBrand(tool) {
115
+ if (tool === "claude")
116
+ return "claude-trace";
117
+ if (tool === "opencode")
118
+ return "opencode-trace";
119
+ if (tool === "codex")
120
+ return "codex-trace";
121
+ return "trace";
122
+ }
123
+ /** Builds the default `<title>` text, e.g. `claude-trace · 42 API Calls`. */
124
+ buildReportTitle(pairCount, tool) {
125
+ return `${this.buildReportBrand(tool)} · ${pairCount} API Calls`;
126
+ }
127
+ /**
128
+ * Writes a self-contained HTML report for the given raw pairs.
129
+ *
130
+ * @param pairs - All logged request/response pairs for the session.
131
+ * @param outputFile - Destination `.html` path.
132
+ * @param options - Optional title, timestamp, filter flag, and tool id.
133
+ */
134
+ async generateHTML(pairs, outputFile, options = {}) {
135
+ try {
136
+ let filteredPairs = pairs;
137
+ // Remove filtering entirely - show all data
138
+ // Previously filtered to only include v1/messages pairs with messages.length >= 2
139
+ // but this was too aggressive and excluded valid data
140
+ // Load template and bundle files
141
+ const { htmlTemplate, jsBundle } = this.loadTemplateFiles();
142
+ // Prepare data for injection
143
+ const htmlData = {
144
+ rawPairs: filteredPairs,
145
+ timestamp: options.timestamp || new Date().toISOString().replace("T", " ").slice(0, -5),
146
+ includeAllRequests: options.includeAllRequests || false,
147
+ tool: options.tool,
148
+ };
149
+ const dataJsonEscaped = this.prepareDataForInjection(htmlData);
150
+ // BIZARRE BUT NECESSARY: Use split() instead of replace() for bundle injection
151
+ //
152
+ // Why this weird approach? Using replace instead of split() for some reason duplicates
153
+ // the htmlTemplate itself inside the new string! Maybe a bug in Node's String.replace?
154
+ const templateParts = htmlTemplate.split("__CLAUDE_LOGGER_BUNDLE_REPLACEMENT_UNIQUE_9487__");
155
+ if (templateParts.length !== 2) {
156
+ throw new Error("Template bundle replacement marker not found or found multiple times");
157
+ }
158
+ // Reconstruct the template with the bundle injected between the split parts
159
+ let htmlContent = templateParts[0] + jsBundle + templateParts[1];
160
+ htmlContent = htmlContent
161
+ .replace("__CLAUDE_LOGGER_DATA_REPLACEMENT_UNIQUE_9487__", dataJsonEscaped)
162
+ .replace("__CLAUDE_LOGGER_TITLE_REPLACEMENT_UNIQUE_9487__", this.escapeHtml(options.title || this.buildReportTitle(filteredPairs.length, options.tool)));
163
+ // Ensure output directory exists
164
+ const outputDir = path_1.default.dirname(outputFile);
165
+ if (!fs_1.default.existsSync(outputDir)) {
166
+ fs_1.default.mkdirSync(outputDir, { recursive: true });
167
+ }
168
+ // Write HTML file
169
+ fs_1.default.writeFileSync(outputFile, htmlContent, "utf-8");
170
+ }
171
+ catch (error) {
172
+ console.error(`Error generating HTML: ${error}`);
173
+ throw error;
174
+ }
175
+ }
176
+ /**
177
+ * Reads a JSONL log file and generates the corresponding HTML report.
178
+ *
179
+ * @param jsonlFile - Path to a session `.jsonl` log.
180
+ * @param outputFile - Optional output path; defaults to same name with `.html`.
181
+ * @param includeAllRequests - Passed through to viewer metadata.
182
+ * @param tool - Tool profile id for branding in the report title.
183
+ * @returns The path of the written HTML file.
184
+ */
185
+ async generateHTMLFromJSONL(jsonlFile, outputFile, includeAllRequests = true, tool) {
186
+ if (!fs_1.default.existsSync(jsonlFile)) {
187
+ throw new Error(`File '${jsonlFile}' not found.`);
188
+ }
189
+ // Load all pairs from the JSONL file
190
+ const pairs = [];
191
+ const fileContent = fs_1.default.readFileSync(jsonlFile, "utf-8");
192
+ const lines = fileContent.split("\n");
193
+ for (let lineNum = 0; lineNum < lines.length; lineNum++) {
194
+ const line = lines[lineNum].trim();
195
+ if (line) {
196
+ try {
197
+ const pair = JSON.parse(line);
198
+ pairs.push(pair);
199
+ }
200
+ catch (error) {
201
+ console.warn(`Warning: Skipping invalid JSON on line ${lineNum + 1}: ${line.slice(0, 100)}...`);
202
+ continue;
203
+ }
204
+ }
205
+ }
206
+ if (pairs.length === 0) {
207
+ throw new Error(`No valid data found in '${jsonlFile}'.`);
208
+ }
209
+ // Determine output file
210
+ if (!outputFile) {
211
+ outputFile = jsonlFile.replace(/\.jsonl$/, ".html");
212
+ }
213
+ await this.generateHTML(pairs, outputFile, { includeAllRequests, tool });
214
+ return outputFile;
215
+ }
216
+ /** Returns resolved paths to the template and bundle for diagnostics. */
217
+ getTemplatePaths() {
218
+ return {
219
+ templatePath: this.templatePath,
220
+ bundlePath: this.bundlePath,
221
+ };
222
+ }
223
+ }
224
+ exports.HTMLGenerator = HTMLGenerator;
225
+ //# sourceMappingURL=html-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-generator.js","sourceRoot":"","sources":["../../src/report/html-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @file Conversation index generator for trace log directories.
3
+ *
4
+ * Scans JSONL session logs, optionally regenerates per-log HTML reports and
5
+ * AI-generated conversation summaries via the Claude CLI, then writes a
6
+ * browsable `index.html` listing all sessions and their summaries.
7
+ */
8
+ /** One summarized conversation extracted from a session log. */
9
+ export interface ConversationSummary {
10
+ /** Stable id matching the merged {@link SimpleConversation} id. */
11
+ id: string;
12
+ /** Short title generated by the Claude CLI summarizer. */
13
+ title: string;
14
+ /** One-to-three paragraph summary from the CLI. */
15
+ summary: string;
16
+ /** ISO timestamp of the conversation start. */
17
+ startTime: string;
18
+ /** Number of user/assistant turns in the thread. */
19
+ messageCount: number;
20
+ /** Distinct model ids used across the thread's API pairs. */
21
+ models: string[];
22
+ }
23
+ /** Cached summary metadata for a single JSONL log file. */
24
+ export interface LogSummary {
25
+ /** Source JSONL filename, e.g. `log-2026-06-10-12-00-00.jsonl`. */
26
+ logFile: string;
27
+ /** Companion HTML report filename in the same directory. */
28
+ htmlFile: string;
29
+ /** ISO timestamp when this sidecar was last written. */
30
+ generated: string;
31
+ /** Per-conversation summaries for index.html rendering. */
32
+ conversations: ConversationSummary[];
33
+ }
34
+ /**
35
+ * Builds and maintains `index.html` plus per-log `summary-*.json` sidecars.
36
+ *
37
+ * Summaries are regenerated when missing or older than the source JSONL file.
38
+ */
39
+ export declare class IndexGenerator {
40
+ private traceDir;
41
+ private htmlGenerator;
42
+ private conversationProcessor;
43
+ /**
44
+ * @param traceDir - Trace output directory (e.g. `.claude-trace`).
45
+ */
46
+ constructor(traceDir?: string);
47
+ /**
48
+ * Main entry point: process all logs in `traceDir` and write `index.html`.
49
+ * Exits the process with code 1 when the directory or logs are missing.
50
+ */
51
+ generateIndex(): Promise<void>;
52
+ /**
53
+ * Lists session JSONL files matching `log-YYYY-MM-DD-HH-MM-SS.jsonl`,
54
+ * newest first.
55
+ *
56
+ * @returns Filenames only (not full paths), sorted descending by timestamp.
57
+ */
58
+ private findLogFiles;
59
+ /**
60
+ * Ensures a summary sidecar exists for one log, regenerating when stale.
61
+ * Also generates the per-log HTML report if missing.
62
+ */
63
+ private processLogFile;
64
+ /** Parses a JSONL log into merged {@link SimpleConversation} objects. */
65
+ private extractConversations;
66
+ /**
67
+ * Calls the Claude CLI to produce a title and summary for one conversation.
68
+ * Returns null when parsing fails or the CLI is unavailable.
69
+ */
70
+ private summarizeConversation;
71
+ /**
72
+ * Flattens a conversation to plain text for the summarization prompt.
73
+ * Truncates long blocks to keep token usage reasonable.
74
+ */
75
+ private conversationToText;
76
+ /**
77
+ * Spawns `claude -p <prompt>` and returns stdout.
78
+ * @throws When the CLI exits non-zero or cannot be spawned.
79
+ */
80
+ private callClaude;
81
+ /**
82
+ * Writes a static HTML index page linking to per-log reports and summaries.
83
+ *
84
+ * Uses inline CSS only — no frontend bundle — so the index opens instantly
85
+ * without rebuilding the Lit viewer.
86
+ */
87
+ private generateIndexHTML;
88
+ }
89
+ //# sourceMappingURL=index-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-generator.d.ts","sourceRoot":"","sources":["../../src/report/index-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IAC1B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,aAAa,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,qBAAqB,CAA8B;IAE3D;;OAEG;gBACS,QAAQ,GAAE,MAAwB;IAM9C;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCpC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;OAGG;YACW,cAAc;IA6D5B,yEAAyE;YAC3D,oBAAoB;IAgBlC;;;OAGG;YACW,qBAAqB;IA2CnC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;OAGG;YACW,UAAU;IAkCxB;;;;;OAKG;YACW,iBAAiB;CAiE/B"}