@proofhound/core 0.1.6
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 +190 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/infra/index.d.ts +12 -0
- package/dist/infra/index.d.ts.map +1 -0
- package/dist/infra/index.js +27 -0
- package/dist/infra/index.js.map +1 -0
- package/dist/server/channels/mcp/annotation.tools.d.ts +4 -0
- package/dist/server/channels/mcp/annotation.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/annotation.tools.js +132 -0
- package/dist/server/channels/mcp/annotation.tools.js.map +1 -0
- package/dist/server/channels/mcp/canary-release.tools.d.ts +4 -0
- package/dist/server/channels/mcp/canary-release.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/canary-release.tools.js +279 -0
- package/dist/server/channels/mcp/canary-release.tools.js.map +1 -0
- package/dist/server/channels/mcp/connector.tools.d.ts +4 -0
- package/dist/server/channels/mcp/connector.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/connector.tools.js +211 -0
- package/dist/server/channels/mcp/connector.tools.js.map +1 -0
- package/dist/server/channels/mcp/dataset-import.tools.d.ts +4 -0
- package/dist/server/channels/mcp/dataset-import.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/dataset-import.tools.js +107 -0
- package/dist/server/channels/mcp/dataset-import.tools.js.map +1 -0
- package/dist/server/channels/mcp/dataset.tools.d.ts +4 -0
- package/dist/server/channels/mcp/dataset.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/dataset.tools.js +166 -0
- package/dist/server/channels/mcp/dataset.tools.js.map +1 -0
- package/dist/server/channels/mcp/experiment.tools.d.ts +4 -0
- package/dist/server/channels/mcp/experiment.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/experiment.tools.js +133 -0
- package/dist/server/channels/mcp/experiment.tools.js.map +1 -0
- package/dist/server/channels/mcp/index.d.ts +19 -0
- package/dist/server/channels/mcp/index.d.ts.map +1 -0
- package/dist/server/channels/mcp/index.js +35 -0
- package/dist/server/channels/mcp/index.js.map +1 -0
- package/dist/server/channels/mcp/mcp-context.d.ts +30 -0
- package/dist/server/channels/mcp/mcp-context.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp-context.js +110 -0
- package/dist/server/channels/mcp/mcp-context.js.map +1 -0
- package/dist/server/channels/mcp/mcp-server.factory.d.ts +13 -0
- package/dist/server/channels/mcp/mcp-server.factory.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp-server.factory.js +42 -0
- package/dist/server/channels/mcp/mcp-server.factory.js.map +1 -0
- package/dist/server/channels/mcp/mcp.controller.d.ts +10 -0
- package/dist/server/channels/mcp/mcp.controller.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp.controller.js +67 -0
- package/dist/server/channels/mcp/mcp.controller.js.map +1 -0
- package/dist/server/channels/mcp/mcp.module.d.ts +3 -0
- package/dist/server/channels/mcp/mcp.module.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp.module.js +114 -0
- package/dist/server/channels/mcp/mcp.module.js.map +1 -0
- package/dist/server/channels/mcp/mcp.tokens.d.ts +2 -0
- package/dist/server/channels/mcp/mcp.tokens.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp.tokens.js +8 -0
- package/dist/server/channels/mcp/mcp.tokens.js.map +1 -0
- package/dist/server/channels/mcp/mcp.transport.d.ts +11 -0
- package/dist/server/channels/mcp/mcp.transport.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp.transport.js +71 -0
- package/dist/server/channels/mcp/mcp.transport.js.map +1 -0
- package/dist/server/channels/mcp/mcp.types.d.ts +16 -0
- package/dist/server/channels/mcp/mcp.types.d.ts.map +1 -0
- package/dist/server/channels/mcp/mcp.types.js +3 -0
- package/dist/server/channels/mcp/mcp.types.js.map +1 -0
- package/dist/server/channels/mcp/model.tools.d.ts +4 -0
- package/dist/server/channels/mcp/model.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/model.tools.js +215 -0
- package/dist/server/channels/mcp/model.tools.js.map +1 -0
- package/dist/server/channels/mcp/monitoring.tools.d.ts +4 -0
- package/dist/server/channels/mcp/monitoring.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/monitoring.tools.js +81 -0
- package/dist/server/channels/mcp/monitoring.tools.js.map +1 -0
- package/dist/server/channels/mcp/optimization.tools.d.ts +4 -0
- package/dist/server/channels/mcp/optimization.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/optimization.tools.js +104 -0
- package/dist/server/channels/mcp/optimization.tools.js.map +1 -0
- package/dist/server/channels/mcp/prompt.tools.d.ts +5 -0
- package/dist/server/channels/mcp/prompt.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/prompt.tools.js +258 -0
- package/dist/server/channels/mcp/prompt.tools.js.map +1 -0
- package/dist/server/channels/mcp/quick-start.tools.d.ts +4 -0
- package/dist/server/channels/mcp/quick-start.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/quick-start.tools.js +48 -0
- package/dist/server/channels/mcp/quick-start.tools.js.map +1 -0
- package/dist/server/channels/mcp/release-line.tools.d.ts +4 -0
- package/dist/server/channels/mcp/release-line.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/release-line.tools.js +101 -0
- package/dist/server/channels/mcp/release-line.tools.js.map +1 -0
- package/dist/server/channels/mcp/run-result.tools.d.ts +4 -0
- package/dist/server/channels/mcp/run-result.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/run-result.tools.js +116 -0
- package/dist/server/channels/mcp/run-result.tools.js.map +1 -0
- package/dist/server/channels/mcp/token.tools.d.ts +4 -0
- package/dist/server/channels/mcp/token.tools.d.ts.map +1 -0
- package/dist/server/channels/mcp/token.tools.js +87 -0
- package/dist/server/channels/mcp/token.tools.js.map +1 -0
- package/dist/server/common/access-control.d.ts +5 -0
- package/dist/server/common/access-control.d.ts.map +1 -0
- package/dist/server/common/access-control.js +25 -0
- package/dist/server/common/access-control.js.map +1 -0
- package/dist/server/common/actor-context.d.ts +11 -0
- package/dist/server/common/actor-context.d.ts.map +1 -0
- package/dist/server/common/actor-context.js +8 -0
- package/dist/server/common/actor-context.js.map +1 -0
- package/dist/server/common/contracts/access-control.service.d.ts +6 -0
- package/dist/server/common/contracts/access-control.service.d.ts.map +1 -0
- package/dist/server/common/contracts/access-control.service.js +13 -0
- package/dist/server/common/contracts/access-control.service.js.map +1 -0
- package/dist/server/common/contracts/actor-context.resolver.d.ts +7 -0
- package/dist/server/common/contracts/actor-context.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/actor-context.resolver.js +15 -0
- package/dist/server/common/contracts/actor-context.resolver.js.map +1 -0
- package/dist/server/common/contracts/connector-context.resolver.d.ts +19 -0
- package/dist/server/common/contracts/connector-context.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/connector-context.resolver.js +23 -0
- package/dist/server/common/contracts/connector-context.resolver.js.map +1 -0
- package/dist/server/common/contracts/http-actor.guard.d.ts +13 -0
- package/dist/server/common/contracts/http-actor.guard.d.ts.map +1 -0
- package/dist/server/common/contracts/http-actor.guard.js +87 -0
- package/dist/server/common/contracts/http-actor.guard.js.map +1 -0
- package/dist/server/common/contracts/index.d.ts +23 -0
- package/dist/server/common/contracts/index.d.ts.map +1 -0
- package/dist/server/common/contracts/index.js +45 -0
- package/dist/server/common/contracts/index.js.map +1 -0
- package/dist/server/common/contracts/limiter-key.strategy.d.ts +8 -0
- package/dist/server/common/contracts/limiter-key.strategy.d.ts.map +1 -0
- package/dist/server/common/contracts/limiter-key.strategy.js +24 -0
- package/dist/server/common/contracts/limiter-key.strategy.js.map +1 -0
- package/dist/server/common/contracts/local-access-control.service.d.ts +7 -0
- package/dist/server/common/contracts/local-access-control.service.d.ts.map +1 -0
- package/dist/server/common/contracts/local-access-control.service.js +41 -0
- package/dist/server/common/contracts/local-access-control.service.js.map +1 -0
- package/dist/server/common/contracts/local-actor-context.resolver.d.ts +13 -0
- package/dist/server/common/contracts/local-actor-context.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/local-actor-context.resolver.js +102 -0
- package/dist/server/common/contracts/local-actor-context.resolver.js.map +1 -0
- package/dist/server/common/contracts/local-contracts.module.d.ts +3 -0
- package/dist/server/common/contracts/local-contracts.module.d.ts.map +1 -0
- package/dist/server/common/contracts/local-contracts.module.js +78 -0
- package/dist/server/common/contracts/local-contracts.module.js.map +1 -0
- package/dist/server/common/contracts/local-mcp-auth.resolver.d.ts +12 -0
- package/dist/server/common/contracts/local-mcp-auth.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/local-mcp-auth.resolver.js +66 -0
- package/dist/server/common/contracts/local-mcp-auth.resolver.js.map +1 -0
- package/dist/server/common/contracts/local-project-context.resolver.d.ts +8 -0
- package/dist/server/common/contracts/local-project-context.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/local-project-context.resolver.js +27 -0
- package/dist/server/common/contracts/local-project-context.resolver.js.map +1 -0
- package/dist/server/common/contracts/local-user-token.verifier.d.ts +26 -0
- package/dist/server/common/contracts/local-user-token.verifier.d.ts.map +1 -0
- package/dist/server/common/contracts/local-user-token.verifier.js +96 -0
- package/dist/server/common/contracts/local-user-token.verifier.js.map +1 -0
- package/dist/server/common/contracts/mcp-auth.resolver.d.ts +7 -0
- package/dist/server/common/contracts/mcp-auth.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/mcp-auth.resolver.js +12 -0
- package/dist/server/common/contracts/mcp-auth.resolver.js.map +1 -0
- package/dist/server/common/contracts/project-context.resolver.d.ts +11 -0
- package/dist/server/common/contracts/project-context.resolver.d.ts.map +1 -0
- package/dist/server/common/contracts/project-context.resolver.js +22 -0
- package/dist/server/common/contracts/project-context.resolver.js.map +1 -0
- package/dist/server/common/contracts/quota-policy.hook.d.ts +24 -0
- package/dist/server/common/contracts/quota-policy.hook.d.ts.map +1 -0
- package/dist/server/common/contracts/quota-policy.hook.js +22 -0
- package/dist/server/common/contracts/quota-policy.hook.js.map +1 -0
- package/dist/server/common/contracts/runtime-limits.provider.d.ts +17 -0
- package/dist/server/common/contracts/runtime-limits.provider.d.ts.map +1 -0
- package/dist/server/common/contracts/runtime-limits.provider.js +23 -0
- package/dist/server/common/contracts/runtime-limits.provider.js.map +1 -0
- package/dist/server/common/contracts/token.service.d.ts +11 -0
- package/dist/server/common/contracts/token.service.d.ts.map +1 -0
- package/dist/server/common/contracts/token.service.js +12 -0
- package/dist/server/common/contracts/token.service.js.map +1 -0
- package/dist/server/common/contracts/types.d.ts +45 -0
- package/dist/server/common/contracts/types.d.ts.map +1 -0
- package/dist/server/common/contracts/types.js +8 -0
- package/dist/server/common/contracts/types.js.map +1 -0
- package/dist/server/common/contracts/workflow-authorization.hook.d.ts +9 -0
- package/dist/server/common/contracts/workflow-authorization.hook.d.ts.map +1 -0
- package/dist/server/common/contracts/workflow-authorization.hook.js +27 -0
- package/dist/server/common/contracts/workflow-authorization.hook.js.map +1 -0
- package/dist/server/common/decorators/current-project.decorator.d.ts +5 -0
- package/dist/server/common/decorators/current-project.decorator.d.ts.map +1 -0
- package/dist/server/common/decorators/current-project.decorator.js +22 -0
- package/dist/server/common/decorators/current-project.decorator.js.map +1 -0
- package/dist/server/common/decorators/current-user.decorator.d.ts +13 -0
- package/dist/server/common/decorators/current-user.decorator.d.ts.map +1 -0
- package/dist/server/common/decorators/current-user.decorator.js +9 -0
- package/dist/server/common/decorators/current-user.decorator.js.map +1 -0
- package/dist/server/common/errors/db-error.d.ts +2 -0
- package/dist/server/common/errors/db-error.d.ts.map +1 -0
- package/dist/server/common/errors/db-error.js +12 -0
- package/dist/server/common/errors/db-error.js.map +1 -0
- package/dist/server/common/project-context.d.ts +22 -0
- package/dist/server/common/project-context.d.ts.map +1 -0
- package/dist/server/common/project-context.js +60 -0
- package/dist/server/common/project-context.js.map +1 -0
- package/dist/server/common/project-context.module.d.ts +3 -0
- package/dist/server/common/project-context.module.d.ts.map +1 -0
- package/dist/server/common/project-context.module.js +22 -0
- package/dist/server/common/project-context.module.js.map +1 -0
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/infrastructure/llm/run-result-writer.d.ts +10 -0
- package/dist/server/infrastructure/llm/run-result-writer.d.ts.map +1 -0
- package/dist/server/infrastructure/llm/run-result-writer.js +103 -0
- package/dist/server/infrastructure/llm/run-result-writer.js.map +1 -0
- package/dist/server/infrastructure/orchestration/bullmq.module.d.ts +3 -0
- package/dist/server/infrastructure/orchestration/bullmq.module.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/bullmq.module.js +36 -0
- package/dist/server/infrastructure/orchestration/bullmq.module.js.map +1 -0
- package/dist/server/infrastructure/orchestration/bullmq.service.d.ts +10 -0
- package/dist/server/infrastructure/orchestration/bullmq.service.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/bullmq.service.js +44 -0
- package/dist/server/infrastructure/orchestration/bullmq.service.js.map +1 -0
- package/dist/server/infrastructure/orchestration/dbos.module.d.ts +3 -0
- package/dist/server/infrastructure/orchestration/dbos.module.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/dbos.module.js +21 -0
- package/dist/server/infrastructure/orchestration/dbos.module.js.map +1 -0
- package/dist/server/infrastructure/orchestration/dbos.service.d.ts +7 -0
- package/dist/server/infrastructure/orchestration/dbos.service.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/dbos.service.js +43 -0
- package/dist/server/infrastructure/orchestration/dbos.service.js.map +1 -0
- package/dist/server/infrastructure/orchestration/index.d.ts +6 -0
- package/dist/server/infrastructure/orchestration/index.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/index.js +14 -0
- package/dist/server/infrastructure/orchestration/index.js.map +1 -0
- package/dist/server/infrastructure/orchestration/orchestration.constants.d.ts +2 -0
- package/dist/server/infrastructure/orchestration/orchestration.constants.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/orchestration.constants.js +5 -0
- package/dist/server/infrastructure/orchestration/orchestration.constants.js.map +1 -0
- package/dist/server/infrastructure/orchestration/orchestration.module.d.ts +3 -0
- package/dist/server/infrastructure/orchestration/orchestration.module.d.ts.map +1 -0
- package/dist/server/infrastructure/orchestration/orchestration.module.js +22 -0
- package/dist/server/infrastructure/orchestration/orchestration.module.js.map +1 -0
- package/dist/server/modules/annotation/annotation.controller.d.ts +245 -0
- package/dist/server/modules/annotation/annotation.controller.d.ts.map +1 -0
- package/dist/server/modules/annotation/annotation.controller.js +159 -0
- package/dist/server/modules/annotation/annotation.controller.js.map +1 -0
- package/dist/server/modules/annotation/annotation.module.d.ts +3 -0
- package/dist/server/modules/annotation/annotation.module.d.ts.map +1 -0
- package/dist/server/modules/annotation/annotation.module.js +26 -0
- package/dist/server/modules/annotation/annotation.module.js.map +1 -0
- package/dist/server/modules/annotation/annotation.repository.d.ts +28 -0
- package/dist/server/modules/annotation/annotation.repository.d.ts.map +1 -0
- package/dist/server/modules/annotation/annotation.repository.js +634 -0
- package/dist/server/modules/annotation/annotation.repository.js.map +1 -0
- package/dist/server/modules/annotation/annotation.service.d.ts +26 -0
- package/dist/server/modules/annotation/annotation.service.d.ts.map +1 -0
- package/dist/server/modules/annotation/annotation.service.js +144 -0
- package/dist/server/modules/annotation/annotation.service.js.map +1 -0
- package/dist/server/modules/canary-release/canary-release.controller.d.ts +629 -0
- package/dist/server/modules/canary-release/canary-release.controller.d.ts.map +1 -0
- package/dist/server/modules/canary-release/canary-release.controller.js +244 -0
- package/dist/server/modules/canary-release/canary-release.controller.js.map +1 -0
- package/dist/server/modules/canary-release/canary-release.module.d.ts +3 -0
- package/dist/server/modules/canary-release/canary-release.module.d.ts.map +1 -0
- package/dist/server/modules/canary-release/canary-release.module.js +27 -0
- package/dist/server/modules/canary-release/canary-release.module.js.map +1 -0
- package/dist/server/modules/canary-release/canary-release.repository.d.ts +686 -0
- package/dist/server/modules/canary-release/canary-release.repository.d.ts.map +1 -0
- package/dist/server/modules/canary-release/canary-release.repository.js +673 -0
- package/dist/server/modules/canary-release/canary-release.repository.js.map +1 -0
- package/dist/server/modules/canary-release/canary-release.service.d.ts +55 -0
- package/dist/server/modules/canary-release/canary-release.service.d.ts.map +1 -0
- package/dist/server/modules/canary-release/canary-release.service.js +573 -0
- package/dist/server/modules/canary-release/canary-release.service.js.map +1 -0
- package/dist/server/modules/canary-release/canary-runtime.d.ts +60 -0
- package/dist/server/modules/canary-release/canary-runtime.d.ts.map +1 -0
- package/dist/server/modules/canary-release/canary-runtime.js +328 -0
- package/dist/server/modules/canary-release/canary-runtime.js.map +1 -0
- package/dist/server/modules/connector/connector.controller.d.ts +446 -0
- package/dist/server/modules/connector/connector.controller.d.ts.map +1 -0
- package/dist/server/modules/connector/connector.controller.js +235 -0
- package/dist/server/modules/connector/connector.controller.js.map +1 -0
- package/dist/server/modules/connector/connector.driver-factory.d.ts +66 -0
- package/dist/server/modules/connector/connector.driver-factory.d.ts.map +1 -0
- package/dist/server/modules/connector/connector.driver-factory.js +314 -0
- package/dist/server/modules/connector/connector.driver-factory.js.map +1 -0
- package/dist/server/modules/connector/connector.module.d.ts +3 -0
- package/dist/server/modules/connector/connector.module.d.ts.map +1 -0
- package/dist/server/modules/connector/connector.module.js +28 -0
- package/dist/server/modules/connector/connector.module.js.map +1 -0
- package/dist/server/modules/connector/connector.repository.d.ts +369 -0
- package/dist/server/modules/connector/connector.repository.d.ts.map +1 -0
- package/dist/server/modules/connector/connector.repository.js +323 -0
- package/dist/server/modules/connector/connector.repository.js.map +1 -0
- package/dist/server/modules/connector/connector.service.d.ts +60 -0
- package/dist/server/modules/connector/connector.service.d.ts.map +1 -0
- package/dist/server/modules/connector/connector.service.js +682 -0
- package/dist/server/modules/connector/connector.service.js.map +1 -0
- package/dist/server/modules/dataset/dataset-field-schema.util.d.ts +4 -0
- package/dist/server/modules/dataset/dataset-field-schema.util.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset-field-schema.util.js +57 -0
- package/dist/server/modules/dataset/dataset-field-schema.util.js.map +1 -0
- package/dist/server/modules/dataset/dataset-import.controller.d.ts +79 -0
- package/dist/server/modules/dataset/dataset-import.controller.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset-import.controller.js +124 -0
- package/dist/server/modules/dataset/dataset-import.controller.js.map +1 -0
- package/dist/server/modules/dataset/dataset-import.repository.d.ts +63 -0
- package/dist/server/modules/dataset/dataset-import.repository.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset-import.repository.js +176 -0
- package/dist/server/modules/dataset/dataset-import.repository.js.map +1 -0
- package/dist/server/modules/dataset/dataset-import.service.d.ts +36 -0
- package/dist/server/modules/dataset/dataset-import.service.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset-import.service.js +227 -0
- package/dist/server/modules/dataset/dataset-import.service.js.map +1 -0
- package/dist/server/modules/dataset/dataset.controller.d.ts +127 -0
- package/dist/server/modules/dataset/dataset.controller.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset.controller.js +168 -0
- package/dist/server/modules/dataset/dataset.controller.js.map +1 -0
- package/dist/server/modules/dataset/dataset.module.d.ts +3 -0
- package/dist/server/modules/dataset/dataset.module.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset.module.js +29 -0
- package/dist/server/modules/dataset/dataset.module.js.map +1 -0
- package/dist/server/modules/dataset/dataset.repository.d.ts +75 -0
- package/dist/server/modules/dataset/dataset.repository.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset.repository.js +238 -0
- package/dist/server/modules/dataset/dataset.repository.js.map +1 -0
- package/dist/server/modules/dataset/dataset.service.d.ts +50 -0
- package/dist/server/modules/dataset/dataset.service.d.ts.map +1 -0
- package/dist/server/modules/dataset/dataset.service.js +343 -0
- package/dist/server/modules/dataset/dataset.service.js.map +1 -0
- package/dist/server/modules/experiment/experiment.aggregator.d.ts +14 -0
- package/dist/server/modules/experiment/experiment.aggregator.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.aggregator.js +39 -0
- package/dist/server/modules/experiment/experiment.aggregator.js.map +1 -0
- package/dist/server/modules/experiment/experiment.controller.d.ts +361 -0
- package/dist/server/modules/experiment/experiment.controller.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.controller.js +162 -0
- package/dist/server/modules/experiment/experiment.controller.js.map +1 -0
- package/dist/server/modules/experiment/experiment.launcher.d.ts +14 -0
- package/dist/server/modules/experiment/experiment.launcher.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.launcher.js +54 -0
- package/dist/server/modules/experiment/experiment.launcher.js.map +1 -0
- package/dist/server/modules/experiment/experiment.module.d.ts +3 -0
- package/dist/server/modules/experiment/experiment.module.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.module.js +38 -0
- package/dist/server/modules/experiment/experiment.module.js.map +1 -0
- package/dist/server/modules/experiment/experiment.recovery.d.ts +15 -0
- package/dist/server/modules/experiment/experiment.recovery.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.recovery.js +80 -0
- package/dist/server/modules/experiment/experiment.recovery.js.map +1 -0
- package/dist/server/modules/experiment/experiment.renderer.d.ts +2 -0
- package/dist/server/modules/experiment/experiment.renderer.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.renderer.js +6 -0
- package/dist/server/modules/experiment/experiment.renderer.js.map +1 -0
- package/dist/server/modules/experiment/experiment.repository.d.ts +88 -0
- package/dist/server/modules/experiment/experiment.repository.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.repository.js +173 -0
- package/dist/server/modules/experiment/experiment.repository.js.map +1 -0
- package/dist/server/modules/experiment/experiment.service.d.ts +57 -0
- package/dist/server/modules/experiment/experiment.service.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.service.js +539 -0
- package/dist/server/modules/experiment/experiment.service.js.map +1 -0
- package/dist/server/modules/experiment/experiment.workflow.d.ts +51 -0
- package/dist/server/modules/experiment/experiment.workflow.d.ts.map +1 -0
- package/dist/server/modules/experiment/experiment.workflow.js +465 -0
- package/dist/server/modules/experiment/experiment.workflow.js.map +1 -0
- package/dist/server/modules/model/model.controller.d.ts +23 -0
- package/dist/server/modules/model/model.controller.d.ts.map +1 -0
- package/dist/server/modules/model/model.controller.js +76 -0
- package/dist/server/modules/model/model.controller.js.map +1 -0
- package/dist/server/modules/model/model.module.d.ts +3 -0
- package/dist/server/modules/model/model.module.d.ts.map +1 -0
- package/dist/server/modules/model/model.module.js +29 -0
- package/dist/server/modules/model/model.module.js.map +1 -0
- package/dist/server/modules/model/model.repository.d.ts +511 -0
- package/dist/server/modules/model/model.repository.d.ts.map +1 -0
- package/dist/server/modules/model/model.repository.js +181 -0
- package/dist/server/modules/model/model.repository.js.map +1 -0
- package/dist/server/modules/model/model.service.d.ts +79 -0
- package/dist/server/modules/model/model.service.d.ts.map +1 -0
- package/dist/server/modules/model/model.service.js +643 -0
- package/dist/server/modules/model/model.service.js.map +1 -0
- package/dist/server/modules/model/project-model.controller.d.ts +261 -0
- package/dist/server/modules/model/project-model.controller.d.ts.map +1 -0
- package/dist/server/modules/model/project-model.controller.js +198 -0
- package/dist/server/modules/model/project-model.controller.js.map +1 -0
- package/dist/server/modules/monitoring/monitoring.controller.d.ts +204 -0
- package/dist/server/modules/monitoring/monitoring.controller.d.ts.map +1 -0
- package/dist/server/modules/monitoring/monitoring.controller.js +129 -0
- package/dist/server/modules/monitoring/monitoring.controller.js.map +1 -0
- package/dist/server/modules/monitoring/monitoring.module.d.ts +3 -0
- package/dist/server/modules/monitoring/monitoring.module.d.ts.map +1 -0
- package/dist/server/modules/monitoring/monitoring.module.js +26 -0
- package/dist/server/modules/monitoring/monitoring.module.js.map +1 -0
- package/dist/server/modules/monitoring/monitoring.repository.d.ts +15 -0
- package/dist/server/modules/monitoring/monitoring.repository.d.ts.map +1 -0
- package/dist/server/modules/monitoring/monitoring.repository.js +618 -0
- package/dist/server/modules/monitoring/monitoring.repository.js.map +1 -0
- package/dist/server/modules/monitoring/monitoring.service.d.ts +15 -0
- package/dist/server/modules/monitoring/monitoring.service.d.ts.map +1 -0
- package/dist/server/modules/monitoring/monitoring.service.js +70 -0
- package/dist/server/modules/monitoring/monitoring.service.js.map +1 -0
- package/dist/server/modules/optimization/optimization.controller.d.ts +579 -0
- package/dist/server/modules/optimization/optimization.controller.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.controller.js +119 -0
- package/dist/server/modules/optimization/optimization.controller.js.map +1 -0
- package/dist/server/modules/optimization/optimization.launcher.d.ts +14 -0
- package/dist/server/modules/optimization/optimization.launcher.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.launcher.js +56 -0
- package/dist/server/modules/optimization/optimization.launcher.js.map +1 -0
- package/dist/server/modules/optimization/optimization.module.d.ts +3 -0
- package/dist/server/modules/optimization/optimization.module.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.module.js +42 -0
- package/dist/server/modules/optimization/optimization.module.js.map +1 -0
- package/dist/server/modules/optimization/optimization.recovery.d.ts +15 -0
- package/dist/server/modules/optimization/optimization.recovery.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.recovery.js +80 -0
- package/dist/server/modules/optimization/optimization.recovery.js.map +1 -0
- package/dist/server/modules/optimization/optimization.repository.d.ts +375 -0
- package/dist/server/modules/optimization/optimization.repository.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.repository.js +849 -0
- package/dist/server/modules/optimization/optimization.repository.js.map +1 -0
- package/dist/server/modules/optimization/optimization.service.d.ts +74 -0
- package/dist/server/modules/optimization/optimization.service.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.service.js +1753 -0
- package/dist/server/modules/optimization/optimization.service.js.map +1 -0
- package/dist/server/modules/optimization/optimization.workflow.d.ts +118 -0
- package/dist/server/modules/optimization/optimization.workflow.d.ts.map +1 -0
- package/dist/server/modules/optimization/optimization.workflow.js +2007 -0
- package/dist/server/modules/optimization/optimization.workflow.js.map +1 -0
- package/dist/server/modules/production-release/production-release.controller.d.ts +125 -0
- package/dist/server/modules/production-release/production-release.controller.d.ts.map +1 -0
- package/dist/server/modules/production-release/production-release.controller.js +107 -0
- package/dist/server/modules/production-release/production-release.controller.js.map +1 -0
- package/dist/server/modules/production-release/production-release.module.d.ts +3 -0
- package/dist/server/modules/production-release/production-release.module.d.ts.map +1 -0
- package/dist/server/modules/production-release/production-release.module.js +27 -0
- package/dist/server/modules/production-release/production-release.module.js.map +1 -0
- package/dist/server/modules/production-release/production-release.repository.d.ts +109 -0
- package/dist/server/modules/production-release/production-release.repository.d.ts.map +1 -0
- package/dist/server/modules/production-release/production-release.repository.js +372 -0
- package/dist/server/modules/production-release/production-release.repository.js.map +1 -0
- package/dist/server/modules/production-release/production-release.service.d.ts +33 -0
- package/dist/server/modules/production-release/production-release.service.d.ts.map +1 -0
- package/dist/server/modules/production-release/production-release.service.js +370 -0
- package/dist/server/modules/production-release/production-release.service.js.map +1 -0
- package/dist/server/modules/prompt/prompt-try-run.service.d.ts +26 -0
- package/dist/server/modules/prompt/prompt-try-run.service.d.ts.map +1 -0
- package/dist/server/modules/prompt/prompt-try-run.service.js +213 -0
- package/dist/server/modules/prompt/prompt-try-run.service.js.map +1 -0
- package/dist/server/modules/prompt/prompt.controller.d.ts +489 -0
- package/dist/server/modules/prompt/prompt.controller.d.ts.map +1 -0
- package/dist/server/modules/prompt/prompt.controller.js +236 -0
- package/dist/server/modules/prompt/prompt.controller.js.map +1 -0
- package/dist/server/modules/prompt/prompt.module.d.ts +3 -0
- package/dist/server/modules/prompt/prompt.module.d.ts.map +1 -0
- package/dist/server/modules/prompt/prompt.module.js +28 -0
- package/dist/server/modules/prompt/prompt.module.js.map +1 -0
- package/dist/server/modules/prompt/prompt.repository.d.ts +190 -0
- package/dist/server/modules/prompt/prompt.repository.d.ts.map +1 -0
- package/dist/server/modules/prompt/prompt.repository.js +522 -0
- package/dist/server/modules/prompt/prompt.repository.js.map +1 -0
- package/dist/server/modules/prompt/prompt.service.d.ts +46 -0
- package/dist/server/modules/prompt/prompt.service.d.ts.map +1 -0
- package/dist/server/modules/prompt/prompt.service.js +508 -0
- package/dist/server/modules/prompt/prompt.service.js.map +1 -0
- package/dist/server/modules/quick-start/quick-start.controller.d.ts +75 -0
- package/dist/server/modules/quick-start/quick-start.controller.d.ts.map +1 -0
- package/dist/server/modules/quick-start/quick-start.controller.js +86 -0
- package/dist/server/modules/quick-start/quick-start.controller.js.map +1 -0
- package/dist/server/modules/quick-start/quick-start.module.d.ts +3 -0
- package/dist/server/modules/quick-start/quick-start.module.d.ts.map +1 -0
- package/dist/server/modules/quick-start/quick-start.module.js +27 -0
- package/dist/server/modules/quick-start/quick-start.module.js.map +1 -0
- package/dist/server/modules/quick-start/quick-start.service.d.ts +77 -0
- package/dist/server/modules/quick-start/quick-start.service.d.ts.map +1 -0
- package/dist/server/modules/quick-start/quick-start.service.js +130 -0
- package/dist/server/modules/quick-start/quick-start.service.js.map +1 -0
- package/dist/server/modules/release-line/release-line.controller.d.ts +749 -0
- package/dist/server/modules/release-line/release-line.controller.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-line.controller.js +108 -0
- package/dist/server/modules/release-line/release-line.controller.js.map +1 -0
- package/dist/server/modules/release-line/release-line.module.d.ts +3 -0
- package/dist/server/modules/release-line/release-line.module.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-line.module.js +31 -0
- package/dist/server/modules/release-line/release-line.module.js.map +1 -0
- package/dist/server/modules/release-line/release-line.repository.d.ts +89 -0
- package/dist/server/modules/release-line/release-line.repository.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-line.repository.js +834 -0
- package/dist/server/modules/release-line/release-line.repository.js.map +1 -0
- package/dist/server/modules/release-line/release-line.service.d.ts +109 -0
- package/dist/server/modules/release-line/release-line.service.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-line.service.js +287 -0
- package/dist/server/modules/release-line/release-line.service.js.map +1 -0
- package/dist/server/modules/release-line/release-runner.repository.d.ts +89 -0
- package/dist/server/modules/release-line/release-runner.repository.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-runner.repository.js +449 -0
- package/dist/server/modules/release-line/release-runner.repository.js.map +1 -0
- package/dist/server/modules/release-line/release-runner.service.d.ts +40 -0
- package/dist/server/modules/release-line/release-runner.service.d.ts.map +1 -0
- package/dist/server/modules/release-line/release-runner.service.js +417 -0
- package/dist/server/modules/release-line/release-runner.service.js.map +1 -0
- package/dist/server/modules/run-result/run-result.controller.d.ts +129 -0
- package/dist/server/modules/run-result/run-result.controller.d.ts.map +1 -0
- package/dist/server/modules/run-result/run-result.controller.js +103 -0
- package/dist/server/modules/run-result/run-result.controller.js.map +1 -0
- package/dist/server/modules/run-result/run-result.module.d.ts +3 -0
- package/dist/server/modules/run-result/run-result.module.d.ts.map +1 -0
- package/dist/server/modules/run-result/run-result.module.js +26 -0
- package/dist/server/modules/run-result/run-result.module.js.map +1 -0
- package/dist/server/modules/run-result/run-result.repository.d.ts +27 -0
- package/dist/server/modules/run-result/run-result.repository.d.ts.map +1 -0
- package/dist/server/modules/run-result/run-result.repository.js +521 -0
- package/dist/server/modules/run-result/run-result.repository.js.map +1 -0
- package/dist/server/modules/run-result/run-result.service.d.ts +22 -0
- package/dist/server/modules/run-result/run-result.service.d.ts.map +1 -0
- package/dist/server/modules/run-result/run-result.service.js +61 -0
- package/dist/server/modules/run-result/run-result.service.js.map +1 -0
- package/dist/server/modules/token/token.controller.d.ts +57 -0
- package/dist/server/modules/token/token.controller.d.ts.map +1 -0
- package/dist/server/modules/token/token.controller.js +99 -0
- package/dist/server/modules/token/token.controller.js.map +1 -0
- package/dist/server/modules/token/token.module.d.ts +3 -0
- package/dist/server/modules/token/token.module.d.ts.map +1 -0
- package/dist/server/modules/token/token.module.js +22 -0
- package/dist/server/modules/token/token.module.js.map +1 -0
- package/dist/server/modules/token/token.repository.d.ts +264 -0
- package/dist/server/modules/token/token.repository.d.ts.map +1 -0
- package/dist/server/modules/token/token.repository.js +97 -0
- package/dist/server/modules/token/token.repository.js.map +1 -0
- package/dist/server/modules/token/token.service.d.ts +23 -0
- package/dist/server/modules/token/token.service.d.ts.map +1 -0
- package/dist/server/modules/token/token.service.js +124 -0
- package/dist/server/modules/token/token.service.js.map +1 -0
- package/dist/server/proofhound-server.module.d.ts +7 -0
- package/dist/server/proofhound-server.module.d.ts.map +1 -0
- package/dist/server/proofhound-server.module.js +72 -0
- package/dist/server/proofhound-server.module.js.map +1 -0
- package/dist/shared/config/config.module.d.ts +3 -0
- package/dist/shared/config/config.module.d.ts.map +1 -0
- package/dist/shared/config/config.module.js +33 -0
- package/dist/shared/config/config.module.js.map +1 -0
- package/dist/shared/crypto/crypto.module.d.ts +3 -0
- package/dist/shared/crypto/crypto.module.d.ts.map +1 -0
- package/dist/shared/crypto/crypto.module.js +24 -0
- package/dist/shared/crypto/crypto.module.js.map +1 -0
- package/dist/shared/crypto/crypto.service.d.ts +9 -0
- package/dist/shared/crypto/crypto.service.d.ts.map +1 -0
- package/dist/shared/crypto/crypto.service.js +37 -0
- package/dist/shared/crypto/crypto.service.js.map +1 -0
- package/dist/shared/database/database.constants.d.ts +2 -0
- package/dist/shared/database/database.constants.d.ts.map +1 -0
- package/dist/shared/database/database.constants.js +5 -0
- package/dist/shared/database/database.constants.js.map +1 -0
- package/dist/shared/database/database.module.d.ts +3 -0
- package/dist/shared/database/database.module.d.ts.map +1 -0
- package/dist/shared/database/database.module.js +27 -0
- package/dist/shared/database/database.module.js.map +1 -0
- package/dist/shared/filters/pino-exception.filter.d.ts +9 -0
- package/dist/shared/filters/pino-exception.filter.d.ts.map +1 -0
- package/dist/shared/filters/pino-exception.filter.js +58 -0
- package/dist/shared/filters/pino-exception.filter.js.map +1 -0
- package/dist/shared/health/health.controller.d.ts +11 -0
- package/dist/shared/health/health.controller.d.ts.map +1 -0
- package/dist/shared/health/health.controller.js +51 -0
- package/dist/shared/health/health.controller.js.map +1 -0
- package/dist/shared/health/health.service.d.ts +25 -0
- package/dist/shared/health/health.service.d.ts.map +1 -0
- package/dist/shared/health/health.service.js +74 -0
- package/dist/shared/health/health.service.js.map +1 -0
- package/dist/shared/llm/runtime-limits.d.ts +4 -0
- package/dist/shared/llm/runtime-limits.d.ts.map +1 -0
- package/dist/shared/llm/runtime-limits.js +23 -0
- package/dist/shared/llm/runtime-limits.js.map +1 -0
- package/dist/shared/redis/redis-mutex.service.d.ts +20 -0
- package/dist/shared/redis/redis-mutex.service.d.ts.map +1 -0
- package/dist/shared/redis/redis-mutex.service.js +75 -0
- package/dist/shared/redis/redis-mutex.service.js.map +1 -0
- package/dist/shared/redis/redis.constants.d.ts +3 -0
- package/dist/shared/redis/redis.constants.d.ts.map +1 -0
- package/dist/shared/redis/redis.constants.js +6 -0
- package/dist/shared/redis/redis.constants.js.map +1 -0
- package/dist/shared/redis/redis.module.d.ts +8 -0
- package/dist/shared/redis/redis.module.d.ts.map +1 -0
- package/dist/shared/redis/redis.module.js +54 -0
- package/dist/shared/redis/redis.module.js.map +1 -0
- package/dist/shared/runtime-module-options.d.ts +5 -0
- package/dist/shared/runtime-module-options.d.ts.map +1 -0
- package/dist/shared/runtime-module-options.js +3 -0
- package/dist/shared/runtime-module-options.js.map +1 -0
- package/dist/webhook/channels/webhook/local-connector-context.resolver.d.ts +8 -0
- package/dist/webhook/channels/webhook/local-connector-context.resolver.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/local-connector-context.resolver.js +63 -0
- package/dist/webhook/channels/webhook/local-connector-context.resolver.js.map +1 -0
- package/dist/webhook/channels/webhook/webhook-token.util.d.ts +4 -0
- package/dist/webhook/channels/webhook/webhook-token.util.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/webhook-token.util.js +26 -0
- package/dist/webhook/channels/webhook/webhook-token.util.js.map +1 -0
- package/dist/webhook/channels/webhook/webhook.controller.d.ts +226 -0
- package/dist/webhook/channels/webhook/webhook.controller.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/webhook.controller.js +121 -0
- package/dist/webhook/channels/webhook/webhook.controller.js.map +1 -0
- package/dist/webhook/channels/webhook/webhook.module.d.ts +3 -0
- package/dist/webhook/channels/webhook/webhook.module.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/webhook.module.js +27 -0
- package/dist/webhook/channels/webhook/webhook.module.js.map +1 -0
- package/dist/webhook/channels/webhook/webhook.repository.d.ts +85 -0
- package/dist/webhook/channels/webhook/webhook.repository.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/webhook.repository.js +268 -0
- package/dist/webhook/channels/webhook/webhook.repository.js.map +1 -0
- package/dist/webhook/channels/webhook/webhook.service.d.ts +144 -0
- package/dist/webhook/channels/webhook/webhook.service.d.ts.map +1 -0
- package/dist/webhook/channels/webhook/webhook.service.js +494 -0
- package/dist/webhook/channels/webhook/webhook.service.js.map +1 -0
- package/dist/webhook/index.d.ts +4 -0
- package/dist/webhook/index.d.ts.map +1 -0
- package/dist/webhook/index.js +8 -0
- package/dist/webhook/index.js.map +1 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.module.d.ts +3 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.module.d.ts.map +1 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.module.js +34 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.module.js.map +1 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.service.d.ts +10 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.service.d.ts.map +1 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.service.js +42 -0
- package/dist/webhook/infrastructure/orchestration/bullmq.service.js.map +1 -0
- package/dist/webhook/proofhound-webhook.module.d.ts +7 -0
- package/dist/webhook/proofhound-webhook.module.d.ts.map +1 -0
- package/dist/webhook/proofhound-webhook.module.js +31 -0
- package/dist/webhook/proofhound-webhook.module.js.map +1 -0
- package/dist/worker/config/worker-concurrency.d.ts +3 -0
- package/dist/worker/config/worker-concurrency.d.ts.map +1 -0
- package/dist/worker/config/worker-concurrency.js +10 -0
- package/dist/worker/config/worker-concurrency.js.map +1 -0
- package/dist/worker/consumers/llm.consumer.d.ts +29 -0
- package/dist/worker/consumers/llm.consumer.d.ts.map +1 -0
- package/dist/worker/consumers/llm.consumer.js +234 -0
- package/dist/worker/consumers/llm.consumer.js.map +1 -0
- package/dist/worker/consumers/probe.consumer.d.ts +16 -0
- package/dist/worker/consumers/probe.consumer.d.ts.map +1 -0
- package/dist/worker/consumers/probe.consumer.js +76 -0
- package/dist/worker/consumers/probe.consumer.js.map +1 -0
- package/dist/worker/index.d.ts +4 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +9 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/infrastructure/llm/model-secret.provider.d.ts +4 -0
- package/dist/worker/infrastructure/llm/model-secret.provider.d.ts.map +1 -0
- package/dist/worker/infrastructure/llm/model-secret.provider.js +14 -0
- package/dist/worker/infrastructure/llm/model-secret.provider.js.map +1 -0
- package/dist/worker/proofhound-worker.module.d.ts +7 -0
- package/dist/worker/proofhound-worker.module.d.ts.map +1 -0
- package/dist/worker/proofhound-worker.module.js +44 -0
- package/dist/worker/proofhound-worker.module.js.map +1 -0
- package/dist/worker/runners/llm-runner.d.ts +42 -0
- package/dist/worker/runners/llm-runner.d.ts.map +1 -0
- package/dist/worker/runners/llm-runner.js +178 -0
- package/dist/worker/runners/llm-runner.js.map +1 -0
- package/dist/worker/runners/model-secret.d.ts +11 -0
- package/dist/worker/runners/model-secret.d.ts.map +1 -0
- package/dist/worker/runners/model-secret.js +14 -0
- package/dist/worker/runners/model-secret.js.map +1 -0
- package/dist/worker/runners/probe-runner.d.ts +22 -0
- package/dist/worker/runners/probe-runner.d.ts.map +1 -0
- package/dist/worker/runners/probe-runner.js +52 -0
- package/dist/worker/runners/probe-runner.js.map +1 -0
- package/dist/worker/runners/run-result-writer.d.ts +10 -0
- package/dist/worker/runners/run-result-writer.d.ts.map +1 -0
- package/dist/worker/runners/run-result-writer.js +84 -0
- package/dist/worker/runners/run-result-writer.js.map +1 -0
- package/dist/worker/scripts/probe-model-from-env.d.ts +2 -0
- package/dist/worker/scripts/probe-model-from-env.d.ts.map +1 -0
- package/dist/worker/scripts/probe-model-from-env.js +130 -0
- package/dist/worker/scripts/probe-model-from-env.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ExperimentWorkflowRegistrar = void 0;
|
|
16
|
+
exports.readExpectedField = readExpectedField;
|
|
17
|
+
exports.pickLimits = pickLimits;
|
|
18
|
+
exports.pickRetry = pickRetry;
|
|
19
|
+
exports.computeRunResultId = computeRunResultId;
|
|
20
|
+
const node_crypto_1 = require("node:crypto");
|
|
21
|
+
const common_1 = require("@nestjs/common");
|
|
22
|
+
const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
|
|
23
|
+
const db_1 = require("@proofhound/db");
|
|
24
|
+
const logger_1 = require("@proofhound/logger");
|
|
25
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
26
|
+
const database_constants_1 = require("../../../shared/database/database.constants");
|
|
27
|
+
const bullmq_service_1 = require("../../infrastructure/orchestration/bullmq.service");
|
|
28
|
+
const run_result_service_1 = require("../run-result/run-result.service");
|
|
29
|
+
const experiment_aggregator_1 = require("./experiment.aggregator");
|
|
30
|
+
const experiment_renderer_1 = require("./experiment.renderer");
|
|
31
|
+
const { experiments, datasetSamples, promptVersions, models, datasets } = db_1.schema;
|
|
32
|
+
const DEFAULT_BATCH_SIZE = 500;
|
|
33
|
+
const MAX_BATCH_SIZE = 500;
|
|
34
|
+
const POLL_SLEEP_SCHEDULE_SEC = [2, 2, 3, 5, 8, 10];
|
|
35
|
+
// Per-batch poll budget scales with batch size (~36s/sample, matching the historical 30min/50-sample budget),
|
|
36
|
+
// floored at 30min and capped at 6h. Larger batches need a proportionally larger wall-clock window so the
|
|
37
|
+
// poll loop does not give up while jobs are still draining the queue.
|
|
38
|
+
const POLL_PER_SAMPLE_BUDGET_SEC = 36;
|
|
39
|
+
const MIN_POLL_TIMEOUT_SEC = 30 * 60;
|
|
40
|
+
const MAX_POLL_TIMEOUT_SEC = 6 * 60 * 60;
|
|
41
|
+
function batchPollTimeoutSec(batchSize) {
|
|
42
|
+
return Math.min(MAX_POLL_TIMEOUT_SEC, Math.max(MIN_POLL_TIMEOUT_SEC, batchSize * POLL_PER_SAMPLE_BUDGET_SEC));
|
|
43
|
+
}
|
|
44
|
+
// runResultId namespace UUID (chosen randomly and pinned, to stay stable across restarts)
|
|
45
|
+
const RUN_RESULT_NS = '6f1c2c0a-2c4e-4f5a-9d8a-3b1e2a000001';
|
|
46
|
+
// DBOS SDK 4.x requires the host class of instance-method workflow / step to extend ConfiguredInstance,
|
|
47
|
+
// otherwise restore cannot find the instance and the runtime throws DBOSInvalidWorkflowTransitionError.
|
|
48
|
+
let ExperimentWorkflowRegistrar = class ExperimentWorkflowRegistrar extends dbos_sdk_1.ConfiguredInstance {
|
|
49
|
+
constructor(db, bullmq, runResults) {
|
|
50
|
+
super('experiment-workflow');
|
|
51
|
+
this.db = db;
|
|
52
|
+
this.bullmq = bullmq;
|
|
53
|
+
this.runResults = runResults;
|
|
54
|
+
this.logger = (0, logger_1.createLogger)('experiment.workflow', { service: 'server' });
|
|
55
|
+
this.loadPlanStep = dbos_sdk_1.DBOS.registerStep(this.loadPlanImpl.bind(this), { name: 'experiment.loadPlan' });
|
|
56
|
+
this.markStartedStep = dbos_sdk_1.DBOS.registerStep(this.markStartedImpl.bind(this), { name: 'experiment.markStarted' });
|
|
57
|
+
this.readControlStateStep = dbos_sdk_1.DBOS.registerStep(this.readControlStateImpl.bind(this), {
|
|
58
|
+
name: 'experiment.readControlState',
|
|
59
|
+
});
|
|
60
|
+
this.clearResumeStep = dbos_sdk_1.DBOS.registerStep(this.clearResumeImpl.bind(this), { name: 'experiment.clearResume' });
|
|
61
|
+
this.loadSampleIdBatchStep = dbos_sdk_1.DBOS.registerStep(this.loadSampleIdBatchImpl.bind(this), {
|
|
62
|
+
name: 'experiment.loadSampleIdBatch',
|
|
63
|
+
});
|
|
64
|
+
this.enqueueBatchStep = dbos_sdk_1.DBOS.registerStep(this.enqueueBatchImpl.bind(this), { name: 'experiment.enqueueBatch' });
|
|
65
|
+
this.pollUntilBatchDoneStep = dbos_sdk_1.DBOS.registerStep(this.pollUntilBatchDoneImpl.bind(this), {
|
|
66
|
+
name: 'experiment.pollUntilBatchDone',
|
|
67
|
+
});
|
|
68
|
+
this.aggregateMetricsStep = dbos_sdk_1.DBOS.registerStep(this.aggregateMetricsImpl.bind(this), {
|
|
69
|
+
name: 'experiment.aggregateMetrics',
|
|
70
|
+
});
|
|
71
|
+
this.finalizeStep = dbos_sdk_1.DBOS.registerStep(this.finalizeImpl.bind(this), { name: 'experiment.finalize' });
|
|
72
|
+
this.runWorkflow = dbos_sdk_1.DBOS.registerWorkflow(this.runImpl.bind(this), { name: 'ExperimentWorkflow' });
|
|
73
|
+
this.logger.info({}, 'experiment_workflow_registered');
|
|
74
|
+
}
|
|
75
|
+
async runImpl(experimentId, orgId) {
|
|
76
|
+
this.logger.debug({ experimentId }, 'workflow_run_start');
|
|
77
|
+
try {
|
|
78
|
+
const plan = await this.loadPlanStep(experimentId);
|
|
79
|
+
if (!plan.promptVersionExists) {
|
|
80
|
+
await this.finalizeStep(experimentId, 'failed', 'prompt_version_not_found');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (!plan.isFrozen) {
|
|
84
|
+
await this.finalizeStep(experimentId, 'failed', 'prompt_version_not_frozen');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (plan.totalSamples === 0) {
|
|
88
|
+
await this.finalizeStep(experimentId, 'failed', 'dataset_empty');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
await this.markStartedStep(experimentId);
|
|
92
|
+
let totalFailed = 0;
|
|
93
|
+
let totalTerminal = 0;
|
|
94
|
+
let processed = 0;
|
|
95
|
+
// Keyset cursor: last sample id of the previous batch (see loadSampleIdBatchImpl).
|
|
96
|
+
let cursorId = null;
|
|
97
|
+
while (processed < plan.totalSamples) {
|
|
98
|
+
this.logger.debug({ experimentId, processed, batchSize: plan.batchSize, totalSamples: plan.totalSamples }, 'workflow_batch_start');
|
|
99
|
+
const control = await this.readControlStateStep(experimentId);
|
|
100
|
+
if (control === 'cancel') {
|
|
101
|
+
await this.finalizeStep(experimentId, 'cancelled');
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (control === 'stop') {
|
|
105
|
+
await this.finalizeStep(experimentId, 'stopped');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (control === 'resume') {
|
|
109
|
+
await this.clearResumeStep(experimentId);
|
|
110
|
+
}
|
|
111
|
+
const sampleIds = await this.loadSampleIdBatchStep(plan.datasetId, cursorId, plan.batchSize);
|
|
112
|
+
if (sampleIds.length === 0)
|
|
113
|
+
break;
|
|
114
|
+
const runResultIds = await this.enqueueBatchStep(experimentId, sampleIds, orgId);
|
|
115
|
+
const counts = await this.pollUntilBatchDoneStep(experimentId, runResultIds);
|
|
116
|
+
totalTerminal += counts.terminalCount;
|
|
117
|
+
totalFailed += counts.failedCount;
|
|
118
|
+
await this.aggregateMetricsStep(experimentId);
|
|
119
|
+
processed += sampleIds.length;
|
|
120
|
+
cursorId = sampleIds[sampleIds.length - 1] ?? cursorId;
|
|
121
|
+
this.logger.debug({
|
|
122
|
+
experimentId,
|
|
123
|
+
processed,
|
|
124
|
+
batchTerminal: counts.terminalCount,
|
|
125
|
+
batchFailed: counts.failedCount,
|
|
126
|
+
control: counts.control,
|
|
127
|
+
}, 'workflow_batch_done');
|
|
128
|
+
// Control signals observed inside poll: already-enqueued LLM jobs are not cancelled (the worker has no abort channel),
|
|
129
|
+
// but the workflow terminates immediately at the batch boundary and stops dispatching new batches
|
|
130
|
+
if (counts.control === 'cancel') {
|
|
131
|
+
await this.finalizeStep(experimentId, 'cancelled');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (counts.control === 'stop') {
|
|
135
|
+
await this.finalizeStep(experimentId, 'stopped');
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
this.logger.debug({ experimentId, totalTerminal, totalFailed }, 'workflow_loop_finished');
|
|
140
|
+
// All samples failed → the experiment as a whole is failed; partial failures still count as success (failed_samples is already reflected in metrics)
|
|
141
|
+
if (totalTerminal > 0 && totalFailed === totalTerminal) {
|
|
142
|
+
await this.finalizeStep(experimentId, 'failed', 'all_samples_failed');
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
await this.finalizeStep(experimentId, 'success');
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
this.logger.error({ experimentId, error: error.message }, 'experiment_workflow_failed');
|
|
149
|
+
await this.finalizeStep(experimentId, 'failed', error.message);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
async loadPlanImpl(experimentId) {
|
|
153
|
+
const rows = await this.db
|
|
154
|
+
.select({
|
|
155
|
+
id: experiments.id,
|
|
156
|
+
projectId: experiments.projectId,
|
|
157
|
+
promptVersionId: experiments.promptVersionId,
|
|
158
|
+
datasetId: experiments.datasetId,
|
|
159
|
+
modelId: experiments.modelId,
|
|
160
|
+
runConfig: experiments.runConfig,
|
|
161
|
+
sampleCount: datasets.sampleCount,
|
|
162
|
+
isFrozen: promptVersions.isFrozen,
|
|
163
|
+
promptId: promptVersions.promptId,
|
|
164
|
+
})
|
|
165
|
+
.from(experiments)
|
|
166
|
+
.innerJoin(promptVersions, (0, drizzle_orm_1.eq)(promptVersions.id, experiments.promptVersionId))
|
|
167
|
+
.innerJoin(datasets, (0, drizzle_orm_1.eq)(datasets.id, experiments.datasetId))
|
|
168
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(experiments.id, experimentId), (0, drizzle_orm_1.isNull)(experiments.deletedAt)))
|
|
169
|
+
.limit(1);
|
|
170
|
+
const row = rows[0];
|
|
171
|
+
if (!row) {
|
|
172
|
+
throw new Error(`experiment_not_found: ${experimentId}`);
|
|
173
|
+
}
|
|
174
|
+
const config = row.runConfig ?? {};
|
|
175
|
+
const batchSize = typeof config['batchSize'] === 'number' && config['batchSize'] > 0
|
|
176
|
+
? Math.min(config['batchSize'], MAX_BATCH_SIZE)
|
|
177
|
+
: DEFAULT_BATCH_SIZE;
|
|
178
|
+
const plan = {
|
|
179
|
+
experimentId: row.id,
|
|
180
|
+
projectId: row.projectId,
|
|
181
|
+
promptId: row.promptId,
|
|
182
|
+
promptVersionId: row.promptVersionId,
|
|
183
|
+
datasetId: row.datasetId,
|
|
184
|
+
modelId: row.modelId,
|
|
185
|
+
totalSamples: row.sampleCount ?? 0,
|
|
186
|
+
batchSize,
|
|
187
|
+
isFrozen: row.isFrozen,
|
|
188
|
+
promptVersionExists: true,
|
|
189
|
+
};
|
|
190
|
+
this.logger.debug({
|
|
191
|
+
experimentId,
|
|
192
|
+
totalSamples: plan.totalSamples,
|
|
193
|
+
batchSize: plan.batchSize,
|
|
194
|
+
isFrozen: plan.isFrozen,
|
|
195
|
+
}, 'step_load_plan_done');
|
|
196
|
+
return plan;
|
|
197
|
+
}
|
|
198
|
+
async markStartedImpl(experimentId) {
|
|
199
|
+
await this.db
|
|
200
|
+
.update(experiments)
|
|
201
|
+
.set({ status: 'running', startedAt: new Date(), updatedAt: new Date() })
|
|
202
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(experiments.id, experimentId), (0, drizzle_orm_1.isNull)(experiments.deletedAt)));
|
|
203
|
+
this.logger.debug({ experimentId }, 'step_mark_started_done');
|
|
204
|
+
}
|
|
205
|
+
async readControlStateImpl(experimentId) {
|
|
206
|
+
const rows = await this.db
|
|
207
|
+
.select({ controlState: experiments.controlState })
|
|
208
|
+
.from(experiments)
|
|
209
|
+
.where((0, drizzle_orm_1.eq)(experiments.id, experimentId))
|
|
210
|
+
.limit(1);
|
|
211
|
+
const controlState = rows[0]?.controlState ?? null;
|
|
212
|
+
this.logger.debug({ experimentId, controlState }, 'step_read_control_state_done');
|
|
213
|
+
return controlState;
|
|
214
|
+
}
|
|
215
|
+
async clearResumeImpl(experimentId) {
|
|
216
|
+
await this.db
|
|
217
|
+
.update(experiments)
|
|
218
|
+
.set({ controlState: null, status: 'running', updatedAt: new Date() })
|
|
219
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(experiments.id, experimentId), (0, drizzle_orm_1.eq)(experiments.controlState, 'resume')));
|
|
220
|
+
this.logger.debug({ experimentId }, 'step_clear_resume_done');
|
|
221
|
+
}
|
|
222
|
+
async loadSampleIdBatchImpl(datasetId, cursorId, batchSize) {
|
|
223
|
+
// Keyset pagination by id: a dataset's samples share created_at (NOW() at insert/promote time), so id alone is a
|
|
224
|
+
// complete, stable total order. Avoids OFFSET's O(n^2) rescans on large datasets.
|
|
225
|
+
const condition = cursorId === null
|
|
226
|
+
? (0, drizzle_orm_1.eq)(datasetSamples.datasetId, datasetId)
|
|
227
|
+
: (0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(datasetSamples.datasetId, datasetId), (0, drizzle_orm_1.gt)(datasetSamples.id, cursorId));
|
|
228
|
+
const rows = await this.db
|
|
229
|
+
.select({ id: datasetSamples.id })
|
|
230
|
+
.from(datasetSamples)
|
|
231
|
+
.where(condition)
|
|
232
|
+
.orderBy((0, drizzle_orm_1.asc)(datasetSamples.id))
|
|
233
|
+
.limit(batchSize);
|
|
234
|
+
this.logger.debug({ datasetId, cursorId, batchSize, sampleCount: rows.length }, 'step_load_sample_batch_done');
|
|
235
|
+
return rows.map((r) => r.id);
|
|
236
|
+
}
|
|
237
|
+
async enqueueBatchImpl(experimentId, sampleIds, orgId) {
|
|
238
|
+
const renderContext = await this.loadRenderContext(experimentId);
|
|
239
|
+
const samples = await this.loadSampleDataByIds(sampleIds);
|
|
240
|
+
const expectedField = readExpectedField(renderContext.judgmentRules);
|
|
241
|
+
// Inside the step we call DBOS.workflowID to capture the current workflow id, and pass it along in the payload to the worker,
|
|
242
|
+
// so that LLM call logs and ph_runs.run_results.dbos_workflow_id can be threaded by workflow (SPEC 05 §5.6)
|
|
243
|
+
const dbosWorkflowId = dbos_sdk_1.DBOS.workflowID;
|
|
244
|
+
const runResultIds = [];
|
|
245
|
+
for (const sample of samples) {
|
|
246
|
+
const runResultId = uuidV5FromSample(experimentId, sample.id);
|
|
247
|
+
runResultIds.push(runResultId);
|
|
248
|
+
const sampleData = (sample.data ?? {});
|
|
249
|
+
const { renderedPrompt, inputVariables } = (0, experiment_renderer_1.renderPromptForSample)({
|
|
250
|
+
body: renderContext.body,
|
|
251
|
+
variables: renderContext.variables,
|
|
252
|
+
outputSchema: renderContext.outputSchema,
|
|
253
|
+
promptLanguage: renderContext.promptLanguage,
|
|
254
|
+
}, { data: sampleData });
|
|
255
|
+
const expectedOutput = sampleData[expectedField];
|
|
256
|
+
const payload = {
|
|
257
|
+
projectId: renderContext.projectId,
|
|
258
|
+
orgId,
|
|
259
|
+
source: 'experiment',
|
|
260
|
+
sourceId: experimentId,
|
|
261
|
+
promptVersionId: renderContext.promptVersionId,
|
|
262
|
+
promptId: renderContext.promptId,
|
|
263
|
+
modelId: renderContext.modelId,
|
|
264
|
+
runResultId,
|
|
265
|
+
sampleId: sample.id,
|
|
266
|
+
dbosWorkflowId,
|
|
267
|
+
renderedPrompt,
|
|
268
|
+
inputVariables,
|
|
269
|
+
inference: pickInference(renderContext.runConfig),
|
|
270
|
+
limits: pickLimits(renderContext.runConfig),
|
|
271
|
+
retry: pickRetry(renderContext.runConfig),
|
|
272
|
+
judgment: {
|
|
273
|
+
outputSchema: renderContext.outputSchema,
|
|
274
|
+
judgmentRules: renderContext.judgmentRules,
|
|
275
|
+
expectedOutput,
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
await this.bullmq.enqueueLlmJob(payload, runResultId);
|
|
279
|
+
}
|
|
280
|
+
this.logger.debug({ experimentId, enqueuedCount: runResultIds.length }, 'step_enqueue_batch_done');
|
|
281
|
+
return runResultIds;
|
|
282
|
+
}
|
|
283
|
+
async pollUntilBatchDoneImpl(experimentId, runResultIds) {
|
|
284
|
+
if (runResultIds.length === 0)
|
|
285
|
+
return { terminalCount: 0, failedCount: 0, control: null };
|
|
286
|
+
const timeoutSec = batchPollTimeoutSec(runResultIds.length);
|
|
287
|
+
let pollIndex = 0;
|
|
288
|
+
const start = Date.now();
|
|
289
|
+
while (Date.now() - start < timeoutSec * 1000) {
|
|
290
|
+
const counts = await this.runResults.countBatchTerminal(experimentId, runResultIds);
|
|
291
|
+
this.logger.debug({ experimentId, pollIndex, expected: runResultIds.length, ...counts }, 'step_poll_batch_tick');
|
|
292
|
+
if (counts.terminalCount >= runResultIds.length)
|
|
293
|
+
return { ...counts, control: null };
|
|
294
|
+
// Re-read control_state every poll round, so that under large-batch + slow-model scenarios, a user who clicks stop does not have to wait for the whole batch to finish
|
|
295
|
+
const controlState = await this.readControlStateImpl(experimentId);
|
|
296
|
+
if (controlState === 'stop' || controlState === 'cancel') {
|
|
297
|
+
this.logger.debug({ experimentId, controlState }, 'step_poll_batch_control_interrupt');
|
|
298
|
+
return { ...counts, control: controlState };
|
|
299
|
+
}
|
|
300
|
+
const sleepSec = POLL_SLEEP_SCHEDULE_SEC[Math.min(pollIndex, POLL_SLEEP_SCHEDULE_SEC.length - 1)] ?? 5;
|
|
301
|
+
pollIndex += 1;
|
|
302
|
+
await dbos_sdk_1.DBOS.sleepSeconds(sleepSec);
|
|
303
|
+
}
|
|
304
|
+
this.logger.debug({ experimentId, pollIndex, batchSize: runResultIds.length, timeoutSec }, 'step_poll_batch_timeout');
|
|
305
|
+
const finalCounts = await this.runResults.countBatchTerminal(experimentId, runResultIds);
|
|
306
|
+
return { ...finalCounts, control: null };
|
|
307
|
+
}
|
|
308
|
+
async aggregateMetricsImpl(experimentId) {
|
|
309
|
+
const [rows, latency] = await Promise.all([
|
|
310
|
+
this.runResults.aggregateExperiment(experimentId),
|
|
311
|
+
this.runResults.aggregateExperimentLatency(experimentId),
|
|
312
|
+
]);
|
|
313
|
+
const { metrics, totalCount, failedCount } = (0, experiment_aggregator_1.aggregateExperimentMetrics)(rows, latency);
|
|
314
|
+
await this.db
|
|
315
|
+
.update(experiments)
|
|
316
|
+
.set({
|
|
317
|
+
metrics: metrics,
|
|
318
|
+
processedSamples: totalCount,
|
|
319
|
+
failedSamples: failedCount,
|
|
320
|
+
updatedAt: new Date(),
|
|
321
|
+
})
|
|
322
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(experiments.id, experimentId), (0, drizzle_orm_1.isNull)(experiments.deletedAt)));
|
|
323
|
+
this.logger.debug({ experimentId, totalCount, failedCount, accuracy: metrics?.accuracy ?? null }, 'step_aggregate_metrics_done');
|
|
324
|
+
}
|
|
325
|
+
async finalizeImpl(experimentId, kind, failureReason) {
|
|
326
|
+
const now = new Date();
|
|
327
|
+
await this.db
|
|
328
|
+
.update(experiments)
|
|
329
|
+
.set({
|
|
330
|
+
status: kind,
|
|
331
|
+
controlState: null,
|
|
332
|
+
finishedAt: now,
|
|
333
|
+
updatedAt: now,
|
|
334
|
+
failureReason: failureReason ?? null,
|
|
335
|
+
failureKind: kind === 'failed' ? 'internal' : null,
|
|
336
|
+
})
|
|
337
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(experiments.id, experimentId), (0, drizzle_orm_1.isNull)(experiments.deletedAt)));
|
|
338
|
+
this.logger.info({ experimentId, kind, failureReason }, 'experiment_workflow_finalized');
|
|
339
|
+
}
|
|
340
|
+
async loadRenderContext(experimentId) {
|
|
341
|
+
const rows = await this.db
|
|
342
|
+
.select({
|
|
343
|
+
projectId: experiments.projectId,
|
|
344
|
+
promptVersionId: experiments.promptVersionId,
|
|
345
|
+
modelId: experiments.modelId,
|
|
346
|
+
runConfig: experiments.runConfig,
|
|
347
|
+
promptId: promptVersions.promptId,
|
|
348
|
+
body: promptVersions.body,
|
|
349
|
+
variables: promptVersions.variables,
|
|
350
|
+
outputSchema: promptVersions.outputSchema,
|
|
351
|
+
judgmentRules: promptVersions.judgmentRules,
|
|
352
|
+
promptLanguage: promptVersions.promptLanguage,
|
|
353
|
+
modelProviderId: models.providerModelId,
|
|
354
|
+
})
|
|
355
|
+
.from(experiments)
|
|
356
|
+
.innerJoin(promptVersions, (0, drizzle_orm_1.eq)(promptVersions.id, experiments.promptVersionId))
|
|
357
|
+
.innerJoin(models, (0, drizzle_orm_1.eq)(models.id, experiments.modelId))
|
|
358
|
+
.where((0, drizzle_orm_1.eq)(experiments.id, experimentId))
|
|
359
|
+
.limit(1);
|
|
360
|
+
const row = rows[0];
|
|
361
|
+
if (!row)
|
|
362
|
+
throw new Error(`experiment_render_context_missing: ${experimentId}`);
|
|
363
|
+
return {
|
|
364
|
+
projectId: row.projectId,
|
|
365
|
+
promptVersionId: row.promptVersionId,
|
|
366
|
+
promptId: row.promptId,
|
|
367
|
+
modelId: row.modelId,
|
|
368
|
+
runConfig: row.runConfig ?? {},
|
|
369
|
+
body: row.body ?? '',
|
|
370
|
+
variables: row.variables ?? [],
|
|
371
|
+
outputSchema: row.outputSchema,
|
|
372
|
+
judgmentRules: row.judgmentRules ?? null,
|
|
373
|
+
promptLanguage: row.promptLanguage,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
async loadSampleDataByIds(sampleIds) {
|
|
377
|
+
if (sampleIds.length === 0)
|
|
378
|
+
return [];
|
|
379
|
+
const rows = await this.db
|
|
380
|
+
.select({ id: datasetSamples.id, data: datasetSamples.data })
|
|
381
|
+
.from(datasetSamples)
|
|
382
|
+
.where(inArrayUuids(datasetSamples.id, sampleIds));
|
|
383
|
+
return rows.map((r) => ({ id: r.id, data: r.data ?? null }));
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
exports.ExperimentWorkflowRegistrar = ExperimentWorkflowRegistrar;
|
|
387
|
+
exports.ExperimentWorkflowRegistrar = ExperimentWorkflowRegistrar = __decorate([
|
|
388
|
+
(0, common_1.Injectable)(),
|
|
389
|
+
__param(0, (0, common_1.Inject)(database_constants_1.DATABASE_CLIENT)),
|
|
390
|
+
__metadata("design:paramtypes", [Object, bullmq_service_1.BullmqService,
|
|
391
|
+
run_result_service_1.RunResultService])
|
|
392
|
+
], ExperimentWorkflowRegistrar);
|
|
393
|
+
function readExpectedField(rules) {
|
|
394
|
+
if (rules && typeof rules === 'object') {
|
|
395
|
+
const record = rules;
|
|
396
|
+
const f = record['expected_field'] ?? record['expectedField'];
|
|
397
|
+
if (typeof f === 'string' && f.length > 0)
|
|
398
|
+
return f;
|
|
399
|
+
const rawRules = record['rules'];
|
|
400
|
+
if (Array.isArray(rawRules)) {
|
|
401
|
+
for (const rule of rawRules) {
|
|
402
|
+
if (!rule || typeof rule !== 'object' || Array.isArray(rule))
|
|
403
|
+
continue;
|
|
404
|
+
const nested = rule['expected_field'] ??
|
|
405
|
+
rule['expectedField'] ??
|
|
406
|
+
rule['value'];
|
|
407
|
+
if (typeof nested === 'string' && nested.length > 0)
|
|
408
|
+
return nested;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return 'expected_output';
|
|
413
|
+
}
|
|
414
|
+
function pickInference(runConfig) {
|
|
415
|
+
const out = {};
|
|
416
|
+
if (typeof runConfig['temperature'] === 'number')
|
|
417
|
+
out.temperature = runConfig['temperature'];
|
|
418
|
+
if (typeof runConfig['maxTokens'] === 'number')
|
|
419
|
+
out.maxTokens = runConfig['maxTokens'];
|
|
420
|
+
if (typeof runConfig['topP'] === 'number')
|
|
421
|
+
out.topP = runConfig['topP'];
|
|
422
|
+
if (typeof runConfig['apiVersion'] === 'string')
|
|
423
|
+
out.apiVersion = runConfig['apiVersion'];
|
|
424
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
425
|
+
}
|
|
426
|
+
// Experiment-level "self-throttling" cap. The worker takes min(this, model-level quota) before invokeLLM;
|
|
427
|
+
// the model-level cap is always the ceiling (SPEC 21 §quota / SPEC 24 §4).
|
|
428
|
+
function pickLimits(runConfig) {
|
|
429
|
+
const out = {};
|
|
430
|
+
if (typeof runConfig['rpmLimit'] === 'number' && runConfig['rpmLimit'] > 0) {
|
|
431
|
+
out.rpmLimit = runConfig['rpmLimit'];
|
|
432
|
+
}
|
|
433
|
+
if (typeof runConfig['tpmLimit'] === 'number' && runConfig['tpmLimit'] > 0) {
|
|
434
|
+
out.tpmLimit = runConfig['tpmLimit'];
|
|
435
|
+
}
|
|
436
|
+
if (typeof runConfig['concurrency'] === 'number' && runConfig['concurrency'] > 0) {
|
|
437
|
+
out.concurrency = runConfig['concurrency'];
|
|
438
|
+
}
|
|
439
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
440
|
+
}
|
|
441
|
+
// DTO uses retries (plural) while payload uses maxRetries (singular) — the picker handles the rename.
|
|
442
|
+
function pickRetry(runConfig) {
|
|
443
|
+
if (typeof runConfig['retries'] === 'number' && runConfig['retries'] >= 0) {
|
|
444
|
+
return { maxRetries: runConfig['retries'] };
|
|
445
|
+
}
|
|
446
|
+
return undefined;
|
|
447
|
+
}
|
|
448
|
+
function uuidV5FromSample(experimentId, sampleId) {
|
|
449
|
+
const hash = (0, node_crypto_1.createHash)('sha1').update(`${RUN_RESULT_NS}:${experimentId}:${sampleId}`).digest();
|
|
450
|
+
const bytes = Buffer.from(hash.subarray(0, 16));
|
|
451
|
+
bytes[6] = ((bytes[6] ?? 0) & 0x0f) | 0x50; // version 5
|
|
452
|
+
bytes[8] = ((bytes[8] ?? 0) & 0x3f) | 0x80; // RFC 4122 variant
|
|
453
|
+
const hex = bytes.toString('hex');
|
|
454
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
455
|
+
}
|
|
456
|
+
// drizzle-orm does not expose inArray for raw uuid arrays; manually compose a safe IN clause
|
|
457
|
+
function inArrayUuids(column, ids) {
|
|
458
|
+
const params = drizzle_orm_1.sql.join(ids.map((id) => (0, drizzle_orm_1.sql) `${id}::uuid`), (0, drizzle_orm_1.sql) `, `);
|
|
459
|
+
return (0, drizzle_orm_1.sql) `${column} IN (${params})`;
|
|
460
|
+
}
|
|
461
|
+
// For external e2e / mcp callers: expose a stable runResultId computation
|
|
462
|
+
function computeRunResultId(experimentId, sampleId) {
|
|
463
|
+
return uuidV5FromSample(experimentId, sampleId);
|
|
464
|
+
}
|
|
465
|
+
//# sourceMappingURL=experiment.workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experiment.workflow.js","sourceRoot":"","sources":["../../../../src/server/modules/experiment/experiment.workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CurrentUserPayload } from '../../common/decorators/current-user.decorator';
|
|
2
|
+
import { ModelService } from './model.service';
|
|
3
|
+
export declare class ModelController {
|
|
4
|
+
private readonly modelService;
|
|
5
|
+
constructor(modelService: ModelService);
|
|
6
|
+
listContextWindows(rawQuery: Record<string, string>): Promise<{
|
|
7
|
+
data: import("@proofhound/shared").ModelContextWindowResponseDto[];
|
|
8
|
+
total: number;
|
|
9
|
+
}>;
|
|
10
|
+
lookupContextWindow(rawQuery: Record<string, string>): Promise<{
|
|
11
|
+
providerModelId: string;
|
|
12
|
+
contextWindowTokens: number;
|
|
13
|
+
updatedBy: string | null;
|
|
14
|
+
updatedAt: string;
|
|
15
|
+
} | null>;
|
|
16
|
+
upsertContextWindow(rawBody: unknown, actor: CurrentUserPayload): Promise<{
|
|
17
|
+
providerModelId: string;
|
|
18
|
+
contextWindowTokens: number;
|
|
19
|
+
updatedBy: string | null;
|
|
20
|
+
updatedAt: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=model.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.controller.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/model/model.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEtG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAEa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAGjD,kBAAkB,CAAU,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;IAU5D,mBAAmB,CAAU,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;IAW7D,mBAAmB,CAAS,OAAO,EAAE,OAAO,EAAiB,KAAK,EAAE,kBAAkB;;;;;;CAQ7F"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ModelController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const shared_1 = require("@proofhound/shared");
|
|
18
|
+
const current_user_decorator_1 = require("../../common/decorators/current-user.decorator");
|
|
19
|
+
const http_actor_guard_1 = require("../../common/contracts/http-actor.guard");
|
|
20
|
+
const model_service_1 = require("./model.service");
|
|
21
|
+
let ModelController = class ModelController {
|
|
22
|
+
constructor(modelService) {
|
|
23
|
+
this.modelService = modelService;
|
|
24
|
+
}
|
|
25
|
+
async listContextWindows(rawQuery) {
|
|
26
|
+
const parse = shared_1.listModelContextWindowsQuerySchema.safeParse(rawQuery);
|
|
27
|
+
if (!parse.success) {
|
|
28
|
+
throw new common_1.BadRequestException(parse.error.issues);
|
|
29
|
+
}
|
|
30
|
+
return this.modelService.listContextWindows(parse.data);
|
|
31
|
+
}
|
|
32
|
+
async lookupContextWindow(rawQuery) {
|
|
33
|
+
const parse = shared_1.lookupModelContextWindowQuerySchema.safeParse(rawQuery);
|
|
34
|
+
if (!parse.success) {
|
|
35
|
+
throw new common_1.BadRequestException(parse.error.issues);
|
|
36
|
+
}
|
|
37
|
+
return this.modelService.lookupContextWindow(parse.data.providerModelId);
|
|
38
|
+
}
|
|
39
|
+
async upsertContextWindow(rawBody, actor) {
|
|
40
|
+
const parse = shared_1.upsertModelContextWindowSchema.safeParse(rawBody);
|
|
41
|
+
if (!parse.success) {
|
|
42
|
+
throw new common_1.BadRequestException(parse.error.issues);
|
|
43
|
+
}
|
|
44
|
+
return this.modelService.upsertContextWindow(parse.data, actor.sub);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.ModelController = ModelController;
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, common_1.Get)('context-windows'),
|
|
50
|
+
__param(0, (0, common_1.Query)()),
|
|
51
|
+
__metadata("design:type", Function),
|
|
52
|
+
__metadata("design:paramtypes", [Object]),
|
|
53
|
+
__metadata("design:returntype", Promise)
|
|
54
|
+
], ModelController.prototype, "listContextWindows", null);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, common_1.Get)('context-windows/lookup'),
|
|
57
|
+
__param(0, (0, common_1.Query)()),
|
|
58
|
+
__metadata("design:type", Function),
|
|
59
|
+
__metadata("design:paramtypes", [Object]),
|
|
60
|
+
__metadata("design:returntype", Promise)
|
|
61
|
+
], ModelController.prototype, "lookupContextWindow", null);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, common_1.Put)('context-windows'),
|
|
64
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
65
|
+
__param(0, (0, common_1.Body)()),
|
|
66
|
+
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
|
67
|
+
__metadata("design:type", Function),
|
|
68
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
69
|
+
__metadata("design:returntype", Promise)
|
|
70
|
+
], ModelController.prototype, "upsertContextWindow", null);
|
|
71
|
+
exports.ModelController = ModelController = __decorate([
|
|
72
|
+
(0, common_1.Controller)('models'),
|
|
73
|
+
(0, common_1.UseGuards)(http_actor_guard_1.HttpActorGuard),
|
|
74
|
+
__metadata("design:paramtypes", [model_service_1.ModelService])
|
|
75
|
+
], ModelController);
|
|
76
|
+
//# sourceMappingURL=model.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/model/model.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,+CAI4B;AAC5B,2FAAsG;AACtG,8EAAyE;AACzE,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAGrD,AAAN,KAAK,CAAC,kBAAkB,CAAU,QAAgC;QAChE,MAAM,KAAK,GAAG,2CAAkC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CAAU,QAAgC;QACjE,MAAM,KAAK,GAAG,4CAAmC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3E,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CAAS,OAAgB,EAAiB,KAAyB;QAC1F,MAAM,KAAK,GAAG,uCAA8B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AAjCY,0CAAe;AAIpB;IADL,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACG,WAAA,IAAA,cAAK,GAAE,CAAA;;;;yDAOhC;AAGK;IADL,IAAA,YAAG,EAAC,wBAAwB,CAAC;IACH,WAAA,IAAA,cAAK,GAAE,CAAA;;;;0DAOjC;AAIK;IAFL,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACtB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACG,WAAA,IAAA,aAAI,GAAE,CAAA;IAAoB,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;0DAOjE;0BAhCU,eAAe;IAF3B,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,kBAAS,EAAC,iCAAc,CAAC;qCAEmB,4BAAY;GAD5C,eAAe,CAiC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.module.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/model/model.module.ts"],"names":[],"mappings":"AASA,qBAMa,WAAW;CAAG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ModelModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const crypto_module_1 = require("../../../shared/crypto/crypto.module");
|
|
12
|
+
const database_module_1 = require("../../../shared/database/database.module");
|
|
13
|
+
const redis_module_1 = require("../../../shared/redis/redis.module");
|
|
14
|
+
const model_controller_1 = require("./model.controller");
|
|
15
|
+
const model_repository_1 = require("./model.repository");
|
|
16
|
+
const model_service_1 = require("./model.service");
|
|
17
|
+
const project_model_controller_1 = require("./project-model.controller");
|
|
18
|
+
let ModelModule = class ModelModule {
|
|
19
|
+
};
|
|
20
|
+
exports.ModelModule = ModelModule;
|
|
21
|
+
exports.ModelModule = ModelModule = __decorate([
|
|
22
|
+
(0, common_1.Module)({
|
|
23
|
+
imports: [crypto_module_1.CryptoModule, database_module_1.DatabaseModule, redis_module_1.RedisModule],
|
|
24
|
+
controllers: [model_controller_1.ModelController, project_model_controller_1.ProjectModelController],
|
|
25
|
+
providers: [model_repository_1.ModelRepository, model_service_1.ModelService],
|
|
26
|
+
exports: [model_service_1.ModelService],
|
|
27
|
+
})
|
|
28
|
+
], ModelModule);
|
|
29
|
+
//# sourceMappingURL=model.module.js.map
|