@cyanheads/mcp-ts-core 0.1.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +583 -0
- package/LICENSE +201 -0
- package/README.md +287 -0
- package/biome.json +103 -0
- package/dist/app.d.ts +82 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +222 -0
- package/dist/app.js.map +1 -0
- package/dist/cli/init.d.ts +8 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +161 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/config/index.d.ts +349 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +464 -0
- package/dist/config/index.js.map +1 -0
- package/dist/context.d.ts +119 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +144 -0
- package/dist/context.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/prompts/prompt-registration.d.ts +33 -0
- package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -0
- package/dist/mcp-server/prompts/prompt-registration.js +91 -0
- package/dist/mcp-server/prompts/prompt-registration.js.map +1 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts +49 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts.map +1 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.js +39 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.js.map +1 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts +37 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts.map +1 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.js +2 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.js.map +1 -0
- package/dist/mcp-server/resources/resource-registration.d.ts +27 -0
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -0
- package/dist/mcp-server/resources/resource-registration.js +85 -0
- package/dist/mcp-server/resources/resource-registration.js.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts +84 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.js +40 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.js.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts +32 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js +103 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js.map +1 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +94 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.js +2 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +14 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +111 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -0
- package/dist/mcp-server/roots/roots-registration.d.ts +22 -0
- package/dist/mcp-server/roots/roots-registration.d.ts.map +1 -0
- package/dist/mcp-server/roots/roots-registration.js +25 -0
- package/dist/mcp-server/roots/roots-registration.js.map +1 -0
- package/dist/mcp-server/server.d.ts +34 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +62 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts +42 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js +70 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js.map +1 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts +109 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js +209 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js.map +1 -0
- package/dist/mcp-server/tasks/core/taskManager.d.ts +103 -0
- package/dist/mcp-server/tasks/core/taskManager.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/taskManager.js +144 -0
- package/dist/mcp-server/tasks/core/taskManager.js.map +1 -0
- package/dist/mcp-server/tasks/core/taskTypes.d.ts +11 -0
- package/dist/mcp-server/tasks/core/taskTypes.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/taskTypes.js +13 -0
- package/dist/mcp-server/tasks/core/taskTypes.js.map +1 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts +108 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js +14 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/tool-registration.d.ts +49 -0
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/tool-registration.js +269 -0
- package/dist/mcp-server/tools/tool-registration.js.map +1 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.d.ts +73 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.js +45 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts +33 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.js +107 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.js.map +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts +118 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.js +2 -0
- package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +34 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +68 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -0
- package/dist/mcp-server/transports/ITransport.d.ts +15 -0
- package/dist/mcp-server/transports/ITransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/ITransport.js +2 -0
- package/dist/mcp-server/transports/ITransport.js.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js +43 -0
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts +24 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js +69 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js +25 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +19 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js +2 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +18 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js +64 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts +25 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.js +34 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.js +58 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.d.ts +25 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.js +30 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js +2 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +14 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +86 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +14 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +113 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +25 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js +112 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts +47 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.js +396 -0
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js +2 -0
- package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts +21 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js +44 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.d.ts +33 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.js +54 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.js.map +1 -0
- package/dist/mcp-server/transports/http/sessionStore.d.ts +87 -0
- package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/sessionStore.js +209 -0
- package/dist/mcp-server/transports/http/sessionStore.js.map +1 -0
- package/dist/mcp-server/transports/manager.d.ts +22 -0
- package/dist/mcp-server/transports/manager.d.ts.map +1 -0
- package/dist/mcp-server/transports/manager.js +62 -0
- package/dist/mcp-server/transports/manager.js.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +44 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js +63 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
- package/dist/services/graph/core/GraphService.d.ts +205 -0
- package/dist/services/graph/core/GraphService.d.ts.map +1 -0
- package/dist/services/graph/core/GraphService.js +231 -0
- package/dist/services/graph/core/GraphService.js.map +1 -0
- package/dist/services/graph/core/IGraphProvider.d.ts +295 -0
- package/dist/services/graph/core/IGraphProvider.d.ts.map +1 -0
- package/dist/services/graph/core/IGraphProvider.js +8 -0
- package/dist/services/graph/core/IGraphProvider.js.map +1 -0
- package/dist/services/graph/types.d.ts +107 -0
- package/dist/services/graph/types.d.ts.map +1 -0
- package/dist/services/graph/types.js +8 -0
- package/dist/services/graph/types.js.map +1 -0
- package/dist/services/llm/core/ILlmProvider.d.ts +86 -0
- package/dist/services/llm/core/ILlmProvider.d.ts.map +1 -0
- package/dist/services/llm/core/ILlmProvider.js +2 -0
- package/dist/services/llm/core/ILlmProvider.js.map +1 -0
- package/dist/services/llm/providers/openrouter.provider.d.ts +187 -0
- package/dist/services/llm/providers/openrouter.provider.d.ts.map +1 -0
- package/dist/services/llm/providers/openrouter.provider.js +302 -0
- package/dist/services/llm/providers/openrouter.provider.js.map +1 -0
- package/dist/services/llm/types.d.ts +16 -0
- package/dist/services/llm/types.d.ts.map +1 -0
- package/dist/services/llm/types.js +9 -0
- package/dist/services/llm/types.js.map +1 -0
- package/dist/services/speech/core/ISpeechProvider.d.ts +92 -0
- package/dist/services/speech/core/ISpeechProvider.d.ts.map +1 -0
- package/dist/services/speech/core/ISpeechProvider.js +34 -0
- package/dist/services/speech/core/ISpeechProvider.js.map +1 -0
- package/dist/services/speech/core/SpeechService.d.ts +87 -0
- package/dist/services/speech/core/SpeechService.d.ts.map +1 -0
- package/dist/services/speech/core/SpeechService.js +135 -0
- package/dist/services/speech/core/SpeechService.js.map +1 -0
- package/dist/services/speech/providers/elevenlabs.provider.d.ts +77 -0
- package/dist/services/speech/providers/elevenlabs.provider.d.ts.map +1 -0
- package/dist/services/speech/providers/elevenlabs.provider.js +199 -0
- package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -0
- package/dist/services/speech/providers/whisper.provider.d.ts +94 -0
- package/dist/services/speech/providers/whisper.provider.d.ts.map +1 -0
- package/dist/services/speech/providers/whisper.provider.js +240 -0
- package/dist/services/speech/providers/whisper.provider.js.map +1 -0
- package/dist/services/speech/types.d.ts +173 -0
- package/dist/services/speech/types.d.ts.map +1 -0
- package/dist/services/speech/types.js +8 -0
- package/dist/services/speech/types.js.map +1 -0
- package/dist/storage/core/IStorageProvider.d.ts +159 -0
- package/dist/storage/core/IStorageProvider.d.ts.map +1 -0
- package/dist/storage/core/IStorageProvider.js +2 -0
- package/dist/storage/core/IStorageProvider.js.map +1 -0
- package/dist/storage/core/StorageService.d.ts +22 -0
- package/dist/storage/core/StorageService.d.ts.map +1 -0
- package/dist/storage/core/StorageService.js +151 -0
- package/dist/storage/core/StorageService.js.map +1 -0
- package/dist/storage/core/storageFactory.d.ts +66 -0
- package/dist/storage/core/storageFactory.d.ts.map +1 -0
- package/dist/storage/core/storageFactory.js +122 -0
- package/dist/storage/core/storageFactory.js.map +1 -0
- package/dist/storage/core/storageValidation.d.ts +77 -0
- package/dist/storage/core/storageValidation.d.ts.map +1 -0
- package/dist/storage/core/storageValidation.js +303 -0
- package/dist/storage/core/storageValidation.js.map +1 -0
- package/dist/storage/providers/cloudflare/d1Provider.d.ts +94 -0
- package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/d1Provider.js +347 -0
- package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -0
- package/dist/storage/providers/cloudflare/kvProvider.d.ts +21 -0
- package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/kvProvider.js +183 -0
- package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -0
- package/dist/storage/providers/cloudflare/r2Provider.d.ts +28 -0
- package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/r2Provider.js +222 -0
- package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts +20 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts.map +1 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.js +282 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +21 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.js +139 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -0
- package/dist/storage/providers/supabase/supabase.types.d.ts +49 -0
- package/dist/storage/providers/supabase/supabase.types.d.ts.map +1 -0
- package/dist/storage/providers/supabase/supabase.types.js +8 -0
- package/dist/storage/providers/supabase/supabase.types.js.map +1 -0
- package/dist/storage/providers/supabase/supabaseProvider.d.ts +24 -0
- package/dist/storage/providers/supabase/supabaseProvider.d.ts.map +1 -0
- package/dist/storage/providers/supabase/supabaseProvider.js +209 -0
- package/dist/storage/providers/supabase/supabaseProvider.js.map +1 -0
- package/dist/testing/index.d.ts +53 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +132 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/types-global/errors.d.ts +83 -0
- package/dist/types-global/errors.d.ts.map +1 -0
- package/dist/types-global/errors.js +113 -0
- package/dist/types-global/errors.js.map +1 -0
- package/dist/utils/formatting/diffFormatter.d.ts +227 -0
- package/dist/utils/formatting/diffFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/diffFormatter.js +369 -0
- package/dist/utils/formatting/diffFormatter.js.map +1 -0
- package/dist/utils/formatting/index.d.ts +9 -0
- package/dist/utils/formatting/index.d.ts.map +1 -0
- package/dist/utils/formatting/index.js +9 -0
- package/dist/utils/formatting/index.js.map +1 -0
- package/dist/utils/formatting/markdownBuilder.d.ts +543 -0
- package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -0
- package/dist/utils/formatting/markdownBuilder.js +674 -0
- package/dist/utils/formatting/markdownBuilder.js.map +1 -0
- package/dist/utils/formatting/tableFormatter.d.ts +261 -0
- package/dist/utils/formatting/tableFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/tableFormatter.js +456 -0
- package/dist/utils/formatting/tableFormatter.js.map +1 -0
- package/dist/utils/formatting/treeFormatter.d.ts +344 -0
- package/dist/utils/formatting/treeFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/treeFormatter.js +400 -0
- package/dist/utils/formatting/treeFormatter.js.map +1 -0
- package/dist/utils/internal/encoding.d.ts +42 -0
- package/dist/utils/internal/encoding.d.ts.map +1 -0
- package/dist/utils/internal/encoding.js +87 -0
- package/dist/utils/internal/encoding.js.map +1 -0
- package/dist/utils/internal/error-handler/errorHandler.d.ts +140 -0
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/errorHandler.js +318 -0
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -0
- package/dist/utils/internal/error-handler/helpers.d.ts +98 -0
- package/dist/utils/internal/error-handler/helpers.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/helpers.js +214 -0
- package/dist/utils/internal/error-handler/helpers.js.map +1 -0
- package/dist/utils/internal/error-handler/mappings.d.ts +85 -0
- package/dist/utils/internal/error-handler/mappings.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/mappings.js +234 -0
- package/dist/utils/internal/error-handler/mappings.js.map +1 -0
- package/dist/utils/internal/error-handler/types.d.ts +160 -0
- package/dist/utils/internal/error-handler/types.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/types.js +6 -0
- package/dist/utils/internal/error-handler/types.js.map +1 -0
- package/dist/utils/internal/health.d.ts +60 -0
- package/dist/utils/internal/health.d.ts.map +1 -0
- package/dist/utils/internal/health.js +46 -0
- package/dist/utils/internal/health.js.map +1 -0
- package/dist/utils/internal/logger.d.ts +300 -0
- package/dist/utils/internal/logger.d.ts.map +1 -0
- package/dist/utils/internal/logger.js +573 -0
- package/dist/utils/internal/logger.js.map +1 -0
- package/dist/utils/internal/performance.d.ts +78 -0
- package/dist/utils/internal/performance.d.ts.map +1 -0
- package/dist/utils/internal/performance.js +227 -0
- package/dist/utils/internal/performance.js.map +1 -0
- package/dist/utils/internal/requestContext.d.ts +200 -0
- package/dist/utils/internal/requestContext.d.ts.map +1 -0
- package/dist/utils/internal/requestContext.js +163 -0
- package/dist/utils/internal/requestContext.js.map +1 -0
- package/dist/utils/internal/runtime.d.ts +49 -0
- package/dist/utils/internal/runtime.d.ts.map +1 -0
- package/dist/utils/internal/runtime.js +90 -0
- package/dist/utils/internal/runtime.js.map +1 -0
- package/dist/utils/internal/startupBanner.d.ts +23 -0
- package/dist/utils/internal/startupBanner.d.ts.map +1 -0
- package/dist/utils/internal/startupBanner.js +34 -0
- package/dist/utils/internal/startupBanner.js.map +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts +97 -0
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
- package/dist/utils/metrics/tokenCounter.js +162 -0
- package/dist/utils/metrics/tokenCounter.js.map +1 -0
- package/dist/utils/network/fetchWithTimeout.d.ts +91 -0
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/network/fetchWithTimeout.js +305 -0
- package/dist/utils/network/fetchWithTimeout.js.map +1 -0
- package/dist/utils/pagination/pagination.d.ts +157 -0
- package/dist/utils/pagination/pagination.d.ts.map +1 -0
- package/dist/utils/pagination/pagination.js +191 -0
- package/dist/utils/pagination/pagination.js.map +1 -0
- package/dist/utils/parsing/csvParser.d.ts +84 -0
- package/dist/utils/parsing/csvParser.d.ts.map +1 -0
- package/dist/utils/parsing/csvParser.js +132 -0
- package/dist/utils/parsing/csvParser.js.map +1 -0
- package/dist/utils/parsing/dateParser.d.ts +103 -0
- package/dist/utils/parsing/dateParser.d.ts.map +1 -0
- package/dist/utils/parsing/dateParser.js +142 -0
- package/dist/utils/parsing/dateParser.js.map +1 -0
- package/dist/utils/parsing/frontmatterParser.d.ts +91 -0
- package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -0
- package/dist/utils/parsing/frontmatterParser.js +163 -0
- package/dist/utils/parsing/frontmatterParser.js.map +1 -0
- package/dist/utils/parsing/index.d.ts +15 -0
- package/dist/utils/parsing/index.d.ts.map +1 -0
- package/dist/utils/parsing/index.js +15 -0
- package/dist/utils/parsing/index.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +115 -0
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
- package/dist/utils/parsing/jsonParser.js +177 -0
- package/dist/utils/parsing/jsonParser.js.map +1 -0
- package/dist/utils/parsing/pdfParser.d.ts +563 -0
- package/dist/utils/parsing/pdfParser.d.ts.map +1 -0
- package/dist/utils/parsing/pdfParser.js +775 -0
- package/dist/utils/parsing/pdfParser.js.map +1 -0
- package/dist/utils/parsing/thinkBlock.d.ts +31 -0
- package/dist/utils/parsing/thinkBlock.d.ts.map +1 -0
- package/dist/utils/parsing/thinkBlock.js +31 -0
- package/dist/utils/parsing/thinkBlock.js.map +1 -0
- package/dist/utils/parsing/xmlParser.d.ts +69 -0
- package/dist/utils/parsing/xmlParser.d.ts.map +1 -0
- package/dist/utils/parsing/xmlParser.js +140 -0
- package/dist/utils/parsing/xmlParser.js.map +1 -0
- package/dist/utils/parsing/yamlParser.d.ts +64 -0
- package/dist/utils/parsing/yamlParser.d.ts.map +1 -0
- package/dist/utils/parsing/yamlParser.js +129 -0
- package/dist/utils/parsing/yamlParser.js.map +1 -0
- package/dist/utils/scheduling/scheduler.d.ts +174 -0
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduling/scheduler.js +248 -0
- package/dist/utils/scheduling/scheduler.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts +189 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -0
- package/dist/utils/security/idGenerator.js +301 -0
- package/dist/utils/security/idGenerator.js.map +1 -0
- package/dist/utils/security/index.d.ts +8 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +8 -0
- package/dist/utils/security/index.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +171 -0
- package/dist/utils/security/rateLimiter.d.ts.map +1 -0
- package/dist/utils/security/rateLimiter.js +294 -0
- package/dist/utils/security/rateLimiter.js.map +1 -0
- package/dist/utils/security/sanitization.d.ts +430 -0
- package/dist/utils/security/sanitization.d.ts.map +1 -0
- package/dist/utils/security/sanitization.js +759 -0
- package/dist/utils/security/sanitization.js.map +1 -0
- package/dist/utils/telemetry/index.d.ts +12 -0
- package/dist/utils/telemetry/index.d.ts.map +1 -0
- package/dist/utils/telemetry/index.js +12 -0
- package/dist/utils/telemetry/index.js.map +1 -0
- package/dist/utils/telemetry/instrumentation.d.ts +62 -0
- package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
- package/dist/utils/telemetry/instrumentation.js +223 -0
- package/dist/utils/telemetry/instrumentation.js.map +1 -0
- package/dist/utils/telemetry/metrics.d.ts +170 -0
- package/dist/utils/telemetry/metrics.d.ts.map +1 -0
- package/dist/utils/telemetry/metrics.js +205 -0
- package/dist/utils/telemetry/metrics.js.map +1 -0
- package/dist/utils/telemetry/semconv.d.ts +147 -0
- package/dist/utils/telemetry/semconv.d.ts.map +1 -0
- package/dist/utils/telemetry/semconv.js +159 -0
- package/dist/utils/telemetry/semconv.js.map +1 -0
- package/dist/utils/telemetry/trace.d.ts +141 -0
- package/dist/utils/telemetry/trace.d.ts.map +1 -0
- package/dist/utils/telemetry/trace.js +193 -0
- package/dist/utils/telemetry/trace.js.map +1 -0
- package/dist/utils/types/guards.d.ts +209 -0
- package/dist/utils/types/guards.d.ts.map +1 -0
- package/dist/utils/types/guards.js +229 -0
- package/dist/utils/types/guards.js.map +1 -0
- package/dist/utils/types/index.d.ts +6 -0
- package/dist/utils/types/index.d.ts.map +1 -0
- package/dist/utils/types/index.js +6 -0
- package/dist/utils/types/index.js.map +1 -0
- package/dist/worker.d.ts +59 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +216 -0
- package/dist/worker.js.map +1 -0
- package/package.json +377 -0
- package/skills/README.md +38 -0
- package/skills/add-export/SKILL.md +49 -0
- package/skills/add-prompt/SKILL.md +97 -0
- package/skills/add-provider/SKILL.md +53 -0
- package/skills/add-resource/SKILL.md +107 -0
- package/skills/add-service/SKILL.md +113 -0
- package/skills/add-tool/SKILL.md +110 -0
- package/skills/api-auth/SKILL.md +173 -0
- package/skills/api-config/SKILL.md +68 -0
- package/skills/api-context/SKILL.md +321 -0
- package/skills/api-errors/SKILL.md +146 -0
- package/skills/api-services/SKILL.md +24 -0
- package/skills/api-services/references/graph.md +124 -0
- package/skills/api-services/references/llm.md +46 -0
- package/skills/api-services/references/speech.md +72 -0
- package/skills/api-testing/SKILL.md +263 -0
- package/skills/api-utils/SKILL.md +106 -0
- package/skills/api-utils/references/formatting.md +237 -0
- package/skills/api-utils/references/parsing.md +263 -0
- package/skills/api-utils/references/security.md +226 -0
- package/skills/api-workers/SKILL.md +165 -0
- package/skills/devcheck/SKILL.md +31 -0
- package/skills/maintenance/SKILL.md +52 -0
- package/skills/migrate-mcp-ts-template/SKILL.md +131 -0
- package/skills/release/SKILL.md +67 -0
- package/skills/setup/SKILL.md +89 -0
- package/skills/walkthrough-init/SKILL.md +50 -0
- package/templates/.env.example +17 -0
- package/templates/AGENTS.md +113 -0
- package/templates/CLAUDE.md +113 -0
- package/templates/_tsconfig.json +33 -0
- package/templates/biome.template.json +43 -0
- package/templates/package.json +26 -0
- package/templates/src/index.ts +16 -0
- package/templates/src/mcp-server/prompts/definitions/echo.prompt.ts +19 -0
- package/templates/src/mcp-server/resources/definitions/echo.resource.ts +30 -0
- package/templates/src/mcp-server/tools/definitions/echo.tool.ts +24 -0
- package/templates/vitest.config.ts +12 -0
- package/tsconfig.base.json +44 -0
- package/vitest.config.base.ts +38 -0
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Provides a utility class for creating, modifying, and parsing PDF documents.
|
|
3
|
+
* Wraps the 'pdf-lib' npm library with structured error handling and logging.
|
|
4
|
+
* Uses 'unpdf' for robust text extraction compatible with Cloudflare Workers.
|
|
5
|
+
* @module src/utils/parsing/pdfParser
|
|
6
|
+
*/
|
|
7
|
+
import type { PDFDocument, PDFFont, PDFImage, PDFPage, RGB } from 'pdf-lib';
|
|
8
|
+
import { type RequestContext } from '../../utils/internal/requestContext.js';
|
|
9
|
+
/**
|
|
10
|
+
* Options for adding a new page to a PDF document.
|
|
11
|
+
*/
|
|
12
|
+
export interface AddPageOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Height of the page in points (1/72 inch). Defaults to US Letter height (792 points).
|
|
15
|
+
*/
|
|
16
|
+
height?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Width of the page in points (1/72 inch). Defaults to US Letter width (612 points).
|
|
19
|
+
*/
|
|
20
|
+
width?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Options for drawing text on a PDF page.
|
|
24
|
+
*/
|
|
25
|
+
export interface DrawTextOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Text color as an RGB object. Defaults to black.
|
|
28
|
+
*/
|
|
29
|
+
color?: RGB;
|
|
30
|
+
/**
|
|
31
|
+
* Font to use. Must be embedded first via embedFont().
|
|
32
|
+
* Defaults to Helvetica.
|
|
33
|
+
*/
|
|
34
|
+
font?: PDFFont;
|
|
35
|
+
/**
|
|
36
|
+
* Line height multiplier for wrapped text. Defaults to 1.2.
|
|
37
|
+
*/
|
|
38
|
+
lineHeight?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Maximum width for text wrapping (in points). If specified, text will wrap.
|
|
41
|
+
*/
|
|
42
|
+
maxWidth?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Rotation angle in degrees. Defaults to 0.
|
|
45
|
+
*/
|
|
46
|
+
rotate?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Font size in points. Defaults to 12.
|
|
49
|
+
*/
|
|
50
|
+
size?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The text string to draw.
|
|
53
|
+
*/
|
|
54
|
+
text: string;
|
|
55
|
+
/**
|
|
56
|
+
* X-coordinate (in points) of the text baseline start.
|
|
57
|
+
*/
|
|
58
|
+
x: number;
|
|
59
|
+
/**
|
|
60
|
+
* Y-coordinate (in points) of the text baseline.
|
|
61
|
+
*/
|
|
62
|
+
y: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Options for embedding an image into a PDF document.
|
|
66
|
+
*/
|
|
67
|
+
export interface EmbedImageOptions {
|
|
68
|
+
/**
|
|
69
|
+
* Image format: 'png' or 'jpg'.
|
|
70
|
+
*/
|
|
71
|
+
format: 'png' | 'jpg';
|
|
72
|
+
/**
|
|
73
|
+
* Image data as Uint8Array or ArrayBuffer.
|
|
74
|
+
*/
|
|
75
|
+
imageBytes: Uint8Array | ArrayBuffer;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Options for drawing an embedded image on a page.
|
|
79
|
+
*/
|
|
80
|
+
export interface DrawImageOptions {
|
|
81
|
+
/**
|
|
82
|
+
* Height of the image in points. Defaults to original height.
|
|
83
|
+
*/
|
|
84
|
+
height?: number;
|
|
85
|
+
/**
|
|
86
|
+
* The embedded PDF image.
|
|
87
|
+
*/
|
|
88
|
+
image: PDFImage;
|
|
89
|
+
/**
|
|
90
|
+
* Opacity (0-1). Defaults to 1 (fully opaque).
|
|
91
|
+
*/
|
|
92
|
+
opacity?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Rotation angle in degrees. Defaults to 0.
|
|
95
|
+
*/
|
|
96
|
+
rotate?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Width of the image in points. Defaults to original width.
|
|
99
|
+
*/
|
|
100
|
+
width?: number;
|
|
101
|
+
/**
|
|
102
|
+
* X-coordinate (in points) of the image's top-left corner.
|
|
103
|
+
*/
|
|
104
|
+
x: number;
|
|
105
|
+
/**
|
|
106
|
+
* Y-coordinate (in points) of the image's top-left corner.
|
|
107
|
+
*/
|
|
108
|
+
y: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Page range specification for splitting PDFs.
|
|
112
|
+
*/
|
|
113
|
+
export interface PageRange {
|
|
114
|
+
/**
|
|
115
|
+
* Ending page index (0-based, inclusive).
|
|
116
|
+
*/
|
|
117
|
+
end: number;
|
|
118
|
+
/**
|
|
119
|
+
* Starting page index (0-based).
|
|
120
|
+
*/
|
|
121
|
+
start: number;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Metadata extracted from a PDF document.
|
|
125
|
+
*/
|
|
126
|
+
export interface PdfMetadata {
|
|
127
|
+
/**
|
|
128
|
+
* Document author.
|
|
129
|
+
*/
|
|
130
|
+
author?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Creation date (ISO 8601 string).
|
|
133
|
+
*/
|
|
134
|
+
creationDate?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Application that created the document.
|
|
137
|
+
*/
|
|
138
|
+
creator?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Keywords associated with the document.
|
|
141
|
+
*/
|
|
142
|
+
keywords?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Modification date (ISO 8601 string).
|
|
145
|
+
*/
|
|
146
|
+
modificationDate?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Total number of pages.
|
|
149
|
+
*/
|
|
150
|
+
pageCount: number;
|
|
151
|
+
/**
|
|
152
|
+
* Application that produced the PDF.
|
|
153
|
+
*/
|
|
154
|
+
producer?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Document subject.
|
|
157
|
+
*/
|
|
158
|
+
subject?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Document title.
|
|
161
|
+
*/
|
|
162
|
+
title?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Options for setting PDF metadata.
|
|
166
|
+
*/
|
|
167
|
+
export interface SetMetadataOptions {
|
|
168
|
+
/**
|
|
169
|
+
* Document author.
|
|
170
|
+
*/
|
|
171
|
+
author?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Application that created the document.
|
|
174
|
+
*/
|
|
175
|
+
creator?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Keywords associated with the document.
|
|
178
|
+
*/
|
|
179
|
+
keywords?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Application that produced the PDF.
|
|
182
|
+
*/
|
|
183
|
+
producer?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Document subject.
|
|
186
|
+
*/
|
|
187
|
+
subject?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Document title.
|
|
190
|
+
*/
|
|
191
|
+
title?: string;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Options for filling PDF form fields.
|
|
195
|
+
*/
|
|
196
|
+
export interface FillFormOptions {
|
|
197
|
+
/**
|
|
198
|
+
* Map of field names to their values.
|
|
199
|
+
*/
|
|
200
|
+
fields: Record<string, string | boolean | number>;
|
|
201
|
+
/**
|
|
202
|
+
* Whether to flatten the form after filling (make it non-editable).
|
|
203
|
+
* Defaults to false.
|
|
204
|
+
*/
|
|
205
|
+
flatten?: boolean;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Options for extracting text from a PDF document.
|
|
209
|
+
*/
|
|
210
|
+
export interface ExtractTextOptions {
|
|
211
|
+
/**
|
|
212
|
+
* Whether to merge all pages into a single string.
|
|
213
|
+
* If true, returns text as a single string.
|
|
214
|
+
* If false, returns text as an array with one string per page.
|
|
215
|
+
* Defaults to false.
|
|
216
|
+
*/
|
|
217
|
+
mergePages?: boolean;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Result from extracting text from a PDF document.
|
|
221
|
+
*/
|
|
222
|
+
export interface ExtractTextResult {
|
|
223
|
+
/**
|
|
224
|
+
* Extracted text content.
|
|
225
|
+
* String array if mergePages is false (one entry per page).
|
|
226
|
+
* Single string if mergePages is true (all pages concatenated).
|
|
227
|
+
*/
|
|
228
|
+
text: string | string[];
|
|
229
|
+
/**
|
|
230
|
+
* Total number of pages in the PDF.
|
|
231
|
+
*/
|
|
232
|
+
totalPages: number;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Utility class for creating, modifying, and parsing PDF documents.
|
|
236
|
+
*
|
|
237
|
+
* Wraps the `pdf-lib` library for document creation/editing and `unpdf` for text
|
|
238
|
+
* extraction (Cloudflare Workers compatible). Most methods are async due to lazy
|
|
239
|
+
* loading of these peer dependencies. Install both with:
|
|
240
|
+
* `bun add pdf-lib unpdf`
|
|
241
|
+
*/
|
|
242
|
+
export declare class PdfParser {
|
|
243
|
+
/**
|
|
244
|
+
* Creates a new blank PDF document.
|
|
245
|
+
*
|
|
246
|
+
* Async due to lazy loading of the `pdf-lib` peer dependency (`bun add pdf-lib`).
|
|
247
|
+
*
|
|
248
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
249
|
+
* @returns A new empty `PDFDocument` instance.
|
|
250
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
251
|
+
* @throws {McpError} With `InternalError` if document creation fails.
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* const doc = await pdfParser.createDocument();
|
|
255
|
+
* const page = pdfParser.addPage(doc);
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
createDocument(context?: RequestContext): Promise<PDFDocument>;
|
|
259
|
+
/**
|
|
260
|
+
* Loads an existing PDF document from raw bytes.
|
|
261
|
+
*
|
|
262
|
+
* Async due to lazy loading of the `pdf-lib` peer dependency (`bun add pdf-lib`).
|
|
263
|
+
*
|
|
264
|
+
* @param pdfBytes - The PDF file contents as `Uint8Array` or `ArrayBuffer`.
|
|
265
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
266
|
+
* @returns The loaded `PDFDocument` instance.
|
|
267
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
268
|
+
* @throws {McpError} With `ValidationError` if the bytes are not a valid PDF.
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* import { readFile } from 'node:fs/promises';
|
|
272
|
+
* const pdfBytes = await readFile('input.pdf');
|
|
273
|
+
* const doc = await pdfParser.loadDocument(pdfBytes);
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
loadDocument(pdfBytes: Uint8Array | ArrayBuffer, context?: RequestContext): Promise<PDFDocument>;
|
|
277
|
+
/**
|
|
278
|
+
* Adds a new blank page to a PDF document.
|
|
279
|
+
*
|
|
280
|
+
* Synchronous — does not load any peer dependencies.
|
|
281
|
+
*
|
|
282
|
+
* @param doc - The `PDFDocument` to add the page to.
|
|
283
|
+
* @param options - Optional page dimensions. Defaults to US Letter (612 × 792 points).
|
|
284
|
+
* @returns The newly added `PDFPage`.
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* const page = pdfParser.addPage(doc, { width: 600, height: 400 });
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
addPage(doc: PDFDocument, options?: AddPageOptions): PDFPage;
|
|
291
|
+
/**
|
|
292
|
+
* Embeds a standard PDF font into a document.
|
|
293
|
+
*
|
|
294
|
+
* `fontName` must be a key of `pdf-lib`'s `StandardFonts` enum (e.g. `'Helvetica'`,
|
|
295
|
+
* `'TimesRoman'`, `'Courier'`). Async due to lazy loading of `pdf-lib`
|
|
296
|
+
* (`bun add pdf-lib`).
|
|
297
|
+
*
|
|
298
|
+
* @param doc - The `PDFDocument` to embed the font into.
|
|
299
|
+
* @param fontName - A `StandardFonts` key. Defaults to `'Helvetica'`.
|
|
300
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
301
|
+
* @returns The embedded `PDFFont` ready to pass to `drawText`.
|
|
302
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
303
|
+
* @throws {McpError} With `InternalError` if the font name is invalid or embedding fails.
|
|
304
|
+
* @example
|
|
305
|
+
* ```typescript
|
|
306
|
+
* const font = await pdfParser.embedFont(doc, 'TimesRoman');
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
embedFont(doc: PDFDocument, fontName?: string, context?: RequestContext): Promise<PDFFont>;
|
|
310
|
+
/**
|
|
311
|
+
* Embeds a PNG or JPEG image into a PDF document for later rendering.
|
|
312
|
+
*
|
|
313
|
+
* Does not draw the image — call `drawImage` after embedding. Async due to lazy
|
|
314
|
+
* loading of `pdf-lib` (`bun add pdf-lib`).
|
|
315
|
+
*
|
|
316
|
+
* @param doc - The `PDFDocument` to embed the image into.
|
|
317
|
+
* @param options - Image bytes and format (`'png'` or `'jpg'`).
|
|
318
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
319
|
+
* @returns The embedded `PDFImage`, usable as the `image` option in `drawImage`.
|
|
320
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
321
|
+
* @throws {McpError} With `InternalError` if the image data is invalid or embedding fails.
|
|
322
|
+
* @example
|
|
323
|
+
* ```typescript
|
|
324
|
+
* import { readFile } from 'node:fs/promises';
|
|
325
|
+
* const imageBytes = await readFile('logo.png');
|
|
326
|
+
* const image = await pdfParser.embedImage(doc, { imageBytes, format: 'png' });
|
|
327
|
+
* pdfParser.drawImage(page, { image, x: 50, y: 700, width: 100, height: 50 });
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
embedImage(doc: PDFDocument, options: EmbedImageOptions, context?: RequestContext): Promise<PDFImage>;
|
|
331
|
+
/**
|
|
332
|
+
* Draws text on a PDF page with optional font, size, color, rotation, and word-wrap.
|
|
333
|
+
*
|
|
334
|
+
* When `maxWidth` is set, the text is split into words and wrapped across multiple
|
|
335
|
+
* lines; each line is rendered at decreasing Y positions by `size * lineHeight`.
|
|
336
|
+
* Async due to lazy loading of `pdf-lib` (`bun add pdf-lib`).
|
|
337
|
+
*
|
|
338
|
+
* @param page - The `PDFPage` to draw text on.
|
|
339
|
+
* @param options - Text content, baseline position (`x`, `y`), and styling.
|
|
340
|
+
* @returns A promise that resolves when drawing is complete.
|
|
341
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
342
|
+
* @example
|
|
343
|
+
* ```typescript
|
|
344
|
+
* const font = await pdfParser.embedFont(doc, 'Helvetica');
|
|
345
|
+
* await pdfParser.drawText(page, {
|
|
346
|
+
* text: 'Hello, World!',
|
|
347
|
+
* x: 50,
|
|
348
|
+
* y: 700,
|
|
349
|
+
* size: 30,
|
|
350
|
+
* font,
|
|
351
|
+
* color: rgb(0, 0.53, 0.71),
|
|
352
|
+
* });
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
drawText(page: PDFPage, options: DrawTextOptions): Promise<void>;
|
|
356
|
+
/**
|
|
357
|
+
* Draws a previously embedded image onto a PDF page.
|
|
358
|
+
*
|
|
359
|
+
* The image must first be embedded via `embedImage`. Width and height default to the
|
|
360
|
+
* image's intrinsic dimensions. Async due to lazy loading of `pdf-lib`
|
|
361
|
+
* (`bun add pdf-lib`).
|
|
362
|
+
*
|
|
363
|
+
* @param page - The `PDFPage` to draw the image on.
|
|
364
|
+
* @param options - The embedded image, position (`x`, `y`), dimensions, opacity, and rotation.
|
|
365
|
+
* @returns A promise that resolves when drawing is complete.
|
|
366
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
367
|
+
* @example
|
|
368
|
+
* ```typescript
|
|
369
|
+
* const image = await pdfParser.embedImage(doc, { imageBytes, format: 'png' });
|
|
370
|
+
* await pdfParser.drawImage(page, {
|
|
371
|
+
* image,
|
|
372
|
+
* x: 100,
|
|
373
|
+
* y: 500,
|
|
374
|
+
* width: 200,
|
|
375
|
+
* height: 150,
|
|
376
|
+
* });
|
|
377
|
+
* ```
|
|
378
|
+
*/
|
|
379
|
+
drawImage(page: PDFPage, options: DrawImageOptions): Promise<void>;
|
|
380
|
+
/**
|
|
381
|
+
* Merges multiple PDF documents into a single new document.
|
|
382
|
+
*
|
|
383
|
+
* Pages are appended in the order the source buffers appear in the array. Undefined
|
|
384
|
+
* or falsy entries in the array are silently skipped. Async due to lazy loading of
|
|
385
|
+
* `pdf-lib` (`bun add pdf-lib`).
|
|
386
|
+
*
|
|
387
|
+
* @param pdfBytesArray - Source PDF files as `Uint8Array` or `ArrayBuffer` elements.
|
|
388
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
389
|
+
* @returns A new `PDFDocument` containing all pages from the input documents.
|
|
390
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
391
|
+
* @throws {McpError} With `InternalError` if any source PDF is invalid or merging fails.
|
|
392
|
+
* @example
|
|
393
|
+
* ```typescript
|
|
394
|
+
* import { readFile } from 'node:fs/promises';
|
|
395
|
+
* const pdf1 = await readFile('doc1.pdf');
|
|
396
|
+
* const pdf2 = await readFile('doc2.pdf');
|
|
397
|
+
* const merged = await pdfParser.mergePdfs([pdf1, pdf2]);
|
|
398
|
+
* const bytes = await pdfParser.saveDocument(merged);
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
mergePdfs(pdfBytesArray: (Uint8Array | ArrayBuffer)[], context?: RequestContext): Promise<PDFDocument>;
|
|
402
|
+
/**
|
|
403
|
+
* Splits a PDF document into multiple new documents based on page ranges.
|
|
404
|
+
*
|
|
405
|
+
* Each `PageRange` produces one output `PDFDocument` containing the pages from
|
|
406
|
+
* `start` to `end` (both 0-based, inclusive). Ranges may overlap. Async due to
|
|
407
|
+
* lazy loading of `pdf-lib` (`bun add pdf-lib`).
|
|
408
|
+
*
|
|
409
|
+
* @param pdfBytes - The source PDF as `Uint8Array` or `ArrayBuffer`.
|
|
410
|
+
* @param ranges - Page ranges to extract; each produces one output document.
|
|
411
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
412
|
+
* @returns An array of new `PDFDocument` instances, one per range, in order.
|
|
413
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` is not installed.
|
|
414
|
+
* @throws {McpError} With `InternalError` if the source PDF is invalid or a page index is out of bounds.
|
|
415
|
+
* @example
|
|
416
|
+
* ```typescript
|
|
417
|
+
* import { readFile } from 'node:fs/promises';
|
|
418
|
+
* const pdfBytes = await readFile('document.pdf');
|
|
419
|
+
* const [part1, part2] = await pdfParser.splitPdf(pdfBytes, [
|
|
420
|
+
* { start: 0, end: 4 },
|
|
421
|
+
* { start: 5, end: 9 },
|
|
422
|
+
* ]);
|
|
423
|
+
* ```
|
|
424
|
+
*/
|
|
425
|
+
splitPdf(pdfBytes: Uint8Array | ArrayBuffer, ranges: PageRange[], context?: RequestContext): Promise<PDFDocument[]>;
|
|
426
|
+
/**
|
|
427
|
+
* Fills form fields in a PDF document.
|
|
428
|
+
*
|
|
429
|
+
* String and number values are set via `setText`; boolean values check/uncheck
|
|
430
|
+
* checkbox fields. Individual field errors are logged as warnings and skipped
|
|
431
|
+
* rather than aborting the whole operation. If `flatten` is true, the form is
|
|
432
|
+
* flattened after filling, making it non-editable. Synchronous.
|
|
433
|
+
*
|
|
434
|
+
* @param doc - The `PDFDocument` containing the AcroForm.
|
|
435
|
+
* @param options - Map of field names to values, plus optional `flatten` flag.
|
|
436
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
437
|
+
* @throws {McpError} With `InternalError` if the overall form operation fails.
|
|
438
|
+
* @example
|
|
439
|
+
* ```typescript
|
|
440
|
+
* pdfParser.fillForm(doc, {
|
|
441
|
+
* fields: {
|
|
442
|
+
* Name: 'John Doe',
|
|
443
|
+
* Age: 30,
|
|
444
|
+
* Subscribe: true,
|
|
445
|
+
* },
|
|
446
|
+
* flatten: true,
|
|
447
|
+
* });
|
|
448
|
+
* ```
|
|
449
|
+
*/
|
|
450
|
+
fillForm(doc: PDFDocument, options: FillFormOptions, context?: RequestContext): void;
|
|
451
|
+
/**
|
|
452
|
+
* Extracts metadata from a PDF document.
|
|
453
|
+
*
|
|
454
|
+
* Reads title, author, subject, keywords, creator, producer, creation date, and
|
|
455
|
+
* modification date from the document's info dictionary. Optional fields are
|
|
456
|
+
* omitted from the result if not set. Synchronous — no peer dependency loading.
|
|
457
|
+
*
|
|
458
|
+
* @param doc - The `PDFDocument` to extract metadata from.
|
|
459
|
+
* @returns A `PdfMetadata` object; optional fields are absent if not set in the document.
|
|
460
|
+
* @example
|
|
461
|
+
* ```typescript
|
|
462
|
+
* const metadata = pdfParser.extractMetadata(doc);
|
|
463
|
+
* console.log(`${metadata.title} by ${metadata.author} (${metadata.pageCount} pages)`);
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
466
|
+
extractMetadata(doc: PDFDocument): PdfMetadata;
|
|
467
|
+
/**
|
|
468
|
+
* Sets metadata fields on a PDF document.
|
|
469
|
+
*
|
|
470
|
+
* Only fields present in `metadata` are written; omitted fields are left unchanged.
|
|
471
|
+
* Note: `keywords` is passed as a single-element array to `pdf-lib`'s `setKeywords`.
|
|
472
|
+
* Synchronous — no peer dependency loading.
|
|
473
|
+
*
|
|
474
|
+
* @param doc - The `PDFDocument` to update.
|
|
475
|
+
* @param metadata - Metadata values to set. Omitted fields are left unchanged.
|
|
476
|
+
* @example
|
|
477
|
+
* ```typescript
|
|
478
|
+
* pdfParser.setMetadata(doc, {
|
|
479
|
+
* title: 'My Document',
|
|
480
|
+
* author: 'John Doe',
|
|
481
|
+
* subject: 'Important Document',
|
|
482
|
+
* });
|
|
483
|
+
* ```
|
|
484
|
+
*/
|
|
485
|
+
setMetadata(doc: PDFDocument, metadata: SetMetadataOptions): void;
|
|
486
|
+
/**
|
|
487
|
+
* Extracts text content from all pages of a PDF document using `unpdf`.
|
|
488
|
+
*
|
|
489
|
+
* Serializes the `PDFDocument` to bytes, then delegates to `unpdf`'s `extractText`,
|
|
490
|
+
* which is compatible with Cloudflare Workers and other serverless environments.
|
|
491
|
+
* Async due to lazy loading of both `pdf-lib` and `unpdf`
|
|
492
|
+
* (`bun add pdf-lib unpdf`).
|
|
493
|
+
*
|
|
494
|
+
* @param doc - The `PDFDocument` to extract text from.
|
|
495
|
+
* @param options - Optional extraction options. Set `mergePages: true` to get a
|
|
496
|
+
* single concatenated string instead of one string per page.
|
|
497
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
498
|
+
* @returns An `ExtractTextResult` with `totalPages` and `text` — a `string[]` (one
|
|
499
|
+
* per page) by default, or a single `string` when `mergePages` is `true`.
|
|
500
|
+
* @throws {McpError} With `ConfigurationError` if `pdf-lib` or `unpdf` is not installed.
|
|
501
|
+
* @throws {McpError} With `InternalError` if text extraction fails.
|
|
502
|
+
* @example
|
|
503
|
+
* ```typescript
|
|
504
|
+
* // Per-page array (default)
|
|
505
|
+
* const result = await pdfParser.extractText(doc);
|
|
506
|
+
* console.log(result.text[0]); // Text from first page
|
|
507
|
+
*
|
|
508
|
+
* // All pages concatenated into one string
|
|
509
|
+
* const merged = await pdfParser.extractText(doc, { mergePages: true });
|
|
510
|
+
* console.log(merged.text); // Full document text
|
|
511
|
+
* ```
|
|
512
|
+
*/
|
|
513
|
+
extractText(doc: PDFDocument, options?: ExtractTextOptions, context?: RequestContext): Promise<ExtractTextResult>;
|
|
514
|
+
/**
|
|
515
|
+
* Serializes a PDF document to a `Uint8Array` for writing to disk or transmission.
|
|
516
|
+
*
|
|
517
|
+
* Async due to `pdf-lib`'s async `save()` implementation (cross-origin / Worker
|
|
518
|
+
* compatible). Does not reload peer dependencies if already cached.
|
|
519
|
+
*
|
|
520
|
+
* @param doc - The `PDFDocument` to serialize.
|
|
521
|
+
* @param context - Optional `RequestContext` for correlated logging and error metadata.
|
|
522
|
+
* @returns The complete PDF file as a `Uint8Array`.
|
|
523
|
+
* @throws {McpError} With `InternalError` if serialization fails.
|
|
524
|
+
* @example
|
|
525
|
+
* ```typescript
|
|
526
|
+
* import { writeFile } from 'node:fs/promises';
|
|
527
|
+
* const pdfBytes = await pdfParser.saveDocument(doc);
|
|
528
|
+
* await writeFile('output.pdf', pdfBytes);
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
531
|
+
saveDocument(doc: PDFDocument, context?: RequestContext): Promise<Uint8Array>;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Singleton instance of `PdfParser`.
|
|
535
|
+
*
|
|
536
|
+
* Provides PDF creation, editing, merging, splitting, form filling, metadata
|
|
537
|
+
* extraction, and text extraction. Requires `pdf-lib` for document operations
|
|
538
|
+
* and `unpdf` for text extraction — install both with: `bun add pdf-lib unpdf`
|
|
539
|
+
*
|
|
540
|
+
* @example
|
|
541
|
+
* ```typescript
|
|
542
|
+
* import { pdfParser } from '../../utils/parsing/pdfParser.js';
|
|
543
|
+
* import { writeFile } from 'node:fs/promises';
|
|
544
|
+
*
|
|
545
|
+
* const doc = await pdfParser.createDocument();
|
|
546
|
+
* const page = pdfParser.addPage(doc);
|
|
547
|
+
* const font = await pdfParser.embedFont(doc, 'Helvetica');
|
|
548
|
+
*
|
|
549
|
+
* await pdfParser.drawText(page, {
|
|
550
|
+
* text: 'Hello, World!',
|
|
551
|
+
* x: 50,
|
|
552
|
+
* y: 750,
|
|
553
|
+
* size: 30,
|
|
554
|
+
* font,
|
|
555
|
+
* });
|
|
556
|
+
*
|
|
557
|
+
* const pdfBytes = await pdfParser.saveDocument(doc);
|
|
558
|
+
* await writeFile('output.pdf', pdfBytes);
|
|
559
|
+
* ```
|
|
560
|
+
*/
|
|
561
|
+
export declare const pdfParser: PdfParser;
|
|
562
|
+
export type { PDFDocument, PDFFont, PDFImage, PDFPage, RGB } from 'pdf-lib';
|
|
563
|
+
//# sourceMappingURL=pdfParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/pdfParser.ts"],"names":[],"mappings":"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"}
|