247-cli 2.21.1 → 2.23.3

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 (160) 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 -7
  6. package/agent/dist/db/index.d.ts.map +1 -1
  7. package/agent/dist/db/index.js +68 -333
  8. package/agent/dist/db/index.js.map +1 -1
  9. package/agent/dist/db/schema.d.ts +3 -90
  10. package/agent/dist/db/schema.d.ts.map +1 -1
  11. package/agent/dist/db/schema.js +4 -105
  12. package/agent/dist/db/schema.js.map +1 -1
  13. package/agent/dist/db/sessions.d.ts +0 -53
  14. package/agent/dist/db/sessions.d.ts.map +1 -1
  15. package/agent/dist/db/sessions.js +3 -224
  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 +1 -0
  40. package/agent/dist/routes/sessions.d.ts.map +1 -1
  41. package/agent/dist/routes/sessions.js +14 -379
  42. package/agent/dist/routes/sessions.js.map +1 -1
  43. package/agent/dist/server.d.ts.map +1 -1
  44. package/agent/dist/server.js +11 -81
  45. package/agent/dist/server.js.map +1 -1
  46. package/agent/dist/services/index.d.ts +1 -6
  47. package/agent/dist/services/index.d.ts.map +1 -1
  48. package/agent/dist/services/index.js +4 -4
  49. package/agent/dist/services/index.js.map +1 -1
  50. package/agent/dist/setup-hooks.d.ts +10 -0
  51. package/agent/dist/setup-hooks.d.ts.map +1 -0
  52. package/agent/dist/setup-hooks.js +157 -0
  53. package/agent/dist/setup-hooks.js.map +1 -0
  54. package/agent/dist/status.d.ts +0 -6
  55. package/agent/dist/status.d.ts.map +1 -1
  56. package/agent/dist/status.js +2 -12
  57. package/agent/dist/status.js.map +1 -1
  58. package/agent/dist/terminal.d.ts +0 -11
  59. package/agent/dist/terminal.d.ts.map +1 -1
  60. package/agent/dist/terminal.js +6 -60
  61. package/agent/dist/terminal.js.map +1 -1
  62. package/agent/dist/websocket-handlers.d.ts +1 -0
  63. package/agent/dist/websocket-handlers.d.ts.map +1 -1
  64. package/agent/dist/websocket-handlers.js +3 -187
  65. package/agent/dist/websocket-handlers.js.map +1 -1
  66. package/agent/node_modules/247-shared/dist/types/index.d.ts +0 -232
  67. package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
  68. package/agent/node_modules/247-shared/dist/types/index.js +1 -63
  69. package/agent/node_modules/247-shared/dist/types/index.js.map +1 -1
  70. package/agent/node_modules/247-shared/package.json +1 -1
  71. package/dist/index.js +1 -1
  72. package/package.json +3 -3
  73. package/agent/dist/db/environments.d.ts +0 -60
  74. package/agent/dist/db/environments.d.ts.map +0 -1
  75. package/agent/dist/db/environments.js +0 -235
  76. package/agent/dist/db/environments.js.map +0 -1
  77. package/agent/dist/db/events.d.ts +0 -46
  78. package/agent/dist/db/events.d.ts.map +0 -1
  79. package/agent/dist/db/events.js +0 -193
  80. package/agent/dist/db/events.js.map +0 -1
  81. package/agent/dist/db/history.d.ts +0 -37
  82. package/agent/dist/db/history.d.ts.map +0 -1
  83. package/agent/dist/db/history.js +0 -98
  84. package/agent/dist/db/history.js.map +0 -1
  85. package/agent/dist/db/push-subscriptions.d.ts +0 -44
  86. package/agent/dist/db/push-subscriptions.d.ts.map +0 -1
  87. package/agent/dist/db/push-subscriptions.js +0 -98
  88. package/agent/dist/db/push-subscriptions.js.map +0 -1
  89. package/agent/dist/editor.d.ts +0 -18
  90. package/agent/dist/editor.d.ts.map +0 -1
  91. package/agent/dist/editor.js +0 -222
  92. package/agent/dist/editor.js.map +0 -1
  93. package/agent/dist/environments.d.ts +0 -59
  94. package/agent/dist/environments.d.ts.map +0 -1
  95. package/agent/dist/environments.js +0 -229
  96. package/agent/dist/environments.js.map +0 -1
  97. package/agent/dist/git.d.ts +0 -39
  98. package/agent/dist/git.d.ts.map +0 -1
  99. package/agent/dist/git.js +0 -436
  100. package/agent/dist/git.js.map +0 -1
  101. package/agent/dist/heartbeat-monitor.d.ts +0 -24
  102. package/agent/dist/heartbeat-monitor.d.ts.map +0 -1
  103. package/agent/dist/heartbeat-monitor.js +0 -105
  104. package/agent/dist/heartbeat-monitor.js.map +0 -1
  105. package/agent/dist/push/sender.d.ts +0 -26
  106. package/agent/dist/push/sender.d.ts.map +0 -1
  107. package/agent/dist/push/sender.js +0 -122
  108. package/agent/dist/push/sender.js.map +0 -1
  109. package/agent/dist/push/vapid.d.ts +0 -25
  110. package/agent/dist/push/vapid.d.ts.map +0 -1
  111. package/agent/dist/push/vapid.js +0 -81
  112. package/agent/dist/push/vapid.js.map +0 -1
  113. package/agent/dist/routes/editor.d.ts +0 -9
  114. package/agent/dist/routes/editor.d.ts.map +0 -1
  115. package/agent/dist/routes/editor.js +0 -63
  116. package/agent/dist/routes/editor.js.map +0 -1
  117. package/agent/dist/routes/environments.d.ts +0 -6
  118. package/agent/dist/routes/environments.d.ts.map +0 -1
  119. package/agent/dist/routes/environments.js +0 -94
  120. package/agent/dist/routes/environments.js.map +0 -1
  121. package/agent/dist/routes/files.d.ts +0 -6
  122. package/agent/dist/routes/files.d.ts.map +0 -1
  123. package/agent/dist/routes/files.js +0 -84
  124. package/agent/dist/routes/files.js.map +0 -1
  125. package/agent/dist/routes/heartbeat.d.ts +0 -10
  126. package/agent/dist/routes/heartbeat.d.ts.map +0 -1
  127. package/agent/dist/routes/heartbeat.js +0 -124
  128. package/agent/dist/routes/heartbeat.js.map +0 -1
  129. package/agent/dist/routes/notification.d.ts +0 -9
  130. package/agent/dist/routes/notification.d.ts.map +0 -1
  131. package/agent/dist/routes/notification.js +0 -172
  132. package/agent/dist/routes/notification.js.map +0 -1
  133. package/agent/dist/routes/push.d.ts +0 -7
  134. package/agent/dist/routes/push.d.ts.map +0 -1
  135. package/agent/dist/routes/push.js +0 -98
  136. package/agent/dist/routes/push.js.map +0 -1
  137. package/agent/dist/routes/stop.d.ts +0 -9
  138. package/agent/dist/routes/stop.d.ts.map +0 -1
  139. package/agent/dist/routes/stop.js +0 -121
  140. package/agent/dist/routes/stop.js.map +0 -1
  141. package/agent/dist/services/cleanup.d.ts +0 -45
  142. package/agent/dist/services/cleanup.d.ts.map +0 -1
  143. package/agent/dist/services/cleanup.js +0 -130
  144. package/agent/dist/services/cleanup.js.map +0 -1
  145. package/agent/dist/services/execution.d.ts +0 -53
  146. package/agent/dist/services/execution.d.ts.map +0 -1
  147. package/agent/dist/services/execution.js +0 -75
  148. package/agent/dist/services/execution.js.map +0 -1
  149. package/agent/dist/services/stream-json.d.ts +0 -109
  150. package/agent/dist/services/stream-json.d.ts.map +0 -1
  151. package/agent/dist/services/stream-json.js +0 -335
  152. package/agent/dist/services/stream-json.js.map +0 -1
  153. package/agent/dist/services/worktree.d.ts +0 -41
  154. package/agent/dist/services/worktree.d.ts.map +0 -1
  155. package/agent/dist/services/worktree.js +0 -139
  156. package/agent/dist/services/worktree.js.map +0 -1
  157. package/agent/dist/setup-statusline.d.ts +0 -10
  158. package/agent/dist/setup-statusline.d.ts.map +0 -1
  159. package/agent/dist/setup-statusline.js +0 -234
  160. package/agent/dist/setup-statusline.js.map +0 -1
