@koda-sl/baker-bridge 0.109.0-dev.f28c07bd2 → 0.109.0-dev.f7ef4c7e1

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 (324) hide show
  1. package/README.md +107 -51
  2. package/dist/broker/baker-api.d.ts +23 -0
  3. package/dist/broker/baker-api.d.ts.map +1 -0
  4. package/dist/broker/baker-api.js +55 -0
  5. package/dist/broker/baker-api.js.map +1 -0
  6. package/dist/broker/broker-client.d.ts +10 -0
  7. package/dist/broker/broker-client.d.ts.map +1 -0
  8. package/dist/broker/broker-client.js +60 -0
  9. package/dist/broker/broker-client.js.map +1 -0
  10. package/dist/broker/broker-process.d.ts +10 -0
  11. package/dist/broker/broker-process.d.ts.map +1 -0
  12. package/dist/broker/broker-process.js +20 -0
  13. package/dist/broker/broker-process.js.map +1 -0
  14. package/dist/broker/broker-process.test.d.ts +2 -0
  15. package/dist/broker/broker-process.test.d.ts.map +1 -0
  16. package/dist/broker/broker-process.test.js +13 -0
  17. package/dist/broker/broker-process.test.js.map +1 -0
  18. package/dist/broker/ca.d.ts +38 -0
  19. package/dist/broker/ca.d.ts.map +1 -0
  20. package/dist/broker/ca.js +80 -0
  21. package/dist/broker/ca.js.map +1 -0
  22. package/dist/broker/ca.test.d.ts +2 -0
  23. package/dist/broker/ca.test.d.ts.map +1 -0
  24. package/dist/broker/ca.test.js +58 -0
  25. package/dist/broker/ca.test.js.map +1 -0
  26. package/dist/broker/credential-cache.d.ts +24 -0
  27. package/dist/broker/credential-cache.d.ts.map +1 -0
  28. package/dist/broker/credential-cache.js +76 -0
  29. package/dist/broker/credential-cache.js.map +1 -0
  30. package/dist/broker/credential-cache.test.d.ts +2 -0
  31. package/dist/broker/credential-cache.test.d.ts.map +1 -0
  32. package/dist/broker/credential-cache.test.js +136 -0
  33. package/dist/broker/credential-cache.test.js.map +1 -0
  34. package/dist/broker/credential-text.d.ts +45 -0
  35. package/dist/broker/credential-text.d.ts.map +1 -0
  36. package/dist/broker/credential-text.js +103 -0
  37. package/dist/broker/credential-text.js.map +1 -0
  38. package/dist/broker/credential-text.test.d.ts +2 -0
  39. package/dist/broker/credential-text.test.d.ts.map +1 -0
  40. package/dist/broker/credential-text.test.js +54 -0
  41. package/dist/broker/credential-text.test.js.map +1 -0
  42. package/dist/broker/env.d.ts +21 -0
  43. package/dist/broker/env.d.ts.map +1 -0
  44. package/dist/broker/env.js +20 -0
  45. package/dist/broker/env.js.map +1 -0
  46. package/dist/broker/main.d.ts +3 -0
  47. package/dist/broker/main.d.ts.map +1 -0
  48. package/dist/broker/main.js +57 -0
  49. package/dist/broker/main.js.map +1 -0
  50. package/dist/broker/proxy.d.ts +24 -0
  51. package/dist/broker/proxy.d.ts.map +1 -0
  52. package/dist/broker/proxy.integration.test.d.ts +2 -0
  53. package/dist/broker/proxy.integration.test.d.ts.map +1 -0
  54. package/dist/broker/proxy.integration.test.js +197 -0
  55. package/dist/broker/proxy.integration.test.js.map +1 -0
  56. package/dist/broker/proxy.js +147 -0
  57. package/dist/broker/proxy.js.map +1 -0
  58. package/dist/broker/rewrite.d.ts +44 -0
  59. package/dist/broker/rewrite.d.ts.map +1 -0
  60. package/dist/broker/rewrite.js +291 -0
  61. package/dist/broker/rewrite.js.map +1 -0
  62. package/dist/broker/rewrite.test.d.ts +2 -0
  63. package/dist/broker/rewrite.test.d.ts.map +1 -0
  64. package/dist/broker/rewrite.test.js +171 -0
  65. package/dist/broker/rewrite.test.js.map +1 -0
  66. package/dist/broker/socket-service.d.ts +18 -0
  67. package/dist/broker/socket-service.d.ts.map +1 -0
  68. package/dist/broker/socket-service.js +113 -0
  69. package/dist/broker/socket-service.js.map +1 -0
  70. package/dist/broker/socket-service.test.d.ts +2 -0
  71. package/dist/broker/socket-service.test.d.ts.map +1 -0
  72. package/dist/broker/socket-service.test.js +80 -0
  73. package/dist/broker/socket-service.test.js.map +1 -0
  74. package/dist/broker/supervisor-main.d.ts +3 -0
  75. package/dist/broker/supervisor-main.d.ts.map +1 -0
  76. package/dist/broker/supervisor-main.js +70 -0
  77. package/dist/broker/supervisor-main.js.map +1 -0
  78. package/dist/broker/supervisor.d.ts +25 -0
  79. package/dist/broker/supervisor.d.ts.map +1 -0
  80. package/dist/broker/supervisor.js +88 -0
  81. package/dist/broker/supervisor.js.map +1 -0
  82. package/dist/broker/supervisor.test.d.ts +2 -0
  83. package/dist/broker/supervisor.test.d.ts.map +1 -0
  84. package/dist/broker/supervisor.test.js +161 -0
  85. package/dist/broker/supervisor.test.js.map +1 -0
  86. package/dist/broker/token-bucket.d.ts +9 -0
  87. package/dist/broker/token-bucket.d.ts.map +1 -0
  88. package/dist/broker/token-bucket.js +18 -0
  89. package/dist/broker/token-bucket.js.map +1 -0
  90. package/dist/broker/usage-reporter.d.ts +18 -0
  91. package/dist/broker/usage-reporter.d.ts.map +1 -0
  92. package/dist/broker/usage-reporter.js +31 -0
  93. package/dist/broker/usage-reporter.js.map +1 -0
  94. package/dist/broker/usage-reporter.test.d.ts +2 -0
  95. package/dist/broker/usage-reporter.test.d.ts.map +1 -0
  96. package/dist/broker/usage-reporter.test.js +20 -0
  97. package/dist/broker/usage-reporter.test.js.map +1 -0
  98. package/dist/cli.d.ts.map +1 -1
  99. package/dist/cli.js +2 -0
  100. package/dist/cli.js.map +1 -1
  101. package/dist/hono/agent-session.d.ts +4 -0
  102. package/dist/hono/agent-session.d.ts.map +1 -1
  103. package/dist/hono/agent-session.js +28 -2
  104. package/dist/hono/agent-session.js.map +1 -1
  105. package/dist/hono/agent-session.test.js +37 -0
  106. package/dist/hono/agent-session.test.js.map +1 -1
  107. package/dist/hono/agent-tasks.d.ts.map +1 -1
  108. package/dist/hono/agent-tasks.js +11 -7
  109. package/dist/hono/agent-tasks.js.map +1 -1
  110. package/dist/hono/agent-tasks.test.js +15 -0
  111. package/dist/hono/agent-tasks.test.js.map +1 -1
  112. package/dist/hono/agent.d.ts +2 -0
  113. package/dist/hono/agent.d.ts.map +1 -1
  114. package/dist/hono/agent.js +19 -2
  115. package/dist/hono/agent.js.map +1 -1
  116. package/dist/hono/agent.test.js +8 -2
  117. package/dist/hono/agent.test.js.map +1 -1
  118. package/dist/hono/avatar-accent.d.ts +23 -5
  119. package/dist/hono/avatar-accent.d.ts.map +1 -1
  120. package/dist/hono/avatar-accent.js +54 -63
  121. package/dist/hono/avatar-accent.js.map +1 -1
  122. package/dist/hono/avatar-accent.test.js +64 -35
  123. package/dist/hono/avatar-accent.test.js.map +1 -1
  124. package/dist/hono/avatar-casting.d.ts +1 -0
  125. package/dist/hono/avatar-casting.d.ts.map +1 -1
  126. package/dist/hono/avatar-casting.js +18 -4
  127. package/dist/hono/avatar-casting.js.map +1 -1
  128. package/dist/hono/avatar-casting.test.js +5 -0
  129. package/dist/hono/avatar-casting.test.js.map +1 -1
  130. package/dist/hono/avatar-face-question.d.ts +23 -6
  131. package/dist/hono/avatar-face-question.d.ts.map +1 -1
  132. package/dist/hono/avatar-face-question.js +48 -59
  133. package/dist/hono/avatar-face-question.js.map +1 -1
  134. package/dist/hono/avatar-face-question.test.js +46 -101
  135. package/dist/hono/avatar-face-question.test.js.map +1 -1
  136. package/dist/hono/baker-ui-tool-schemas.test.js +30 -4
  137. package/dist/hono/baker-ui-tool-schemas.test.js.map +1 -1
  138. package/dist/hono/blocking-card.d.ts +12 -0
  139. package/dist/hono/blocking-card.d.ts.map +1 -0
  140. package/dist/hono/blocking-card.js +12 -0
  141. package/dist/hono/blocking-card.js.map +1 -0
  142. package/dist/hono/bridge-job.d.ts +68 -2
  143. package/dist/hono/bridge-job.d.ts.map +1 -1
  144. package/dist/hono/bridge-job.js +301 -64
  145. package/dist/hono/bridge-job.js.map +1 -1
  146. package/dist/hono/bridge-job.test.js +489 -38
  147. package/dist/hono/bridge-job.test.js.map +1 -1
  148. package/dist/hono/check-content.d.ts +49 -0
  149. package/dist/hono/check-content.d.ts.map +1 -0
  150. package/dist/hono/check-content.js +182 -0
  151. package/dist/hono/check-content.js.map +1 -0
  152. package/dist/hono/check-content.test.d.ts +2 -0
  153. package/dist/hono/check-content.test.d.ts.map +1 -0
  154. package/dist/hono/check-content.test.js +87 -0
  155. package/dist/hono/check-content.test.js.map +1 -0
  156. package/dist/hono/connection-input.d.ts +170 -12
  157. package/dist/hono/connection-input.d.ts.map +1 -1
  158. package/dist/hono/connection-input.js +166 -14
  159. package/dist/hono/connection-input.js.map +1 -1
  160. package/dist/hono/connection-input.test.js +112 -9
  161. package/dist/hono/connection-input.test.js.map +1 -1
  162. package/dist/hono/convex.d.ts +8 -0
  163. package/dist/hono/convex.d.ts.map +1 -1
  164. package/dist/hono/convex.js +8 -0
  165. package/dist/hono/convex.js.map +1 -1
  166. package/dist/hono/convex.test.js +4 -1
  167. package/dist/hono/convex.test.js.map +1 -1
  168. package/dist/hono/credential-input.d.ts +39 -0
  169. package/dist/hono/credential-input.d.ts.map +1 -0
  170. package/dist/hono/credential-input.js +78 -0
  171. package/dist/hono/credential-input.js.map +1 -0
  172. package/dist/hono/credential-scrub.d.ts +42 -0
  173. package/dist/hono/credential-scrub.d.ts.map +1 -0
  174. package/dist/hono/credential-scrub.js +173 -0
  175. package/dist/hono/credential-scrub.js.map +1 -0
  176. package/dist/hono/credential-scrub.test.d.ts +2 -0
  177. package/dist/hono/credential-scrub.test.d.ts.map +1 -0
  178. package/dist/hono/credential-scrub.test.js +130 -0
  179. package/dist/hono/credential-scrub.test.js.map +1 -0
  180. package/dist/hono/env.d.ts +1 -0
  181. package/dist/hono/env.d.ts.map +1 -1
  182. package/dist/hono/env.js +2 -0
  183. package/dist/hono/env.js.map +1 -1
  184. package/dist/hono/flow-crypto.d.ts +2 -1
  185. package/dist/hono/flow-crypto.d.ts.map +1 -1
  186. package/dist/hono/flow-crypto.js +50 -26
  187. package/dist/hono/flow-crypto.js.map +1 -1
  188. package/dist/hono/flow-crypto.test.js +32 -0
  189. package/dist/hono/flow-crypto.test.js.map +1 -1
  190. package/dist/hono/flow-input-card-fields.test.d.ts +10 -0
  191. package/dist/hono/flow-input-card-fields.test.d.ts.map +1 -0
  192. package/dist/hono/flow-input-card-fields.test.js +26 -0
  193. package/dist/hono/flow-input-card-fields.test.js.map +1 -0
  194. package/dist/hono/flow-input-fields.test.js +1 -1
  195. package/dist/hono/flow-input-fields.test.js.map +1 -1
  196. package/dist/hono/flow-input.d.ts +23 -2
  197. package/dist/hono/flow-input.d.ts.map +1 -1
  198. package/dist/hono/flow-input.js +63 -14
  199. package/dist/hono/flow-input.js.map +1 -1
  200. package/dist/hono/flow-input.test.js +67 -11
  201. package/dist/hono/flow-input.test.js.map +1 -1
  202. package/dist/hono/jev.d.ts +16 -0
  203. package/dist/hono/jev.d.ts.map +1 -0
  204. package/dist/hono/jev.js +60 -0
  205. package/dist/hono/jev.js.map +1 -0
  206. package/dist/hono/jev.test.d.ts +2 -0
  207. package/dist/hono/jev.test.d.ts.map +1 -0
  208. package/dist/hono/jev.test.js +15 -0
  209. package/dist/hono/jev.test.js.map +1 -0
  210. package/dist/hono/knowledge-content.d.ts.map +1 -1
  211. package/dist/hono/knowledge-content.js +4 -2
  212. package/dist/hono/knowledge-content.js.map +1 -1
  213. package/dist/hono/knowledge-content.test.js +6 -5
  214. package/dist/hono/knowledge-content.test.js.map +1 -1
  215. package/dist/hono/mcp-servers.d.ts +8 -1
  216. package/dist/hono/mcp-servers.d.ts.map +1 -1
  217. package/dist/hono/mcp-servers.js +17 -6
  218. package/dist/hono/mcp-servers.js.map +1 -1
  219. package/dist/hono/mcp-servers.test.js +25 -0
  220. package/dist/hono/mcp-servers.test.js.map +1 -1
  221. package/dist/hono/model-capabilities.d.ts.map +1 -1
  222. package/dist/hono/model-capabilities.js +20 -9
  223. package/dist/hono/model-capabilities.js.map +1 -1
  224. package/dist/hono/model-capabilities.test.js +16 -8
  225. package/dist/hono/model-capabilities.test.js.map +1 -1
  226. package/dist/hono/oom-priority.agent.test.d.ts +2 -0
  227. package/dist/hono/oom-priority.agent.test.d.ts.map +1 -0
  228. package/dist/hono/oom-priority.agent.test.js +138 -0
  229. package/dist/hono/oom-priority.agent.test.js.map +1 -0
  230. package/dist/hono/oom-priority.d.ts +39 -0
  231. package/dist/hono/oom-priority.d.ts.map +1 -0
  232. package/dist/hono/oom-priority.js +138 -0
  233. package/dist/hono/oom-priority.js.map +1 -0
  234. package/dist/hono/oom-priority.test.d.ts +2 -0
  235. package/dist/hono/oom-priority.test.d.ts.map +1 -0
  236. package/dist/hono/oom-priority.test.js +52 -0
  237. package/dist/hono/oom-priority.test.js.map +1 -0
  238. package/dist/hono/openrouter-session.d.ts.map +1 -1
  239. package/dist/hono/openrouter-session.js +12 -1
  240. package/dist/hono/openrouter-session.js.map +1 -1
  241. package/dist/hono/openrouter-session.test.js +9 -3
  242. package/dist/hono/openrouter-session.test.js.map +1 -1
  243. package/dist/hono/prompt-context.d.ts +8 -1
  244. package/dist/hono/prompt-context.d.ts.map +1 -1
  245. package/dist/hono/prompt-context.js +45 -7
  246. package/dist/hono/prompt-context.js.map +1 -1
  247. package/dist/hono/prompt-context.test.js +32 -1
  248. package/dist/hono/prompt-context.test.js.map +1 -1
  249. package/dist/hono/publish-recovery.d.ts +1 -1
  250. package/dist/hono/publish-recovery.d.ts.map +1 -1
  251. package/dist/hono/publish-recovery.js +9 -6
  252. package/dist/hono/publish-recovery.js.map +1 -1
  253. package/dist/hono/publish-recovery.test.js +11 -2
  254. package/dist/hono/publish-recovery.test.js.map +1 -1
  255. package/dist/hono/relay.d.ts +10 -1
  256. package/dist/hono/relay.d.ts.map +1 -1
  257. package/dist/hono/relay.js +6 -0
  258. package/dist/hono/relay.js.map +1 -1
  259. package/dist/hono/sandbox-content.d.ts +2 -0
  260. package/dist/hono/sandbox-content.d.ts.map +1 -1
  261. package/dist/hono/sandbox-content.js +8 -4
  262. package/dist/hono/sandbox-content.js.map +1 -1
  263. package/dist/hono/sandbox-content.test.js +20 -1
  264. package/dist/hono/sandbox-content.test.js.map +1 -1
  265. package/dist/hono/server.d.ts.map +1 -1
  266. package/dist/hono/server.js +32 -0
  267. package/dist/hono/server.js.map +1 -1
  268. package/dist/hono/server.test.js +21 -1
  269. package/dist/hono/server.test.js.map +1 -1
  270. package/dist/hono/session-continuity.integration.test.js +10 -1
  271. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  272. package/dist/hono/tag-fields.d.ts.map +1 -1
  273. package/dist/hono/tag-fields.js +2 -0
  274. package/dist/hono/tag-fields.js.map +1 -1
  275. package/dist/hono/tag-input.d.ts +124 -3
  276. package/dist/hono/tag-input.d.ts.map +1 -1
  277. package/dist/hono/tag-input.js +27 -21
  278. package/dist/hono/tag-input.js.map +1 -1
  279. package/dist/hono/tag-input.test.js +19 -1
  280. package/dist/hono/tag-input.test.js.map +1 -1
  281. package/dist/hono/tool-mentions.d.ts.map +1 -1
  282. package/dist/hono/tool-mentions.js +1 -0
  283. package/dist/hono/tool-mentions.js.map +1 -1
  284. package/dist/hono/tool-mentions.test.js +5 -0
  285. package/dist/hono/tool-mentions.test.js.map +1 -1
  286. package/dist/hono/types.d.ts +8 -0
  287. package/dist/hono/types.d.ts.map +1 -1
  288. package/dist/hono/workspace-script.d.ts +10 -0
  289. package/dist/hono/workspace-script.d.ts.map +1 -0
  290. package/dist/hono/workspace-script.js +19 -0
  291. package/dist/hono/workspace-script.js.map +1 -0
  292. package/dist/hono/workspace-settle.d.ts +20 -0
  293. package/dist/hono/workspace-settle.d.ts.map +1 -0
  294. package/dist/hono/workspace-settle.js +50 -0
  295. package/dist/hono/workspace-settle.js.map +1 -0
  296. package/dist/review/digest.d.ts +8 -1
  297. package/dist/review/digest.d.ts.map +1 -1
  298. package/dist/review/digest.js +10 -43
  299. package/dist/review/digest.js.map +1 -1
  300. package/dist/review/digest.test.js +11 -6
  301. package/dist/review/digest.test.js.map +1 -1
  302. package/dist/review/evidence-block.js +1 -1
  303. package/dist/review/evidence-block.js.map +1 -1
  304. package/dist/review/evidence-block.test.js +0 -10
  305. package/dist/review/evidence-block.test.js.map +1 -1
  306. package/dist/review/shell-policy.d.ts +6 -0
  307. package/dist/review/shell-policy.d.ts.map +1 -1
  308. package/dist/review/shell-policy.js +240 -72
  309. package/dist/review/shell-policy.js.map +1 -1
  310. package/dist/review/shell-policy.test.js +114 -0
  311. package/dist/review/shell-policy.test.js.map +1 -1
  312. package/package.json +9 -5
  313. package/dist/hono/baker-ui-server.test.d.ts +0 -2
  314. package/dist/hono/baker-ui-server.test.d.ts.map +0 -1
  315. package/dist/hono/baker-ui-server.test.js +0 -46
  316. package/dist/hono/baker-ui-server.test.js.map +0 -1
  317. package/dist/hono/latitude-telemetry.d.ts +0 -17
  318. package/dist/hono/latitude-telemetry.d.ts.map +0 -1
  319. package/dist/hono/latitude-telemetry.js +0 -52
  320. package/dist/hono/latitude-telemetry.js.map +0 -1
  321. package/dist/hono/latitude-telemetry.test.d.ts +0 -2
  322. package/dist/hono/latitude-telemetry.test.d.ts.map +0 -1
  323. package/dist/hono/latitude-telemetry.test.js +0 -18
  324. package/dist/hono/latitude-telemetry.test.js.map +0 -1
