Commit Graph

20 Commits

Author SHA1 Message Date
Rob Colbert
f35a0ce921 a lot of review and by-hand cleanup (wip) 2026-05-05 05:28:09 -04:00
Rob Colbert
bab0b1810f many fixes
- JWT refresh logic to prevent dead sessions
- drone status messages now arrive in IDE for display
- WorkspaceService.deployProject method added to clone into a repo or
create the directory (new project not yet in git)
2026-05-03 04:15:48 -04:00
Rob Colbert
c5e5d16a51 workspace mode management; drone status message socket events added 2026-05-03 03:05:06 -04:00
Rob Colbert
5c56f95cd6 Implement workspace mode switching with validation
- Add isProcessingWorkOrder flag to track Agent work order processing
- Update onRequestWorkspaceMode with mode transition matrix validation
  - Idle → User/Agent: Always allowed
  - User → Agent: Always allowed (file editor checks for future)
  - Agent → User: Only if !isProcessingWorkOrder
  - All other transitions: Rejected with reason
- Extend RequestWorkspaceModeCallback with optional reason parameter
- Update frontend socket client to capture rejection reason
- Update handleWorkspaceModeChange to display rejection reason in toast
- Update WorkspaceModeIndicator to allow mode transitions per matrix
- Fix FilesPanel RW/RO indicator swap bug
- Document mode transition matrix and behavior in workspace-management.md
2026-05-02 18:13:31 -04:00
Rob Colbert
4ec31764d5 workspace management checkpoint while agents are working on it 2026-05-02 15:34:26 -04:00
Rob Colbert
b84e06fac8 session lock and workspace processing refinements 2026-05-02 11:21:41 -04:00
Rob Colbert
4642609d06 socket message and drone workspace cleanup 2026-05-02 02:46:45 -04:00
Rob Colbert
bc4959c0da refactor session startup, shutdown, and import 2026-05-01 15:37:35 -04:00
Rob Colbert
404532012e move from Types.ObjectId to GadgetId (a string) 2026-05-01 14:31:00 -04:00
Rob Colbert
50b9618d4e project manager and chat session progress 2026-05-01 08:13:22 -04:00
Rob Colbert
c6d0c66563 drone manager created (wip) 2026-04-30 09:40:27 -04:00
Rob Colbert
089a5b5fab checkpoint 2026-04-29 18:59:42 -04:00
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
a4d25f90a9 Phase 4: Add event emissions to AWL
- Update AgentService.process() to accept socket parameter
- Emit thinking, response, and toolCall events during AWL execution
- Emit workOrderComplete when AWL loop finishes
- Update drone to pass socket to AgentService.process()
2026-04-29 16:28:53 -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
2314a61efe more documentation and progress working towards a usable socket protocol 2026-04-29 15:23:03 -04:00
Rob Colbert
c88081b2ba add workspace mode to gadget-drone process
Read docs/gadget-workspace.md for more information
2026-04-29 13:40: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
db0d1586d6 front-end progress; Socket.IO messaging API; inquirer for credentials 2026-04-29 00:24:38 -04:00
Rob Colbert
1edc3a85b8 created by merging gadget-code and gadget-drone 2026-04-28 09:20:37 -04:00