automagik-forge 0.1.13 → 0.1.14

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 (301) hide show
  1. package/README.md +143 -447
  2. package/dist/linux-x64/automagik-forge-mcp.zip +0 -0
  3. package/{npx-cli/automagik-forge-0.0.55.tgz → dist/linux-x64/automagik-forge.zip} +0 -0
  4. package/package.json +13 -23
  5. package/.cargo/config.toml +0 -13
  6. package/.claude/commands/commit.md +0 -376
  7. package/.claude/commands/prompt.md +0 -871
  8. package/.env.example +0 -20
  9. package/.github/actions/setup-node/action.yml +0 -29
  10. package/.github/images/automagik-logo.png +0 -0
  11. package/.github/workflows/pre-release.yml +0 -470
  12. package/.github/workflows/publish.yml +0 -145
  13. package/.github/workflows/test.yml +0 -63
  14. package/.mcp.json +0 -57
  15. package/AGENT.md +0 -40
  16. package/CLAUDE.md +0 -40
  17. package/CODE-OF-CONDUCT.md +0 -89
  18. package/Cargo.toml +0 -19
  19. package/Dockerfile +0 -43
  20. package/LICENSE +0 -201
  21. package/Makefile +0 -97
  22. package/backend/.sqlx/query-01b7e2bac1261d8be3d03c03df3e5220590da6c31c77f161074fc62752d63881.json +0 -12
  23. package/backend/.sqlx/query-03f2b02ba6dc5ea2b3cf6b1004caea0ad6bcc10ebd63f441d321a389f026e263.json +0 -12
  24. package/backend/.sqlx/query-0923b77d137a29fc54d399a873ff15fc4af894490bc65a4d344a7575cb0d8643.json +0 -12
  25. package/backend/.sqlx/query-0f808bcdb63c5f180836e448dd64c435c51758b2fc54a52ce9e67495b1ab200e.json +0 -68
  26. package/backend/.sqlx/query-1268afe9ca849daa6722e3df7ca8e9e61f0d37052e782bb5452ab8e1018d9b63.json +0 -12
  27. package/backend/.sqlx/query-1b082630a9622f8667ee7a9aba2c2d3176019a68c6bb83d33008594821415a57.json +0 -12
  28. package/backend/.sqlx/query-1c7b06ba1e112abf6b945a2ff08a0b40ec23f3738c2e7399f067b558cf8d490e.json +0 -12
  29. package/backend/.sqlx/query-1f619f01f46859a64ded531dd0ef61abacfe62e758abe7030a6aa745140b95ca.json +0 -104
  30. package/backend/.sqlx/query-1fca1ce14b4b20205364cd1f1f45ebe1d2e30cd745e59e189d56487b5639dfbb.json +0 -12
  31. package/backend/.sqlx/query-212828320e8d871ab9d83705a040b23bcf0393dc7252177fc539a74657f578ef.json +0 -32
  32. package/backend/.sqlx/query-290ce5c152be8d36e58ff42570f9157beb07ab9e77a03ec6fc30b4f56f9b8f6b.json +0 -56
  33. package/backend/.sqlx/query-2b471d2c2e8ffbe0cd42d2a91b814c0d79f9d09200f147e3cea33ba4ce673c8a.json +0 -68
  34. package/backend/.sqlx/query-354a48c705bb9bb2048c1b7f10fcb714e23f9db82b7a4ea6932486197b2ede6a.json +0 -92
  35. package/backend/.sqlx/query-36c9e3dd10648e94b949db5c91a774ecb1e10a899ef95da74066eccedca4d8b2.json +0 -12
  36. package/backend/.sqlx/query-36e4ba7bbd81b402d5a20b6005755eafbb174c8dda442081823406ac32809a94.json +0 -56
  37. package/backend/.sqlx/query-3a5b3c98a55ca183ab20c74708e3d7e579dda37972c059e7515c4ceee4bd8dd3.json +0 -62
  38. package/backend/.sqlx/query-3d0a1cabf2a52e9d90cdfd29c509ca89aeb448d0c1d2446c65cd43db40735e86.json +0 -62
  39. package/backend/.sqlx/query-3d6bd16fbce59efe30b7f67ea342e0e4ea6d1432389c02468ad79f1f742d4031.json +0 -56
  40. package/backend/.sqlx/query-4049ca413b285a05aca6b25385e9c8185575f01e9069e4e8581aa45d713f612f.json +0 -32
  41. package/backend/.sqlx/query-412bacd3477d86369082e90f52240407abce436cb81292d42b2dbe1e5c18eea1.json +0 -104
  42. package/backend/.sqlx/query-417a8b1ff4e51de82aea0159a3b97932224dc325b23476cb84153d690227fd8b.json +0 -62
  43. package/backend/.sqlx/query-461cc1b0bb6fd909afc9dd2246e8526b3771cfbb0b22ae4b5d17b51af587b9e2.json +0 -56
  44. package/backend/.sqlx/query-58408c7a8cdeeda0bef359f1f9bd91299a339dc2b191462fc58c9736a56d5227.json +0 -92
  45. package/backend/.sqlx/query-5a886026d75d515c01f347cc203c8d99dd04c61dc468e2e4c5aa548436d13834.json +0 -62
  46. package/backend/.sqlx/query-5b902137b11022d2e1a5c4f6a9c83fec1a856c6a710aff831abd2382ede76b43.json +0 -12
  47. package/backend/.sqlx/query-5ed1238e52e59bb5f76c0f153fd99a14093f7ce2585bf9843585608f17ec575b.json +0 -104
  48. package/backend/.sqlx/query-6e8b860b14decfc2227dc57213f38442943d3fbef5c8418fd6b634c6e0f5e2ea.json +0 -104
  49. package/backend/.sqlx/query-6ec414276994c4ccb2433eaa5b1b342168557d17ddf5a52dac84cb1b59b9de8f.json +0 -68
  50. package/backend/.sqlx/query-6ecfa16d0cf825aacf233544b5baf151e9adfdca26c226ad71020d291fd802d5.json +0 -62
  51. package/backend/.sqlx/query-72509d252c39fce77520aa816cb2acbc1fb35dc2605e7be893610599b2427f2e.json +0 -62
  52. package/backend/.sqlx/query-75239b2da188f749707d77f3c1544332ca70db3d6d6743b2601dc0d167536437.json +0 -62
  53. package/backend/.sqlx/query-83d10e29f8478aff33434f9ac67068e013b888b953a2657e2bb72a6f619d04f2.json +0 -50
  54. package/backend/.sqlx/query-8610803360ea18b9b9d078a6981ea56abfbfe84e6354fc1d5ae4c622e01410ed.json +0 -68
  55. package/backend/.sqlx/query-86d03eb70eef39c59296416867f2ee66c9f7cd8b7f961fbda2f89fc0a1c442c2.json +0 -12
  56. package/backend/.sqlx/query-87d0feb5a6b442bad9c60068ea7569599cc6fc91a0e2692ecb42e93b03201b9d.json +0 -68
  57. package/backend/.sqlx/query-8a67b3b3337248f06a57bdf8a908f7ef23177431eaed82dc08c94c3e5944340e.json +0 -12
  58. package/backend/.sqlx/query-8f01ebd64bdcde6a090479f14810d73ba23020e76fd70854ac57f2da251702c3.json +0 -12
  59. package/backend/.sqlx/query-90fd607fcb2dca72239ff25e618e21e174b195991eaa33722cbf5f76da84cfab.json +0 -62
  60. package/backend/.sqlx/query-92e8bdbcd80c5ff3db7a35cf79492048803ef305cbdef0d0a1fe5dc881ca8c71.json +0 -104
  61. package/backend/.sqlx/query-93a1605f90e9672dad29b472b6ad85fa9a55ea3ffa5abcb8724b09d61be254ca.json +0 -20
  62. package/backend/.sqlx/query-9472c8fb477958167f5fae40b85ac44252468c5226b2cdd7770f027332eed6d7.json +0 -104
  63. package/backend/.sqlx/query-96036c4f9e0f48bdc5a4a4588f0c5f288ac7aaa5425cac40fc33f337e1a351f2.json +0 -56
  64. package/backend/.sqlx/query-9edb2c01e91fd0f0fe7b56e988c7ae0393150f50be3f419a981e035c0121dfc7.json +0 -104
  65. package/backend/.sqlx/query-a157cf00616f703bfba21927f1eb1c9eec2a81c02da15f66efdba0b6c375de1b.json +0 -26
  66. package/backend/.sqlx/query-a31fff84f3b8e532fd1160447d89d700f06ae08821fee00c9a5b60492b05259c.json +0 -62
  67. package/backend/.sqlx/query-a5ba908419fb3e456bdd2daca41ba06cc3212ffffb8520fc7dbbcc8b60ada314.json +0 -12
  68. package/backend/.sqlx/query-a6d2961718dbc3b1a925e549f49a159c561bef58c105529275f274b27e2eba5b.json +0 -104
  69. package/backend/.sqlx/query-a9e93d5b09b29faf66e387e4d7596a792d81e75c4d3726e83c2963e8d7c9b56f.json +0 -104
  70. package/backend/.sqlx/query-ac5247c8d7fb86e4650c4b0eb9420031614c831b7b085083bac20c1af314c538.json +0 -12
  71. package/backend/.sqlx/query-afef9467be74c411c4cb119a8b2b1aea53049877dfc30cc60b486134ba4b4c9f.json +0 -68
  72. package/backend/.sqlx/query-b2b2c6b4d0b1a347b5c4cb63c3a46a265d4db53be9554989a814b069d0af82f2.json +0 -62
  73. package/backend/.sqlx/query-c50d2ff0b12e5bcc81e371089ee2d007e233e7db93aefba4fef08e7aa68f5ab7.json +0 -20
  74. package/backend/.sqlx/query-c614e6056b244ca07f1b9d44e7edc9d5819225c6f8d9e077070c6e518a17f50b.json +0 -12
  75. package/backend/.sqlx/query-c67259be8bf4ee0cfd32167b2aa3b7fe9192809181a8171bf1c2d6df731967ae.json +0 -12
  76. package/backend/.sqlx/query-d2d0a1b985ebbca6a2b3e882a221a219f3199890fa640afc946ef1a792d6d8de.json +0 -12
  77. package/backend/.sqlx/query-d30aa5786757f32bf2b9c5fe51a45e506c71c28c5994e430d9b0546adb15ffa2.json +0 -20
  78. package/backend/.sqlx/query-d3b9ea1de1576af71b312924ce7f4ea8ae5dbe2ac138ea3b4470f2d5cd734846.json +0 -12
  79. package/backend/.sqlx/query-ed8456646fa69ddd412441955f06ff22bfb790f29466450735e0b8bb1bc4ec94.json +0 -12
  80. package/backend/Cargo.toml +0 -71
  81. package/backend/build.rs +0 -32
  82. package/backend/migrations/20250617183714_init.sql +0 -44
  83. package/backend/migrations/20250620212427_execution_processes.sql +0 -25
  84. package/backend/migrations/20250620214100_remove_stdout_stderr_from_task_attempts.sql +0 -28
  85. package/backend/migrations/20250621120000_relate_activities_to_execution_processes.sql +0 -23
  86. package/backend/migrations/20250623120000_executor_sessions.sql +0 -17
  87. package/backend/migrations/20250623130000_add_executor_type_to_execution_processes.sql +0 -4
  88. package/backend/migrations/20250625000000_add_dev_script_to_projects.sql +0 -4
  89. package/backend/migrations/20250701000000_add_branch_to_task_attempts.sql +0 -2
  90. package/backend/migrations/20250701000001_add_pr_tracking_to_task_attempts.sql +0 -5
  91. package/backend/migrations/20250701120000_add_assistant_message_to_executor_sessions.sql +0 -2
  92. package/backend/migrations/20250708000000_add_base_branch_to_task_attempts.sql +0 -2
  93. package/backend/migrations/20250709000000_add_worktree_deleted_flag.sql +0 -2
  94. package/backend/migrations/20250710000000_add_setup_completion.sql +0 -3
  95. package/backend/migrations/20250715154859_add_task_templates.sql +0 -25
  96. package/backend/migrations/20250716143725_add_default_templates.sql +0 -174
  97. package/backend/migrations/20250716161432_update_executor_names_to_kebab_case.sql +0 -20
  98. package/backend/migrations/20250716170000_add_parent_task_to_tasks.sql +0 -7
  99. package/backend/migrations/20250717000000_drop_task_attempt_activities.sql +0 -9
  100. package/backend/migrations/20250719000000_add_cleanup_script_to_projects.sql +0 -2
  101. package/backend/migrations/20250720000000_add_cleanupscript_to_process_type_constraint.sql +0 -25
  102. package/backend/migrations/20250723000000_add_wish_to_tasks.sql +0 -7
  103. package/backend/migrations/20250724000000_remove_unique_wish_constraint.sql +0 -5
  104. package/backend/scripts/toast-notification.ps1 +0 -23
  105. package/backend/sounds/abstract-sound1.wav +0 -0
  106. package/backend/sounds/abstract-sound2.wav +0 -0
  107. package/backend/sounds/abstract-sound3.wav +0 -0
  108. package/backend/sounds/abstract-sound4.wav +0 -0
  109. package/backend/sounds/cow-mooing.wav +0 -0
  110. package/backend/sounds/phone-vibration.wav +0 -0
  111. package/backend/sounds/rooster.wav +0 -0
  112. package/backend/src/app_state.rs +0 -218
  113. package/backend/src/bin/generate_types.rs +0 -189
  114. package/backend/src/bin/mcp_task_server.rs +0 -191
  115. package/backend/src/execution_monitor.rs +0 -1193
  116. package/backend/src/executor.rs +0 -1053
  117. package/backend/src/executors/amp.rs +0 -697
  118. package/backend/src/executors/ccr.rs +0 -91
  119. package/backend/src/executors/charm_opencode.rs +0 -113
  120. package/backend/src/executors/claude.rs +0 -887
  121. package/backend/src/executors/cleanup_script.rs +0 -124
  122. package/backend/src/executors/dev_server.rs +0 -53
  123. package/backend/src/executors/echo.rs +0 -79
  124. package/backend/src/executors/gemini/config.rs +0 -67
  125. package/backend/src/executors/gemini/streaming.rs +0 -363
  126. package/backend/src/executors/gemini.rs +0 -765
  127. package/backend/src/executors/mod.rs +0 -23
  128. package/backend/src/executors/opencode_ai.rs +0 -113
  129. package/backend/src/executors/setup_script.rs +0 -130
  130. package/backend/src/executors/sst_opencode/filter.rs +0 -184
  131. package/backend/src/executors/sst_opencode/tools.rs +0 -139
  132. package/backend/src/executors/sst_opencode.rs +0 -756
  133. package/backend/src/lib.rs +0 -45
  134. package/backend/src/main.rs +0 -324
  135. package/backend/src/mcp/mod.rs +0 -1
  136. package/backend/src/mcp/task_server.rs +0 -850
  137. package/backend/src/middleware/mod.rs +0 -3
  138. package/backend/src/middleware/model_loaders.rs +0 -242
  139. package/backend/src/models/api_response.rs +0 -36
  140. package/backend/src/models/config.rs +0 -375
  141. package/backend/src/models/execution_process.rs +0 -430
  142. package/backend/src/models/executor_session.rs +0 -225
  143. package/backend/src/models/mod.rs +0 -12
  144. package/backend/src/models/project.rs +0 -356
  145. package/backend/src/models/task.rs +0 -345
  146. package/backend/src/models/task_attempt.rs +0 -1214
  147. package/backend/src/models/task_template.rs +0 -146
  148. package/backend/src/openapi.rs +0 -93
  149. package/backend/src/routes/auth.rs +0 -297
  150. package/backend/src/routes/config.rs +0 -385
  151. package/backend/src/routes/filesystem.rs +0 -228
  152. package/backend/src/routes/health.rs +0 -16
  153. package/backend/src/routes/mod.rs +0 -9
  154. package/backend/src/routes/projects.rs +0 -562
  155. package/backend/src/routes/stream.rs +0 -244
  156. package/backend/src/routes/task_attempts.rs +0 -1172
  157. package/backend/src/routes/task_templates.rs +0 -229
  158. package/backend/src/routes/tasks.rs +0 -353
  159. package/backend/src/services/analytics.rs +0 -216
  160. package/backend/src/services/git_service.rs +0 -1321
  161. package/backend/src/services/github_service.rs +0 -307
  162. package/backend/src/services/mod.rs +0 -13
  163. package/backend/src/services/notification_service.rs +0 -263
  164. package/backend/src/services/pr_monitor.rs +0 -214
  165. package/backend/src/services/process_service.rs +0 -940
  166. package/backend/src/utils/path.rs +0 -96
  167. package/backend/src/utils/shell.rs +0 -19
  168. package/backend/src/utils/text.rs +0 -24
  169. package/backend/src/utils/worktree_manager.rs +0 -578
  170. package/backend/src/utils.rs +0 -125
  171. package/backend/test.db +0 -0
  172. package/build-npm-package.sh +0 -61
  173. package/dev_assets_seed/config.json +0 -19
  174. package/frontend/.eslintrc.json +0 -25
  175. package/frontend/.prettierrc.json +0 -8
  176. package/frontend/components.json +0 -17
  177. package/frontend/index.html +0 -19
  178. package/frontend/package-lock.json +0 -7321
  179. package/frontend/package.json +0 -61
  180. package/frontend/postcss.config.js +0 -6
  181. package/frontend/public/android-chrome-192x192.png +0 -0
  182. package/frontend/public/android-chrome-512x512.png +0 -0
  183. package/frontend/public/apple-touch-icon.png +0 -0
  184. package/frontend/public/automagik-forge-logo-dark.svg +0 -3
  185. package/frontend/public/automagik-forge-logo.svg +0 -3
  186. package/frontend/public/automagik-forge-screenshot-overview.png +0 -0
  187. package/frontend/public/favicon-16x16.png +0 -0
  188. package/frontend/public/favicon-32x32.png +0 -0
  189. package/frontend/public/favicon.ico +0 -0
  190. package/frontend/public/site.webmanifest +0 -1
  191. package/frontend/public/viba-kanban-favicon.png +0 -0
  192. package/frontend/src/App.tsx +0 -157
  193. package/frontend/src/components/DisclaimerDialog.tsx +0 -106
  194. package/frontend/src/components/GitHubLoginDialog.tsx +0 -314
  195. package/frontend/src/components/OnboardingDialog.tsx +0 -185
  196. package/frontend/src/components/PrivacyOptInDialog.tsx +0 -130
  197. package/frontend/src/components/ProvidePatDialog.tsx +0 -98
  198. package/frontend/src/components/TaskTemplateManager.tsx +0 -336
  199. package/frontend/src/components/config-provider.tsx +0 -119
  200. package/frontend/src/components/context/TaskDetailsContextProvider.tsx +0 -470
  201. package/frontend/src/components/context/taskDetailsContext.ts +0 -125
  202. package/frontend/src/components/keyboard-shortcuts-demo.tsx +0 -35
  203. package/frontend/src/components/layout/navbar.tsx +0 -86
  204. package/frontend/src/components/logo.tsx +0 -44
  205. package/frontend/src/components/projects/ProjectCard.tsx +0 -155
  206. package/frontend/src/components/projects/project-detail.tsx +0 -251
  207. package/frontend/src/components/projects/project-form-fields.tsx +0 -238
  208. package/frontend/src/components/projects/project-form.tsx +0 -301
  209. package/frontend/src/components/projects/project-list.tsx +0 -200
  210. package/frontend/src/components/projects/projects-page.tsx +0 -20
  211. package/frontend/src/components/tasks/BranchSelector.tsx +0 -169
  212. package/frontend/src/components/tasks/DeleteFileConfirmationDialog.tsx +0 -94
  213. package/frontend/src/components/tasks/EditorSelectionDialog.tsx +0 -119
  214. package/frontend/src/components/tasks/TaskCard.tsx +0 -154
  215. package/frontend/src/components/tasks/TaskDetails/CollapsibleToolbar.tsx +0 -33
  216. package/frontend/src/components/tasks/TaskDetails/DiffCard.tsx +0 -109
  217. package/frontend/src/components/tasks/TaskDetails/DiffChunkSection.tsx +0 -135
  218. package/frontend/src/components/tasks/TaskDetails/DiffFile.tsx +0 -296
  219. package/frontend/src/components/tasks/TaskDetails/DiffTab.tsx +0 -32
  220. package/frontend/src/components/tasks/TaskDetails/DisplayConversationEntry.tsx +0 -392
  221. package/frontend/src/components/tasks/TaskDetails/LogsTab/Conversation.tsx +0 -256
  222. package/frontend/src/components/tasks/TaskDetails/LogsTab/ConversationEntry.tsx +0 -56
  223. package/frontend/src/components/tasks/TaskDetails/LogsTab/NormalizedConversationViewer.tsx +0 -92
  224. package/frontend/src/components/tasks/TaskDetails/LogsTab/Prompt.tsx +0 -22
  225. package/frontend/src/components/tasks/TaskDetails/LogsTab/SetupScriptRunning.tsx +0 -49
  226. package/frontend/src/components/tasks/TaskDetails/LogsTab.tsx +0 -186
  227. package/frontend/src/components/tasks/TaskDetails/ProcessesTab.tsx +0 -288
  228. package/frontend/src/components/tasks/TaskDetails/RelatedTasksTab.tsx +0 -216
  229. package/frontend/src/components/tasks/TaskDetails/TabNavigation.tsx +0 -93
  230. package/frontend/src/components/tasks/TaskDetailsHeader.tsx +0 -169
  231. package/frontend/src/components/tasks/TaskDetailsPanel.tsx +0 -126
  232. package/frontend/src/components/tasks/TaskDetailsToolbar.tsx +0 -302
  233. package/frontend/src/components/tasks/TaskFollowUpSection.tsx +0 -130
  234. package/frontend/src/components/tasks/TaskFormDialog.tsx +0 -400
  235. package/frontend/src/components/tasks/TaskKanbanBoard.tsx +0 -180
  236. package/frontend/src/components/tasks/Toolbar/CreateAttempt.tsx +0 -259
  237. package/frontend/src/components/tasks/Toolbar/CreatePRDialog.tsx +0 -243
  238. package/frontend/src/components/tasks/Toolbar/CurrentAttempt.tsx +0 -899
  239. package/frontend/src/components/tasks/index.ts +0 -2
  240. package/frontend/src/components/theme-provider.tsx +0 -82
  241. package/frontend/src/components/theme-toggle.tsx +0 -36
  242. package/frontend/src/components/ui/alert.tsx +0 -59
  243. package/frontend/src/components/ui/auto-expanding-textarea.tsx +0 -70
  244. package/frontend/src/components/ui/badge.tsx +0 -36
  245. package/frontend/src/components/ui/button.tsx +0 -56
  246. package/frontend/src/components/ui/card.tsx +0 -86
  247. package/frontend/src/components/ui/checkbox.tsx +0 -44
  248. package/frontend/src/components/ui/chip.tsx +0 -25
  249. package/frontend/src/components/ui/dialog.tsx +0 -124
  250. package/frontend/src/components/ui/dropdown-menu.tsx +0 -198
  251. package/frontend/src/components/ui/file-search-textarea.tsx +0 -292
  252. package/frontend/src/components/ui/folder-picker.tsx +0 -279
  253. package/frontend/src/components/ui/input.tsx +0 -25
  254. package/frontend/src/components/ui/label.tsx +0 -24
  255. package/frontend/src/components/ui/loader.tsx +0 -26
  256. package/frontend/src/components/ui/markdown-renderer.tsx +0 -75
  257. package/frontend/src/components/ui/select.tsx +0 -160
  258. package/frontend/src/components/ui/separator.tsx +0 -31
  259. package/frontend/src/components/ui/shadcn-io/kanban/index.tsx +0 -185
  260. package/frontend/src/components/ui/table.tsx +0 -117
  261. package/frontend/src/components/ui/tabs.tsx +0 -53
  262. package/frontend/src/components/ui/textarea.tsx +0 -22
  263. package/frontend/src/components/ui/tooltip.tsx +0 -28
  264. package/frontend/src/hooks/useNormalizedConversation.ts +0 -440
  265. package/frontend/src/index.css +0 -225
  266. package/frontend/src/lib/api.ts +0 -630
  267. package/frontend/src/lib/keyboard-shortcuts.ts +0 -266
  268. package/frontend/src/lib/responsive-config.ts +0 -70
  269. package/frontend/src/lib/types.ts +0 -39
  270. package/frontend/src/lib/utils.ts +0 -10
  271. package/frontend/src/main.tsx +0 -50
  272. package/frontend/src/pages/McpServers.tsx +0 -418
  273. package/frontend/src/pages/Settings.tsx +0 -610
  274. package/frontend/src/pages/project-tasks.tsx +0 -575
  275. package/frontend/src/pages/projects.tsx +0 -18
  276. package/frontend/src/vite-env.d.ts +0 -1
  277. package/frontend/tailwind.config.js +0 -125
  278. package/frontend/tsconfig.json +0 -26
  279. package/frontend/tsconfig.node.json +0 -10
  280. package/frontend/vite.config.ts +0 -33
  281. package/npx-cli/README.md +0 -159
  282. package/npx-cli/automagik-forge-0.1.0.tgz +0 -0
  283. package/npx-cli/automagik-forge-0.1.10.tgz +0 -0
  284. package/npx-cli/package.json +0 -17
  285. package/npx-cli/vibe-kanban-0.0.55.tgz +0 -0
  286. package/pnpm-workspace.yaml +0 -2
  287. package/rust-toolchain.toml +0 -11
  288. package/rustfmt.toml +0 -3
  289. package/scripts/load-env.js +0 -43
  290. package/scripts/mcp_test.js +0 -374
  291. package/scripts/prepare-db.js +0 -45
  292. package/scripts/setup-dev-environment.js +0 -274
  293. package/scripts/start-mcp-sse.js +0 -70
  294. package/scripts/test-debug.js +0 -32
  295. package/scripts/test-mcp-sse.js +0 -138
  296. package/scripts/test-simple.js +0 -44
  297. package/scripts/test-wish-final.js +0 -179
  298. package/scripts/test-wish-system.js +0 -221
  299. package/shared/types.ts +0 -182
  300. package/test-npm-package.sh +0 -42
  301. /package/{npx-cli/bin → bin}/cli.js +0 -0
