@carlonicora/nestjs-neo4jsonapi 0.0.1
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/LICENSE +675 -0
- package/README.md +1139 -0
- package/dist/agents/agents.modules.d.ts +8 -0
- package/dist/agents/agents.modules.d.ts.map +1 -0
- package/dist/agents/agents.modules.js +29 -0
- package/dist/agents/agents.modules.js.map +1 -0
- package/dist/agents/contextualiser/contexts/citations.context.d.ts +13 -0
- package/dist/agents/contextualiser/contexts/citations.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/citations.context.js +9 -0
- package/dist/agents/contextualiser/contexts/citations.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/contextualiser.context.d.ts +174 -0
- package/dist/agents/contextualiser/contexts/contextualiser.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/contextualiser.context.js +203 -0
- package/dist/agents/contextualiser/contexts/contextualiser.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/history.context.d.ts +14 -0
- package/dist/agents/contextualiser/contexts/history.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/history.context.js +9 -0
- package/dist/agents/contextualiser/contexts/history.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/limit.context.d.ts +2 -0
- package/dist/agents/contextualiser/contexts/limit.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/limit.context.js +6 -0
- package/dist/agents/contextualiser/contexts/limit.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/notebook.context.d.ts +18 -0
- package/dist/agents/contextualiser/contexts/notebook.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/notebook.context.js +10 -0
- package/dist/agents/contextualiser/contexts/notebook.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/prompt.context.d.ts +13 -0
- package/dist/agents/contextualiser/contexts/prompt.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/prompt.context.js +9 -0
- package/dist/agents/contextualiser/contexts/prompt.context.js.map +1 -0
- package/dist/agents/contextualiser/contexts/request.context.d.ts +13 -0
- package/dist/agents/contextualiser/contexts/request.context.d.ts.map +1 -0
- package/dist/agents/contextualiser/contexts/request.context.js +9 -0
- package/dist/agents/contextualiser/contexts/request.context.js.map +1 -0
- package/dist/agents/contextualiser/contextualiser.module.d.ts +3 -0
- package/dist/agents/contextualiser/contextualiser.module.d.ts.map +1 -0
- package/dist/agents/contextualiser/contextualiser.module.js +44 -0
- package/dist/agents/contextualiser/contextualiser.module.js.map +1 -0
- package/dist/agents/contextualiser/factories/contextualiser.context.factory.d.ts +22 -0
- package/dist/agents/contextualiser/factories/contextualiser.context.factory.d.ts.map +1 -0
- package/dist/agents/contextualiser/factories/contextualiser.context.factory.js +77 -0
- package/dist/agents/contextualiser/factories/contextualiser.context.factory.js.map +1 -0
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.d.ts +26 -0
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.d.ts.map +1 -0
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.js +3 -0
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.js.map +1 -0
- package/dist/agents/contextualiser/nodes/atomicfacts.node.service.d.ts +25 -0
- package/dist/agents/contextualiser/nodes/atomicfacts.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/atomicfacts.node.service.js +196 -0
- package/dist/agents/contextualiser/nodes/atomicfacts.node.service.js.map +1 -0
- package/dist/agents/contextualiser/nodes/chunk.node.service.d.ts +21 -0
- package/dist/agents/contextualiser/nodes/chunk.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/chunk.node.service.js +229 -0
- package/dist/agents/contextualiser/nodes/chunk.node.service.js.map +1 -0
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.d.ts +21 -0
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js +166 -0
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js.map +1 -0
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.d.ts +22 -0
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js +184 -0
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js.map +1 -0
- package/dist/agents/contextualiser/nodes/question.refiner.node.service.d.ts +19 -0
- package/dist/agents/contextualiser/nodes/question.refiner.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/question.refiner.node.service.js +125 -0
- package/dist/agents/contextualiser/nodes/question.refiner.node.service.js.map +1 -0
- package/dist/agents/contextualiser/nodes/rational.node.service.d.ts +19 -0
- package/dist/agents/contextualiser/nodes/rational.node.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/nodes/rational.node.service.js +104 -0
- package/dist/agents/contextualiser/nodes/rational.node.service.js.map +1 -0
- package/dist/agents/contextualiser/services/contextualiser.service.d.ts +32 -0
- package/dist/agents/contextualiser/services/contextualiser.service.d.ts.map +1 -0
- package/dist/agents/contextualiser/services/contextualiser.service.js +193 -0
- package/dist/agents/contextualiser/services/contextualiser.service.js.map +1 -0
- package/dist/agents/graph.creator/graph.creator.module.d.ts +3 -0
- package/dist/agents/graph.creator/graph.creator.module.d.ts.map +1 -0
- package/dist/agents/graph.creator/graph.creator.module.js +24 -0
- package/dist/agents/graph.creator/graph.creator.module.js.map +1 -0
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.d.ts +14 -0
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.d.ts.map +1 -0
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.js +3 -0
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.js.map +1 -0
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts +17 -0
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts.map +1 -0
- package/dist/agents/graph.creator/services/graph.creator.service.js +450 -0
- package/dist/agents/graph.creator/services/graph.creator.service.js.map +1 -0
- package/dist/agents/index.d.ts +15 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +45 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/prompts/index.d.ts +10 -0
- package/dist/agents/prompts/index.d.ts.map +1 -0
- package/dist/agents/prompts/index.js +29 -0
- package/dist/agents/prompts/index.js.map +1 -0
- package/dist/agents/prompts/prompt.interfaces.d.ts +128 -0
- package/dist/agents/prompts/prompt.interfaces.d.ts.map +1 -0
- package/dist/agents/prompts/prompt.interfaces.js +12 -0
- package/dist/agents/prompts/prompt.interfaces.js.map +1 -0
- package/dist/agents/prompts/prompt.tokens.d.ts +16 -0
- package/dist/agents/prompts/prompt.tokens.d.ts.map +1 -0
- package/dist/agents/prompts/prompt.tokens.js +23 -0
- package/dist/agents/prompts/prompt.tokens.js.map +1 -0
- package/dist/agents/responder/contexts/responder.answer.context.d.ts +28 -0
- package/dist/agents/responder/contexts/responder.answer.context.d.ts.map +1 -0
- package/dist/agents/responder/contexts/responder.answer.context.js +12 -0
- package/dist/agents/responder/contexts/responder.answer.context.js.map +1 -0
- package/dist/agents/responder/contexts/responder.context.d.ts +468 -0
- package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -0
- package/dist/agents/responder/contexts/responder.context.js +32 -0
- package/dist/agents/responder/contexts/responder.context.js.map +1 -0
- package/dist/agents/responder/factories/responder.context.factory.d.ts +18 -0
- package/dist/agents/responder/factories/responder.context.factory.d.ts.map +1 -0
- package/dist/agents/responder/factories/responder.context.factory.js +50 -0
- package/dist/agents/responder/factories/responder.context.factory.js.map +1 -0
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts +21 -0
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts.map +1 -0
- package/dist/agents/responder/interfaces/responder.response.interface.js +3 -0
- package/dist/agents/responder/interfaces/responder.response.interface.js.map +1 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +16 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.js +367 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -0
- package/dist/agents/responder/responder.module.d.ts +3 -0
- package/dist/agents/responder/responder.module.d.ts.map +1 -0
- package/dist/agents/responder/responder.module.js +28 -0
- package/dist/agents/responder/responder.module.js.map +1 -0
- package/dist/agents/responder/services/responder.service.d.ts +21 -0
- package/dist/agents/responder/services/responder.service.d.ts.map +1 -0
- package/dist/agents/responder/services/responder.service.js +87 -0
- package/dist/agents/responder/services/responder.service.js.map +1 -0
- package/dist/agents/summariser/services/summariser.service.d.ts +24 -0
- package/dist/agents/summariser/services/summariser.service.d.ts.map +1 -0
- package/dist/agents/summariser/services/summariser.service.js +105 -0
- package/dist/agents/summariser/services/summariser.service.js.map +1 -0
- package/dist/agents/summariser/summariser.module.d.ts +3 -0
- package/dist/agents/summariser/summariser.module.d.ts.map +1 -0
- package/dist/agents/summariser/summariser.module.js +23 -0
- package/dist/agents/summariser/summariser.module.js.map +1 -0
- package/dist/bootstrap/app.module.factory.d.ts +21 -0
- package/dist/bootstrap/app.module.factory.d.ts.map +1 -0
- package/dist/bootstrap/app.module.factory.js +156 -0
- package/dist/bootstrap/app.module.factory.js.map +1 -0
- package/dist/bootstrap/bootstrap.d.ts +31 -0
- package/dist/bootstrap/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap/bootstrap.js +174 -0
- package/dist/bootstrap/bootstrap.js.map +1 -0
- package/dist/bootstrap/bootstrap.options.d.ts +40 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -0
- package/dist/bootstrap/bootstrap.options.js +3 -0
- package/dist/bootstrap/bootstrap.options.js.map +1 -0
- package/dist/bootstrap/defaults.d.ts +33 -0
- package/dist/bootstrap/defaults.d.ts.map +1 -0
- package/dist/bootstrap/defaults.js +71 -0
- package/dist/bootstrap/defaults.js.map +1 -0
- package/dist/bootstrap/index.d.ts +47 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +57 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/common/abstracts/abstract.company.configuration.d.ts +40 -0
- package/dist/common/abstracts/abstract.company.configuration.d.ts.map +1 -0
- package/dist/common/abstracts/abstract.company.configuration.js +44 -0
- package/dist/common/abstracts/abstract.company.configuration.js.map +1 -0
- package/dist/common/abstracts/entity.d.ts +13 -0
- package/dist/common/abstracts/entity.d.ts.map +1 -0
- package/dist/common/abstracts/entity.js +21 -0
- package/dist/common/abstracts/entity.js.map +1 -0
- package/dist/common/abstracts/index.d.ts +2 -0
- package/dist/common/abstracts/index.d.ts.map +1 -0
- package/dist/common/abstracts/index.js +18 -0
- package/dist/common/abstracts/index.js.map +1 -0
- package/dist/common/constants/system.roles.d.ts +18 -0
- package/dist/common/constants/system.roles.d.ts.map +1 -0
- package/dist/common/constants/system.roles.js +19 -0
- package/dist/common/constants/system.roles.js.map +1 -0
- package/dist/common/contexts/index.d.ts +2 -0
- package/dist/common/contexts/index.d.ts.map +1 -0
- package/dist/common/contexts/index.js +18 -0
- package/dist/common/contexts/index.js.map +1 -0
- package/dist/common/contexts/tokenusage.context.d.ts +13 -0
- package/dist/common/contexts/tokenusage.context.d.ts.map +1 -0
- package/dist/common/contexts/tokenusage.context.js +9 -0
- package/dist/common/contexts/tokenusage.context.js.map +1 -0
- package/dist/common/decorators/conditional-service.decorator.d.ts +50 -0
- package/dist/common/decorators/conditional-service.decorator.d.ts.map +1 -0
- package/dist/common/decorators/conditional-service.decorator.js +87 -0
- package/dist/common/decorators/conditional-service.decorator.js.map +1 -0
- package/dist/common/decorators/index.d.ts +6 -0
- package/dist/common/decorators/index.d.ts.map +1 -0
- package/dist/common/decorators/index.js +22 -0
- package/dist/common/decorators/index.js.map +1 -0
- package/dist/common/decorators/module.decorator.d.ts +6 -0
- package/dist/common/decorators/module.decorator.d.ts.map +1 -0
- package/dist/common/decorators/module.decorator.js +7 -0
- package/dist/common/decorators/module.decorator.js.map +1 -0
- package/dist/common/decorators/rate-limit.decorator.d.ts +6 -0
- package/dist/common/decorators/rate-limit.decorator.d.ts.map +1 -0
- package/dist/common/decorators/rate-limit.decorator.js +15 -0
- package/dist/common/decorators/rate-limit.decorator.js.map +1 -0
- package/dist/common/decorators/roles.decorator.d.ts +2 -0
- package/dist/common/decorators/roles.decorator.d.ts.map +1 -0
- package/dist/common/decorators/roles.decorator.js +7 -0
- package/dist/common/decorators/roles.decorator.js.map +1 -0
- package/dist/common/decorators/tool.decorator.d.ts +29 -0
- package/dist/common/decorators/tool.decorator.d.ts.map +1 -0
- package/dist/common/decorators/tool.decorator.js +38 -0
- package/dist/common/decorators/tool.decorator.js.map +1 -0
- package/dist/common/enums/action.d.ts +7 -0
- package/dist/common/enums/action.d.ts.map +1 -0
- package/dist/common/enums/action.js +11 -0
- package/dist/common/enums/action.js.map +1 -0
- package/dist/common/enums/agentmessage.type.d.ts +6 -0
- package/dist/common/enums/agentmessage.type.d.ts.map +1 -0
- package/dist/common/enums/agentmessage.type.js +10 -0
- package/dist/common/enums/agentmessage.type.js.map +1 -0
- package/dist/common/enums/ai.status.d.ts +8 -0
- package/dist/common/enums/ai.status.d.ts.map +1 -0
- package/dist/common/enums/ai.status.js +12 -0
- package/dist/common/enums/ai.status.js.map +1 -0
- package/dist/common/enums/index.d.ts +4 -0
- package/dist/common/enums/index.d.ts.map +1 -0
- package/dist/common/enums/index.js +20 -0
- package/dist/common/enums/index.js.map +1 -0
- package/dist/common/filters/http-exception.filter.d.ts +17 -0
- package/dist/common/filters/http-exception.filter.d.ts.map +1 -0
- package/dist/common/filters/http-exception.filter.js +92 -0
- package/dist/common/filters/http-exception.filter.js.map +1 -0
- package/dist/common/filters/index.d.ts +2 -0
- package/dist/common/filters/index.d.ts.map +1 -0
- package/dist/common/filters/index.js +18 -0
- package/dist/common/filters/index.js.map +1 -0
- package/dist/common/guards/index.d.ts +4 -0
- package/dist/common/guards/index.d.ts.map +1 -0
- package/dist/common/guards/index.js +20 -0
- package/dist/common/guards/index.js.map +1 -0
- package/dist/common/guards/jwt.auth.admin.guard.d.ts +18 -0
- package/dist/common/guards/jwt.auth.admin.guard.d.ts.map +1 -0
- package/dist/common/guards/jwt.auth.admin.guard.js +78 -0
- package/dist/common/guards/jwt.auth.admin.guard.js.map +1 -0
- package/dist/common/guards/jwt.auth.guard.d.ts +18 -0
- package/dist/common/guards/jwt.auth.guard.d.ts.map +1 -0
- package/dist/common/guards/jwt.auth.guard.js +81 -0
- package/dist/common/guards/jwt.auth.guard.js.map +1 -0
- package/dist/common/guards/jwt.auth.optional.guard.d.ts +16 -0
- package/dist/common/guards/jwt.auth.optional.guard.d.ts.map +1 -0
- package/dist/common/guards/jwt.auth.optional.guard.js +78 -0
- package/dist/common/guards/jwt.auth.optional.guard.js.map +1 -0
- package/dist/common/helpers/define-entity.d.ts +50 -0
- package/dist/common/helpers/define-entity.d.ts.map +1 -0
- package/dist/common/helpers/define-entity.js +196 -0
- package/dist/common/helpers/define-entity.js.map +1 -0
- package/dist/common/helpers/index.d.ts +2 -0
- package/dist/common/helpers/index.d.ts.map +1 -0
- package/dist/common/helpers/index.js +18 -0
- package/dist/common/helpers/index.js.map +1 -0
- package/dist/common/index.d.ts +21 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +51 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts +17 -0
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts.map +1 -0
- package/dist/common/interfaces/agents/graph.creator.interface.js +3 -0
- package/dist/common/interfaces/agents/graph.creator.interface.js.map +1 -0
- package/dist/common/interfaces/authenticated.request.interface.d.ts +14 -0
- package/dist/common/interfaces/authenticated.request.interface.d.ts.map +1 -0
- package/dist/common/interfaces/authenticated.request.interface.js +3 -0
- package/dist/common/interfaces/authenticated.request.interface.js.map +1 -0
- package/dist/common/interfaces/datamodel.interface.d.ts +25 -0
- package/dist/common/interfaces/datamodel.interface.d.ts.map +1 -0
- package/dist/common/interfaces/datamodel.interface.js +7 -0
- package/dist/common/interfaces/datamodel.interface.js.map +1 -0
- package/dist/common/interfaces/entity.descriptor.interface.d.ts +34 -0
- package/dist/common/interfaces/entity.descriptor.interface.d.ts.map +1 -0
- package/dist/common/interfaces/entity.descriptor.interface.js +6 -0
- package/dist/common/interfaces/entity.descriptor.interface.js.map +1 -0
- package/dist/common/interfaces/entity.schema.interface.d.ts +154 -0
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -0
- package/dist/common/interfaces/entity.schema.interface.js +3 -0
- package/dist/common/interfaces/entity.schema.interface.js.map +1 -0
- package/dist/common/interfaces/index.d.ts +8 -0
- package/dist/common/interfaces/index.d.ts.map +1 -0
- package/dist/common/interfaces/index.js +24 -0
- package/dist/common/interfaces/index.js.map +1 -0
- package/dist/common/interfaces/langchain.usage.interface.d.ts +21 -0
- package/dist/common/interfaces/langchain.usage.interface.d.ts.map +1 -0
- package/dist/common/interfaces/langchain.usage.interface.js +3 -0
- package/dist/common/interfaces/langchain.usage.interface.js.map +1 -0
- package/dist/common/interfaces/message.interface.d.ts +6 -0
- package/dist/common/interfaces/message.interface.d.ts.map +1 -0
- package/dist/common/interfaces/message.interface.js +3 -0
- package/dist/common/interfaces/message.interface.js.map +1 -0
- package/dist/common/interfaces/token.usage.interface.d.ts +5 -0
- package/dist/common/interfaces/token.usage.interface.d.ts.map +1 -0
- package/dist/common/interfaces/token.usage.interface.js +3 -0
- package/dist/common/interfaces/token.usage.interface.js.map +1 -0
- package/dist/common/registries/index.d.ts +2 -0
- package/dist/common/registries/index.d.ts.map +1 -0
- package/dist/common/registries/index.js +18 -0
- package/dist/common/registries/index.js.map +1 -0
- package/dist/common/registries/registry.d.ts +23 -0
- package/dist/common/registries/registry.d.ts.map +1 -0
- package/dist/common/registries/registry.js +55 -0
- package/dist/common/registries/registry.js.map +1 -0
- package/dist/common/repositories/ai.source.query.d.ts +13 -0
- package/dist/common/repositories/ai.source.query.d.ts.map +1 -0
- package/dist/common/repositories/ai.source.query.js +23 -0
- package/dist/common/repositories/ai.source.query.js.map +1 -0
- package/dist/common/repositories/index.d.ts +2 -0
- package/dist/common/repositories/index.d.ts.map +1 -0
- package/dist/common/repositories/index.js +18 -0
- package/dist/common/repositories/index.js.map +1 -0
- package/dist/common/strategies/index.d.ts +2 -0
- package/dist/common/strategies/index.d.ts.map +1 -0
- package/dist/common/strategies/index.js +18 -0
- package/dist/common/strategies/index.js.map +1 -0
- package/dist/common/strategies/jwt.strategy.d.ts +14 -0
- package/dist/common/strategies/jwt.strategy.d.ts.map +1 -0
- package/dist/common/strategies/jwt.strategy.js +43 -0
- package/dist/common/strategies/jwt.strategy.js.map +1 -0
- package/dist/common/tokens.d.ts +14 -0
- package/dist/common/tokens.d.ts.map +1 -0
- package/dist/common/tokens.js +11 -0
- package/dist/common/tokens.js.map +1 -0
- package/dist/common/types/data.limits.d.ts +2 -0
- package/dist/common/types/data.limits.d.ts.map +1 -0
- package/dist/common/types/data.limits.js +3 -0
- package/dist/common/types/data.limits.js.map +1 -0
- package/dist/common/types/index.d.ts +3 -0
- package/dist/common/types/index.d.ts.map +1 -0
- package/dist/common/types/index.js +19 -0
- package/dist/common/types/index.js.map +1 -0
- package/dist/common/types/reducers.d.ts +13 -0
- package/dist/common/types/reducers.d.ts.map +1 -0
- package/dist/common/types/reducers.js +19 -0
- package/dist/common/types/reducers.js.map +1 -0
- package/dist/config/base.config.d.ts +90 -0
- package/dist/config/base.config.d.ts.map +1 -0
- package/dist/config/base.config.js +209 -0
- package/dist/config/base.config.js.map +1 -0
- package/dist/config/company.configurations.d.ts +19 -0
- package/dist/config/company.configurations.d.ts.map +1 -0
- package/dist/config/company.configurations.js +23 -0
- package/dist/config/company.configurations.js.map +1 -0
- package/dist/config/enums/content.types.d.ts +6 -0
- package/dist/config/enums/content.types.d.ts.map +1 -0
- package/dist/config/enums/content.types.js +9 -0
- package/dist/config/enums/content.types.js.map +1 -0
- package/dist/config/enums/index.d.ts +3 -0
- package/dist/config/enums/index.d.ts.map +1 -0
- package/dist/config/enums/index.js +19 -0
- package/dist/config/enums/index.js.map +1 -0
- package/dist/config/enums/job.name.d.ts +9 -0
- package/dist/config/enums/job.name.d.ts.map +1 -0
- package/dist/config/enums/job.name.js +12 -0
- package/dist/config/enums/job.name.js.map +1 -0
- package/dist/config/enums/queue.id.d.ts +9 -0
- package/dist/config/enums/queue.id.d.ts.map +1 -0
- package/dist/config/enums/queue.id.js +13 -0
- package/dist/config/enums/queue.id.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +30 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/interfaces/base.config.interface.d.ts +45 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -0
- package/dist/config/interfaces/base.config.interface.js +3 -0
- package/dist/config/interfaces/base.config.interface.js.map +1 -0
- package/dist/config/interfaces/config.ai.interface.d.ts +31 -0
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.ai.interface.js +3 -0
- package/dist/config/interfaces/config.ai.interface.js.map +1 -0
- package/dist/config/interfaces/config.api.interface.d.ts +6 -0
- package/dist/config/interfaces/config.api.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.api.interface.js +3 -0
- package/dist/config/interfaces/config.api.interface.js.map +1 -0
- package/dist/config/interfaces/config.app.interface.d.ts +4 -0
- package/dist/config/interfaces/config.app.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.app.interface.js +3 -0
- package/dist/config/interfaces/config.app.interface.js.map +1 -0
- package/dist/config/interfaces/config.cache.interface.d.ts +6 -0
- package/dist/config/interfaces/config.cache.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.cache.interface.js +3 -0
- package/dist/config/interfaces/config.cache.interface.js.map +1 -0
- package/dist/config/interfaces/config.chunk.queues.interface.d.ts +16 -0
- package/dist/config/interfaces/config.chunk.queues.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.chunk.queues.interface.js +3 -0
- package/dist/config/interfaces/config.chunk.queues.interface.js.map +1 -0
- package/dist/config/interfaces/config.content.types.interface.d.ts +8 -0
- package/dist/config/interfaces/config.content.types.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.content.types.interface.js +3 -0
- package/dist/config/interfaces/config.content.types.interface.js.map +1 -0
- package/dist/config/interfaces/config.cors.interface.d.ts +12 -0
- package/dist/config/interfaces/config.cors.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.cors.interface.js +3 -0
- package/dist/config/interfaces/config.cors.interface.js.map +1 -0
- package/dist/config/interfaces/config.email.interface.d.ts +11 -0
- package/dist/config/interfaces/config.email.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.email.interface.js +3 -0
- package/dist/config/interfaces/config.email.interface.js.map +1 -0
- package/dist/config/interfaces/config.encryption.interface.d.ts +4 -0
- package/dist/config/interfaces/config.encryption.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.encryption.interface.js +3 -0
- package/dist/config/interfaces/config.encryption.interface.js.map +1 -0
- package/dist/config/interfaces/config.environment.interface.d.ts +4 -0
- package/dist/config/interfaces/config.environment.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.environment.interface.js +3 -0
- package/dist/config/interfaces/config.environment.interface.js.map +1 -0
- package/dist/config/interfaces/config.interface.d.ts +8 -0
- package/dist/config/interfaces/config.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.interface.js +3 -0
- package/dist/config/interfaces/config.interface.js.map +1 -0
- package/dist/config/interfaces/config.job.names.interface.d.ts +20 -0
- package/dist/config/interfaces/config.job.names.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.job.names.interface.js +3 -0
- package/dist/config/interfaces/config.job.names.interface.js.map +1 -0
- package/dist/config/interfaces/config.jwt.interface.d.ts +5 -0
- package/dist/config/interfaces/config.jwt.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.jwt.interface.js +3 -0
- package/dist/config/interfaces/config.jwt.interface.js.map +1 -0
- package/dist/config/interfaces/config.logging.interface.d.ts +16 -0
- package/dist/config/interfaces/config.logging.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.logging.interface.js +3 -0
- package/dist/config/interfaces/config.logging.interface.js.map +1 -0
- package/dist/config/interfaces/config.neo4j.interface.d.ts +7 -0
- package/dist/config/interfaces/config.neo4j.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.neo4j.interface.js +3 -0
- package/dist/config/interfaces/config.neo4j.interface.js.map +1 -0
- package/dist/config/interfaces/config.prompts.interface.d.ts +18 -0
- package/dist/config/interfaces/config.prompts.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.prompts.interface.js +3 -0
- package/dist/config/interfaces/config.prompts.interface.js.map +1 -0
- package/dist/config/interfaces/config.ratelimit.interface.d.ts +7 -0
- package/dist/config/interfaces/config.ratelimit.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.ratelimit.interface.js +3 -0
- package/dist/config/interfaces/config.ratelimit.interface.js.map +1 -0
- package/dist/config/interfaces/config.redis.interface.d.ts +8 -0
- package/dist/config/interfaces/config.redis.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.redis.interface.js +3 -0
- package/dist/config/interfaces/config.redis.interface.js.map +1 -0
- package/dist/config/interfaces/config.s3.interface.d.ts +9 -0
- package/dist/config/interfaces/config.s3.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.s3.interface.js +3 -0
- package/dist/config/interfaces/config.s3.interface.js.map +1 -0
- package/dist/config/interfaces/config.stripe.interface.d.ts +9 -0
- package/dist/config/interfaces/config.stripe.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.stripe.interface.js +3 -0
- package/dist/config/interfaces/config.stripe.interface.js.map +1 -0
- package/dist/config/interfaces/config.tempo.interface.d.ts +7 -0
- package/dist/config/interfaces/config.tempo.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.tempo.interface.js +3 -0
- package/dist/config/interfaces/config.tempo.interface.js.map +1 -0
- package/dist/config/interfaces/config.vapid.interface.d.ts +6 -0
- package/dist/config/interfaces/config.vapid.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.vapid.interface.js +3 -0
- package/dist/config/interfaces/config.vapid.interface.js.map +1 -0
- package/dist/config/interfaces/index.d.ts +27 -0
- package/dist/config/interfaces/index.d.ts.map +1 -0
- package/dist/config/interfaces/index.js +43 -0
- package/dist/config/interfaces/index.js.map +1 -0
- package/dist/config/tokens.d.ts +12 -0
- package/dist/config/tokens.d.ts.map +1 -0
- package/dist/config/tokens.js +16 -0
- package/dist/config/tokens.js.map +1 -0
- package/dist/core/appmode/app.mode.module.d.ts +6 -0
- package/dist/core/appmode/app.mode.module.d.ts.map +1 -0
- package/dist/core/appmode/app.mode.module.js +47 -0
- package/dist/core/appmode/app.mode.module.js.map +1 -0
- package/dist/core/appmode/constants/app.mode.constant.d.ts +2 -0
- package/dist/core/appmode/constants/app.mode.constant.d.ts.map +1 -0
- package/dist/core/appmode/constants/app.mode.constant.js +8 -0
- package/dist/core/appmode/constants/app.mode.constant.js.map +1 -0
- package/dist/core/appmode/index.d.ts +8 -0
- package/dist/core/appmode/index.d.ts.map +1 -0
- package/dist/core/appmode/index.js +24 -0
- package/dist/core/appmode/index.js.map +1 -0
- package/dist/core/blocknote/blocknote.module.d.ts +22 -0
- package/dist/core/blocknote/blocknote.module.d.ts.map +1 -0
- package/dist/core/blocknote/blocknote.module.js +40 -0
- package/dist/core/blocknote/blocknote.module.js.map +1 -0
- package/dist/core/blocknote/index.d.ts +3 -0
- package/dist/core/blocknote/index.d.ts.map +1 -0
- package/dist/core/blocknote/index.js +19 -0
- package/dist/core/blocknote/index.js.map +1 -0
- package/dist/core/blocknote/services/blocknote.service.d.ts +53 -0
- package/dist/core/blocknote/services/blocknote.service.d.ts.map +1 -0
- package/dist/core/blocknote/services/blocknote.service.js +337 -0
- package/dist/core/blocknote/services/blocknote.service.js.map +1 -0
- package/dist/core/cache/cache.module.d.ts +3 -0
- package/dist/core/cache/cache.module.d.ts.map +1 -0
- package/dist/core/cache/cache.module.js +22 -0
- package/dist/core/cache/cache.module.js.map +1 -0
- package/dist/core/cache/index.d.ts +9 -0
- package/dist/core/cache/index.d.ts.map +1 -0
- package/dist/core/cache/index.js +25 -0
- package/dist/core/cache/index.js.map +1 -0
- package/dist/core/cache/interceptors/cache.interceptor.d.ts +16 -0
- package/dist/core/cache/interceptors/cache.interceptor.d.ts.map +1 -0
- package/dist/core/cache/interceptors/cache.interceptor.js +87 -0
- package/dist/core/cache/interceptors/cache.interceptor.js.map +1 -0
- package/dist/core/cache/services/cache.service.d.ts +36 -0
- package/dist/core/cache/services/cache.service.d.ts.map +1 -0
- package/dist/core/cache/services/cache.service.js +256 -0
- package/dist/core/cache/services/cache.service.js.map +1 -0
- package/dist/core/core.module.d.ts +36 -0
- package/dist/core/core.module.d.ts.map +1 -0
- package/dist/core/core.module.js +149 -0
- package/dist/core/core.module.js.map +1 -0
- package/dist/core/cors/cors.module.d.ts +12 -0
- package/dist/core/cors/cors.module.d.ts.map +1 -0
- package/dist/core/cors/cors.module.js +48 -0
- package/dist/core/cors/cors.module.js.map +1 -0
- package/dist/core/cors/index.d.ts +9 -0
- package/dist/core/cors/index.d.ts.map +1 -0
- package/dist/core/cors/index.js +27 -0
- package/dist/core/cors/index.js.map +1 -0
- package/dist/core/cors/services/cors.service.d.ts +17 -0
- package/dist/core/cors/services/cors.service.d.ts.map +1 -0
- package/dist/core/cors/services/cors.service.js +115 -0
- package/dist/core/cors/services/cors.service.js.map +1 -0
- package/dist/core/debug/debug.module.d.ts +26 -0
- package/dist/core/debug/debug.module.d.ts.map +1 -0
- package/dist/core/debug/debug.module.js +45 -0
- package/dist/core/debug/debug.module.js.map +1 -0
- package/dist/core/debug/index.d.ts +3 -0
- package/dist/core/debug/index.d.ts.map +1 -0
- package/dist/core/debug/index.js +19 -0
- package/dist/core/debug/index.js.map +1 -0
- package/dist/core/debug/services/debug.logger.service.d.ts +138 -0
- package/dist/core/debug/services/debug.logger.service.d.ts.map +1 -0
- package/dist/core/debug/services/debug.logger.service.js +350 -0
- package/dist/core/debug/services/debug.logger.service.js.map +1 -0
- package/dist/core/email/email.module.d.ts +12 -0
- package/dist/core/email/email.module.d.ts.map +1 -0
- package/dist/core/email/email.module.js +48 -0
- package/dist/core/email/email.module.js.map +1 -0
- package/dist/core/email/index.d.ts +9 -0
- package/dist/core/email/index.d.ts.map +1 -0
- package/dist/core/email/index.js +27 -0
- package/dist/core/email/index.js.map +1 -0
- package/dist/core/email/services/email.service.d.ts +18 -0
- package/dist/core/email/services/email.service.d.ts.map +1 -0
- package/dist/core/email/services/email.service.js +217 -0
- package/dist/core/email/services/email.service.js.map +1 -0
- package/dist/core/index.d.ts +31 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +52 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/jsonapi/abstracts/abstract.jsonapi.serialiser.d.ts +26 -0
- package/dist/core/jsonapi/abstracts/abstract.jsonapi.serialiser.d.ts.map +1 -0
- package/dist/core/jsonapi/abstracts/abstract.jsonapi.serialiser.js +78 -0
- package/dist/core/jsonapi/abstracts/abstract.jsonapi.serialiser.js.map +1 -0
- package/dist/core/jsonapi/factories/dynamic.relationship.factory.d.ts +7 -0
- package/dist/core/jsonapi/factories/dynamic.relationship.factory.d.ts.map +1 -0
- package/dist/core/jsonapi/factories/dynamic.relationship.factory.js +61 -0
- package/dist/core/jsonapi/factories/dynamic.relationship.factory.js.map +1 -0
- package/dist/core/jsonapi/factories/jsonapi.serialiser.factory.d.ts +10 -0
- package/dist/core/jsonapi/factories/jsonapi.serialiser.factory.d.ts.map +1 -0
- package/dist/core/jsonapi/factories/jsonapi.serialiser.factory.js +43 -0
- package/dist/core/jsonapi/factories/jsonapi.serialiser.factory.js.map +1 -0
- package/dist/core/jsonapi/index.d.ts +20 -0
- package/dist/core/jsonapi/index.d.ts.map +1 -0
- package/dist/core/jsonapi/index.js +46 -0
- package/dist/core/jsonapi/index.js.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.cursor.interface.d.ts +5 -0
- package/dist/core/jsonapi/interfaces/jsonapi.cursor.interface.d.ts.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.cursor.interface.js +3 -0
- package/dist/core/jsonapi/interfaces/jsonapi.cursor.interface.js.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.data.interface.d.ts +31 -0
- package/dist/core/jsonapi/interfaces/jsonapi.data.interface.d.ts.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.data.interface.js +3 -0
- package/dist/core/jsonapi/interfaces/jsonapi.data.interface.js.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.pagination.interface.d.ts +8 -0
- package/dist/core/jsonapi/interfaces/jsonapi.pagination.interface.d.ts.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.pagination.interface.js +3 -0
- package/dist/core/jsonapi/interfaces/jsonapi.pagination.interface.js.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.relationship.builder.interface.d.ts +5 -0
- package/dist/core/jsonapi/interfaces/jsonapi.relationship.builder.interface.d.ts.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.relationship.builder.interface.js +3 -0
- package/dist/core/jsonapi/interfaces/jsonapi.relationship.builder.interface.js.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.service.interface.d.ts +8 -0
- package/dist/core/jsonapi/interfaces/jsonapi.service.interface.d.ts.map +1 -0
- package/dist/core/jsonapi/interfaces/jsonapi.service.interface.js +3 -0
- package/dist/core/jsonapi/interfaces/jsonapi.service.interface.js.map +1 -0
- package/dist/core/jsonapi/jsonapi.module.d.ts +12 -0
- package/dist/core/jsonapi/jsonapi.module.d.ts.map +1 -0
- package/dist/core/jsonapi/jsonapi.module.js +50 -0
- package/dist/core/jsonapi/jsonapi.module.js.map +1 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.d.ts +28 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.d.ts.map +1 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js +121 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js.map +1 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.d.ts +29 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.d.ts.map +1 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.js +183 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.js.map +1 -0
- package/dist/core/jsonapi/services/jsonapi.service.d.ts +26 -0
- package/dist/core/jsonapi/services/jsonapi.service.d.ts.map +1 -0
- package/dist/core/jsonapi/services/jsonapi.service.js +277 -0
- package/dist/core/jsonapi/services/jsonapi.service.js.map +1 -0
- package/dist/core/jsonapi/types/JsonApiIncludedFields.d.ts +5 -0
- package/dist/core/jsonapi/types/JsonApiIncludedFields.d.ts.map +1 -0
- package/dist/core/jsonapi/types/JsonApiIncludedFields.js +3 -0
- package/dist/core/jsonapi/types/JsonApiIncludedFields.js.map +1 -0
- package/dist/core/llm/abstracts/abstract.tools.d.ts +62 -0
- package/dist/core/llm/abstracts/abstract.tools.d.ts.map +1 -0
- package/dist/core/llm/abstracts/abstract.tools.js +69 -0
- package/dist/core/llm/abstracts/abstract.tools.js.map +1 -0
- package/dist/core/llm/index.d.ts +8 -0
- package/dist/core/llm/index.d.ts.map +1 -0
- package/dist/core/llm/index.js +24 -0
- package/dist/core/llm/index.js.map +1 -0
- package/dist/core/llm/llm.module.d.ts +16 -0
- package/dist/core/llm/llm.module.d.ts.map +1 -0
- package/dist/core/llm/llm.module.js +39 -0
- package/dist/core/llm/llm.module.js.map +1 -0
- package/dist/core/llm/services/embedder.service.d.ts +10 -0
- package/dist/core/llm/services/embedder.service.d.ts.map +1 -0
- package/dist/core/llm/services/embedder.service.js +31 -0
- package/dist/core/llm/services/embedder.service.js.map +1 -0
- package/dist/core/llm/services/llm.service.d.ts +196 -0
- package/dist/core/llm/services/llm.service.d.ts.map +1 -0
- package/dist/core/llm/services/llm.service.js +457 -0
- package/dist/core/llm/services/llm.service.js.map +1 -0
- package/dist/core/llm/services/model.service.d.ts +60 -0
- package/dist/core/llm/services/model.service.d.ts.map +1 -0
- package/dist/core/llm/services/model.service.js +215 -0
- package/dist/core/llm/services/model.service.js.map +1 -0
- package/dist/core/llm/services/vision.llm.service.d.ts +47 -0
- package/dist/core/llm/services/vision.llm.service.d.ts.map +1 -0
- package/dist/core/llm/services/vision.llm.service.js +105 -0
- package/dist/core/llm/services/vision.llm.service.js.map +1 -0
- package/dist/core/llm/types/llm.atomicfact.d.ts +6 -0
- package/dist/core/llm/types/llm.atomicfact.d.ts.map +1 -0
- package/dist/core/llm/types/llm.atomicfact.js +3 -0
- package/dist/core/llm/types/llm.atomicfact.js.map +1 -0
- package/dist/core/llm/types/llm.chunk.d.ts +8 -0
- package/dist/core/llm/types/llm.chunk.d.ts.map +1 -0
- package/dist/core/llm/types/llm.chunk.js +3 -0
- package/dist/core/llm/types/llm.chunk.js.map +1 -0
- package/dist/core/llm/types/llm.keyconcept.d.ts +4 -0
- package/dist/core/llm/types/llm.keyconcept.d.ts.map +1 -0
- package/dist/core/llm/types/llm.keyconcept.js +3 -0
- package/dist/core/llm/types/llm.keyconcept.js.map +1 -0
- package/dist/core/llm/types/llm.keyconcept.relationship.d.ts +8 -0
- package/dist/core/llm/types/llm.keyconcept.relationship.d.ts.map +1 -0
- package/dist/core/llm/types/llm.keyconcept.relationship.js +3 -0
- package/dist/core/llm/types/llm.keyconcept.relationship.js.map +1 -0
- package/dist/core/llm/utils/schema.utils.d.ts +89 -0
- package/dist/core/llm/utils/schema.utils.d.ts.map +1 -0
- package/dist/core/llm/utils/schema.utils.js +155 -0
- package/dist/core/llm/utils/schema.utils.js.map +1 -0
- package/dist/core/llm/utils/tools.utils.d.ts +56 -0
- package/dist/core/llm/utils/tools.utils.d.ts.map +1 -0
- package/dist/core/llm/utils/tools.utils.js +74 -0
- package/dist/core/llm/utils/tools.utils.js.map +1 -0
- package/dist/core/logging/index.d.ts +11 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +30 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/logging/interceptors/logging.interceptor.d.ts +12 -0
- package/dist/core/logging/interceptors/logging.interceptor.d.ts.map +1 -0
- package/dist/core/logging/interceptors/logging.interceptor.js +82 -0
- package/dist/core/logging/interceptors/logging.interceptor.js.map +1 -0
- package/dist/core/logging/interfaces/logging.interface.d.ts +35 -0
- package/dist/core/logging/interfaces/logging.interface.d.ts.map +1 -0
- package/dist/core/logging/interfaces/logging.interface.js +3 -0
- package/dist/core/logging/interfaces/logging.interface.js.map +1 -0
- package/dist/core/logging/logging.module.d.ts +3 -0
- package/dist/core/logging/logging.module.d.ts.map +1 -0
- package/dist/core/logging/logging.module.js +23 -0
- package/dist/core/logging/logging.module.js.map +1 -0
- package/dist/core/logging/services/logging.service.d.ts +32 -0
- package/dist/core/logging/services/logging.service.d.ts.map +1 -0
- package/dist/core/logging/services/logging.service.js +373 -0
- package/dist/core/logging/services/logging.service.js.map +1 -0
- package/dist/core/migrator/index.d.ts +4 -0
- package/dist/core/migrator/index.d.ts.map +1 -0
- package/dist/core/migrator/index.js +20 -0
- package/dist/core/migrator/index.js.map +1 -0
- package/dist/core/migrator/interfaces/migration.interface.d.ts +5 -0
- package/dist/core/migrator/interfaces/migration.interface.d.ts.map +1 -0
- package/dist/core/migrator/interfaces/migration.interface.js +3 -0
- package/dist/core/migrator/interfaces/migration.interface.js.map +1 -0
- package/dist/core/migrator/migrator.module.d.ts +27 -0
- package/dist/core/migrator/migrator.module.d.ts.map +1 -0
- package/dist/core/migrator/migrator.module.js +46 -0
- package/dist/core/migrator/migrator.module.js.map +1 -0
- package/dist/core/migrator/services/migrator.service.d.ts +40 -0
- package/dist/core/migrator/services/migrator.service.d.ts.map +1 -0
- package/dist/core/migrator/services/migrator.service.js +195 -0
- package/dist/core/migrator/services/migrator.service.js.map +1 -0
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts +133 -0
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -0
- package/dist/core/neo4j/abstracts/abstract.repository.js +509 -0
- package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -0
- package/dist/core/neo4j/abstracts/abstract.service.d.ts +166 -0
- package/dist/core/neo4j/abstracts/abstract.service.d.ts.map +1 -0
- package/dist/core/neo4j/abstracts/abstract.service.js +223 -0
- package/dist/core/neo4j/abstracts/abstract.service.js.map +1 -0
- package/dist/core/neo4j/abstracts/index.d.ts +3 -0
- package/dist/core/neo4j/abstracts/index.d.ts.map +1 -0
- package/dist/core/neo4j/abstracts/index.js +19 -0
- package/dist/core/neo4j/abstracts/index.js.map +1 -0
- package/dist/core/neo4j/factories/entity.factory.d.ts +17 -0
- package/dist/core/neo4j/factories/entity.factory.d.ts.map +1 -0
- package/dist/core/neo4j/factories/entity.factory.js +401 -0
- package/dist/core/neo4j/factories/entity.factory.js.map +1 -0
- package/dist/core/neo4j/index.d.ts +16 -0
- package/dist/core/neo4j/index.d.ts.map +1 -0
- package/dist/core/neo4j/index.js +41 -0
- package/dist/core/neo4j/index.js.map +1 -0
- package/dist/core/neo4j/neo4j.module.d.ts +3 -0
- package/dist/core/neo4j/neo4j.module.d.ts.map +1 -0
- package/dist/core/neo4j/neo4j.module.js +24 -0
- package/dist/core/neo4j/neo4j.module.js.map +1 -0
- package/dist/core/neo4j/queries/order.by.d.ts +11 -0
- package/dist/core/neo4j/queries/order.by.d.ts.map +1 -0
- package/dist/core/neo4j/queries/order.by.js +36 -0
- package/dist/core/neo4j/queries/order.by.js.map +1 -0
- package/dist/core/neo4j/queries/update.relationship.d.ts +15 -0
- package/dist/core/neo4j/queries/update.relationship.d.ts.map +1 -0
- package/dist/core/neo4j/queries/update.relationship.js +57 -0
- package/dist/core/neo4j/queries/update.relationship.js.map +1 -0
- package/dist/core/neo4j/services/cypher.service.d.ts +21 -0
- package/dist/core/neo4j/services/cypher.service.d.ts.map +1 -0
- package/dist/core/neo4j/services/cypher.service.js +49 -0
- package/dist/core/neo4j/services/cypher.service.js.map +1 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts +59 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -0
- package/dist/core/neo4j/services/neo4j.service.js +266 -0
- package/dist/core/neo4j/services/neo4j.service.js.map +1 -0
- package/dist/core/neo4j/services/token-resolver.service.d.ts +35 -0
- package/dist/core/neo4j/services/token-resolver.service.d.ts.map +1 -0
- package/dist/core/neo4j/services/token-resolver.service.js +100 -0
- package/dist/core/neo4j/services/token-resolver.service.js.map +1 -0
- package/dist/core/queue/index.d.ts +7 -0
- package/dist/core/queue/index.d.ts.map +1 -0
- package/dist/core/queue/index.js +24 -0
- package/dist/core/queue/index.js.map +1 -0
- package/dist/core/queue/queue.module.d.ts +19 -0
- package/dist/core/queue/queue.module.d.ts.map +1 -0
- package/dist/core/queue/queue.module.js +109 -0
- package/dist/core/queue/queue.module.js.map +1 -0
- package/dist/core/redis/index.d.ts +9 -0
- package/dist/core/redis/index.d.ts.map +1 -0
- package/dist/core/redis/index.js +25 -0
- package/dist/core/redis/index.js.map +1 -0
- package/dist/core/redis/redis.module.d.ts +3 -0
- package/dist/core/redis/redis.module.d.ts.map +1 -0
- package/dist/core/redis/redis.module.js +22 -0
- package/dist/core/redis/redis.module.js.map +1 -0
- package/dist/core/redis/services/redis.client.storage.service.d.ts +31 -0
- package/dist/core/redis/services/redis.client.storage.service.d.ts.map +1 -0
- package/dist/core/redis/services/redis.client.storage.service.js +162 -0
- package/dist/core/redis/services/redis.client.storage.service.js.map +1 -0
- package/dist/core/redis/services/redis.messaging.service.d.ts +28 -0
- package/dist/core/redis/services/redis.messaging.service.d.ts.map +1 -0
- package/dist/core/redis/services/redis.messaging.service.js +120 -0
- package/dist/core/redis/services/redis.messaging.service.js.map +1 -0
- package/dist/core/security/index.d.ts +8 -0
- package/dist/core/security/index.d.ts.map +1 -0
- package/dist/core/security/index.js +24 -0
- package/dist/core/security/index.js.map +1 -0
- package/dist/core/security/security.module.d.ts +3 -0
- package/dist/core/security/security.module.d.ts.map +1 -0
- package/dist/core/security/security.module.js +26 -0
- package/dist/core/security/security.module.js.map +1 -0
- package/dist/core/security/services/security.service.d.ts +30 -0
- package/dist/core/security/services/security.service.d.ts.map +1 -0
- package/dist/core/security/services/security.service.js +109 -0
- package/dist/core/security/services/security.service.js.map +1 -0
- package/dist/core/stripe/errors/stripe.errors.d.ts +9 -0
- package/dist/core/stripe/errors/stripe.errors.d.ts.map +1 -0
- package/dist/core/stripe/errors/stripe.errors.js +54 -0
- package/dist/core/stripe/errors/stripe.errors.js.map +1 -0
- package/dist/core/stripe/index.d.ts +12 -0
- package/dist/core/stripe/index.d.ts.map +1 -0
- package/dist/core/stripe/index.js +28 -0
- package/dist/core/stripe/index.js.map +1 -0
- package/dist/core/stripe/services/stripe.customer.service.d.ts +25 -0
- package/dist/core/stripe/services/stripe.customer.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.customer.service.js +124 -0
- package/dist/core/stripe/services/stripe.customer.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.invoice.service.d.ts +20 -0
- package/dist/core/stripe/services/stripe.invoice.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.invoice.service.js +102 -0
- package/dist/core/stripe/services/stripe.invoice.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.payment.service.d.ts +25 -0
- package/dist/core/stripe/services/stripe.payment.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.payment.service.js +111 -0
- package/dist/core/stripe/services/stripe.payment.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.portal.service.d.ts +8 -0
- package/dist/core/stripe/services/stripe.portal.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.portal.service.js +44 -0
- package/dist/core/stripe/services/stripe.portal.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.product.service.d.ts +46 -0
- package/dist/core/stripe/services/stripe.product.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.product.service.js +161 -0
- package/dist/core/stripe/services/stripe.product.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.service.d.ts +36 -0
- package/dist/core/stripe/services/stripe.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.service.js +89 -0
- package/dist/core/stripe/services/stripe.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.subscription.service.d.ts +26 -0
- package/dist/core/stripe/services/stripe.subscription.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.subscription.service.js +166 -0
- package/dist/core/stripe/services/stripe.subscription.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.usage.service.d.ts +35 -0
- package/dist/core/stripe/services/stripe.usage.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.usage.service.js +100 -0
- package/dist/core/stripe/services/stripe.usage.service.js.map +1 -0
- package/dist/core/stripe/services/stripe.webhook.service.d.ts +24 -0
- package/dist/core/stripe/services/stripe.webhook.service.d.ts.map +1 -0
- package/dist/core/stripe/services/stripe.webhook.service.js +63 -0
- package/dist/core/stripe/services/stripe.webhook.service.js.map +1 -0
- package/dist/core/stripe/stripe.module.d.ts +21 -0
- package/dist/core/stripe/stripe.module.d.ts.map +1 -0
- package/dist/core/stripe/stripe.module.js +66 -0
- package/dist/core/stripe/stripe.module.js.map +1 -0
- package/dist/core/tracing/index.d.ts +12 -0
- package/dist/core/tracing/index.d.ts.map +1 -0
- package/dist/core/tracing/index.js +33 -0
- package/dist/core/tracing/index.js.map +1 -0
- package/dist/core/tracing/interceptors/tracing.interceptor.d.ts +9 -0
- package/dist/core/tracing/interceptors/tracing.interceptor.d.ts.map +1 -0
- package/dist/core/tracing/interceptors/tracing.interceptor.js +119 -0
- package/dist/core/tracing/interceptors/tracing.interceptor.js.map +1 -0
- package/dist/core/tracing/interfaces/tracing.interface.d.ts +14 -0
- package/dist/core/tracing/interfaces/tracing.interface.d.ts.map +1 -0
- package/dist/core/tracing/interfaces/tracing.interface.js +3 -0
- package/dist/core/tracing/interfaces/tracing.interface.js.map +1 -0
- package/dist/core/tracing/services/tracing.service.d.ts +74 -0
- package/dist/core/tracing/services/tracing.service.d.ts.map +1 -0
- package/dist/core/tracing/services/tracing.service.js +262 -0
- package/dist/core/tracing/services/tracing.service.js.map +1 -0
- package/dist/core/tracing/tracing.module.d.ts +12 -0
- package/dist/core/tracing/tracing.module.d.ts.map +1 -0
- package/dist/core/tracing/tracing.module.js +46 -0
- package/dist/core/tracing/tracing.module.js.map +1 -0
- package/dist/core/tracing/tracing.setup.d.ts +17 -0
- package/dist/core/tracing/tracing.setup.d.ts.map +1 -0
- package/dist/core/tracing/tracing.setup.js +94 -0
- package/dist/core/tracing/tracing.setup.js.map +1 -0
- package/dist/core/version/index.d.ts +3 -0
- package/dist/core/version/index.d.ts.map +1 -0
- package/dist/core/version/index.js +19 -0
- package/dist/core/version/index.js.map +1 -0
- package/dist/core/version/services/version.service.d.ts +6 -0
- package/dist/core/version/services/version.service.d.ts.map +1 -0
- package/dist/core/version/services/version.service.js +27 -0
- package/dist/core/version/services/version.service.js.map +1 -0
- package/dist/core/version/version.module.d.ts +5 -0
- package/dist/core/version/version.module.d.ts.map +1 -0
- package/dist/core/version/version.module.js +27 -0
- package/dist/core/version/version.module.js.map +1 -0
- package/dist/core/websocket/gateways/event.gateway.d.ts +41 -0
- package/dist/core/websocket/gateways/event.gateway.d.ts.map +1 -0
- package/dist/core/websocket/gateways/event.gateway.js +164 -0
- package/dist/core/websocket/gateways/event.gateway.js.map +1 -0
- package/dist/core/websocket/guards/ws.jwt.auth.guard.d.ts +13 -0
- package/dist/core/websocket/guards/ws.jwt.auth.guard.d.ts.map +1 -0
- package/dist/core/websocket/guards/ws.jwt.auth.guard.js +62 -0
- package/dist/core/websocket/guards/ws.jwt.auth.guard.js.map +1 -0
- package/dist/core/websocket/index.d.ts +4 -0
- package/dist/core/websocket/index.d.ts.map +1 -0
- package/dist/core/websocket/index.js +20 -0
- package/dist/core/websocket/index.js.map +1 -0
- package/dist/core/websocket/services/presence.service.d.ts +59 -0
- package/dist/core/websocket/services/presence.service.d.ts.map +1 -0
- package/dist/core/websocket/services/presence.service.js +255 -0
- package/dist/core/websocket/services/presence.service.js.map +1 -0
- package/dist/core/websocket/services/websocket.service.d.ts +45 -0
- package/dist/core/websocket/services/websocket.service.d.ts.map +1 -0
- package/dist/core/websocket/services/websocket.service.js +169 -0
- package/dist/core/websocket/services/websocket.service.js.map +1 -0
- package/dist/core/websocket/websocket.module.d.ts +25 -0
- package/dist/core/websocket/websocket.module.d.ts.map +1 -0
- package/dist/core/websocket/websocket.module.js +57 -0
- package/dist/core/websocket/websocket.module.js.map +1 -0
- package/dist/foundations/atomicfact/atomicfact.module.d.ts +5 -0
- package/dist/foundations/atomicfact/atomicfact.module.d.ts.map +1 -0
- package/dist/foundations/atomicfact/atomicfact.module.js +29 -0
- package/dist/foundations/atomicfact/atomicfact.module.js.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.entity.d.ts +7 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.entity.d.ts.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.entity.js +3 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.entity.js.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.map.d.ts +8 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.map.d.ts.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.map.js +13 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.map.js.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.meta.d.ts +3 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.meta.d.ts.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.meta.js +10 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.meta.js.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.model.d.ts +4 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.model.d.ts.map +1 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.model.js +13 -0
- package/dist/foundations/atomicfact/entities/atomic.fact.model.js.map +1 -0
- package/dist/foundations/atomicfact/index.d.ts +4 -0
- package/dist/foundations/atomicfact/index.d.ts.map +1 -0
- package/dist/foundations/atomicfact/index.js +8 -0
- package/dist/foundations/atomicfact/index.js.map +1 -0
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts +32 -0
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.d.ts.map +1 -0
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.js +111 -0
- package/dist/foundations/atomicfact/repositories/atomicfact.repository.js.map +1 -0
- package/dist/foundations/atomicfact/services/atomicfact.service.d.ts +14 -0
- package/dist/foundations/atomicfact/services/atomicfact.service.d.ts.map +1 -0
- package/dist/foundations/atomicfact/services/atomicfact.service.js +47 -0
- package/dist/foundations/atomicfact/services/atomicfact.service.js.map +1 -0
- package/dist/foundations/audit/audit.module.d.ts +5 -0
- package/dist/foundations/audit/audit.module.d.ts.map +1 -0
- package/dist/foundations/audit/audit.module.js +33 -0
- package/dist/foundations/audit/audit.module.js.map +1 -0
- package/dist/foundations/audit/controllers/audit.controller.d.ts +9 -0
- package/dist/foundations/audit/controllers/audit.controller.d.ts.map +1 -0
- package/dist/foundations/audit/controllers/audit.controller.js +47 -0
- package/dist/foundations/audit/controllers/audit.controller.js.map +1 -0
- package/dist/foundations/audit/entities/audit.entity.d.ts +8 -0
- package/dist/foundations/audit/entities/audit.entity.d.ts.map +1 -0
- package/dist/foundations/audit/entities/audit.entity.js +3 -0
- package/dist/foundations/audit/entities/audit.entity.js.map +1 -0
- package/dist/foundations/audit/entities/audit.map.d.ts +8 -0
- package/dist/foundations/audit/entities/audit.map.d.ts.map +1 -0
- package/dist/foundations/audit/entities/audit.map.js +15 -0
- package/dist/foundations/audit/entities/audit.map.js.map +1 -0
- package/dist/foundations/audit/entities/audit.meta.d.ts +3 -0
- package/dist/foundations/audit/entities/audit.meta.d.ts.map +1 -0
- package/dist/foundations/audit/entities/audit.meta.js +10 -0
- package/dist/foundations/audit/entities/audit.meta.js.map +1 -0
- package/dist/foundations/audit/entities/audit.model.d.ts +4 -0
- package/dist/foundations/audit/entities/audit.model.d.ts.map +1 -0
- package/dist/foundations/audit/entities/audit.model.js +17 -0
- package/dist/foundations/audit/entities/audit.model.js.map +1 -0
- package/dist/foundations/audit/index.d.ts +7 -0
- package/dist/foundations/audit/index.d.ts.map +1 -0
- package/dist/foundations/audit/index.js +14 -0
- package/dist/foundations/audit/index.js.map +1 -0
- package/dist/foundations/audit/repositories/audit.repository.d.ts +20 -0
- package/dist/foundations/audit/repositories/audit.repository.d.ts.map +1 -0
- package/dist/foundations/audit/repositories/audit.repository.js +72 -0
- package/dist/foundations/audit/repositories/audit.repository.js.map +1 -0
- package/dist/foundations/audit/serialisers/audit.serialiser.d.ts +14 -0
- package/dist/foundations/audit/serialisers/audit.serialiser.d.ts.map +1 -0
- package/dist/foundations/audit/serialisers/audit.serialiser.js +52 -0
- package/dist/foundations/audit/serialisers/audit.serialiser.js.map +1 -0
- package/dist/foundations/audit/services/audit.service.d.ts +18 -0
- package/dist/foundations/audit/services/audit.service.d.ts.map +1 -0
- package/dist/foundations/audit/services/audit.service.js +54 -0
- package/dist/foundations/audit/services/audit.service.js.map +1 -0
- package/dist/foundations/auth/auth.module.d.ts +5 -0
- package/dist/foundations/auth/auth.module.d.ts.map +1 -0
- package/dist/foundations/auth/auth.module.js +36 -0
- package/dist/foundations/auth/auth.module.js.map +1 -0
- package/dist/foundations/auth/controllers/auth.controller.d.ts +20 -0
- package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -0
- package/dist/foundations/auth/controllers/auth.controller.js +148 -0
- package/dist/foundations/auth/controllers/auth.controller.js.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.forgot.dto.d.ts +11 -0
- package/dist/foundations/auth/dtos/auth.post.forgot.dto.d.ts.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.forgot.dto.js +46 -0
- package/dist/foundations/auth/dtos/auth.post.forgot.dto.js.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.login.dto.d.ts +12 -0
- package/dist/foundations/auth/dtos/auth.post.login.dto.d.ts.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.login.dto.js +53 -0
- package/dist/foundations/auth/dtos/auth.post.login.dto.js.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts +14 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.js +60 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.js.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.resetpassword.dto.d.ts +11 -0
- package/dist/foundations/auth/dtos/auth.post.resetpassword.dto.d.ts.map +1 -0
- package/dist/foundations/auth/dtos/auth.post.resetpassword.dto.js +46 -0
- package/dist/foundations/auth/dtos/auth.post.resetpassword.dto.js.map +1 -0
- package/dist/foundations/auth/entities/auth.code.entity.d.ts +7 -0
- package/dist/foundations/auth/entities/auth.code.entity.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.code.entity.js +3 -0
- package/dist/foundations/auth/entities/auth.code.entity.js.map +1 -0
- package/dist/foundations/auth/entities/auth.code.map.d.ts +8 -0
- package/dist/foundations/auth/entities/auth.code.map.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.code.map.js +13 -0
- package/dist/foundations/auth/entities/auth.code.map.js.map +1 -0
- package/dist/foundations/auth/entities/auth.code.meta.d.ts +3 -0
- package/dist/foundations/auth/entities/auth.code.meta.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.code.meta.js +10 -0
- package/dist/foundations/auth/entities/auth.code.meta.js.map +1 -0
- package/dist/foundations/auth/entities/auth.code.model.d.ts +4 -0
- package/dist/foundations/auth/entities/auth.code.model.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.code.model.js +13 -0
- package/dist/foundations/auth/entities/auth.code.model.js.map +1 -0
- package/dist/foundations/auth/entities/auth.entity.d.ts +8 -0
- package/dist/foundations/auth/entities/auth.entity.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.entity.js +3 -0
- package/dist/foundations/auth/entities/auth.entity.js.map +1 -0
- package/dist/foundations/auth/entities/auth.map.d.ts +8 -0
- package/dist/foundations/auth/entities/auth.map.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.map.js +14 -0
- package/dist/foundations/auth/entities/auth.map.js.map +1 -0
- package/dist/foundations/auth/entities/auth.meta.d.ts +3 -0
- package/dist/foundations/auth/entities/auth.meta.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.meta.js +10 -0
- package/dist/foundations/auth/entities/auth.meta.js.map +1 -0
- package/dist/foundations/auth/entities/auth.model.d.ts +4 -0
- package/dist/foundations/auth/entities/auth.model.d.ts.map +1 -0
- package/dist/foundations/auth/entities/auth.model.js +15 -0
- package/dist/foundations/auth/entities/auth.model.js.map +1 -0
- package/dist/foundations/auth/index.d.ts +2 -0
- package/dist/foundations/auth/index.d.ts.map +1 -0
- package/dist/foundations/auth/index.js +6 -0
- package/dist/foundations/auth/index.js.map +1 -0
- package/dist/foundations/auth/repositories/auth.repository.d.ts +75 -0
- package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -0
- package/dist/foundations/auth/repositories/auth.repository.js +581 -0
- package/dist/foundations/auth/repositories/auth.repository.js.map +1 -0
- package/dist/foundations/auth/serialisers/auth.serialiser.d.ts +13 -0
- package/dist/foundations/auth/serialisers/auth.serialiser.d.ts.map +1 -0
- package/dist/foundations/auth/serialisers/auth.serialiser.js +48 -0
- package/dist/foundations/auth/serialisers/auth.serialiser.js.map +1 -0
- package/dist/foundations/auth/services/auth.service.d.ts +67 -0
- package/dist/foundations/auth/services/auth.service.d.ts.map +1 -0
- package/dist/foundations/auth/services/auth.service.js +260 -0
- package/dist/foundations/auth/services/auth.service.js.map +1 -0
- package/dist/foundations/chunk/chunk.module.d.ts +12 -0
- package/dist/foundations/chunk/chunk.module.d.ts.map +1 -0
- package/dist/foundations/chunk/chunk.module.js +46 -0
- package/dist/foundations/chunk/chunk.module.js.map +1 -0
- package/dist/foundations/chunk/controllers/chunk.controller.d.ts +7 -0
- package/dist/foundations/chunk/controllers/chunk.controller.d.ts.map +1 -0
- package/dist/foundations/chunk/controllers/chunk.controller.js +41 -0
- package/dist/foundations/chunk/controllers/chunk.controller.js.map +1 -0
- package/dist/foundations/chunk/entities/chunk.entity.d.ts +12 -0
- package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -0
- package/dist/foundations/chunk/entities/chunk.entity.js +3 -0
- package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -0
- package/dist/foundations/chunk/entities/chunk.map.d.ts +8 -0
- package/dist/foundations/chunk/entities/chunk.map.d.ts.map +1 -0
- package/dist/foundations/chunk/entities/chunk.map.js +31 -0
- package/dist/foundations/chunk/entities/chunk.map.js.map +1 -0
- package/dist/foundations/chunk/entities/chunk.meta.d.ts +3 -0
- package/dist/foundations/chunk/entities/chunk.meta.d.ts.map +1 -0
- package/dist/foundations/chunk/entities/chunk.meta.js +10 -0
- package/dist/foundations/chunk/entities/chunk.meta.js.map +1 -0
- package/dist/foundations/chunk/entities/chunk.model.d.ts +4 -0
- package/dist/foundations/chunk/entities/chunk.model.d.ts.map +1 -0
- package/dist/foundations/chunk/entities/chunk.model.js +13 -0
- package/dist/foundations/chunk/entities/chunk.model.js.map +1 -0
- package/dist/foundations/chunk/index.d.ts +7 -0
- package/dist/foundations/chunk/index.d.ts.map +1 -0
- package/dist/foundations/chunk/index.js +14 -0
- package/dist/foundations/chunk/index.js.map +1 -0
- package/dist/foundations/chunk/processors/chunk.processor.d.ts +21 -0
- package/dist/foundations/chunk/processors/chunk.processor.d.ts.map +1 -0
- package/dist/foundations/chunk/processors/chunk.processor.js +83 -0
- package/dist/foundations/chunk/processors/chunk.processor.js.map +1 -0
- package/dist/foundations/chunk/repositories/chunk.repository.d.ts +69 -0
- package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -0
- package/dist/foundations/chunk/repositories/chunk.repository.js +259 -0
- package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -0
- package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts +14 -0
- package/dist/foundations/chunk/serialisers/chunk.serialiser.d.ts.map +1 -0
- package/dist/foundations/chunk/serialisers/chunk.serialiser.js +54 -0
- package/dist/foundations/chunk/serialisers/chunk.serialiser.js.map +1 -0
- package/dist/foundations/chunk/services/chunk.service.d.ts +61 -0
- package/dist/foundations/chunk/services/chunk.service.d.ts.map +1 -0
- package/dist/foundations/chunk/services/chunk.service.js +282 -0
- package/dist/foundations/chunk/services/chunk.service.js.map +1 -0
- package/dist/foundations/chunker/chunker.module.d.ts +3 -0
- package/dist/foundations/chunker/chunker.module.d.ts.map +1 -0
- package/dist/foundations/chunker/chunker.module.js +38 -0
- package/dist/foundations/chunker/chunker.module.js.map +1 -0
- package/dist/foundations/chunker/constants/file.types.d.ts +3 -0
- package/dist/foundations/chunker/constants/file.types.d.ts.map +1 -0
- package/dist/foundations/chunker/constants/file.types.js +9 -0
- package/dist/foundations/chunker/constants/file.types.js.map +1 -0
- package/dist/foundations/chunker/index.d.ts +4 -0
- package/dist/foundations/chunker/index.d.ts.map +1 -0
- package/dist/foundations/chunker/index.js +20 -0
- package/dist/foundations/chunker/index.js.map +1 -0
- package/dist/foundations/chunker/loaders/json.loader.d.ts +23 -0
- package/dist/foundations/chunker/loaders/json.loader.d.ts.map +1 -0
- package/dist/foundations/chunker/loaders/json.loader.js +113 -0
- package/dist/foundations/chunker/loaders/json.loader.js.map +1 -0
- package/dist/foundations/chunker/loaders/text.loader.d.ts +12 -0
- package/dist/foundations/chunker/loaders/text.loader.d.ts.map +1 -0
- package/dist/foundations/chunker/loaders/text.loader.js +56 -0
- package/dist/foundations/chunker/loaders/text.loader.js.map +1 -0
- package/dist/foundations/chunker/services/chunker.service.d.ts +36 -0
- package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/chunker.service.js +371 -0
- package/dist/foundations/chunker/services/chunker.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/docx.service.d.ts +26 -0
- package/dist/foundations/chunker/services/types/docx.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/docx.service.js +501 -0
- package/dist/foundations/chunker/services/types/docx.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/imageextractor.service.d.ts +16 -0
- package/dist/foundations/chunker/services/types/imageextractor.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/imageextractor.service.js +196 -0
- package/dist/foundations/chunker/services/types/imageextractor.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/layout.extractor.d.ts +14 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/layout.extractor.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/layout.extractor.js +198 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/layout.extractor.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/table.extractor.d.ts +27 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/table.extractor.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/table.extractor.js +396 -0
- package/dist/foundations/chunker/services/types/pdf/extractors/table.extractor.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-content.interface.d.ts +89 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-content.interface.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-content.interface.js +3 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-content.interface.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.d.ts +95 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.js +3 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-layout.interface.d.ts +86 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-layout.interface.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-layout.interface.js +3 -0
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-layout.interface.js.map +1 -0
- package/dist/foundations/chunker/services/types/pdf.service.d.ts +64 -0
- package/dist/foundations/chunker/services/types/pdf.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pdf.service.js +1329 -0
- package/dist/foundations/chunker/services/types/pdf.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/pptx.service.d.ts +11 -0
- package/dist/foundations/chunker/services/types/pptx.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/pptx.service.js +161 -0
- package/dist/foundations/chunker/services/types/pptx.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/semanticsplitter.service.d.ts +40 -0
- package/dist/foundations/chunker/services/types/semanticsplitter.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/semanticsplitter.service.js +634 -0
- package/dist/foundations/chunker/services/types/semanticsplitter.service.js.map +1 -0
- package/dist/foundations/chunker/services/types/xlsx.service.d.ts +22 -0
- package/dist/foundations/chunker/services/types/xlsx.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/xlsx.service.js +284 -0
- package/dist/foundations/chunker/services/types/xlsx.service.js.map +1 -0
- package/dist/foundations/chunker/utils/file.downloader.d.ts +9 -0
- package/dist/foundations/chunker/utils/file.downloader.d.ts.map +1 -0
- package/dist/foundations/chunker/utils/file.downloader.js +58 -0
- package/dist/foundations/chunker/utils/file.downloader.js.map +1 -0
- package/dist/foundations/company/company.module.d.ts +5 -0
- package/dist/foundations/company/company.module.d.ts.map +1 -0
- package/dist/foundations/company/company.module.js +37 -0
- package/dist/foundations/company/company.module.js.map +1 -0
- package/dist/foundations/company/controllers/company.controller.d.ts +21 -0
- package/dist/foundations/company/controllers/company.controller.d.ts.map +1 -0
- package/dist/foundations/company/controllers/company.controller.js +164 -0
- package/dist/foundations/company/controllers/company.controller.js.map +1 -0
- package/dist/foundations/company/dtos/company.configurations.put.dto.d.ts +13 -0
- package/dist/foundations/company/dtos/company.configurations.put.dto.d.ts.map +1 -0
- package/dist/foundations/company/dtos/company.configurations.put.dto.js +54 -0
- package/dist/foundations/company/dtos/company.configurations.put.dto.js.map +1 -0
- package/dist/foundations/company/dtos/company.dto.d.ts +11 -0
- package/dist/foundations/company/dtos/company.dto.d.ts.map +1 -0
- package/dist/foundations/company/dtos/company.dto.js +45 -0
- package/dist/foundations/company/dtos/company.dto.js.map +1 -0
- package/dist/foundations/company/dtos/company.license.put.dto.d.ts +14 -0
- package/dist/foundations/company/dtos/company.license.put.dto.d.ts.map +1 -0
- package/dist/foundations/company/dtos/company.license.put.dto.js +59 -0
- package/dist/foundations/company/dtos/company.license.put.dto.js.map +1 -0
- package/dist/foundations/company/dtos/company.post.dto.d.ts +22 -0
- package/dist/foundations/company/dtos/company.post.dto.d.ts.map +1 -0
- package/dist/foundations/company/dtos/company.post.dto.js +87 -0
- package/dist/foundations/company/dtos/company.post.dto.js.map +1 -0
- package/dist/foundations/company/dtos/company.put.dto.d.ts +23 -0
- package/dist/foundations/company/dtos/company.put.dto.d.ts.map +1 -0
- package/dist/foundations/company/dtos/company.put.dto.js +92 -0
- package/dist/foundations/company/dtos/company.put.dto.js.map +1 -0
- package/dist/foundations/company/entities/company.entity.d.ts +17 -0
- package/dist/foundations/company/entities/company.entity.d.ts.map +1 -0
- package/dist/foundations/company/entities/company.entity.js +3 -0
- package/dist/foundations/company/entities/company.entity.js.map +1 -0
- package/dist/foundations/company/entities/company.map.d.ts +8 -0
- package/dist/foundations/company/entities/company.map.d.ts.map +1 -0
- package/dist/foundations/company/entities/company.map.js +22 -0
- package/dist/foundations/company/entities/company.map.js.map +1 -0
- package/dist/foundations/company/entities/company.meta.d.ts +3 -0
- package/dist/foundations/company/entities/company.meta.d.ts.map +1 -0
- package/dist/foundations/company/entities/company.meta.js +10 -0
- package/dist/foundations/company/entities/company.meta.js.map +1 -0
- package/dist/foundations/company/entities/company.model.d.ts +4 -0
- package/dist/foundations/company/entities/company.model.d.ts.map +1 -0
- package/dist/foundations/company/entities/company.model.js +17 -0
- package/dist/foundations/company/entities/company.model.js.map +1 -0
- package/dist/foundations/company/index.d.ts +7 -0
- package/dist/foundations/company/index.d.ts.map +1 -0
- package/dist/foundations/company/index.js +14 -0
- package/dist/foundations/company/index.js.map +1 -0
- package/dist/foundations/company/processors/company.processor.d.ts +23 -0
- package/dist/foundations/company/processors/company.processor.d.ts.map +1 -0
- package/dist/foundations/company/processors/company.processor.js +79 -0
- package/dist/foundations/company/processors/company.processor.js.map +1 -0
- package/dist/foundations/company/repositories/company.repository.d.ts +61 -0
- package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -0
- package/dist/foundations/company/repositories/company.repository.js +295 -0
- package/dist/foundations/company/repositories/company.repository.js.map +1 -0
- package/dist/foundations/company/serialisers/company.serialiser.d.ts +14 -0
- package/dist/foundations/company/serialisers/company.serialiser.d.ts.map +1 -0
- package/dist/foundations/company/serialisers/company.serialiser.js +66 -0
- package/dist/foundations/company/serialisers/company.serialiser.js.map +1 -0
- package/dist/foundations/company/services/company.service.d.ts +65 -0
- package/dist/foundations/company/services/company.service.d.ts.map +1 -0
- package/dist/foundations/company/services/company.service.js +210 -0
- package/dist/foundations/company/services/company.service.js.map +1 -0
- package/dist/foundations/content/content.module.d.ts +5 -0
- package/dist/foundations/content/content.module.d.ts.map +1 -0
- package/dist/foundations/content/content.module.js +33 -0
- package/dist/foundations/content/content.module.js.map +1 -0
- package/dist/foundations/content/controllers/content.controller.d.ts +17 -0
- package/dist/foundations/content/controllers/content.controller.d.ts.map +1 -0
- package/dist/foundations/content/controllers/content.controller.js +129 -0
- package/dist/foundations/content/controllers/content.controller.js.map +1 -0
- package/dist/foundations/content/dtos/content.dto.d.ts +11 -0
- package/dist/foundations/content/dtos/content.dto.d.ts.map +1 -0
- package/dist/foundations/content/dtos/content.dto.js +45 -0
- package/dist/foundations/content/dtos/content.dto.js.map +1 -0
- package/dist/foundations/content/entities/content.entity.d.ts +13 -0
- package/dist/foundations/content/entities/content.entity.d.ts.map +1 -0
- package/dist/foundations/content/entities/content.entity.js +3 -0
- package/dist/foundations/content/entities/content.entity.js.map +1 -0
- package/dist/foundations/content/entities/content.map.d.ts +8 -0
- package/dist/foundations/content/entities/content.map.d.ts.map +1 -0
- package/dist/foundations/content/entities/content.map.js +19 -0
- package/dist/foundations/content/entities/content.map.js.map +1 -0
- package/dist/foundations/content/entities/content.meta.d.ts +3 -0
- package/dist/foundations/content/entities/content.meta.d.ts.map +1 -0
- package/dist/foundations/content/entities/content.meta.js +10 -0
- package/dist/foundations/content/entities/content.meta.js.map +1 -0
- package/dist/foundations/content/entities/content.model.d.ts +4 -0
- package/dist/foundations/content/entities/content.model.d.ts.map +1 -0
- package/dist/foundations/content/entities/content.model.js +16 -0
- package/dist/foundations/content/entities/content.model.js.map +1 -0
- package/dist/foundations/content/index.d.ts +8 -0
- package/dist/foundations/content/index.d.ts.map +1 -0
- package/dist/foundations/content/index.js +16 -0
- package/dist/foundations/content/index.js.map +1 -0
- package/dist/foundations/content/repositories/content.repository.d.ts +33 -0
- package/dist/foundations/content/repositories/content.repository.d.ts.map +1 -0
- package/dist/foundations/content/repositories/content.repository.js +100 -0
- package/dist/foundations/content/repositories/content.repository.js.map +1 -0
- package/dist/foundations/content/serialisers/content.serialiser.d.ts +12 -0
- package/dist/foundations/content/serialisers/content.serialiser.d.ts.map +1 -0
- package/dist/foundations/content/serialisers/content.serialiser.js +53 -0
- package/dist/foundations/content/serialisers/content.serialiser.js.map +1 -0
- package/dist/foundations/content/services/content.cypher.service.d.ts +20 -0
- package/dist/foundations/content/services/content.cypher.service.d.ts.map +1 -0
- package/dist/foundations/content/services/content.cypher.service.js +65 -0
- package/dist/foundations/content/services/content.cypher.service.js.map +1 -0
- package/dist/foundations/content/services/content.service.d.ts +25 -0
- package/dist/foundations/content/services/content.service.d.ts.map +1 -0
- package/dist/foundations/content/services/content.service.js +54 -0
- package/dist/foundations/content/services/content.service.js.map +1 -0
- package/dist/foundations/feature/controllers/feature.controller.d.ts +7 -0
- package/dist/foundations/feature/controllers/feature.controller.d.ts.map +1 -0
- package/dist/foundations/feature/controllers/feature.controller.js +47 -0
- package/dist/foundations/feature/controllers/feature.controller.js.map +1 -0
- package/dist/foundations/feature/dtos/feature.dto.d.ts +11 -0
- package/dist/foundations/feature/dtos/feature.dto.d.ts.map +1 -0
- package/dist/foundations/feature/dtos/feature.dto.js +45 -0
- package/dist/foundations/feature/dtos/feature.dto.js.map +1 -0
- package/dist/foundations/feature/entities/feature.entity.d.ts +8 -0
- package/dist/foundations/feature/entities/feature.entity.d.ts.map +1 -0
- package/dist/foundations/feature/entities/feature.entity.js +3 -0
- package/dist/foundations/feature/entities/feature.entity.js.map +1 -0
- package/dist/foundations/feature/entities/feature.map.d.ts +8 -0
- package/dist/foundations/feature/entities/feature.map.d.ts.map +1 -0
- package/dist/foundations/feature/entities/feature.map.js +14 -0
- package/dist/foundations/feature/entities/feature.map.js.map +1 -0
- package/dist/foundations/feature/entities/feature.meta.d.ts +3 -0
- package/dist/foundations/feature/entities/feature.meta.d.ts.map +1 -0
- package/dist/foundations/feature/entities/feature.meta.js +10 -0
- package/dist/foundations/feature/entities/feature.meta.js.map +1 -0
- package/dist/foundations/feature/entities/feature.model.d.ts +4 -0
- package/dist/foundations/feature/entities/feature.model.d.ts.map +1 -0
- package/dist/foundations/feature/entities/feature.model.js +15 -0
- package/dist/foundations/feature/entities/feature.model.js.map +1 -0
- package/dist/foundations/feature/feature.module.d.ts +5 -0
- package/dist/foundations/feature/feature.module.d.ts.map +1 -0
- package/dist/foundations/feature/feature.module.js +30 -0
- package/dist/foundations/feature/feature.module.js.map +1 -0
- package/dist/foundations/feature/index.d.ts +2 -0
- package/dist/foundations/feature/index.d.ts.map +1 -0
- package/dist/foundations/feature/index.js +6 -0
- package/dist/foundations/feature/index.js.map +1 -0
- package/dist/foundations/feature/repositories/feature.repository.d.ts +19 -0
- package/dist/foundations/feature/repositories/feature.repository.d.ts.map +1 -0
- package/dist/foundations/feature/repositories/feature.repository.js +64 -0
- package/dist/foundations/feature/repositories/feature.repository.js.map +1 -0
- package/dist/foundations/feature/serialisers/feature.serialiser.d.ts +12 -0
- package/dist/foundations/feature/serialisers/feature.serialiser.d.ts.map +1 -0
- package/dist/foundations/feature/serialisers/feature.serialiser.js +45 -0
- package/dist/foundations/feature/serialisers/feature.serialiser.js.map +1 -0
- package/dist/foundations/feature/services/feature.service.d.ts +16 -0
- package/dist/foundations/feature/services/feature.service.d.ts.map +1 -0
- package/dist/foundations/feature/services/feature.service.js +42 -0
- package/dist/foundations/feature/services/feature.service.js.map +1 -0
- package/dist/foundations/foundations.modules.d.ts +28 -0
- package/dist/foundations/foundations.modules.d.ts.map +1 -0
- package/dist/foundations/foundations.modules.js +85 -0
- package/dist/foundations/foundations.modules.js.map +1 -0
- package/dist/foundations/index.d.ts +22 -0
- package/dist/foundations/index.d.ts.map +1 -0
- package/dist/foundations/index.js +40 -0
- package/dist/foundations/index.js.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.entity.d.ts +8 -0
- package/dist/foundations/keyconcept/entities/key.concept.entity.d.ts.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.entity.js +3 -0
- package/dist/foundations/keyconcept/entities/key.concept.entity.js.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.map.d.ts +8 -0
- package/dist/foundations/keyconcept/entities/key.concept.map.d.ts.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.map.js +14 -0
- package/dist/foundations/keyconcept/entities/key.concept.map.js.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.meta.d.ts +3 -0
- package/dist/foundations/keyconcept/entities/key.concept.meta.d.ts.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.meta.js +10 -0
- package/dist/foundations/keyconcept/entities/key.concept.meta.js.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.model.d.ts +4 -0
- package/dist/foundations/keyconcept/entities/key.concept.model.d.ts.map +1 -0
- package/dist/foundations/keyconcept/entities/key.concept.model.js +14 -0
- package/dist/foundations/keyconcept/entities/key.concept.model.js.map +1 -0
- package/dist/foundations/keyconcept/index.d.ts +4 -0
- package/dist/foundations/keyconcept/index.d.ts.map +1 -0
- package/dist/foundations/keyconcept/index.js +8 -0
- package/dist/foundations/keyconcept/index.js.map +1 -0
- package/dist/foundations/keyconcept/keyconcept.module.d.ts +5 -0
- package/dist/foundations/keyconcept/keyconcept.module.d.ts.map +1 -0
- package/dist/foundations/keyconcept/keyconcept.module.js +29 -0
- package/dist/foundations/keyconcept/keyconcept.module.js.map +1 -0
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts +54 -0
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.d.ts.map +1 -0
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.js +290 -0
- package/dist/foundations/keyconcept/repositories/keyconcept.repository.js.map +1 -0
- package/dist/foundations/keyconcept/services/keyconcept.service.d.ts +26 -0
- package/dist/foundations/keyconcept/services/keyconcept.service.d.ts.map +1 -0
- package/dist/foundations/keyconcept/services/keyconcept.service.js +68 -0
- package/dist/foundations/keyconcept/services/keyconcept.service.js.map +1 -0
- package/dist/foundations/module/dtos/module.dto.d.ts +11 -0
- package/dist/foundations/module/dtos/module.dto.d.ts.map +1 -0
- package/dist/foundations/module/dtos/module.dto.js +45 -0
- package/dist/foundations/module/dtos/module.dto.js.map +1 -0
- package/dist/foundations/module/entities/module.entity.d.ts +12 -0
- package/dist/foundations/module/entities/module.entity.d.ts.map +1 -0
- package/dist/foundations/module/entities/module.entity.js +3 -0
- package/dist/foundations/module/entities/module.entity.js.map +1 -0
- package/dist/foundations/module/entities/module.map.d.ts +8 -0
- package/dist/foundations/module/entities/module.map.d.ts.map +1 -0
- package/dist/foundations/module/entities/module.map.js +19 -0
- package/dist/foundations/module/entities/module.map.js.map +1 -0
- package/dist/foundations/module/entities/module.meta.d.ts +3 -0
- package/dist/foundations/module/entities/module.meta.d.ts.map +1 -0
- package/dist/foundations/module/entities/module.meta.js +10 -0
- package/dist/foundations/module/entities/module.meta.js.map +1 -0
- package/dist/foundations/module/entities/module.model.d.ts +4 -0
- package/dist/foundations/module/entities/module.model.d.ts.map +1 -0
- package/dist/foundations/module/entities/module.model.js +13 -0
- package/dist/foundations/module/entities/module.model.js.map +1 -0
- package/dist/foundations/module/enums/module.id.d.ts +11 -0
- package/dist/foundations/module/enums/module.id.d.ts.map +1 -0
- package/dist/foundations/module/enums/module.id.js +57 -0
- package/dist/foundations/module/enums/module.id.js.map +1 -0
- package/dist/foundations/module/index.d.ts +6 -0
- package/dist/foundations/module/index.d.ts.map +1 -0
- package/dist/foundations/module/index.js +12 -0
- package/dist/foundations/module/index.js.map +1 -0
- package/dist/foundations/module/module.module.d.ts +5 -0
- package/dist/foundations/module/module.module.d.ts.map +1 -0
- package/dist/foundations/module/module.module.js +29 -0
- package/dist/foundations/module/module.module.js.map +1 -0
- package/dist/foundations/module/repositories/module.repository.d.ts +10 -0
- package/dist/foundations/module/repositories/module.repository.d.ts.map +1 -0
- package/dist/foundations/module/repositories/module.repository.js +33 -0
- package/dist/foundations/module/repositories/module.repository.js.map +1 -0
- package/dist/foundations/module/serialisers/module.serialiser.d.ts +12 -0
- package/dist/foundations/module/serialisers/module.serialiser.d.ts.map +1 -0
- package/dist/foundations/module/serialisers/module.serialiser.js +46 -0
- package/dist/foundations/module/serialisers/module.serialiser.js.map +1 -0
- package/dist/foundations/notification/controllers/notification.controller.d.ts +11 -0
- package/dist/foundations/notification/controllers/notification.controller.d.ts.map +1 -0
- package/dist/foundations/notification/controllers/notification.controller.js +86 -0
- package/dist/foundations/notification/controllers/notification.controller.js.map +1 -0
- package/dist/foundations/notification/dtos/notification.patch.dto.d.ts +15 -0
- package/dist/foundations/notification/dtos/notification.patch.dto.d.ts.map +1 -0
- package/dist/foundations/notification/dtos/notification.patch.dto.js +59 -0
- package/dist/foundations/notification/dtos/notification.patch.dto.js.map +1 -0
- package/dist/foundations/notification/entities/notification.entity.d.ts +8 -0
- package/dist/foundations/notification/entities/notification.entity.d.ts.map +1 -0
- package/dist/foundations/notification/entities/notification.entity.js +3 -0
- package/dist/foundations/notification/entities/notification.entity.js.map +1 -0
- package/dist/foundations/notification/entities/notification.map.d.ts +8 -0
- package/dist/foundations/notification/entities/notification.map.d.ts.map +1 -0
- package/dist/foundations/notification/entities/notification.map.js +14 -0
- package/dist/foundations/notification/entities/notification.map.js.map +1 -0
- package/dist/foundations/notification/entities/notification.meta.d.ts +3 -0
- package/dist/foundations/notification/entities/notification.meta.d.ts.map +1 -0
- package/dist/foundations/notification/entities/notification.meta.js +10 -0
- package/dist/foundations/notification/entities/notification.meta.js.map +1 -0
- package/dist/foundations/notification/entities/notification.model.d.ts +4 -0
- package/dist/foundations/notification/entities/notification.model.d.ts.map +1 -0
- package/dist/foundations/notification/entities/notification.model.js +15 -0
- package/dist/foundations/notification/entities/notification.model.js.map +1 -0
- package/dist/foundations/notification/index.d.ts +2 -0
- package/dist/foundations/notification/index.d.ts.map +1 -0
- package/dist/foundations/notification/index.js +6 -0
- package/dist/foundations/notification/index.js.map +1 -0
- package/dist/foundations/notification/interfaces/notification.service.interface.d.ts +4 -0
- package/dist/foundations/notification/interfaces/notification.service.interface.d.ts.map +1 -0
- package/dist/foundations/notification/interfaces/notification.service.interface.js +3 -0
- package/dist/foundations/notification/interfaces/notification.service.interface.js.map +1 -0
- package/dist/foundations/notification/notification.module.d.ts +5 -0
- package/dist/foundations/notification/notification.module.d.ts.map +1 -0
- package/dist/foundations/notification/notification.module.js +31 -0
- package/dist/foundations/notification/notification.module.js.map +1 -0
- package/dist/foundations/notification/repositories/notification.repository.d.ts +31 -0
- package/dist/foundations/notification/repositories/notification.repository.d.ts.map +1 -0
- package/dist/foundations/notification/repositories/notification.repository.js +154 -0
- package/dist/foundations/notification/repositories/notification.repository.js.map +1 -0
- package/dist/foundations/notification/serialisers/notifications.serialiser.d.ts +12 -0
- package/dist/foundations/notification/serialisers/notifications.serialiser.d.ts.map +1 -0
- package/dist/foundations/notification/serialisers/notifications.serialiser.js +45 -0
- package/dist/foundations/notification/serialisers/notifications.serialiser.js.map +1 -0
- package/dist/foundations/notification/services/notification.service.d.ts +24 -0
- package/dist/foundations/notification/services/notification.service.d.ts.map +1 -0
- package/dist/foundations/notification/services/notification.service.js +47 -0
- package/dist/foundations/notification/services/notification.service.js.map +1 -0
- package/dist/foundations/push/controllers/push.controller.d.ts +8 -0
- package/dist/foundations/push/controllers/push.controller.d.ts.map +1 -0
- package/dist/foundations/push/controllers/push.controller.js +41 -0
- package/dist/foundations/push/controllers/push.controller.js.map +1 -0
- package/dist/foundations/push/dtos/subscription.push.dto.d.ts +8 -0
- package/dist/foundations/push/dtos/subscription.push.dto.d.ts.map +1 -0
- package/dist/foundations/push/dtos/subscription.push.dto.js +3 -0
- package/dist/foundations/push/dtos/subscription.push.dto.js.map +1 -0
- package/dist/foundations/push/entities/push.entity.d.ts +9 -0
- package/dist/foundations/push/entities/push.entity.d.ts.map +1 -0
- package/dist/foundations/push/entities/push.entity.js +3 -0
- package/dist/foundations/push/entities/push.entity.js.map +1 -0
- package/dist/foundations/push/entities/push.map.d.ts +8 -0
- package/dist/foundations/push/entities/push.map.d.ts.map +1 -0
- package/dist/foundations/push/entities/push.map.js +21 -0
- package/dist/foundations/push/entities/push.map.js.map +1 -0
- package/dist/foundations/push/entities/push.meta.d.ts +3 -0
- package/dist/foundations/push/entities/push.meta.d.ts.map +1 -0
- package/dist/foundations/push/entities/push.meta.js +10 -0
- package/dist/foundations/push/entities/push.meta.js.map +1 -0
- package/dist/foundations/push/entities/push.model.d.ts +4 -0
- package/dist/foundations/push/entities/push.model.d.ts.map +1 -0
- package/dist/foundations/push/entities/push.model.js +11 -0
- package/dist/foundations/push/entities/push.model.js.map +1 -0
- package/dist/foundations/push/index.d.ts +2 -0
- package/dist/foundations/push/index.d.ts.map +1 -0
- package/dist/foundations/push/index.js +6 -0
- package/dist/foundations/push/index.js.map +1 -0
- package/dist/foundations/push/push.module.d.ts +5 -0
- package/dist/foundations/push/push.module.d.ts.map +1 -0
- package/dist/foundations/push/push.module.js +30 -0
- package/dist/foundations/push/push.module.js.map +1 -0
- package/dist/foundations/push/repositories/push.repository.d.ts +18 -0
- package/dist/foundations/push/repositories/push.repository.d.ts.map +1 -0
- package/dist/foundations/push/repositories/push.repository.js +75 -0
- package/dist/foundations/push/repositories/push.repository.js.map +1 -0
- package/dist/foundations/push/services/push.service.d.ts +21 -0
- package/dist/foundations/push/services/push.service.d.ts.map +1 -0
- package/dist/foundations/push/services/push.service.js +97 -0
- package/dist/foundations/push/services/push.service.js.map +1 -0
- package/dist/foundations/relevancy/index.d.ts +5 -0
- package/dist/foundations/relevancy/index.d.ts.map +1 -0
- package/dist/foundations/relevancy/index.js +8 -0
- package/dist/foundations/relevancy/index.js.map +1 -0
- package/dist/foundations/relevancy/interfaces/relevance.repository.interface.d.ts +17 -0
- package/dist/foundations/relevancy/interfaces/relevance.repository.interface.d.ts.map +1 -0
- package/dist/foundations/relevancy/interfaces/relevance.repository.interface.js +3 -0
- package/dist/foundations/relevancy/interfaces/relevance.repository.interface.js.map +1 -0
- package/dist/foundations/relevancy/interfaces/relevance.service.interface.d.ts +17 -0
- package/dist/foundations/relevancy/interfaces/relevance.service.interface.d.ts.map +1 -0
- package/dist/foundations/relevancy/interfaces/relevance.service.interface.js +3 -0
- package/dist/foundations/relevancy/interfaces/relevance.service.interface.js.map +1 -0
- package/dist/foundations/relevancy/queries/relevance.d.ts +13 -0
- package/dist/foundations/relevancy/queries/relevance.d.ts.map +1 -0
- package/dist/foundations/relevancy/queries/relevance.js +134 -0
- package/dist/foundations/relevancy/queries/relevance.js.map +1 -0
- package/dist/foundations/relevancy/relevancy.module.d.ts +3 -0
- package/dist/foundations/relevancy/relevancy.module.d.ts.map +1 -0
- package/dist/foundations/relevancy/relevancy.module.js +23 -0
- package/dist/foundations/relevancy/relevancy.module.js.map +1 -0
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts +31 -0
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -0
- package/dist/foundations/relevancy/repositories/relevancy.repository.js +94 -0
- package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -0
- package/dist/foundations/relevancy/services/relevancy.service.d.ts +29 -0
- package/dist/foundations/relevancy/services/relevancy.service.d.ts.map +1 -0
- package/dist/foundations/relevancy/services/relevancy.service.js +66 -0
- package/dist/foundations/relevancy/services/relevancy.service.js.map +1 -0
- package/dist/foundations/role/controllers/role.controller.d.ts +12 -0
- package/dist/foundations/role/controllers/role.controller.d.ts.map +1 -0
- package/dist/foundations/role/controllers/role.controller.js +104 -0
- package/dist/foundations/role/controllers/role.controller.js.map +1 -0
- package/dist/foundations/role/controllers/role.user.controller.d.ts +9 -0
- package/dist/foundations/role/controllers/role.user.controller.d.ts.map +1 -0
- package/dist/foundations/role/controllers/role.user.controller.js +59 -0
- package/dist/foundations/role/controllers/role.user.controller.js.map +1 -0
- package/dist/foundations/role/dtos/role.dto.d.ts +11 -0
- package/dist/foundations/role/dtos/role.dto.d.ts.map +1 -0
- package/dist/foundations/role/dtos/role.dto.js +45 -0
- package/dist/foundations/role/dtos/role.dto.js.map +1 -0
- package/dist/foundations/role/dtos/role.post.dto.d.ts +15 -0
- package/dist/foundations/role/dtos/role.post.dto.d.ts.map +1 -0
- package/dist/foundations/role/dtos/role.post.dto.js +59 -0
- package/dist/foundations/role/dtos/role.post.dto.js.map +1 -0
- package/dist/foundations/role/entities/role.entity.d.ts +9 -0
- package/dist/foundations/role/entities/role.entity.d.ts.map +1 -0
- package/dist/foundations/role/entities/role.entity.js +3 -0
- package/dist/foundations/role/entities/role.entity.js.map +1 -0
- package/dist/foundations/role/entities/role.map.d.ts +8 -0
- package/dist/foundations/role/entities/role.map.d.ts.map +1 -0
- package/dist/foundations/role/entities/role.map.js +15 -0
- package/dist/foundations/role/entities/role.map.js.map +1 -0
- package/dist/foundations/role/entities/role.meta.d.ts +3 -0
- package/dist/foundations/role/entities/role.meta.d.ts.map +1 -0
- package/dist/foundations/role/entities/role.meta.js +10 -0
- package/dist/foundations/role/entities/role.meta.js.map +1 -0
- package/dist/foundations/role/entities/role.model.d.ts +4 -0
- package/dist/foundations/role/entities/role.model.d.ts.map +1 -0
- package/dist/foundations/role/entities/role.model.js +15 -0
- package/dist/foundations/role/entities/role.model.js.map +1 -0
- package/dist/foundations/role/index.d.ts +3 -0
- package/dist/foundations/role/index.d.ts.map +1 -0
- package/dist/foundations/role/index.js +8 -0
- package/dist/foundations/role/index.js.map +1 -0
- package/dist/foundations/role/repositories/role.repository.d.ts +47 -0
- package/dist/foundations/role/repositories/role.repository.d.ts.map +1 -0
- package/dist/foundations/role/repositories/role.repository.js +175 -0
- package/dist/foundations/role/repositories/role.repository.js.map +1 -0
- package/dist/foundations/role/role.module.d.ts +5 -0
- package/dist/foundations/role/role.module.d.ts.map +1 -0
- package/dist/foundations/role/role.module.js +32 -0
- package/dist/foundations/role/role.module.js.map +1 -0
- package/dist/foundations/role/serialisers/role.serialiser.d.ts +12 -0
- package/dist/foundations/role/serialisers/role.serialiser.d.ts.map +1 -0
- package/dist/foundations/role/serialisers/role.serialiser.js +46 -0
- package/dist/foundations/role/serialisers/role.serialiser.js.map +1 -0
- package/dist/foundations/role/services/role.service.d.ts +39 -0
- package/dist/foundations/role/services/role.service.d.ts.map +1 -0
- package/dist/foundations/role/services/role.service.js +88 -0
- package/dist/foundations/role/services/role.service.js.map +1 -0
- package/dist/foundations/s3/controllers/s3.controller.d.ts +9 -0
- package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -0
- package/dist/foundations/s3/controllers/s3.controller.js +74 -0
- package/dist/foundations/s3/controllers/s3.controller.js.map +1 -0
- package/dist/foundations/s3/entities/s3.entity.d.ts +9 -0
- package/dist/foundations/s3/entities/s3.entity.d.ts.map +1 -0
- package/dist/foundations/s3/entities/s3.entity.js +3 -0
- package/dist/foundations/s3/entities/s3.entity.js.map +1 -0
- package/dist/foundations/s3/entities/s3.map.d.ts +8 -0
- package/dist/foundations/s3/entities/s3.map.d.ts.map +1 -0
- package/dist/foundations/s3/entities/s3.map.js +16 -0
- package/dist/foundations/s3/entities/s3.map.js.map +1 -0
- package/dist/foundations/s3/entities/s3.meta.d.ts +3 -0
- package/dist/foundations/s3/entities/s3.meta.d.ts.map +1 -0
- package/dist/foundations/s3/entities/s3.meta.js +10 -0
- package/dist/foundations/s3/entities/s3.meta.js.map +1 -0
- package/dist/foundations/s3/entities/s3.model.d.ts +4 -0
- package/dist/foundations/s3/entities/s3.model.d.ts.map +1 -0
- package/dist/foundations/s3/entities/s3.model.js +13 -0
- package/dist/foundations/s3/entities/s3.model.js.map +1 -0
- package/dist/foundations/s3/index.d.ts +3 -0
- package/dist/foundations/s3/index.d.ts.map +1 -0
- package/dist/foundations/s3/index.js +8 -0
- package/dist/foundations/s3/index.js.map +1 -0
- package/dist/foundations/s3/s3.module.d.ts +5 -0
- package/dist/foundations/s3/s3.module.d.ts.map +1 -0
- package/dist/foundations/s3/s3.module.js +29 -0
- package/dist/foundations/s3/s3.module.js.map +1 -0
- package/dist/foundations/s3/serialisers/s3.serialiser.d.ts +12 -0
- package/dist/foundations/s3/serialisers/s3.serialiser.d.ts.map +1 -0
- package/dist/foundations/s3/serialisers/s3.serialiser.js +41 -0
- package/dist/foundations/s3/serialisers/s3.serialiser.js.map +1 -0
- package/dist/foundations/s3/services/s3.service.d.ts +72 -0
- package/dist/foundations/s3/services/s3.service.d.ts.map +1 -0
- package/dist/foundations/s3/services/s3.service.js +468 -0
- package/dist/foundations/s3/services/s3.service.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts +10 -0
- package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.entity.js +3 -0
- package/dist/foundations/tokenusage/entities/tokenusage.entity.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.map.d.ts +8 -0
- package/dist/foundations/tokenusage/entities/tokenusage.map.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.map.js +16 -0
- package/dist/foundations/tokenusage/entities/tokenusage.map.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.meta.d.ts +3 -0
- package/dist/foundations/tokenusage/entities/tokenusage.meta.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.meta.js +10 -0
- package/dist/foundations/tokenusage/entities/tokenusage.meta.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.model.d.ts +4 -0
- package/dist/foundations/tokenusage/entities/tokenusage.model.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage.model.js +15 -0
- package/dist/foundations/tokenusage/entities/tokenusage.model.js.map +1 -0
- package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts +10 -0
- package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts.map +1 -0
- package/dist/foundations/tokenusage/enums/tokenusage.type.js +14 -0
- package/dist/foundations/tokenusage/enums/tokenusage.type.js.map +1 -0
- package/dist/foundations/tokenusage/index.d.ts +8 -0
- package/dist/foundations/tokenusage/index.d.ts.map +1 -0
- package/dist/foundations/tokenusage/index.js +16 -0
- package/dist/foundations/tokenusage/index.js.map +1 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts +18 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts.map +1 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.js +60 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.js.map +1 -0
- package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +18 -0
- package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -0
- package/dist/foundations/tokenusage/services/tokenusage.service.js +49 -0
- package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -0
- package/dist/foundations/tokenusage/tokenusage.module.d.ts +5 -0
- package/dist/foundations/tokenusage/tokenusage.module.d.ts.map +1 -0
- package/dist/foundations/tokenusage/tokenusage.module.js +29 -0
- package/dist/foundations/tokenusage/tokenusage.module.js.map +1 -0
- package/dist/foundations/user/controllers/user.controller.d.ts +39 -0
- package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -0
- package/dist/foundations/user/controllers/user.controller.js +374 -0
- package/dist/foundations/user/controllers/user.controller.js.map +1 -0
- package/dist/foundations/user/dtos/user.dto.d.ts +11 -0
- package/dist/foundations/user/dtos/user.dto.d.ts.map +1 -0
- package/dist/foundations/user/dtos/user.dto.js +45 -0
- package/dist/foundations/user/dtos/user.dto.js.map +1 -0
- package/dist/foundations/user/dtos/user.patch.rate.dto.d.ts +13 -0
- package/dist/foundations/user/dtos/user.patch.rate.dto.d.ts.map +1 -0
- package/dist/foundations/user/dtos/user.patch.rate.dto.js +54 -0
- package/dist/foundations/user/dtos/user.patch.rate.dto.js.map +1 -0
- package/dist/foundations/user/dtos/user.post.dto.d.ts +29 -0
- package/dist/foundations/user/dtos/user.post.dto.d.ts.map +1 -0
- package/dist/foundations/user/dtos/user.post.dto.js +117 -0
- package/dist/foundations/user/dtos/user.post.dto.js.map +1 -0
- package/dist/foundations/user/dtos/user.put.dto.d.ts +24 -0
- package/dist/foundations/user/dtos/user.put.dto.d.ts.map +1 -0
- package/dist/foundations/user/dtos/user.put.dto.js +100 -0
- package/dist/foundations/user/dtos/user.put.dto.js.map +1 -0
- package/dist/foundations/user/entities/user.entity.d.ts +23 -0
- package/dist/foundations/user/entities/user.entity.d.ts.map +1 -0
- package/dist/foundations/user/entities/user.entity.js +3 -0
- package/dist/foundations/user/entities/user.entity.js.map +1 -0
- package/dist/foundations/user/entities/user.map.d.ts +8 -0
- package/dist/foundations/user/entities/user.map.d.ts.map +1 -0
- package/dist/foundations/user/entities/user.map.js +27 -0
- package/dist/foundations/user/entities/user.map.js.map +1 -0
- package/dist/foundations/user/entities/user.meta.d.ts +6 -0
- package/dist/foundations/user/entities/user.meta.d.ts.map +1 -0
- package/dist/foundations/user/entities/user.meta.js +25 -0
- package/dist/foundations/user/entities/user.meta.js.map +1 -0
- package/dist/foundations/user/entities/user.model.d.ts +7 -0
- package/dist/foundations/user/entities/user.model.d.ts.map +1 -0
- package/dist/foundations/user/entities/user.model.js +30 -0
- package/dist/foundations/user/entities/user.model.js.map +1 -0
- package/dist/foundations/user/index.d.ts +11 -0
- package/dist/foundations/user/index.d.ts.map +1 -0
- package/dist/foundations/user/index.js +41 -0
- package/dist/foundations/user/index.js.map +1 -0
- package/dist/foundations/user/repositories/user.repository.d.ts +109 -0
- package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -0
- package/dist/foundations/user/repositories/user.repository.js +491 -0
- package/dist/foundations/user/repositories/user.repository.js.map +1 -0
- package/dist/foundations/user/serialisers/user.serialiser.d.ts +14 -0
- package/dist/foundations/user/serialisers/user.serialiser.d.ts.map +1 -0
- package/dist/foundations/user/serialisers/user.serialiser.js +80 -0
- package/dist/foundations/user/serialisers/user.serialiser.js.map +1 -0
- package/dist/foundations/user/services/user.cypher.service.d.ts +13 -0
- package/dist/foundations/user/services/user.cypher.service.d.ts.map +1 -0
- package/dist/foundations/user/services/user.cypher.service.js +46 -0
- package/dist/foundations/user/services/user.cypher.service.js.map +1 -0
- package/dist/foundations/user/services/user.service.d.ts +107 -0
- package/dist/foundations/user/services/user.service.d.ts.map +1 -0
- package/dist/foundations/user/services/user.service.js +231 -0
- package/dist/foundations/user/services/user.service.js.map +1 -0
- package/dist/foundations/user/user.module.d.ts +5 -0
- package/dist/foundations/user/user.module.d.ts.map +1 -0
- package/dist/foundations/user/user.module.js +38 -0
- package/dist/foundations/user/user.module.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/migrate-entity/index.js +65 -0
- package/dist/tools/migrate-entity/lib/ast-parser.js +543 -0
- package/dist/tools/migrate-entity/lib/descriptor-generator.js +385 -0
- package/dist/tools/migrate-entity/lib/entity-migrator.js +300 -0
- package/dist/tools/migrate-entity/lib/file-discovery.js +123 -0
- package/dist/tools/migrate-entity/lib/module-updater.js +131 -0
- package/dist/tools/migrate-entity/lib/reference-updater.js +304 -0
- package/dist/tools/migrate-entity/lib/types.js +7 -0
- package/package.json +181 -0
|
@@ -0,0 +1,1329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var PdfService_1;
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.PdfService = void 0;
|
|
44
|
+
const common_1 = require("@nestjs/common");
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const layout_extractor_1 = require("./pdf/extractors/layout.extractor");
|
|
47
|
+
const table_extractor_1 = require("./pdf/extractors/table.extractor");
|
|
48
|
+
const documents_1 = require("@langchain/core/documents");
|
|
49
|
+
const pdf_parse_1 = require("pdf-parse");
|
|
50
|
+
const pdf2pic = require("pdf2pic");
|
|
51
|
+
const tesseract = require("node-tesseract-ocr");
|
|
52
|
+
const sharp = require("sharp");
|
|
53
|
+
let PdfService = PdfService_1 = class PdfService {
|
|
54
|
+
constructor() {
|
|
55
|
+
this.logger = new common_1.Logger(PdfService_1.name);
|
|
56
|
+
this.layoutExtractor = new layout_extractor_1.LayoutExtractor();
|
|
57
|
+
this.tableExtractor = new table_extractor_1.TableExtractor();
|
|
58
|
+
this.defaultProcessingOptions = {
|
|
59
|
+
enableOCR: false, // Disabled by default for performance
|
|
60
|
+
ocrConfidenceThreshold: 0.6, // Lowered for scanned documents (was 0.8)
|
|
61
|
+
ocrLanguage: "eng", // English by default
|
|
62
|
+
ocrImagePreprocessing: false, // Disabled by default - damages clean scans
|
|
63
|
+
detectTables: true,
|
|
64
|
+
detectImages: true,
|
|
65
|
+
detectHeaders: true,
|
|
66
|
+
preserveLayout: true,
|
|
67
|
+
maxImageSize: 1024 * 1024, // 1MB
|
|
68
|
+
skipHeaderFooter: false,
|
|
69
|
+
columnDetection: true,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
resetState() {
|
|
73
|
+
// Reset any internal state if needed
|
|
74
|
+
}
|
|
75
|
+
convertToMarkdown(pdfElements) {
|
|
76
|
+
this.resetState();
|
|
77
|
+
return pdfElements
|
|
78
|
+
.map((element) => this.extractElementAsMarkdown(element))
|
|
79
|
+
.filter((markdown) => markdown.trim() !== "")
|
|
80
|
+
.join("\n\n");
|
|
81
|
+
}
|
|
82
|
+
extractElementAsMarkdown(element) {
|
|
83
|
+
switch (element.type) {
|
|
84
|
+
case "header":
|
|
85
|
+
const headerElement = element;
|
|
86
|
+
const headerPrefix = "#".repeat(headerElement.level);
|
|
87
|
+
return `${headerPrefix} ${headerElement.content}`;
|
|
88
|
+
case "paragraph":
|
|
89
|
+
const paragraphElement = element;
|
|
90
|
+
return paragraphElement.content;
|
|
91
|
+
case "table":
|
|
92
|
+
return this.extractTableAsMarkdown(element);
|
|
93
|
+
case "text":
|
|
94
|
+
return element.content;
|
|
95
|
+
case "list":
|
|
96
|
+
const listElement = element;
|
|
97
|
+
return listElement.items.map((item) => `- ${item.content}`).join("\n");
|
|
98
|
+
case "image":
|
|
99
|
+
const imageText = element.extractedText;
|
|
100
|
+
return imageText ? `![Image content: ${imageText}]` : "";
|
|
101
|
+
default:
|
|
102
|
+
return "";
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
extractTableAsMarkdown(tableElement) {
|
|
106
|
+
if (!tableElement.rows || tableElement.rows.length === 0) {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
const markdownRows = [];
|
|
110
|
+
const columnCount = Math.max(...tableElement.rows.map((row) => row.cells.length));
|
|
111
|
+
// Process header row
|
|
112
|
+
if (tableElement.rows.length > 0) {
|
|
113
|
+
const headerCells = tableElement.rows[0].cells.map((cell) => cell.content.trim() || " ");
|
|
114
|
+
// Pad to column count
|
|
115
|
+
while (headerCells.length < columnCount) {
|
|
116
|
+
headerCells.push(" ");
|
|
117
|
+
}
|
|
118
|
+
markdownRows.push(`| ${headerCells.join(" | ")} |`);
|
|
119
|
+
markdownRows.push(`| ${headerCells.map(() => "---").join(" | ")} |`);
|
|
120
|
+
}
|
|
121
|
+
// Process data rows
|
|
122
|
+
for (let i = 1; i < tableElement.rows.length; i++) {
|
|
123
|
+
const row = tableElement.rows[i];
|
|
124
|
+
const cells = row.cells.map((cell) => cell.content.trim() || " ");
|
|
125
|
+
// Pad to column count
|
|
126
|
+
while (cells.length < columnCount) {
|
|
127
|
+
cells.push(" ");
|
|
128
|
+
}
|
|
129
|
+
markdownRows.push(`| ${cells.join(" | ")} |`);
|
|
130
|
+
}
|
|
131
|
+
return markdownRows.join("\n");
|
|
132
|
+
}
|
|
133
|
+
async extractPdfContent(pdfPath, options) {
|
|
134
|
+
this.logger.log("##############################################################");
|
|
135
|
+
this.logger.log("## PDF EXTRACTION START");
|
|
136
|
+
this.logger.log(`## File: ${pdfPath}`);
|
|
137
|
+
this.logger.log("##############################################################");
|
|
138
|
+
const processingOptions = { ...this.defaultProcessingOptions, ...options };
|
|
139
|
+
this.logger.log("Processing options:");
|
|
140
|
+
this.logger.log(` - enableOCR: ${processingOptions.enableOCR}`);
|
|
141
|
+
this.logger.log(` - ocrImagePreprocessing: ${processingOptions.ocrImagePreprocessing}`);
|
|
142
|
+
this.logger.log(` - ocrLanguage: ${processingOptions.ocrLanguage}`);
|
|
143
|
+
this.logger.log(` - ocrConfidenceThreshold: ${processingOptions.ocrConfidenceThreshold}`);
|
|
144
|
+
let extractedText = "";
|
|
145
|
+
let result = [];
|
|
146
|
+
// First attempt: Intelligent parsing
|
|
147
|
+
this.logger.log("\n[ATTEMPT 1] Trying intelligent parsing...");
|
|
148
|
+
try {
|
|
149
|
+
result = await this.extractWithIntelligentParsing(pdfPath);
|
|
150
|
+
if (result && result.length > 0) {
|
|
151
|
+
extractedText = result.map((block) => block.content).join("\n");
|
|
152
|
+
const textLength = extractedText.length;
|
|
153
|
+
this.logger.log(`→ Intelligent parsing extracted ${textLength} chars from ${result.length} blocks`);
|
|
154
|
+
const isScanned = this.detectScannedPdf(extractedText);
|
|
155
|
+
this.logger.log(`→ Scanned PDF detection: ${isScanned ? "YES (low quality text)" : "NO (good quality text)"}`);
|
|
156
|
+
if (!isScanned) {
|
|
157
|
+
this.logger.log(`✅ SUCCESS: Using intelligent parsing result`);
|
|
158
|
+
this.logger.log("##############################################################");
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.logger.log("⚠️ Scanned PDF detected, will try OCR...");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this.logger.log("⚠️ Intelligent parsing returned no content");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
this.logger.warn("❌ Intelligent PDF extraction failed:", error);
|
|
171
|
+
}
|
|
172
|
+
// Second attempt: Basic parsing
|
|
173
|
+
this.logger.log("\n[ATTEMPT 2] Trying basic parsing...");
|
|
174
|
+
try {
|
|
175
|
+
const basicResult = await this.extractWithBasicParsing(pdfPath);
|
|
176
|
+
if (basicResult && basicResult.length > 0) {
|
|
177
|
+
const basicText = basicResult.map((block) => block.content).join("\n");
|
|
178
|
+
const textLength = basicText.length;
|
|
179
|
+
this.logger.log(`→ Basic parsing extracted ${textLength} chars from ${basicResult.length} blocks`);
|
|
180
|
+
const isScanned = this.detectScannedPdf(basicText);
|
|
181
|
+
this.logger.log(`→ Scanned PDF detection: ${isScanned ? "YES (low quality text)" : "NO (good quality text)"}`);
|
|
182
|
+
if (!isScanned) {
|
|
183
|
+
this.logger.log(`✅ SUCCESS: Using basic parsing result`);
|
|
184
|
+
this.logger.log("##############################################################");
|
|
185
|
+
return basicResult;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
extractedText = basicText;
|
|
189
|
+
// Smart OCR fallback: automatically enable OCR for scanned PDFs
|
|
190
|
+
if (!processingOptions.enableOCR) {
|
|
191
|
+
this.logger.log("⚠️ Scanned PDF detected, AUTO-ENABLING OCR");
|
|
192
|
+
processingOptions.enableOCR = true;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
this.logger.log("⚠️ Basic parsing returned no content");
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
this.logger.warn("❌ Basic PDF extraction failed:", error);
|
|
202
|
+
}
|
|
203
|
+
// Third attempt: OCR processing (if enabled and text quality is poor)
|
|
204
|
+
if (processingOptions.enableOCR) {
|
|
205
|
+
this.logger.log(`\n[ATTEMPT 3] Trying OCR extraction (enableOCR=${processingOptions.enableOCR})...`);
|
|
206
|
+
try {
|
|
207
|
+
const ocrResult = await this.extractWithOCR(pdfPath, processingOptions);
|
|
208
|
+
if (ocrResult && ocrResult.length > 0) {
|
|
209
|
+
const ocrText = ocrResult.map((block) => block.content).join("\n");
|
|
210
|
+
this.logger.log(`✅ SUCCESS: OCR extracted ${ocrText.length} chars from ${ocrResult.length} blocks`);
|
|
211
|
+
this.logger.log("##############################################################");
|
|
212
|
+
return ocrResult;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
this.logger.warn("❌ OCR extraction did not yield any content (all pages rejected)");
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
this.logger.error("❌ OCR extraction failed:", error);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
this.logger.log("\n[ATTEMPT 3] SKIPPED: OCR is disabled");
|
|
224
|
+
}
|
|
225
|
+
// Final fallback: Return what we have, even if poor quality
|
|
226
|
+
if (result && result.length > 0) {
|
|
227
|
+
this.logger.warn("⚠️ FALLBACK: Returning partial extraction result");
|
|
228
|
+
this.logger.log("##############################################################");
|
|
229
|
+
return result;
|
|
230
|
+
}
|
|
231
|
+
this.logger.error("❌ FAILURE: All PDF extraction methods failed, returning empty content");
|
|
232
|
+
this.logger.log("##############################################################");
|
|
233
|
+
return [];
|
|
234
|
+
}
|
|
235
|
+
async extractWithIntelligentParsing(pdfPath) {
|
|
236
|
+
let parser = null;
|
|
237
|
+
try {
|
|
238
|
+
// First, get basic PDF structure using pdf-parse for text extraction
|
|
239
|
+
const buffer = fs.readFileSync(pdfPath);
|
|
240
|
+
parser = new pdf_parse_1.PDFParse({ data: buffer });
|
|
241
|
+
const textResult = await parser.getText();
|
|
242
|
+
if (!textResult.text || textResult.text.trim() === "") {
|
|
243
|
+
return [];
|
|
244
|
+
}
|
|
245
|
+
const infoResult = await parser.getInfo();
|
|
246
|
+
const numPages = infoResult.info?.numPages || 1;
|
|
247
|
+
// Create layout elements from the extracted text
|
|
248
|
+
// This is a simplified version - in a real implementation you'd use a proper PDF parser
|
|
249
|
+
// that gives you positioning information for each text element
|
|
250
|
+
const layoutElements = this.createLayoutElementsFromText(textResult.text, numPages);
|
|
251
|
+
if (layoutElements.length === 0) {
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
// Analyze layout for each page
|
|
255
|
+
const pageWidth = 612; // Standard US Letter width in points
|
|
256
|
+
const pageHeight = 792; // Standard US Letter height in points
|
|
257
|
+
const contentBlocks = [];
|
|
258
|
+
// Group elements by page
|
|
259
|
+
const pageGroups = this.groupElementsByPage(layoutElements);
|
|
260
|
+
for (const [, pageElements] of pageGroups.entries()) {
|
|
261
|
+
// Use layout extractor to analyze page structure
|
|
262
|
+
const pageStructure = this.layoutExtractor.analyzePageLayout(pageElements, pageWidth, pageHeight);
|
|
263
|
+
// Detect tables on this page
|
|
264
|
+
const tables = this.tableExtractor.detectTables(pageElements);
|
|
265
|
+
// Process page content in reading order
|
|
266
|
+
const orderedElements = this.layoutExtractor.detectReadingOrder(pageElements);
|
|
267
|
+
// Convert layout analysis to content blocks
|
|
268
|
+
const pageContent = this.convertLayoutToContent(pageStructure, tables, orderedElements);
|
|
269
|
+
contentBlocks.push(...pageContent);
|
|
270
|
+
}
|
|
271
|
+
return contentBlocks;
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
this.logger.error("🔍 LAYOUT EXTRACTOR: Error in intelligent parsing:", error);
|
|
275
|
+
return [];
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
if (parser) {
|
|
279
|
+
await parser.destroy();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
createLayoutElementsFromText(text, numPages) {
|
|
284
|
+
const elements = [];
|
|
285
|
+
// Clean and normalize the text
|
|
286
|
+
const cleanedText = this.cleanAndNormalizeText(text);
|
|
287
|
+
// Split into sentences and paragraphs
|
|
288
|
+
const sentences = this.splitIntoSentences(cleanedText);
|
|
289
|
+
const paragraphs = this.reconstructLogicalParagraphs(sentences);
|
|
290
|
+
// Create layout elements with simulated positioning
|
|
291
|
+
let currentY = 50; // Start from top margin
|
|
292
|
+
const lineHeight = 14;
|
|
293
|
+
const marginLeft = 50;
|
|
294
|
+
const marginRight = 50;
|
|
295
|
+
const pageWidth = 612;
|
|
296
|
+
const contentWidth = pageWidth - marginLeft - marginRight;
|
|
297
|
+
for (let i = 0; i < paragraphs.length; i++) {
|
|
298
|
+
const paragraph = paragraphs[i];
|
|
299
|
+
const currentPage = Math.floor(currentY / 742) + 1; // 742 is content height per page
|
|
300
|
+
// Determine font size based on content (headers are larger)
|
|
301
|
+
const isHeader = this.isHeaderParagraph(paragraph);
|
|
302
|
+
const fontSize = isHeader ? 16 : 12;
|
|
303
|
+
const element = {
|
|
304
|
+
x: marginLeft,
|
|
305
|
+
y: (currentY % 742) + 50, // Reset Y for each page with top margin
|
|
306
|
+
width: contentWidth,
|
|
307
|
+
height: lineHeight * Math.ceil(paragraph.length / 80), // Rough estimate
|
|
308
|
+
content: paragraph,
|
|
309
|
+
fontSize: fontSize,
|
|
310
|
+
fontName: "Arial",
|
|
311
|
+
isBold: isHeader,
|
|
312
|
+
pageNumber: Math.min(currentPage, numPages),
|
|
313
|
+
elementId: `element_${i}`,
|
|
314
|
+
confidence: 0.9,
|
|
315
|
+
};
|
|
316
|
+
elements.push(element);
|
|
317
|
+
// Update Y position for next element
|
|
318
|
+
currentY += element.height + (isHeader ? 20 : 10); // Extra space after headers
|
|
319
|
+
}
|
|
320
|
+
return elements;
|
|
321
|
+
}
|
|
322
|
+
groupElementsByPage(elements) {
|
|
323
|
+
const pageGroups = new Map();
|
|
324
|
+
for (const element of elements) {
|
|
325
|
+
const pageNumber = element.pageNumber;
|
|
326
|
+
if (!pageGroups.has(pageNumber)) {
|
|
327
|
+
pageGroups.set(pageNumber, []);
|
|
328
|
+
}
|
|
329
|
+
pageGroups.get(pageNumber).push(element);
|
|
330
|
+
}
|
|
331
|
+
return pageGroups;
|
|
332
|
+
}
|
|
333
|
+
convertLayoutToContent(pageStructure, tables, orderedElements) {
|
|
334
|
+
const contentBlocks = [];
|
|
335
|
+
// First, add detected tables
|
|
336
|
+
for (const table of tables) {
|
|
337
|
+
contentBlocks.push({
|
|
338
|
+
type: "table",
|
|
339
|
+
content: this.convertTableToText(table),
|
|
340
|
+
pageNumber: table.pageNumber,
|
|
341
|
+
confidence: table.confidence || 0.8,
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
// Then process remaining elements in reading order
|
|
345
|
+
const tableElementIds = new Set(tables.flatMap((table) => table.rows?.flatMap((row) => row.cells?.map((cell) => `${cell.x}_${cell.y}`) || []) || []));
|
|
346
|
+
for (const element of orderedElements) {
|
|
347
|
+
// Skip elements that are already part of tables
|
|
348
|
+
const elementKey = `${element.x}_${element.y}`;
|
|
349
|
+
if (tableElementIds.has(elementKey)) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
// Determine content type based on layout analysis
|
|
353
|
+
const isHeader = this.isHeaderParagraph(element.content) || element.isBold;
|
|
354
|
+
contentBlocks.push({
|
|
355
|
+
type: isHeader ? "header" : "paragraphs",
|
|
356
|
+
content: element.content,
|
|
357
|
+
pageNumber: element.pageNumber,
|
|
358
|
+
confidence: element.confidence || 0.9,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
return contentBlocks;
|
|
362
|
+
}
|
|
363
|
+
convertTableToText(table) {
|
|
364
|
+
if (!table.rows || table.rows.length === 0) {
|
|
365
|
+
return "";
|
|
366
|
+
}
|
|
367
|
+
// Convert table to simple text representation
|
|
368
|
+
const textRows = [];
|
|
369
|
+
for (const row of table.rows) {
|
|
370
|
+
if (row.cells && row.cells.length > 0) {
|
|
371
|
+
const cellContents = row.cells.map((cell) => cell.content || "").join(" | ");
|
|
372
|
+
textRows.push(cellContents);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
return textRows.join("\n");
|
|
376
|
+
}
|
|
377
|
+
analyzeAndStructureText(text) {
|
|
378
|
+
const contentBlocks = [];
|
|
379
|
+
// Clean and normalize the text first
|
|
380
|
+
const cleanedText = this.cleanAndNormalizeText(text);
|
|
381
|
+
// Split into sentences while preserving structure
|
|
382
|
+
const sentences = this.splitIntoSentences(cleanedText);
|
|
383
|
+
if (sentences.length === 0)
|
|
384
|
+
return contentBlocks;
|
|
385
|
+
// Reconstruct logical paragraphs from sentences
|
|
386
|
+
const logicalParagraphs = this.reconstructLogicalParagraphs(sentences);
|
|
387
|
+
// Process paragraphs to identify headers and content
|
|
388
|
+
for (const paragraph of logicalParagraphs) {
|
|
389
|
+
const trimmedParagraph = paragraph.trim();
|
|
390
|
+
if (trimmedParagraph.length === 0)
|
|
391
|
+
continue;
|
|
392
|
+
// Check if this paragraph is actually a header
|
|
393
|
+
if (this.isHeaderParagraph(trimmedParagraph)) {
|
|
394
|
+
contentBlocks.push({
|
|
395
|
+
type: "header",
|
|
396
|
+
content: trimmedParagraph,
|
|
397
|
+
pageNumber: 1,
|
|
398
|
+
confidence: 0.9,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
// Regular content paragraph
|
|
403
|
+
contentBlocks.push({
|
|
404
|
+
type: "paragraphs",
|
|
405
|
+
content: trimmedParagraph,
|
|
406
|
+
pageNumber: 1,
|
|
407
|
+
confidence: 0.9,
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
return contentBlocks;
|
|
412
|
+
}
|
|
413
|
+
cleanAndNormalizeText(text) {
|
|
414
|
+
return (text
|
|
415
|
+
// Remove excessive whitespace but preserve paragraph breaks
|
|
416
|
+
.replace(/[ \t]+/g, " ")
|
|
417
|
+
// Normalize line breaks
|
|
418
|
+
.replace(/\r\n/g, "\n")
|
|
419
|
+
.replace(/\r/g, "\n")
|
|
420
|
+
// Remove page numbers and headers/footers (common patterns)
|
|
421
|
+
.replace(/^\s*\d+\s*$/gm, "") // Standalone page numbers
|
|
422
|
+
.replace(/^\s*Page \d+.*$/gim, "") // "Page X" patterns
|
|
423
|
+
// Fix common PDF extraction issues
|
|
424
|
+
.replace(/([a-z])(\n)([A-Z])/g, "$1 $3") // Fix broken sentences across lines
|
|
425
|
+
.replace(/([a-z,;])(\n)([a-z])/g, "$1 $3") // Fix broken words across lines
|
|
426
|
+
.replace(/(\w)-(\n)(\w)/g, "$1$3") // Fix hyphenated words broken across lines
|
|
427
|
+
.trim());
|
|
428
|
+
}
|
|
429
|
+
splitIntoSentences(text) {
|
|
430
|
+
// Split by sentences but be smart about abbreviations and numbers
|
|
431
|
+
const sentences = [];
|
|
432
|
+
// Split by common sentence endings followed by whitespace and capital letter
|
|
433
|
+
const parts = text.split(/([.!?]+)\s+(?=[A-Z])/);
|
|
434
|
+
let currentSentence = "";
|
|
435
|
+
for (let i = 0; i < parts.length; i++) {
|
|
436
|
+
const part = parts[i];
|
|
437
|
+
if (/^[.!?]+$/.test(part)) {
|
|
438
|
+
// This is punctuation
|
|
439
|
+
currentSentence += part;
|
|
440
|
+
// Check if next part starts with capital (new sentence)
|
|
441
|
+
if (i + 1 < parts.length && /^[A-Z]/.test(parts[i + 1])) {
|
|
442
|
+
sentences.push(currentSentence.trim());
|
|
443
|
+
currentSentence = "";
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
currentSentence += part;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
// Add any remaining content
|
|
451
|
+
if (currentSentence.trim()) {
|
|
452
|
+
sentences.push(currentSentence.trim());
|
|
453
|
+
}
|
|
454
|
+
return sentences.filter((s) => s.length > 0);
|
|
455
|
+
}
|
|
456
|
+
reconstructLogicalParagraphs(sentences) {
|
|
457
|
+
const paragraphs = [];
|
|
458
|
+
let currentParagraph = "";
|
|
459
|
+
for (let i = 0; i < sentences.length; i++) {
|
|
460
|
+
const sentence = sentences[i];
|
|
461
|
+
const nextSentence = sentences[i + 1];
|
|
462
|
+
// Add sentence to current paragraph
|
|
463
|
+
currentParagraph += (currentParagraph ? " " : "") + sentence;
|
|
464
|
+
// Check if we should end this paragraph
|
|
465
|
+
if (this.shouldEndParagraph(sentence, nextSentence)) {
|
|
466
|
+
paragraphs.push(currentParagraph.trim());
|
|
467
|
+
currentParagraph = "";
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
// Add final paragraph
|
|
471
|
+
if (currentParagraph.trim()) {
|
|
472
|
+
paragraphs.push(currentParagraph.trim());
|
|
473
|
+
}
|
|
474
|
+
return paragraphs;
|
|
475
|
+
}
|
|
476
|
+
shouldEndParagraph(currentSentence, nextSentence) {
|
|
477
|
+
if (!nextSentence)
|
|
478
|
+
return true;
|
|
479
|
+
// End paragraph if next sentence looks like a header
|
|
480
|
+
if (this.isHeaderParagraph(nextSentence)) {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
// End paragraph if current sentence ends with paragraph indicators
|
|
484
|
+
if (/[.!?]\s*$/.test(currentSentence)) {
|
|
485
|
+
// Check if next sentence starts a new logical section
|
|
486
|
+
if (/^\d+\.\s/.test(nextSentence) || // Numbered lists
|
|
487
|
+
/^[A-Z][a-z]+\s*\d+/.test(nextSentence) || // "Article 1", etc.
|
|
488
|
+
nextSentence === nextSentence.toUpperCase()) {
|
|
489
|
+
// All caps
|
|
490
|
+
return true;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
return false;
|
|
494
|
+
}
|
|
495
|
+
isHeaderParagraph(paragraph) {
|
|
496
|
+
const trimmed = paragraph.trim();
|
|
497
|
+
// Use the same header detection logic but for full paragraphs
|
|
498
|
+
return this.detectHeader(trimmed, undefined);
|
|
499
|
+
}
|
|
500
|
+
detectHeader(line, nextLine) {
|
|
501
|
+
const trimmedLine = line.trim();
|
|
502
|
+
// Skip very short or very long lines
|
|
503
|
+
if (trimmedLine.length < 5 || trimmedLine.length > 150)
|
|
504
|
+
return false;
|
|
505
|
+
// 1. All uppercase titles (main document titles) - language independent
|
|
506
|
+
if (trimmedLine === trimmedLine.toUpperCase() && /[A-Z]/.test(trimmedLine) && trimmedLine.length > 15) {
|
|
507
|
+
return true;
|
|
508
|
+
}
|
|
509
|
+
// 2. Structural section pattern: [Word].[Number][Separator][Description]
|
|
510
|
+
// Matches: "Art. 1 –", "Section 1 -", "Artikel 1 –", "Capítulo 1 :", etc.
|
|
511
|
+
if (/^\w+\.?\s*\d+\s*[\-–—:]\s*.{3,}/.test(trimmedLine)) {
|
|
512
|
+
// Additional check: make sure it's not just a numbered paragraph within text
|
|
513
|
+
// Headers usually have decent length and structure
|
|
514
|
+
if (trimmedLine.length > 20 && trimmedLine.length < 120) {
|
|
515
|
+
return true;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
// 3. Pure numbered sections without prefix: "1. [Long descriptive title]", "2. [Long descriptive title]"
|
|
519
|
+
// But only if it looks like a section title, not a paragraph
|
|
520
|
+
if (/^\d+\.\s+.{20,100}$/.test(trimmedLine) && !/[.!?]$/.test(trimmedLine)) {
|
|
521
|
+
// Check if next line suggests this is a section (long content follows)
|
|
522
|
+
if (nextLine && nextLine.trim().length > 50) {
|
|
523
|
+
return true;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
return false;
|
|
527
|
+
}
|
|
528
|
+
detectTableLine(line) {
|
|
529
|
+
// Look for table-like patterns
|
|
530
|
+
const patterns = [
|
|
531
|
+
/\t.*\t/, // Tab separated
|
|
532
|
+
/\|.*\|/, // Pipe separated
|
|
533
|
+
/\s{3,}.*\s{3,}/, // Multiple spaces (column alignment)
|
|
534
|
+
/^\s*\w+\s+\d+/, // Word followed by number
|
|
535
|
+
/^\s*\d+\s+\w+/, // Number followed by word
|
|
536
|
+
];
|
|
537
|
+
return patterns.some((pattern) => pattern.test(line));
|
|
538
|
+
}
|
|
539
|
+
processTableLines(lines) {
|
|
540
|
+
if (lines.length < 2)
|
|
541
|
+
return null;
|
|
542
|
+
// Simple table processing - convert to markdown-like structure
|
|
543
|
+
const tableRows = lines.map((line) => {
|
|
544
|
+
// Split by tabs, pipes, or multiple spaces
|
|
545
|
+
const cells = line
|
|
546
|
+
.split(/\t|\||\s{3,}/)
|
|
547
|
+
.map((cell) => cell.trim())
|
|
548
|
+
.filter((cell) => cell.length > 0);
|
|
549
|
+
return cells;
|
|
550
|
+
});
|
|
551
|
+
// Ensure consistent column count
|
|
552
|
+
const maxCols = Math.max(...tableRows.map((row) => row.length));
|
|
553
|
+
if (maxCols < 2)
|
|
554
|
+
return null; // Not a valid table
|
|
555
|
+
const normalizedRows = tableRows.map((row) => {
|
|
556
|
+
while (row.length < maxCols)
|
|
557
|
+
row.push("");
|
|
558
|
+
return row;
|
|
559
|
+
});
|
|
560
|
+
return {
|
|
561
|
+
type: "table",
|
|
562
|
+
rows: normalizedRows.map((cells, index) => ({
|
|
563
|
+
cells: cells.map((content, cellIndex) => ({
|
|
564
|
+
content,
|
|
565
|
+
x: cellIndex * 100, // Approximate positioning
|
|
566
|
+
y: index * 20,
|
|
567
|
+
width: 100,
|
|
568
|
+
height: 20,
|
|
569
|
+
})),
|
|
570
|
+
y: index * 20,
|
|
571
|
+
height: 20,
|
|
572
|
+
})),
|
|
573
|
+
x: 0,
|
|
574
|
+
y: 0,
|
|
575
|
+
width: maxCols * 100,
|
|
576
|
+
height: normalizedRows.length * 20,
|
|
577
|
+
pageNumber: 1,
|
|
578
|
+
confidence: 0.7,
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
detectScannedPdf(extractedText) {
|
|
582
|
+
this.logger.log("--- Scanned PDF Detection ---");
|
|
583
|
+
if (!extractedText || typeof extractedText !== "string") {
|
|
584
|
+
this.logger.log("→ No text extracted → SCANNED");
|
|
585
|
+
return true; // No text extracted, likely scanned
|
|
586
|
+
}
|
|
587
|
+
const text = extractedText.trim();
|
|
588
|
+
this.logger.log(`Text length: ${text.length} characters`);
|
|
589
|
+
// Check 1: Very little text extracted
|
|
590
|
+
if (text.length < 100) {
|
|
591
|
+
this.logger.log("→ Text too short (< 100 chars) → SCANNED");
|
|
592
|
+
return true;
|
|
593
|
+
}
|
|
594
|
+
// Check 2: Count words
|
|
595
|
+
const words = text.split(/\s+/).filter((word) => word.length > 0);
|
|
596
|
+
this.logger.log(`Word count: ${words.length} words`);
|
|
597
|
+
if (words.length < 20) {
|
|
598
|
+
this.logger.log("→ Too few words (< 20) → SCANNED");
|
|
599
|
+
return true;
|
|
600
|
+
}
|
|
601
|
+
// Check 3: Text density - ratio of meaningful characters to total length
|
|
602
|
+
const meaningfulChars = text.replace(/\s+/g, "").length;
|
|
603
|
+
const totalChars = text.length;
|
|
604
|
+
const textDensity = meaningfulChars / totalChars;
|
|
605
|
+
this.logger.log(`Text density: ${(textDensity * 100).toFixed(1)}% (threshold: >= 30%)`);
|
|
606
|
+
if (textDensity < 0.3) {
|
|
607
|
+
this.logger.log("→ Low text density → SCANNED");
|
|
608
|
+
return true;
|
|
609
|
+
}
|
|
610
|
+
// Check 4: Garbled text patterns (common in poor PDF extraction)
|
|
611
|
+
const garbledPatterns = [
|
|
612
|
+
/[^\w\s\.\,\!\?\;\:\-\(\)]{3,}/g, // Multiple non-word characters in sequence
|
|
613
|
+
/\w{20,}/g, // Very long words (often extraction errors)
|
|
614
|
+
/[A-Z]{10,}/g, // Very long sequences of capital letters
|
|
615
|
+
];
|
|
616
|
+
let garbledCount = 0;
|
|
617
|
+
for (const pattern of garbledPatterns) {
|
|
618
|
+
const matches = text.match(pattern);
|
|
619
|
+
if (matches) {
|
|
620
|
+
garbledCount += matches.length;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
const garbledRatio = garbledCount / words.length;
|
|
624
|
+
this.logger.log(`Garbled pattern ratio: ${(garbledRatio * 100).toFixed(1)}% (threshold: < 10%)`);
|
|
625
|
+
if (garbledRatio > 0.1) {
|
|
626
|
+
this.logger.log("→ High garbled pattern ratio → SCANNED");
|
|
627
|
+
return true;
|
|
628
|
+
}
|
|
629
|
+
// Check 5: Average line length - scanned PDFs often have very short or very long lines
|
|
630
|
+
const lines = text
|
|
631
|
+
.split("\n")
|
|
632
|
+
.map((line) => line.trim())
|
|
633
|
+
.filter((line) => line.length > 0);
|
|
634
|
+
if (lines.length > 0) {
|
|
635
|
+
const avgLineLength = lines.reduce((sum, line) => sum + line.length, 0) / lines.length;
|
|
636
|
+
this.logger.log(`Average line length: ${avgLineLength.toFixed(1)} chars (threshold: 20-200)`);
|
|
637
|
+
if (avgLineLength < 20 || avgLineLength > 200) {
|
|
638
|
+
this.logger.log("→ Abnormal line length → SCANNED");
|
|
639
|
+
return true;
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
// Check 6: CRITICAL - Use comprehensive garbage detection
|
|
643
|
+
// This catches upside-down/rotated text, gibberish from badly scanned PDFs
|
|
644
|
+
this.logger.log("Check 6: Running comprehensive garbage detection...");
|
|
645
|
+
const isGarbage = this.isGarbageOcrOutput(text);
|
|
646
|
+
if (isGarbage) {
|
|
647
|
+
this.logger.log("→ Garbage text detected (see garbage detection logs above) → SCANNED");
|
|
648
|
+
return true;
|
|
649
|
+
}
|
|
650
|
+
// If we get here, the PDF likely has good native text
|
|
651
|
+
this.logger.log("→ All checks passed → NOT SCANNED (good native text)");
|
|
652
|
+
return false;
|
|
653
|
+
}
|
|
654
|
+
async extractWithBasicParsing(pdfPath) {
|
|
655
|
+
let parser = null;
|
|
656
|
+
try {
|
|
657
|
+
const buffer = fs.readFileSync(pdfPath);
|
|
658
|
+
parser = new pdf_parse_1.PDFParse({ data: buffer });
|
|
659
|
+
const textResult = await parser.getText();
|
|
660
|
+
if (!textResult.text || textResult.text.trim() === "") {
|
|
661
|
+
return [];
|
|
662
|
+
}
|
|
663
|
+
// Split into paragraphs and create content blocks
|
|
664
|
+
const paragraphs = textResult.text
|
|
665
|
+
.split(/\n\s*\n/)
|
|
666
|
+
.map((p) => p.trim())
|
|
667
|
+
.filter((p) => p.length > 0);
|
|
668
|
+
return paragraphs.map((paragraph) => ({
|
|
669
|
+
type: "paragraphs",
|
|
670
|
+
content: paragraph,
|
|
671
|
+
pageNumber: 1, // pdf-parse doesn't provide page info
|
|
672
|
+
confidence: 0.6, // Lower confidence for basic extraction
|
|
673
|
+
}));
|
|
674
|
+
}
|
|
675
|
+
finally {
|
|
676
|
+
if (parser) {
|
|
677
|
+
await parser.destroy();
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
async extractWithOCR(pdfPath, options) {
|
|
682
|
+
if (!options.enableOCR) {
|
|
683
|
+
return [];
|
|
684
|
+
}
|
|
685
|
+
const startTime = Date.now();
|
|
686
|
+
let processedPages = 0;
|
|
687
|
+
let successfulPages = 0;
|
|
688
|
+
try {
|
|
689
|
+
// Check file size for memory planning
|
|
690
|
+
const stats = fs.statSync(pdfPath);
|
|
691
|
+
const fileSizeMB = stats.size / (1024 * 1024);
|
|
692
|
+
if (fileSizeMB > 50) {
|
|
693
|
+
this.logger.warn(`Large PDF file detected (${fileSizeMB.toFixed(2)} MB). OCR processing may take significant time and memory.`);
|
|
694
|
+
}
|
|
695
|
+
// Convert PDF pages to images
|
|
696
|
+
const images = await this.convertPdfToImages(pdfPath);
|
|
697
|
+
if (images.length === 0) {
|
|
698
|
+
this.logger.warn("No images extracted from PDF for OCR");
|
|
699
|
+
return [];
|
|
700
|
+
}
|
|
701
|
+
// Process each image with OCR
|
|
702
|
+
let combinedText = "";
|
|
703
|
+
const pageResults = [];
|
|
704
|
+
for (let i = 0; i < images.length; i++) {
|
|
705
|
+
processedPages++;
|
|
706
|
+
const pageStartTime = Date.now();
|
|
707
|
+
try {
|
|
708
|
+
const pageText = await this.processImageWithOCR(images[i], options);
|
|
709
|
+
if (pageText && pageText.trim()) {
|
|
710
|
+
combinedText += pageText + "\n\n";
|
|
711
|
+
successfulPages++;
|
|
712
|
+
pageResults.push({
|
|
713
|
+
pageNum: i + 1,
|
|
714
|
+
success: true,
|
|
715
|
+
textLength: pageText.length,
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
else {
|
|
719
|
+
pageResults.push({
|
|
720
|
+
pageNum: i + 1,
|
|
721
|
+
success: false,
|
|
722
|
+
textLength: 0,
|
|
723
|
+
error: "No text extracted",
|
|
724
|
+
});
|
|
725
|
+
this.logger.warn(`OCR page ${i + 1} yielded no text content`);
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
catch (pageError) {
|
|
729
|
+
const pageTime = Date.now() - pageStartTime;
|
|
730
|
+
const errorMessage = pageError instanceof Error ? pageError.message : String(pageError);
|
|
731
|
+
pageResults.push({
|
|
732
|
+
pageNum: i + 1,
|
|
733
|
+
success: false,
|
|
734
|
+
textLength: 0,
|
|
735
|
+
error: errorMessage,
|
|
736
|
+
});
|
|
737
|
+
this.logger.warn(`OCR failed for page ${i + 1} after ${pageTime}ms:`, errorMessage);
|
|
738
|
+
// Continue with other pages
|
|
739
|
+
}
|
|
740
|
+
// Memory cleanup hint for large documents
|
|
741
|
+
if (i > 0 && i % 5 === 0) {
|
|
742
|
+
if (global.gc) {
|
|
743
|
+
global.gc();
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
if (!combinedText.trim()) {
|
|
748
|
+
this.logger.warn("OCR did not extract any text from any page");
|
|
749
|
+
// Log detailed failure analysis
|
|
750
|
+
const failureReasons = pageResults
|
|
751
|
+
.filter((result) => !result.success)
|
|
752
|
+
.map((result) => `Page ${result.pageNum}: ${result.error}`)
|
|
753
|
+
.join("; ");
|
|
754
|
+
this.logger.warn(`OCR failure details: ${failureReasons}`);
|
|
755
|
+
return [];
|
|
756
|
+
}
|
|
757
|
+
// Process OCR text through the same intelligent analysis pipeline
|
|
758
|
+
const structuredContent = this.analyzeAndStructureText(combinedText);
|
|
759
|
+
return structuredContent;
|
|
760
|
+
}
|
|
761
|
+
catch (error) {
|
|
762
|
+
const totalTime = Date.now() - startTime;
|
|
763
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
764
|
+
this.logger.error(`OCR extraction failed after ${totalTime}ms (processed ${processedPages} pages, ${successfulPages} successful):`, errorMessage);
|
|
765
|
+
// Provide actionable error information
|
|
766
|
+
if (errorMessage.includes("ENOENT") || errorMessage.includes("not found")) {
|
|
767
|
+
this.logger.error("OCR failure appears to be due to missing Tesseract installation. Please ensure Tesseract OCR is properly installed.");
|
|
768
|
+
}
|
|
769
|
+
else if (errorMessage.includes("memory") || errorMessage.includes("heap")) {
|
|
770
|
+
this.logger.error("OCR failure appears to be due to insufficient memory. Consider processing smaller PDF files or increasing Node.js memory allocation.");
|
|
771
|
+
}
|
|
772
|
+
return [];
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
async convertPdfToImages(pdfPath) {
|
|
776
|
+
const startTime = Date.now();
|
|
777
|
+
let parser = null;
|
|
778
|
+
try {
|
|
779
|
+
// Verify PDF file exists and is readable
|
|
780
|
+
if (!fs.existsSync(pdfPath)) {
|
|
781
|
+
throw new Error(`PDF file not found: ${pdfPath}`);
|
|
782
|
+
}
|
|
783
|
+
const convert = pdf2pic.fromPath(pdfPath, {
|
|
784
|
+
density: 400, // Higher DPI for better OCR accuracy on scanned documents
|
|
785
|
+
saveFilename: "page",
|
|
786
|
+
savePath: "/tmp", // Temporary path
|
|
787
|
+
format: "png", // PNG format for better OCR results
|
|
788
|
+
width: 3307, // Scaled width for 400 DPI (proportional to density increase)
|
|
789
|
+
height: 4677, // Scaled height for 400 DPI
|
|
790
|
+
preserveAspectRatio: true,
|
|
791
|
+
graphicsMagick: true, // Use GraphicsMagick instead of ImageMagick (will find 'gm' in PATH)
|
|
792
|
+
});
|
|
793
|
+
// Get total number of pages first
|
|
794
|
+
const buffer = fs.readFileSync(pdfPath);
|
|
795
|
+
parser = new pdf_parse_1.PDFParse({ data: buffer });
|
|
796
|
+
const infoResult = await parser.getInfo();
|
|
797
|
+
const pageCount = infoResult.info?.numPages || 1;
|
|
798
|
+
// Limit pages based on file size and configuration
|
|
799
|
+
const maxPages = Math.min(pageCount, 20); // Hard limit for performance
|
|
800
|
+
if (pageCount > 20) {
|
|
801
|
+
this.logger.warn(`PDF has ${pageCount} pages, limiting OCR to first ${maxPages} pages for performance`);
|
|
802
|
+
}
|
|
803
|
+
const imageBuffers = [];
|
|
804
|
+
let failedPages = 0;
|
|
805
|
+
// Convert each page to image
|
|
806
|
+
for (let pageNum = 1; pageNum <= maxPages; pageNum++) {
|
|
807
|
+
const pageStartTime = Date.now();
|
|
808
|
+
try {
|
|
809
|
+
const result = await convert(pageNum, { responseType: "buffer" });
|
|
810
|
+
if (result && result.buffer && result.buffer.length > 0) {
|
|
811
|
+
imageBuffers.push(result.buffer);
|
|
812
|
+
}
|
|
813
|
+
else {
|
|
814
|
+
failedPages++;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
catch (pageError) {
|
|
818
|
+
failedPages++;
|
|
819
|
+
const pageTime = Date.now() - pageStartTime;
|
|
820
|
+
const errorMessage = pageError instanceof Error ? pageError.message : String(pageError);
|
|
821
|
+
const errorStack = pageError instanceof Error ? pageError.stack : undefined;
|
|
822
|
+
this.logger.error(`Error converting page ${pageNum} after ${pageTime}ms: ${errorMessage}`);
|
|
823
|
+
if (errorStack) {
|
|
824
|
+
this.logger.error(`Stack trace: ${errorStack}`);
|
|
825
|
+
}
|
|
826
|
+
// Try to identify specific error types
|
|
827
|
+
if (errorMessage.includes("permission")) {
|
|
828
|
+
this.logger.error("PDF conversion failed due to permission issues. Check file permissions and /tmp directory access.");
|
|
829
|
+
}
|
|
830
|
+
else if (errorMessage.includes("memory") || errorMessage.includes("heap")) {
|
|
831
|
+
this.logger.error("PDF conversion failed due to memory constraints. Consider processing smaller documents.");
|
|
832
|
+
}
|
|
833
|
+
else if (errorMessage.includes("not found") || errorMessage.includes("spawn")) {
|
|
834
|
+
this.logger.error("PDF conversion failed: GraphicsMagick binary not found or not executable");
|
|
835
|
+
}
|
|
836
|
+
// Continue with other pages
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
if (failedPages > 0) {
|
|
840
|
+
this.logger.warn(`${failedPages} pages failed to convert to images`);
|
|
841
|
+
}
|
|
842
|
+
return imageBuffers;
|
|
843
|
+
}
|
|
844
|
+
catch (error) {
|
|
845
|
+
const totalTime = Date.now() - startTime;
|
|
846
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
847
|
+
this.logger.error(`Failed to convert PDF to images after ${totalTime}ms: ${errorMessage}`);
|
|
848
|
+
// Provide specific guidance based on error type
|
|
849
|
+
if (errorMessage.includes("not found") || errorMessage.includes("ENOENT")) {
|
|
850
|
+
this.logger.error("PDF conversion failed: File not found or pdf2pic dependencies missing. Ensure GraphicsMagick/ImageMagick is installed.");
|
|
851
|
+
}
|
|
852
|
+
else if (errorMessage.includes("spawn") || errorMessage.includes("command")) {
|
|
853
|
+
this.logger.error("PDF conversion failed: External command execution failed. Check system dependencies (GraphicsMagick/ImageMagick).");
|
|
854
|
+
}
|
|
855
|
+
return [];
|
|
856
|
+
}
|
|
857
|
+
finally {
|
|
858
|
+
if (parser) {
|
|
859
|
+
await parser.destroy();
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
async processImageWithOCR(imageBuffer, options) {
|
|
864
|
+
const startTime = Date.now();
|
|
865
|
+
this.logger.log("==================== OCR PIPELINE START ====================");
|
|
866
|
+
this.logger.log(`Image buffer size: ${(imageBuffer.length / 1024).toFixed(2)} KB`);
|
|
867
|
+
this.logger.log(`OCR options: language=${options.ocrLanguage}, preprocessing=${options.ocrImagePreprocessing}`);
|
|
868
|
+
try {
|
|
869
|
+
// Validate input buffer
|
|
870
|
+
if (!imageBuffer || imageBuffer.length === 0) {
|
|
871
|
+
throw new Error("Invalid image buffer: empty or null buffer provided");
|
|
872
|
+
}
|
|
873
|
+
// Step 1: Detect and correct rotation FIRST (before any processing)
|
|
874
|
+
this.logger.log("--- Step 1: Rotation Detection ---");
|
|
875
|
+
let orientedImageBuffer = imageBuffer;
|
|
876
|
+
let rotationApplied = false;
|
|
877
|
+
try {
|
|
878
|
+
const beforeRotation = imageBuffer.length;
|
|
879
|
+
orientedImageBuffer = await this.detectAndCorrectRotation(imageBuffer);
|
|
880
|
+
const afterRotation = orientedImageBuffer.length;
|
|
881
|
+
rotationApplied = beforeRotation !== afterRotation;
|
|
882
|
+
if (rotationApplied) {
|
|
883
|
+
this.logger.log(`✓ Rotation correction applied (buffer changed: ${beforeRotation} → ${afterRotation} bytes)`);
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
catch {
|
|
887
|
+
this.logger.log("⚠️ Rotation detection failed, proceeding with original orientation");
|
|
888
|
+
orientedImageBuffer = imageBuffer;
|
|
889
|
+
}
|
|
890
|
+
// Configure OCR with PSM 3 (fully automatic page segmentation)
|
|
891
|
+
const ocrOptions = {
|
|
892
|
+
lang: options.ocrLanguage || "eng",
|
|
893
|
+
oem: 1, // Use LSTM OCR Engine Mode
|
|
894
|
+
psm: 3, // Fully automatic page segmentation without OSD
|
|
895
|
+
};
|
|
896
|
+
this.logger.log(`--- OCR Configuration ---`);
|
|
897
|
+
this.logger.log(`Language: ${ocrOptions.lang}, OEM: ${ocrOptions.oem}, PSM: ${ocrOptions.psm}`);
|
|
898
|
+
// Step 2: Apply image preprocessing if enabled AND if image quality assessment suggests it
|
|
899
|
+
this.logger.log("--- Step 2: Preprocessing Assessment ---");
|
|
900
|
+
let processedImageBuffer = orientedImageBuffer;
|
|
901
|
+
if (options.ocrImagePreprocessing) {
|
|
902
|
+
this.logger.log("Preprocessing is ENABLED, assessing image quality...");
|
|
903
|
+
const shouldPreprocess = await this.shouldPreprocessImage(orientedImageBuffer);
|
|
904
|
+
if (shouldPreprocess) {
|
|
905
|
+
const preprocessStart = Date.now();
|
|
906
|
+
this.logger.log("→ Quality assessment: APPLY preprocessing (image needs enhancement)");
|
|
907
|
+
try {
|
|
908
|
+
processedImageBuffer = await this.preprocessImageForOCR(orientedImageBuffer);
|
|
909
|
+
this.logger.log(`✓ Preprocessing completed in ${Date.now() - preprocessStart}ms`);
|
|
910
|
+
}
|
|
911
|
+
catch (preprocessError) {
|
|
912
|
+
const preprocessErrorMessage = preprocessError instanceof Error ? preprocessError.message : String(preprocessError);
|
|
913
|
+
this.logger.warn(`⚠️ Preprocessing failed after ${Date.now() - preprocessStart}ms: ${preprocessErrorMessage}`);
|
|
914
|
+
processedImageBuffer = orientedImageBuffer;
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
else {
|
|
918
|
+
this.logger.log("→ Quality assessment: SKIP preprocessing (image is high quality)");
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
else {
|
|
922
|
+
this.logger.log("Preprocessing is DISABLED (default setting)");
|
|
923
|
+
}
|
|
924
|
+
// Step 3: Perform OCR text extraction
|
|
925
|
+
this.logger.log("--- Step 3: OCR Extraction ---");
|
|
926
|
+
this.logger.log("Performing OCR text extraction...");
|
|
927
|
+
const ocrStart = Date.now();
|
|
928
|
+
const text = await tesseract.recognize(processedImageBuffer, ocrOptions);
|
|
929
|
+
this.logger.log(`OCR extraction completed in ${Date.now() - ocrStart}ms`);
|
|
930
|
+
this.logger.log(`Raw OCR output length: ${text.length} characters`);
|
|
931
|
+
this.logger.log(`Raw OCR output (first 500 chars):\n"${text.substring(0, 500)}..."`);
|
|
932
|
+
if (text && text.trim()) {
|
|
933
|
+
// Step 4: Validate OCR quality - reject garbage output
|
|
934
|
+
this.logger.log("--- Step 4: Quality Check ---");
|
|
935
|
+
this.logger.log("Running garbage detection (see detailed logs below)...");
|
|
936
|
+
if (this.isGarbageOcrOutput(text)) {
|
|
937
|
+
this.logger.warn("❌ REJECTED: OCR produced garbage output");
|
|
938
|
+
this.logger.log("==================== OCR PIPELINE END (REJECTED: GARBAGE) ====================");
|
|
939
|
+
return "";
|
|
940
|
+
}
|
|
941
|
+
// Step 5: Clean up trailing artifacts (stamps, margin text, etc.)
|
|
942
|
+
this.logger.log("--- Step 5: Artifact Cleanup ---");
|
|
943
|
+
const cleanedText = this.cleanupOcrArtifacts(text);
|
|
944
|
+
const totalTime = Date.now() - startTime;
|
|
945
|
+
this.logger.log(`✅ OCR SUCCESSFUL - Total time: ${totalTime}ms`);
|
|
946
|
+
this.logger.log("==================== OCR PIPELINE END (SUCCESS) ====================");
|
|
947
|
+
return cleanedText;
|
|
948
|
+
}
|
|
949
|
+
else {
|
|
950
|
+
this.logger.warn("❌ REJECTED: OCR returned empty text");
|
|
951
|
+
this.logger.log("==================== OCR PIPELINE END (EMPTY) ====================");
|
|
952
|
+
return "";
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
catch (error) {
|
|
956
|
+
const totalTime = Date.now() - startTime;
|
|
957
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
958
|
+
this.logger.error(`OCR processing failed after ${totalTime}ms: ${errorMessage}`);
|
|
959
|
+
// Provide specific guidance based on error type
|
|
960
|
+
if (errorMessage.includes("lang") || errorMessage.includes("language")) {
|
|
961
|
+
this.logger.error(`OCR language error: Invalid language code '${options.ocrLanguage}'. Ensure the language is installed in Tesseract.`);
|
|
962
|
+
}
|
|
963
|
+
else if (errorMessage.includes("tesseract") || errorMessage.includes("command not found")) {
|
|
964
|
+
this.logger.error("OCR failed: Tesseract OCR engine not found or not properly installed. Please install Tesseract OCR and ensure it's in the system PATH.");
|
|
965
|
+
}
|
|
966
|
+
else if (errorMessage.includes("timeout") || errorMessage.includes("killed")) {
|
|
967
|
+
this.logger.error("OCR failed: Process timeout or killed. The image may be too complex or system resources insufficient.");
|
|
968
|
+
}
|
|
969
|
+
else if (errorMessage.includes("memory") || errorMessage.includes("heap")) {
|
|
970
|
+
this.logger.error("OCR failed: Insufficient memory. Consider reducing image resolution or increasing Node.js memory allocation.");
|
|
971
|
+
}
|
|
972
|
+
else if (errorMessage.includes("Invalid image") || errorMessage.includes("buffer")) {
|
|
973
|
+
this.logger.error("OCR failed: Invalid image data. The image buffer may be corrupted or in an unsupported format.");
|
|
974
|
+
}
|
|
975
|
+
return "";
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
isGarbageOcrOutput(text) {
|
|
979
|
+
this.logger.log("==================== GARBAGE DETECTION START ====================");
|
|
980
|
+
this.logger.log(`Input text (first 200 chars): "${text.substring(0, 200)}..."`);
|
|
981
|
+
if (!text || text.trim().length < 10) {
|
|
982
|
+
this.logger.warn("❌ REJECTED: Text too short (< 10 chars)");
|
|
983
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
984
|
+
return true; // Too short to be meaningful
|
|
985
|
+
}
|
|
986
|
+
const trimmedText = text.trim();
|
|
987
|
+
const totalChars = trimmedText.length;
|
|
988
|
+
// Count various character types
|
|
989
|
+
const specialChars = (trimmedText.match(/[§|{}[\]\\<>«»°^~`]/g) || []).length;
|
|
990
|
+
const punctuation = (trimmedText.match(/[!?.,;:]/g) || []).length;
|
|
991
|
+
const punctuationRatio = punctuation / totalChars;
|
|
992
|
+
const wordChars = (trimmedText.match(/[a-zA-ZÀ-ÿ]/g) || []).length;
|
|
993
|
+
const digits = (trimmedText.match(/\d/g) || []).length;
|
|
994
|
+
this.logger.log("--- Character Analysis ---");
|
|
995
|
+
this.logger.log(`Total characters: ${totalChars}`);
|
|
996
|
+
this.logger.log(`Letters: ${wordChars} (${((wordChars / totalChars) * 100).toFixed(1)}%) [threshold: >= 60%]`);
|
|
997
|
+
this.logger.log(`Special chars: ${specialChars} (${((specialChars / totalChars) * 100).toFixed(1)}%) [threshold: < 15%]`);
|
|
998
|
+
this.logger.log(`Punctuation: ${punctuation} (${(punctuationRatio * 100).toFixed(1)}%) [threshold: < 20%]`);
|
|
999
|
+
this.logger.log(`Digits: ${digits} (${((digits / totalChars) * 100).toFixed(1)}%)`);
|
|
1000
|
+
// Check 1: Very high ratio of special/unusual characters (> 15%)
|
|
1001
|
+
const specialCharsRatio = specialChars / totalChars;
|
|
1002
|
+
if (specialCharsRatio > 0.15) {
|
|
1003
|
+
this.logger.warn(`❌ REJECTED: Check 1 FAILED - High special char ratio ${(specialCharsRatio * 100).toFixed(1)}%`);
|
|
1004
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1005
|
+
return true;
|
|
1006
|
+
}
|
|
1007
|
+
this.logger.log(`✓ Check 1 PASSED - Special char ratio ${(specialCharsRatio * 100).toFixed(1)}% is acceptable`);
|
|
1008
|
+
// Check 2: Very low ratio of actual letters (< 60%)
|
|
1009
|
+
const letterRatio = wordChars / totalChars;
|
|
1010
|
+
if (letterRatio < 0.6) {
|
|
1011
|
+
this.logger.warn(`❌ REJECTED: Check 2 FAILED - Low letter ratio ${(letterRatio * 100).toFixed(1)}%`);
|
|
1012
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1013
|
+
return true;
|
|
1014
|
+
}
|
|
1015
|
+
this.logger.log(`✓ Check 2 PASSED - Letter ratio ${(letterRatio * 100).toFixed(1)}% is acceptable`);
|
|
1016
|
+
// Check 3: Excessive punctuation (> 20%)
|
|
1017
|
+
if (punctuationRatio > 0.2) {
|
|
1018
|
+
this.logger.warn(`❌ REJECTED: Check 3 FAILED - High punctuation ratio ${(punctuationRatio * 100).toFixed(1)}%`);
|
|
1019
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1020
|
+
return true;
|
|
1021
|
+
}
|
|
1022
|
+
this.logger.log(`✓ Check 3 PASSED - Punctuation ratio ${(punctuationRatio * 100).toFixed(1)}% is acceptable`);
|
|
1023
|
+
// Check 4: Common OCR garbage patterns
|
|
1024
|
+
const garbagePatterns = [
|
|
1025
|
+
{ pattern: /[§]{3,}/, name: "§§§" },
|
|
1026
|
+
{ pattern: /[|]{3,}/, name: "|||" },
|
|
1027
|
+
{ pattern: /[{}[\]]{3,}/, name: "{{{/[[[" },
|
|
1028
|
+
{ pattern: /[!]{3,}/, name: "!!!" },
|
|
1029
|
+
{ pattern: /[']{5,}/, name: "'''''" },
|
|
1030
|
+
];
|
|
1031
|
+
for (const { pattern, name } of garbagePatterns) {
|
|
1032
|
+
if (pattern.test(trimmedText)) {
|
|
1033
|
+
this.logger.warn(`❌ REJECTED: Check 4 FAILED - Garbage pattern detected: ${name}`);
|
|
1034
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1035
|
+
return true;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
this.logger.log("✓ Check 4 PASSED - No garbage patterns detected");
|
|
1039
|
+
// Check 5: Detect gibberish words
|
|
1040
|
+
this.logger.log("--- Gibberish Word Analysis ---");
|
|
1041
|
+
const words = trimmedText.split(/\s+/).filter((w) => w.length > 2);
|
|
1042
|
+
this.logger.log(`Total words (>2 chars): ${words.length}`);
|
|
1043
|
+
if (words.length > 0) {
|
|
1044
|
+
let gibberishCount = 0;
|
|
1045
|
+
const gibberishWords = [];
|
|
1046
|
+
for (const word of words) {
|
|
1047
|
+
const hasMixedCase = /[a-z][A-Z]/.test(word);
|
|
1048
|
+
const hasNumberMix = /[a-zA-Z]\d|\d[a-zA-Z]/.test(word);
|
|
1049
|
+
const specialInWord = (word.match(/[§|{}[\]\\<>«»°^~`!@#$%&*]/g) || []).length;
|
|
1050
|
+
const hasSpecialMix = specialInWord / word.length > 0.2;
|
|
1051
|
+
if (hasMixedCase || hasNumberMix || hasSpecialMix) {
|
|
1052
|
+
gibberishCount++;
|
|
1053
|
+
const reasons = [];
|
|
1054
|
+
if (hasMixedCase)
|
|
1055
|
+
reasons.push("mixed-case");
|
|
1056
|
+
if (hasNumberMix)
|
|
1057
|
+
reasons.push("letter-digit-mix");
|
|
1058
|
+
if (hasSpecialMix)
|
|
1059
|
+
reasons.push("special-chars");
|
|
1060
|
+
gibberishWords.push(`"${word}" (${reasons.join(", ")})`);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
if (gibberishWords.length > 0) {
|
|
1064
|
+
this.logger.log(`Gibberish words found (${gibberishCount}/${words.length}):`);
|
|
1065
|
+
gibberishWords.slice(0, 10).forEach((w) => this.logger.log(` - ${w}`));
|
|
1066
|
+
if (gibberishWords.length > 10) {
|
|
1067
|
+
this.logger.log(` ... and ${gibberishWords.length - 10} more`);
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
const gibberishRatio = gibberishCount / words.length;
|
|
1071
|
+
if (gibberishRatio > 0.3) {
|
|
1072
|
+
this.logger.warn(`❌ REJECTED: Check 5 FAILED - High gibberish word ratio ${(gibberishRatio * 100).toFixed(1)}% (${gibberishCount}/${words.length} words)`);
|
|
1073
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1074
|
+
return true;
|
|
1075
|
+
}
|
|
1076
|
+
this.logger.log(`✓ Check 5 PASSED - Gibberish word ratio ${(gibberishRatio * 100).toFixed(1)}% is acceptable`);
|
|
1077
|
+
}
|
|
1078
|
+
this.logger.log("✅ ACCEPTED: All garbage checks passed - text appears valid");
|
|
1079
|
+
this.logger.log("==================== GARBAGE DETECTION END ====================");
|
|
1080
|
+
return false; // Looks reasonable
|
|
1081
|
+
}
|
|
1082
|
+
/**
|
|
1083
|
+
* Clean up OCR artifacts like stamps, margin text, and other trailing garbage
|
|
1084
|
+
* Detects and removes trailing sections with consecutive problematic lines
|
|
1085
|
+
* @param text Raw OCR text output
|
|
1086
|
+
* @returns Cleaned text with trailing artifacts removed
|
|
1087
|
+
*/
|
|
1088
|
+
cleanupOcrArtifacts(text) {
|
|
1089
|
+
this.logger.log("==================== OCR ARTIFACT CLEANUP START ====================");
|
|
1090
|
+
const lines = text.split("\n");
|
|
1091
|
+
this.logger.log(`Total lines: ${lines.length}`);
|
|
1092
|
+
// Scan backwards to find where garbage section starts
|
|
1093
|
+
let firstGarbageLineIndex = lines.length; // Start assuming no garbage
|
|
1094
|
+
let consecutiveGarbageLines = 0;
|
|
1095
|
+
const MIN_CONSECUTIVE_GARBAGE = 5; // Need at least 5 consecutive bad lines to trigger removal
|
|
1096
|
+
// Scan from end backwards
|
|
1097
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
1098
|
+
const line = lines[i].trim();
|
|
1099
|
+
// Skip empty lines (don't count as garbage or good)
|
|
1100
|
+
if (line.length === 0) {
|
|
1101
|
+
continue;
|
|
1102
|
+
}
|
|
1103
|
+
const isProblematicLine = this.isProblematicLine(line);
|
|
1104
|
+
if (isProblematicLine) {
|
|
1105
|
+
consecutiveGarbageLines++;
|
|
1106
|
+
firstGarbageLineIndex = i; // Mark this as potential start of garbage section
|
|
1107
|
+
}
|
|
1108
|
+
else {
|
|
1109
|
+
// Found a good line - check if we've accumulated enough garbage to remove
|
|
1110
|
+
if (consecutiveGarbageLines >= MIN_CONSECUTIVE_GARBAGE) {
|
|
1111
|
+
// We have a garbage section from firstGarbageLineIndex to end
|
|
1112
|
+
this.logger.log(`Found trailing garbage section starting at line ${firstGarbageLineIndex + 1}`);
|
|
1113
|
+
this.logger.log(`Consecutive garbage lines: ${consecutiveGarbageLines}`);
|
|
1114
|
+
break;
|
|
1115
|
+
}
|
|
1116
|
+
else {
|
|
1117
|
+
// Reset counter - not enough consecutive garbage
|
|
1118
|
+
consecutiveGarbageLines = 0;
|
|
1119
|
+
firstGarbageLineIndex = lines.length;
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
// Determine if we should truncate
|
|
1124
|
+
if (consecutiveGarbageLines >= MIN_CONSECUTIVE_GARBAGE && firstGarbageLineIndex < lines.length) {
|
|
1125
|
+
const cleanedLines = lines.slice(0, firstGarbageLineIndex);
|
|
1126
|
+
const cleanedText = cleanedLines.join("\n").trim();
|
|
1127
|
+
const removedLines = lines.length - firstGarbageLineIndex;
|
|
1128
|
+
const originalLength = text.length;
|
|
1129
|
+
const cleanedLength = cleanedText.length;
|
|
1130
|
+
const removedChars = originalLength - cleanedLength;
|
|
1131
|
+
this.logger.log(`✂️ TRUNCATED: Removed ${removedLines} trailing garbage lines`);
|
|
1132
|
+
this.logger.log(`Character reduction: ${originalLength} → ${cleanedLength} (removed ${removedChars} chars, ${((removedChars / originalLength) * 100).toFixed(1)}%)`);
|
|
1133
|
+
this.logger.log(`Removed content preview (first 200 chars):`);
|
|
1134
|
+
this.logger.log(`"${lines
|
|
1135
|
+
.slice(firstGarbageLineIndex, firstGarbageLineIndex + 10)
|
|
1136
|
+
.join("\n")
|
|
1137
|
+
.substring(0, 200)}..."`);
|
|
1138
|
+
this.logger.log("==================== OCR ARTIFACT CLEANUP END ====================");
|
|
1139
|
+
return cleanedText;
|
|
1140
|
+
}
|
|
1141
|
+
else {
|
|
1142
|
+
this.logger.log("✓ No trailing garbage detected - keeping full text");
|
|
1143
|
+
this.logger.log("==================== OCR ARTIFACT CLEANUP END ====================");
|
|
1144
|
+
return text;
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
/**
|
|
1148
|
+
* Check if a line is problematic (likely an artifact/stamp/margin text)
|
|
1149
|
+
* @param line Single line of text (trimmed)
|
|
1150
|
+
* @returns true if the line looks like garbage/artifact
|
|
1151
|
+
*/
|
|
1152
|
+
isProblematicLine(line) {
|
|
1153
|
+
// Check 1: Very short lines (< 5 chars) - likely fragments
|
|
1154
|
+
if (line.length < 5) {
|
|
1155
|
+
return true;
|
|
1156
|
+
}
|
|
1157
|
+
// Count character types
|
|
1158
|
+
let letters = 0;
|
|
1159
|
+
let specialChars = 0;
|
|
1160
|
+
for (const char of line) {
|
|
1161
|
+
if (/[a-zA-Z\u00C0-\u017F]/.test(char)) {
|
|
1162
|
+
letters++;
|
|
1163
|
+
}
|
|
1164
|
+
else if (/[!@#$%^&*()_+=\[\]{};':"\\|<>?~`§°]/.test(char)) {
|
|
1165
|
+
specialChars++;
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
// Check 2: High special character ratio (> 30%)
|
|
1169
|
+
const specialRatio = specialChars / line.length;
|
|
1170
|
+
if (specialRatio > 0.3) {
|
|
1171
|
+
return true;
|
|
1172
|
+
}
|
|
1173
|
+
// Check 3: Low letter ratio (< 40%) - mostly symbols/punctuation
|
|
1174
|
+
const letterRatio = letters / line.length;
|
|
1175
|
+
if (letterRatio < 0.4) {
|
|
1176
|
+
return true;
|
|
1177
|
+
}
|
|
1178
|
+
// Check 4: Pattern matching for common stamp/artifact patterns
|
|
1179
|
+
// Lines with many brackets, parentheses, or isolated symbols
|
|
1180
|
+
const bracketCount = (line.match(/[\[\](){}]/g) || []).length;
|
|
1181
|
+
if (bracketCount > 3) {
|
|
1182
|
+
return true;
|
|
1183
|
+
}
|
|
1184
|
+
return false;
|
|
1185
|
+
}
|
|
1186
|
+
/**
|
|
1187
|
+
* Detect and correct image rotation using Tesseract OSD (Orientation and Script Detection)
|
|
1188
|
+
* Returns the correctly oriented image buffer
|
|
1189
|
+
*/
|
|
1190
|
+
async detectAndCorrectRotation(imageBuffer) {
|
|
1191
|
+
try {
|
|
1192
|
+
// Use Tesseract PSM 0 for Orientation and Script Detection only
|
|
1193
|
+
// This doesn't do OCR, just detects the page orientation
|
|
1194
|
+
const osdResult = await tesseract.recognize(imageBuffer, {
|
|
1195
|
+
lang: "osd", // Special language for orientation detection
|
|
1196
|
+
psm: 0, // PSM 0: Orientation and script detection only
|
|
1197
|
+
});
|
|
1198
|
+
// Parse the OSD output to extract rotation angle
|
|
1199
|
+
// Example output: "Page number: 0\nOrientation in degrees: 90\n..."
|
|
1200
|
+
const rotateMatch = osdResult.match(/Orientation in degrees:\s*(\d+)/i) || osdResult.match(/Rotate:\s*(\d+)/i);
|
|
1201
|
+
if (rotateMatch) {
|
|
1202
|
+
const rotationAngle = parseInt(rotateMatch[1], 10);
|
|
1203
|
+
// Only rotate if angle is significant (90, 180, 270 degrees)
|
|
1204
|
+
if (rotationAngle === 90 || rotationAngle === 180 || rotationAngle === 270) {
|
|
1205
|
+
this.logger.debug(`Detected rotation: ${rotationAngle}° - correcting orientation`);
|
|
1206
|
+
// Rotate the image using Sharp
|
|
1207
|
+
// Note: Sharp rotates clockwise, so we need to negate for counter-clockwise correction
|
|
1208
|
+
const correctedBuffer = await sharp(imageBuffer).rotate(-rotationAngle).toBuffer();
|
|
1209
|
+
return correctedBuffer;
|
|
1210
|
+
}
|
|
1211
|
+
else if (rotationAngle === 0) {
|
|
1212
|
+
this.logger.debug("Image orientation is correct (0°)");
|
|
1213
|
+
return imageBuffer;
|
|
1214
|
+
}
|
|
1215
|
+
else {
|
|
1216
|
+
this.logger.warn(`Unusual rotation angle detected: ${rotationAngle}° - skipping correction`);
|
|
1217
|
+
return imageBuffer;
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
else {
|
|
1221
|
+
this.logger.debug("Could not detect rotation angle from OSD output, assuming correct orientation");
|
|
1222
|
+
return imageBuffer;
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
catch {
|
|
1226
|
+
// OSD can fail on images without clear text orientation
|
|
1227
|
+
// Don't fail the entire OCR process - just use original image
|
|
1228
|
+
this.logger.debug("Rotation detection failed (image may lack clear text orientation), using original image");
|
|
1229
|
+
return imageBuffer;
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
/**
|
|
1233
|
+
* Assess image quality to determine if preprocessing would help or damage the image
|
|
1234
|
+
* High-quality scans with clean text should SKIP preprocessing to avoid damaging text
|
|
1235
|
+
* Low-quality scans with noise/blur should USE preprocessing for enhancement
|
|
1236
|
+
*/
|
|
1237
|
+
async shouldPreprocessImage(imageBuffer) {
|
|
1238
|
+
try {
|
|
1239
|
+
const image = sharp(imageBuffer);
|
|
1240
|
+
const metadata = await image.metadata();
|
|
1241
|
+
const stats = await image.stats();
|
|
1242
|
+
// Check 1: High-resolution images (>= 300 DPI or width > 2000px)
|
|
1243
|
+
// High-res scans are typically clean and don't need aggressive enhancement
|
|
1244
|
+
const isHighResolution = (metadata.density && metadata.density >= 300) || (metadata.width && metadata.width > 2000);
|
|
1245
|
+
// Check 2: Image sharpness via entropy
|
|
1246
|
+
// Entropy > 6.5 suggests sharp, well-defined edges (clean scan)
|
|
1247
|
+
// Entropy < 5.0 suggests blurry or degraded image (needs preprocessing)
|
|
1248
|
+
const channels = stats.channels || [];
|
|
1249
|
+
const avgEntropy = channels.length > 0
|
|
1250
|
+
? channels.reduce((sum, ch) => sum + (ch.entropy || 0), 0) / channels.length
|
|
1251
|
+
: 0;
|
|
1252
|
+
const isSharp = avgEntropy > 6.5;
|
|
1253
|
+
// Check 3: Good contrast (not washed out or too dark)
|
|
1254
|
+
// Standard deviation of pixel values indicates contrast
|
|
1255
|
+
const avgStdDev = channels.length > 0 ? channels.reduce((sum, ch) => sum + (ch.std || 0), 0) / channels.length : 0;
|
|
1256
|
+
const hasGoodContrast = avgStdDev > 40; // Values typically range 0-128
|
|
1257
|
+
// Decision: Skip preprocessing if image is already high-quality
|
|
1258
|
+
const isHighQuality = isHighResolution && isSharp && hasGoodContrast;
|
|
1259
|
+
this.logger.debug(`Image quality assessment: resolution=${isHighResolution}, sharp=${isSharp} (entropy=${avgEntropy.toFixed(2)}), contrast=${hasGoodContrast} (stdDev=${avgStdDev.toFixed(2)}) → ${isHighQuality ? "skip" : "apply"} preprocessing`);
|
|
1260
|
+
return !isHighQuality; // Return true if preprocessing should be applied
|
|
1261
|
+
}
|
|
1262
|
+
catch (error) {
|
|
1263
|
+
this.logger.warn("Image quality assessment failed, applying preprocessing as fallback:", error);
|
|
1264
|
+
return true; // Default to preprocessing on error
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
async preprocessImageForOCR(imageBuffer) {
|
|
1268
|
+
try {
|
|
1269
|
+
// Apply image enhancements using Sharp
|
|
1270
|
+
const processedBuffer = await sharp(imageBuffer)
|
|
1271
|
+
// Convert to grayscale for better OCR performance
|
|
1272
|
+
.grayscale()
|
|
1273
|
+
// Enhance contrast and brightness
|
|
1274
|
+
.modulate({
|
|
1275
|
+
brightness: 1.1, // Slightly increase brightness
|
|
1276
|
+
saturation: 1.0, // Maintain saturation (will be ignored in grayscale)
|
|
1277
|
+
lightness: 1.0,
|
|
1278
|
+
})
|
|
1279
|
+
// Apply contrast enhancement
|
|
1280
|
+
.linear(1.2, 0) // Increase contrast by 20%
|
|
1281
|
+
// Apply sharpening filter to improve text clarity
|
|
1282
|
+
.sharpen({
|
|
1283
|
+
sigma: 1, // Sharpening strength
|
|
1284
|
+
m1: 1.0, // Sharpen dark areas
|
|
1285
|
+
m2: 0.2, // Don't over-sharpen light areas
|
|
1286
|
+
x1: 2, // Sharpening threshold
|
|
1287
|
+
y2: 10, // Maximum sharpening
|
|
1288
|
+
y3: 20, // Minimum sharpening
|
|
1289
|
+
})
|
|
1290
|
+
// Apply noise reduction
|
|
1291
|
+
.median(3) // 3x3 median filter to reduce noise
|
|
1292
|
+
// Ensure proper output format
|
|
1293
|
+
.png({
|
|
1294
|
+
quality: 100,
|
|
1295
|
+
compressionLevel: 0, // No compression for OCR
|
|
1296
|
+
progressive: false,
|
|
1297
|
+
})
|
|
1298
|
+
.toBuffer();
|
|
1299
|
+
return processedBuffer;
|
|
1300
|
+
}
|
|
1301
|
+
catch (error) {
|
|
1302
|
+
this.logger.warn("Image preprocessing failed, using original image:", error);
|
|
1303
|
+
return imageBuffer; // Return original if preprocessing fails
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
async getRawElements(filePath, options) {
|
|
1307
|
+
const contentBlocks = await this.extractPdfContent(filePath, options);
|
|
1308
|
+
return contentBlocks.map((block) => ({
|
|
1309
|
+
type: block.type,
|
|
1310
|
+
content: typeof block.content === "string" ? block.content : JSON.stringify(block.content),
|
|
1311
|
+
}));
|
|
1312
|
+
}
|
|
1313
|
+
async load(params, options) {
|
|
1314
|
+
const contentBlocks = await this.extractPdfContent(params.filePath, options);
|
|
1315
|
+
return contentBlocks.map((block) => new documents_1.Document({
|
|
1316
|
+
pageContent: block.content,
|
|
1317
|
+
metadata: {
|
|
1318
|
+
type: block.type,
|
|
1319
|
+
pageNumber: block.pageNumber,
|
|
1320
|
+
confidence: block.confidence,
|
|
1321
|
+
},
|
|
1322
|
+
}));
|
|
1323
|
+
}
|
|
1324
|
+
};
|
|
1325
|
+
exports.PdfService = PdfService;
|
|
1326
|
+
exports.PdfService = PdfService = PdfService_1 = __decorate([
|
|
1327
|
+
(0, common_1.Injectable)()
|
|
1328
|
+
], PdfService);
|
|
1329
|
+
//# sourceMappingURL=pdf.service.js.map
|