@bragi-gmbh/codebus 1.4.0 → 1.6.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 (130) hide show
  1. package/dist/ci-hooks/ci-hooks.js +126 -0
  2. package/dist/ci-hooks/ci-hooks.js.map +1 -0
  3. package/dist/commands/agent.js +137 -0
  4. package/dist/commands/agent.js.map +1 -0
  5. package/dist/commands/as.js +1 -1
  6. package/dist/commands/as.js.map +1 -1
  7. package/dist/commands/ask.js +1 -1
  8. package/dist/commands/ask.js.map +1 -1
  9. package/dist/commands/ci-findings.js +129 -0
  10. package/dist/commands/ci-findings.js.map +1 -0
  11. package/dist/commands/ci-reply.js +117 -0
  12. package/dist/commands/ci-reply.js.map +1 -0
  13. package/dist/commands/ci-steer-escalate.js +65 -0
  14. package/dist/commands/ci-steer-escalate.js.map +1 -0
  15. package/dist/commands/cli-mcp-correlation.js +131 -0
  16. package/dist/commands/cli-mcp-correlation.js.map +1 -0
  17. package/dist/commands/connector-attach-detach.js +542 -0
  18. package/dist/commands/connector-attach-detach.js.map +1 -0
  19. package/dist/commands/connector.js +513 -0
  20. package/dist/commands/connector.js.map +1 -0
  21. package/dist/commands/correlation.js +194 -0
  22. package/dist/commands/correlation.js.map +1 -0
  23. package/dist/commands/decision.js +63 -0
  24. package/dist/commands/decision.js.map +1 -1
  25. package/dist/commands/digest.js +14 -3
  26. package/dist/commands/digest.js.map +1 -1
  27. package/dist/commands/do.js +127 -0
  28. package/dist/commands/do.js.map +1 -0
  29. package/dist/commands/factory-attention.js +106 -0
  30. package/dist/commands/factory-attention.js.map +1 -0
  31. package/dist/commands/factory-context-read.js +171 -0
  32. package/dist/commands/factory-context-read.js.map +1 -0
  33. package/dist/commands/factory-interventions.js +102 -0
  34. package/dist/commands/factory-interventions.js.map +1 -0
  35. package/dist/commands/factory.js +187 -0
  36. package/dist/commands/factory.js.map +1 -1
  37. package/dist/commands/graph-pull.js +130 -0
  38. package/dist/commands/graph-pull.js.map +1 -0
  39. package/dist/commands/graph.js +5 -1
  40. package/dist/commands/graph.js.map +1 -1
  41. package/dist/commands/inbox.js +7 -7
  42. package/dist/commands/inbox.js.map +1 -1
  43. package/dist/commands/ingest.js +1 -1
  44. package/dist/commands/ingest.js.map +1 -1
  45. package/dist/commands/install.js +1160 -55
  46. package/dist/commands/install.js.map +1 -1
  47. package/dist/commands/integration-ledger.js +81 -0
  48. package/dist/commands/integration-ledger.js.map +1 -0
  49. package/dist/commands/knowledge.js +178 -0
  50. package/dist/commands/knowledge.js.map +1 -0
  51. package/dist/commands/links.js +1 -1
  52. package/dist/commands/links.js.map +1 -1
  53. package/dist/commands/morning.js +50 -1
  54. package/dist/commands/morning.js.map +1 -1
  55. package/dist/commands/plan-compiler.js +260 -0
  56. package/dist/commands/plan-compiler.js.map +1 -0
  57. package/dist/commands/plan-lint.js +275 -0
  58. package/dist/commands/plan-lint.js.map +1 -0
  59. package/dist/commands/plan-score.js +203 -0
  60. package/dist/commands/plan-score.js.map +1 -0
  61. package/dist/commands/plan.js +481 -15
  62. package/dist/commands/plan.js.map +1 -1
  63. package/dist/commands/product-validity.js +168 -0
  64. package/dist/commands/product-validity.js.map +1 -0
  65. package/dist/commands/question.js +1 -1
  66. package/dist/commands/question.js.map +1 -1
  67. package/dist/commands/read-policy.js +131 -0
  68. package/dist/commands/read-policy.js.map +1 -0
  69. package/dist/commands/read.js +1 -1
  70. package/dist/commands/read.js.map +1 -1
  71. package/dist/commands/repo.js +106 -8
  72. package/dist/commands/repo.js.map +1 -1
  73. package/dist/commands/repository-protection.js +209 -0
  74. package/dist/commands/repository-protection.js.map +1 -0
  75. package/dist/commands/resolve.js +2 -2
  76. package/dist/commands/resolve.js.map +1 -1
  77. package/dist/commands/self-healing.js +26 -0
  78. package/dist/commands/self-healing.js.map +1 -0
  79. package/dist/commands/send.js +1 -1
  80. package/dist/commands/send.js.map +1 -1
  81. package/dist/commands/serial-merge.js +303 -0
  82. package/dist/commands/serial-merge.js.map +1 -0
  83. package/dist/commands/session.js +1 -1
  84. package/dist/commands/session.js.map +1 -1
  85. package/dist/commands/task.js +92 -1
  86. package/dist/commands/task.js.map +1 -1
  87. package/dist/commands/verify.js +77 -0
  88. package/dist/commands/verify.js.map +1 -0
  89. package/dist/config/self-healing-analysis.json +158 -0
  90. package/dist/errors.js +18 -4
  91. package/dist/errors.js.map +1 -1
  92. package/dist/execution/client.js +53 -0
  93. package/dist/execution/client.js.map +1 -0
  94. package/dist/execution/local.js +24 -0
  95. package/dist/execution/local.js.map +1 -0
  96. package/dist/execution/ssh.js +38 -0
  97. package/dist/execution/ssh.js.map +1 -0
  98. package/dist/graph.js +78 -16
  99. package/dist/graph.js.map +1 -1
  100. package/dist/index.js +30 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/json-lite.js +248 -0
  103. package/dist/json-lite.js.map +1 -0
  104. package/dist/knowledge-drift.js +40 -0
  105. package/dist/knowledge-drift.js.map +1 -0
  106. package/dist/lint/parallelism.js +414 -0
  107. package/dist/lint/parallelism.js.map +1 -0
  108. package/dist/mail-latency.js +11 -1
  109. package/dist/mail-latency.js.map +1 -1
  110. package/dist/mcp-ci-findings.js +31 -0
  111. package/dist/mcp-ci-findings.js.map +1 -0
  112. package/dist/mcp-correlation.js +290 -0
  113. package/dist/mcp-correlation.js.map +1 -0
  114. package/dist/mcp-factory-context-read.js +81 -0
  115. package/dist/mcp-factory-context-read.js.map +1 -0
  116. package/dist/mcp-registry.js +128 -1
  117. package/dist/mcp-registry.js.map +1 -1
  118. package/dist/mcp.js +94 -5
  119. package/dist/mcp.js.map +1 -1
  120. package/dist/openrouter-reservation-guard.js +97 -0
  121. package/dist/openrouter-reservation-guard.js.map +1 -0
  122. package/dist/self-healing-analysis-loader.js +150 -0
  123. package/dist/self-healing-analysis-loader.js.map +1 -0
  124. package/dist/sender.js +11 -9
  125. package/dist/sender.js.map +1 -1
  126. package/dist/toml-lite.js +546 -0
  127. package/dist/toml-lite.js.map +1 -0
  128. package/dist/version-check.js +23 -7
  129. package/dist/version-check.js.map +1 -1
  130. package/package.json +5 -3
