@measureoneinc/savant 1.0.0
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/README-SDK.md +148 -0
- package/dist/ai/agents/domain-identifier.agent.d.ts +34 -0
- package/dist/ai/agents/domain-identifier.agent.d.ts.map +1 -0
- package/dist/ai/agents/domain-identifier.agent.js +176 -0
- package/dist/ai/agents/domain-identifier.agent.js.map +1 -0
- package/dist/ai/agents/dynamic-agent.d.ts +105 -0
- package/dist/ai/agents/dynamic-agent.d.ts.map +1 -0
- package/dist/ai/agents/dynamic-agent.js +505 -0
- package/dist/ai/agents/dynamic-agent.js.map +1 -0
- package/dist/ai/agents/executor.agent.d.ts +25 -0
- package/dist/ai/agents/executor.agent.d.ts.map +1 -0
- package/dist/ai/agents/executor.agent.js +44 -0
- package/dist/ai/agents/executor.agent.js.map +1 -0
- package/dist/ai/agents/index.d.ts +17 -0
- package/dist/ai/agents/index.d.ts.map +1 -0
- package/dist/ai/agents/index.js +29 -0
- package/dist/ai/agents/index.js.map +1 -0
- package/dist/ai/agents/knowledge.agent.d.ts +25 -0
- package/dist/ai/agents/knowledge.agent.d.ts.map +1 -0
- package/dist/ai/agents/knowledge.agent.js +42 -0
- package/dist/ai/agents/knowledge.agent.js.map +1 -0
- package/dist/ai/agents/learning.agent.d.ts +63 -0
- package/dist/ai/agents/learning.agent.d.ts.map +1 -0
- package/dist/ai/agents/learning.agent.js +288 -0
- package/dist/ai/agents/learning.agent.js.map +1 -0
- package/dist/ai/agents/orchestrator.agent.d.ts +26 -0
- package/dist/ai/agents/orchestrator.agent.d.ts.map +1 -0
- package/dist/ai/agents/orchestrator.agent.js +42 -0
- package/dist/ai/agents/orchestrator.agent.js.map +1 -0
- package/dist/ai/agents/planner.agent.d.ts +25 -0
- package/dist/ai/agents/planner.agent.d.ts.map +1 -0
- package/dist/ai/agents/planner.agent.js +36 -0
- package/dist/ai/agents/planner.agent.js.map +1 -0
- package/dist/ai/agents/response-parser.d.ts +23 -0
- package/dist/ai/agents/response-parser.d.ts.map +1 -0
- package/dist/ai/agents/response-parser.js +313 -0
- package/dist/ai/agents/response-parser.js.map +1 -0
- package/dist/ai/agents/summarizer.agent.d.ts +38 -0
- package/dist/ai/agents/summarizer.agent.d.ts.map +1 -0
- package/dist/ai/agents/summarizer.agent.js +245 -0
- package/dist/ai/agents/summarizer.agent.js.map +1 -0
- package/dist/ai/instructions/domain-identifier.instructions.d.ts +10 -0
- package/dist/ai/instructions/domain-identifier.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/domain-identifier.instructions.js +63 -0
- package/dist/ai/instructions/domain-identifier.instructions.js.map +1 -0
- package/dist/ai/instructions/executor.instructions.d.ts +11 -0
- package/dist/ai/instructions/executor.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/executor.instructions.js +218 -0
- package/dist/ai/instructions/executor.instructions.js.map +1 -0
- package/dist/ai/instructions/knowledge.instructions.d.ts +11 -0
- package/dist/ai/instructions/knowledge.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/knowledge.instructions.js +145 -0
- package/dist/ai/instructions/knowledge.instructions.js.map +1 -0
- package/dist/ai/instructions/learning.instructions.d.ts +11 -0
- package/dist/ai/instructions/learning.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/learning.instructions.js +226 -0
- package/dist/ai/instructions/learning.instructions.js.map +1 -0
- package/dist/ai/instructions/orchestrator.instructions.d.ts +11 -0
- package/dist/ai/instructions/orchestrator.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/orchestrator.instructions.js +148 -0
- package/dist/ai/instructions/orchestrator.instructions.js.map +1 -0
- package/dist/ai/instructions/planner.instructions.d.ts +12 -0
- package/dist/ai/instructions/planner.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/planner.instructions.js +129 -0
- package/dist/ai/instructions/planner.instructions.js.map +1 -0
- package/dist/ai/instructions/summarizer.instructions.d.ts +11 -0
- package/dist/ai/instructions/summarizer.instructions.d.ts.map +1 -0
- package/dist/ai/instructions/summarizer.instructions.js +84 -0
- package/dist/ai/instructions/summarizer.instructions.js.map +1 -0
- package/dist/ai/learning/execution-learner.d.ts +79 -0
- package/dist/ai/learning/execution-learner.d.ts.map +1 -0
- package/dist/ai/learning/execution-learner.js +536 -0
- package/dist/ai/learning/execution-learner.js.map +1 -0
- package/dist/ai/response_handlers/base-handler.d.ts +73 -0
- package/dist/ai/response_handlers/base-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/base-handler.js +153 -0
- package/dist/ai/response_handlers/base-handler.js.map +1 -0
- package/dist/ai/response_handlers/direct-response-handler.d.ts +18 -0
- package/dist/ai/response_handlers/direct-response-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/direct-response-handler.js +86 -0
- package/dist/ai/response_handlers/direct-response-handler.js.map +1 -0
- package/dist/ai/response_handlers/error-handler.d.ts +13 -0
- package/dist/ai/response_handlers/error-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/error-handler.js +72 -0
- package/dist/ai/response_handlers/error-handler.js.map +1 -0
- package/dist/ai/response_handlers/handler-registry.d.ts +51 -0
- package/dist/ai/response_handlers/handler-registry.d.ts.map +1 -0
- package/dist/ai/response_handlers/handler-registry.js +268 -0
- package/dist/ai/response_handlers/handler-registry.js.map +1 -0
- package/dist/ai/response_handlers/index.d.ts +16 -0
- package/dist/ai/response_handlers/index.d.ts.map +1 -0
- package/dist/ai/response_handlers/index.js +29 -0
- package/dist/ai/response_handlers/index.js.map +1 -0
- package/dist/ai/response_handlers/message-handler.d.ts +23 -0
- package/dist/ai/response_handlers/message-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/message-handler.js +193 -0
- package/dist/ai/response_handlers/message-handler.js.map +1 -0
- package/dist/ai/response_handlers/plan-ready-handler.d.ts +26 -0
- package/dist/ai/response_handlers/plan-ready-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/plan-ready-handler.js +394 -0
- package/dist/ai/response_handlers/plan-ready-handler.js.map +1 -0
- package/dist/ai/response_handlers/request-input-handler.d.ts +14 -0
- package/dist/ai/response_handlers/request-input-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/request-input-handler.js +87 -0
- package/dist/ai/response_handlers/request-input-handler.js.map +1 -0
- package/dist/ai/response_handlers/request-plan-handler.d.ts +18 -0
- package/dist/ai/response_handlers/request-plan-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/request-plan-handler.js +143 -0
- package/dist/ai/response_handlers/request-plan-handler.js.map +1 -0
- package/dist/ai/response_handlers/step-complete-handler.d.ts +22 -0
- package/dist/ai/response_handlers/step-complete-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/step-complete-handler.js +307 -0
- package/dist/ai/response_handlers/step-complete-handler.js.map +1 -0
- package/dist/ai/response_handlers/unknown-handler.d.ts +12 -0
- package/dist/ai/response_handlers/unknown-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/unknown-handler.js +27 -0
- package/dist/ai/response_handlers/unknown-handler.js.map +1 -0
- package/dist/ai/response_handlers/user-input-handler.d.ts +20 -0
- package/dist/ai/response_handlers/user-input-handler.d.ts.map +1 -0
- package/dist/ai/response_handlers/user-input-handler.js +69 -0
- package/dist/ai/response_handlers/user-input-handler.js.map +1 -0
- package/dist/ai/tools/log-step.d.ts +29 -0
- package/dist/ai/tools/log-step.d.ts.map +1 -0
- package/dist/ai/tools/log-step.js +47 -0
- package/dist/ai/tools/log-step.js.map +1 -0
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +223 -0
- package/dist/app.js.map +1 -0
- package/dist/config/environment/local.d.ts +12 -0
- package/dist/config/environment/local.d.ts.map +1 -0
- package/dist/config/environment/local.js +124 -0
- package/dist/config/environment/local.js.map +1 -0
- package/dist/config/environment/production.d.ts +7 -0
- package/dist/config/environment/production.d.ts.map +1 -0
- package/dist/config/environment/production.js +105 -0
- package/dist/config/environment/production.js.map +1 -0
- package/dist/config/environment/test.d.ts +7 -0
- package/dist/config/environment/test.d.ts.map +1 -0
- package/dist/config/environment/test.js +97 -0
- package/dist/config/environment/test.js.map +1 -0
- package/dist/config/index.d.ts +219 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +360 -0
- package/dist/config/index.js.map +1 -0
- package/dist/controllers/agent_request.controller.d.ts +43 -0
- package/dist/controllers/agent_request.controller.d.ts.map +1 -0
- package/dist/controllers/agent_request.controller.js +141 -0
- package/dist/controllers/agent_request.controller.js.map +1 -0
- package/dist/controllers/base.controller.d.ts +208 -0
- package/dist/controllers/base.controller.d.ts.map +1 -0
- package/dist/controllers/base.controller.js +378 -0
- package/dist/controllers/base.controller.js.map +1 -0
- package/dist/controllers/conversations.controller.d.ts +31 -0
- package/dist/controllers/conversations.controller.d.ts.map +1 -0
- package/dist/controllers/conversations.controller.js +138 -0
- package/dist/controllers/conversations.controller.js.map +1 -0
- package/dist/controllers/knowledge.controller.d.ts +63 -0
- package/dist/controllers/knowledge.controller.d.ts.map +1 -0
- package/dist/controllers/knowledge.controller.js +311 -0
- package/dist/controllers/knowledge.controller.js.map +1 -0
- package/dist/controllers/mcp.controller.d.ts +25 -0
- package/dist/controllers/mcp.controller.d.ts.map +1 -0
- package/dist/controllers/mcp.controller.js +93 -0
- package/dist/controllers/mcp.controller.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/app-constants.d.ts +231 -0
- package/dist/lib/app-constants.d.ts.map +1 -0
- package/dist/lib/app-constants.js +240 -0
- package/dist/lib/app-constants.js.map +1 -0
- package/dist/lib/controller-utils.d.ts +48 -0
- package/dist/lib/controller-utils.d.ts.map +1 -0
- package/dist/lib/controller-utils.js +70 -0
- package/dist/lib/controller-utils.js.map +1 -0
- package/dist/lib/exceptions/app-exceptions.d.ts +158 -0
- package/dist/lib/exceptions/app-exceptions.d.ts.map +1 -0
- package/dist/lib/exceptions/app-exceptions.js +287 -0
- package/dist/lib/exceptions/app-exceptions.js.map +1 -0
- package/dist/lib/middleware/upload.middleware.d.ts +13 -0
- package/dist/lib/middleware/upload.middleware.d.ts.map +1 -0
- package/dist/lib/middleware/upload.middleware.js +35 -0
- package/dist/lib/middleware/upload.middleware.js.map +1 -0
- package/dist/lib/middleware/validation.middleware.d.ts +29 -0
- package/dist/lib/middleware/validation.middleware.d.ts.map +1 -0
- package/dist/lib/middleware/validation.middleware.js +219 -0
- package/dist/lib/middleware/validation.middleware.js.map +1 -0
- package/dist/lib/model/validation-schema/submit-message.schema.d.ts +3 -0
- package/dist/lib/model/validation-schema/submit-message.schema.d.ts.map +1 -0
- package/dist/lib/model/validation-schema/submit-message.schema.js +40 -0
- package/dist/lib/model/validation-schema/submit-message.schema.js.map +1 -0
- package/dist/lib/model/validation-schema/update-knowledge.schema.d.ts +3 -0
- package/dist/lib/model/validation-schema/update-knowledge.schema.d.ts.map +1 -0
- package/dist/lib/model/validation-schema/update-knowledge.schema.js +35 -0
- package/dist/lib/model/validation-schema/update-knowledge.schema.js.map +1 -0
- package/dist/lib/open-ai-event-processor.d.ts +101 -0
- package/dist/lib/open-ai-event-processor.d.ts.map +1 -0
- package/dist/lib/open-ai-event-processor.js +426 -0
- package/dist/lib/open-ai-event-processor.js.map +1 -0
- package/dist/lib/schemas/ai-responses.schema.d.ts +617 -0
- package/dist/lib/schemas/ai-responses.schema.d.ts.map +1 -0
- package/dist/lib/schemas/ai-responses.schema.js +377 -0
- package/dist/lib/schemas/ai-responses.schema.js.map +1 -0
- package/dist/lib/schemas/common.schemas.d.ts +84 -0
- package/dist/lib/schemas/common.schemas.d.ts.map +1 -0
- package/dist/lib/schemas/common.schemas.js +87 -0
- package/dist/lib/schemas/common.schemas.js.map +1 -0
- package/dist/lib/schemas/conversation.schema.d.ts +28 -0
- package/dist/lib/schemas/conversation.schema.d.ts.map +1 -0
- package/dist/lib/schemas/conversation.schema.js +31 -0
- package/dist/lib/schemas/conversation.schema.js.map +1 -0
- package/dist/lib/schemas/http-client.schema.d.ts +39 -0
- package/dist/lib/schemas/http-client.schema.d.ts.map +1 -0
- package/dist/lib/schemas/http-client.schema.js +36 -0
- package/dist/lib/schemas/http-client.schema.js.map +1 -0
- package/dist/lib/schemas/index.d.ts +95 -0
- package/dist/lib/schemas/index.d.ts.map +1 -0
- package/dist/lib/schemas/index.js +32 -0
- package/dist/lib/schemas/index.js.map +1 -0
- package/dist/lib/schemas/knowledge.schema.d.ts +145 -0
- package/dist/lib/schemas/knowledge.schema.d.ts.map +1 -0
- package/dist/lib/schemas/knowledge.schema.js +81 -0
- package/dist/lib/schemas/knowledge.schema.js.map +1 -0
- package/dist/lib/schemas/orchestration.schema.d.ts +168 -0
- package/dist/lib/schemas/orchestration.schema.d.ts.map +1 -0
- package/dist/lib/schemas/orchestration.schema.js +133 -0
- package/dist/lib/schemas/orchestration.schema.js.map +1 -0
- package/dist/lib/schemas/plan.schema.d.ts +103 -0
- package/dist/lib/schemas/plan.schema.d.ts.map +1 -0
- package/dist/lib/schemas/plan.schema.js +58 -0
- package/dist/lib/schemas/plan.schema.js.map +1 -0
- package/dist/lib/sequelize-service.d.ts +23 -0
- package/dist/lib/sequelize-service.d.ts.map +1 -0
- package/dist/lib/sequelize-service.js +446 -0
- package/dist/lib/sequelize-service.js.map +1 -0
- package/dist/lib/source-hash.d.ts +39 -0
- package/dist/lib/source-hash.d.ts.map +1 -0
- package/dist/lib/source-hash.js +56 -0
- package/dist/lib/source-hash.js.map +1 -0
- package/dist/lib/stable-stringify.d.ts +32 -0
- package/dist/lib/stable-stringify.d.ts.map +1 -0
- package/dist/lib/stable-stringify.js +72 -0
- package/dist/lib/stable-stringify.js.map +1 -0
- package/dist/lib/streaming-utils.d.ts +60 -0
- package/dist/lib/streaming-utils.d.ts.map +1 -0
- package/dist/lib/streaming-utils.js +190 -0
- package/dist/lib/streaming-utils.js.map +1 -0
- package/dist/lib/utils/conversation-builder.d.ts +36 -0
- package/dist/lib/utils/conversation-builder.d.ts.map +1 -0
- package/dist/lib/utils/conversation-builder.js +132 -0
- package/dist/lib/utils/conversation-builder.js.map +1 -0
- package/dist/lib/utils/domain-matcher.d.ts +25 -0
- package/dist/lib/utils/domain-matcher.d.ts.map +1 -0
- package/dist/lib/utils/domain-matcher.js +42 -0
- package/dist/lib/utils/domain-matcher.js.map +1 -0
- package/dist/lib/utils/file-util.d.ts +157 -0
- package/dist/lib/utils/file-util.d.ts.map +1 -0
- package/dist/lib/utils/file-util.js +373 -0
- package/dist/lib/utils/file-util.js.map +1 -0
- package/dist/lib/utils/html-summarizer.d.ts +27 -0
- package/dist/lib/utils/html-summarizer.d.ts.map +1 -0
- package/dist/lib/utils/html-summarizer.js +189 -0
- package/dist/lib/utils/html-summarizer.js.map +1 -0
- package/dist/lib/utils/http-client.d.ts +108 -0
- package/dist/lib/utils/http-client.d.ts.map +1 -0
- package/dist/lib/utils/http-client.js +298 -0
- package/dist/lib/utils/http-client.js.map +1 -0
- package/dist/lib/utils/index.d.ts +12 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +28 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +30 -0
- package/dist/lib/utils/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger.js +88 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/mcp-utils.d.ts +208 -0
- package/dist/lib/utils/mcp-utils.d.ts.map +1 -0
- package/dist/lib/utils/mcp-utils.js +451 -0
- package/dist/lib/utils/mcp-utils.js.map +1 -0
- package/dist/lib/utils/sequelize-service.d.ts +153 -0
- package/dist/lib/utils/sequelize-service.d.ts.map +1 -0
- package/dist/lib/utils/sequelize-service.js +339 -0
- package/dist/lib/utils/sequelize-service.js.map +1 -0
- package/dist/lib/utils/tool-call-extractor.d.ts +36 -0
- package/dist/lib/utils/tool-call-extractor.d.ts.map +1 -0
- package/dist/lib/utils/tool-call-extractor.js +121 -0
- package/dist/lib/utils/tool-call-extractor.js.map +1 -0
- package/dist/lib/utils/zod-to-json-schema.d.ts +17 -0
- package/dist/lib/utils/zod-to-json-schema.d.ts.map +1 -0
- package/dist/lib/utils/zod-to-json-schema.js +53 -0
- package/dist/lib/utils/zod-to-json-schema.js.map +1 -0
- package/dist/models/AgentRequest.d.ts +33 -0
- package/dist/models/AgentRequest.d.ts.map +1 -0
- package/dist/models/AgentRequest.js +49 -0
- package/dist/models/AgentRequest.js.map +1 -0
- package/dist/models/AgentRun.d.ts +44 -0
- package/dist/models/AgentRun.d.ts.map +1 -0
- package/dist/models/AgentRun.js +53 -0
- package/dist/models/AgentRun.js.map +1 -0
- package/dist/models/AuditLog.d.ts +37 -0
- package/dist/models/AuditLog.d.ts.map +1 -0
- package/dist/models/AuditLog.js +46 -0
- package/dist/models/AuditLog.js.map +1 -0
- package/dist/models/Conversation.d.ts +39 -0
- package/dist/models/Conversation.d.ts.map +1 -0
- package/dist/models/Conversation.js +49 -0
- package/dist/models/Conversation.js.map +1 -0
- package/dist/models/Embedding.d.ts +56 -0
- package/dist/models/Embedding.d.ts.map +1 -0
- package/dist/models/Embedding.js +36 -0
- package/dist/models/Embedding.js.map +1 -0
- package/dist/models/ExecutionPattern.d.ts +57 -0
- package/dist/models/ExecutionPattern.d.ts.map +1 -0
- package/dist/models/ExecutionPattern.js +61 -0
- package/dist/models/ExecutionPattern.js.map +1 -0
- package/dist/models/Knowledge.d.ts +49 -0
- package/dist/models/Knowledge.d.ts.map +1 -0
- package/dist/models/Knowledge.js +67 -0
- package/dist/models/Knowledge.js.map +1 -0
- package/dist/models/KnowledgeRevision.d.ts +35 -0
- package/dist/models/KnowledgeRevision.d.ts.map +1 -0
- package/dist/models/KnowledgeRevision.js +51 -0
- package/dist/models/KnowledgeRevision.js.map +1 -0
- package/dist/models/Plan.d.ts +34 -0
- package/dist/models/Plan.d.ts.map +1 -0
- package/dist/models/Plan.js +43 -0
- package/dist/models/Plan.js.map +1 -0
- package/dist/models/PlanStep.d.ts +56 -0
- package/dist/models/PlanStep.d.ts.map +1 -0
- package/dist/models/PlanStep.js +65 -0
- package/dist/models/PlanStep.js.map +1 -0
- package/dist/models/SourceData.d.ts +39 -0
- package/dist/models/SourceData.d.ts.map +1 -0
- package/dist/models/SourceData.js +18 -0
- package/dist/models/SourceData.js.map +1 -0
- package/dist/models/index.d.ts +36 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +179 -0
- package/dist/models/index.js.map +1 -0
- package/dist/routes/agent.routes.d.ts +13 -0
- package/dist/routes/agent.routes.d.ts.map +1 -0
- package/dist/routes/agent.routes.js +27 -0
- package/dist/routes/agent.routes.js.map +1 -0
- package/dist/routes/agent_request.routes.d.ts +13 -0
- package/dist/routes/agent_request.routes.d.ts.map +1 -0
- package/dist/routes/agent_request.routes.js +65 -0
- package/dist/routes/agent_request.routes.js.map +1 -0
- package/dist/routes/knowledge.routes.d.ts +13 -0
- package/dist/routes/knowledge.routes.d.ts.map +1 -0
- package/dist/routes/knowledge.routes.js +91 -0
- package/dist/routes/knowledge.routes.js.map +1 -0
- package/dist/routes/mcp.routes.d.ts +14 -0
- package/dist/routes/mcp.routes.d.ts.map +1 -0
- package/dist/routes/mcp.routes.js +27 -0
- package/dist/routes/mcp.routes.js.map +1 -0
- package/dist/sdk/index.d.ts +13 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +35 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/savant.sdk.d.ts +53 -0
- package/dist/sdk/savant.sdk.d.ts.map +1 -0
- package/dist/sdk/savant.sdk.js +120 -0
- package/dist/sdk/savant.sdk.js.map +1 -0
- package/dist/services/agent-request-service.d.ts +104 -0
- package/dist/services/agent-request-service.d.ts.map +1 -0
- package/dist/services/agent-request-service.js +319 -0
- package/dist/services/agent-request-service.js.map +1 -0
- package/dist/services/audit_log.service.d.ts +104 -0
- package/dist/services/audit_log.service.d.ts.map +1 -0
- package/dist/services/audit_log.service.js +339 -0
- package/dist/services/audit_log.service.js.map +1 -0
- package/dist/services/conversation.service.d.ts +90 -0
- package/dist/services/conversation.service.d.ts.map +1 -0
- package/dist/services/conversation.service.js +552 -0
- package/dist/services/conversation.service.js.map +1 -0
- package/dist/services/domain.service.d.ts +58 -0
- package/dist/services/domain.service.d.ts.map +1 -0
- package/dist/services/domain.service.js +244 -0
- package/dist/services/domain.service.js.map +1 -0
- package/dist/services/embedding.service.d.ts +132 -0
- package/dist/services/embedding.service.d.ts.map +1 -0
- package/dist/services/embedding.service.js +587 -0
- package/dist/services/embedding.service.js.map +1 -0
- package/dist/services/file_upload.service.d.ts +50 -0
- package/dist/services/file_upload.service.d.ts.map +1 -0
- package/dist/services/file_upload.service.js +172 -0
- package/dist/services/file_upload.service.js.map +1 -0
- package/dist/services/knowledge.service.d.ts +200 -0
- package/dist/services/knowledge.service.d.ts.map +1 -0
- package/dist/services/knowledge.service.js +784 -0
- package/dist/services/knowledge.service.js.map +1 -0
- package/dist/types/responses-api.types.d.ts +181 -0
- package/dist/types/responses-api.types.d.ts.map +1 -0
- package/dist/types/responses-api.types.js +12 -0
- package/dist/types/responses-api.types.js.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared Application Exceptions
|
|
3
|
+
*
|
|
4
|
+
* Common exception classes used across all MeasureOne services.
|
|
5
|
+
* Provides standardized error handling and consistent error responses.
|
|
6
|
+
*
|
|
7
|
+
* @author MeasureOne, Inc.
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
import type { ErrorCode, HttpStatus } from '../app-constants';
|
|
11
|
+
/**
|
|
12
|
+
* Base application exception class
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class BaseAppException extends Error {
|
|
15
|
+
readonly error_code: ErrorCode;
|
|
16
|
+
readonly http_status: HttpStatus;
|
|
17
|
+
readonly details: Record<string, any>;
|
|
18
|
+
readonly timestamp: string;
|
|
19
|
+
readonly service: string | undefined;
|
|
20
|
+
constructor(message: string, error_code: ErrorCode, http_status: HttpStatus, details?: Record<string, any>, service?: string);
|
|
21
|
+
/**
|
|
22
|
+
* Convert exception to JSON for API responses
|
|
23
|
+
*/
|
|
24
|
+
toJSON(): Record<string, any>;
|
|
25
|
+
/**
|
|
26
|
+
* Get error for logging purposes
|
|
27
|
+
*/
|
|
28
|
+
toLogEntry(): Record<string, any>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Validation exception for input validation errors
|
|
32
|
+
*/
|
|
33
|
+
export declare class ValidationException extends BaseAppException {
|
|
34
|
+
constructor(message?: string, details?: Record<string, any>, service?: string);
|
|
35
|
+
/**
|
|
36
|
+
* Create validation exception for missing required fields
|
|
37
|
+
*/
|
|
38
|
+
static missingRequiredField(field_name: string, service?: string): ValidationException;
|
|
39
|
+
/**
|
|
40
|
+
* Create validation exception for invalid format
|
|
41
|
+
*/
|
|
42
|
+
static invalidFormat(field_name: string, expected_format: string, service?: string): ValidationException;
|
|
43
|
+
/**
|
|
44
|
+
* Create validation exception for multiple field errors
|
|
45
|
+
*/
|
|
46
|
+
static multipleErrors(field_errors: Record<string, string>, service?: string): ValidationException;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Authentication exception for auth-related errors
|
|
50
|
+
*/
|
|
51
|
+
export declare class AuthenticationException extends BaseAppException {
|
|
52
|
+
constructor(message?: string, error_code?: ErrorCode, details?: Record<string, any>, service?: string);
|
|
53
|
+
/**
|
|
54
|
+
* Create exception for invalid token
|
|
55
|
+
*/
|
|
56
|
+
static invalidToken(service?: string): AuthenticationException;
|
|
57
|
+
/**
|
|
58
|
+
* Create exception for expired token
|
|
59
|
+
*/
|
|
60
|
+
static tokenExpired(service?: string): AuthenticationException;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Authorization exception for permission-related errors
|
|
64
|
+
*/
|
|
65
|
+
export declare class AuthorizationException extends BaseAppException {
|
|
66
|
+
constructor(message?: string, details?: Record<string, any>, service?: string);
|
|
67
|
+
/**
|
|
68
|
+
* Create exception for insufficient permissions
|
|
69
|
+
*/
|
|
70
|
+
static insufficientPermissions(required_permission: string, service?: string): AuthorizationException;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resource not found exception
|
|
74
|
+
*/
|
|
75
|
+
export declare class ResourceNotFoundException extends BaseAppException {
|
|
76
|
+
constructor(resource_type: string, resource_id?: string, service?: string);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Resource conflict exception
|
|
80
|
+
*/
|
|
81
|
+
export declare class ResourceConflictException extends BaseAppException {
|
|
82
|
+
constructor(resource_type: string, conflict_reason: string, details?: Record<string, any>, service?: string);
|
|
83
|
+
/**
|
|
84
|
+
* Create exception for duplicate resource
|
|
85
|
+
*/
|
|
86
|
+
static duplicateResource(resource_type: string, identifier: string, service?: string): ResourceConflictException;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Internal server exception for unexpected errors
|
|
90
|
+
*/
|
|
91
|
+
export declare class InternalServerException extends BaseAppException {
|
|
92
|
+
constructor(message?: string, details?: Record<string, any>, service?: string, original_error?: Error);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Service unavailable exception
|
|
96
|
+
*/
|
|
97
|
+
export declare class ServiceUnavailableException extends BaseAppException {
|
|
98
|
+
constructor(service_name: string, reason?: string, details?: Record<string, any>, service?: string);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Rate limit exception
|
|
102
|
+
*/
|
|
103
|
+
export declare class RateLimitException extends BaseAppException {
|
|
104
|
+
constructor(limit: number, window_seconds: number, retry_after_seconds?: number, service?: string);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* File-related exception
|
|
108
|
+
*/
|
|
109
|
+
export declare class FileException extends BaseAppException {
|
|
110
|
+
constructor(message: string, error_code: ErrorCode, file_path?: string, details?: Record<string, any>, service?: string);
|
|
111
|
+
/**
|
|
112
|
+
* Create exception for file not found
|
|
113
|
+
*/
|
|
114
|
+
static fileNotFound(file_path: string, service?: string): FileException;
|
|
115
|
+
/**
|
|
116
|
+
* Create exception for file too large
|
|
117
|
+
*/
|
|
118
|
+
static fileTooLarge(file_path: string, size_bytes: number, max_size_bytes: number, service?: string): FileException;
|
|
119
|
+
/**
|
|
120
|
+
* Create exception for invalid file type
|
|
121
|
+
*/
|
|
122
|
+
static invalidFileType(file_path: string, detected_type: string, allowed_types: string[], service?: string): FileException;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Database-related exception
|
|
126
|
+
*/
|
|
127
|
+
export declare class DatabaseException extends BaseAppException {
|
|
128
|
+
constructor(message: string, error_code?: ErrorCode, details?: Record<string, any>, service?: string, original_error?: Error);
|
|
129
|
+
/**
|
|
130
|
+
* Create exception for connection failure
|
|
131
|
+
*/
|
|
132
|
+
static connectionFailed(database_name: string, service?: string, original_error?: Error): DatabaseException;
|
|
133
|
+
/**
|
|
134
|
+
* Create exception for query failure
|
|
135
|
+
*/
|
|
136
|
+
static queryFailed(query_type: string, service?: string, original_error?: Error): DatabaseException;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* External API exception
|
|
140
|
+
*/
|
|
141
|
+
export declare class ExternalApiException extends BaseAppException {
|
|
142
|
+
constructor(api_name: string, message: string, error_code?: ErrorCode, status_code?: number, details?: Record<string, any>, service?: string);
|
|
143
|
+
/**
|
|
144
|
+
* Create exception for API unavailable
|
|
145
|
+
*/
|
|
146
|
+
static apiUnavailable(api_name: string, service?: string): ExternalApiException;
|
|
147
|
+
/**
|
|
148
|
+
* Create exception for API rate limited
|
|
149
|
+
*/
|
|
150
|
+
static apiRateLimited(api_name: string, retry_after_seconds?: number, service?: string): ExternalApiException;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Timeout exception
|
|
154
|
+
*/
|
|
155
|
+
export declare class TimeoutException extends BaseAppException {
|
|
156
|
+
constructor(operation: string, timeout_ms: number, service?: string);
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=app-exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-exceptions.d.ts","sourceRoot":"","sources":["../../../src/lib/exceptions/app-exceptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Shared Application Exceptions
|
|
4
|
+
*
|
|
5
|
+
* Common exception classes used across all MeasureOne services.
|
|
6
|
+
* Provides standardized error handling and consistent error responses.
|
|
7
|
+
*
|
|
8
|
+
* @author MeasureOne, Inc.
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TimeoutException = exports.ExternalApiException = exports.DatabaseException = exports.FileException = exports.RateLimitException = exports.ServiceUnavailableException = exports.InternalServerException = exports.ResourceConflictException = exports.ResourceNotFoundException = exports.AuthorizationException = exports.AuthenticationException = exports.ValidationException = exports.BaseAppException = void 0;
|
|
13
|
+
const app_constants_1 = require("../app-constants");
|
|
14
|
+
/**
|
|
15
|
+
* Base application exception class
|
|
16
|
+
*/
|
|
17
|
+
class BaseAppException extends Error {
|
|
18
|
+
constructor(message, error_code, http_status, details = {}, service) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = this.constructor.name;
|
|
21
|
+
this.error_code = error_code;
|
|
22
|
+
this.http_status = http_status;
|
|
23
|
+
this.details = details;
|
|
24
|
+
this.timestamp = new Date().toISOString();
|
|
25
|
+
this.service = service;
|
|
26
|
+
// Maintain proper stack trace for where our error was thrown (only available on V8)
|
|
27
|
+
if (Error.captureStackTrace) {
|
|
28
|
+
Error.captureStackTrace(this, this.constructor);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Convert exception to JSON for API responses
|
|
33
|
+
*/
|
|
34
|
+
toJSON() {
|
|
35
|
+
return {
|
|
36
|
+
error: {
|
|
37
|
+
code: this.error_code,
|
|
38
|
+
message: this.message,
|
|
39
|
+
details: this.details,
|
|
40
|
+
timestamp: this.timestamp,
|
|
41
|
+
service: this.service
|
|
42
|
+
},
|
|
43
|
+
success: false,
|
|
44
|
+
timestamp: this.timestamp
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get error for logging purposes
|
|
49
|
+
*/
|
|
50
|
+
toLogEntry() {
|
|
51
|
+
return {
|
|
52
|
+
error_type: this.name,
|
|
53
|
+
error_code: this.error_code,
|
|
54
|
+
message: this.message,
|
|
55
|
+
http_status: this.http_status,
|
|
56
|
+
details: this.details,
|
|
57
|
+
stack: this.stack,
|
|
58
|
+
timestamp: this.timestamp,
|
|
59
|
+
service: this.service
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.BaseAppException = BaseAppException;
|
|
64
|
+
/**
|
|
65
|
+
* Validation exception for input validation errors
|
|
66
|
+
*/
|
|
67
|
+
class ValidationException extends BaseAppException {
|
|
68
|
+
constructor(message = 'Validation failed', details = {}, service) {
|
|
69
|
+
super(message, app_constants_1.ERROR_CODES.VALIDATION_FAILED, app_constants_1.HTTP_STATUS.BAD_REQUEST, details, service);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create validation exception for missing required fields
|
|
73
|
+
*/
|
|
74
|
+
static missingRequiredField(field_name, service) {
|
|
75
|
+
return new ValidationException(`Missing required field: ${field_name}`, { field: field_name, type: 'missing_required' }, service);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create validation exception for invalid format
|
|
79
|
+
*/
|
|
80
|
+
static invalidFormat(field_name, expected_format, service) {
|
|
81
|
+
return new ValidationException(`Invalid format for field '${field_name}'. Expected: ${expected_format}`, { field: field_name, expected_format, type: 'invalid_format' }, service);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create validation exception for multiple field errors
|
|
85
|
+
*/
|
|
86
|
+
static multipleErrors(field_errors, service) {
|
|
87
|
+
return new ValidationException('Multiple validation errors occurred', { field_errors, type: 'multiple_errors' }, service);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ValidationException = ValidationException;
|
|
91
|
+
/**
|
|
92
|
+
* Authentication exception for auth-related errors
|
|
93
|
+
*/
|
|
94
|
+
class AuthenticationException extends BaseAppException {
|
|
95
|
+
constructor(message = 'Authentication failed', error_code = app_constants_1.ERROR_CODES.UNAUTHORIZED, details = {}, service) {
|
|
96
|
+
super(message, error_code, app_constants_1.HTTP_STATUS.UNAUTHORIZED, details, service);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Create exception for invalid token
|
|
100
|
+
*/
|
|
101
|
+
static invalidToken(service) {
|
|
102
|
+
return new AuthenticationException('Invalid or malformed authentication token', app_constants_1.ERROR_CODES.INVALID_TOKEN, { type: 'invalid_token' }, service);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create exception for expired token
|
|
106
|
+
*/
|
|
107
|
+
static tokenExpired(service) {
|
|
108
|
+
return new AuthenticationException('Authentication token has expired', app_constants_1.ERROR_CODES.TOKEN_EXPIRED, { type: 'token_expired' }, service);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.AuthenticationException = AuthenticationException;
|
|
112
|
+
/**
|
|
113
|
+
* Authorization exception for permission-related errors
|
|
114
|
+
*/
|
|
115
|
+
class AuthorizationException extends BaseAppException {
|
|
116
|
+
constructor(message = 'Access forbidden', details = {}, service) {
|
|
117
|
+
super(message, app_constants_1.ERROR_CODES.FORBIDDEN, app_constants_1.HTTP_STATUS.FORBIDDEN, details, service);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create exception for insufficient permissions
|
|
121
|
+
*/
|
|
122
|
+
static insufficientPermissions(required_permission, service) {
|
|
123
|
+
return new AuthorizationException(`Insufficient permissions. Required: ${required_permission}`, { required_permission, type: 'insufficient_permissions' }, service);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.AuthorizationException = AuthorizationException;
|
|
127
|
+
/**
|
|
128
|
+
* Resource not found exception
|
|
129
|
+
*/
|
|
130
|
+
class ResourceNotFoundException extends BaseAppException {
|
|
131
|
+
constructor(resource_type, resource_id, service) {
|
|
132
|
+
const message = resource_id
|
|
133
|
+
? `${resource_type} with ID '${resource_id}' not found`
|
|
134
|
+
: `${resource_type} not found`;
|
|
135
|
+
super(message, app_constants_1.ERROR_CODES.RESOURCE_NOT_FOUND, app_constants_1.HTTP_STATUS.NOT_FOUND, { resource_type, resource_id, type: 'not_found' }, service);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.ResourceNotFoundException = ResourceNotFoundException;
|
|
139
|
+
/**
|
|
140
|
+
* Resource conflict exception
|
|
141
|
+
*/
|
|
142
|
+
class ResourceConflictException extends BaseAppException {
|
|
143
|
+
constructor(resource_type, conflict_reason, details = {}, service) {
|
|
144
|
+
super(`${resource_type} conflict: ${conflict_reason}`, app_constants_1.ERROR_CODES.RESOURCE_CONFLICT, app_constants_1.HTTP_STATUS.CONFLICT, { resource_type, conflict_reason, type: 'conflict', ...details }, service);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Create exception for duplicate resource
|
|
148
|
+
*/
|
|
149
|
+
static duplicateResource(resource_type, identifier, service) {
|
|
150
|
+
return new ResourceConflictException(resource_type, `Resource with identifier '${identifier}' already exists`, { identifier, type: 'duplicate' }, service);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.ResourceConflictException = ResourceConflictException;
|
|
154
|
+
/**
|
|
155
|
+
* Internal server exception for unexpected errors
|
|
156
|
+
*/
|
|
157
|
+
class InternalServerException extends BaseAppException {
|
|
158
|
+
constructor(message = 'Internal server error', details = {}, service, original_error) {
|
|
159
|
+
super(message, app_constants_1.ERROR_CODES.INTERNAL_ERROR, app_constants_1.HTTP_STATUS.INTERNAL_SERVER_ERROR, details, service);
|
|
160
|
+
if (original_error) {
|
|
161
|
+
this.details['original_error'] = {
|
|
162
|
+
name: original_error.name,
|
|
163
|
+
message: original_error.message,
|
|
164
|
+
stack: original_error.stack
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.InternalServerException = InternalServerException;
|
|
170
|
+
/**
|
|
171
|
+
* Service unavailable exception
|
|
172
|
+
*/
|
|
173
|
+
class ServiceUnavailableException extends BaseAppException {
|
|
174
|
+
constructor(service_name, reason = 'Service temporarily unavailable', details = {}, service) {
|
|
175
|
+
super(`${service_name} is unavailable: ${reason}`, app_constants_1.ERROR_CODES.SERVICE_UNAVAILABLE, app_constants_1.HTTP_STATUS.SERVICE_UNAVAILABLE, { service_name, reason, type: 'service_unavailable', ...details }, service);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.ServiceUnavailableException = ServiceUnavailableException;
|
|
179
|
+
/**
|
|
180
|
+
* Rate limit exception
|
|
181
|
+
*/
|
|
182
|
+
class RateLimitException extends BaseAppException {
|
|
183
|
+
constructor(limit, window_seconds, retry_after_seconds, service) {
|
|
184
|
+
const message = `Rate limit exceeded: ${limit} requests per ${window_seconds} seconds`;
|
|
185
|
+
const details = {
|
|
186
|
+
limit,
|
|
187
|
+
window_seconds,
|
|
188
|
+
type: 'rate_limited'
|
|
189
|
+
};
|
|
190
|
+
if (retry_after_seconds) {
|
|
191
|
+
details['retry_after_seconds'] = retry_after_seconds;
|
|
192
|
+
}
|
|
193
|
+
super(message, app_constants_1.ERROR_CODES.RATE_LIMITED, app_constants_1.HTTP_STATUS.TOO_MANY_REQUESTS, details, service);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.RateLimitException = RateLimitException;
|
|
197
|
+
/**
|
|
198
|
+
* File-related exception
|
|
199
|
+
*/
|
|
200
|
+
class FileException extends BaseAppException {
|
|
201
|
+
constructor(message, error_code, file_path, details = {}, service) {
|
|
202
|
+
const http_status = error_code === app_constants_1.ERROR_CODES.FILE_NOT_FOUND
|
|
203
|
+
? app_constants_1.HTTP_STATUS.NOT_FOUND
|
|
204
|
+
: app_constants_1.HTTP_STATUS.BAD_REQUEST;
|
|
205
|
+
super(message, error_code, http_status, { file_path, type: 'file_error', ...details }, service);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Create exception for file not found
|
|
209
|
+
*/
|
|
210
|
+
static fileNotFound(file_path, service) {
|
|
211
|
+
return new FileException(`File not found: ${file_path}`, app_constants_1.ERROR_CODES.FILE_NOT_FOUND, file_path, { type: 'not_found' }, service);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Create exception for file too large
|
|
215
|
+
*/
|
|
216
|
+
static fileTooLarge(file_path, size_bytes, max_size_bytes, service) {
|
|
217
|
+
return new FileException(`File too large: ${file_path} (${size_bytes} bytes, max: ${max_size_bytes} bytes)`, app_constants_1.ERROR_CODES.FILE_TOO_LARGE, file_path, { size_bytes, max_size_bytes, type: 'too_large' }, service);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Create exception for invalid file type
|
|
221
|
+
*/
|
|
222
|
+
static invalidFileType(file_path, detected_type, allowed_types, service) {
|
|
223
|
+
return new FileException(`Invalid file type: ${detected_type}. Allowed types: ${allowed_types.join(', ')}`, app_constants_1.ERROR_CODES.INVALID_FILE_TYPE, file_path, { detected_type, allowed_types, type: 'invalid_type' }, service);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
exports.FileException = FileException;
|
|
227
|
+
/**
|
|
228
|
+
* Database-related exception
|
|
229
|
+
*/
|
|
230
|
+
class DatabaseException extends BaseAppException {
|
|
231
|
+
constructor(message, error_code = app_constants_1.ERROR_CODES.DATABASE_ERROR, details = {}, service, original_error) {
|
|
232
|
+
super(message, error_code, app_constants_1.HTTP_STATUS.INTERNAL_SERVER_ERROR, details, service);
|
|
233
|
+
if (original_error) {
|
|
234
|
+
this.details['original_error'] = {
|
|
235
|
+
name: original_error.name,
|
|
236
|
+
message: original_error.message
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Create exception for connection failure
|
|
242
|
+
*/
|
|
243
|
+
static connectionFailed(database_name, service, original_error) {
|
|
244
|
+
return new DatabaseException(`Failed to connect to database: ${database_name}`, app_constants_1.ERROR_CODES.CONNECTION_FAILED, { database_name, type: 'connection_failed' }, service, original_error);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Create exception for query failure
|
|
248
|
+
*/
|
|
249
|
+
static queryFailed(query_type, service, original_error) {
|
|
250
|
+
return new DatabaseException(`Database query failed: ${query_type}`, app_constants_1.ERROR_CODES.QUERY_FAILED, { query_type, type: 'query_failed' }, service, original_error);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.DatabaseException = DatabaseException;
|
|
254
|
+
/**
|
|
255
|
+
* External API exception
|
|
256
|
+
*/
|
|
257
|
+
class ExternalApiException extends BaseAppException {
|
|
258
|
+
constructor(api_name, message, error_code = app_constants_1.ERROR_CODES.EXTERNAL_API_ERROR, status_code, details = {}, service) {
|
|
259
|
+
const http_status = status_code && status_code >= 400 && status_code < 600
|
|
260
|
+
? status_code
|
|
261
|
+
: app_constants_1.HTTP_STATUS.BAD_GATEWAY;
|
|
262
|
+
super(`${api_name} API error: ${message}`, error_code, http_status, { api_name, external_status_code: status_code, type: 'external_api_error', ...details }, service);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Create exception for API unavailable
|
|
266
|
+
*/
|
|
267
|
+
static apiUnavailable(api_name, service) {
|
|
268
|
+
return new ExternalApiException(api_name, 'API is currently unavailable', app_constants_1.ERROR_CODES.API_UNAVAILABLE, app_constants_1.HTTP_STATUS.SERVICE_UNAVAILABLE, { type: 'unavailable' }, service);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Create exception for API rate limited
|
|
272
|
+
*/
|
|
273
|
+
static apiRateLimited(api_name, retry_after_seconds, service) {
|
|
274
|
+
return new ExternalApiException(api_name, 'API rate limit exceeded', app_constants_1.ERROR_CODES.API_RATE_LIMITED, app_constants_1.HTTP_STATUS.TOO_MANY_REQUESTS, { retry_after_seconds, type: 'rate_limited' }, service);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
exports.ExternalApiException = ExternalApiException;
|
|
278
|
+
/**
|
|
279
|
+
* Timeout exception
|
|
280
|
+
*/
|
|
281
|
+
class TimeoutException extends BaseAppException {
|
|
282
|
+
constructor(operation, timeout_ms, service) {
|
|
283
|
+
super(`Operation '${operation}' timed out after ${timeout_ms}ms`, app_constants_1.ERROR_CODES.TIMEOUT, app_constants_1.HTTP_STATUS.GATEWAY_TIMEOUT, { operation, timeout_ms, type: 'timeout' }, service);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
exports.TimeoutException = TimeoutException;
|
|
287
|
+
//# sourceMappingURL=app-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-exceptions.js","sourceRoot":"","sources":["../../../src/lib/exceptions/app-exceptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Upload Middleware
|
|
3
|
+
*
|
|
4
|
+
* Multer middleware configuration for file uploads.
|
|
5
|
+
*
|
|
6
|
+
* @author MeasureOne, Inc.
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
import multer from "multer";
|
|
10
|
+
export declare const upload: multer.Multer;
|
|
11
|
+
export declare const upload_single: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
12
|
+
export declare const upload_multiple: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
13
|
+
//# sourceMappingURL=upload.middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/middleware/upload.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAa5B,eAAO,MAAM,MAAM,eAMjB,CAAC;AAGH,eAAO,MAAM,aAAa,8IAAwB,CAAC;AAGnD,eAAO,MAAM,eAAe,8IAA4B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Upload Middleware
|
|
4
|
+
*
|
|
5
|
+
* Multer middleware configuration for file uploads.
|
|
6
|
+
*
|
|
7
|
+
* @author MeasureOne, Inc.
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.upload_multiple = exports.upload_single = exports.upload = void 0;
|
|
15
|
+
const multer_1 = __importDefault(require("multer"));
|
|
16
|
+
// Configure multer to use memory storage
|
|
17
|
+
const storage = multer_1.default.memoryStorage();
|
|
18
|
+
// File filter - accept all file types for now
|
|
19
|
+
const file_filter = (req, file, cb) => {
|
|
20
|
+
// Accept all files
|
|
21
|
+
cb(null, true);
|
|
22
|
+
};
|
|
23
|
+
// Create multer instance
|
|
24
|
+
exports.upload = (0, multer_1.default)({
|
|
25
|
+
storage,
|
|
26
|
+
fileFilter: file_filter,
|
|
27
|
+
limits: {
|
|
28
|
+
fileSize: 50 * 1024 * 1024, // 50MB limit
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
// Single file upload middleware
|
|
32
|
+
exports.upload_single = exports.upload.single("file");
|
|
33
|
+
// Multiple files upload middleware
|
|
34
|
+
exports.upload_multiple = exports.upload.array("files", 10);
|
|
35
|
+
//# sourceMappingURL=upload.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/upload.middleware.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;AAEH,oDAA4B;AAG5B,yCAAyC;AACzC,MAAM,OAAO,GAAG,gBAAM,CAAC,aAAa,EAAE,CAAC;AAEvC,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,GAAoB,EAAE,IAAyB,EAAE,EAA6B,EAAE,EAAE;IACrG,mBAAmB;IACnB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,yBAAyB;AACZ,QAAA,MAAM,GAAG,IAAA,gBAAM,EAAC;IAC3B,OAAO;IACP,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,aAAa;KAC1C;CACF,CAAC,CAAC;AAEH,gCAAgC;AACnB,QAAA,aAAa,GAAG,cAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEnD,mCAAmC;AACtB,QAAA,eAAe,GAAG,cAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Validation Middleware for Savant Orchestration Service
|
|
3
|
+
*
|
|
4
|
+
* Express middleware for request validation using validation functions.
|
|
5
|
+
* Provides consistent error handling for validation failures.
|
|
6
|
+
*
|
|
7
|
+
* @author MeasureOne, Inc.
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
import { Request, Response, NextFunction } from 'express';
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
/**
|
|
13
|
+
* Create validation middleware for request body
|
|
14
|
+
* Accepts either a Zod schema or a validation function
|
|
15
|
+
*/
|
|
16
|
+
export declare function validate_body(schema_or_validator: z.ZodType<any> | ((data: unknown) => any)): (req: Request, res: Response, next: NextFunction) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Create validation middleware for query parameters
|
|
19
|
+
*/
|
|
20
|
+
export declare function validate_query(validation_function: (data: unknown) => any): (req: Request, res: Response, next: NextFunction) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Create validation middleware for path parameters
|
|
23
|
+
*/
|
|
24
|
+
export declare function validate_params(validation_function: (data: unknown) => any): (req: Request, res: Response, next: NextFunction) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Middleware to require request body
|
|
27
|
+
*/
|
|
28
|
+
export declare function require_request_body(req: Request, res: Response, next: NextFunction): void;
|
|
29
|
+
//# sourceMappingURL=validation.middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/middleware/validation.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC,IAChF,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UA0D1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,IAC9D,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UAgE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,IAC/D,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UA8C1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAY1F"}
|