@bragi-gmbh/codebus 1.2.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.
- package/bin/codebus.js +2 -0
- package/dist/binding-guard.js +97 -0
- package/dist/binding-guard.js.map +1 -0
- package/dist/client.js +94 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/ack.js +47 -0
- package/dist/commands/ack.js.map +1 -0
- package/dist/commands/archive.js +21 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/as.js +299 -0
- package/dist/commands/as.js.map +1 -0
- package/dist/commands/ask.js +189 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/auth.js +33 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/checkin.js +235 -0
- package/dist/commands/checkin.js.map +1 -0
- package/dist/commands/decision.js +52 -0
- package/dist/commands/decision.js.map +1 -0
- package/dist/commands/digest.js +117 -0
- package/dist/commands/digest.js.map +1 -0
- package/dist/commands/doctor.js +106 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/factory.js +191 -0
- package/dist/commands/factory.js.map +1 -0
- package/dist/commands/github-login.js +205 -0
- package/dist/commands/github-login.js.map +1 -0
- package/dist/commands/graph.js +88 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/health.js +34 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/inbox.js +83 -0
- package/dist/commands/inbox.js.map +1 -0
- package/dist/commands/ingest.js +553 -0
- package/dist/commands/ingest.js.map +1 -0
- package/dist/commands/init.js +97 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.js +520 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/invite.js +152 -0
- package/dist/commands/invite.js.map +1 -0
- package/dist/commands/jira.js +237 -0
- package/dist/commands/jira.js.map +1 -0
- package/dist/commands/join.js +96 -0
- package/dist/commands/join.js.map +1 -0
- package/dist/commands/links.js +66 -0
- package/dist/commands/links.js.map +1 -0
- package/dist/commands/login.js +84 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/morning.js +121 -0
- package/dist/commands/morning.js.map +1 -0
- package/dist/commands/next.js +66 -0
- package/dist/commands/next.js.map +1 -0
- package/dist/commands/onboarding.js +109 -0
- package/dist/commands/onboarding.js.map +1 -0
- package/dist/commands/pack.js +276 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/plan-gh.js +425 -0
- package/dist/commands/plan-gh.js.map +1 -0
- package/dist/commands/plan.js +465 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/pr.js +88 -0
- package/dist/commands/pr.js.map +1 -0
- package/dist/commands/question.js +142 -0
- package/dist/commands/question.js.map +1 -0
- package/dist/commands/read.js +84 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/refs.js +357 -0
- package/dist/commands/refs.js.map +1 -0
- package/dist/commands/reply.js +38 -0
- package/dist/commands/reply.js.map +1 -0
- package/dist/commands/repo.js +1198 -0
- package/dist/commands/repo.js.map +1 -0
- package/dist/commands/report.js +41 -0
- package/dist/commands/report.js.map +1 -0
- package/dist/commands/resolve-refs.js +21 -0
- package/dist/commands/resolve-refs.js.map +1 -0
- package/dist/commands/resolve.js +93 -0
- package/dist/commands/resolve.js.map +1 -0
- package/dist/commands/send.js +168 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/commands/sent.js +22 -0
- package/dist/commands/sent.js.map +1 -0
- package/dist/commands/session.js +426 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/statusline.js +43 -0
- package/dist/commands/statusline.js.map +1 -0
- package/dist/commands/task.js +140 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/commands/tick.js +233 -0
- package/dist/commands/tick.js.map +1 -0
- package/dist/commands/upgrade.js +76 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/watch.js +169 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/whoami.js +27 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.js +103 -0
- package/dist/config.js.map +1 -0
- package/dist/directives.js +102 -0
- package/dist/directives.js.map +1 -0
- package/dist/errors.js +110 -0
- package/dist/errors.js.map +1 -0
- package/dist/git-hooks.js +116 -0
- package/dist/git-hooks.js.map +1 -0
- package/dist/graph-bootstrap.js +95 -0
- package/dist/graph-bootstrap.js.map +1 -0
- package/dist/graph-remote.js +889 -0
- package/dist/graph-remote.js.map +1 -0
- package/dist/graph.js +335 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.js +154 -0
- package/dist/index.js.map +1 -0
- package/dist/kit/graph-publish.mjs +400 -0
- package/dist/mail-latency.js +120 -0
- package/dist/mail-latency.js.map +1 -0
- package/dist/mcp-registry.js +859 -0
- package/dist/mcp-registry.js.map +1 -0
- package/dist/mcp.js +193 -0
- package/dist/mcp.js.map +1 -0
- package/dist/output.js +12 -0
- package/dist/output.js.map +1 -0
- package/dist/positioning.js +21 -0
- package/dist/positioning.js.map +1 -0
- package/dist/rolestore.js +89 -0
- package/dist/rolestore.js.map +1 -0
- package/dist/session.js +49 -0
- package/dist/session.js.map +1 -0
- package/dist/sessionstore.js +736 -0
- package/dist/sessionstore.js.map +1 -0
- package/dist/version-check.js +97 -0
- package/dist/version-check.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-remote.js","sourceRoot":"","sources":["../src/graph-remote.ts"],"names":[],"mappings":"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"}
|
package/dist/graph.js
ADDED
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
/**
|
|
5
|
+
* Get the path to the last-good snapshot backup (stored in .codebus/).
|
|
6
|
+
*/
|
|
7
|
+
function getLastGoodSnapshotPath() {
|
|
8
|
+
const codebusCacheDir = join(homedir(), ".codebus");
|
|
9
|
+
return join(codebusCacheDir, "last-good-graph.json");
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Save a snapshot as the last-good backup.
|
|
13
|
+
* Creates ~/.codebus/ if needed.
|
|
14
|
+
*/
|
|
15
|
+
export function saveLastGoodSnapshot(snapshot) {
|
|
16
|
+
try {
|
|
17
|
+
const backupPath = getLastGoodSnapshotPath();
|
|
18
|
+
const backupDir = join(homedir(), ".codebus");
|
|
19
|
+
mkdirSync(backupDir, { recursive: true });
|
|
20
|
+
writeFileSync(backupPath, JSON.stringify(snapshot, null, 2), "utf-8");
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// Silent fail: backup failure should not break anything
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Load the last-good snapshot backup from ~/.codebus/last-good-graph.json.
|
|
28
|
+
* Returns null if not found or unreadable.
|
|
29
|
+
*
|
|
30
|
+
* Exported (A6) so graph-remote.ts's resolveGraphSource can reach the same
|
|
31
|
+
* final fallback tier the local-only loadGraphSnapshot always ended at,
|
|
32
|
+
* without graph-remote.ts having to re-implement it or import loadGraphSnapshot
|
|
33
|
+
* itself (graph.ts stays the single owner of this file's on-disk format).
|
|
34
|
+
*/
|
|
35
|
+
export function loadLastGoodSnapshot() {
|
|
36
|
+
try {
|
|
37
|
+
const backupPath = getLastGoodSnapshotPath();
|
|
38
|
+
if (!existsSync(backupPath)) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const content = readFileSync(backupPath, "utf-8");
|
|
42
|
+
return JSON.parse(content);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Load ONLY the local graphify-out/graph.json snapshot (walk-up, same as
|
|
50
|
+
* loadGraphSnapshot always did) — WITHOUT the last-good fallback. A6
|
|
51
|
+
* (resolveGraphSource) calls this directly so it can tell "no local snapshot
|
|
52
|
+
* at all" apart from "local snapshot present" before deciding whether an
|
|
53
|
+
* explicit --repo should route to remote instead. Side effect preserved:
|
|
54
|
+
* a successfully-parsed snapshot is still saved as last-good, exactly as
|
|
55
|
+
* before.
|
|
56
|
+
* Returns null if no graphify-out/graph.json is found on the walk-up, or if
|
|
57
|
+
* the one found is unreadable/invalid — never falls back to last-good itself.
|
|
58
|
+
*/
|
|
59
|
+
export function loadLocalSnapshot(repoRoot) {
|
|
60
|
+
let searchPath = repoRoot || process.cwd();
|
|
61
|
+
const maxDepth = 5; // Prevent infinite loops
|
|
62
|
+
for (let i = 0; i < maxDepth; i++) {
|
|
63
|
+
const graphPath = join(searchPath, "graphify-out", "graph.json");
|
|
64
|
+
if (existsSync(graphPath)) {
|
|
65
|
+
try {
|
|
66
|
+
const content = readFileSync(graphPath, "utf-8");
|
|
67
|
+
const snapshot = JSON.parse(content);
|
|
68
|
+
// Valid snapshot loaded; save it as last-good for future fallback
|
|
69
|
+
saveLastGoodSnapshot(snapshot);
|
|
70
|
+
return snapshot;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Current snapshot unreadable or invalid; stop here — the caller
|
|
74
|
+
// (loadGraphSnapshot below) decides whether to fall back further.
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const parent = join(searchPath, "..");
|
|
79
|
+
if (parent === searchPath) {
|
|
80
|
+
// Reached filesystem root
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
searchPath = parent;
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Load the graphify-out/graph.json snapshot.
|
|
89
|
+
* Walks up the directory tree looking for graphify-out/ (handles being in cli/ subdirectory).
|
|
90
|
+
* Falls back to last-good snapshot (~/.codebus/last-good-graph.json) if the current snapshot
|
|
91
|
+
* cannot be loaded (e.g., failed build).
|
|
92
|
+
* Returns null if neither exists.
|
|
93
|
+
*
|
|
94
|
+
* A6: reimplemented as loadLocalSnapshot() ?? loadLastGoodSnapshot() — bit-identical
|
|
95
|
+
* to the previous inline implementation for every existing caller (ask.ts's own
|
|
96
|
+
* direct use was replaced by resolveGraphSource, but graph-bootstrap.ts, commands/
|
|
97
|
+
* graph.ts, commands/ingest.ts, commands/pack.ts, and mcp.ts's back-compat path all
|
|
98
|
+
* still call this exact function with this exact behavior).
|
|
99
|
+
*/
|
|
100
|
+
export function loadGraphSnapshot(repoRoot) {
|
|
101
|
+
return loadLocalSnapshot(repoRoot) ?? loadLastGoodSnapshot();
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Check if we're currently using a fallback (last-good) snapshot.
|
|
105
|
+
* This is true if the current graphify-out/graph.json is invalid but a backup exists.
|
|
106
|
+
*/
|
|
107
|
+
export function isUsingFallbackSnapshot(repoRoot) {
|
|
108
|
+
let searchPath = repoRoot || process.cwd();
|
|
109
|
+
const maxDepth = 5;
|
|
110
|
+
for (let i = 0; i < maxDepth; i++) {
|
|
111
|
+
const graphPath = join(searchPath, "graphify-out", "graph.json");
|
|
112
|
+
if (existsSync(graphPath)) {
|
|
113
|
+
// Current path exists; try to parse it
|
|
114
|
+
try {
|
|
115
|
+
const content = readFileSync(graphPath, "utf-8");
|
|
116
|
+
JSON.parse(content);
|
|
117
|
+
// Valid; not using fallback
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
// Invalid; check if fallback exists
|
|
122
|
+
return loadLastGoodSnapshot() !== null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const parent = join(searchPath, "..");
|
|
126
|
+
if (parent === searchPath)
|
|
127
|
+
break;
|
|
128
|
+
searchPath = parent;
|
|
129
|
+
}
|
|
130
|
+
// No current path; check if fallback exists
|
|
131
|
+
return loadLastGoodSnapshot() !== null;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Get the built commit from the snapshot.
|
|
135
|
+
*/
|
|
136
|
+
export function getGraphBuiltCommit(snapshot) {
|
|
137
|
+
return snapshot.built_at_commit;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get all edges (hyperedges) from the snapshot.
|
|
141
|
+
*/
|
|
142
|
+
export function getGraphEdges(snapshot) {
|
|
143
|
+
return snapshot.hyperedges || snapshot.graph?.hyperedges || [];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Return true for prose/doc nodes: file_type !== "code" or source_file ends in a doc extension.
|
|
147
|
+
* These nodes are first-class in ranking (not filtered out).
|
|
148
|
+
*/
|
|
149
|
+
export function isProseNode(node) {
|
|
150
|
+
const ft = node.file_type;
|
|
151
|
+
if (ft !== undefined && ft !== "code")
|
|
152
|
+
return true;
|
|
153
|
+
const sf = (node.source_file || "").toLowerCase();
|
|
154
|
+
return (sf.endsWith(".md") ||
|
|
155
|
+
sf.endsWith(".rst") ||
|
|
156
|
+
sf.endsWith(".txt") ||
|
|
157
|
+
sf.endsWith(".adoc") ||
|
|
158
|
+
sf.endsWith(".adr"));
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Rank nodes and edges by relevance to query terms.
|
|
162
|
+
* Uses edge traversal: seed-match nodes by query, expand to edge-connected neighbors, rank by connectivity.
|
|
163
|
+
* Prose nodes (file_type !== "code" or .md/.rst etc.) receive an additional ranking boost so
|
|
164
|
+
* doc-grounded citations surface alongside code citations.
|
|
165
|
+
* Returns { nodes, edges, matchCount } for citation.
|
|
166
|
+
*/
|
|
167
|
+
export function rankByRelevance(snapshot, query, limit = 10) {
|
|
168
|
+
const queryTerms = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
169
|
+
if (queryTerms.length === 0) {
|
|
170
|
+
return { nodes: [], edges: [], matchCount: 0 };
|
|
171
|
+
}
|
|
172
|
+
const nodes = snapshot.nodes || [];
|
|
173
|
+
const linksArray = snapshot.links || [];
|
|
174
|
+
const edges = getGraphEdges(snapshot);
|
|
175
|
+
// Step 1: Seed-match nodes by query terms (direct keyword match)
|
|
176
|
+
const seedMatches = nodes.filter((node) => {
|
|
177
|
+
const text = (node.label + " " + node.source_file).toLowerCase();
|
|
178
|
+
return queryTerms.some((term) => text.includes(term));
|
|
179
|
+
});
|
|
180
|
+
// Step 2: For each seed-matched node, find edge-connected neighbors
|
|
181
|
+
// Build a set of neighbor node IDs by following links (edges in the graph)
|
|
182
|
+
const seedNodeIds = new Set(seedMatches.map((n) => n.id));
|
|
183
|
+
const connectedNodeIds = new Set();
|
|
184
|
+
const usedLinkIds = new Set();
|
|
185
|
+
// Links array contains edges; traverse them to find connections
|
|
186
|
+
if (Array.isArray(linksArray) && linksArray.length > 0) {
|
|
187
|
+
const firstLink = linksArray[0];
|
|
188
|
+
const hasSourceTarget = "source" in firstLink && "target" in firstLink;
|
|
189
|
+
for (let i = 0; i < linksArray.length; i++) {
|
|
190
|
+
const link = linksArray[i];
|
|
191
|
+
if (hasSourceTarget) {
|
|
192
|
+
const source = link.source;
|
|
193
|
+
const target = link.target;
|
|
194
|
+
// If one end is a seed match, add the other end to connected nodes
|
|
195
|
+
if (source && target) {
|
|
196
|
+
if (seedNodeIds.has(source)) {
|
|
197
|
+
connectedNodeIds.add(target);
|
|
198
|
+
usedLinkIds.add(i);
|
|
199
|
+
}
|
|
200
|
+
else if (seedNodeIds.has(target)) {
|
|
201
|
+
connectedNodeIds.add(source);
|
|
202
|
+
usedLinkIds.add(i);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// Step 3: Score seed matches + connected nodes by term relevance + connectivity.
|
|
209
|
+
// Prose nodes (file_type !== "code", .md etc.) receive a prose boost so doc-grounded
|
|
210
|
+
// citations are first-class alongside code citations — not filtered or ranked below them.
|
|
211
|
+
const scoredWithConnectivity = nodes
|
|
212
|
+
.map((node) => {
|
|
213
|
+
const text = (node.label + " " + node.source_file).toLowerCase();
|
|
214
|
+
const termScore = scoreMatch(text, queryTerms);
|
|
215
|
+
const isSeedMatch = seedNodeIds.has(node.id);
|
|
216
|
+
const isConnected = connectedNodeIds.has(node.id);
|
|
217
|
+
const isProse = isProseNode(node);
|
|
218
|
+
// Seed matches score higher, connected nodes also score high.
|
|
219
|
+
// Prose nodes that are seed matches get an extra boost (200) so docs surface visibly.
|
|
220
|
+
const connectivityBonus = isSeedMatch ? 1000 : isConnected ? 500 : 0;
|
|
221
|
+
const proseBonus = isProse && isSeedMatch ? 200 : 0;
|
|
222
|
+
const totalScore = termScore + connectivityBonus + proseBonus;
|
|
223
|
+
return { node, score: totalScore, isSeedMatch, isConnected };
|
|
224
|
+
})
|
|
225
|
+
.filter(({ score }) => score > 0)
|
|
226
|
+
.sort((a, b) => {
|
|
227
|
+
// Sort by score desc, then seed matches first
|
|
228
|
+
if (b.score !== a.score)
|
|
229
|
+
return b.score - a.score;
|
|
230
|
+
return a.isSeedMatch ? -1 : 1;
|
|
231
|
+
})
|
|
232
|
+
.slice(0, limit)
|
|
233
|
+
.map(({ node }) => node);
|
|
234
|
+
// Step 4: Collect edges that connect seed/connected nodes
|
|
235
|
+
const resultNodeIds = new Set(scoredWithConnectivity.map((n) => n.id));
|
|
236
|
+
const connectedEdges = [];
|
|
237
|
+
if (Array.isArray(linksArray) && linksArray.length > 0) {
|
|
238
|
+
const firstLink = linksArray[0];
|
|
239
|
+
const hasSourceTarget = "source" in firstLink && "target" in firstLink;
|
|
240
|
+
for (let i = 0; i < linksArray.length; i++) {
|
|
241
|
+
const link = linksArray[i];
|
|
242
|
+
if (hasSourceTarget) {
|
|
243
|
+
const source = link.source;
|
|
244
|
+
const target = link.target;
|
|
245
|
+
// Include edges where at least one endpoint is in our result set
|
|
246
|
+
if (source && target && (resultNodeIds.has(source) || resultNodeIds.has(target))) {
|
|
247
|
+
connectedEdges.push({
|
|
248
|
+
id: `link_${i}`,
|
|
249
|
+
label: link.relation || "connected",
|
|
250
|
+
nodes: [source, target],
|
|
251
|
+
relation: link.relation || "link",
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
const scoredEdges = edges
|
|
258
|
+
.map((edge) => ({
|
|
259
|
+
edge,
|
|
260
|
+
score: scoreMatch(edge.label + " " + (edge.source_file || ""), queryTerms),
|
|
261
|
+
}))
|
|
262
|
+
.filter(({ score }) => score > 0)
|
|
263
|
+
.sort((a, b) => b.score - a.score)
|
|
264
|
+
.slice(0, Math.max(1, Math.ceil(limit / 2)))
|
|
265
|
+
.map(({ edge }) => edge);
|
|
266
|
+
// Combine hyperedges with connected edges
|
|
267
|
+
const allEdges = [...scoredEdges, ...connectedEdges.slice(0, Math.max(0, Math.ceil(limit / 2) - scoredEdges.length))];
|
|
268
|
+
const matchCount = scoredWithConnectivity.length + allEdges.length;
|
|
269
|
+
return { nodes: scoredWithConnectivity, edges: allEdges, matchCount };
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Score a text against query terms. Higher score = better match.
|
|
273
|
+
* Exported for reuse in pack.ts (S2).
|
|
274
|
+
*/
|
|
275
|
+
export function scoreMatch(text, terms) {
|
|
276
|
+
const lowerText = text.toLowerCase();
|
|
277
|
+
let score = 0;
|
|
278
|
+
for (const term of terms) {
|
|
279
|
+
if (lowerText.includes(term)) {
|
|
280
|
+
score += term.length; // Longer exact matches score higher
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return score;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Format a node for citation.
|
|
287
|
+
*/
|
|
288
|
+
export function formatNodeCitation(node) {
|
|
289
|
+
const file = node.source_file || "unknown";
|
|
290
|
+
const loc = node.source_location || "";
|
|
291
|
+
const symbol = node.id || node.label;
|
|
292
|
+
return `${file}${loc ? ":" + loc : ""} (${symbol})`;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Format an edge for citation.
|
|
296
|
+
*/
|
|
297
|
+
export function formatEdgeCitation(edge) {
|
|
298
|
+
const file = edge.source_file || "graph";
|
|
299
|
+
return `${file} [${edge.label}]`;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Check staleness: compare snapshot commit to repo HEAD.
|
|
303
|
+
* Returns { isStale, isDirty, snapshotCommit, headCommit }
|
|
304
|
+
*/
|
|
305
|
+
export async function checkStaleness(snapshot, repoRoot, tolerance = "dirty-only") {
|
|
306
|
+
const { execSync } = await import("node:child_process");
|
|
307
|
+
const cwd = repoRoot || process.cwd();
|
|
308
|
+
try {
|
|
309
|
+
const snapshotCommit = getGraphBuiltCommit(snapshot).slice(0, 7);
|
|
310
|
+
const headCommit = execSync("git rev-parse HEAD", { cwd, encoding: "utf-8" }).trim().slice(0, 7);
|
|
311
|
+
const isDirty = execSync("git status --porcelain", { cwd, encoding: "utf-8" }).trim() !== "";
|
|
312
|
+
if (snapshotCommit === headCommit) {
|
|
313
|
+
// Fresh
|
|
314
|
+
if (isDirty && tolerance === "dirty-only") {
|
|
315
|
+
return { isStale: false, isDirty: true, note: `(working tree dirty; snapshot fresh at ${snapshotCommit})` };
|
|
316
|
+
}
|
|
317
|
+
return { isStale: false, isDirty };
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
// Stale
|
|
321
|
+
if (tolerance === "dirty-only" && isDirty) {
|
|
322
|
+
// Tolerate only if working tree is dirty (local dev)
|
|
323
|
+
return { isStale: true, isDirty, note: `(snapshot at ${snapshotCommit}, HEAD is ${headCommit}; rebuild on merge)` };
|
|
324
|
+
}
|
|
325
|
+
return { isStale: true, isDirty, note: `(snapshot at ${snapshotCommit}, HEAD is ${headCommit})` };
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
// Not a git repo or git command failed; staleness is genuinely unknown.
|
|
330
|
+
// Callers must treat this as a third state (neither fresh nor stale) — do not
|
|
331
|
+
// surface "snapshot is fresh" to the user when git was unavailable.
|
|
332
|
+
return { isStale: false, isDirty: false, unknown: true };
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { CodebusError } from "./errors.js";
|
|
4
|
+
import { initCmd } from "./commands/init.js";
|
|
5
|
+
import { whoamiCmd } from "./commands/whoami.js";
|
|
6
|
+
import { sendCmd } from "./commands/send.js";
|
|
7
|
+
import { inboxCmd } from "./commands/inbox.js";
|
|
8
|
+
import { readCmd } from "./commands/read.js";
|
|
9
|
+
import { replyCmd } from "./commands/reply.js";
|
|
10
|
+
import { archiveCmd } from "./commands/archive.js";
|
|
11
|
+
import { ackCmd } from "./commands/ack.js";
|
|
12
|
+
import { sentCmd } from "./commands/sent.js";
|
|
13
|
+
import { registerTask } from "./commands/task.js";
|
|
14
|
+
import { registerDecision } from "./commands/decision.js";
|
|
15
|
+
import { registerQuestion } from "./commands/question.js";
|
|
16
|
+
import { registerPr } from "./commands/pr.js";
|
|
17
|
+
import { registerDigest } from "./commands/digest.js";
|
|
18
|
+
import { registerAuth } from "./commands/auth.js";
|
|
19
|
+
import { statuslineCmd } from "./commands/statusline.js";
|
|
20
|
+
import { nextCmd } from "./commands/next.js";
|
|
21
|
+
import { registerSession } from "./commands/session.js";
|
|
22
|
+
import { loginCmd } from "./commands/login.js";
|
|
23
|
+
import { doctorCmd } from "./commands/doctor.js";
|
|
24
|
+
import { registerInstall } from "./commands/install.js";
|
|
25
|
+
import { healthCmd } from "./commands/health.js";
|
|
26
|
+
import { registerReport } from "./commands/report.js";
|
|
27
|
+
import { onboardingCmd } from "./commands/onboarding.js";
|
|
28
|
+
import { registerInvite } from "./commands/invite.js";
|
|
29
|
+
import { joinCmd } from "./commands/join.js";
|
|
30
|
+
import { watchCmd } from "./commands/watch.js";
|
|
31
|
+
import { linksCmd } from "./commands/links.js";
|
|
32
|
+
import { registerAsk } from "./commands/ask.js";
|
|
33
|
+
import { registerGraph } from "./commands/graph.js";
|
|
34
|
+
import { registerPack } from "./commands/pack.js";
|
|
35
|
+
import { registerResolveRefs } from "./commands/resolve-refs.js";
|
|
36
|
+
import { registerIngest } from "./commands/ingest.js";
|
|
37
|
+
import { registerRepo } from "./commands/repo.js";
|
|
38
|
+
import { registerAs } from "./commands/as.js";
|
|
39
|
+
import { registerCheckin } from "./commands/checkin.js";
|
|
40
|
+
import { registerTick } from "./commands/tick.js";
|
|
41
|
+
import { registerPlan } from "./commands/plan.js";
|
|
42
|
+
import { registerPlanGh } from "./commands/plan-gh.js";
|
|
43
|
+
import { registerMorning } from "./commands/morning.js";
|
|
44
|
+
import { registerUpgrade } from "./commands/upgrade.js";
|
|
45
|
+
import { registerJira } from "./commands/jira.js";
|
|
46
|
+
import { registerFactory } from "./commands/factory.js";
|
|
47
|
+
const program = new Command();
|
|
48
|
+
// version always mirrors package.json (works from src via tsx and from dist)
|
|
49
|
+
const pkg = createRequire(import.meta.url)("../package.json");
|
|
50
|
+
program.name("codebus").description("CodeBus coordination CLI").version(pkg.version);
|
|
51
|
+
const g = (c) => c
|
|
52
|
+
.option("--url <url>").option("--token <token>")
|
|
53
|
+
.option("--agent <slug>").option("--workspace <slug>").option("--json", "JSON output");
|
|
54
|
+
g(program.command("init"))
|
|
55
|
+
.option("--anon-key <key>").option("--person <slug>").option("--yes", "non-interactive")
|
|
56
|
+
.action(initCmd);
|
|
57
|
+
g(program.command("whoami")).action(whoamiCmd);
|
|
58
|
+
g(program.command("send"))
|
|
59
|
+
.requiredOption("--to <slugs>").requiredOption("--body <text>")
|
|
60
|
+
.option("--type <type>", "ask|handoff|note|plan", "note")
|
|
61
|
+
.option("--subject <text>").option("--project <slug>").option("--reply-to <id>")
|
|
62
|
+
.option("--ref <refs>", "comma-separated knowledge refs (e.g. CB-DEC-000001,commit:<sha>)")
|
|
63
|
+
.option("--urgency <urgency>", "digest|speak_now", "digest")
|
|
64
|
+
.option("--headline <text>", "one-line summary rendered first by read/inbox")
|
|
65
|
+
.option("--required-action <text>", "the concrete action the recipient owes, rendered first by read/inbox")
|
|
66
|
+
.action(sendCmd);
|
|
67
|
+
g(program.command("inbox")).option("--unread").option("--type <type>").option("--project <slug>").action(inboxCmd);
|
|
68
|
+
g(program.command("read").argument("<id>"))
|
|
69
|
+
.option("--thread", "walk the full in_reply_to chain back to the root")
|
|
70
|
+
.action((id, o) => readCmd(id, o));
|
|
71
|
+
g(program.command("reply").argument("<id>"))
|
|
72
|
+
.requiredOption("--body <text>")
|
|
73
|
+
.option("--all", "CC every other original recipient, not just the sender")
|
|
74
|
+
.action((id, o) => replyCmd(id, o));
|
|
75
|
+
g(program.command("archive").argument("<id>")).action((id, o) => archiveCmd(id, o));
|
|
76
|
+
g(program.command("ack").argument("<id>")).action((id, o) => ackCmd(id, o));
|
|
77
|
+
g(program.command("sent")).action(sentCmd);
|
|
78
|
+
registerTask(program, g);
|
|
79
|
+
registerDecision(program, g);
|
|
80
|
+
registerQuestion(program, g);
|
|
81
|
+
registerPr(program, g);
|
|
82
|
+
registerDigest(program, g);
|
|
83
|
+
registerAuth(program, g);
|
|
84
|
+
registerSession(program, g);
|
|
85
|
+
registerInstall(program, g);
|
|
86
|
+
registerAsk(program, g);
|
|
87
|
+
registerGraph(program, g);
|
|
88
|
+
registerPack(program, g);
|
|
89
|
+
registerResolveRefs(program, g);
|
|
90
|
+
registerIngest(program, g);
|
|
91
|
+
registerRepo(program, g);
|
|
92
|
+
registerAs(program, g);
|
|
93
|
+
registerCheckin(program, g);
|
|
94
|
+
registerTick(program, g);
|
|
95
|
+
const planCmd = registerPlan(program, g);
|
|
96
|
+
registerPlanGh(planCmd, g);
|
|
97
|
+
registerMorning(program, g);
|
|
98
|
+
registerUpgrade(program, g);
|
|
99
|
+
registerJira(program, g);
|
|
100
|
+
registerFactory(program, g);
|
|
101
|
+
g(program.command("login"))
|
|
102
|
+
.option("--anon-key <key>").option("--github", "sign in with GitHub via your browser (Supabase OAuth → github_web_login)").action(loginCmd);
|
|
103
|
+
g(program.command("doctor")).option("--anon-key <key>").action(doctorCmd);
|
|
104
|
+
g(program.command("health")).action(healthCmd);
|
|
105
|
+
registerReport(program, g);
|
|
106
|
+
g(program.command("onboarding")).option("--report", "funnel counts + median times").action(onboardingCmd);
|
|
107
|
+
registerInvite(program, g);
|
|
108
|
+
g(program.command("join").argument("<claim-code>", "CBJ-… code or …/join/CBJ-… link"))
|
|
109
|
+
.option("--anon-key <key>").option("--github-login <login>", "your GitHub username (open invites)")
|
|
110
|
+
.action(joinCmd);
|
|
111
|
+
g(program.command("next")).action(nextCmd);
|
|
112
|
+
program.command("statusline").option("--json", "JSON output").action(statuslineCmd);
|
|
113
|
+
g(program.command("watch")).option("--project <slug>").option("--timeout <ms>", "timeout in milliseconds")
|
|
114
|
+
.option("--mine", "only events addressed to me (messages) or claimable/assigned to me (tasks)")
|
|
115
|
+
.option("--first", "exit after the first matching event — blocking wait for automations")
|
|
116
|
+
.action(watchCmd);
|
|
117
|
+
g(program.command("links").argument("<id>", "display id (CB-MSG-/CB-TASK-/CB-DEC-/CB-Q-/CB-PR-…) or external id (M22 / TASK-… / DEC-…)"))
|
|
118
|
+
.option("--depth <n>", "traversal depth (1-6)", "2").action((id, o) => linksCmd(id, o));
|
|
119
|
+
// Waits for a stream's write queue to actually drain before we pull the rug
|
|
120
|
+
// out from under it. process.exit() terminates the process immediately —
|
|
121
|
+
// including any output still sitting in Node's internal write buffer — and
|
|
122
|
+
// on a PIPE (not a TTY), stdout/stderr writes are async: `console.log`
|
|
123
|
+
// returns before the OS has necessarily accepted the bytes. A zero-length
|
|
124
|
+
// write's callback fires only once every write queued ahead of it has
|
|
125
|
+
// actually flushed, so awaiting one is a reliable "is everything out yet?"
|
|
126
|
+
// signal without needing to touch whatever the command itself wrote. This
|
|
127
|
+
// matters most for --json output (piped into `jq`, a script, an automation)
|
|
128
|
+
// where a truncated final line is a parse error, not just a display glitch.
|
|
129
|
+
function flushStdio() {
|
|
130
|
+
return Promise.all([
|
|
131
|
+
new Promise((resolve) => process.stdout.write("", () => resolve())),
|
|
132
|
+
new Promise((resolve) => process.stderr.write("", () => resolve())),
|
|
133
|
+
]).then(() => undefined);
|
|
134
|
+
}
|
|
135
|
+
program.parseAsync().then(async () => {
|
|
136
|
+
// Explicit exit(0) on success — NOT a no-op. `watch` (and anything else
|
|
137
|
+
// that opens a Supabase Realtime channel) leaves the process alive after
|
|
138
|
+
// its own work is done: realtime-js's socket teardown races a hardcoded
|
|
139
|
+
// 10s timeout (phoenix/socketAdapter.js `disconnect(..., timeout = 10000)`)
|
|
140
|
+
// against the local stack's close handshake, so without this the CLI would
|
|
141
|
+
// hang for ~10s (or longer/forever if that handshake never lands) after
|
|
142
|
+
// every `codebus watch --timeout <n>` — exactly the command `checkin`'s
|
|
143
|
+
// auto-armed listener and the documented "standing loop" automation habit
|
|
144
|
+
// both rely on returning promptly. A CLI that already wrote its output has
|
|
145
|
+
// no reason to wait on a library's background socket cleanup.
|
|
146
|
+
await flushStdio(); // see flushStdio: don't truncate buffered output on the way out
|
|
147
|
+
process.exit(0);
|
|
148
|
+
}).catch(async (e) => {
|
|
149
|
+
const code = e instanceof CodebusError ? e.exitCode : 1;
|
|
150
|
+
console.error(`error: ${e.message}`);
|
|
151
|
+
await flushStdio();
|
|
152
|
+
process.exit(code);
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|