Repository navigation
v2.7.0
Refactoring
- Split
motionApi.tsinto resource modules (#52, #85): Decomposed the monolithic 1,850-lineMotionApiServiceinto 10 focused resource modules undersrc/services/api/. The facade class is now ~254 lines of pure delegation. Each module exports standalone async functions that accept aResourceContext({ api, cache }), making the codebase easier to navigate, test, and extend.- New modules:
tasks,projects,workspaces,users,comments,customFields,recurringTasks,schedules,search,statuses - Extracted
ApiClient(HTTP + retry) andCacheManager(per-resource TTL cache) as shared infrastructure - Added
facade-contract.spec.tsverifying facade delegation to all resource modules
- New modules:
Technical Improvements
- Consolidated error modules into single
errors.ts(#81) - Removed dead code and consolidated constants (#78)
- Added explicit
statusCodeparam toUserFacingErrorconstructor (#83) - Made
ToolRegistry.register()private (#79, #84)
Full Changelog: v2.6.0...v2.7.0