@koda-sl/baker-bridge 0.142.0-dev.fe5f5a0fa → 0.143.0-dev.d167daeeb

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 (50) hide show
  1. package/README.md +22 -7
  2. package/dist/hono/agent.d.ts.map +1 -1
  3. package/dist/hono/agent.js +3 -0
  4. package/dist/hono/agent.js.map +1 -1
  5. package/dist/hono/bridge-job.d.ts +16 -0
  6. package/dist/hono/bridge-job.d.ts.map +1 -1
  7. package/dist/hono/bridge-job.js +65 -13
  8. package/dist/hono/bridge-job.js.map +1 -1
  9. package/dist/hono/bridge-job.test.js +67 -33
  10. package/dist/hono/bridge-job.test.js.map +1 -1
  11. package/dist/hono/publish-handoff.d.ts +63 -0
  12. package/dist/hono/publish-handoff.d.ts.map +1 -0
  13. package/dist/hono/publish-handoff.js +261 -0
  14. package/dist/hono/publish-handoff.js.map +1 -0
  15. package/dist/hono/publish-handoff.test.d.ts +2 -0
  16. package/dist/hono/publish-handoff.test.d.ts.map +1 -0
  17. package/dist/hono/publish-handoff.test.js +91 -0
  18. package/dist/hono/publish-handoff.test.js.map +1 -0
  19. package/dist/hono/runtime-files.d.ts +1 -0
  20. package/dist/hono/runtime-files.d.ts.map +1 -1
  21. package/dist/hono/runtime-files.js +1 -0
  22. package/dist/hono/runtime-files.js.map +1 -1
  23. package/dist/hono/session-continuity.d.ts.map +1 -1
  24. package/dist/hono/session-continuity.js +5 -2
  25. package/dist/hono/session-continuity.js.map +1 -1
  26. package/dist/hono/turn-events.d.ts +1 -1
  27. package/dist/hono/turn-events.d.ts.map +1 -1
  28. package/dist/hono/turn-events.js.map +1 -1
  29. package/dist/hono/types.d.ts +2 -0
  30. package/dist/hono/types.d.ts.map +1 -1
  31. package/dist/review/evidence-block.d.ts.map +1 -1
  32. package/dist/review/evidence-block.js +1 -3
  33. package/dist/review/evidence-block.js.map +1 -1
  34. package/dist/review/evidence-block.test.js +1 -33
  35. package/dist/review/evidence-block.test.js.map +1 -1
  36. package/dist/review/evidence.d.ts +0 -4
  37. package/dist/review/evidence.d.ts.map +1 -1
  38. package/dist/review/evidence.js +5 -18
  39. package/dist/review/evidence.js.map +1 -1
  40. package/dist/review/transcripts.d.ts +6 -17
  41. package/dist/review/transcripts.d.ts.map +1 -1
  42. package/dist/review/transcripts.js +19 -100
  43. package/dist/review/transcripts.js.map +1 -1
  44. package/dist/review/transcripts.test.js +0 -37
  45. package/dist/review/transcripts.test.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/review/evidence.test.d.ts +0 -2
  48. package/dist/review/evidence.test.d.ts.map +0 -1
  49. package/dist/review/evidence.test.js +0 -92
  50. package/dist/review/evidence.test.js.map +0 -1
