Commit Graph

67 Commits

Author SHA1 Message Date
Rob Colbert
e1a446a3f3 Phase 5: Implement workspace persistence and crash recovery
- Create WorkspaceService for managing .gadget/ directory
- Implement workspace.json for persistent identity (workspaceId UUID)
- Add work order cache for crash recovery
- Update drone registration to include workspaceId
- Add crash recovery socket events (requestCrashRecovery, crashRecoveryResponse)
- Implement crash recovery handler in DroneSession
- Write work order cache before processing, remove after completion
2026-04-29 16:44:02 -04:00
Rob Colbert
92d19a648c Phase 3: Implement Drone→IDE event routing
- Add event handlers to DroneSession (thinking, response, toolCall, workOrderComplete)
- Implement routing logic to forward events to CodeSession
- Add chat session index to SocketService for reverse lookup
- Add workOrderComplete to ServerToClientEvents interface
- Update CodeSession to register chat session and set current turn on drone
- Add unit tests for DroneSession (12 tests, all passing)
2026-04-29 16:26:10 -04:00
Rob Colbert
8fe75b8c1c Phase 1-2: Fix type conflicts and implement prompt submission
- Resolve duplicate DroneStatus enum (import from @gadget/api)
- Fix IAiProvider interface conflict with DB→runtime mapper
- Add callId to ToolCallMessage and ChatToolCallSchema
- Fix ChatTurnStats schema field name (thinkingTokenCount)
- Add provider/selectedModel to ChatSession interface and model
- Implement CodeSession.onSubmitPrompt() to create ChatTurn and send work orders
- Add drone/chat session tracking to CodeSession
- Add unit tests for CodeSession (9 tests, all passing)
2026-04-29 16:21:23 -04:00
Rob Colbert
1b8044a8a7 added setting for max Socket.IO HTTP buffer size 2026-04-29 13:39:19 -04:00
Rob Colbert
9cb689668f more refactoring to standardize interfaces
We want to speak only one language when dealing with AI content to
minimize the number of maps, transforms, and copies. This initiative
isn't done, this is a checkpoint along the way while conducting
experiments.
2026-04-29 11:47:28 -04:00
Rob Colbert
096d8fe8b3 switched to feature/socket-protocol to continue experiments 2026-04-29 10:11:01 -04:00
Rob Colbert
db0d1586d6 front-end progress; Socket.IO messaging API; inquirer for credentials 2026-04-29 00:24:38 -04:00
Rob Colbert
56ba613cc7 theme enforced and correctly implemented; e2e tests added for theme 2026-04-28 17:43:05 -04:00
Rob Colbert
0bc47e60a5 Fix: Darken border colors to match dark industrial theme
- border-default: #27272a (was #2a2a2a)
- border-highlight: #2a2a2a (was #3a3a3a)

Previous bright borders (~#d4d4d4) are now neutral dark grays.
2026-04-28 17:27:39 -04:00
Rob Colbert
2e9571a74e Implement dark industrial theme, Project Manager, and JWT authentication
- Add dark industrial theme with brand color #c20600 and CSS variables
- Create Header component with version display and user dropdown menu
- Create StatusBar with connection indicator and project/session display
- Create ProjectManager page with CRUD, list view, and inspector
- Add JWT Bearer token to API requests for authenticated endpoints
- Add project API endpoints (GET/POST/PUT/DELETE /api/v1/projects)
- Add ProjectService methods: findById, findBySlug, delete
- Add unit tests for project API endpoints
- Add Playwright E2E tests for projects flow
- Update UI design guide with implementation details
- Fix: empty JSON body parsing in web-app.ts middleware
2026-04-28 17:13:49 -04:00
Rob Colbert
f900ecb3dd added project service 2026-04-28 16:18:21 -04:00
Rob Colbert
2129ff798b added workspaceDir to DroneRegistration 2026-04-28 15:23:01 -04:00
Rob Colbert
b3b913f12a created 2026-04-28 15:13:29 -04:00
Rob Colbert
6ee25642b8 fixing imports to restore build
All relevant model interfaces now come from @gadget/api
2026-04-28 12:47:26 -04:00
Rob Colbert
cc6d3b901a refactor gadget-code model interfaces to @gadget/api
Moved all Mongoose model interfaces to @gadget/api to commonize the data
structures being passed around the system as JSON objects via HTTP and
Socket.IO.
2026-04-28 12:42:32 -04:00
Rob Colbert
49d4290088 checkpoint 2026-04-28 12:23:14 -04:00
Rob Colbert
1edc3a85b8 created by merging gadget-code and gadget-drone 2026-04-28 09:20:37 -04:00