@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.
Files changed (133) hide show
  1. package/bin/codebus.js +2 -0
  2. package/dist/binding-guard.js +97 -0
  3. package/dist/binding-guard.js.map +1 -0
  4. package/dist/client.js +94 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/commands/ack.js +47 -0
  7. package/dist/commands/ack.js.map +1 -0
  8. package/dist/commands/archive.js +21 -0
  9. package/dist/commands/archive.js.map +1 -0
  10. package/dist/commands/as.js +299 -0
  11. package/dist/commands/as.js.map +1 -0
  12. package/dist/commands/ask.js +189 -0
  13. package/dist/commands/ask.js.map +1 -0
  14. package/dist/commands/auth.js +33 -0
  15. package/dist/commands/auth.js.map +1 -0
  16. package/dist/commands/checkin.js +235 -0
  17. package/dist/commands/checkin.js.map +1 -0
  18. package/dist/commands/decision.js +52 -0
  19. package/dist/commands/decision.js.map +1 -0
  20. package/dist/commands/digest.js +117 -0
  21. package/dist/commands/digest.js.map +1 -0
  22. package/dist/commands/doctor.js +106 -0
  23. package/dist/commands/doctor.js.map +1 -0
  24. package/dist/commands/factory.js +191 -0
  25. package/dist/commands/factory.js.map +1 -0
  26. package/dist/commands/github-login.js +205 -0
  27. package/dist/commands/github-login.js.map +1 -0
  28. package/dist/commands/graph.js +88 -0
  29. package/dist/commands/graph.js.map +1 -0
  30. package/dist/commands/health.js +34 -0
  31. package/dist/commands/health.js.map +1 -0
  32. package/dist/commands/inbox.js +83 -0
  33. package/dist/commands/inbox.js.map +1 -0
  34. package/dist/commands/ingest.js +553 -0
  35. package/dist/commands/ingest.js.map +1 -0
  36. package/dist/commands/init.js +97 -0
  37. package/dist/commands/init.js.map +1 -0
  38. package/dist/commands/install.js +520 -0
  39. package/dist/commands/install.js.map +1 -0
  40. package/dist/commands/invite.js +152 -0
  41. package/dist/commands/invite.js.map +1 -0
  42. package/dist/commands/jira.js +237 -0
  43. package/dist/commands/jira.js.map +1 -0
  44. package/dist/commands/join.js +96 -0
  45. package/dist/commands/join.js.map +1 -0
  46. package/dist/commands/links.js +66 -0
  47. package/dist/commands/links.js.map +1 -0
  48. package/dist/commands/login.js +84 -0
  49. package/dist/commands/login.js.map +1 -0
  50. package/dist/commands/morning.js +121 -0
  51. package/dist/commands/morning.js.map +1 -0
  52. package/dist/commands/next.js +66 -0
  53. package/dist/commands/next.js.map +1 -0
  54. package/dist/commands/onboarding.js +109 -0
  55. package/dist/commands/onboarding.js.map +1 -0
  56. package/dist/commands/pack.js +276 -0
  57. package/dist/commands/pack.js.map +1 -0
  58. package/dist/commands/plan-gh.js +425 -0
  59. package/dist/commands/plan-gh.js.map +1 -0
  60. package/dist/commands/plan.js +465 -0
  61. package/dist/commands/plan.js.map +1 -0
  62. package/dist/commands/pr.js +88 -0
  63. package/dist/commands/pr.js.map +1 -0
  64. package/dist/commands/question.js +142 -0
  65. package/dist/commands/question.js.map +1 -0
  66. package/dist/commands/read.js +84 -0
  67. package/dist/commands/read.js.map +1 -0
  68. package/dist/commands/refs.js +357 -0
  69. package/dist/commands/refs.js.map +1 -0
  70. package/dist/commands/reply.js +38 -0
  71. package/dist/commands/reply.js.map +1 -0
  72. package/dist/commands/repo.js +1198 -0
  73. package/dist/commands/repo.js.map +1 -0
  74. package/dist/commands/report.js +41 -0
  75. package/dist/commands/report.js.map +1 -0
  76. package/dist/commands/resolve-refs.js +21 -0
  77. package/dist/commands/resolve-refs.js.map +1 -0
  78. package/dist/commands/resolve.js +93 -0
  79. package/dist/commands/resolve.js.map +1 -0
  80. package/dist/commands/send.js +168 -0
  81. package/dist/commands/send.js.map +1 -0
  82. package/dist/commands/sent.js +22 -0
  83. package/dist/commands/sent.js.map +1 -0
  84. package/dist/commands/session.js +426 -0
  85. package/dist/commands/session.js.map +1 -0
  86. package/dist/commands/statusline.js +43 -0
  87. package/dist/commands/statusline.js.map +1 -0
  88. package/dist/commands/task.js +140 -0
  89. package/dist/commands/task.js.map +1 -0
  90. package/dist/commands/tick.js +233 -0
  91. package/dist/commands/tick.js.map +1 -0
  92. package/dist/commands/upgrade.js +76 -0
  93. package/dist/commands/upgrade.js.map +1 -0
  94. package/dist/commands/watch.js +169 -0
  95. package/dist/commands/watch.js.map +1 -0
  96. package/dist/commands/whoami.js +27 -0
  97. package/dist/commands/whoami.js.map +1 -0
  98. package/dist/config.js +103 -0
  99. package/dist/config.js.map +1 -0
  100. package/dist/directives.js +102 -0
  101. package/dist/directives.js.map +1 -0
  102. package/dist/errors.js +110 -0
  103. package/dist/errors.js.map +1 -0
  104. package/dist/git-hooks.js +116 -0
  105. package/dist/git-hooks.js.map +1 -0
  106. package/dist/graph-bootstrap.js +95 -0
  107. package/dist/graph-bootstrap.js.map +1 -0
  108. package/dist/graph-remote.js +889 -0
  109. package/dist/graph-remote.js.map +1 -0
  110. package/dist/graph.js +335 -0
  111. package/dist/graph.js.map +1 -0
  112. package/dist/index.js +154 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/kit/graph-publish.mjs +400 -0
  115. package/dist/mail-latency.js +120 -0
  116. package/dist/mail-latency.js.map +1 -0
  117. package/dist/mcp-registry.js +859 -0
  118. package/dist/mcp-registry.js.map +1 -0
  119. package/dist/mcp.js +193 -0
  120. package/dist/mcp.js.map +1 -0
  121. package/dist/output.js +12 -0
  122. package/dist/output.js.map +1 -0
  123. package/dist/positioning.js +21 -0
  124. package/dist/positioning.js.map +1 -0
  125. package/dist/rolestore.js +89 -0
  126. package/dist/rolestore.js.map +1 -0
  127. package/dist/session.js +49 -0
  128. package/dist/session.js.map +1 -0
  129. package/dist/sessionstore.js +736 -0
  130. package/dist/sessionstore.js.map +1 -0
  131. package/dist/version-check.js +97 -0
  132. package/dist/version-check.js.map +1 -0
  133. 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":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAkClC;;GAEG;AACH,SAAS,uBAAuB;IAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAuB;IAC1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,IAAI,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;gBACtD,kEAAkE;gBAClE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,kEAAkE;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,0BAA0B;YAC1B,MAAM;QACR,CAAC;QACD,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAiB;IACvD,IAAI,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,uCAAuC;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpB,4BAA4B;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;gBACpC,OAAO,oBAAoB,EAAE,KAAK,IAAI,CAAC;YACzC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,UAAU;YAAE,MAAM;QACjC,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,4CAA4C;IAC5C,OAAO,oBAAoB,EAAE,KAAK,IAAI,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,OAAO,QAAQ,CAAC,eAAe,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,CACL,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACpB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAuB,EACvB,KAAa,EACb,QAAgB,EAAE;IAElB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEtC,iEAAiE;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,gEAAgE;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAA4B,CAAC;QAC3D,MAAM,eAAe,GACnB,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAA4B,CAAC;YAEtD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;gBAEjD,mEAAmE;gBACnE,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;oBACrB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC7B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC;yBAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC7B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,qFAAqF;IACrF,0FAA0F;IAC1F,MAAM,sBAAsB,GAAG,KAAK;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,8DAA8D;QAC9D,sFAAsF;QACtF,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,UAAU,CAAC;QAE9D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,8CAA8C;QAC9C,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAClD,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,0DAA0D;IAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAA4B,CAAC;QAC3D,MAAM,eAAe,GACnB,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAA4B,CAAC;YAEtD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;gBAEjD,iEAAiE;gBACjE,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACjF,cAAc,CAAC,IAAI,CAAC;wBAClB,EAAE,EAAE,QAAQ,CAAC,EAAE;wBACf,KAAK,EAAG,IAAI,CAAC,QAA+B,IAAI,WAAW;wBAC3D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBACvB,QAAQ,EAAG,IAAI,CAAC,QAA+B,IAAI,MAAM;qBAC1D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC;KAC3E,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtH,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEnE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAe;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,oCAAoC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC;IACrC,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,GAAG,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;IACzC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAuB,EACvB,QAAiB,EACjB,YAAkC,YAAY;IAE9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,OAAO,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE7F,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ;YACR,IAAI,OAAO,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,cAAc,GAAG,EAAE,CAAC;YAC9G,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,QAAQ;YACR,IAAI,SAAS,KAAK,YAAY,IAAI,OAAO,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,cAAc,aAAa,UAAU,qBAAqB,EAAE,CAAC;YACtH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,cAAc,aAAa,UAAU,GAAG,EAAE,CAAC;QACpG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,8EAA8E;QAC9E,oEAAoE;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC"}
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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"}