@@ -1,92 +0,0 @@
1
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
2
- import { tmpdir } from "node:os";
3
- import { join } from "node:path";
4
- import { afterAll, describe, expect, it, vi } from "vitest";
5
- import { projectSlug } from "./transcripts.js";
6
- const root = mkdtempSync(join(tmpdir(), "review-evidence-"));
7
- const bakerHome = join(root, "baker");
8
- vi.mock("../hono/runtime-files.ts", async () => {
9
- const actual = await vi.importActual("../hono/runtime-files.ts");
10
- return {
11
- ...actual,
12
- bridgeRuntimeFiles: {
13
- ...actual.bridgeRuntimeFiles,
14
- sessionFile: (threadId) => join(bakerHome, "sessions", `${threadId}.json`),
15
- turnEventsFile: () => join(bakerHome, "turn-events.jsonl"),
16
- },
17
- };
18
- });
19
- const { buildReviewDigest } = await import("./evidence.js");
20
- afterAll(() => {
21
- rmSync(root, { recursive: true, force: true });
22
- });
23
- function jsonl(lines) {
24
- return lines.map((line) => `${JSON.stringify(line)}\n`).join("");
25
- }
26
- function userLine(uuid, text) {
27
- return { type: "user", uuid, message: { role: "user", content: text } };
28
- }
29
- function callLine(uuid, id, command) {
30
- return {
31
- type: "assistant",
32
- uuid,
33
- message: { role: "assistant", content: [{ type: "tool_use", id, name: "Bash", input: { command } }] },
34
- };
35
- }
36
- function resultLine(uuid, id, content, isError = false) {
37
- return {
38
- type: "user",
39
- uuid,
40
- message: { role: "user", content: [{ type: "tool_result", tool_use_id: id, content, is_error: isError }] },
41
- };
42
- }
43
- describe("buildReviewDigest", () => {
44
- // The shape every chat has: each message forks the session (the fork copies the
45
- // conversation so far under the same line uuids), `/publish` runs in a session
46
- // the thread never adopts, and a subagent lives under the id it was spawned in.
47
- it("reads every session a thread ran under once, publish and earlier subagents included", async () => {
48
- const projectRoot = join(root, "repo");
49
- const projectsRoot = join(root, "projects");
50
- const dir = join(projectsRoot, projectSlug(projectRoot));
51
- mkdirSync(join(dir, "s-turn1", "subagents"), { recursive: true });
52
- const turn1 = [
53
- userLine("u1", "Build the landing"),
54
- callLine("a1", "b1", "pnpm build"),
55
- resultLine("r1", "b1", "built"),
56
- ];
57
- writeFileSync(join(dir, "s-turn1.jsonl"), jsonl(turn1));
58
- writeFileSync(join(dir, "s-turn1", "subagents", "agent-visual.jsonl"), jsonl([
59
- userLine("v0", "Check the hero at 390px"),
60
- callLine("v1", "vb1", "agent-browser help"),
61
- resultLine("v2", "vb1", "Blocked by guard-agent-browser: use the wrapper", true),
62
- ]));
63
- writeFileSync(join(dir, "s-publish.jsonl"), jsonl([
64
- userLine("p0", "/publish"),
65
- callLine("p1", "pb1", "pnpm verify"),
66
- resultLine("p2", "pb1", "verify failed", true),
67
- ]));
68
- writeFileSync(join(dir, "s-turn3.jsonl"), jsonl([...turn1, userLine("u3", "Make the hero blue"), callLine("a3", "b3", "pnpm build")]));
69
- mkdirSync(join(bakerHome, "sessions"), { recursive: true });
70
- writeFileSync(join(bakerHome, "sessions", "thread-1.json"), JSON.stringify({ version: 2, sessionId: "s-turn3", updatedAtMs: 3 }));
71
- writeFileSync(join(bakerHome, "turn-events.jsonl"), jsonl(["s-turn1", "s-publish", "s-turn3", "s-reaped"].map((sessionId, index) => ({
72
- threadId: "thread-1",
73
- turnId: `turn-${index}`,
74
- event: "session",
75
- detail: { sessionId },
76
- }))));
77
- const result = await buildReviewDigest(["thread-1"], { projectRoot, projectsRoot, dir: join(root, "digest") });
78
- expect(result.digest.totals.turns).toBe(3);
79
- expect(result.digest.toolCalls.map((call) => call.toolUseId).sort()).toEqual(["b1", "b3", "pb1", "vb1"]);
80
- expect(result.digest.guards.map((guard) => guard.message)).toEqual([
81
- "verify failed",
82
- expect.stringContaining("guard-agent-browser"),
83
- ]);
84
- expect(result.evidence.threads[0]?.subagentFiles).toEqual([
85
- join(dir, "s-turn1", "subagents", "agent-visual.jsonl"),
86
- ]);
87
- // A session the thread ran under whose transcript is gone is missing evidence, said out loud.
88
- expect(result.evidence.threads[0]?.sessionIdsWithoutTranscript).toEqual(["s-reaped"]);
89
- expect(result.evidence.transcriptsMissing).toBe(1);
90
- });
91
- });
92
- //# sourceMappingURL=evidence.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evidence.test.js","sourceRoot":"","sources":["../../src/review/evidence.test.ts"],"names":[],"mappings":"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"}