| feat(skills): centralize skill management in the gateway
Previously the UI server's ui/server/routes/skills.js managed skills as a
parallel system anchored to ~/.claude/skills/, while the gateway only saw
skills under ~/.pilotdeck/skills/ via PluginRuntime discovery. The two
views silently diverged and any fix needed to be applied twice.
This change makes the gateway the single source of truth:
- New src/extension/skills/{SkillManager,types,index}.ts — list/read/
write/create/delete/import/validate/scan operating on both user-scoped
(~/.pilotdeck/skills/) and project-scoped (<projectRoot>/.pilotdeck/
skills/) directories. Uses the yaml package for proper frontmatter
parsing instead of the previous line-based heuristics.
- Eight new skill_* RPCs added to the Gateway interface, implemented in
InProcessGateway, proxied by RemoteGateway, and dispatched in
GatewayWsConnection. createLocalGateway wires the SkillManager into the
InProcessGateway constructor.
- ui/server/routes/skills.js rewritten as a thin bridge that forwards
REST requests to the gateway. Multipart upload (/import-upload) and
clawhub endpoints remain file-based but now target .pilotdeck/skills/.
- New GatewayRequestError preserves structured error code + validation
payload across the websocket, so SkillManagerError / SkillValidation
Error surface as the expected HTTP statuses (409 conflict, 400 invalid
slug, 404 not found, 422 validation failed) on the UI bridge instead
of collapsing into a generic 500.
Tests: protocol-sync test extended to include the new skill_* methods.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 19 天前 |
| refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire
The old web-driven Always-On path (discovery trigger → auto-poll →
web chat execution) raced with the DiscoveryFire pipeline, causing
duplicate plan executions. This commit removes the entire legacy path:
- Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers
DiscoveryFire phases 2-4 (workspace → execution → report) directly
- Remove MainContent auto-poll, discovery trigger handler, execution
lifecycle tracking, and all associated refs/callbacks/useEffects
- Delete queueExecution, updateExecution, buildExecutionPrompt
from DiscoveryPlanService and the PATCH execution REST endpoint
- Unregister /ao slash command; delete alwaysOnSlashActions.ts
- Delete discovery-trigger-client.js and its WS handler in index.js
- Delete old web discovery prompt and utility files
- Remove approvalMode field from WebPlanRecord, UI types, i18n, tests
Co-authored-by: Cursor <cursoragent@cursor.com>
| 7 天前 |
| refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire
The old web-driven Always-On path (discovery trigger → auto-poll →
web chat execution) raced with the DiscoveryFire pipeline, causing
duplicate plan executions. This commit removes the entire legacy path:
- Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers
DiscoveryFire phases 2-4 (workspace → execution → report) directly
- Remove MainContent auto-poll, discovery trigger handler, execution
lifecycle tracking, and all associated refs/callbacks/useEffects
- Delete queueExecution, updateExecution, buildExecutionPrompt
from DiscoveryPlanService and the PATCH execution REST endpoint
- Unregister /ao slash command; delete alwaysOnSlashActions.ts
- Delete discovery-trigger-client.js and its WS handler in index.js
- Delete old web discovery prompt and utility files
- Remove approvalMode field from WebPlanRecord, UI types, i18n, tests
Co-authored-by: Cursor <cursoragent@cursor.com>
| 7 天前 |
| feat: desktop refactor — splash, provider-tester, config-validator, release pipeline
Major desktop app overhaul:
- Add splash screen window during startup
- Add provider connectivity tester
- Add YAML config validator
- Rename install-edgeclaw.sh → install-pilotdeck.sh
- Add RELEASING.md documenting the full release workflow
- Update release.sh with GitHub Release publishing, DMG notarization
- Update electron-builder.yml with TCC usage descriptions
- Update onboarding UI
- Fix OpenAI provider request/stream handling
- Update CLI and gateway probe
Co-authored-by: Cursor <cursoragent@cursor.com>
| 21 天前 |