gadget/gadget-tasks/package.json
Rob Colbert b906cb2377 feat(gadget-tasks): course correction — headless IDE client architecture
Converts gadget-tasks from a duplicated codebase with direct MongoDB access
to a headless IDE client that uses gadget-code's REST API and Socket.IO
protocol to submit and process task prompts through the existing pipeline.

Deleted (no longer needed):
- gadget-tasks/src/models/ (5 Mongoose models — duplicated from gadget-code)
- gadget-tasks/data/prompts/ (11 prompt templates — duplicated from gadget-code)
- gadget-tasks/src/services/executor.ts (629-line AWL loop — duplicated from gadget-drone)
- gadget-tasks/src/services/ai.ts (direct AI API calls — drones do this now)
- gadget-tasks/src/services/workspace.ts (workspace management — drones do this now)

Added:
- gadget-tasks/src/services/platform.ts — REST API + Socket.IO headless IDE client
  with session lock, workspace mode, prompt submission, work order tracking

Rewritten:
- gadget-tasks/src/gadget-tasks.ts — new startup: user login → auth → drone
  selection → Socket.IO connect → schedule tasks (no MongoDB)
- gadget-tasks/src/services/scheduler.ts — delegates to PlatformService.executeTask()
- gadget-tasks/src/config/env.ts — platform.baseUrl config, no mongodb/google

gadget-code changes:
- Added PATCH /api/v1/projects/:projectId/tasks/:taskId/lastRun route
- Added ProjectService.updateTaskLastRun() for atomic task field update

Config changes:
- GadgetTasksConfig: replaced mongodb with platform.baseUrl, removed google.cse
- Dependencies: removed mongoose, @gadget/ai, @gadget/ai-toolbox, dayjs,
  simple-git, nanoid; added socket.io-client, @inquirer/prompts
2026-05-17 00:48:39 -04:00

40 lines
1.0 KiB
JSON

{
"name": "gadget-tasks",
"version": "1.0.0",
"description": "Gadget Code scheduled task worker process",
"type": "module",
"bin": {
"gadget-tasks": "./dist/gadget-tasks.js"
},
"main": "./dist/gadget-tasks.js",
"scripts": {
"dev": "tsx src/gadget-tasks.ts",
"dev:watch": "tsx watch src/gadget-tasks.ts",
"build": "tsc",
"start": "node dist/gadget-tasks.js"
},
"keywords": [
"gadget",
"tasks",
"cron",
"scheduler",
"worker"
],
"author": "Rob Colbert",
"license": "Apache-2.0",
"packageManager": "pnpm@10.33.2+sha512.a90faf6feeab71ad6c6e57f94e0fe1a12f5dcc22cd754db40ae9593eb6a3e0b6b12e3540218bb37ae083404b1f2ce6db2a4121e979829b4aff94b99f49da1cf8",
"dependencies": {
"@gadget/api": "workspace:*",
"@gadget/config": "workspace:*",
"@inquirer/prompts": "^8.4.2",
"cron": "^4.3.1",
"ioredis": "^5.6.0",
"socket.io-client": "^4.8.1"
},
"devDependencies": {
"@types/node": "^25.6.0",
"tsx": "^4.21.0",
"typescript": "6.0.3"
}
}