@@ -5,18 +5,15 @@ export interface AgentConfig {
5
5
  };
6
6
  agent?: {
7
7
  port?: number;
8
+ url?: string;
8
9
  };
9
10
  projects: {
10
11
  basePath: string;
11
12
  whitelist: string[];
12
13
  };
13
- editor?: {
14
- enabled?: boolean;
15
- portRange?: {
16
- start: number;
17
- end: number;
18
- };
19
- idleTimeout?: number;
14
+ dashboard?: {
15
+ apiUrl?: string;
16
+ apiKey?: string;
20
17
  };
21
18
  }
22
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAgBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAuCxC;AAED,eAAO,MAAM,MAAM,aAAe,CAAC;AACnC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAgBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAsCxC;AAED,eAAO,MAAM,MAAM,aAAe,CAAC;AACnC,eAAe,MAAM,CAAC"}
@@ -48,8 +48,7 @@ export function loadConfig() {
48
48
  }
49
49
  }
50
50
  }
51
- throw new Error(`No configuration found at ${configPath}\n` +
52
- `Run '247 init' to create configuration.`);
51
+ throw new Error(`No configuration found at ${configPath}\n` + `Run '247 init' to create configuration.`);
53
52
  }
54
53
  export const config = loadConfig();
55
54
  export default config;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAwB/B,IAAI,YAAY,GAAuB,IAAI,CAAC;AAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;AAE5D;;GAEG;AACH,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,iBAAiB,UAAU,EAAE,CAAC,CAAC;YAC1D,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,+BAA+B,WAAW,EAAE,CAAC,CAAC;gBACjF,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,IAAI;QAC3C,yCAAyC,CAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AACnC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAqB/B,IAAI,YAAY,GAAuB,IAAI,CAAC;AAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;AAE5D;;GAEG;AACH,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,iBAAiB,UAAU,EAAE,CAAC,CAAC;YAC1D,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,+BAA+B,WAAW,EAAE,CAAC,CAAC;gBACjF,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,IAAI,GAAG,yCAAyC,CACxF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AACnC,eAAe,MAAM,CAAC"}
