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.
- package/README.md +143 -447
- package/dist/linux-x64/automagik-forge-mcp.zip +0 -0
- package/{npx-cli/automagik-forge-0.0.55.tgz → dist/linux-x64/automagik-forge.zip} +0 -0
- package/package.json +13 -23
- package/.cargo/config.toml +0 -13
- package/.claude/commands/commit.md +0 -376
- package/.claude/commands/prompt.md +0 -871
- package/.env.example +0 -20
- package/.github/actions/setup-node/action.yml +0 -29
- package/.github/images/automagik-logo.png +0 -0
- package/.github/workflows/pre-release.yml +0 -470
- package/.github/workflows/publish.yml +0 -145
- package/.github/workflows/test.yml +0 -63
- package/.mcp.json +0 -57
- package/AGENT.md +0 -40
- package/CLAUDE.md +0 -40
- package/CODE-OF-CONDUCT.md +0 -89
- package/Cargo.toml +0 -19
- package/Dockerfile +0 -43
- package/LICENSE +0 -201
- package/Makefile +0 -97
- package/backend/.sqlx/query-01b7e2bac1261d8be3d03c03df3e5220590da6c31c77f161074fc62752d63881.json +0 -12
- package/backend/.sqlx/query-03f2b02ba6dc5ea2b3cf6b1004caea0ad6bcc10ebd63f441d321a389f026e263.json +0 -12
- package/backend/.sqlx/query-0923b77d137a29fc54d399a873ff15fc4af894490bc65a4d344a7575cb0d8643.json +0 -12
- package/backend/.sqlx/query-0f808bcdb63c5f180836e448dd64c435c51758b2fc54a52ce9e67495b1ab200e.json +0 -68
- package/backend/.sqlx/query-1268afe9ca849daa6722e3df7ca8e9e61f0d37052e782bb5452ab8e1018d9b63.json +0 -12
- package/backend/.sqlx/query-1b082630a9622f8667ee7a9aba2c2d3176019a68c6bb83d33008594821415a57.json +0 -12
- package/backend/.sqlx/query-1c7b06ba1e112abf6b945a2ff08a0b40ec23f3738c2e7399f067b558cf8d490e.json +0 -12
- package/backend/.sqlx/query-1f619f01f46859a64ded531dd0ef61abacfe62e758abe7030a6aa745140b95ca.json +0 -104
- package/backend/.sqlx/query-1fca1ce14b4b20205364cd1f1f45ebe1d2e30cd745e59e189d56487b5639dfbb.json +0 -12
- package/backend/.sqlx/query-212828320e8d871ab9d83705a040b23bcf0393dc7252177fc539a74657f578ef.json +0 -32
- package/backend/.sqlx/query-290ce5c152be8d36e58ff42570f9157beb07ab9e77a03ec6fc30b4f56f9b8f6b.json +0 -56
- package/backend/.sqlx/query-2b471d2c2e8ffbe0cd42d2a91b814c0d79f9d09200f147e3cea33ba4ce673c8a.json +0 -68
- package/backend/.sqlx/query-354a48c705bb9bb2048c1b7f10fcb714e23f9db82b7a4ea6932486197b2ede6a.json +0 -92
- package/backend/.sqlx/query-36c9e3dd10648e94b949db5c91a774ecb1e10a899ef95da74066eccedca4d8b2.json +0 -12
- package/backend/.sqlx/query-36e4ba7bbd81b402d5a20b6005755eafbb174c8dda442081823406ac32809a94.json +0 -56
- package/backend/.sqlx/query-3a5b3c98a55ca183ab20c74708e3d7e579dda37972c059e7515c4ceee4bd8dd3.json +0 -62
- package/backend/.sqlx/query-3d0a1cabf2a52e9d90cdfd29c509ca89aeb448d0c1d2446c65cd43db40735e86.json +0 -62
- package/backend/.sqlx/query-3d6bd16fbce59efe30b7f67ea342e0e4ea6d1432389c02468ad79f1f742d4031.json +0 -56
- package/backend/.sqlx/query-4049ca413b285a05aca6b25385e9c8185575f01e9069e4e8581aa45d713f612f.json +0 -32
- package/backend/.sqlx/query-412bacd3477d86369082e90f52240407abce436cb81292d42b2dbe1e5c18eea1.json +0 -104
- package/backend/.sqlx/query-417a8b1ff4e51de82aea0159a3b97932224dc325b23476cb84153d690227fd8b.json +0 -62
- package/backend/.sqlx/query-461cc1b0bb6fd909afc9dd2246e8526b3771cfbb0b22ae4b5d17b51af587b9e2.json +0 -56
- package/backend/.sqlx/query-58408c7a8cdeeda0bef359f1f9bd91299a339dc2b191462fc58c9736a56d5227.json +0 -92
- package/backend/.sqlx/query-5a886026d75d515c01f347cc203c8d99dd04c61dc468e2e4c5aa548436d13834.json +0 -62
- package/backend/.sqlx/query-5b902137b11022d2e1a5c4f6a9c83fec1a856c6a710aff831abd2382ede76b43.json +0 -12
- package/backend/.sqlx/query-5ed1238e52e59bb5f76c0f153fd99a14093f7ce2585bf9843585608f17ec575b.json +0 -104
- package/backend/.sqlx/query-6e8b860b14decfc2227dc57213f38442943d3fbef5c8418fd6b634c6e0f5e2ea.json +0 -104
- package/backend/.sqlx/query-6ec414276994c4ccb2433eaa5b1b342168557d17ddf5a52dac84cb1b59b9de8f.json +0 -68
- package/backend/.sqlx/query-6ecfa16d0cf825aacf233544b5baf151e9adfdca26c226ad71020d291fd802d5.json +0 -62
- package/backend/.sqlx/query-72509d252c39fce77520aa816cb2acbc1fb35dc2605e7be893610599b2427f2e.json +0 -62
- package/backend/.sqlx/query-75239b2da188f749707d77f3c1544332ca70db3d6d6743b2601dc0d167536437.json +0 -62
- package/backend/.sqlx/query-83d10e29f8478aff33434f9ac67068e013b888b953a2657e2bb72a6f619d04f2.json +0 -50
- package/backend/.sqlx/query-8610803360ea18b9b9d078a6981ea56abfbfe84e6354fc1d5ae4c622e01410ed.json +0 -68
- package/backend/.sqlx/query-86d03eb70eef39c59296416867f2ee66c9f7cd8b7f961fbda2f89fc0a1c442c2.json +0 -12
- package/backend/.sqlx/query-87d0feb5a6b442bad9c60068ea7569599cc6fc91a0e2692ecb42e93b03201b9d.json +0 -68
- package/backend/.sqlx/query-8a67b3b3337248f06a57bdf8a908f7ef23177431eaed82dc08c94c3e5944340e.json +0 -12
- package/backend/.sqlx/query-8f01ebd64bdcde6a090479f14810d73ba23020e76fd70854ac57f2da251702c3.json +0 -12
- package/backend/.sqlx/query-90fd607fcb2dca72239ff25e618e21e174b195991eaa33722cbf5f76da84cfab.json +0 -62
- package/backend/.sqlx/query-92e8bdbcd80c5ff3db7a35cf79492048803ef305cbdef0d0a1fe5dc881ca8c71.json +0 -104
- package/backend/.sqlx/query-93a1605f90e9672dad29b472b6ad85fa9a55ea3ffa5abcb8724b09d61be254ca.json +0 -20
- package/backend/.sqlx/query-9472c8fb477958167f5fae40b85ac44252468c5226b2cdd7770f027332eed6d7.json +0 -104
- package/backend/.sqlx/query-96036c4f9e0f48bdc5a4a4588f0c5f288ac7aaa5425cac40fc33f337e1a351f2.json +0 -56
- package/backend/.sqlx/query-9edb2c01e91fd0f0fe7b56e988c7ae0393150f50be3f419a981e035c0121dfc7.json +0 -104
- package/backend/.sqlx/query-a157cf00616f703bfba21927f1eb1c9eec2a81c02da15f66efdba0b6c375de1b.json +0 -26
- package/backend/.sqlx/query-a31fff84f3b8e532fd1160447d89d700f06ae08821fee00c9a5b60492b05259c.json +0 -62
- package/backend/.sqlx/query-a5ba908419fb3e456bdd2daca41ba06cc3212ffffb8520fc7dbbcc8b60ada314.json +0 -12
- package/backend/.sqlx/query-a6d2961718dbc3b1a925e549f49a159c561bef58c105529275f274b27e2eba5b.json +0 -104
- package/backend/.sqlx/query-a9e93d5b09b29faf66e387e4d7596a792d81e75c4d3726e83c2963e8d7c9b56f.json +0 -104
- package/backend/.sqlx/query-ac5247c8d7fb86e4650c4b0eb9420031614c831b7b085083bac20c1af314c538.json +0 -12
- package/backend/.sqlx/query-afef9467be74c411c4cb119a8b2b1aea53049877dfc30cc60b486134ba4b4c9f.json +0 -68
- package/backend/.sqlx/query-b2b2c6b4d0b1a347b5c4cb63c3a46a265d4db53be9554989a814b069d0af82f2.json +0 -62
- package/backend/.sqlx/query-c50d2ff0b12e5bcc81e371089ee2d007e233e7db93aefba4fef08e7aa68f5ab7.json +0 -20
- package/backend/.sqlx/query-c614e6056b244ca07f1b9d44e7edc9d5819225c6f8d9e077070c6e518a17f50b.json +0 -12
- package/backend/.sqlx/query-c67259be8bf4ee0cfd32167b2aa3b7fe9192809181a8171bf1c2d6df731967ae.json +0 -12
- package/backend/.sqlx/query-d2d0a1b985ebbca6a2b3e882a221a219f3199890fa640afc946ef1a792d6d8de.json +0 -12
- package/backend/.sqlx/query-d30aa5786757f32bf2b9c5fe51a45e506c71c28c5994e430d9b0546adb15ffa2.json +0 -20
- package/backend/.sqlx/query-d3b9ea1de1576af71b312924ce7f4ea8ae5dbe2ac138ea3b4470f2d5cd734846.json +0 -12
- package/backend/.sqlx/query-ed8456646fa69ddd412441955f06ff22bfb790f29466450735e0b8bb1bc4ec94.json +0 -12
- package/backend/Cargo.toml +0 -71
- package/backend/build.rs +0 -32
- package/backend/migrations/20250617183714_init.sql +0 -44
- package/backend/migrations/20250620212427_execution_processes.sql +0 -25
- package/backend/migrations/20250620214100_remove_stdout_stderr_from_task_attempts.sql +0 -28
- package/backend/migrations/20250621120000_relate_activities_to_execution_processes.sql +0 -23
- package/backend/migrations/20250623120000_executor_sessions.sql +0 -17
- package/backend/migrations/20250623130000_add_executor_type_to_execution_processes.sql +0 -4
- package/backend/migrations/20250625000000_add_dev_script_to_projects.sql +0 -4
- package/backend/migrations/20250701000000_add_branch_to_task_attempts.sql +0 -2
- package/backend/migrations/20250701000001_add_pr_tracking_to_task_attempts.sql +0 -5
- package/backend/migrations/20250701120000_add_assistant_message_to_executor_sessions.sql +0 -2
- package/backend/migrations/20250708000000_add_base_branch_to_task_attempts.sql +0 -2
- package/backend/migrations/20250709000000_add_worktree_deleted_flag.sql +0 -2
- package/backend/migrations/20250710000000_add_setup_completion.sql +0 -3
- package/backend/migrations/20250715154859_add_task_templates.sql +0 -25
- package/backend/migrations/20250716143725_add_default_templates.sql +0 -174
- package/backend/migrations/20250716161432_update_executor_names_to_kebab_case.sql +0 -20
- package/backend/migrations/20250716170000_add_parent_task_to_tasks.sql +0 -7
- package/backend/migrations/20250717000000_drop_task_attempt_activities.sql +0 -9
- package/backend/migrations/20250719000000_add_cleanup_script_to_projects.sql +0 -2
- package/backend/migrations/20250720000000_add_cleanupscript_to_process_type_constraint.sql +0 -25
- package/backend/migrations/20250723000000_add_wish_to_tasks.sql +0 -7
- package/backend/migrations/20250724000000_remove_unique_wish_constraint.sql +0 -5
- package/backend/scripts/toast-notification.ps1 +0 -23
- package/backend/sounds/abstract-sound1.wav +0 -0
- package/backend/sounds/abstract-sound2.wav +0 -0
- package/backend/sounds/abstract-sound3.wav +0 -0
- package/backend/sounds/abstract-sound4.wav +0 -0
- package/backend/sounds/cow-mooing.wav +0 -0
- package/backend/sounds/phone-vibration.wav +0 -0
- package/backend/sounds/rooster.wav +0 -0
- package/backend/src/app_state.rs +0 -218
- package/backend/src/bin/generate_types.rs +0 -189
- package/backend/src/bin/mcp_task_server.rs +0 -191
- package/backend/src/execution_monitor.rs +0 -1193
- package/backend/src/executor.rs +0 -1053
- package/backend/src/executors/amp.rs +0 -697
- package/backend/src/executors/ccr.rs +0 -91
- package/backend/src/executors/charm_opencode.rs +0 -113
- package/backend/src/executors/claude.rs +0 -887
- package/backend/src/executors/cleanup_script.rs +0 -124
- package/backend/src/executors/dev_server.rs +0 -53
- package/backend/src/executors/echo.rs +0 -79
- package/backend/src/executors/gemini/config.rs +0 -67
- package/backend/src/executors/gemini/streaming.rs +0 -363
- package/backend/src/executors/gemini.rs +0 -765
- package/backend/src/executors/mod.rs +0 -23
- package/backend/src/executors/opencode_ai.rs +0 -113
- package/backend/src/executors/setup_script.rs +0 -130
- package/backend/src/executors/sst_opencode/filter.rs +0 -184
- package/backend/src/executors/sst_opencode/tools.rs +0 -139
- package/backend/src/executors/sst_opencode.rs +0 -756
- package/backend/src/lib.rs +0 -45
- package/backend/src/main.rs +0 -324
- package/backend/src/mcp/mod.rs +0 -1
- package/backend/src/mcp/task_server.rs +0 -850
- package/backend/src/middleware/mod.rs +0 -3
- package/backend/src/middleware/model_loaders.rs +0 -242
- package/backend/src/models/api_response.rs +0 -36
- package/backend/src/models/config.rs +0 -375
- package/backend/src/models/execution_process.rs +0 -430
- package/backend/src/models/executor_session.rs +0 -225
- package/backend/src/models/mod.rs +0 -12
- package/backend/src/models/project.rs +0 -356
- package/backend/src/models/task.rs +0 -345
- package/backend/src/models/task_attempt.rs +0 -1214
- package/backend/src/models/task_template.rs +0 -146
- package/backend/src/openapi.rs +0 -93
- package/backend/src/routes/auth.rs +0 -297
- package/backend/src/routes/config.rs +0 -385
- package/backend/src/routes/filesystem.rs +0 -228
- package/backend/src/routes/health.rs +0 -16
- package/backend/src/routes/mod.rs +0 -9
- package/backend/src/routes/projects.rs +0 -562
- package/backend/src/routes/stream.rs +0 -244
- package/backend/src/routes/task_attempts.rs +0 -1172
- package/backend/src/routes/task_templates.rs +0 -229
- package/backend/src/routes/tasks.rs +0 -353
- package/backend/src/services/analytics.rs +0 -216
- package/backend/src/services/git_service.rs +0 -1321
- package/backend/src/services/github_service.rs +0 -307
- package/backend/src/services/mod.rs +0 -13
- package/backend/src/services/notification_service.rs +0 -263
- package/backend/src/services/pr_monitor.rs +0 -214
- package/backend/src/services/process_service.rs +0 -940
- package/backend/src/utils/path.rs +0 -96
- package/backend/src/utils/shell.rs +0 -19
- package/backend/src/utils/text.rs +0 -24
- package/backend/src/utils/worktree_manager.rs +0 -578
- package/backend/src/utils.rs +0 -125
- package/backend/test.db +0 -0
- package/build-npm-package.sh +0 -61
- package/dev_assets_seed/config.json +0 -19
- package/frontend/.eslintrc.json +0 -25
- package/frontend/.prettierrc.json +0 -8
- package/frontend/components.json +0 -17
- package/frontend/index.html +0 -19
- package/frontend/package-lock.json +0 -7321
- package/frontend/package.json +0 -61
- package/frontend/postcss.config.js +0 -6
- package/frontend/public/android-chrome-192x192.png +0 -0
- package/frontend/public/android-chrome-512x512.png +0 -0
- package/frontend/public/apple-touch-icon.png +0 -0
- package/frontend/public/automagik-forge-logo-dark.svg +0 -3
- package/frontend/public/automagik-forge-logo.svg +0 -3
- package/frontend/public/automagik-forge-screenshot-overview.png +0 -0
- package/frontend/public/favicon-16x16.png +0 -0
- package/frontend/public/favicon-32x32.png +0 -0
- package/frontend/public/favicon.ico +0 -0
- package/frontend/public/site.webmanifest +0 -1
- package/frontend/public/viba-kanban-favicon.png +0 -0
- package/frontend/src/App.tsx +0 -157
- package/frontend/src/components/DisclaimerDialog.tsx +0 -106
- package/frontend/src/components/GitHubLoginDialog.tsx +0 -314
- package/frontend/src/components/OnboardingDialog.tsx +0 -185
- package/frontend/src/components/PrivacyOptInDialog.tsx +0 -130
- package/frontend/src/components/ProvidePatDialog.tsx +0 -98
- package/frontend/src/components/TaskTemplateManager.tsx +0 -336
- package/frontend/src/components/config-provider.tsx +0 -119
- package/frontend/src/components/context/TaskDetailsContextProvider.tsx +0 -470
- package/frontend/src/components/context/taskDetailsContext.ts +0 -125
- package/frontend/src/components/keyboard-shortcuts-demo.tsx +0 -35
- package/frontend/src/components/layout/navbar.tsx +0 -86
- package/frontend/src/components/logo.tsx +0 -44
- package/frontend/src/components/projects/ProjectCard.tsx +0 -155
- package/frontend/src/components/projects/project-detail.tsx +0 -251
- package/frontend/src/components/projects/project-form-fields.tsx +0 -238
- package/frontend/src/components/projects/project-form.tsx +0 -301
- package/frontend/src/components/projects/project-list.tsx +0 -200
- package/frontend/src/components/projects/projects-page.tsx +0 -20
- package/frontend/src/components/tasks/BranchSelector.tsx +0 -169
- package/frontend/src/components/tasks/DeleteFileConfirmationDialog.tsx +0 -94
- package/frontend/src/components/tasks/EditorSelectionDialog.tsx +0 -119
- package/frontend/src/components/tasks/TaskCard.tsx +0 -154
- package/frontend/src/components/tasks/TaskDetails/CollapsibleToolbar.tsx +0 -33
- package/frontend/src/components/tasks/TaskDetails/DiffCard.tsx +0 -109
- package/frontend/src/components/tasks/TaskDetails/DiffChunkSection.tsx +0 -135
- package/frontend/src/components/tasks/TaskDetails/DiffFile.tsx +0 -296
- package/frontend/src/components/tasks/TaskDetails/DiffTab.tsx +0 -32
- package/frontend/src/components/tasks/TaskDetails/DisplayConversationEntry.tsx +0 -392
- package/frontend/src/components/tasks/TaskDetails/LogsTab/Conversation.tsx +0 -256
- package/frontend/src/components/tasks/TaskDetails/LogsTab/ConversationEntry.tsx +0 -56
- package/frontend/src/components/tasks/TaskDetails/LogsTab/NormalizedConversationViewer.tsx +0 -92
- package/frontend/src/components/tasks/TaskDetails/LogsTab/Prompt.tsx +0 -22
- package/frontend/src/components/tasks/TaskDetails/LogsTab/SetupScriptRunning.tsx +0 -49
- package/frontend/src/components/tasks/TaskDetails/LogsTab.tsx +0 -186
- package/frontend/src/components/tasks/TaskDetails/ProcessesTab.tsx +0 -288
- package/frontend/src/components/tasks/TaskDetails/RelatedTasksTab.tsx +0 -216
- package/frontend/src/components/tasks/TaskDetails/TabNavigation.tsx +0 -93
- package/frontend/src/components/tasks/TaskDetailsHeader.tsx +0 -169
- package/frontend/src/components/tasks/TaskDetailsPanel.tsx +0 -126
- package/frontend/src/components/tasks/TaskDetailsToolbar.tsx +0 -302
- package/frontend/src/components/tasks/TaskFollowUpSection.tsx +0 -130
- package/frontend/src/components/tasks/TaskFormDialog.tsx +0 -400
- package/frontend/src/components/tasks/TaskKanbanBoard.tsx +0 -180
- package/frontend/src/components/tasks/Toolbar/CreateAttempt.tsx +0 -259
- package/frontend/src/components/tasks/Toolbar/CreatePRDialog.tsx +0 -243
- package/frontend/src/components/tasks/Toolbar/CurrentAttempt.tsx +0 -899
- package/frontend/src/components/tasks/index.ts +0 -2
- package/frontend/src/components/theme-provider.tsx +0 -82
- package/frontend/src/components/theme-toggle.tsx +0 -36
- package/frontend/src/components/ui/alert.tsx +0 -59
- package/frontend/src/components/ui/auto-expanding-textarea.tsx +0 -70
- package/frontend/src/components/ui/badge.tsx +0 -36
- package/frontend/src/components/ui/button.tsx +0 -56
- package/frontend/src/components/ui/card.tsx +0 -86
- package/frontend/src/components/ui/checkbox.tsx +0 -44
- package/frontend/src/components/ui/chip.tsx +0 -25
- package/frontend/src/components/ui/dialog.tsx +0 -124
- package/frontend/src/components/ui/dropdown-menu.tsx +0 -198
- package/frontend/src/components/ui/file-search-textarea.tsx +0 -292
- package/frontend/src/components/ui/folder-picker.tsx +0 -279
- package/frontend/src/components/ui/input.tsx +0 -25
- package/frontend/src/components/ui/label.tsx +0 -24
- package/frontend/src/components/ui/loader.tsx +0 -26
- package/frontend/src/components/ui/markdown-renderer.tsx +0 -75
- package/frontend/src/components/ui/select.tsx +0 -160
- package/frontend/src/components/ui/separator.tsx +0 -31
- package/frontend/src/components/ui/shadcn-io/kanban/index.tsx +0 -185
- package/frontend/src/components/ui/table.tsx +0 -117
- package/frontend/src/components/ui/tabs.tsx +0 -53
- package/frontend/src/components/ui/textarea.tsx +0 -22
- package/frontend/src/components/ui/tooltip.tsx +0 -28
- package/frontend/src/hooks/useNormalizedConversation.ts +0 -440
- package/frontend/src/index.css +0 -225
- package/frontend/src/lib/api.ts +0 -630
- package/frontend/src/lib/keyboard-shortcuts.ts +0 -266
- package/frontend/src/lib/responsive-config.ts +0 -70
- package/frontend/src/lib/types.ts +0 -39
- package/frontend/src/lib/utils.ts +0 -10
- package/frontend/src/main.tsx +0 -50
- package/frontend/src/pages/McpServers.tsx +0 -418
- package/frontend/src/pages/Settings.tsx +0 -610
- package/frontend/src/pages/project-tasks.tsx +0 -575
- package/frontend/src/pages/projects.tsx +0 -18
- package/frontend/src/vite-env.d.ts +0 -1
- package/frontend/tailwind.config.js +0 -125
- package/frontend/tsconfig.json +0 -26
- package/frontend/tsconfig.node.json +0 -10
- package/frontend/vite.config.ts +0 -33
- package/npx-cli/README.md +0 -159
- package/npx-cli/automagik-forge-0.1.0.tgz +0 -0
- package/npx-cli/automagik-forge-0.1.10.tgz +0 -0
- package/npx-cli/package.json +0 -17
- package/npx-cli/vibe-kanban-0.0.55.tgz +0 -0
- package/pnpm-workspace.yaml +0 -2
- package/rust-toolchain.toml +0 -11
- package/rustfmt.toml +0 -3
- package/scripts/load-env.js +0 -43
- package/scripts/mcp_test.js +0 -374
- package/scripts/prepare-db.js +0 -45
- package/scripts/setup-dev-environment.js +0 -274
- package/scripts/start-mcp-sse.js +0 -70
- package/scripts/test-debug.js +0 -32
- package/scripts/test-mcp-sse.js +0 -138
- package/scripts/test-simple.js +0 -44
- package/scripts/test-wish-final.js +0 -179
- package/scripts/test-wish-system.js +0 -221
- package/shared/types.ts +0 -182
- package/test-npm-package.sh +0 -42
- /package/{npx-cli/bin → bin}/cli.js +0 -0
package/backend/.sqlx/query-a9e93d5b09b29faf66e387e4d7596a792d81e75c4d3726e83c2963e8d7c9b56f.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-ac5247c8d7fb86e4650c4b0eb9420031614c831b7b085083bac20c1af314c538.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-afef9467be74c411c4cb119a8b2b1aea53049877dfc30cc60b486134ba4b4c9f.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-b2b2c6b4d0b1a347b5c4cb63c3a46a265d4db53be9554989a814b069d0af82f2.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-c50d2ff0b12e5bcc81e371089ee2d007e233e7db93aefba4fef08e7aa68f5ab7.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-c614e6056b244ca07f1b9d44e7edc9d5819225c6f8d9e077070c6e518a17f50b.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-c67259be8bf4ee0cfd32167b2aa3b7fe9192809181a8171bf1c2d6df731967ae.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-d2d0a1b985ebbca6a2b3e882a221a219f3199890fa640afc946ef1a792d6d8de.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-d30aa5786757f32bf2b9c5fe51a45e506c71c28c5994e430d9b0546adb15ffa2.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-d3b9ea1de1576af71b312924ce7f4ea8ae5dbe2ac138ea3b4470f2d5cd734846.json
DELETED
@@ -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
|
-
}
|
package/backend/.sqlx/query-ed8456646fa69ddd412441955f06ff22bfb790f29466450735e0b8bb1bc4ec94.json
DELETED
@@ -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
|
-
}
|
package/backend/Cargo.toml
DELETED
@@ -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,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;
|