247-cli 2.21.0 → 2.23.2

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 (125) hide show
  1. package/agent/dist/config.d.ts +4 -7
  2. package/agent/dist/config.d.ts.map +1 -1
  3. package/agent/dist/config.js +1 -2
  4. package/agent/dist/config.js.map +1 -1
  5. package/agent/dist/db/index.d.ts +0 -6
  6. package/agent/dist/db/index.d.ts.map +1 -1
  7. package/agent/dist/db/index.js +142 -88
  8. package/agent/dist/db/index.js.map +1 -1
  9. package/agent/dist/db/schema.d.ts +3 -32
  10. package/agent/dist/db/schema.d.ts.map +1 -1
  11. package/agent/dist/db/schema.js +1 -38
  12. package/agent/dist/db/schema.js.map +1 -1
  13. package/agent/dist/db/sessions.d.ts +0 -20
  14. package/agent/dist/db/sessions.d.ts.map +1 -1
  15. package/agent/dist/db/sessions.js +0 -86
  16. package/agent/dist/db/sessions.js.map +1 -1
  17. package/agent/dist/index.js +1 -0
  18. package/agent/dist/index.js.map +1 -1
  19. package/agent/dist/logger.d.ts +0 -2
  20. package/agent/dist/logger.d.ts.map +1 -1
  21. package/agent/dist/logger.js +0 -4
  22. package/agent/dist/logger.js.map +1 -1
  23. package/agent/dist/routes/attention.d.ts +10 -0
  24. package/agent/dist/routes/attention.d.ts.map +1 -0
  25. package/agent/dist/routes/attention.js +123 -0
  26. package/agent/dist/routes/attention.js.map +1 -0
  27. package/agent/dist/routes/index.d.ts +3 -7
  28. package/agent/dist/routes/index.d.ts.map +1 -1
  29. package/agent/dist/routes/index.js +3 -7
  30. package/agent/dist/routes/index.js.map +1 -1
  31. package/agent/dist/routes/pair.d.ts +26 -0
  32. package/agent/dist/routes/pair.d.ts.map +1 -0
  33. package/agent/dist/routes/pair.js +381 -0
  34. package/agent/dist/routes/pair.js.map +1 -0
  35. package/agent/dist/routes/projects.d.ts +2 -1
  36. package/agent/dist/routes/projects.d.ts.map +1 -1
  37. package/agent/dist/routes/projects.js +7 -39
  38. package/agent/dist/routes/projects.js.map +1 -1
  39. package/agent/dist/routes/sessions.d.ts.map +1 -1
  40. package/agent/dist/routes/sessions.js +38 -97
  41. package/agent/dist/routes/sessions.js.map +1 -1
  42. package/agent/dist/server.d.ts.map +1 -1
  43. package/agent/dist/server.js +11 -81
  44. package/agent/dist/server.js.map +1 -1
  45. package/agent/dist/setup-hooks.d.ts +10 -0
  46. package/agent/dist/setup-hooks.d.ts.map +1 -0
  47. package/agent/dist/setup-hooks.js +157 -0
  48. package/agent/dist/setup-hooks.js.map +1 -0
  49. package/agent/dist/status.d.ts.map +1 -1
  50. package/agent/dist/status.js +0 -8
  51. package/agent/dist/status.js.map +1 -1
  52. package/agent/dist/websocket-handlers.d.ts.map +1 -1
  53. package/agent/dist/websocket-handlers.js +2 -139
  54. package/agent/dist/websocket-handlers.js.map +1 -1
  55. package/agent/node_modules/247-shared/dist/types/index.d.ts +0 -54
  56. package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
  57. package/agent/node_modules/247-shared/dist/types/index.js +0 -16
  58. package/agent/node_modules/247-shared/dist/types/index.js.map +1 -1
  59. package/agent/node_modules/247-shared/package.json +1 -1
  60. package/dist/index.js +1 -1
  61. package/package.json +3 -3
  62. package/agent/dist/db/environments.d.ts +0 -60
  63. package/agent/dist/db/environments.d.ts.map +0 -1
  64. package/agent/dist/db/environments.js +0 -235
  65. package/agent/dist/db/environments.js.map +0 -1
  66. package/agent/dist/db/push-subscriptions.d.ts +0 -44
  67. package/agent/dist/db/push-subscriptions.d.ts.map +0 -1
  68. package/agent/dist/db/push-subscriptions.js +0 -98
  69. package/agent/dist/db/push-subscriptions.js.map +0 -1
  70. package/agent/dist/editor.d.ts +0 -18
  71. package/agent/dist/editor.d.ts.map +0 -1
  72. package/agent/dist/editor.js +0 -222
  73. package/agent/dist/editor.js.map +0 -1
  74. package/agent/dist/environments.d.ts +0 -59
  75. package/agent/dist/environments.d.ts.map +0 -1
  76. package/agent/dist/environments.js +0 -229
  77. package/agent/dist/environments.js.map +0 -1
  78. package/agent/dist/git.d.ts +0 -39
  79. package/agent/dist/git.d.ts.map +0 -1
  80. package/agent/dist/git.js +0 -436
  81. package/agent/dist/git.js.map +0 -1
  82. package/agent/dist/heartbeat-monitor.d.ts +0 -24
  83. package/agent/dist/heartbeat-monitor.d.ts.map +0 -1
  84. package/agent/dist/heartbeat-monitor.js +0 -105
  85. package/agent/dist/heartbeat-monitor.js.map +0 -1
  86. package/agent/dist/push/sender.d.ts +0 -26
  87. package/agent/dist/push/sender.d.ts.map +0 -1
  88. package/agent/dist/push/sender.js +0 -122
  89. package/agent/dist/push/sender.js.map +0 -1
  90. package/agent/dist/push/vapid.d.ts +0 -25
  91. package/agent/dist/push/vapid.d.ts.map +0 -1
  92. package/agent/dist/push/vapid.js +0 -81
  93. package/agent/dist/push/vapid.js.map +0 -1
  94. package/agent/dist/routes/editor.d.ts +0 -9
  95. package/agent/dist/routes/editor.d.ts.map +0 -1
  96. package/agent/dist/routes/editor.js +0 -63
  97. package/agent/dist/routes/editor.js.map +0 -1
  98. package/agent/dist/routes/environments.d.ts +0 -6
  99. package/agent/dist/routes/environments.d.ts.map +0 -1
  100. package/agent/dist/routes/environments.js +0 -94
  101. package/agent/dist/routes/environments.js.map +0 -1
  102. package/agent/dist/routes/files.d.ts +0 -6
  103. package/agent/dist/routes/files.d.ts.map +0 -1
  104. package/agent/dist/routes/files.js +0 -84
  105. package/agent/dist/routes/files.js.map +0 -1
  106. package/agent/dist/routes/heartbeat.d.ts +0 -10
  107. package/agent/dist/routes/heartbeat.d.ts.map +0 -1
  108. package/agent/dist/routes/heartbeat.js +0 -124
  109. package/agent/dist/routes/heartbeat.js.map +0 -1
  110. package/agent/dist/routes/notification.d.ts +0 -9
  111. package/agent/dist/routes/notification.d.ts.map +0 -1
  112. package/agent/dist/routes/notification.js +0 -172
  113. package/agent/dist/routes/notification.js.map +0 -1
  114. package/agent/dist/routes/push.d.ts +0 -7
  115. package/agent/dist/routes/push.d.ts.map +0 -1
  116. package/agent/dist/routes/push.js +0 -98
  117. package/agent/dist/routes/push.js.map +0 -1
  118. package/agent/dist/routes/stop.d.ts +0 -9
  119. package/agent/dist/routes/stop.d.ts.map +0 -1
  120. package/agent/dist/routes/stop.js +0 -121
  121. package/agent/dist/routes/stop.js.map +0 -1
  122. package/agent/dist/setup-statusline.d.ts +0 -10
  123. package/agent/dist/setup-statusline.d.ts.map +0 -1
  124. package/agent/dist/setup-statusline.js +0 -234
  125. package/agent/dist/setup-statusline.js.map +0 -1
