Commit Graph

12 Commits

Author SHA1 Message Date
f1df797ac4 fix: Correct urlId format for documents (10 chars)
Outline uses 10-char alphanumeric urlId, not 21-char hex.
Documents with wrong format returned 404 "Not found".

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:40:47 +00:00
12710c2b2f fix(critical): Create revision on document creation
Documents created via MCP were not visible in Outline interface.
Outline requires an entry in the revisions table to display documents.

Now uses transaction to insert into both documents and revisions tables.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:35:45 +00:00
1cdeafebb6 fix: Add default sort value to create_collection
Collections without sort field cause frontend error:
"Cannot read properties of null (reading 'field')"

Now sets {"field": "index", "direction": "asc"} as default.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:36:58 +00:00
1c8f6cbab9 fix: Shorten tool name exceeding 64 char limit
- Renamed outline_bulk_remove_users_from_collection (41 chars)
  to outline_bulk_remove_collection_users (38 chars)
- With MCP prefix (24 chars), total was 65 > 64 limit
- Bumped version to 1.3.7
- Updated all version references in source files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:27:13 +00:00
354e8ae21f fix: Schema bugs in create operations - id/urlId columns missing
Fixed 3 schema compatibility bugs found during Round 3 write testing:
- create_document: Added id, urlId, teamId, isWelcome, fullWidth, insightsEnabled
- create_collection: Added id, maintainerApprovalRequired
- shares_create: Added id, allowIndexing, showLastUpdated

All write operations now include required NOT NULL columns.
Bumped version to 1.3.6.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:08:52 +00:00
2808d4aec0 fix: 3 schema bugs + add comprehensive testing documentation
Bug Fixes:
- auth.ts: Remove non-existent ap.updatedAt column
- subscriptions.ts: Add LIMIT 25 to prevent 136KB+ responses
- collections.ts: Remove documentStructure from list (use get for full)

Documentation:
- TESTING-GUIDE.md: Complete 164-tool reference with test status
- CONTINUE.md: Updated with verification status and MCP loading issue
- CHANGELOG.md: Document fixes and Round 1-2 test results

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:53:44 +00:00
15c6c5a24f feat: Add comprehensive Jest test suite (209 tests)
- Add Jest configuration for TypeScript testing
- Add security utilities tests (44 tests)
- Add Zod validation tests (34 tests)
- Add cursor pagination tests (25 tests)
- Add query builder tests (38 tests)
- Add tools structure validation (68 tests)
- All 164 tools validated for correct structure
- Version bump to 1.3.4

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:33:19 +00:00
56f37892c0 fix: Schema compatibility - 8 column/table fixes found during testing
Fixed issues discovered during comprehensive testing of 164 tools:

- groups.ts: Remove non-existent description column
- analytics.ts: Use group_permissions instead of collection_group_memberships
- notifications.ts: Remove non-existent data column
- imports-tools.ts: Remove non-existent type/documentCount/fileCount columns
- emojis.ts: Graceful handling when emojis table doesn't exist
- teams.ts: Remove passkeysEnabled/description/preferences columns
- collections.ts: Use lastModifiedById instead of updatedById
- revisions.ts: Use lastModifiedById instead of updatedById

Tested 45+ tools against production (hub.descomplicar.pt)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:23:00 +00:00
7d2a014b74 fix: Schema compatibility - emoji → icon column rename
Production Outline DB uses 'icon' column instead of 'emoji' for documents
and revisions. Fixed all affected queries:

- documents.ts: SELECT queries
- advanced-search.ts: Search queries
- analytics.ts: Analytics + GROUP BY
- export-import.ts: Export/import metadata
- templates.ts: Template queries + INSERT
- collections.ts: Collection document listing
- revisions.ts: Revision comparison

reactions.emoji kept unchanged (correct schema)

Tested: 448 documents successfully queried from hub.descomplicar.pt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:14:27 +00:00
5f49cb63e8 feat: v1.3.1 - Multi-transport + Production deployment
- Add HTTP transport (StreamableHTTPServerTransport)
- Add shared server module (src/server/)
- Configure production for hub.descomplicar.pt
- Add SSH tunnel script (start-tunnel.sh)
- Fix connection leak in pg-client.ts
- Fix atomicity bug in comments deletion
- Update docs with test plan for 164 tools

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:06:30 +00:00
0329a1179a fix: corrigir bugs críticos de segurança e memory leaks (v1.2.4)
- fix(pagination): SQL injection em cursor pagination - validação de nomes de campos
- fix(transaction): substituir Math.random() por crypto.randomBytes() para jitter
- fix(monitoring): memory leak - adicionar .unref() ao setInterval
- docs: adicionar relatório completo de bugs (BUG-REPORT-2026-01-31.md)
- chore: actualizar versão para 1.2.4
2026-01-31 16:09:25 +00:00
b05b54033f feat: Initial release MCP Outline PostgreSQL v1.0.0
86 tools across 12 modules for direct PostgreSQL access to Outline Wiki:
- Documents (19), Collections (14), Users (9), Groups (8)
- Comments (6), Shares (5), Revisions (3), Events (3)
- Attachments (5), File Operations (4), OAuth (8), Auth (2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:25:09 +00:00