spidersan 0.6.0 → 0.10.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 (227) hide show
  1. package/CHANGELOG.md +65 -51
  2. package/README.md +238 -3
  3. package/dist/bin/spidersan.d.ts.map +1 -1
  4. package/dist/bin/spidersan.js +13 -1
  5. package/dist/bin/spidersan.js.map +1 -1
  6. package/dist/commands/abandon.d.ts.map +1 -1
  7. package/dist/commands/abandon.js +1 -9
  8. package/dist/commands/abandon.js.map +1 -1
  9. package/dist/commands/ai.d.ts +15 -0
  10. package/dist/commands/ai.d.ts.map +1 -0
  11. package/dist/commands/ai.js +498 -0
  12. package/dist/commands/ai.js.map +1 -0
  13. package/dist/commands/auto.d.ts.map +1 -1
  14. package/dist/commands/auto.js +2 -1
  15. package/dist/commands/auto.js.map +1 -1
  16. package/dist/commands/bot.d.ts +16 -0
  17. package/dist/commands/bot.d.ts.map +1 -0
  18. package/dist/commands/bot.js +416 -0
  19. package/dist/commands/bot.js.map +1 -0
  20. package/dist/commands/conflicts.d.ts.map +1 -1
  21. package/dist/commands/conflicts.js +49 -77
  22. package/dist/commands/conflicts.js.map +1 -1
  23. package/dist/commands/context.d.ts +8 -0
  24. package/dist/commands/context.d.ts.map +1 -0
  25. package/dist/commands/context.js +104 -0
  26. package/dist/commands/context.js.map +1 -0
  27. package/dist/commands/cross-conflicts.d.ts.map +1 -1
  28. package/dist/commands/cross-conflicts.js +10 -44
  29. package/dist/commands/cross-conflicts.js.map +1 -1
  30. package/dist/commands/depends.d.ts.map +1 -1
  31. package/dist/commands/depends.js +1 -9
  32. package/dist/commands/depends.js.map +1 -1
  33. package/dist/commands/fleet-status.d.ts +14 -0
  34. package/dist/commands/fleet-status.d.ts.map +1 -0
  35. package/dist/commands/fleet-status.js +127 -0
  36. package/dist/commands/fleet-status.js.map +1 -0
  37. package/dist/commands/git-watch.d.ts +24 -0
  38. package/dist/commands/git-watch.d.ts.map +1 -0
  39. package/dist/commands/git-watch.js +84 -0
  40. package/dist/commands/git-watch.js.map +1 -0
  41. package/dist/commands/index.d.ts +5 -0
  42. package/dist/commands/index.d.ts.map +1 -1
  43. package/dist/commands/index.js +7 -0
  44. package/dist/commands/index.js.map +1 -1
  45. package/dist/commands/merge-order.d.ts.map +1 -1
  46. package/dist/commands/merge-order.js +18 -67
  47. package/dist/commands/merge-order.js.map +1 -1
  48. package/dist/commands/merged.d.ts.map +1 -1
  49. package/dist/commands/merged.js +1 -9
  50. package/dist/commands/merged.js.map +1 -1
  51. package/dist/commands/pulse.d.ts.map +1 -1
  52. package/dist/commands/pulse.js +82 -82
  53. package/dist/commands/pulse.js.map +1 -1
  54. package/dist/commands/queen.d.ts.map +1 -1
  55. package/dist/commands/queen.js +11 -7
  56. package/dist/commands/queen.js.map +1 -1
  57. package/dist/commands/ready-check.d.ts +2 -1
  58. package/dist/commands/ready-check.d.ts.map +1 -1
  59. package/dist/commands/ready-check.js +6 -30
  60. package/dist/commands/ready-check.js.map +1 -1
  61. package/dist/commands/register.d.ts.map +1 -1
  62. package/dist/commands/register.js +22 -37
  63. package/dist/commands/register.js.map +1 -1
  64. package/dist/commands/torrent.d.ts.map +1 -1
  65. package/dist/commands/torrent.js +29 -18
  66. package/dist/commands/torrent.js.map +1 -1
  67. package/dist/commands/watch.d.ts +6 -0
  68. package/dist/commands/watch.d.ts.map +1 -1
  69. package/dist/commands/watch.js +117 -30
  70. package/dist/commands/watch.js.map +1 -1
  71. package/dist/lib/ai/context-builder.d.ts +16 -0
  72. package/dist/lib/ai/context-builder.d.ts.map +1 -0
  73. package/dist/lib/ai/context-builder.js +216 -0
  74. package/dist/lib/ai/context-builder.js.map +1 -0
  75. package/dist/lib/ai/event-handler.d.ts +21 -0
  76. package/dist/lib/ai/event-handler.d.ts.map +1 -0
  77. package/dist/lib/ai/event-handler.js +98 -0
  78. package/dist/lib/ai/event-handler.js.map +1 -0
  79. package/dist/lib/ai/index.d.ts +13 -0
  80. package/dist/lib/ai/index.d.ts.map +1 -0
  81. package/dist/lib/ai/index.js +11 -0
  82. package/dist/lib/ai/index.js.map +1 -0
  83. package/dist/lib/ai/llm-client.d.ts +37 -0
  84. package/dist/lib/ai/llm-client.d.ts.map +1 -0
  85. package/dist/lib/ai/llm-client.js +225 -0
  86. package/dist/lib/ai/llm-client.js.map +1 -0
  87. package/dist/lib/ai/reasoner.d.ts +11 -0
  88. package/dist/lib/ai/reasoner.d.ts.map +1 -0
  89. package/dist/lib/ai/reasoner.js +246 -0
  90. package/dist/lib/ai/reasoner.js.map +1 -0
  91. package/dist/lib/ai/setup.d.ts +40 -0
  92. package/dist/lib/ai/setup.d.ts.map +1 -0
  93. package/dist/lib/ai/setup.js +154 -0
  94. package/dist/lib/ai/setup.js.map +1 -0
  95. package/dist/lib/ai/types.d.ts +135 -0
  96. package/dist/lib/ai/types.d.ts.map +1 -0
  97. package/dist/lib/ai/types.js +39 -0
  98. package/dist/lib/ai/types.js.map +1 -0
  99. package/dist/lib/colony-subscriber.d.ts +15 -12
  100. package/dist/lib/colony-subscriber.d.ts.map +1 -1
  101. package/dist/lib/colony-subscriber.js +146 -65
  102. package/dist/lib/colony-subscriber.js.map +1 -1
  103. package/dist/lib/config.d.ts.map +1 -1
  104. package/dist/lib/config.js +18 -4
  105. package/dist/lib/config.js.map +1 -1
  106. package/dist/lib/conflict-analyzer.d.ts +33 -0
  107. package/dist/lib/conflict-analyzer.d.ts.map +1 -0
  108. package/dist/lib/conflict-analyzer.js +114 -0
  109. package/dist/lib/conflict-analyzer.js.map +1 -0
  110. package/dist/lib/conflict-renderer.d.ts +7 -0
  111. package/dist/lib/conflict-renderer.d.ts.map +1 -0
  112. package/dist/lib/conflict-renderer.js +162 -0
  113. package/dist/lib/conflict-renderer.js.map +1 -0
  114. package/dist/lib/conflict-tier.d.ts +20 -0
  115. package/dist/lib/conflict-tier.d.ts.map +1 -0
  116. package/dist/lib/conflict-tier.js +49 -0
  117. package/dist/lib/conflict-tier.js.map +1 -0
  118. package/dist/lib/crypto.js +1 -1
  119. package/dist/lib/crypto.js.map +1 -1
  120. package/dist/lib/git-events-subscriber.d.ts +59 -0
  121. package/dist/lib/git-events-subscriber.d.ts.map +1 -0
  122. package/dist/lib/git-events-subscriber.js +779 -0
  123. package/dist/lib/git-events-subscriber.js.map +1 -0
  124. package/dist/lib/git.d.ts +15 -0
  125. package/dist/lib/git.d.ts.map +1 -0
  126. package/dist/lib/git.js +180 -0
  127. package/dist/lib/git.js.map +1 -0
  128. package/dist/lib/github.d.ts.map +1 -1
  129. package/dist/lib/github.js +14 -9
  130. package/dist/lib/github.js.map +1 -1
  131. package/dist/lib/graph.d.ts +23 -0
  132. package/dist/lib/graph.d.ts.map +1 -0
  133. package/dist/lib/graph.js +134 -0
  134. package/dist/lib/graph.js.map +1 -0
  135. package/dist/lib/hub.d.ts +31 -0
  136. package/dist/lib/hub.d.ts.map +1 -0
  137. package/dist/lib/hub.js +92 -0
  138. package/dist/lib/hub.js.map +1 -0
  139. package/dist/lib/pulse-renderer.d.ts +19 -0
  140. package/dist/lib/pulse-renderer.d.ts.map +1 -0
  141. package/dist/lib/pulse-renderer.js +108 -0
  142. package/dist/lib/pulse-renderer.js.map +1 -0
  143. package/dist/lib/register-renderer.d.ts +10 -0
  144. package/dist/lib/register-renderer.d.ts.map +1 -0
  145. package/dist/lib/register-renderer.js +19 -0
  146. package/dist/lib/register-renderer.js.map +1 -0
  147. package/dist/lib/remote-drift.d.ts +61 -0
  148. package/dist/lib/remote-drift.d.ts.map +1 -0
  149. package/dist/lib/remote-drift.js +227 -0
  150. package/dist/lib/remote-drift.js.map +1 -0
  151. package/dist/lib/salvage-analyzer.d.ts.map +1 -1
  152. package/dist/lib/salvage-analyzer.js +2 -3
  153. package/dist/lib/salvage-analyzer.js.map +1 -1
  154. package/dist/lib/security.d.ts +11 -0
  155. package/dist/lib/security.d.ts.map +1 -1
  156. package/dist/lib/security.js +24 -1
  157. package/dist/lib/security.js.map +1 -1
  158. package/dist/lib/session-logger.d.ts +54 -0
  159. package/dist/lib/session-logger.d.ts.map +1 -0
  160. package/dist/lib/session-logger.js +136 -0
  161. package/dist/lib/session-logger.js.map +1 -0
  162. package/dist/lib/watch-renderer.d.ts +13 -0
  163. package/dist/lib/watch-renderer.d.ts.map +1 -0
  164. package/dist/lib/watch-renderer.js +35 -0
  165. package/dist/lib/watch-renderer.js.map +1 -0
  166. package/dist/storage/adapter.d.ts +4 -0
  167. package/dist/storage/adapter.d.ts.map +1 -1
  168. package/dist/storage/branch-registry-store.d.ts +13 -0
  169. package/dist/storage/branch-registry-store.d.ts.map +1 -0
  170. package/dist/storage/branch-registry-store.js +2 -0
  171. package/dist/storage/branch-registry-store.js.map +1 -0
  172. package/dist/storage/factory.d.ts +4 -0
  173. package/dist/storage/factory.d.ts.map +1 -1
  174. package/dist/storage/factory.js +25 -9
  175. package/dist/storage/factory.js.map +1 -1
  176. package/dist/storage/git-messages.d.ts +53 -0
  177. package/dist/storage/git-messages.d.ts.map +1 -0
  178. package/dist/storage/git-messages.js +376 -0
  179. package/dist/storage/git-messages.js.map +1 -0
  180. package/dist/storage/index.d.ts +5 -0
  181. package/dist/storage/index.d.ts.map +1 -1
  182. package/dist/storage/index.js +5 -0
  183. package/dist/storage/index.js.map +1 -1
  184. package/dist/storage/json-branch-registry-store.d.ts +19 -0
  185. package/dist/storage/json-branch-registry-store.d.ts.map +1 -0
  186. package/dist/storage/json-branch-registry-store.js +112 -0
  187. package/dist/storage/json-branch-registry-store.js.map +1 -0
  188. package/dist/storage/local-messages.d.ts +37 -0
  189. package/dist/storage/local-messages.d.ts.map +1 -0
  190. package/dist/storage/local-messages.js +151 -0
  191. package/dist/storage/local-messages.js.map +1 -0
  192. package/dist/storage/local.d.ts +2 -6
  193. package/dist/storage/local.d.ts.map +1 -1
  194. package/dist/storage/local.js +13 -76
  195. package/dist/storage/local.js.map +1 -1
  196. package/dist/storage/memory-branch-registry-store.d.ts +16 -0
  197. package/dist/storage/memory-branch-registry-store.d.ts.map +1 -0
  198. package/dist/storage/memory-branch-registry-store.js +65 -0
  199. package/dist/storage/memory-branch-registry-store.js.map +1 -0
  200. package/dist/storage/message-adapter.d.ts +86 -0
  201. package/dist/storage/message-adapter.d.ts.map +1 -0
  202. package/dist/storage/message-adapter.js +28 -0
  203. package/dist/storage/message-adapter.js.map +1 -0
  204. package/dist/storage/message-factory.d.ts +36 -0
  205. package/dist/storage/message-factory.d.ts.map +1 -0
  206. package/dist/storage/message-factory.js +99 -0
  207. package/dist/storage/message-factory.js.map +1 -0
  208. package/dist/storage/mycmail-adapter.d.ts +38 -0
  209. package/dist/storage/mycmail-adapter.d.ts.map +1 -0
  210. package/dist/storage/mycmail-adapter.js +300 -0
  211. package/dist/storage/mycmail-adapter.js.map +1 -0
  212. package/dist/storage/supabase-registry-sync-client-impl.d.ts +46 -0
  213. package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +1 -0
  214. package/dist/storage/supabase-registry-sync-client-impl.js +322 -0
  215. package/dist/storage/supabase-registry-sync-client-impl.js.map +1 -0
  216. package/dist/storage/supabase-registry-sync-client.d.ts +9 -0
  217. package/dist/storage/supabase-registry-sync-client.d.ts.map +1 -0
  218. package/dist/storage/supabase-registry-sync-client.js +2 -0
  219. package/dist/storage/supabase-registry-sync-client.js.map +1 -0
  220. package/dist/storage/supabase.d.ts +8 -46
  221. package/dist/storage/supabase.d.ts.map +1 -1
  222. package/dist/storage/supabase.js +30 -342
  223. package/dist/storage/supabase.js.map +1 -1
  224. package/dist/tui/screen.d.ts.map +1 -1
  225. package/dist/tui/screen.js +5 -3
  226. package/dist/tui/screen.js.map +1 -1
  227. package/package.json +1 -1