@@ -20,18 +20,11 @@ export declare function initTestDatabase(): Database.Database;
20
20
  * Close the database connection
21
21
  */
22
22
  export declare function closeDatabase(): void;
23
- /**
24
- * Migrate environments from JSON file to database
25
- * Only runs if environments.json exists and environments table is empty
26
- */
27
- export declare function migrateEnvironmentsFromJson(database: Database.Database): boolean;
28
23
  /**
29
24
  * Get database statistics for debugging
30
25
  */
31
26
  export declare function getDatabaseStats(): {
32
27
  sessions: number;
33
- history: number;
34
- environments: number;
35
28
  };
36
29
  export { RETENTION_CONFIG };
37
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,OAAO,EAAqC,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAalF;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAqB/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,CAIpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAkYD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CA0DhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAkBA;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAqC,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAUlF;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAqB/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,CAIpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAyJD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,10 +1,7 @@
1
1
  import Database from 'better-sqlite3';
2
- import { existsSync, mkdirSync, readFileSync } from 'fs';
3
- import { join, dirname, resolve } from 'path';
4
- import { fileURLToPath } from 'url';
2
+ import { existsSync, mkdirSync } from 'fs';
3
+ import { dirname, join, resolve } from 'path';
5
4
  import { CREATE_TABLES_SQL, SCHEMA_VERSION, RETENTION_CONFIG } from './schema.js';
6
- const __filename = fileURLToPath(import.meta.url);
7
- const __dirname = dirname(__filename);
8
5
  // Database file location: ~/.247/data/agent.db
