@exla/rudder 0.0.0-stage → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/LICENSE +100 -0
  2. package/README.md +733 -2
  3. package/assets/rudder.icns +0 -0
  4. package/assets/sounds/NOTICE.md +8 -0
  5. package/assets/sounds/ping.mp3 +0 -0
  6. package/dist/agent-attention.d.ts +5 -0
  7. package/dist/agent-attention.js +54 -0
  8. package/dist/agent-attention.js.map +1 -0
  9. package/dist/analytics.d.ts +36 -0
  10. package/dist/analytics.js +178 -0
  11. package/dist/analytics.js.map +1 -0
  12. package/dist/attach-session.d.ts +91 -0
  13. package/dist/attach-session.js +290 -0
  14. package/dist/attach-session.js.map +1 -0
  15. package/dist/auth.d.ts +36 -0
  16. package/dist/auth.js +392 -0
  17. package/dist/auth.js.map +1 -0
  18. package/dist/backends.d.ts +3 -0
  19. package/dist/backends.js +638 -0
  20. package/dist/backends.js.map +1 -0
  21. package/dist/board/board.css +1 -0
  22. package/dist/board/board.js +2 -0
  23. package/dist/board/daemon.d.ts +39 -0
  24. package/dist/board/daemon.js +1510 -0
  25. package/dist/board/daemon.js.map +1 -0
  26. package/dist/brain.d.ts +24 -0
  27. package/dist/brain.js +244 -0
  28. package/dist/brain.js.map +1 -0
  29. package/dist/bus.d.ts +9 -0
  30. package/dist/bus.js +23 -0
  31. package/dist/bus.js.map +1 -0
  32. package/dist/checkout-sync.d.ts +35 -0
  33. package/dist/checkout-sync.js +247 -0
  34. package/dist/checkout-sync.js.map +1 -0
  35. package/dist/cloud.d.ts +48 -0
  36. package/dist/cloud.js +4596 -0
  37. package/dist/cloud.js.map +1 -0
  38. package/dist/codex-binary.d.ts +12 -0
  39. package/dist/codex-binary.js +184 -0
  40. package/dist/codex-binary.js.map +1 -0
  41. package/dist/context-audit.d.ts +21 -0
  42. package/dist/context-audit.js +109 -0
  43. package/dist/context-audit.js.map +1 -0
  44. package/dist/daemon.d.ts +27 -0
  45. package/dist/daemon.js +203 -0
  46. package/dist/daemon.js.map +1 -0
  47. package/dist/effort.d.ts +9 -0
  48. package/dist/effort.js +72 -0
  49. package/dist/effort.js.map +1 -0
  50. package/dist/feedback.d.ts +46 -0
  51. package/dist/feedback.js +173 -0
  52. package/dist/feedback.js.map +1 -0
  53. package/dist/gc.d.ts +3 -0
  54. package/dist/gc.js +262 -0
  55. package/dist/gc.js.map +1 -0
  56. package/dist/git.d.ts +31 -0
  57. package/dist/git.js +455 -0
  58. package/dist/git.js.map +1 -0
  59. package/dist/goal.d.ts +33 -0
  60. package/dist/goal.js +95 -0
  61. package/dist/goal.js.map +1 -0
  62. package/dist/graph.d.ts +93 -0
  63. package/dist/graph.js +372 -0
  64. package/dist/graph.js.map +1 -0
  65. package/dist/handoff.d.ts +110 -0
  66. package/dist/handoff.js +565 -0
  67. package/dist/handoff.js.map +1 -0
  68. package/dist/improve/advisor.d.ts +10 -0
  69. package/dist/improve/advisor.js +115 -0
  70. package/dist/improve/advisor.js.map +1 -0
  71. package/dist/improve/collect.d.ts +49 -0
  72. package/dist/improve/collect.js +274 -0
  73. package/dist/improve/collect.js.map +1 -0
  74. package/dist/improve/gate.d.ts +17 -0
  75. package/dist/improve/gate.js +60 -0
  76. package/dist/improve/gate.js.map +1 -0
  77. package/dist/improve/index.d.ts +9 -0
  78. package/dist/improve/index.js +376 -0
  79. package/dist/improve/index.js.map +1 -0
  80. package/dist/improve/judge.d.ts +32 -0
  81. package/dist/improve/judge.js +114 -0
  82. package/dist/improve/judge.js.map +1 -0
  83. package/dist/improve/mine.d.ts +31 -0
  84. package/dist/improve/mine.js +192 -0
  85. package/dist/improve/mine.js.map +1 -0
  86. package/dist/improve/propose.d.ts +51 -0
  87. package/dist/improve/propose.js +150 -0
  88. package/dist/improve/propose.js.map +1 -0
  89. package/dist/improve/rank.d.ts +16 -0
  90. package/dist/improve/rank.js +49 -0
  91. package/dist/improve/rank.js.map +1 -0
  92. package/dist/improve/schedule.d.ts +1 -0
  93. package/dist/improve/schedule.js +95 -0
  94. package/dist/improve/schedule.js.map +1 -0
  95. package/dist/improve/ship.d.ts +25 -0
  96. package/dist/improve/ship.js +82 -0
  97. package/dist/improve/ship.js.map +1 -0
  98. package/dist/improve/state.d.ts +157 -0
  99. package/dist/improve/state.js +264 -0
  100. package/dist/improve/state.js.map +1 -0
  101. package/dist/index.d.ts +2 -0
  102. package/dist/index.js +88 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/jj-binary.d.ts +36 -0
  105. package/dist/jj-binary.js +143 -0
  106. package/dist/jj-binary.js.map +1 -0
  107. package/dist/jj.d.ts +163 -0
  108. package/dist/jj.js +926 -0
  109. package/dist/jj.js.map +1 -0
  110. package/dist/logger.d.ts +22 -0
  111. package/dist/logger.js +110 -0
  112. package/dist/logger.js.map +1 -0
  113. package/dist/main.d.ts +3 -0
  114. package/dist/main.js +1366 -0
  115. package/dist/main.js.map +1 -0
  116. package/dist/migration.d.ts +82 -0
  117. package/dist/migration.js +198 -0
  118. package/dist/migration.js.map +1 -0
  119. package/dist/models.d.ts +9 -0
  120. package/dist/models.js +623 -0
  121. package/dist/models.js.map +1 -0
  122. package/dist/move-home.d.ts +82 -0
  123. package/dist/move-home.js +472 -0
  124. package/dist/move-home.js.map +1 -0
  125. package/dist/native/darwin-arm64/rudder-native +0 -0
  126. package/dist/native/darwin-x64/rudder-native +0 -0
  127. package/dist/native/linux-x64/rudder-native +0 -0
  128. package/dist/native-agents.d.ts +8 -0
  129. package/dist/native-agents.js +178 -0
  130. package/dist/native-agents.js.map +1 -0
  131. package/dist/native-binary.d.ts +4 -0
  132. package/dist/native-binary.js +140 -0
  133. package/dist/native-binary.js.map +1 -0
  134. package/dist/paste-bridge.d.ts +36 -0
  135. package/dist/paste-bridge.js +279 -0
  136. package/dist/paste-bridge.js.map +1 -0
  137. package/dist/plan-mode.d.ts +2 -0
  138. package/dist/plan-mode.js +22 -0
  139. package/dist/plan-mode.js.map +1 -0
  140. package/dist/planner.d.ts +27 -0
  141. package/dist/planner.js +587 -0
  142. package/dist/planner.js.map +1 -0
  143. package/dist/predict.d.ts +67 -0
  144. package/dist/predict.js +369 -0
  145. package/dist/predict.js.map +1 -0
  146. package/dist/report.d.ts +74 -0
  147. package/dist/report.js +412 -0
  148. package/dist/report.js.map +1 -0
  149. package/dist/rudder-md.d.ts +33 -0
  150. package/dist/rudder-md.js +142 -0
  151. package/dist/rudder-md.js.map +1 -0
  152. package/dist/run-manager.d.ts +62 -0
  153. package/dist/run-manager.js +1400 -0
  154. package/dist/run-manager.js.map +1 -0
  155. package/dist/scheduler.d.ts +128 -0
  156. package/dist/scheduler.js +955 -0
  157. package/dist/scheduler.js.map +1 -0
  158. package/dist/state.d.ts +127 -0
  159. package/dist/state.js +704 -0
  160. package/dist/state.js.map +1 -0
  161. package/dist/surfaces.d.ts +91 -0
  162. package/dist/surfaces.js +460 -0
  163. package/dist/surfaces.js.map +1 -0
  164. package/dist/task-summary.d.ts +30 -0
  165. package/dist/task-summary.js +472 -0
  166. package/dist/task-summary.js.map +1 -0
  167. package/dist/types.d.ts +492 -0
  168. package/dist/types.js +2 -0
  169. package/dist/types.js.map +1 -0
  170. package/dist/usage.d.ts +198 -0
  171. package/dist/usage.js +830 -0
  172. package/dist/usage.js.map +1 -0
  173. package/dist/util.d.ts +73 -0
  174. package/dist/util.js +399 -0
  175. package/dist/util.js.map +1 -0
  176. package/dist/version-check.d.ts +16 -0
  177. package/dist/version-check.js +269 -0
  178. package/dist/version-check.js.map +1 -0
  179. package/package.json +68 -4
  180. package/scripts/copy-native.mjs +89 -0
  181. package/scripts/postinstall.mjs +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ export declare const DECISIONS_HEADER = "# Decisions\n\nShared, agent-authored log of cross-cutting decisions the fleet must honor. The conductor records plan/rebase/steer decisions here; workers record interface contracts + adjustments. Each entry is a `##` heading with **What / Why / By** so it scans. Re-read before each significant step; jj merges concurrent edits as first-class conflicts on fan-in.";