@@ -7,17 +7,12 @@ import { homedir } from 'os';
7
7
  import { io } from 'socket.io-client';
8
8
  import { loadConfig } from '../lib/config.js';
9
9
  import { syncFromColony } from '../lib/colony-subscriber.js';
10
- // Config
11
- const HUB_URL = process.env.HUB_URL || 'https://hub.treebird.uk';
10
+ import { getCurrentBranch, getRemoteHead } from '../lib/git.js';
11
+ import { createHubClient } from '../lib/hub.js';
12
+ import { computeDriftResult } from '../lib/remote-drift.js';
13
+ import { renderFetchPollDrift, renderFetchPollHeartbeat } from '../lib/watch-renderer.js';
12
14
  const DEBOUNCE_MS = 1000; // Debounce file changes
13
- function getCurrentBranch() {
14
- try {
15
- return execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { encoding: 'utf-8' }).trim();
16
- }
17
- catch {
18
- throw new Error('Not in a git repository');
19
- }
20
- }
15
+ const hub = createHubClient();
21
16
  function getRepoRoot() {
22
17
  try {
23
18
  return execFileSync('git', ['rev-parse', '--show-toplevel'], { encoding: 'utf-8' }).trim();
@@ -29,29 +24,103 @@ function getRepoRoot() {
29
24
  function parsePaths(value) {
30
25
  return value.split(',').map((entry) => entry.trim()).filter(Boolean);
31
26
  }
32
- // Post conflict warning to Hub chat API
33
- async function postConflictToChat(branch, agent, conflicts) {
27
+ function formatConflictChatMessage(branch, conflicts) {
34
28
  const conflictDetails = conflicts
35
29
  .map(c => `• **${c.branch}**: ${c.files.join(', ')}`)
36
30
  .join('\n');
37
- const message = `🕷️⚠️ **CONFLICT DETECTED** on branch \`${branch}\`\n\n${conflictDetails}`;
31
+ return `🕷️⚠️ **CONFLICT DETECTED** on branch \`${branch}\`\n\n${conflictDetails}`;
32
+ }
33
+ function formatFetchPollTime(date) {
34
+ return date.toLocaleTimeString('en-GB', { hour12: false });
35
+ }
36
+ function runInRepoDir(repoDir, work) {
37
+ const originalDir = process.cwd();
38
+ const shouldChangeDir = repoDir && originalDir !== repoDir;
39
+ let restoreInFinally = true;
40
+ if (shouldChangeDir) {
41
+ process.chdir(repoDir);
42
+ }
38
43
  try {
39
- const response = await fetch(`${HUB_URL}/api/chat`, {
40
- method: 'POST',
41
- headers: { 'Content-Type': 'application/json' },
42
- body: JSON.stringify({
43
- agent: 'spidersan',
44
- name: 'Spidersan',
45
- message,
46
- glyph: '🕷️'
47
- })
48
- });
49
- if (!response.ok) {
50
- console.log(`⚠️ Failed to post to Hub chat: ${response.status}`);
44
+ const result = work();
45
+ if (result instanceof Promise) {
46
+ restoreInFinally = false;
47
+ return result.finally(() => {
48
+ if (shouldChangeDir) {
49
+ process.chdir(originalDir);
50
+ }
51
+ });
51
52
  }
53
+ return result;
52
54
  }
53
- catch {
54
- // Silently fail - Hub might not be running
55
+ finally {
56
+ if (restoreInFinally && shouldChangeDir && process.cwd() === repoDir) {
57
+ process.chdir(originalDir);
58
+ }
59
+ }
60
+ }
61
+ function isDriftSkipped(result) {
62
+ return 'skipped' in result;
63
+ }
64
+ export async function startFetchPollLoop(opts) {
65
+ const intervalMs = Math.max(1, opts.intervalSecs) * 1000;
66
+ try {
67
+ const branch = runInRepoDir(opts.repoDir, () => getCurrentBranch());
68
+ const storage = await getStorage();
69
+ const hubClient = opts.hubSync ? createHubClient() : null;
70
+ let lastRemoteHead = runInRepoDir(opts.repoDir, () => getRemoteHead('origin', branch));
71
+ let inFlight = false;
72
+ setInterval(() => {
73
+ if (inFlight)
74
+ return;
75
+ inFlight = true;
76
+ void (async () => {
77
+ try {
78
+ const currentRemoteHead = runInRepoDir(opts.repoDir, () => getRemoteHead('origin', branch));
79
+ if (currentRemoteHead === lastRemoteHead) {
80
+ if (!opts.quiet) {
81
+ console.log(renderFetchPollHeartbeat({
82
+ branch,
83
+ timestamp: formatFetchPollTime(new Date()),
84
+ }));
85
+ }
86
+ return;
87
+ }
88
+ lastRemoteHead = currentRemoteHead;
89
+ const registeredFiles = (await storage.get(branch))?.files ?? [];
90
+ const result = await runInRepoDir(opts.repoDir, () => computeDriftResult(registeredFiles, { remote: 'origin', branch }));
91
+ if (isDriftSkipped(result)) {
92
+ if (!opts.quiet) {
93
+ console.log(renderFetchPollDrift({ branch, drift: result }));
94
+ }
95
+ return;
96
+ }
97
+ if (result.remoteAhead === 0) {
98
+ return;
99
+ }
100
+ const warningOutput = renderFetchPollDrift({ branch, drift: result });
101
+ console.log(warningOutput);
102
+ if (hubClient) {
103
+ await hubClient.postToChat({
104
+ agent: 'spidersan',
105
+ name: 'Spidersan',
106
+ message: warningOutput,
107
+ glyph: '🕷️',
108
+ });
109
+ }
110
+ }
111
+ catch (error) {
112
+ const message = error instanceof Error ? error.message : String(error);
113
+ console.warn(`⚠️ [FETCH-POLL] ${message}`);
114
+ }
115
+ finally {
116
+ inFlight = false;
117
+ }
118
+ })();
119
+ }, intervalMs);
120
+ }
121
+ catch (error) {
122
+ const message = error instanceof Error ? error.message : String(error);
123
+ console.warn(`⚠️ [FETCH-POLL] ${message}`);
55
124
  }
56
125
  }
57
126
  export const watchCommand = new Command('watch')
@@ -64,6 +133,7 @@ export const watchCommand = new Command('watch')
64
133
  .option('--hub', 'Connect to Hub and emit real-time conflict warnings')
65
134
  .option('--hub-sync', 'Post conflicts to Hub chat via REST API')
66
135
  .option('-q, --quiet', 'Only log conflicts, not file changes')
136
+ .option('--fetch-poll [seconds]', 'Poll git ls-remote origin every N seconds (default: 60)')
67
137
  .option('--legacy', 'Legacy mode: use old watcher settings (more file descriptors)')
68
138
  .action(async (directory, options) => {
69
139
  const storage = await getStorage();
@@ -87,7 +157,7 @@ Branch: ${branch}
87
157
  Agent: ${agent}
88
158
  Root: ${repoRoot}
89
159
  Watching: ${watchLabel}
90
- Hub: ${options.hub ? HUB_URL : 'disabled'}
160
+ Hub: ${options.hub ? hub.url : 'disabled'}
91
161
  Hub Sync: ${options.hubSync ? 'enabled (posts to chat)' : 'disabled'}
92
162
  ━━━━━━━━━━━━━━━━━━━━━━━
93
163
  Press Ctrl+C to stop.
@@ -96,7 +166,7 @@ Press Ctrl+C to stop.
96
166
  let hubSocket = null;
97
167
  if (options.hub) {
98
168
  try {
99
- hubSocket = io(HUB_URL, {
169
+ hubSocket = io(hub.url, {
100
170
  reconnection: true,
101
171
  reconnectionAttempts: 5,
102
172
  timeout: 5000
@@ -176,7 +246,12 @@ Press Ctrl+C to stop.
176
246
  }
177
247
  // Post to Hub chat if --hub-sync enabled
178
248
  if (options.hubSync) {
179
- await postConflictToChat(branch, agent, conflicts);
249
+ await hub.postToChat({
250
+ agent: 'spidersan',
251
+ name: 'Spidersan',
252
+ message: formatConflictChatMessage(branch, conflicts),
253
+ glyph: '🕷️',
254
+ });
180
255
  console.log('📤 Posted conflict to Hub chat');
181
256
  }
182
257
  }
@@ -246,6 +321,18 @@ Press Ctrl+C to stop.
246
321
  const errorMsg = err instanceof Error ? err.message : String(err);
247
322
  console.error(`❌ Watcher error: ${errorMsg}`);
248
323
  });
324
+ if (options.fetchPoll) {
325
+ const parsedSecs = typeof options.fetchPoll === 'string'
326
+ ? Number.parseInt(options.fetchPoll, 10)
327
+ : Number.NaN;
328
+ const intervalSecs = Number.isFinite(parsedSecs) && parsedSecs > 0 ? parsedSecs : 60;
329
+ void startFetchPollLoop({
330
+ intervalSecs,
331
+ hubSync: !!options.hubSync,
332
+ quiet: !!options.quiet,
333
+ repoDir: repoRoot,
334
+ });
335
+ }
249
336
  // Handle graceful shutdown
250
337
  process.on('SIGINT', () => {
251
338
  console.log('\n🕷️ Watch mode stopped.');
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Spidersan AI Core — Context Builder
3
+ *
4
+ * Aggregates context from all sources into structured SpiderContext.
5
+ * Uses storage adapter (not raw file reads) and pure functions (no CLI shelling).
6
+ * Each source is best-effort — failures are reported, not fatal.
7
+ */
8
+ import type { SpiderContext } from './types.js';
9
+ export interface BuildContextOptions {
10
+ repoRoot?: string;
11
+ includeActivity?: boolean;
12
+ includeDaily?: boolean;
13
+ verbose?: boolean;
14
+ }
15
+ export declare function buildContext(options?: BuildContextOptions): Promise<SpiderContext>;
16
+ //# sourceMappingURL=context-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAGV,aAAa,EAGd,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2ND,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyC5F"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Spidersan AI Core — Context Builder
3
+ *
4
+ * Aggregates context from all sources into structured SpiderContext.
5
+ * Uses storage adapter (not raw file reads) and pure functions (no CLI shelling).
6
+ * Each source is best-effort — failures are reported, not fatal.
7
+ */
8
+ import { execFile } from 'child_process';
9
+ import { promisify } from 'util';
10
+ import { getStorage } from '../../storage/factory.js';
11
+ import { classifyTier } from '../conflict-tier.js';
12
+ const execFileAsync = promisify(execFile);
13
+ // ─── Git Helpers ────────────────────────────────────────────
14
+ async function getGitInfo(cwd) {
15
+ try {
16
+ const opts = { cwd, timeout: 5000 };
17
+ const [branchResult, statusResult, remoteResult] = await Promise.all([
18
+ execFileAsync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], opts),
19
+ execFileAsync('git', ['status', '--porcelain'], opts),
20
+ execFileAsync('git', ['remote', 'get-url', 'origin'], opts).catch(() => ({ stdout: '' })),
21
+ ]);
22
+ const branch = branchResult.stdout.trim();
23
+ const dirty = statusResult.stdout.trim().split('\n').filter(Boolean).map(l => l.slice(3));
24
+ const repo = remoteResult.stdout.trim().replace(/.*[:/]([^/]+\/[^/]+?)(?:\.git)?$/, '$1');
25
+ let ahead = 0, behind = 0;
26
+ try {
27
+ const revList = await execFileAsync('git', ['rev-list', '--left-right', '--count', `origin/${branch}...HEAD`], opts);
28
+ const parts = revList.stdout.trim().split(/\s+/);
29
+ behind = parseInt(parts[0] ?? '0', 10);
30
+ ahead = parseInt(parts[1] ?? '0', 10);
31
+ }
32
+ catch { /* no remote tracking */ }
33
+ return { available: true, data: { branch, repo, ahead, behind, dirty } };
34
+ }
35
+ catch (err) {
36
+ return {
37
+ available: false,
38
+ data: { branch: 'unknown', repo: 'unknown', ahead: 0, behind: 0, dirty: [] },
39
+ error: err.message,
40
+ };
41
+ }
42
+ }
43
+ // ─── Registry & Conflict Detection ─────────────────────────
44
+ async function getRegistryContext(currentBranch) {
45
+ try {
46
+ const storage = await getStorage();
47
+ const allBranches = await storage.list();
48
+ const staleThreshold = Date.now() - 7 * 24 * 60 * 60 * 1000;
49
+ const branches = allBranches.map((b) => ({
50
+ name: b.name,
51
+ agent: b.agent ?? null,
52
+ files: b.files,
53
+ status: b.status,
54
+ lastUpdated: b.registeredAt instanceof Date
55
+ ? b.registeredAt.toISOString()
56
+ : new Date(b.registeredAt).toISOString(),
57
+ commitsBehindMain: 0,
58
+ }));
59
+ const activeBranches = branches.filter(b => b.status === 'active');
60
+ const staleBranches = branches.filter(b => b.status === 'active' && new Date(b.lastUpdated).getTime() < staleThreshold);
61
+ // Compute conflicts: find file overlaps between current branch and others
62
+ const currentEntry = allBranches.find((b) => b.name === currentBranch);
63
+ const currentFiles = currentEntry?.files ?? [];
64
+ const conflicts = [];
65
+ if (currentFiles.length > 0) {
66
+ // ⚡ Bolt: Use a Set for O(1) lookups instead of Array.includes for O(N) to improve conflict detection speed
67
+ // when checking many files against many active branches.
68
+ const currentFilesSet = new Set(currentFiles);
69
+ for (const other of allBranches) {
70
+ if (other.name === currentBranch || other.status !== 'active')
71
+ continue;
72
+ const overlapping = other.files.filter(f => currentFilesSet.has(f));
73
+ if (overlapping.length > 0) {
74
+ const maxTier = Math.max(...overlapping.map(file => classifyTier(file)));
75
+ conflicts.push({
76
+ branch: currentBranch,
77
+ otherBranch: other.name,
78
+ tier: maxTier,
79
+ files: overlapping,
80
+ agent: currentEntry?.agent ?? null,
81
+ otherAgent: other.agent ?? null,
82
+ });
83
+ }
84
+ }
85
+ }
86
+ return {
87
+ available: true,
88
+ data: {
89
+ active: activeBranches.length,
90
+ stale: staleBranches.length,
91
+ branches,
92
+ conflicts,
93
+ },
94
+ };
95
+ }
96
+ catch (err) {
97
+ return {
98
+ available: false,
99
+ data: { active: 0, stale: 0, branches: [], conflicts: [] },
100
+ error: err.message,
101
+ };
102
+ }
103
+ }
104
+ // ─── Colony (read-only snapshot) ────────────────────────────
105
+ async function getColonySnapshot() {
106
+ const colonyUrl = process.env['COLONY_SUPABASE_URL'];
107
+ const colonyKey = process.env['COLONY_SUPABASE_KEY'];
108
+ if (!colonyUrl || !colonyKey) {
109
+ return { available: false, data: { online: false, activeAgents: [], inProgress: [] }, error: 'Colony not configured' };
110
+ }
111
+ try {
112
+ const resp = await fetch(`${colonyUrl}/rest/v1/colony_state?status=eq.in-progress&select=agent_label,task,status,last_heartbeat`, {
113
+ headers: {
114
+ 'apikey': colonyKey,
115
+ 'Authorization': `Bearer ${colonyKey}`,
116
+ },
117
+ signal: AbortSignal.timeout(5000),
118
+ });
119
+ if (!resp.ok)
120
+ throw new Error(`Colony API ${resp.status}`);
121
+ const rows = await resp.json();
122
+ return {
123
+ available: true,
124
+ data: {
125
+ online: true,
126
+ activeAgents: [...new Set(rows.map(r => r.agent_label))],
127
+ inProgress: rows.map(r => ({
128
+ agent: r.agent_label,
129
+ task: r.task,
130
+ status: r.status,
131
+ lastHeartbeat: r.last_heartbeat,
132
+ })),
133
+ },
134
+ };
135
+ }
136
+ catch (err) {
137
+ return {
138
+ available: false,
139
+ data: { online: false, activeAgents: [], inProgress: [] },
140
+ error: err.message,
141
+ };
142
+ }
143
+ }
144
+ // ─── Activity Log (best-effort) ────────────────────────────
145
+ async function getRecentActivity(_repoRoot) {
146
+ try {
147
+ const { readFileSync, existsSync } = await import('fs');
148
+ const { join } = await import('path');
149
+ const { homedir } = await import('os');
150
+ const logPath = join(homedir(), '.spidersan', 'activity.jsonl');
151
+ if (!existsSync(logPath)) {
152
+ return { available: false, data: [], error: 'No activity log found' };
153
+ }
154
+ const cutoff = Date.now() - 24 * 60 * 60 * 1000;
155
+ const lines = readFileSync(logPath, 'utf-8').trim().split('\n').filter(Boolean);
156
+ const entries = [];
157
+ for (const line of lines.slice(-100)) {
158
+ try {
159
+ const record = JSON.parse(line);
160
+ if (new Date(record.created_at).getTime() > cutoff) {
161
+ entries.push({
162
+ event: record.event,
163
+ branch: record.branch,
164
+ agent: record.agent,
165
+ details: record.details,
166
+ timestamp: record.created_at,
167
+ });
168
+ }
169
+ }
170
+ catch { /* skip malformed lines */ }
171
+ }
172
+ return { available: true, data: entries };
173
+ }
174
+ catch (err) {
175
+ return { available: false, data: [], error: err.message };
176
+ }
177
+ }
178
+ // ─── Main Builder ───────────────────────────────────────────
179
+ export async function buildContext(options = {}) {
180
+ const cwd = options.repoRoot ?? process.cwd();
181
+ // Gather all sources in parallel (all best-effort)
182
+ const [gitInfo, registryCtx, colonyCtx, activityCtx] = await Promise.all([
183
+ getGitInfo(cwd),
184
+ getGitInfo(cwd).then(g => getRegistryContext(g.data.branch)),
185
+ getColonySnapshot(),
186
+ options.includeActivity ? getRecentActivity(cwd) : Promise.resolve(undefined),
187
+ ]);
188
+ const conflicts = registryCtx.data.conflicts;
189
+ const context = {
190
+ timestamp: new Date().toISOString(),
191
+ repo: gitInfo.data.repo,
192
+ branch: gitInfo.data.branch,
193
+ registry: {
194
+ active: registryCtx.data.active,
195
+ stale: registryCtx.data.stale,
196
+ branches: registryCtx.data.branches,
197
+ },
198
+ conflicts: {
199
+ tier1: conflicts.filter(c => c.tier === 1).length,
200
+ tier2: conflicts.filter(c => c.tier === 2).length,
201
+ tier3: conflicts.filter(c => c.tier === 3).length,
202
+ details: conflicts,
203
+ },
204
+ gitStatus: {
205
+ ahead: gitInfo.data.ahead,
206
+ behind: gitInfo.data.behind,
207
+ dirty: gitInfo.data.dirty,
208
+ },
209
+ colony: colonyCtx.data,
210
+ };
211
+ if (activityCtx?.available) {
212
+ context.activityLog = activityCtx.data;
213
+ }
214
+ return context;
215
+ }
216
+ //# sourceMappingURL=context-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../src/lib/ai/context-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Spidersan AI Core — Event Handler
3
+ *
4
+ * Processes git/colony events → deterministic conflict check → optional LLM escalation.
5
+ * Pure functions — no CLI or server concerns.
6
+ */
7
+ import type { Advice, EventPayload } from './types.js';
8
+ /**
9
+ * Handle an event (push, PR, colony signal, branch register).
10
+ * First runs deterministic conflict check (fast, no LLM).
11
+ * Only escalates to LLM for TIER 2+ or complex scenarios.
12
+ *
13
+ * @param opts.repoRoot - Local repo path for context building. Defaults to process.cwd().
14
+ * @param opts.localOnly - If true, LLM escalation uses local providers only (never hosted/copilot).
15
+ * Use this for daemon/webhook paths to avoid consuming remote API credits.
16
+ */
17
+ export declare function handleEvent(event: EventPayload, opts?: {
18
+ repoRoot?: string;
19
+ localOnly?: boolean;
20
+ }): Promise<Advice>;
21
+ //# sourceMappingURL=event-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/event-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAwDtE;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAwC7H"}