Skip to content

v2.7.0

Choose a tag to compare

@devondragon devondragon released this 25 Feb 17:38
· 73 commits to main since this release

Refactoring

  • Split motionApi.ts into resource modules (#52, #85): Decomposed the monolithic 1,850-line MotionApiService into 10 focused resource modules under src/services/api/. The facade class is now ~254 lines of pure delegation. Each module exports standalone async functions that accept a ResourceContext ({ 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) and CacheManager (per-resource TTL cache) as shared infrastructure
    • Added facade-contract.spec.ts verifying facade delegation to all resource modules

Technical Improvements

  • Consolidated error modules into single errors.ts (#81)
  • Removed dead code and consolidated constants (#78)
  • Added explicit statusCode param to UserFacingError constructor (#83)
  • Made ToolRegistry.register() private (#79, #84)

Full Changelog: v2.6.0...v2.7.0