2
+ export declare const SHARED_CONTEXT_FILE = "RUDDER_SHARED.md";
3
+ /** Render ONE canonical DECISIONS.md entry: a `## title` heading, labeled body lines,
4
+ * and a `**By:** owner · when` footer. Shared shape for every writer (remember, the
5
+ * conductor, completion notes) so the log stays uniform and scannable. */
6
+ export declare function renderDecisionEntry(opts: {
7
+ title: string;
8
+ body: string[];
9
+ owner: string;
10
+ when?: string;
11
+ }): string;
12
+ export declare const PROPAGATION_RULES: string[];
13
+ export declare function sharedContextPath(repoRoot: string): string;
14
+ /**
15
+ * Surface B: ensure a TRACKED DECISIONS.md exists at the repo root (and is NOT
16
+ * gitignored, unlike RUDDER.md). Agents append cross-cutting decisions to it in
17
+ * their jj workspace; jj merges concurrent edits as first-class conflicts on
18
+ * fan-in. Idempotent: only writes the header when the file is absent. Returns
19
+ * the absolute path.
20
+ */
21
+ export declare function ensureDecisionsFile(repoRoot: string): Promise<string>;
22
+ export declare function appendSharedContext(repoRoot: string, text: string, source?: string): Promise<boolean>;
23
+ export declare function captureSharedContextFromInput(repoRoot: string, input: string): Promise<boolean>;
24
+ export declare function extractSharedContextSnippet(input: string): string | null;
25
+ export declare function redactSharedSecretValues(value: string): string;
26
+ export declare function syncSharedContextToWorkspaces(repoRoot: string, workspaces: Iterable<string>): Promise<void>;
27
+ /**
28
+ * Append an insight as a DECISIONS.md bullet. Used by `rudder remember` (the
29
+ * bd-remember equivalent) and any code path that records a decision. The bullet
30
+ * carries an "(owner: X, <iso>)" suffix so the board parser can attribute it.
31
+ */
32
+ export declare function appendDecision(repoRoot: string, insight: string, owner?: string): Promise<void>;
33
+ /** One piece of follow-up work a finishing agent recommends. `scope: "out"` marks
34
+ * work outside the agent's lane (recorded but not auto-injected by the brain). */
35
+ export type FollowupProposal = {
36
+ title: string;
37
+ prompt?: string;
38
+ deps?: string[];
39
+ why?: string;
40
+ scope?: "in" | "out";
41
+ };
42
+ /** A worker's structured end-of-task report: what it did, the interfaces it
43
+ * created/assumed, and follow-up work it recommends. Persisted to the completion
44
+ * sidecar and DECISIONS.md so the orchestrator and siblings can consume it. */
45
+ export type CompletionNote = {
46
+ node?: string;
47
+ summary?: string;
48
+ interfaces?: string;
49
+ followups?: FollowupProposal[];
50
+ delivery?: DeliveryEvidence;
51
+ };
52
+ export type DeliveryEvidence = {
53
+ required?: boolean;
54
+ kind?: "web" | "macos-app" | "release" | "custom" | string;
55
+ status?: "pending" | "deployed" | "verified" | "blocked" | "failed";
56
+ target?: string;
57
+ url?: string;
58
+ appPath?: string;
59
+ provider?: string;
60
+ revision?: string;
61
+ deploymentId?: string;
62
+ version?: string;
63
+ verifiedAt?: string;
64
+ checks?: string[];
65
+ };
66
+ /** Parse a `rudder done` argument into a CompletionNote. Accepts a bare JSON object, a
67
+ * fenced ```json block (models love to wrap output in fences), and falls back to a
68
+ * freeform `{ summary: raw }` for prose, arrays, or primitives — anything that is not a
69
+ * JSON OBJECT. Keeping arrays/primitives out of the note matters: the orchestrator reads
70
+ * `note.followups`, and a stray array cast would yield nothing AND lose the text. */
71
+ export declare function parseCompletionNoteArg(raw: string): CompletionNote;
72
+ /** Drop the structured completion note as a machine-readable JSON file the orchestrator
73
+ * reads straight off disk. This is the AUTHORITATIVE, terminal-independent channel: it
74
+ * never passes through the agent's interactive TUI, so a real Claude/Codex worker's
75
+ * report survives however that UI boxes/truncates/wraps the echoed block in the PTY.
76
+ * The launcher sets RUDDER_DONE_FILE to <workspace>/.rudder/done/<node>.json and the
77
+ * orchestrator reads that exact path on completion. Atomic (temp + rename) so the reader
78
+ * never sees a partial file. Best-effort: returns false on any error (DECISIONS.md
79
+ * still carries the human-readable note). */
80
+ export declare function writeCompletionNoteFile(doneFile: string, note: CompletionNote): Promise<boolean>;
81
+ /** Append a worker's completion note to DECISIONS.md as human-legible bullets (so
82
+ * siblings re-reading DECISIONS.md and the board both see it). No jj management;
83
+ * this is an append exactly like appendDecision. */
84
+ export declare function appendCompletionNote(repoRoot: string, note: CompletionNote, owner?: string): Promise<void>;
85
+ /**
86
+ * Render the live RUDDER.md at repoRoot from the current graph.json. For nodes
87
+ * that have a runId, the status is recomputed from the worker-owned run.json so
88
+ * the surface reflects the live RunStatus, not the last graph snapshot. Never
89
+ * throws on a missing run record; degrades to the graph status.
90
+ */
91
+ export declare function renderLiveRudderMd(repoRoot: string): Promise<void>;
@@ -0,0 +1,460 @@
1
+ import fsp from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { projectNodeStatus, readGraph, readyNodes } from "./graph.js";
4
+ import { mergeGeneratedRudderMd, withRudderMdLock } from "./rudder-md.js";
5
+ import { AGENT_WORKSPACES_DIR, LEGACY_AGENT_WORKSPACES_DIR, agentContextPath, loadRunRecord } from "./state.js";
6
+ import { ensureDir, nowIso, pathExists, runCommand, shortenHome } from "./util.js";
7
+ // ---------------------------------------------------------------------------
8
+ // Surface A (Phase 4): the live RUDDER.md. The daemon re-renders this on every
9
+ // graph/status change. It is a read-only projection of graph.json: agents never
10
+ // write it. A monotonic `freshness:` epoch-ms stamp lets an agent detect that a
11
+ // sibling moved while it was working. It stays git-excluded (like the launch
12
+ // snapshot), so it never lands in a commit. Surface B (DECISIONS.md) is Phase 5.
13
+ // ---------------------------------------------------------------------------
14
+ const STATUS_BADGE = {
15
+ planned: "○ planned",
16
+ ready: "◍ ready",
17
+ running: "● running",
18
+ review: "◆ review",
19
+ blocked: "▲ blocked",
20
+ merged: "✓ merged",
21
+ failed: "✗ failed",
22
+ };
23
+ // The DECISIONS.md header. DECISIONS.md is TRACKED (not gitignored), unlike
24
+ // RUDDER.md: it is agent-authored shared knowledge that jj merges as first-class
25
+ // conflicts on fan-in.
26
+ export const DECISIONS_HEADER = "# Decisions\n\nShared, agent-authored log of cross-cutting decisions the fleet must honor. The conductor records plan/rebase/steer decisions here; workers record interface contracts + adjustments. Each entry is a `##` heading with **What / Why / By** so it scans. Re-read before each significant step; jj merges concurrent edits as first-class conflicts on fan-in.";
27
+ export const SHARED_CONTEXT_FILE = "RUDDER_SHARED.md";
28
+ const SHARED_CONTEXT_HEADER = "# Rudder Shared Context\n\nLocal, gitignored context the user shared with Rudder. This may include API tokens, private URLs, environment values, account ids, or other details that must be available to every agent even after model compaction. Agents should read this file when present, use the values as needed, and avoid printing secret values back unless necessary.\n\n";
29
+ /** A short scannable title from free text: the first ~9 words, single line, capped. */
30
+ function decisionTitle(text, max = 9) {
31
+ const flat = text.replace(/\s+/g, " ").trim();
32
+ if (!flat) {
33
+ return "decision";
34
+ }
35
+ const words = flat.split(" ").slice(0, max).join(" ");
36
+ return words.length > 80 ? `${words.slice(0, 79)}…` : words;
37
+ }
38
+ /** Render ONE canonical DECISIONS.md entry: a `## title` heading, labeled body lines,
39
+ * and a `**By:** owner · when` footer. Shared shape for every writer (remember, the
40
+ * conductor, completion notes) so the log stays uniform and scannable. */
41
+ export function renderDecisionEntry(opts) {
42
+ const lines = [`## ${opts.title.replace(/\s+/g, " ").trim() || "decision"}`];
43
+ for (const line of opts.body) {
44
+ if (line.trim()) {
45
+ lines.push(line);
46
+ }
47
+ }
48
+ lines.push(`- **By:** ${opts.owner.trim() || "rudder"} · ${opts.when || nowIso()}`);
49
+ return `${lines.join("\n")}\n\n`;
50
+ }
51
+ /** Append a rendered entry to DECISIONS.md, prepending a newline when the file does not
52
+ * already end in one so a new `##` heading never fuses onto a previous non-terminated
53
+ * line (mirrors the Rust gitio.rs append_conductor_decision guard). */
54
+ async function appendDecisionsEntry(repoRoot, entry) {
55
+ const target = await ensureDecisionsFile(repoRoot);
56
+ let prefix = "";
57
+ try {
58
+ const existing = await fsp.readFile(target, "utf8");
59
+ if (existing.length > 0 && !existing.endsWith("\n")) {
60
+ prefix = "\n";
61
+ }
62
+ }
63
+ catch {
64
+ // Absent (just created by ensureDecisionsFile); no prefix needed.
65
+ }
66
+ await fsp.appendFile(target, `${prefix}${entry}`, "utf8").catch(() => undefined);
67
+ }
68
+ // The propagation contract. These rules live in the worker system-prompt
69
+ // (brain.renderContract working rules) and are mirrored into the RUDDER.md
70
+ // preamble so an agent reading only RUDDER.md still gets them. Kept here so the
71
+ // two surfaces never drift. No em dashes.
72
+ export const PROPAGATION_RULES = [
73
+ "Before each significant step, re-read RUDDER.md (live orchestrator status + the current plan/DAG), DECISIONS.md (shared decisions from sibling agents), and RUDDER_SHARED.md when present (gitignored user-shared tokens/env/private context); they change while you work.",
74
+ "RUDDER.md carries a freshness stamp. If it is newer than when you last read it, the plan or a sibling changed state - re-read all shared context before continuing.",
75
+ "If the plan or architecture has shifted in a way that affects your task (the user refined it, or a sibling recorded a conflicting decision), ADAPT your in-progress work to the new direction instead of continuing on the old plan, so the work does not stray; note the adjustment in DECISIONS.md.",
76
+ "Record any cross-cutting decision other agents must honor by appending a bullet to DECISIONS.md (decision, rationale, owning node id). Put local tokens, private URLs, env vars, and credentials in RUDDER_SHARED.md instead; never put secret values in DECISIONS.md or RUDDER.md. Never edit RUDDER.md; it is orchestrator-owned.",
77
+ "When the user asks to improve agent behavior, project instructions, or context quality, run `rudder context audit --json` first and use its findings as evidence before proposing or making context-file changes.",
78
+ ];
79
+ function decisionsPath(repoRoot) {
80
+ return path.join(repoRoot, "DECISIONS.md");
81
+ }
82
+ export function sharedContextPath(repoRoot) {
83
+ return path.join(repoRoot, SHARED_CONTEXT_FILE);
84
+ }
85
+ /**
86
+ * Surface B: ensure a TRACKED DECISIONS.md exists at the repo root (and is NOT
87
+ * gitignored, unlike RUDDER.md). Agents append cross-cutting decisions to it in
88
+ * their jj workspace; jj merges concurrent edits as first-class conflicts on
89
+ * fan-in. Idempotent: only writes the header when the file is absent. Returns
90
+ * the absolute path.
91
+ */
92
+ export async function ensureDecisionsFile(repoRoot) {
93
+ const target = decisionsPath(repoRoot);
94
+ if (await pathExists(target)) {
95
+ return target;
96
+ }
97
+ await ensureDir(path.dirname(target));
98
+ await fsp.writeFile(target, `${DECISIONS_HEADER}\n\n`, "utf8").catch(() => undefined);
99
+ return target;
100
+ }
101
+ export async function appendSharedContext(repoRoot, text, source = "cli") {
102
+ const normalized = text.trim();
103
+ if (!normalized) {
104
+ return false;
105
+ }
106
+ await ensureLine(path.join(repoRoot, ".gitignore"), SHARED_CONTEXT_FILE);
107
+ const target = sharedContextPath(repoRoot);
108
+ const existing = await fsp.readFile(target, "utf8").catch(() => "");
109
+ if (existing.includes(normalized)) {
110
+ return false;
111
+ }
112
+ let next = "";
113
+ if (existing.trim()) {
114
+ next = existing.endsWith("\n") ? existing : `${existing}\n`;
115
+ }
116
+ else {
117
+ next = SHARED_CONTEXT_HEADER;
118
+ }
119
+ next += `## ${nowIso()} · ${source.trim() || "cli"}\n`;
120
+ for (const line of normalized.split(/\r?\n/)) {
121
+ next += ` ${line}\n`;
122
+ }
123
+ next += "\n";
124
+ await ensureDir(path.dirname(target));
125
+ await fsp.writeFile(target, next, "utf8");
126
+ await fsp.chmod(target, 0o600).catch(() => undefined);
127
+ return true;
128
+ }
129
+ export async function captureSharedContextFromInput(repoRoot, input) {
130
+ const snippet = extractSharedContextSnippet(input);
131
+ if (!snippet) {
132
+ return false;
133
+ }
134
+ return appendSharedContext(repoRoot, snippet, "task input");
135
+ }
136
+ export function extractSharedContextSnippet(input) {
137
+ const lines = input
138
+ .split(/\r?\n/)
139
+ .map((line) => line.trim())
140
+ .filter((line) => line && looksLikeSharedSecretLine(line));
141
+ return lines.length ? lines.join("\n") : null;
142
+ }
143
+ export function redactSharedSecretValues(value) {
144
+ return value
145
+ .split(/\s+/)
146
+ .filter(Boolean)
147
+ .map(redactSecretToken)
148
+ .join(" ");
149
+ }
150
+ function redactSecretToken(raw) {
151
+ const trimmed = raw.replace(/^[`"'([{]+|[`"',;)\]}]+$/g, "");
152
+ const eq = trimmed.indexOf("=");
153
+ if (eq > 0) {
154
+ const key = trimmed.slice(0, eq);
155
+ const secret = trimmed.slice(eq + 1);
156
+ if (looksLikeSecretKey(key) && (looksLikeSecretValue(secret) || looksLikePlausibleSecretValue(secret))) {
157
+ return raw.replace(secret, "[redacted]");
158
+ }
159
+ }
160
+ if (looksLikeSecretValue(trimmed)) {
161
+ return raw.replace(trimmed, "[redacted]");
162
+ }
163
+ return raw;
164
+ }
165
+ function looksLikeSecretKey(key) {
166
+ return /token|api_key|apikey|secret|password/i.test(key);
167
+ }
168
+ function looksLikeSecretValue(value) {
169
+ const lower = value.toLowerCase();
170
+ const hasSecretPrefix = lower.includes("api_") ||
171
+ lower.startsWith("sk-") ||
172
+ lower.startsWith("xox") ||
173
+ lower.startsWith("ghp_") ||
174
+ lower.startsWith("gho_") ||
175
+ lower.startsWith("github_pat_");
176
+ const longMixed = value.length >= 24 &&
177
+ /[A-Za-z]/.test(value) &&
178
+ /[0-9_.-]/.test(value);
179
+ return hasSecretPrefix || longMixed;
180
+ }
181
+ function looksLikePlausibleSecretValue(value) {
182
+ return (value.length >= 10 &&
183
+ /[A-Za-z0-9]/.test(value) &&
184
+ /[0-9_.\-/]/.test(value));
185
+ }
186
+ function looksLikeSharedSecretLine(line) {
187
+ const lower = line.toLowerCase();
188
+ const hasKeyword = /api key|api token|access token|auth token|bearer token|bearer |client secret|client_secret|secret key|authorization:\s*bearer|password|_token|token=|token:|api_key|apikey|secret=|secret:|_secret/.test(lower);
189
+ if (!hasKeyword) {
190
+ return false;
191
+ }
192
+ const assignmentish = /=|:\s|\sis\s|\buse\b/.test(lower);
193
+ const plausibleValue = /[A-Za-z0-9][A-Za-z0-9._/-]{9,}/.test(line);
194
+ return assignmentish && plausibleValue;
195
+ }
196
+ export async function syncSharedContextToWorkspaces(repoRoot, workspaces) {
197
+ await ensureLine(path.join(repoRoot, ".gitignore"), SHARED_CONTEXT_FILE);
198
+ const source = sharedContextPath(repoRoot);
199
+ const content = await fsp.readFile(source).catch(() => null);
200
+ if (!content) {
201
+ return;
202
+ }
203
+ await fsp.chmod(source, 0o600).catch(() => undefined);
204
+ for (const workspace of new Set([repoRoot, ...workspaces])) {
205
+ if (!(await pathExists(workspace))) {
206
+ continue;
207
+ }
208
+ await ensureRudderExcluded(workspace);
209
+ const target = path.join(workspace, SHARED_CONTEXT_FILE);
210
+ if (path.resolve(target) === path.resolve(source)) {
211
+ continue;
212
+ }
213
+ await ensureDir(path.dirname(target));
214
+ await fsp.writeFile(target, content).catch(() => undefined);
215
+ await fsp.chmod(target, 0o600).catch(() => undefined);
216
+ }
217
+ }
218
+ /**
219
+ * Append an insight as a DECISIONS.md bullet. Used by `rudder remember` (the
220
+ * bd-remember equivalent) and any code path that records a decision. The bullet
221
+ * carries an "(owner: X, <iso>)" suffix so the board parser can attribute it.
222
+ */
223
+ export async function appendDecision(repoRoot, insight, owner = "cli") {
224
+ await ensureDecisionsFile(repoRoot);
225
+ const text = insight.replace(/\s+/g, " ").trim();
226
+ if (!text) {
227
+ return;
228
+ }
229
+ const entry = renderDecisionEntry({
230
+ title: decisionTitle(text),
231
+ body: [`- **What:** ${text}`],
232
+ owner,
233
+ });
234
+ await appendDecisionsEntry(repoRoot, entry);
235
+ }
236
+ /** Parse a `rudder done` argument into a CompletionNote. Accepts a bare JSON object, a
237
+ * fenced ```json block (models love to wrap output in fences), and falls back to a
238
+ * freeform `{ summary: raw }` for prose, arrays, or primitives — anything that is not a
239
+ * JSON OBJECT. Keeping arrays/primitives out of the note matters: the orchestrator reads
240
+ * `note.followups`, and a stray array cast would yield nothing AND lose the text. */
241
+ export function parseCompletionNoteArg(raw) {
242
+ const tryObject = (text) => {
243
+ try {
244
+ const parsed = JSON.parse(text);
245
+ // Only a plain object is a structured note; arrays/numbers/strings are not.
246
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
247
+ return parsed;
248
+ }
249
+ }
250
+ catch {
251
+ // not JSON
252
+ }
253
+ return undefined;
254
+ };
255
+ // Strip a leading/trailing markdown code fence, if present, and parse the inside.
256
+ const fenced = raw.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/);
257
+ return tryObject(raw) ?? (fenced ? tryObject(fenced[1]) : undefined) ?? { summary: raw };
258
+ }
259
+ /** Drop the structured completion note as a machine-readable JSON file the orchestrator
260
+ * reads straight off disk. This is the AUTHORITATIVE, terminal-independent channel: it
261
+ * never passes through the agent's interactive TUI, so a real Claude/Codex worker's
262
+ * report survives however that UI boxes/truncates/wraps the echoed block in the PTY.
263
+ * The launcher sets RUDDER_DONE_FILE to <workspace>/.rudder/done/<node>.json and the
264
+ * orchestrator reads that exact path on completion. Atomic (temp + rename) so the reader
265
+ * never sees a partial file. Best-effort: returns false on any error (DECISIONS.md
266
+ * still carries the human-readable note). */
267
+ export async function writeCompletionNoteFile(doneFile, note) {
268
+ try {
269
+ await fsp.mkdir(path.dirname(doneFile), { recursive: true });
270
+ const tmp = `${doneFile}.${process.pid}.tmp`;
271
+ await fsp.writeFile(tmp, JSON.stringify(note), "utf8");
272
+ await fsp.rename(tmp, doneFile);
273
+ return true;
274
+ }
275
+ catch {
276
+ return false;
277
+ }
278
+ }
279
+ /** Append a worker's completion note to DECISIONS.md as human-legible bullets (so
280
+ * siblings re-reading DECISIONS.md and the board both see it). No jj management;
281
+ * this is an append exactly like appendDecision. */
282
+ export async function appendCompletionNote(repoRoot, note, owner = "worker") {
283
+ await ensureDecisionsFile(repoRoot);
284
+ const id = (note.node || owner).trim() || "worker";
285
+ const summary = (note.summary || "").replace(/\s+/g, " ").trim();
286
+ const body = [`- **Did:** ${summary || "(no summary)"}`];
287
+ const interfaces = (note.interfaces || "").replace(/\s+/g, " ").trim();
288
+ if (interfaces) {
289
+ body.push(`- **Interfaces:** ${interfaces}`);
290
+ }
291
+ if (note.delivery) {
292
+ const delivery = note.delivery;
293
+ const target = (delivery.target || delivery.url || delivery.appPath || "not recorded")
294
+ .replace(/\s+/g, " ")
295
+ .trim();
296
+ const checks = (delivery.checks || []).filter(Boolean);
297
+ body.push(`- **Delivery:** ${delivery.status || "pending"}; ${delivery.kind || "custom"}; target=${target}; revision=${delivery.revision || "not recorded"}; verifiedAt=${delivery.verifiedAt || "not recorded"}; checks=${checks.length}`);
298
+ }
299
+ const followups = (note.followups || []).filter((f) => f && (f.title || f.prompt));
300
+ if (followups.length) {
301
+ body.push("- **Follow-ups:**");
302
+ for (const f of followups) {
303
+ const title = (f.title || f.prompt || "").replace(/\s+/g, " ").trim();
304
+ const deps = f.deps && f.deps.length ? ` [deps: ${f.deps.join(", ")}]` : "";
305
+ const scope = f.scope === "out" ? " [out of lane]" : "";
306
+ const why = f.why ? ` — ${f.why.replace(/\s+/g, " ").trim()}` : "";
307
+ body.push(` - ${title}${deps}${scope}${why}`);
308
+ }
309
+ }
310
+ const entry = renderDecisionEntry({
311
+ title: `${id}: ${decisionTitle(summary || "done")}`,
312
+ body,
313
+ owner: id,
314
+ });
315
+ await appendDecisionsEntry(repoRoot, entry);
316
+ }
317
+ // The freshness stamp folds in DECISIONS.md's mtime so a sibling appending a
318
+ // decision bumps RUDDER.md's freshness (and the board's memory.updated SSE),
319
+ // not just a node status change. Falls back to Date.now() when stat fails.
320
+ async function computeFreshness(repoRoot) {
321
+ let freshness = Date.now();
322
+ try {
323
+ const stat = await fsp.stat(decisionsPath(repoRoot));
324
+ freshness = Math.max(freshness, Math.round(stat.mtimeMs));
325
+ }
326
+ catch {
327
+ // DECISIONS.md may not exist yet; the wall clock is enough.
328
+ }
329
+ return freshness;
330
+ }
331
+ /**
332
+ * Render the live RUDDER.md at repoRoot from the current graph.json. For nodes
333
+ * that have a runId, the status is recomputed from the worker-owned run.json so
334
+ * the surface reflects the live RunStatus, not the last graph snapshot. Never
335
+ * throws on a missing run record; degrades to the graph status.
336
+ */
337
+ export async function renderLiveRudderMd(repoRoot) {
338
+ // Ensure the agent-authored knowledge surface exists so siblings have a place
339
+ // to append decisions, and so its mtime feeds the freshness stamp below.
340
+ await ensureDecisionsFile(repoRoot).catch(() => undefined);
341
+ const graph = await readGraph(repoRoot);
342
+ const nodes = Object.values(graph.nodes).sort((a, b) => a.createdAt.localeCompare(b.createdAt));
343
+ const statusByNode = new Map();
344
+ for (const node of nodes) {
345
+ if (node.runId) {
346
+ const run = await loadRunRecord(repoRoot, node.runId).catch(() => null);
347
+ statusByNode.set(node.id, projectNodeStatus(node, run ?? undefined));
348
+ }
349
+ else {
350
+ statusByNode.set(node.id, node.status);
351
+ }
352
+ }
353
+ const now = nowIso();
354
+ const freshness = await computeFreshness(repoRoot);
355
+ const lines = [
356
+ "# RUDDER - Orchestrated Run Status (read-only; re-read at the top of every significant step)",
357
+ "",
358
+ "This file is generated by Rudder. It is not user-authored repo documentation and is git-excluded.",
359
+ "",
360
+ `Updated: ${now} · freshness: ${freshness}`,
361
+ "",
362
+ "## Coordination rules",
363
+ ...PROPAGATION_RULES.map((rule) => `- ${rule}`),
364
+ "",
365
+ "## Nodes",
366
+ ];
367
+ if (nodes.length === 0) {
368
+ lines.push("- No nodes in the graph yet.");
369
+ }
370
+ else {
371
+ lines.push("| node | status | deps | workspace | task |");
372
+ lines.push("| --- | --- | --- | --- | --- |");
373
+ for (const node of nodes) {
374
+ const status = statusByNode.get(node.id) ?? node.status;
375
+ const deps = depLabels(graph, node.id);
376
+ const workspace = node.workspace?.path ? shortenHome(node.workspace.path) : "—";
377
+ const task = oneLine(node.title || node.prompt, 60);
378
+ lines.push(`| ${node.id} | ${STATUS_BADGE[status]} | ${deps} | ${workspace} | ${task} |`);
379
+ }
380
+ }
381
+ lines.push("", "## Ready work");
382
+ const ready = readyNodes(graph);
383
+ if (ready.length === 0) {
384
+ lines.push("- None (no node has all hard deps merged).");
385
+ }
386
+ else {
387
+ for (const node of ready) {
388
+ lines.push(`- ${node.id} (deps met) — ${oneLine(node.title || node.prompt, 72)}`);
389
+ }
390
+ }
391
+ lines.push("", "## Shared decisions", "Shared, cross-cutting decisions live in DECISIONS.md (agent-authored, jj-tracked). Gitignored user-shared tokens/env/private context lives in RUDDER_SHARED.md when present. Never edit RUDDER.md.", "");
392
+ await writeLiveRudderMd(repoRoot, graph, `${lines.join("\n")}\n`);
393
+ }
394
+ function depLabels(graph, id) {
395
+ const labels = [];
396
+ for (const edge of Object.values(graph.edges)) {
397
+ if (edge.to === id) {
398
+ labels.push(edge.type === "hard" ? edge.from : `${edge.from}~`);
399
+ }
400
+ }
401
+ return labels.length ? labels.join(", ") : "—";
402
+ }
403
+ function oneLine(value, max) {
404
+ const flat = redactSharedSecretValues(value).replace(/\s+/g, " ").replace(/\|/g, "/").trim();
405
+ return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
406
+ }
407
+ // Write RUDDER.md to the repo root and every node workspace, keeping each
408
+ // git-excluded so the projection never lands in a commit. Mirrors the launch
409
+ // snapshot's exclusion handling (run-manager.writeRudderContextFiles).
410
+ async function writeLiveRudderMd(repoRoot, graph, content) {
411
+ await ensureLine(path.join(repoRoot, ".gitignore"), "RUDDER.md");
412
+ await ensureLine(path.join(repoRoot, ".gitignore"), SHARED_CONTEXT_FILE);
413
+ // Workspaces live inside the project; ignore them so worker checkouts are not untracked.
414
+ await ensureLine(path.join(repoRoot, ".gitignore"), `${AGENT_WORKSPACES_DIR}/`);
415
+ await ensureLine(path.join(repoRoot, ".gitignore"), `${LEGACY_AGENT_WORKSPACES_DIR}/`);
416
+ const workspaces = new Set([repoRoot]);
417
+ for (const node of Object.values(graph.nodes)) {
418
+ if (node.workspace?.path) {
419
+ workspaces.add(node.workspace.path);
420
+ }
421
+ }
422
+ // RUDDER.md has concurrent writer processes (Rust TUI, CLI invocations like
423
+ // `rudder done`/`rudder merge`); the lock keeps this read-modify-write from
424
+ // dropping their output.
425
+ await withRudderMdLock(repoRoot, async () => {
426
+ for (const workspace of workspaces) {
427
+ await ensureRudderExcluded(workspace);
428
+ await ensureDir(path.dirname(agentContextPath(workspace)));
429
+ const filePath = agentContextPath(workspace);
430
+ const existing = await fsp.readFile(filePath, "utf8").catch(() => "");
431
+ await fsp
432
+ .writeFile(filePath, mergeGeneratedRudderMd(existing, content), "utf8")
433
+ .catch(() => undefined);
434
+ }
435
+ });
436
+ await syncSharedContextToWorkspaces(repoRoot, workspaces);
437
+ }
438
+ async function ensureRudderExcluded(workspace) {
439
+ const result = await runCommand("git", ["rev-parse", "--git-path", "info/exclude"], {
440
+ cwd: workspace,
441
+ allowFailure: true,
442
+ }).catch(() => null);
443
+ const excludePath = result?.stdout.trim();
444
+ if (!excludePath) {
445
+ return;
446
+ }
447
+ await ensureLine(path.resolve(workspace, excludePath), "RUDDER.md");
448
+ await ensureLine(path.resolve(workspace, excludePath), SHARED_CONTEXT_FILE);
449
+ }
450
+ async function ensureLine(filePath, line) {
451
+ const existing = await fsp.readFile(filePath, "utf8").catch(() => "");
452
+ const lines = existing.split(/\r?\n/).map((item) => item.trim());
453
+ if (lines.includes(line)) {
454
+ return;
455
+ }
456
+ const prefix = existing && !existing.endsWith("\n") ? "\n" : "";
457
+ await ensureDir(path.dirname(filePath));
458
+ await fsp.appendFile(filePath, `${prefix}${line}\n`, "utf8").catch(() => undefined);
459
+ }
460
+ //# sourceMappingURL=surfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../src/surfaces.ts"],"names":[],"mappings":"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"}