@@ -50,7 +50,6 @@ export function upsertSession(name, input) {
50
50
  name, project, status, attention_reason, last_event,
51
51
  last_activity, last_status_change, environment_id, created_at, updated_at,
52
52
  model, cost_usd, context_usage, lines_added, lines_removed,
53
- ralph_enabled, ralph_config, ralph_iteration, ralph_status,
54
53
  worktree_path, branch_name,
55
54
  spawn_prompt, parent_session, task_id, exit_code, exited_at,
56
55
  output_content, output_captured_at
@@ -59,7 +58,6 @@ export function upsertSession(name, input) {
59
58
  @name, @project, @status, @attentionReason, @lastEvent,
60
59
  @lastActivity, @lastStatusChange, @environmentId, @createdAt, @updatedAt,
61
60
  @model, @costUsd, @contextUsage, @linesAdded, @linesRemoved,
62
- @ralphEnabled, @ralphConfig, @ralphIteration, @ralphStatus,
63
61
  @worktreePath, @branchName,
64
62
  @spawnPrompt, @parentSession, @taskId, @exitCode, @exitedAt,
65
63
  @outputContent, @outputCapturedAt
@@ -77,10 +75,6 @@ export function upsertSession(name, input) {
77
75
  context_usage = COALESCE(@contextUsage, context_usage),
78
76
  lines_added = COALESCE(@linesAdded, lines_added),
79
77
  lines_removed = COALESCE(@linesRemoved, lines_removed),
80
- ralph_enabled = COALESCE(@ralphEnabled, ralph_enabled),
81
- ralph_config = COALESCE(@ralphConfig, ralph_config),
82
- ralph_iteration = COALESCE(@ralphIteration, ralph_iteration),
83
- ralph_status = COALESCE(@ralphStatus, ralph_status),
84
78
  worktree_path = COALESCE(@worktreePath, worktree_path),
85
79
  branch_name = COALESCE(@branchName, branch_name),
86
80
  spawn_prompt = COALESCE(@spawnPrompt, spawn_prompt),
@@ -107,10 +101,6 @@ export function upsertSession(name, input) {
107
101
  contextUsage: input.contextUsage ?? null,
108
102
  linesAdded: input.linesAdded ?? null,
109
103
  linesRemoved: input.linesRemoved ?? null,
110
- ralphEnabled: input.ralphEnabled !== undefined ? (input.ralphEnabled ? 1 : 0) : null,
111
- ralphConfig: input.ralphConfig ? JSON.stringify(input.ralphConfig) : null,
112
- ralphIteration: input.ralphIteration ?? null,
113
- ralphStatus: input.ralphStatus ?? null,
114
104
  worktreePath: input.worktreePath ?? null,
115
105
  branchName: input.branchName ?? null,
116
106
  spawnPrompt: input.spawn_prompt ?? null,
@@ -273,82 +263,6 @@ export function clearSessionEnvironmentId(sessionName) {
273
263
  const db = getDatabase();
274
264
  db.prepare('DELETE FROM session_environments WHERE session_name = ?').run(sessionName);
275
265
  }
276
- // ============================================================================
277
- // Ralph Mode Functions (Legacy - kept for backwards compatibility)
278
- // ============================================================================
279
- /**
280
- * Enable Ralph mode for a session (legacy)
281
- */
282
- export function enableRalph(name, config) {
283
- const db = getDatabase();
284
- const result = db
285
- .prepare(`
286
- UPDATE sessions SET
287
- ralph_enabled = 1,
288
- ralph_config = ?,
289
- ralph_iteration = 0,
290
- ralph_status = 'running',
291
- updated_at = ?
292
- WHERE name = ?
293
- `)
294
- .run(JSON.stringify(config), Date.now(), name);
295
- return result.changes > 0;
296
- }
297
- /**
298
- * Disable Ralph mode for a session (legacy)
299
- */
300
- export function disableRalph(name) {
301
- const db = getDatabase();
302
- const result = db
303
- .prepare(`
304
- UPDATE sessions SET
305
- ralph_enabled = 0,
306
- ralph_status = NULL,
307
- updated_at = ?
308
- WHERE name = ?
309
- `)
310
- .run(Date.now(), name);
311
- return result.changes > 0;
312
- }
313
- /**
314
- * Update Ralph status for a session (legacy)
315
- */
316
- export function updateRalphStatus(name, status) {
317
- const db = getDatabase();
318
- const result = db
319
- .prepare(`
320
- UPDATE sessions SET
321
- ralph_status = ?,
322
- updated_at = ?
323
- WHERE name = ?
324
- `)
325
- .run(status, Date.now(), name);
326
- return result.changes > 0;
327
- }
328
- /**
329
- * Increment Ralph iteration counter (legacy)
330
- */
331
- export function incrementRalphIteration(name) {
332
- const db = getDatabase();
333
- db.prepare(`
334
- UPDATE sessions SET
335
- ralph_iteration = ralph_iteration + 1,
336
- updated_at = ?
337
- WHERE name = ?
338
- `).run(Date.now(), name);
339
- // Return new iteration count
340
- const session = getSession(name);
341
- return session?.ralph_iteration ?? 0;
342
- }
343
- /**
344
- * Get Ralph-enabled sessions (legacy)
345
- */
346
- export function getRalphEnabledSessions() {
347
- const db = getDatabase();
348
- return db
349
- .prepare('SELECT * FROM sessions WHERE ralph_enabled = 1 AND archived_at IS NULL')
350
- .all();
351
- }
352
266
  /**
353
267
  * Convert DbSession to HookStatus format (for compatibility with existing code)
354
268
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ async function main() {
8
8
  server.listen(PORT, () => {
9
9
  logger.main.info({ port: PORT }, 'Agent running');
10
10
  logger.main.info({ url: `ws://localhost:${PORT}` }, 'Dashboard connection URL');
11
+ logger.main.info({ url: `http://localhost:${PORT}/pair` }, 'Pair with dashboard at');
11
12
  logger.main.info('For remote access, use Tailscale Funnel, Cloudflare Tunnel, or SSH tunnel');
12
13
  });
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;AAExC,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,kBAAkB,IAAI,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;AAExC,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,kBAAkB,IAAI,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,oBAAoB,IAAI,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -5,8 +5,6 @@ export declare const logger: {
5
5
  db: pino.Logger<never, boolean>;
6
6
  session: pino.Logger<never, boolean>;
7
7
  terminal: pino.Logger<never, boolean>;
8
- editor: pino.Logger<never, boolean>;
9
- git: pino.Logger<never, boolean>;
10
8
  env: pino.Logger<never, boolean>;
11
9
  connections: pino.Logger<never, boolean>;
12
10
  hooks: pino.Logger<never, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAwBxB,eAAO,MAAM,MAAM;;;;;;;;;;;CA8BlB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAwBxB,eAAO,MAAM,MAAM;;;;;;;;;CAwBlB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -29,10 +29,6 @@ export const logger = {
29
29
  session: baseLogger.child({ module: 'Session' }),
30
30
  // Terminal/PTY related logs
31
31
  terminal: baseLogger.child({ module: 'Terminal' }),
32
- // Editor (code-server) related logs
33
- editor: baseLogger.child({ module: 'Editor' }),
34
- // Git operations logs
35
- git: baseLogger.child({ module: 'Git' }),
36
32
  // Environment management logs
37
33
  env: baseLogger.child({ module: 'Environments' }),
38
34
  // Connection management logs
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,sDAAsD;AACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;AAE9C,2DAA2D;AAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAEpD,qBAAqB;AACrB,MAAM,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK;IACL,GAAG,CAAC,KAAK,IAAI;QACX,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;aACvB;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,mCAAmC;IACnC,IAAI,EAAE,UAAU;IAEhB,0BAA0B;IAC1B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE9C,wBAAwB;IACxB,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEtC,0BAA0B;IAC1B,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEhD,4BAA4B;IAC5B,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAElD,oCAAoC;IACpC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE9C,sBAAsB;IACtB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAExC,8BAA8B;IAC9B,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAEjD,6BAA6B;IAC7B,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAExD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,sDAAsD;AACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;AAE9C,2DAA2D;AAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAEpD,qBAAqB;AACrB,MAAM,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK;IACL,GAAG,CAAC,KAAK,IAAI;QACX,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;aACvB;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,mCAAmC;IACnC,IAAI,EAAE,UAAU;IAEhB,0BAA0B;IAC1B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE9C,wBAAwB;IACxB,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEtC,0BAA0B;IAC1B,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEhD,4BAA4B;IAC5B,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAElD,8BAA8B;IAC9B,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAEjD,6BAA6B;IAC7B,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAExD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Attention API route: receives attention notifications from Claude Code hooks.
3
+ * Simplified replacement for the notification/heartbeat system.
4
+ * Forwards attention events to Next.js dashboard webhook.
5
+ */
6
+ import { type Router as RouterType } from 'express';
7
+ declare const router: RouterType;
8
+ export declare function createAttentionRoutes(): RouterType;
9
+ export default router;
10
+ //# sourceMappingURL=attention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.d.ts","sourceRoot":"","sources":["../../src/routes/attention.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAU,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAO5D,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AAoJpC,wBAAgB,qBAAqB,IAAI,UAAU,CAElD;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Attention API route: receives attention notifications from Claude Code hooks.
3
+ * Simplified replacement for the notification/heartbeat system.
4
+ * Forwards attention events to Next.js dashboard webhook.
5
+ */
6
+ import { Router } from 'express';
7
+ import path from 'path';
8
+ import { execSync } from 'child_process';
9
+ import * as sessionsDb from '../db/sessions.js';
10
+ import { config } from '../config.js';
11
+ const router = Router();
12
+ // Dashboard webhook configuration
13
+ const DASHBOARD_WEBHOOK_URL = process.env.DASHBOARD_WEBHOOK_URL;
14
+ const DASHBOARD_API_KEY = process.env.DASHBOARD_API_KEY;
15
+ /**
16
+ * Check if a tmux session exists.
17
+ */
18
+ function tmuxSessionExists(sessionName) {
19
+ try {
20
+ execSync(`tmux has-session -t "${sessionName}" 2>/dev/null`);
21
+ return true;
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
27
+ /**
28
+ * Determine attention reason from payload.
29
+ */
30
+ function getAttentionReason(payload) {
31
+ if (payload.permission_mode === 'plan') {
32
+ return 'plan_approval';
33
+ }
34
+ switch (payload.notification_type) {
35
+ case 'permission_prompt':
36
+ return 'permission';
37
+ case 'idle_prompt':
38
+ return 'input';
39
+ case 'elicitation_dialog':
40
+ return 'permission';
41
+ case 'auth_success':
42
+ return 'input';
43
+ default:
44
+ if (payload.tool_name) {
45
+ return 'permission';
46
+ }
47
+ return 'input';
48
+ }
49
+ }
50
+ /**
51
+ * Forward attention event to dashboard webhook
52
+ */
53
+ async function forwardToWebhook(sessionName, project, reason) {
54
+ if (!DASHBOARD_WEBHOOK_URL || !DASHBOARD_API_KEY) {
55
+ console.log('[Attention] Dashboard webhook not configured, skipping forward');
56
+ return;
57
+ }
58
+ try {
59
+ const response = await fetch(DASHBOARD_WEBHOOK_URL, {
60
+ method: 'POST',
61
+ headers: {
62
+ 'Content-Type': 'application/json',
63
+ 'X-API-Key': DASHBOARD_API_KEY,
64
+ },
65
+ body: JSON.stringify({
66
+ sessionName,
67
+ project,
68
+ reason,
69
+ machineId: config.machine.id,
70
+ machineName: config.machine.name,
71
+ }),
72
+ });
73
+ if (!response.ok) {
74
+ console.error(`[Attention] Webhook failed: ${response.status} ${response.statusText}`);
75
+ }
76
+ else {
77
+ console.log(`[Attention] Forwarded to webhook: ${sessionName} (${reason})`);
78
+ }
79
+ }
80
+ catch (error) {
81
+ console.error('[Attention] Failed to forward to webhook:', error);
82
+ }
83
+ }
84
+ /**
85
+ * Receive attention notification from Claude Code hook.
86
+ * Persists to database and forwards to dashboard webhook.
87
+ */
88
+ router.post('/', async (req, res) => {
89
+ const payload = req.body;
90
+ const { tmux_session } = payload;
91
+ if (!tmux_session) {
92
+ return res.status(400).json({ error: 'Missing tmux_session' });
93
+ }
94
+ // Validate that the tmux session actually exists
95
+ if (!tmuxSessionExists(tmux_session)) {
96
+ return res.status(404).json({ error: 'Session not found' });
97
+ }
98
+ const now = Date.now();
99
+ // Extract project from cwd or session name
100
+ const project = payload.cwd
101
+ ? path.basename(payload.cwd)
102
+ : tmux_session.split('--')[0] || 'unknown';
103
+ const attentionReason = getAttentionReason(payload);
104
+ // Persist to database
105
+ sessionsDb.upsertSession(tmux_session, {
106
+ project,
107
+ status: 'needs_attention',
108
+ attentionReason,
109
+ lastActivity: now,
110
+ lastStatusChange: now,
111
+ });
112
+ console.log(`[Attention] ${tmux_session}: needs_attention (${attentionReason})`);
113
+ // Forward to dashboard webhook (async, don't wait)
114
+ forwardToWebhook(tmux_session, project, attentionReason).catch(() => {
115
+ // Error already logged in forwardToWebhook
116
+ });
117
+ res.json({ ok: true });
118
+ });
119
+ export function createAttentionRoutes() {
120
+ return router;
121
+ }
122
+ export default router;
123
+ //# sourceMappingURL=attention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.js","sourceRoot":"","sources":["../../src/routes/attention.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * Route aggregation - exports all route creators.
3
3
  */
4
- export { createProjectRoutes } from './projects.js';
5
- export { createEnvironmentRoutes } from './environments.js';
4
+ export { createProjectRoutes, isProjectAllowed } from './projects.js';
6
5
  export { createSessionRoutes } from './sessions.js';
7
- export { createHeartbeatRoutes } from './heartbeat.js';
8
- export { createNotificationRoutes } from './notification.js';
9
- export { createStopRoutes } from './stop.js';
10
- export { createEditorRoutes, isProjectAllowed, updateEditorActivity, getOrStartEditor, } from './editor.js';
11
- export { createFilesRoutes } from './files.js';
6
+ export { createAttentionRoutes } from './attention.js';
7
+ export { createPairRoutes, verifyToken } from './pair.js';
12
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * Route aggregation - exports all route creators.
3
3
  */
4
- export { createProjectRoutes } from './projects.js';
5
- export { createEnvironmentRoutes } from './environments.js';
4
+ export { createProjectRoutes, isProjectAllowed } from './projects.js';
6
5
  export { createSessionRoutes } from './sessions.js';
7
- export { createHeartbeatRoutes } from './heartbeat.js';
8
- export { createNotificationRoutes } from './notification.js';
9
- export { createStopRoutes } from './stop.js';
10
- export { createEditorRoutes, isProjectAllowed, updateEditorActivity, getOrStartEditor, } from './editor.js';
11
- export { createFilesRoutes } from './files.js';
6
+ export { createAttentionRoutes } from './attention.js';
7
+ export { createPairRoutes, verifyToken } from './pair.js';
12
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Pairing routes: Allow users to pair their agent with the dashboard.
3
+ * Provides a web page with pairing link, QR code, and 6-digit fallback code.
4
+ */
5
+ import { Router } from 'express';
6
+ interface PairingCode {
7
+ code: string;
8
+ machineId: string;
9
+ machineName: string;
10
+ agentUrl: string;
11
+ createdAt: number;
12
+ expiresAt: number;
13
+ }
14
+ declare const pairingCodes: Map<string, PairingCode>;
15
+ declare function generateCode(): string;
16
+ declare function createToken(payload: object, secret: string, expiresInMs: number): string;
17
+ export declare function verifyToken(token: string, secret: string): {
18
+ valid: boolean;
19
+ payload?: Record<string, unknown>;
20
+ error?: string;
21
+ };
22
+ declare function getAgentUrl(): string;
23
+ declare function getDashboardUrl(): string;
24
+ export declare function createPairRoutes(): Router;
25
+ export { pairingCodes, generateCode, createToken, getAgentUrl, getDashboardUrl };
26
+ //# sourceMappingURL=pair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../src/routes/pair.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,YAAY,0BAAiC,CAAC;AAapD,iBAAS,YAAY,IAAI,MAAM,CAO9B;AAGD,iBAAS,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMjF;AAGD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsBvE;AAGD,iBAAS,WAAW,IAAI,MAAM,CAM7B;AAGD,iBAAS,eAAe,IAAI,MAAM,CAOjC;AAWD,wBAAgB,gBAAgB,IAAI,MAAM,CA0UzC;AAGD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC"}