@@ -0,0 +1,126 @@
1
+ // T0 pre-commit guards (L0 layer): diff-size guard + lint + affected unit tests.
2
+ // Advisory-by-default at install time; hard stop only on diff-size violation
3
+ // without an authorised ci/large-diff label. Never blocks on bus outage,
4
+ // never exceeds CI_HOOK_TIMEOUT_MS (default 10s) — outage/timeout swallowed.
5
+ import { execFileSync } from "node:child_process";
6
+ export const DIFF_SIZE_THRESHOLD = 2500;
7
+ export const LARGE_DIFF_LABEL = "ci/large-diff";
8
+ export const CI_HOOK_TIMEOUT_MS = 10_000;
9
+ // Generated artifacts assembled by ci-assembler: no per-file guard.
10
+ // Artifact outputs: excluded from the added-line count.
11
+ export const DIFF_SIZE_EXCLUDED = [
12
+ /^ci\/proposed\/ci\.yml$/,
13
+ /^cli\/vitest\.config\.ts$/,
14
+ /^(coverage|dist|build|\.next|node_modules)\//,
15
+ /\.min\.js$/,
16
+ ];
17
+ export function isExcludedFromDiffGuard(path) {
18
+ return DIFF_SIZE_EXCLUDED.some((re) => re.test(path));
19
+ }
20
+ export function checkDiffSize(files, opts = {}) {
21
+ const counted = files.filter((f) => !isExcludedFromDiffGuard(f.path));
22
+ const totalChanged = counted.reduce((n, f) => n + f.added, 0);
23
+ // >32k changed lines degrades to sampling (coverage % only).
24
+ if (totalChanged > 32_000) {
25
+ return { ok: true, violating: [], sampled: true, totalChanged };
26
+ }
27
+ const violating = counted.filter((f) => f.added > DIFF_SIZE_THRESHOLD);
28
+ if (violating.length === 0)
29
+ return { ok: true, violating, sampled: false, totalChanged };
30
+ if (opts.hasLargeDiffLabel)
31
+ return { ok: true, violating: [], sampled: false, totalChanged };
32
+ return { ok: false, violating, sampled: false, totalChanged };
33
+ }
34
+ export function formatDiffSizeFinding(v) {
35
+ return v
36
+ .map((f) => `lint large-diff cli/src/ci-hooks/ci-hooks.ts:1 expected <=${DIFF_SIZE_THRESHOLD} added lines ` +
37
+ `actual ${f.added} in ${f.path} repro: git diff --numstat $(git merge-base HEAD origin/main) ` +
38
+ `next_action: stop (add ${LARGE_DIFF_LABEL} label via human/owner identity to authorise)`)
39
+ .join("\n");
40
+ }
41
+ // Runs the T0 guards with a wall-clock cap. Swallows every error (bus
42
+ // outage, lint/test failure outside dry-run reporting, timeout) — a hook
43
+ // must never block coding. Only the diff-size guard can fail closed
44
+ // (ok:false); everything else is advisory notes.
45
+ export function runCiHooks(opts = {}) {
46
+ const timeoutMs = opts.timeoutMs ?? CI_HOOK_TIMEOUT_MS;
47
+ const cwd = opts.cwd ?? process.cwd();
48
+ const started = Date.now();
49
+ const notes = [];
50
+ const elapsed = () => Date.now() - started;
51
+ const timedOut = () => elapsed() > timeoutMs;
52
+ const swallow = (fn, label) => {
53
+ if (!fn || timedOut())
54
+ return;
55
+ try {
56
+ fn(cwd);
57
+ notes.push(`${label}: ok`);
58
+ }
59
+ catch (e) {
60
+ // Advisory: swallowed, never blocks.
61
+ notes.push(`${label}: skipped (${e.message})`);
62
+ }
63
+ };
64
+ let diff = { ok: true, violating: [], sampled: false, totalChanged: 0 };
65
+ try {
66
+ const files = opts.diffFiles ?? readDiffNumstat(cwd);
67
+ diff = checkDiffSize(files, { hasLargeDiffLabel: opts.hasLargeDiffLabel });
68
+ if (!diff.ok)
69
+ notes.push(formatDiffSizeFinding(diff.violating));
70
+ else if (diff.sampled)
71
+ notes.push("large-diff-sampled: total >32000, degraded to sampling");
72
+ else
73
+ notes.push(`diff-size guard: ok (${diff.totalChanged} added)`);
74
+ }
75
+ catch (e) {
76
+ // Outage/unavailable diff info: swallowed.
77
+ notes.push(`diff-size guard: skipped (${e.message})`);
78
+ }
79
+ if (!opts.dryRun) {
80
+ swallow(opts.runLint, "lint");
81
+ swallow(opts.runTests, "affected unit tests");
82
+ }
83
+ else {
84
+ notes.push("dry-run: lint/tests not executed");
85
+ }
86
+ const elapsedMs = elapsed();
87
+ return {
88
+ ok: diff.ok,
89
+ dryRun: opts.dryRun ?? false,
90
+ elapsedMs,
91
+ timedOut: elapsedMs > timeoutMs,
92
+ diff,
93
+ notes,
94
+ };
95
+ }
96
+ // Best-effort numstat vs merge base. Throws on any git failure (caller swallows).
97
+ export function readDiffNumstat(cwd) {
98
+ const base = execFileSync("git", ["merge-base", "HEAD", "origin/main"], {
99
+ cwd,
100
+ encoding: "utf8",
101
+ timeout: 5000,
102
+ }).trim();
103
+ const out = execFileSync("git", ["diff", "--numstat", base], {
104
+ cwd,
105
+ encoding: "utf8",
106
+ timeout: 5000,
107
+ maxBuffer: 64 * 1024 * 1024,
108
+ });
109
+ return out
110
+ .split("\n")
111
+ .filter(Boolean)
112
+ .map((line) => {
113
+ const [added, , path] = line.split("\t");
114
+ return { path, added: Number(added) || 0 };
115
+ });
116
+ }
117
+ export function generateCiHooksPreCommitScript() {
118
+ return `#!/bin/bash
119
+ # CODEBUS-INSTALLED: T0 pre-commit guards (diff-size/lint/affected tests)
120
+ # Advisory: always exits 0 except on diff-size violation without ci/large-diff label.
121
+ # Time-capped at 10s; outages swallowed.
122
+ timeout 10 codebus install --ci-hooks 2>/dev/null || true
123
+ exit 0
124
+ `;
125
+ }
126
+ //# sourceMappingURL=ci-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-hooks.js","sourceRoot":"","sources":["../../src/ci-hooks/ci-hooks.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,oEAAoE;AACpE,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,2BAA2B;IAC3B,8CAA8C;IAC9C,YAAY;CACb,CAAC;AAcF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAqB,EACrB,OAAwC,EAAE;IAE1C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,6DAA6D;IAC7D,IAAI,YAAY,GAAG,MAAM,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,mBAAmB,CAAC,CAAC;IACvE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACzF,IAAI,IAAI,CAAC,iBAAiB;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC7F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,CAAiB;IACrD,OAAO,CAAC;SACL,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,6DAA6D,mBAAmB,eAAe;QAC/F,UAAU,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,gEAAgE;QAC9F,0BAA0B,gBAAgB,+CAA+C,CAC5F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAqBD,sEAAsE;AACtE,yEAAyE;AACzE,oEAAoE;AACpE,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,OAAuB,EAAE;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAE7C,MAAM,OAAO,GAAG,CAAC,EAA0B,EAAE,KAAc,EAAE,EAAE;QAC7D,IAAI,CAAC,EAAE,IAAI,QAAQ,EAAE;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qCAAqC;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,cAAe,CAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,IAAI,GAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACxF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3D,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;;YACvF,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,YAAY,SAAS,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2CAA2C;QAC3C,KAAK,CAAC,IAAI,CAAC,6BAA8B,CAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;IAC5B,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,SAAS;QACT,QAAQ,EAAE,SAAS,GAAG,SAAS;QAC/B,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;QACtE,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAC3D,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAC5B,CAAC,CAAC;IACH,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,AAAD,EAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO;;;;;;CAMR,CAAC;AACF,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { resolveConfig } from "../config.js";
2
+ import { makeCtx } from "../client.js";
3
+ import { render } from "../output.js";
4
+ import { CodebusError } from "../errors.js";
5
+ /** Shared core: call agent_directory(p_slug). Exported for reuse/tests. */
6
+ export async function fetchAgentDirectory(ctx, slug) {
7
+ const { data, error } = await ctx.supabase.rpc("agent_directory", { p_slug: slug ?? null });
8
+ if (error)
9
+ throw new CodebusError(error.message);
10
+ return (data ?? []);
11
+ }
12
+ /** Human-facing "who owns this slug": the agent's own person (it IS a
13
+ * human's per-surface login agent) if set, else the person who owns it as
14
+ * a service-principal role (checkin roles, 0042), else "—". */
15
+ export function personDisplay(row) {
16
+ return row.person_slug?.trim() || row.owner_slug?.trim() || "—";
17
+ }
18
+ /** "fleet" column for `agent list`: no / yes (enabled,pinned flags). */
19
+ export function fleetDisplay(row) {
20
+ if (!row.is_fleet)
21
+ return "no";
22
+ const flags = [row.fleet_enabled ? "enabled" : "disabled", row.fleet_pinned ? "pinned" : null]
23
+ .filter((f) => !!f)
24
+ .join(",");
25
+ return `yes (${flags})`;
26
+ }
27
+ /** "last activity" column: a current live_presence session wins (it is, by
28
+ * construction, never stale — live_presence's own 30-day window already
29
+ * excludes anything older); otherwise fall back to the fleet worker's last
30
+ * confirmed wake; otherwise "—". */
31
+ export function lastActivityDisplay(row) {
32
+ if (row.is_live) {
33
+ const where = [row.live_repo, row.live_branch].filter(Boolean).join(":");
34
+ return where ? `${where} @ ${row.live_since}` : String(row.live_since ?? "—");
35
+ }
36
+ if (row.fleet_last_wake_at)
37
+ return row.fleet_last_wake_at;
38
+ return "—";
39
+ }
40
+ /** Row shape for `agent list`'s human-mode table. */
41
+ export function shapeListRow(row) {
42
+ return {
43
+ slug: row.slug,
44
+ kind: row.kind,
45
+ function_role: row.function_role ?? "—",
46
+ fleet: fleetDisplay(row),
47
+ person: personDisplay(row),
48
+ last_activity: lastActivityDisplay(row),
49
+ revoked: row.revoked_at ? "yes" : "no",
50
+ };
51
+ }
52
+ /** Primary summary row for `agent status`'s human-mode output. */
53
+ export function shapeStatusSummary(row) {
54
+ return {
55
+ slug: row.slug,
56
+ display_name: row.display_name,
57
+ kind: row.kind,
58
+ function_role: row.function_role ?? "—",
59
+ capabilities: (row.capabilities ?? []).join(",") || "—",
60
+ person: personDisplay(row),
61
+ owner: row.owner_slug ?? "—",
62
+ created_at: row.created_at,
63
+ revoked_at: row.revoked_at ?? "—",
64
+ fleet: row.is_fleet ? "yes" : "no",
65
+ live: row.is_live ? "yes" : "no",
66
+ };
67
+ }
68
+ async function listAgents(o) {
69
+ const ctx = await makeCtx(resolveConfig(o));
70
+ let rows = await fetchAgentDirectory(ctx);
71
+ if (o.fleet)
72
+ rows = rows.filter((r) => r.is_fleet);
73
+ if (o.live)
74
+ rows = rows.filter((r) => r.is_live);
75
+ if (o.role)
76
+ rows = rows.filter((r) => r.function_role === o.role);
77
+ // --json emits the full raw directory rows (maximum fidelity for
78
+ // scripting); human mode applies the friendly display shaping above —
79
+ // "fleet: yes (enabled,pinned)" has no sensible raw-JSON equivalent, so
80
+ // the two modes deliberately diverge in shape here (unlike repo.ts's
81
+ // shapeRepoListRow, which has no such display-only formatting to reconcile).
82
+ if (o.json) {
83
+ console.log(JSON.stringify(rows, null, 2));
84
+ }
85
+ else {
86
+ console.log(render(rows.map(shapeListRow), { json: false }));
87
+ }
88
+ }
89
+ async function agentStatus(slug, o) {
90
+ const ctx = await makeCtx(resolveConfig(o));
91
+ const rows = await fetchAgentDirectory(ctx, slug);
92
+ const row = rows[0];
93
+ // Mirrors task.ts's `unknown owner: ${opts.owner}` pattern: the RPC itself
94
+ // never raises on an unresolved slug (no existence oracle across
95
+ // workspaces), so the CLI is what turns "zero rows" into a clear error.
96
+ if (!row)
97
+ throw new CodebusError(`unknown agent: ${slug} — list agents with 'codebus agent list', or check the slug with 'codebus agent status <slug>'.`);
98
+ if (o.json) {
99
+ console.log(JSON.stringify(row, null, 2));
100
+ return;
101
+ }
102
+ console.log(render([shapeStatusSummary(row)], { json: false }));
103
+ if (row.is_fleet) {
104
+ console.log("\nfleet:");
105
+ console.log(render([{
106
+ enabled: row.fleet_enabled,
107
+ pinned: row.fleet_pinned,
108
+ machine_type: row.fleet_machine_type,
109
+ allowed_machine_types: (row.fleet_allowed_machine_types ?? []).join(","),
110
+ max_task_hours: row.fleet_max_task_hours,
111
+ notes: row.fleet_notes ?? "—",
112
+ last_wake_at: row.fleet_last_wake_at ?? "—",
113
+ }], { json: false }));
114
+ }
115
+ if (row.is_live) {
116
+ console.log("\nlive:");
117
+ console.log(render([{
118
+ repo: row.live_repo ?? "—",
119
+ branch: row.live_branch ?? "—",
120
+ context_state: row.live_context_state ?? "—",
121
+ approx_usage: row.live_approx_usage ?? "—",
122
+ since: row.live_since,
123
+ age_seconds: row.live_age_seconds,
124
+ }], { json: false }));
125
+ }
126
+ }
127
+ export function registerAgent(program, g) {
128
+ const agent = program.command("agent").description("read-only agent/fleet identity + liveness directory");
129
+ g(agent.command("list"))
130
+ .option("--fleet", "only fleet-managed workers (fleet_workers rows)")
131
+ .option("--live", "only agents with a current live_presence session")
132
+ .option("--role <function_role>", "filter by function_role (planner|builder|reviewer|consultant|researcher|router|monitor)")
133
+ .action(listAgents);
134
+ g(agent.command("status").argument("<slug>", "agent slug"))
135
+ .action((slug, o) => agentStatus(slug, o));
136
+ }
137
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,7 @@ async function readSecret(prompt) {
100
100
  async function setRole(role, o) {
101
101
  const token = await readSecret(`token for ${role} (not echoed): `);
102
102
  if (!token)
103
- throw new CodebusError("no token provided");
103
+ throw new CodebusError("no token provided — bind a role token first with 'codebus as --set <role>'; see 'codebus as --help'.");
104
104
  const cfg = resolveConfig({ url: o.url, anonKey: o.anonKey, token });
105
105
  let authed;
106
106
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"as.js","sourceRoot":"","sources":["../../src/commands/as.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"as.js","sourceRoot":"","sources":["../../src/commands/as.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,qEAAqE;AAErE,OAAO,EAAiC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,EAAwB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,OAA0B,OAAO,CAAC,GAAG;IACjF,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC,aAAa,CAAC;IACzB,OAAO,GAAG,CAAC,aAAa,CAAC;IACzB,OAAO,GAAG,CAAC,cAAc,CAAC;IAC1B,IAAI,KAAK,CAAC,KAAK;QAAE,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;;QAC5C,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,yCAAyC;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE;YAC5B,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAClD,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC9B,CAAC;iBAAM,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC1C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,CAAqC;IACxE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,aAAa,IAAI,iBAAiB,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,sGAAsG,CAAC,CAAC;IAE3I,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,YAAY,CAAC,mBAAoB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CACpB,2BAA2B,MAAM,WAAW,IAAI,KAAK;YACrD,kDAAkD,MAAM,2BAA2B,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACjF,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,iBAAiB,MAAM,OAAO,SAAS,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,CAAqB;IACtC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;KAC3C,CAAC,CAAC,CAAC;IACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;AACxE,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,OAA2B;IACzD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,qDAAqD,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,mDAAmD;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;IACzE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,YAAY,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,CAAqB;IACzC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,KAAK,CAAC,IAAY,EAAE,IAAc;IACzC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,YAAY,CACpB,SAAS,IAAI,mBAAmB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACpF,iCAAiC,IAAI,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,sCAAsC,IAAI,uBAAuB,CAAC,CAAC;IAC5G,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,iFAAiF,IAAI,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,gEAAgE;IAErG,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;QAC7B,KAAK,EAAE,SAAS;QAChB,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,sBAAsB;QACtB,GAAG,EAAE,QAAQ;KACd,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;YACzC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAsD,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,CAA0B;IACrE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrB,WAAW,CAAC,0DAA0D,CAAC;SACvE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACrC,MAAM,CAAC,cAAc,EAAE,kDAAkD,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SAChD,MAAM,CAAC,eAAe,EAAE,+DAA+D,CAAC;SACxF,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;SACtE,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;SAC1D,MAAM,CAAC,YAAY,EAAE,kDAAkD,CAAC;SACxE,kBAAkB,EAAE,CAAG,6CAA6C;SACpE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,CAAM,EAAE,EAAE;QACjD,IAAI,CAAC,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAEvC,kEAAkE;QAClE,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,wEAAwE;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACpE,IAAI,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,IAAI,YAAY,CACpB,qBAAqB,OAAO,CAAC,GAAG,EAAE,KAAK;oBACvC,CAAC,KAAK,CAAC,MAAM;wBACX,CAAC,CAAC,8EAA8E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;wBACrG,CAAC,CAAC,uCAAuC,CAAC;oBAC5C,8CAA8C,CAC/C,CAAC;YACJ,CAAC;YACD,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;YACpB,qEAAqE;YACrE,iDAAiD;YACjD,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,OAAO,MAAM,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -21,7 +21,7 @@ export async function askGraph(question, options = {}) {
21
21
  citations: [],
22
22
  error: options.repo
23
23
  ? `No local graphify-out/graph.json found, and no remote graph reachable for repo '${options.repo}'.`
24
- : "No graphify-out/graph.json found. Run `graphify` or check the repo root.",
24
+ : "No graphify-out/graph.json found and no cached snapshot in ~/.codebus/graph. Run `codebus graph pull` to download the latest snapshot.",
25
25
  source: resolved.source,
26
26
  };
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * ci-findings — CLI command core for CI findings (ci_finding work-orders).
3
+ *
4
+ * Implements com.bragi.contract.ci-finding@1.0.0-proposed (pinned definition:
5
+ * contracts/ci-finding.v1.schema.json). Every check emits findings, not logs.
6
+ *
7
+ * Transport rule: this module is the single core. The MCP transport
8
+ * (../mcp-ci-findings.js) re-exports these functions so CLI and MCP return
9
+ * identical findings (parity positive fixture).
10
+ */
11
+ import { readFile } from "node:fs/promises";
12
+ export const CI_FINDING_KINDS = [
13
+ "assertion",
14
+ "compile",
15
+ "lint",
16
+ "migration",
17
+ "coverage-gap",
18
+ "test-quality",
19
+ "flake",
20
+ "infra",
21
+ "main-is-red",
22
+ ];
23
+ export const CI_FINDING_NEXT_ACTIONS = ["fix", "rerun", "rebase", "escalate", "stop"];
24
+ /** Validate one finding against the pinned ci-finding v1 shape. Returns error strings (empty = valid). */
25
+ export function validateFinding(f) {
26
+ const errors = [];
27
+ if (typeof f !== "object" || f === null)
28
+ return ["finding must be an object"];
29
+ const r = f;
30
+ const required = [
31
+ "check", "kind", "location", "expected", "actual", "repro",
32
+ "caused_by", "main_status", "history", "coverage", "artifacts", "next_action",
33
+ ];
34
+ for (const k of required) {
35
+ if (!(k in r))
36
+ errors.push(`missing required field: ${k}`);
37
+ }
38
+ if (typeof r.check !== "string" || r.check.length === 0)
39
+ errors.push("check must be a non-empty string");
40
+ if (typeof r.kind === "string" && !CI_FINDING_KINDS.includes(r.kind)) {
41
+ errors.push(`kind must be one of ${CI_FINDING_KINDS.join(",")}`);
42
+ }
43
+ if (typeof r.location === "string" && !/.+:[0-9]+/.test(r.location)) {
44
+ errors.push("location must match .+:[0-9]+");
45
+ }
46
+ if (typeof r.repro !== "string" || r.repro.length === 0)
47
+ errors.push("repro must be a non-empty string");
48
+ if (typeof r.next_action === "string" && !CI_FINDING_NEXT_ACTIONS.includes(r.next_action)) {
49
+ errors.push(`next_action must be one of ${CI_FINDING_NEXT_ACTIONS.join(",")}`);
50
+ }
51
+ const cb = r.caused_by;
52
+ if (cb !== undefined) {
53
+ if (!Array.isArray(cb.hunks) || cb.hunks.length === 0)
54
+ errors.push("caused_by.hunks must be a non-empty array");
55
+ if (typeof cb.blame !== "string" || cb.blame.length === 0)
56
+ errors.push("caused_by.blame must be a non-empty string");
57
+ }
58
+ const ms = r.main_status;
59
+ if (ms !== undefined && !["pass", "fail", "unknown"].includes(ms.status)) {
60
+ errors.push("main_status.status must be pass|fail|unknown");
61
+ }
62
+ const disallowed = Object.keys(r).filter((k) => !required.includes(k));
63
+ if (disallowed.length > 0)
64
+ errors.push(`additional properties not allowed: ${disallowed.join(",")}`);
65
+ return errors;
66
+ }
67
+ /** Parse a JSON payload (array of findings, or {findings:[...]}). Throws on invalid JSON. */
68
+ export function parseFindings(text) {
69
+ const parsed = JSON.parse(text);
70
+ if (Array.isArray(parsed))
71
+ return parsed;
72
+ if (typeof parsed === "object" && parsed !== null && Array.isArray(parsed.findings)) {
73
+ return parsed.findings;
74
+ }
75
+ throw new Error("findings payload must be a JSON array or {findings:[...]}");
76
+ }
77
+ /** Filter findings by kind and/or next_action. */
78
+ export function filterFindings(findings, opts) {
79
+ return findings.filter((f) => (opts.kind === undefined || f.kind === opts.kind) &&
80
+ (opts.nextAction === undefined || f.next_action === opts.nextAction));
81
+ }
82
+ /** Validate a list; returns {valid, invalid} split with per-item errors. */
83
+ export function splitValid(findings) {
84
+ const valid = [];
85
+ const invalid = [];
86
+ findings.forEach((f, index) => {
87
+ const errors = validateFinding(f);
88
+ if (errors.length === 0)
89
+ valid.push(f);
90
+ else
91
+ invalid.push({ index, errors });
92
+ });
93
+ return { valid, invalid };
94
+ }
95
+ /** Render findings as human-readable text (one block per finding). */
96
+ export function formatFindings(findings) {
97
+ if (findings.length === 0)
98
+ return "No CI findings.";
99
+ return findings
100
+ .map((f) => `[${f.kind}] ${f.check}\n location: ${f.location}\n expected: ${f.expected}\n actual: ${f.actual}\n repro: ${f.repro}\n next_action: ${f.next_action}`)
101
+ .join("\n");
102
+ }
103
+ /** Shared core: filter + validate + emit. Used by BOTH CLI and MCP transports. */
104
+ export function listFindings(findings, opts = {}) {
105
+ const filtered = filterFindings(findings, opts);
106
+ const { valid, invalid } = splitValid(filtered);
107
+ return { findings: valid, invalid };
108
+ }
109
+ /** Load findings from a JSON file on disk. */
110
+ export async function loadFindingsFile(path) {
111
+ const text = await readFile(path, "utf8");
112
+ return parseFindings(text);
113
+ }
114
+ /** CLI entry point: `codebus ci-findings [--file <path>] [--kind k] [--next-action a] [--json]`. */
115
+ export async function ciFindingsCmd(o) {
116
+ const findings = o.file ? await loadFindingsFile(o.file) : [];
117
+ const { findings: valid, invalid } = listFindings(findings, o);
118
+ if (invalid.length > 0) {
119
+ for (const inv of invalid) {
120
+ console.error(`invalid finding #${inv.index}: ${inv.errors.join("; ")}`);
121
+ }
122
+ }
123
+ if (o.json) {
124
+ console.log(JSON.stringify({ findings: valid, invalid: invalid.length }, null, 2));
125
+ return;
126
+ }
127
+ console.log(formatFindings(valid));
128
+ }
129
+ //# sourceMappingURL=ci-findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-findings.js","sourceRoot":"","sources":["../../src/commands/ci-findings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * ci-reply — CLI command: record the agent's reply closing a ci_finding work-order.
3
+ *
4
+ * Consumes the pinned contract com.bragi.contract.ci-decision@1.0.0-proposed
5
+ * (advisory receipts) and the ci_finding work-order directive produced by
6
+ * com.bragi.work.ci-a.ci-message-type. The reply closes the finding via the
7
+ * ci_outcome_record() RPC (supabase/migrations/*_ci_outcomes.sql): exactly one
8
+ * outcome row per ci_finding message; a second reply is refused. The outcome
9
+ * carries disposition + fix commit plus was_flaky (feeds the flake DB) and
10
+ * hint_helpful (feeds hint-accuracy evaluation).
11
+ *
12
+ * Input: reply fields via --file <path> or --reply <json>.
13
+ * Output: the outcome record printed as text or --json. Exits non-zero on
14
+ * invalid input. DB writes happen through the injected recordOutcome
15
+ * function so unit tests run without a database.
16
+ */
17
+ import { readFile } from "node:fs/promises";
18
+ export const CI_OUTCOME_DISPOSITIONS = [
19
+ "fixed",
20
+ "rerun-passed",
21
+ "rerun-failed",
22
+ "escalated",
23
+ "wont-fix",
24
+ ];
25
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
26
+ /** Validate a reply input against the ci_outcomes shape. Returns error strings (empty = valid). */
27
+ export function validateReply(r) {
28
+ const errors = [];
29
+ if (typeof r !== "object" || r === null)
30
+ return ["reply must be an object"];
31
+ const o = r;
32
+ if (typeof o.messageId !== "string" || !UUID_RE.test(o.messageId))
33
+ errors.push("messageId must be a uuid");
34
+ if (typeof o.disposition !== "string" || !CI_OUTCOME_DISPOSITIONS.includes(o.disposition))
35
+ errors.push(`disposition must be one of ${CI_OUTCOME_DISPOSITIONS.join(", ")}`);
36
+ if (o.fixCommitSha !== undefined && (typeof o.fixCommitSha !== "string" || o.fixCommitSha.length > 64))
37
+ errors.push("fixCommitSha must be a string of at most 64 chars");
38
+ if (o.note !== undefined && (typeof o.note !== "string" || o.note.length > 2000))
39
+ errors.push("note must be a string of at most 2000 chars");
40
+ if (o.wasFlaky !== undefined && typeof o.wasFlaky !== "boolean")
41
+ errors.push("wasFlaky must be a boolean");
42
+ if (o.hintHelpful !== undefined && o.hintHelpful !== null && typeof o.hintHelpful !== "boolean")
43
+ errors.push("hintHelpful must be a boolean or null");
44
+ return errors;
45
+ }
46
+ /** Resolve the reply payload from --file or --reply. Throws on missing/invalid input. */
47
+ export async function resolveReplyInput(o) {
48
+ let text;
49
+ if (o.reply !== undefined)
50
+ text = o.reply;
51
+ else if (o.file !== undefined)
52
+ text = await readFile(o.file, "utf8");
53
+ else
54
+ throw new Error("ci-reply requires --file <path> or --reply <json>");
55
+ let parsed;
56
+ try {
57
+ parsed = JSON.parse(text);
58
+ }
59
+ catch {
60
+ throw new Error("reply input must be valid JSON");
61
+ }
62
+ const reply = (typeof parsed === "object" && parsed !== null && "reply" in parsed
63
+ ? parsed.reply
64
+ : parsed);
65
+ const errors = validateReply(reply);
66
+ if (errors.length > 0)
67
+ throw new Error(`invalid reply: ${errors.join("; ")}`);
68
+ return reply;
69
+ }
70
+ /** Build the outcome record (pure; testable without I/O or DB). */
71
+ export function buildOutcome(reply, repliedBy) {
72
+ return {
73
+ messageId: reply.messageId,
74
+ disposition: reply.disposition,
75
+ fixCommitSha: reply.fixCommitSha ?? null,
76
+ note: reply.note ?? "",
77
+ wasFlaky: reply.wasFlaky ?? false,
78
+ hintHelpful: reply.hintHelpful ?? null,
79
+ repliedBy: repliedBy ?? null,
80
+ at: new Date().toISOString(),
81
+ };
82
+ }
83
+ /**
84
+ * Record the outcome. The default writer is a stub that returns the outcome
85
+ * unchanged (no DB in unit tests); wire the real ci_outcome_record() RPC call
86
+ * at the integration layer by passing recordOutcome.
87
+ */
88
+ export async function recordReply(reply, opts = {}) {
89
+ const errors = validateReply(reply);
90
+ if (errors.length > 0)
91
+ throw new Error(`invalid reply: ${errors.join("; ")}`);
92
+ const outcome = buildOutcome(reply, opts.repliedBy);
93
+ if (opts.recordOutcome)
94
+ return opts.recordOutcome(outcome);
95
+ return outcome;
96
+ }
97
+ /** CLI entry point: `codebus ci-reply --file <path> [--replied-by id] [--json]`. */
98
+ export async function ciReplyCmd(o) {
99
+ let reply;
100
+ try {
101
+ reply = await resolveReplyInput(o);
102
+ }
103
+ catch (err) {
104
+ console.error(err instanceof Error ? err.message : String(err));
105
+ process.exitCode = 1;
106
+ return;
107
+ }
108
+ const outcome = buildOutcome(reply, o.repliedBy);
109
+ if (o.json) {
110
+ console.log(JSON.stringify(outcome, null, 2));
111
+ return;
112
+ }
113
+ console.log(`Replied [${outcome.disposition}] ${outcome.messageId}` +
114
+ (outcome.fixCommitSha ? ` fix=${outcome.fixCommitSha}` : "") +
115
+ (outcome.wasFlaky ? " (flaky)" : ""));
116
+ }
117
+ //# sourceMappingURL=ci-reply.js.map