callumalpass_tasknotes/package.json
Callum Alpass ac57dd738a feat: add OpenAPI specification and Pomodoro API endpoints
## OpenAPI Specification
- Add decorator-based OpenAPI system with @OpenAPIController and @OpenAPI decorators
- Generate machine-readable OpenAPI 3.0 spec at /api/docs
- Serve interactive Swagger UI documentation at /api/docs/ui
- Complete schema definitions for all API types and responses
- Enable TypeScript experimental decorators support

## Pomodoro API Endpoints
- POST /api/pomodoro/start - Start new pomodoro session with optional task
- POST /api/pomodoro/stop - Stop current session
- POST /api/pomodoro/pause - Pause running session
- POST /api/pomodoro/resume - Resume paused session
- GET /api/pomodoro/status - Get current session status and statistics
- GET /api/pomodoro/sessions - Get session history with filtering
- GET /api/pomodoro/stats - Get daily/date-specific statistics

## Documentation Updates
- Add comprehensive HTTP API documentation with pomodoro examples
- Include JavaScript PomodoroController integration example
- Update feature documentation with view types and settings
- Improve navigation structure across documentation files

## Dependencies
- Add reflect-metadata for decorator metadata support
- Remove unused express dependency
- Update TypeScript configuration for decorator support

All endpoints include proper error handling, OpenAPI documentation, and support for recurring task integration.
2025-08-13 22:12:14 +10:00

59 lines
2 KiB
JSON

{
"name": "tasknotes",
"version": "3.19.1",
"description": "Note-based task management with calendar, pomodoro and time-tracking integration.",
"main": "main.js",
"scripts": {
"build": "npm run build-css && tsc -noEmit -skipLibCheck && node esbuild.config.mjs production",
"dev": "npm run build && npm run copy-files",
"dev:watch": "npm run build-css && node esbuild.config.mjs",
"copy-files": "node copy-files.mjs",
"build-css": "node build-css.mjs",
"version": "node version-bump.mjs && git add manifest.json versions.json",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage",
"test:ci": "jest --ci --coverage --watchAll=false",
"test:integration": "jest --config jest.integration.config.js",
"test:unit": "jest --testPathPattern=unit",
"test:performance": "jest --testPathPattern=performance --detectOpenHandles --passWithNoTests",
"test:build": "node -e \"console.log('Build test passed - plugin bundle created successfully')\"",
"lint": "eslint src/ --ext .ts",
"typecheck": "tsc --noEmit"
},
"keywords": [],
"author": "",
"license": "MIT",
"devDependencies": {
"@types/jest": "^29.5.8",
"@types/node": "^16.11.6",
"@types/yaml": "^1.9.6",
"@typescript-eslint/eslint-plugin": "^5.29.0",
"@typescript-eslint/parser": "^5.29.0",
"builtin-modules": "3.3.0",
"esbuild": "0.17.3",
"eslint": "^8.56.0",
"eslint-plugin-obsidianmd": "^0.0.2",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"obsidian": "latest",
"ts-jest": "^29.1.1",
"tslib": "2.4.0",
"typescript": "4.7.4"
},
"dependencies": {
"@codemirror/view": "^6.37.2",
"@fullcalendar/core": "^6.1.17",
"@fullcalendar/daygrid": "^6.1.17",
"@fullcalendar/interaction": "^6.1.17",
"@fullcalendar/multimonth": "^6.1.17",
"@fullcalendar/timegrid": "^6.1.17",
"chrono-node": "^2.7.5",
"date-fns": "^2.30.0",
"ical.js": "^1.5.0",
"obsidian-daily-notes-interface": "^0.9.4",
"reflect-metadata": "^0.2.2",
"rrule": "^2.8.1",
"yaml": "^2.3.1"
}
}