@@ -1,104 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "SELECT id AS \"id!: Uuid\",\n task_id AS \"task_id!: Uuid\",\n worktree_path,\n branch,\n base_branch,\n merge_commit,\n executor,\n pr_url,\n pr_number,\n pr_status,\n pr_merged_at AS \"pr_merged_at: DateTime<Utc>\",\n worktree_deleted AS \"worktree_deleted!: bool\",\n setup_completed_at AS \"setup_completed_at: DateTime<Utc>\",\n created_at AS \"created_at!: DateTime<Utc>\",\n updated_at AS \"updated_at!: DateTime<Utc>\"\n FROM task_attempts\n WHERE task_id = $1\n ORDER BY created_at DESC",
4
- "describe": {
5
- "columns": [
6
- {
7
- "name": "id!: Uuid",
8
- "ordinal": 0,
9
- "type_info": "Blob"
10
- },
11
- {
12
- "name": "task_id!: Uuid",
13
- "ordinal": 1,
14
- "type_info": "Blob"
15
- },
16
- {
17
- "name": "worktree_path",
18
- "ordinal": 2,
19
- "type_info": "Text"
20
- },
21
- {
22
- "name": "branch",
23
- "ordinal": 3,
24
- "type_info": "Text"
25
- },
26
- {
27
- "name": "base_branch",
28
- "ordinal": 4,
29
- "type_info": "Text"
30
- },
31
- {
32
- "name": "merge_commit",
33
- "ordinal": 5,
34
- "type_info": "Text"
35
- },
36
- {
37
- "name": "executor",
38
- "ordinal": 6,
39
- "type_info": "Text"
40
- },
41
- {
42
- "name": "pr_url",
43
- "ordinal": 7,
44
- "type_info": "Text"
45
- },
46
- {
47
- "name": "pr_number",
48
- "ordinal": 8,
49
- "type_info": "Integer"
50
- },
51
- {
52
- "name": "pr_status",
53
- "ordinal": 9,
54
- "type_info": "Text"
55
- },
56
- {
57
- "name": "pr_merged_at: DateTime<Utc>",
58
- "ordinal": 10,
59
- "type_info": "Datetime"
60
- },
61
- {
62
- "name": "worktree_deleted!: bool",
63
- "ordinal": 11,
64
- "type_info": "Bool"
65
- },
66
- {
67
- "name": "setup_completed_at: DateTime<Utc>",
68
- "ordinal": 12,
69
- "type_info": "Datetime"
70
- },
71
- {
72
- "name": "created_at!: DateTime<Utc>",
73
- "ordinal": 13,
74
- "type_info": "Text"
75
- },
76
- {
77
- "name": "updated_at!: DateTime<Utc>",
78
- "ordinal": 14,
79
- "type_info": "Text"
80
- }
81
- ],
82
- "parameters": {
83
- "Right": 1
84
- },
85
- "nullable": [
86
- true,
87
- false,
88
- false,
89
- false,
90
- false,
91
- true,
92
- true,
93
- true,
94
- true,
95
- true,
96
- true,
97
- false,
98
- true,
99
- false,
100
- false
101
- ]
102
- },
103
- "hash": "a9e93d5b09b29faf66e387e4d7596a792d81e75c4d3726e83c2963e8d7c9b56f"
104
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "UPDATE task_attempts SET base_branch = $1, updated_at = datetime('now') WHERE id = $2",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 2
8
- },
9
- "nullable": []
10
- },
11
- "hash": "ac5247c8d7fb86e4650c4b0eb9420031614c831b7b085083bac20c1af314c538"
12
- }
@@ -1,68 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "SELECT DISTINCT t.id as \"id!: Uuid\", t.project_id as \"project_id!: Uuid\", t.title, t.description, t.status as \"status!: TaskStatus\", t.wish_id, t.parent_task_attempt as \"parent_task_attempt: Uuid\", t.created_at as \"created_at!: DateTime<Utc>\", t.updated_at as \"updated_at!: DateTime<Utc>\"\n FROM tasks t\n WHERE (\n -- Find children: tasks that have this attempt as parent\n t.parent_task_attempt = $1 AND t.project_id = $2\n ) OR (\n -- Find parent: task that owns the parent attempt of current task\n EXISTS (\n SELECT 1 FROM tasks current_task \n JOIN task_attempts parent_attempt ON current_task.parent_task_attempt = parent_attempt.id\n WHERE parent_attempt.task_id = t.id \n AND parent_attempt.id = $1 \n AND current_task.project_id = $2\n )\n )\n -- Exclude the current task itself to prevent circular references\n AND t.id != (SELECT task_id FROM task_attempts WHERE id = $1)\n ORDER BY t.created_at DESC",
4
- "describe": {
5
- "columns": [
6
- {
7
- "name": "id!: Uuid",
8
- "ordinal": 0,
9
- "type_info": "Blob"
10
- },
11
- {
12
- "name": "project_id!: Uuid",
13
- "ordinal": 1,
14
- "type_info": "Blob"
15
- },
16
- {
17
- "name": "title",
18
- "ordinal": 2,
19
- "type_info": "Text"
20
- },
21
- {
22
- "name": "description",
23
- "ordinal": 3,
24
- "type_info": "Text"
25
- },
26
- {
27
- "name": "status!: TaskStatus",
28
- "ordinal": 4,
29
- "type_info": "Text"
30
- },
31
- {
32
- "name": "wish_id",
33
- "ordinal": 5,
34
- "type_info": "Text"
35
- },
36
- {
37
- "name": "parent_task_attempt: Uuid",
38
- "ordinal": 6,
39
- "type_info": "Blob"
40
- },
41
- {
42
- "name": "created_at!: DateTime<Utc>",
43
- "ordinal": 7,
44
- "type_info": "Text"
45
- },
46
- {
47
- "name": "updated_at!: DateTime<Utc>",
48
- "ordinal": 8,
49
- "type_info": "Text"
50
- }
51
- ],
52
- "parameters": {
53
- "Right": 2
54
- },
55
- "nullable": [
56
- true,
57
- false,
58
- false,
59
- true,
60
- false,
61
- false,
62
- true,
63
- false,
64
- false
65
- ]
66
- },
67
- "hash": "afef9467be74c411c4cb119a8b2b1aea53049877dfc30cc60b486134ba4b4c9f"
68
- }
@@ -1,62 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "SELECT id as \"id!: Uuid\", name, git_repo_path, setup_script, dev_script, cleanup_script, created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\" FROM projects ORDER BY created_at DESC",
4
- "describe": {
5
- "columns": [
6
- {
7
- "name": "id!: Uuid",
8
- "ordinal": 0,
9
- "type_info": "Blob"
10
- },
11
- {
12
- "name": "name",
13
- "ordinal": 1,
14
- "type_info": "Text"
15
- },
16
- {
17
- "name": "git_repo_path",
18
- "ordinal": 2,
19
- "type_info": "Text"
20
- },
21
- {
22
- "name": "setup_script",
23
- "ordinal": 3,
24
- "type_info": "Text"
25
- },
26
- {
27
- "name": "dev_script",
28
- "ordinal": 4,
29
- "type_info": "Text"
30
- },
31
- {
32
- "name": "cleanup_script",
33
- "ordinal": 5,
34
- "type_info": "Text"
35
- },
36
- {
37
- "name": "created_at!: DateTime<Utc>",
38
- "ordinal": 6,
39
- "type_info": "Text"
40
- },
41
- {
42
- "name": "updated_at!: DateTime<Utc>",
43
- "ordinal": 7,
44
- "type_info": "Text"
45
- }
46
- ],
47
- "parameters": {
48
- "Right": 0
49
- },
50
- "nullable": [
51
- true,
52
- false,
53
- false,
54
- true,
55
- true,
56
- true,
57
- false,
58
- false
59
- ]
60
- },
61
- "hash": "b2b2c6b4d0b1a347b5c4cb63c3a46a265d4db53be9554989a814b069d0af82f2"
62
- }
@@ -1,20 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "SELECT id as \"id!: Uuid\" FROM tasks WHERE id = $1 AND project_id = $2",
4
- "describe": {
5
- "columns": [
6
- {
7
- "name": "id!: Uuid",
8
- "ordinal": 0,
9
- "type_info": "Blob"
10
- }
11
- ],
12
- "parameters": {
13
- "Right": 2
14
- },
15
- "nullable": [
16
- true
17
- ]
18
- },
19
- "hash": "c50d2ff0b12e5bcc81e371089ee2d007e233e7db93aefba4fef08e7aa68f5ab7"
20
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "DELETE FROM tasks WHERE id = $1 AND project_id = $2",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 2
8
- },
9
- "nullable": []
10
- },
11
- "hash": "c614e6056b244ca07f1b9d44e7edc9d5819225c6f8d9e077070c6e518a17f50b"
12
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "UPDATE execution_processes \n SET status = $1, exit_code = $2, completed_at = $3, updated_at = datetime('now') \n WHERE id = $4",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 4
8
- },
9
- "nullable": []
10
- },
11
- "hash": "c67259be8bf4ee0cfd32167b2aa3b7fe9192809181a8171bf1c2d6df731967ae"
12
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "UPDATE tasks SET status = $3, updated_at = CURRENT_TIMESTAMP WHERE id = $1 AND project_id = $2",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 3
8
- },
9
- "nullable": []
10
- },
11
- "hash": "d2d0a1b985ebbca6a2b3e882a221a219f3199890fa640afc946ef1a792d6d8de"
12
- }
@@ -1,20 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "\n SELECT COUNT(*) as \"count!: i64\"\n FROM projects\n WHERE id = $1\n ",
4
- "describe": {
5
- "columns": [
6
- {
7
- "name": "count!: i64",
8
- "ordinal": 0,
9
- "type_info": "Integer"
10
- }
11
- ],
12
- "parameters": {
13
- "Right": 1
14
- },
15
- "nullable": [
16
- false
17
- ]
18
- },
19
- "hash": "d30aa5786757f32bf2b9c5fe51a45e506c71c28c5994e430d9b0546adb15ffa2"
20
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "UPDATE executor_sessions \n SET prompt = $1, updated_at = datetime('now') \n WHERE id = $2",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 2
8
- },
9
- "nullable": []
10
- },
11
- "hash": "d3b9ea1de1576af71b312924ce7f4ea8ae5dbe2ac138ea3b4470f2d5cd734846"
12
- }
@@ -1,12 +0,0 @@
1
- {
2
- "db_name": "SQLite",
3
- "query": "UPDATE execution_processes SET stdout = COALESCE(stdout, '') || $1, updated_at = datetime('now') WHERE id = $2",
4
- "describe": {
5
- "columns": [],
6
- "parameters": {
7
- "Right": 2
8
- },
9
- "nullable": []
10
- },
11
- "hash": "ed8456646fa69ddd412441955f06ff22bfb790f29466450735e0b8bb1bc4ec94"
12
- }
@@ -1,71 +0,0 @@
1
- [package]
2
- name = "automagik-forge"
3
- version = "0.1.13"
4
- edition = "2021"
5
- default-run = "automagik-forge"
6
- build = "build.rs"
7
-
8
- [lib]
9
- name = "automagik_forge"
10
- path = "src/lib.rs"
11
-
12
- [lints.clippy]
13
- uninlined-format-args = "allow"
14
-
15
- [dependencies]
16
- tokio = { workspace = true }
17
- tokio-util = { version = "0.7" }
18
- axum = { workspace = true }
19
- tower-http = { workspace = true }
20
- serde = { workspace = true }
21
- serde_json = { workspace = true }
22
- anyhow = { workspace = true }
23
- tracing = { workspace = true }
24
- tracing-subscriber = { workspace = true }
25
- sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid"] }
26
- chrono = { version = "0.4", features = ["serde"] }
27
- uuid = { version = "1.0", features = ["v4", "serde"] }
28
- ts-rs = { version = "9.0", features = ["uuid-impl", "chrono-impl", "no-serde-warnings"] }
29
- dirs = "5.0"
30
- xdg = "3.0"
31
- git2 = "0.18"
32
- async-trait = "0.1"
33
- libc = "0.2"
34
- rust-embed = "8.2"
35
- mime_guess = "2.0"
36
- directories = "6.0.0"
37
- open = "5.3.2"
38
- pathdiff = "0.2.1"
39
- ignore = "0.4"
40
- command-group = { version = "5.0", features = ["with-tokio"] }
41
- nix = { version = "0.29", features = ["signal", "process"] }
42
- openssl-sys = { workspace = true }
43
- rmcp = { version = "0.3.0", features = ["server", "transport-io", "transport-sse-server"] }
44
- schemars = "0.8"
45
- regex = "1.11.1"
46
- notify-rust = "4.11"
47
- octocrab = "0.44"
48
- os_info = "3.12.0"
49
- sentry = { version = "0.41.0", features = ["anyhow", "backtrace", "panic", "debug-images"] }
50
- sentry-tower = "0.41.0"
51
- sentry-tracing = { version = "0.41.0", features = ["backtrace"] }
52
- reqwest = { version = "0.11", features = ["json"] }
53
- strip-ansi-escapes = "0.2.1"
54
- urlencoding = "2.1.3"
55
- lazy_static = "1.4"
56
- futures-util = "0.3"
57
- async-stream = "0.3"
58
- json-patch = "2.0"
59
- dotenvy = "0.15"
60
- utoipa = { version = "5.1.0", features = ["axum_extras", "chrono", "uuid"] }
61
- utoipa-axum = { version = "0.1.0" }
62
- utoipa-swagger-ui = { version = "8.0.0", features = ["axum"] }
63
-
64
- [dev-dependencies]
65
- tempfile = "3.8"
66
- tower = { version = "0.4", features = ["util"] }
67
-
68
- [build-dependencies]
69
- dotenv = "0.15"
70
- ts-rs = { version = "9.0", features = ["uuid-impl", "chrono-impl", "no-serde-warnings"] }
71
-
package/backend/build.rs DELETED
@@ -1,32 +0,0 @@
1
- use std::{fs, path::Path};
2
-
3
- fn main() {
4
- dotenv::dotenv().ok();
5
-
6
- if let Ok(api_key) = std::env::var("POSTHOG_API_KEY") {
7
- println!("cargo:rustc-env=POSTHOG_API_KEY={}", api_key);
8
- }
9
- if let Ok(api_endpoint) = std::env::var("POSTHOG_API_ENDPOINT") {
10
- println!("cargo:rustc-env=POSTHOG_API_ENDPOINT={}", api_endpoint);
11
- }
12
- if let Ok(api_key) = std::env::var("GITHUB_APP_ID") {
13
- println!("cargo:rustc-env=GITHUB_APP_ID={}", api_key);
14
- }
15
- if let Ok(api_endpoint) = std::env::var("GITHUB_APP_CLIENT_ID") {
16
- println!("cargo:rustc-env=GITHUB_APP_CLIENT_ID={}", api_endpoint);
17
- }
18
-
19
- // Create frontend/dist directory if it doesn't exist
20
- let dist_path = Path::new("../frontend/dist");
21
- if !dist_path.exists() {
22
- println!("cargo:warning=Creating dummy frontend/dist directory for compilation");
23
- fs::create_dir_all(dist_path).unwrap();
24
-
25
- // Create a dummy index.html
26
- let dummy_html = r#"<!DOCTYPE html>
27
- <html><head><title>Build frontend first</title></head>
28
- <body><h1>Please build the frontend</h1></body></html>"#;
29
-
30
- fs::write(dist_path.join("index.html"), dummy_html).unwrap();
31
- }
32
- }
@@ -1,44 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- CREATE TABLE projects (
4
- id BLOB PRIMARY KEY,
5
- name TEXT NOT NULL,
6
- git_repo_path TEXT NOT NULL DEFAULT '' UNIQUE,
7
- setup_script TEXT DEFAULT '',
8
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
9
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec'))
10
- );
11
-
12
- CREATE TABLE tasks (
13
- id BLOB PRIMARY KEY,
14
- project_id BLOB NOT NULL,
15
- title TEXT NOT NULL,
16
- description TEXT,
17
- status TEXT NOT NULL DEFAULT 'todo'
18
- CHECK (status IN ('todo','inprogress','done','cancelled','inreview')),
19
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
20
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
21
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
22
- );
23
-
24
- CREATE TABLE task_attempts (
25
- id BLOB PRIMARY KEY,
26
- task_id BLOB NOT NULL,
27
- worktree_path TEXT NOT NULL,
28
- merge_commit TEXT,
29
- executor TEXT,
30
- stdout TEXT,
31
- stderr TEXT,
32
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
33
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
34
- FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
35
- );
36
-
37
- CREATE TABLE task_attempt_activities (
38
- id BLOB PRIMARY KEY,
39
- task_attempt_id BLOB NOT NULL,
40
- status TEXT NOT NULL DEFAULT 'init'
41
- CHECK (status IN ('init','setuprunning','setupcomplete','setupfailed','executorrunning','executorcomplete','executorfailed','paused')), note TEXT,
42
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
43
- FOREIGN KEY (task_attempt_id) REFERENCES task_attempts(id) ON DELETE CASCADE
44
- );
@@ -1,25 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- CREATE TABLE execution_processes (
4
- id BLOB PRIMARY KEY,
5
- task_attempt_id BLOB NOT NULL,
6
- process_type TEXT NOT NULL DEFAULT 'setupscript'
7
- CHECK (process_type IN ('setupscript','codingagent','devserver')),
8
- status TEXT NOT NULL DEFAULT 'running'
9
- CHECK (status IN ('running','completed','failed','killed')),
10
- command TEXT NOT NULL,
11
- args TEXT, -- JSON array of arguments
12
- working_directory TEXT NOT NULL,
13
- stdout TEXT,
14
- stderr TEXT,
15
- exit_code INTEGER,
16
- started_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
17
- completed_at TEXT,
18
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
19
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
20
- FOREIGN KEY (task_attempt_id) REFERENCES task_attempts(id) ON DELETE CASCADE
21
- );
22
-
23
- CREATE INDEX idx_execution_processes_task_attempt_id ON execution_processes(task_attempt_id);
24
- CREATE INDEX idx_execution_processes_status ON execution_processes(status);
25
- CREATE INDEX idx_execution_processes_type ON execution_processes(process_type);
@@ -1,28 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- -- Remove stdout and stderr columns from task_attempts table
4
- -- These are now tracked in the execution_processes table for better granularity
5
-
6
- -- SQLite doesn't support DROP COLUMN directly, so we need to recreate the table
7
- -- First, create a new table without stdout and stderr
8
- CREATE TABLE task_attempts_new (
9
- id BLOB PRIMARY KEY,
10
- task_id BLOB NOT NULL,
11
- worktree_path TEXT NOT NULL,
12
- merge_commit TEXT,
13
- executor TEXT,
14
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
15
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
16
- FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
17
- );
18
-
19
- -- Copy data from old table to new table (excluding stdout and stderr)
20
- INSERT INTO task_attempts_new (id, task_id, worktree_path, merge_commit, executor, created_at, updated_at)
21
- SELECT id, task_id, worktree_path, merge_commit, executor, created_at, updated_at
22
- FROM task_attempts;
23
-
24
- -- Drop the old table
25
- DROP TABLE task_attempts;
26
-
27
- -- Rename the new table to the original name
28
- ALTER TABLE task_attempts_new RENAME TO task_attempts;
@@ -1,23 +0,0 @@
1
- -- Migration to relate task_attempt_activities to execution_processes instead of task_attempts
2
- -- This migration will:
3
- -- 1. Drop and recreate the task_attempt_activities table with execution_process_id
4
- -- 2. Clear existing data as it cannot be migrated meaningfully
5
-
6
- -- Drop the existing table (this will wipe existing activity data)
7
- DROP TABLE IF EXISTS task_attempt_activities;
8
-
9
- -- Create the new table structure with execution_process_id foreign key
10
- CREATE TABLE task_attempt_activities (
11
- id TEXT PRIMARY KEY,
12
- execution_process_id TEXT NOT NULL REFERENCES execution_processes(id) ON DELETE CASCADE,
13
- status TEXT NOT NULL,
14
- note TEXT,
15
- created_at DATETIME NOT NULL DEFAULT (datetime('now')),
16
- FOREIGN KEY (execution_process_id) REFERENCES execution_processes(id) ON DELETE CASCADE
17
- );
18
-
19
- -- Create index for efficient lookups by execution_process_id
20
- CREATE INDEX idx_task_attempt_activities_execution_process_id ON task_attempt_activities(execution_process_id);
21
-
22
- -- Create index for efficient lookups by created_at for ordering
23
- CREATE INDEX idx_task_attempt_activities_created_at ON task_attempt_activities(created_at);
@@ -1,17 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- CREATE TABLE executor_sessions (
4
- id BLOB PRIMARY KEY,
5
- task_attempt_id BLOB NOT NULL,
6
- execution_process_id BLOB NOT NULL,
7
- session_id TEXT, -- External session ID from Claude/Amp
8
- prompt TEXT, -- The prompt sent to the executor
9
- created_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
10
- updated_at TEXT NOT NULL DEFAULT (datetime('now', 'subsec')),
11
- FOREIGN KEY (task_attempt_id) REFERENCES task_attempts(id) ON DELETE CASCADE,
12
- FOREIGN KEY (execution_process_id) REFERENCES execution_processes(id) ON DELETE CASCADE
13
- );
14
-
15
- CREATE INDEX idx_executor_sessions_task_attempt_id ON executor_sessions(task_attempt_id);
16
- CREATE INDEX idx_executor_sessions_execution_process_id ON executor_sessions(execution_process_id);
17
- CREATE INDEX idx_executor_sessions_session_id ON executor_sessions(session_id);
@@ -1,4 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- -- Add executor_type column to execution_processes table
4
- ALTER TABLE execution_processes ADD COLUMN executor_type TEXT;
@@ -1,4 +0,0 @@
1
- PRAGMA foreign_keys = ON;
2
-
3
- -- Add dev_script column to projects table
4
- ALTER TABLE projects ADD COLUMN dev_script TEXT DEFAULT '';
@@ -1,2 +0,0 @@
1
- -- Add branch column to task_attempts table
2
- ALTER TABLE task_attempts ADD COLUMN branch TEXT NOT NULL DEFAULT '';
@@ -1,5 +0,0 @@
1
- -- Add PR tracking fields to task_attempts table
2
- ALTER TABLE task_attempts ADD COLUMN pr_url TEXT;
3
- ALTER TABLE task_attempts ADD COLUMN pr_number INTEGER;
4
- ALTER TABLE task_attempts ADD COLUMN pr_status TEXT; -- open, closed, merged
5
- ALTER TABLE task_attempts ADD COLUMN pr_merged_at DATETIME;
@@ -1,2 +0,0 @@
1
- -- Add summary column to executor_sessions table
2
- ALTER TABLE executor_sessions ADD COLUMN summary TEXT;
@@ -1,2 +0,0 @@
1
- -- Add base_branch column to task_attempts table with default value
2
- ALTER TABLE task_attempts ADD COLUMN base_branch TEXT NOT NULL DEFAULT 'main';
@@ -1,2 +0,0 @@
1
- -- Add worktree_deleted flag to track when worktrees are cleaned up
2
- ALTER TABLE task_attempts ADD COLUMN worktree_deleted BOOLEAN NOT NULL DEFAULT FALSE;
@@ -1,3 +0,0 @@
1
- -- Add setup completion tracking to task_attempts table
2
- -- This enables automatic setup script execution for recreated worktrees
3
- ALTER TABLE task_attempts ADD COLUMN setup_completed_at DATETIME;