@@ -1,46 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { createBakerUiServer } from "./tag-input.js";
3
- /** Speaks MCP to the in-process server the way the CLI does, over a transport held in memory. */
4
- async function listTools() {
5
- const server = createBakerUiServer();
6
- const replies = new Map();
7
- const transport = {
8
- onmessage: undefined,
9
- onclose: undefined,
10
- onerror: undefined,
11
- start: () => Promise.resolve(),
12
- close: () => Promise.resolve(),
13
- send: (message) => {
14
- if (message.id !== undefined) {
15
- replies.get(message.id)?.(message);
16
- }
17
- return Promise.resolve();
18
- },
19
- };
20
- await server.instance.connect(transport);
21
- const request = (id, method, params) => new Promise((resolve) => {
22
- replies.set(id, resolve);
23
- transport.onmessage?.({ jsonrpc: "2.0", id, method, params });
24
- });
25
- await request(1, "initialize", {
26
- protocolVersion: "2025-06-18",
27
- capabilities: {},
28
- clientInfo: { name: "test", version: "1" },
29
- });
30
- const reply = await request(2, "tools/list", {});
31
- await server.instance.close();
32
- return reply.result.tools;
33
- }
34
- describe("baker_ui server", () => {
35
- // The bridge turns on tool search, which defers every MCP tool to its name. These
36
- // are the forms a turn blocks on, named directly by the scaffold's skills, so
37
- // they stay loaded instead of costing a `ToolSearch` round-trip first.
38
- it("keeps every form tool loaded when tool search defers MCP tools", async () => {
39
- const tools = await listTools();
40
- expect(tools.length).toBeGreaterThan(0);
41
- for (const tool of tools) {
42
- expect(tool._meta?.["anthropic/alwaysLoad"], tool.name).toBe(true);
43
- }
44
- });
45
- });
46
- //# sourceMappingURL=baker-ui-server.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baker-ui-server.test.js","sourceRoot":"","sources":["../../src/hono/baker-ui-server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIrD,iGAAiG;AACjG,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6C,CAAC;IACrE,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,SAA4D;QACvE,OAAO,EAAE,SAAqC;QAC9C,OAAO,EAAE,SAAiD;QAC1D,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC9B,IAAI,EAAE,CAAC,OAAuB,EAAE,EAAE;YAChC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;IACF,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAkB,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE,CAC9D,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzB,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACL,MAAM,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC7B,eAAe,EAAE,YAAY;QAC7B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC3C,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,OAAQ,KAAK,CAAC,MAA8E,CAAC,KAAK,CAAC;AACrG,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,kFAAkF;IAClF,8EAA8E;IAC9E,uEAAuE;IACvE,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { Settings } from "@anthropic-ai/claude-agent-sdk";
2
- type LatitudeHook = {
3
- readonly node: string;
4
- readonly entry: string;
5
- };
6
- type LatitudeHooks = NonNullable<Settings["hooks"]>;
7
- /**
8
- * `Stop` reports each turn without delaying it; `SessionEnd` is synchronous
9
- * because it is the one that still fires when the CLI exits right after a turn,
10
- * which is how the bridge closes a query. The hook's own offset lock keeps the
11
- * two from reporting a turn twice.
12
- */
13
- export declare function latitudeTelemetryFor(env: Record<string, string | undefined>, hook: LatitudeHook | undefined): LatitudeHooks | undefined;
14
- /** Where the installed hook lives; undefined turns tracing off rather than failing the turn. */
15
- export declare function installedLatitudeHook(): LatitudeHook | undefined;
16
- export {};
17
- //# sourceMappingURL=latitude-telemetry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latitude-telemetry.d.ts","sourceRoot":"","sources":["../../src/hono/latitude-telemetry.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,KAAK,YAAY,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,KAAK,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,IAAI,EAAE,YAAY,GAAG,SAAS,GAC7B,aAAa,GAAG,SAAS,CAS3B;AAED,gGAAgG;AAChG,wBAAgB,qBAAqB,IAAI,YAAY,GAAG,SAAS,CAOhE"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Latitude tracing of the agent, one trace per turn, for every company.
3
- *
4
- * Latitude's Claude Code hook reads the turn's transcript when the turn ends and
5
- * uploads it as OTLP spans: the prompt, every model call with its tokens, every
6
- * tool call with its result, subagents and auto-memory. The bridge registers it
7
- * through the per-query `settings` tier rather than the scaffold's
8
- * `.claude/settings.json`, so no client repo carries it and it is on exactly
9
- * when the backend handed the sandbox a key and project (`latitudeTelemetryEnvs`).
10
- *
11
- * Every company lands in one Latitude project; the hook stamps each trace with
12
- * the workspace's git repo (the company) and branch (the chat), which is how
13
- * they are told apart there. The session id is left to the hook: it hashes it
14
- * with a turn count that restarts for every Claude session, so pinning it to a
15
- * thread — which starts a fresh Claude session after a stall or an invalid
16
- * resume — would reuse the trace ids of that thread's first turns.
17
- *
18
- * The hook is a pinned dependency run with the bridge's own node, never
19
- * `npx …@latest`: that would fetch unpinned code into every sandbox on every
20
- * turn. Its optional `BUN_OPTIONS` preload (full system prompt and tool
21
- * definitions) is deliberately not wired — if that file is ever missing, the
22
- * CLI refuses to start, which would take every turn down with it.
23
- */
24
- import { createRequire } from "node:module";
25
- import { dirname, join } from "node:path";
26
- /**
27
- * `Stop` reports each turn without delaying it; `SessionEnd` is synchronous
28
- * because it is the one that still fires when the CLI exits right after a turn,
29
- * which is how the bridge closes a query. The hook's own offset lock keeps the
30
- * two from reporting a turn twice.
31
- */
32
- export function latitudeTelemetryFor(env, hook) {
33
- if (!env.LATITUDE_API_KEY || !env.LATITUDE_PROJECT || !hook) {
34
- return undefined;
35
- }
36
- const command = `"${hook.node}" "${hook.entry}"`;
37
- return {
38
- Stop: [{ hooks: [{ type: "command", command, async: true }] }],
39
- SessionEnd: [{ hooks: [{ type: "command", command, timeout: 10 }] }],
40
- };
41
- }
42
- /** Where the installed hook lives; undefined turns tracing off rather than failing the turn. */
43
- export function installedLatitudeHook() {
44
- try {
45
- const main = createRequire(import.meta.url).resolve("@latitude-data/claude-code-telemetry");
46
- return { node: process.execPath, entry: join(dirname(main), "entry.js") };
47
- }
48
- catch {
49
- return undefined;
50
- }
51
- }
52
- //# sourceMappingURL=latitude-telemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latitude-telemetry.js","sourceRoot":"","sources":["../../src/hono/latitude-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAO1C;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAuC,EACvC,IAA8B;IAE9B,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=latitude-telemetry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latitude-telemetry.test.d.ts","sourceRoot":"","sources":["../../src/hono/latitude-telemetry.test.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { latitudeTelemetryFor } from "./latitude-telemetry.js";
3
- const HOOK = { node: "/usr/bin/node", entry: "/app/node_modules/@latitude-data/claude-code-telemetry/dist/entry.js" };
4
- describe("latitudeTelemetryFor", () => {
5
- it("is off when the sandbox was not given a Latitude key and project", () => {
6
- expect(latitudeTelemetryFor({}, HOOK)).toBeUndefined();
7
- expect(latitudeTelemetryFor({ LATITUDE_API_KEY: "k" }, HOOK)).toBeUndefined();
8
- expect(latitudeTelemetryFor({ LATITUDE_PROJECT: "p" }, HOOK)).toBeUndefined();
9
- });
10
- it("runs the pinned hook at the end of every turn and at session end", () => {
11
- const command = `"/usr/bin/node" "${HOOK.entry}"`;
12
- expect(latitudeTelemetryFor({ LATITUDE_API_KEY: "k", LATITUDE_PROJECT: "p" }, HOOK)).toEqual({
13
- Stop: [{ hooks: [{ type: "command", command, async: true }] }],
14
- SessionEnd: [{ hooks: [{ type: "command", command, timeout: 10 }] }],
15
- });
16
- });
17
- });
18
- //# sourceMappingURL=latitude-telemetry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latitude-telemetry.test.js","sourceRoot":"","sources":["../../src/hono/latitude-telemetry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,sEAAsE,EAAE,CAAC;AAEtH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9E,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,KAAK,GAAG,CAAC;QAClD,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3F,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}