9
6
  const DATA_DIR = resolve(process.env.HOME || '~', '.247', 'data');
10
7
  const DB_PATH = join(DATA_DIR, 'agent.db');
@@ -68,35 +65,15 @@ function runMigrations(database) {
68
65
  const currentVersion = getCurrentSchemaVersion(database);
69
66
  if (currentVersion < SCHEMA_VERSION) {
70
67
  console.log(`[DB] Running migrations from v${currentVersion} to v${SCHEMA_VERSION}`);
71
- // Run all schema creation (idempotent with IF NOT EXISTS)
72
- database.exec(CREATE_TABLES_SQL);
73
- // Run incremental migrations for existing tables
74
- if (currentVersion < 2) {
75
- migrateToV2(database);
76
- }
77
- if (currentVersion < 3) {
78
- migrateToV3(database);
79
- }
80
- if (currentVersion < 4) {
81
- migrateToV4(database);
82
- }
83
- if (currentVersion < 5) {
84
- migrateToV5(database);
85
- }
86
- if (currentVersion < 6) {
87
- migrateToV6(database);
88
- }
89
- if (currentVersion < 7) {
90
- migrateToV7(database);
91
- }
92
- if (currentVersion < 8) {
93
- migrateToV8(database);
94
- }
95
- if (currentVersion < 9) {
96
- migrateToV9(database);
97
- }
98
- if (currentVersion < 10) {
99
- migrateToV10(database);
68
+ // For fresh databases or v15+, just run the simplified schema
69
+ if (currentVersion === 0) {
70
+ database.exec(CREATE_TABLES_SQL);
71
+ }
72
+ else {
73
+ // For existing databases, run the v15 migration to simplify
74
+ if (currentVersion < 15) {
75
+ migrateToV15(database);
76
+ }
100
77
  }
101
78
  // Record the new version
102
79
  database
@@ -110,264 +87,73 @@ function runMigrations(database) {
110
87
  else {
111
88
  console.log(`[DB] Database schema is up to date (v${currentVersion})`);
112
89
  }
113
- // Always ensure required columns exist (handles incomplete migrations)
114
- ensureRequiredColumns(database);
115
- }
116
- /**
117
- * Ensure all required columns exist (handles incomplete migrations)
118
- */
119
- function ensureRequiredColumns(database) {
120
- // Check environments.icon column
121
- const envColumns = database.pragma('table_info(environments)');
122
- if (!envColumns.some((c) => c.name === 'icon')) {
123
- console.log('[DB] Adding missing icon column to environments');
124
- database.exec('ALTER TABLE environments ADD COLUMN icon TEXT');
125
- }
126
- // Check sessions columns
127
- const sessionColumns = database.pragma('table_info(sessions)');
128
- const sessionColumnNames = new Set(sessionColumns.map((c) => c.name));
129
- // v3: archived_at
130
- if (!sessionColumnNames.has('archived_at')) {
131
- console.log('[DB] Adding missing archived_at column to sessions');
132
- database.exec('ALTER TABLE sessions ADD COLUMN archived_at INTEGER');
133
- }
134
- // v4: StatusLine metrics
135
- const metricsColumns = [
136
- { name: 'model', sql: 'ALTER TABLE sessions ADD COLUMN model TEXT' },
137
- { name: 'cost_usd', sql: 'ALTER TABLE sessions ADD COLUMN cost_usd REAL' },
138
- { name: 'context_usage', sql: 'ALTER TABLE sessions ADD COLUMN context_usage INTEGER' },
139
- { name: 'lines_added', sql: 'ALTER TABLE sessions ADD COLUMN lines_added INTEGER' },
140
- { name: 'lines_removed', sql: 'ALTER TABLE sessions ADD COLUMN lines_removed INTEGER' },
141
- ];
142
- for (const col of metricsColumns) {
143
- if (!sessionColumnNames.has(col.name)) {
144
- console.log(`[DB] Adding missing ${col.name} column to sessions`);
145
- database.exec(col.sql);
146
- }
147
- }
148
- // v5: Ralph mode columns
149
- const ralphColumns = [
150
- {
151
- name: 'ralph_enabled',
152
- sql: 'ALTER TABLE sessions ADD COLUMN ralph_enabled INTEGER DEFAULT 0',
153
- },
154
- { name: 'ralph_config', sql: 'ALTER TABLE sessions ADD COLUMN ralph_config TEXT' },
155
- {
156
- name: 'ralph_iteration',
157
- sql: 'ALTER TABLE sessions ADD COLUMN ralph_iteration INTEGER DEFAULT 0',
158
- },
159
- { name: 'ralph_status', sql: 'ALTER TABLE sessions ADD COLUMN ralph_status TEXT' },
160
- ];
161
- for (const col of ralphColumns) {
162
- if (!sessionColumnNames.has(col.name)) {
163
- console.log(`[DB] Adding missing ${col.name} column to sessions`);
164
- database.exec(col.sql);
165
- }
166
- }
167
- // v6: Worktree isolation columns
168
- const worktreeColumns = [
169
- { name: 'worktree_path', sql: 'ALTER TABLE sessions ADD COLUMN worktree_path TEXT' },
170
- { name: 'branch_name', sql: 'ALTER TABLE sessions ADD COLUMN branch_name TEXT' },
171
- ];
172
- for (const col of worktreeColumns) {
173
- if (!sessionColumnNames.has(col.name)) {
174
- console.log(`[DB] Adding missing ${col.name} column to sessions`);
175
- database.exec(col.sql);
176
- }
177
- }
178
- // v9: Spawn/orchestration columns
179
- const spawnColumns = [
180
- { name: 'spawn_prompt', sql: 'ALTER TABLE sessions ADD COLUMN spawn_prompt TEXT' },
181
- { name: 'parent_session', sql: 'ALTER TABLE sessions ADD COLUMN parent_session TEXT' },
182
- { name: 'task_id', sql: 'ALTER TABLE sessions ADD COLUMN task_id TEXT' },
183
- { name: 'exit_code', sql: 'ALTER TABLE sessions ADD COLUMN exit_code INTEGER' },
184
- { name: 'exited_at', sql: 'ALTER TABLE sessions ADD COLUMN exited_at INTEGER' },
185
- ];
186
- for (const col of spawnColumns) {
187
- if (!sessionColumnNames.has(col.name)) {
188
- console.log(`[DB] Adding missing ${col.name} column to sessions`);
189
- database.exec(col.sql);
190
- }
191
- }
192
- // v10: Output capture columns
193
- const outputColumns = [
194
- { name: 'output_content', sql: 'ALTER TABLE sessions ADD COLUMN output_content TEXT' },
195
- {
196
- name: 'output_captured_at',
197
- sql: 'ALTER TABLE sessions ADD COLUMN output_captured_at INTEGER',
198
- },
199
- ];
200
- for (const col of outputColumns) {
201
- if (!sessionColumnNames.has(col.name)) {
202
- console.log(`[DB] Adding missing ${col.name} column to sessions`);
203
- database.exec(col.sql);
204
- }
205
- }
206
- }
207
- /**
208
- * Migration to v2: Add icon column to environments table
209
- */
210
- function migrateToV2(database) {
211
- // Check if icon column already exists
212
- const columns = database.pragma('table_info(environments)');
213
- const hasIcon = columns.some((c) => c.name === 'icon');
214
- if (!hasIcon) {
215
- console.log('[DB] v2 migration: Adding icon column to environments');
216
- database.exec('ALTER TABLE environments ADD COLUMN icon TEXT');
217
- }
218
- }
219
- /**
220
- * Migration to v3: Add archived_at column to sessions table
221
- */
222
- function migrateToV3(database) {
223
- // Check if archived_at column already exists
224
- const columns = database.pragma('table_info(sessions)');
225
- const hasArchivedAt = columns.some((c) => c.name === 'archived_at');
226
- if (!hasArchivedAt) {
227
- console.log('[DB] v3 migration: Adding archived_at column to sessions');
228
- database.exec('ALTER TABLE sessions ADD COLUMN archived_at INTEGER');
229
- }
230
90
  }
231
91
  /**
232
- * Migration to v4: Add StatusLine metric columns to sessions table
92
+ * Migration to v15: Simplification - remove unused columns and tables
93
+ * SQLite doesn't support dropping columns easily, so we recreate the sessions table
233
94
  */
234
- function migrateToV4(database) {
235
- const columns = database.pragma('table_info(sessions)');
236
- const columnNames = new Set(columns.map((c) => c.name));
237
- const metricsColumns = [
238
- { name: 'model', sql: 'ALTER TABLE sessions ADD COLUMN model TEXT' },
239
- { name: 'cost_usd', sql: 'ALTER TABLE sessions ADD COLUMN cost_usd REAL' },
240
- { name: 'context_usage', sql: 'ALTER TABLE sessions ADD COLUMN context_usage INTEGER' },
241
- { name: 'lines_added', sql: 'ALTER TABLE sessions ADD COLUMN lines_added INTEGER' },
242
- { name: 'lines_removed', sql: 'ALTER TABLE sessions ADD COLUMN lines_removed INTEGER' },
243
- ];
244
- for (const col of metricsColumns) {
245
- if (!columnNames.has(col.name)) {
246
- console.log(`[DB] v4 migration: Adding ${col.name} column to sessions`);
247
- database.exec(col.sql);
248
- }
95
+ function migrateToV15(database) {
96
+ console.log('[DB] v15 migration: Simplifying schema');
97
+ // Drop status_history table if it exists
98
+ const historyTableExists = database
99
+ .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='status_history'`)
100
+ .get();
101
+ if (historyTableExists) {
102
+ console.log('[DB] v15 migration: Dropping status_history table');
103
+ database.exec('DROP TABLE IF EXISTS status_history');
249
104
  }
250
- }
251
- /**
252
- * Migration to v5: Add Ralph mode columns to sessions table
253
- */
254
- function migrateToV5(database) {
105
+ // Check if sessions table has the old columns we want to remove
255
106
  const columns = database.pragma('table_info(sessions)');
256
107
  const columnNames = new Set(columns.map((c) => c.name));
257
- const ralphColumns = [
258
- {
259
- name: 'ralph_enabled',
260
- sql: 'ALTER TABLE sessions ADD COLUMN ralph_enabled INTEGER DEFAULT 0',
261
- },
262
- { name: 'ralph_config', sql: 'ALTER TABLE sessions ADD COLUMN ralph_config TEXT' },
263
- {
264
- name: 'ralph_iteration',
265
- sql: 'ALTER TABLE sessions ADD COLUMN ralph_iteration INTEGER DEFAULT 0',
266
- },
267
- { name: 'ralph_status', sql: 'ALTER TABLE sessions ADD COLUMN ralph_status TEXT' },
268
- ];
269
- for (const col of ralphColumns) {
270
- if (!columnNames.has(col.name)) {
271
- console.log(`[DB] v5 migration: Adding ${col.name} column to sessions`);
272
- database.exec(col.sql);
273
- }
274
- }
275
- }
276
- /**
277
- * Migration to v6: Add worktree isolation columns to sessions table
278
- */
279
- function migrateToV6(database) {
280
- const columns = database.pragma('table_info(sessions)');
281
- const columnNames = new Set(columns.map((c) => c.name));
282
- const worktreeColumns = [
283
- { name: 'worktree_path', sql: 'ALTER TABLE sessions ADD COLUMN worktree_path TEXT' },
284
- { name: 'branch_name', sql: 'ALTER TABLE sessions ADD COLUMN branch_name TEXT' },
285
- ];
286
- for (const col of worktreeColumns) {
287
- if (!columnNames.has(col.name)) {
288
- console.log(`[DB] v6 migration: Adding ${col.name} column to sessions`);
289
- database.exec(col.sql);
290
- }
291
- }
292
- }
293
- /**
294
- * Migration to v7: No-op (projects/issues tables removed)
295
- */
296
- function migrateToV7(_database) {
297
- // Previously created projects and issues tables, but this feature has been removed
298
- console.log('[DB] v7 migration: No-op (projects/issues feature removed)');
299
- }
300
- /**
301
- * Migration to v8: Add push_subscriptions table for Web Push notifications
302
- */
303
- function migrateToV8(database) {
304
- // Check if table already exists
305
- const tableExists = database
306
- .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='push_subscriptions'`)
307
- .get();
308
- if (!tableExists) {
309
- console.log('[DB] v8 migration: Creating push_subscriptions table');
108
+ // If we have old columns like model, cost_usd, worktree_path, etc., recreate the table
109
+ const hasOldColumns = columnNames.has('model') ||
110
+ columnNames.has('cost_usd') ||
111
+ columnNames.has('worktree_path') ||
112
+ columnNames.has('spawn_prompt');
113
+ if (hasOldColumns) {
114
+ console.log('[DB] v15 migration: Recreating sessions table with simplified schema');
115
+ // Create new simplified sessions table
310
116
  database.exec(`
311
- CREATE TABLE push_subscriptions (
117
+ CREATE TABLE IF NOT EXISTS sessions_new (
312
118
  id INTEGER PRIMARY KEY AUTOINCREMENT,
313
- endpoint TEXT UNIQUE NOT NULL,
314
- keys_p256dh TEXT NOT NULL,
315
- keys_auth TEXT NOT NULL,
316
- user_agent TEXT,
317
- created_at INTEGER NOT NULL
119
+ name TEXT NOT NULL UNIQUE,
120
+ project TEXT NOT NULL,
121
+ status TEXT NOT NULL DEFAULT 'init',
122
+ attention_reason TEXT,
123
+ last_event TEXT,
124
+ last_activity INTEGER NOT NULL,
125
+ last_status_change INTEGER NOT NULL,
126
+ archived_at INTEGER,
127
+ created_at INTEGER NOT NULL,
128
+ updated_at INTEGER NOT NULL
318
129
  );
319
- CREATE INDEX idx_push_endpoint ON push_subscriptions(endpoint);
320
130
  `);
321
- }
322
- }
323
- /**
324
- * Migration to v9: Add spawn/orchestration columns to sessions table
325
- */
326
- function migrateToV9(database) {
327
- const columns = database.pragma('table_info(sessions)');
328
- const columnNames = new Set(columns.map((c) => c.name));
329
- const spawnColumns = [
330
- { name: 'spawn_prompt', sql: 'ALTER TABLE sessions ADD COLUMN spawn_prompt TEXT' },
331
- { name: 'parent_session', sql: 'ALTER TABLE sessions ADD COLUMN parent_session TEXT' },
332
- { name: 'task_id', sql: 'ALTER TABLE sessions ADD COLUMN task_id TEXT' },
333
- { name: 'exit_code', sql: 'ALTER TABLE sessions ADD COLUMN exit_code INTEGER' },
334
- { name: 'exited_at', sql: 'ALTER TABLE sessions ADD COLUMN exited_at INTEGER' },
335
- ];
336
- for (const col of spawnColumns) {
337
- if (!columnNames.has(col.name)) {
338
- console.log(`[DB] v9 migration: Adding ${col.name} column to sessions`);
339
- database.exec(col.sql);
340
- }
341
- }
342
- // Add indexes for spawn fields
343
- try {
344
- database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session)');
345
- database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_task ON sessions(task_id)');
346
- console.log('[DB] v9 migration: Added indexes for parent_session and task_id');
347
- }
348
- catch {
349
- // Indexes might already exist
350
- }
351
- }
352
- /**
353
- * Migration to v10: Add output capture columns to sessions table
354
- */
355
- function migrateToV10(database) {
356
- const columns = database.pragma('table_info(sessions)');
357
- const columnNames = new Set(columns.map((c) => c.name));
358
- const outputColumns = [
359
- { name: 'output_content', sql: 'ALTER TABLE sessions ADD COLUMN output_content TEXT' },
360
- {
361
- name: 'output_captured_at',
362
- sql: 'ALTER TABLE sessions ADD COLUMN output_captured_at INTEGER',
363
- },
364
- ];
365
- for (const col of outputColumns) {
366
- if (!columnNames.has(col.name)) {
367
- console.log(`[DB] v10 migration: Adding ${col.name} column to sessions`);
368
- database.exec(col.sql);
369
- }
370
- }
131
+ // Copy data from old table to new table (only the columns we're keeping)
132
+ database.exec(`
133
+ INSERT INTO sessions_new (name, project, status, attention_reason, last_event,
134
+ last_activity, last_status_change, archived_at, created_at, updated_at)
135
+ SELECT name, project, status, attention_reason, last_event,
136
+ last_activity, last_status_change, archived_at, created_at, updated_at
137
+ FROM sessions;
138
+ `);
139
+ // Drop old table and rename new one
140
+ database.exec('DROP TABLE sessions');
141
+ database.exec('ALTER TABLE sessions_new RENAME TO sessions');
142
+ // Recreate indexes
143
+ database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name)');
144
+ database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project)');
145
+ database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_status ON sessions(status)');
146
+ database.exec('CREATE INDEX IF NOT EXISTS idx_sessions_last_activity ON sessions(last_activity)');
147
+ console.log('[DB] v15 migration: Sessions table simplified');
148
+ }
149
+ // Ensure schema_version table exists
150
+ database.exec(`
151
+ CREATE TABLE IF NOT EXISTS schema_version (
152
+ version INTEGER PRIMARY KEY,
153
+ applied_at INTEGER NOT NULL
154
+ );
155
+ `);
156
+ console.log('[DB] v15 migration: Simplification complete');
371
157
  }
372
158
  /**
373
159
  * Get current schema version
@@ -395,65 +181,14 @@ function getCurrentSchemaVersion(database) {
395
181
  return 0;
396
182
  }
397
183
  }
398
- /**
399
- * Migrate environments from JSON file to database
400
- * Only runs if environments.json exists and environments table is empty
401
- */
402
- export function migrateEnvironmentsFromJson(database) {
403
- const ENVIRONMENTS_FILE = join(__dirname, '..', '..', 'environments.json');
404
- // Check if JSON file exists
405
- if (!existsSync(ENVIRONMENTS_FILE)) {
406
- console.log('[DB] No environments.json found, skipping migration');
407
- return false;
408
- }
409
- // Check if environments table is empty
410
- const count = database.prepare('SELECT COUNT(*) as count FROM environments').get();
411
- if (count.count > 0) {
412
- console.log('[DB] Environments table already has data, skipping migration');
413
- return false;
414
- }
415
- try {
416
- console.log('[DB] Migrating environments from JSON...');
417
- const data = readFileSync(ENVIRONMENTS_FILE, 'utf-8');
418
- const environments = JSON.parse(data);
419
- const insert = database.prepare(`
420
- INSERT INTO environments (id, name, provider, is_default, variables, created_at, updated_at)
421
- VALUES (@id, @name, @provider, @isDefault, @variables, @createdAt, @updatedAt)
422
- `);
423
- const insertMany = database.transaction((envs) => {
424
- for (const env of envs) {
425
- insert.run({
426
- id: env.id,
427
- name: env.name,
428
- provider: env.provider,
429
- isDefault: env.isDefault ? 1 : 0,
430
- variables: JSON.stringify(env.variables),
431
- createdAt: env.createdAt,
432
- updatedAt: env.updatedAt,
433
- });
434
- }
435
- });
436
- insertMany(environments);
437
- console.log(`[DB] Migrated ${environments.length} environments from JSON`);
438
- return true;
439
- }
440
- catch (err) {
441
- console.error('[DB] Failed to migrate environments from JSON:', err);
442
- return false;
443
- }
444
- }
445
184
  /**
446
185
  * Get database statistics for debugging
447
186
  */
448
187
  export function getDatabaseStats() {
449
188
  const database = getDatabase();
450
189
  const sessions = database.prepare('SELECT COUNT(*) as count FROM sessions').get();
451
- const history = database.prepare('SELECT COUNT(*) as count FROM status_history').get();
452
- const environments = database.prepare('SELECT COUNT(*) as count FROM environments').get();
453
190
  return {
454
191
  sessions: sessions.count,
455
- history: history.count,
456
- environments: environments.count,
457
192
  };
458
193
  }
459
194
  // Export retention config for use in cleanup
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}