@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.
Files changed (670) hide show
  1. package/LICENSE +190 -0
  2. package/dist/index.d.ts +7 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +10 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/infra/index.d.ts +12 -0
  7. package/dist/infra/index.d.ts.map +1 -0
  8. package/dist/infra/index.js +27 -0
  9. package/dist/infra/index.js.map +1 -0
  10. package/dist/server/channels/mcp/annotation.tools.d.ts +4 -0
  11. package/dist/server/channels/mcp/annotation.tools.d.ts.map +1 -0
  12. package/dist/server/channels/mcp/annotation.tools.js +132 -0
  13. package/dist/server/channels/mcp/annotation.tools.js.map +1 -0
  14. package/dist/server/channels/mcp/canary-release.tools.d.ts +4 -0
  15. package/dist/server/channels/mcp/canary-release.tools.d.ts.map +1 -0
  16. package/dist/server/channels/mcp/canary-release.tools.js +279 -0
  17. package/dist/server/channels/mcp/canary-release.tools.js.map +1 -0
  18. package/dist/server/channels/mcp/connector.tools.d.ts +4 -0
  19. package/dist/server/channels/mcp/connector.tools.d.ts.map +1 -0
  20. package/dist/server/channels/mcp/connector.tools.js +211 -0
  21. package/dist/server/channels/mcp/connector.tools.js.map +1 -0
  22. package/dist/server/channels/mcp/dataset-import.tools.d.ts +4 -0
  23. package/dist/server/channels/mcp/dataset-import.tools.d.ts.map +1 -0
  24. package/dist/server/channels/mcp/dataset-import.tools.js +107 -0
  25. package/dist/server/channels/mcp/dataset-import.tools.js.map +1 -0
  26. package/dist/server/channels/mcp/dataset.tools.d.ts +4 -0
  27. package/dist/server/channels/mcp/dataset.tools.d.ts.map +1 -0
  28. package/dist/server/channels/mcp/dataset.tools.js +166 -0
  29. package/dist/server/channels/mcp/dataset.tools.js.map +1 -0
  30. package/dist/server/channels/mcp/experiment.tools.d.ts +4 -0
  31. package/dist/server/channels/mcp/experiment.tools.d.ts.map +1 -0
  32. package/dist/server/channels/mcp/experiment.tools.js +133 -0
  33. package/dist/server/channels/mcp/experiment.tools.js.map +1 -0
  34. package/dist/server/channels/mcp/index.d.ts +19 -0
  35. package/dist/server/channels/mcp/index.d.ts.map +1 -0
  36. package/dist/server/channels/mcp/index.js +35 -0
  37. package/dist/server/channels/mcp/index.js.map +1 -0
  38. package/dist/server/channels/mcp/mcp-context.d.ts +30 -0
  39. package/dist/server/channels/mcp/mcp-context.d.ts.map +1 -0
  40. package/dist/server/channels/mcp/mcp-context.js +110 -0
  41. package/dist/server/channels/mcp/mcp-context.js.map +1 -0
  42. package/dist/server/channels/mcp/mcp-server.factory.d.ts +13 -0
  43. package/dist/server/channels/mcp/mcp-server.factory.d.ts.map +1 -0
  44. package/dist/server/channels/mcp/mcp-server.factory.js +42 -0
  45. package/dist/server/channels/mcp/mcp-server.factory.js.map +1 -0
  46. package/dist/server/channels/mcp/mcp.controller.d.ts +10 -0
  47. package/dist/server/channels/mcp/mcp.controller.d.ts.map +1 -0
  48. package/dist/server/channels/mcp/mcp.controller.js +67 -0
  49. package/dist/server/channels/mcp/mcp.controller.js.map +1 -0
  50. package/dist/server/channels/mcp/mcp.module.d.ts +3 -0
  51. package/dist/server/channels/mcp/mcp.module.d.ts.map +1 -0
  52. package/dist/server/channels/mcp/mcp.module.js +114 -0
  53. package/dist/server/channels/mcp/mcp.module.js.map +1 -0
  54. package/dist/server/channels/mcp/mcp.tokens.d.ts +2 -0
  55. package/dist/server/channels/mcp/mcp.tokens.d.ts.map +1 -0
  56. package/dist/server/channels/mcp/mcp.tokens.js +8 -0
  57. package/dist/server/channels/mcp/mcp.tokens.js.map +1 -0
  58. package/dist/server/channels/mcp/mcp.transport.d.ts +11 -0
  59. package/dist/server/channels/mcp/mcp.transport.d.ts.map +1 -0
  60. package/dist/server/channels/mcp/mcp.transport.js +71 -0
  61. package/dist/server/channels/mcp/mcp.transport.js.map +1 -0
  62. package/dist/server/channels/mcp/mcp.types.d.ts +16 -0
  63. package/dist/server/channels/mcp/mcp.types.d.ts.map +1 -0
  64. package/dist/server/channels/mcp/mcp.types.js +3 -0
  65. package/dist/server/channels/mcp/mcp.types.js.map +1 -0
  66. package/dist/server/channels/mcp/model.tools.d.ts +4 -0
  67. package/dist/server/channels/mcp/model.tools.d.ts.map +1 -0
  68. package/dist/server/channels/mcp/model.tools.js +215 -0
  69. package/dist/server/channels/mcp/model.tools.js.map +1 -0
  70. package/dist/server/channels/mcp/monitoring.tools.d.ts +4 -0
  71. package/dist/server/channels/mcp/monitoring.tools.d.ts.map +1 -0
  72. package/dist/server/channels/mcp/monitoring.tools.js +81 -0
  73. package/dist/server/channels/mcp/monitoring.tools.js.map +1 -0
  74. package/dist/server/channels/mcp/optimization.tools.d.ts +4 -0
  75. package/dist/server/channels/mcp/optimization.tools.d.ts.map +1 -0
  76. package/dist/server/channels/mcp/optimization.tools.js +104 -0
  77. package/dist/server/channels/mcp/optimization.tools.js.map +1 -0
  78. package/dist/server/channels/mcp/prompt.tools.d.ts +5 -0
  79. package/dist/server/channels/mcp/prompt.tools.d.ts.map +1 -0
  80. package/dist/server/channels/mcp/prompt.tools.js +258 -0
  81. package/dist/server/channels/mcp/prompt.tools.js.map +1 -0
  82. package/dist/server/channels/mcp/quick-start.tools.d.ts +4 -0
  83. package/dist/server/channels/mcp/quick-start.tools.d.ts.map +1 -0
  84. package/dist/server/channels/mcp/quick-start.tools.js +48 -0
  85. package/dist/server/channels/mcp/quick-start.tools.js.map +1 -0
  86. package/dist/server/channels/mcp/release-line.tools.d.ts +4 -0
  87. package/dist/server/channels/mcp/release-line.tools.d.ts.map +1 -0
  88. package/dist/server/channels/mcp/release-line.tools.js +101 -0
  89. package/dist/server/channels/mcp/release-line.tools.js.map +1 -0
  90. package/dist/server/channels/mcp/run-result.tools.d.ts +4 -0
  91. package/dist/server/channels/mcp/run-result.tools.d.ts.map +1 -0
  92. package/dist/server/channels/mcp/run-result.tools.js +116 -0
  93. package/dist/server/channels/mcp/run-result.tools.js.map +1 -0
  94. package/dist/server/channels/mcp/token.tools.d.ts +4 -0
  95. package/dist/server/channels/mcp/token.tools.d.ts.map +1 -0
  96. package/dist/server/channels/mcp/token.tools.js +87 -0
  97. package/dist/server/channels/mcp/token.tools.js.map +1 -0
  98. package/dist/server/common/access-control.d.ts +5 -0
  99. package/dist/server/common/access-control.d.ts.map +1 -0
  100. package/dist/server/common/access-control.js +25 -0
  101. package/dist/server/common/access-control.js.map +1 -0
  102. package/dist/server/common/actor-context.d.ts +11 -0
  103. package/dist/server/common/actor-context.d.ts.map +1 -0
  104. package/dist/server/common/actor-context.js +8 -0
  105. package/dist/server/common/actor-context.js.map +1 -0
  106. package/dist/server/common/contracts/access-control.service.d.ts +6 -0
  107. package/dist/server/common/contracts/access-control.service.d.ts.map +1 -0
  108. package/dist/server/common/contracts/access-control.service.js +13 -0
  109. package/dist/server/common/contracts/access-control.service.js.map +1 -0
  110. package/dist/server/common/contracts/actor-context.resolver.d.ts +7 -0
  111. package/dist/server/common/contracts/actor-context.resolver.d.ts.map +1 -0
  112. package/dist/server/common/contracts/actor-context.resolver.js +15 -0
  113. package/dist/server/common/contracts/actor-context.resolver.js.map +1 -0
  114. package/dist/server/common/contracts/connector-context.resolver.d.ts +19 -0
  115. package/dist/server/common/contracts/connector-context.resolver.d.ts.map +1 -0
  116. package/dist/server/common/contracts/connector-context.resolver.js +23 -0
  117. package/dist/server/common/contracts/connector-context.resolver.js.map +1 -0
  118. package/dist/server/common/contracts/http-actor.guard.d.ts +13 -0
  119. package/dist/server/common/contracts/http-actor.guard.d.ts.map +1 -0
  120. package/dist/server/common/contracts/http-actor.guard.js +87 -0
  121. package/dist/server/common/contracts/http-actor.guard.js.map +1 -0
  122. package/dist/server/common/contracts/index.d.ts +23 -0
  123. package/dist/server/common/contracts/index.d.ts.map +1 -0
  124. package/dist/server/common/contracts/index.js +45 -0
  125. package/dist/server/common/contracts/index.js.map +1 -0
  126. package/dist/server/common/contracts/limiter-key.strategy.d.ts +8 -0
  127. package/dist/server/common/contracts/limiter-key.strategy.d.ts.map +1 -0
  128. package/dist/server/common/contracts/limiter-key.strategy.js +24 -0
  129. package/dist/server/common/contracts/limiter-key.strategy.js.map +1 -0
  130. package/dist/server/common/contracts/local-access-control.service.d.ts +7 -0
  131. package/dist/server/common/contracts/local-access-control.service.d.ts.map +1 -0
  132. package/dist/server/common/contracts/local-access-control.service.js +41 -0
  133. package/dist/server/common/contracts/local-access-control.service.js.map +1 -0
  134. package/dist/server/common/contracts/local-actor-context.resolver.d.ts +13 -0
  135. package/dist/server/common/contracts/local-actor-context.resolver.d.ts.map +1 -0
  136. package/dist/server/common/contracts/local-actor-context.resolver.js +102 -0
  137. package/dist/server/common/contracts/local-actor-context.resolver.js.map +1 -0
  138. package/dist/server/common/contracts/local-contracts.module.d.ts +3 -0
  139. package/dist/server/common/contracts/local-contracts.module.d.ts.map +1 -0
  140. package/dist/server/common/contracts/local-contracts.module.js +78 -0
  141. package/dist/server/common/contracts/local-contracts.module.js.map +1 -0
  142. package/dist/server/common/contracts/local-mcp-auth.resolver.d.ts +12 -0
  143. package/dist/server/common/contracts/local-mcp-auth.resolver.d.ts.map +1 -0
  144. package/dist/server/common/contracts/local-mcp-auth.resolver.js +66 -0
  145. package/dist/server/common/contracts/local-mcp-auth.resolver.js.map +1 -0
  146. package/dist/server/common/contracts/local-project-context.resolver.d.ts +8 -0
  147. package/dist/server/common/contracts/local-project-context.resolver.d.ts.map +1 -0
  148. package/dist/server/common/contracts/local-project-context.resolver.js +27 -0
  149. package/dist/server/common/contracts/local-project-context.resolver.js.map +1 -0
  150. package/dist/server/common/contracts/local-user-token.verifier.d.ts +26 -0
  151. package/dist/server/common/contracts/local-user-token.verifier.d.ts.map +1 -0
  152. package/dist/server/common/contracts/local-user-token.verifier.js +96 -0
  153. package/dist/server/common/contracts/local-user-token.verifier.js.map +1 -0
  154. package/dist/server/common/contracts/mcp-auth.resolver.d.ts +7 -0
  155. package/dist/server/common/contracts/mcp-auth.resolver.d.ts.map +1 -0
  156. package/dist/server/common/contracts/mcp-auth.resolver.js +12 -0
  157. package/dist/server/common/contracts/mcp-auth.resolver.js.map +1 -0
  158. package/dist/server/common/contracts/project-context.resolver.d.ts +11 -0
  159. package/dist/server/common/contracts/project-context.resolver.d.ts.map +1 -0
  160. package/dist/server/common/contracts/project-context.resolver.js +22 -0
  161. package/dist/server/common/contracts/project-context.resolver.js.map +1 -0
  162. package/dist/server/common/contracts/quota-policy.hook.d.ts +24 -0
  163. package/dist/server/common/contracts/quota-policy.hook.d.ts.map +1 -0
  164. package/dist/server/common/contracts/quota-policy.hook.js +22 -0
  165. package/dist/server/common/contracts/quota-policy.hook.js.map +1 -0
  166. package/dist/server/common/contracts/runtime-limits.provider.d.ts +17 -0
  167. package/dist/server/common/contracts/runtime-limits.provider.d.ts.map +1 -0
  168. package/dist/server/common/contracts/runtime-limits.provider.js +23 -0
  169. package/dist/server/common/contracts/runtime-limits.provider.js.map +1 -0
  170. package/dist/server/common/contracts/token.service.d.ts +11 -0
  171. package/dist/server/common/contracts/token.service.d.ts.map +1 -0
  172. package/dist/server/common/contracts/token.service.js +12 -0
  173. package/dist/server/common/contracts/token.service.js.map +1 -0
  174. package/dist/server/common/contracts/types.d.ts +45 -0
  175. package/dist/server/common/contracts/types.d.ts.map +1 -0
  176. package/dist/server/common/contracts/types.js +8 -0
  177. package/dist/server/common/contracts/types.js.map +1 -0
  178. package/dist/server/common/contracts/workflow-authorization.hook.d.ts +9 -0
  179. package/dist/server/common/contracts/workflow-authorization.hook.d.ts.map +1 -0
  180. package/dist/server/common/contracts/workflow-authorization.hook.js +27 -0
  181. package/dist/server/common/contracts/workflow-authorization.hook.js.map +1 -0
  182. package/dist/server/common/decorators/current-project.decorator.d.ts +5 -0
  183. package/dist/server/common/decorators/current-project.decorator.d.ts.map +1 -0
  184. package/dist/server/common/decorators/current-project.decorator.js +22 -0
  185. package/dist/server/common/decorators/current-project.decorator.js.map +1 -0
  186. package/dist/server/common/decorators/current-user.decorator.d.ts +13 -0
  187. package/dist/server/common/decorators/current-user.decorator.d.ts.map +1 -0
  188. package/dist/server/common/decorators/current-user.decorator.js +9 -0
  189. package/dist/server/common/decorators/current-user.decorator.js.map +1 -0
  190. package/dist/server/common/errors/db-error.d.ts +2 -0
  191. package/dist/server/common/errors/db-error.d.ts.map +1 -0
  192. package/dist/server/common/errors/db-error.js +12 -0
  193. package/dist/server/common/errors/db-error.js.map +1 -0
  194. package/dist/server/common/project-context.d.ts +22 -0
  195. package/dist/server/common/project-context.d.ts.map +1 -0
  196. package/dist/server/common/project-context.js +60 -0
  197. package/dist/server/common/project-context.js.map +1 -0
  198. package/dist/server/common/project-context.module.d.ts +3 -0
  199. package/dist/server/common/project-context.module.d.ts.map +1 -0
  200. package/dist/server/common/project-context.module.js +22 -0
  201. package/dist/server/common/project-context.module.js.map +1 -0
  202. package/dist/server/index.d.ts +4 -0
  203. package/dist/server/index.d.ts.map +1 -0
  204. package/dist/server/index.js +8 -0
  205. package/dist/server/index.js.map +1 -0
  206. package/dist/server/infrastructure/llm/run-result-writer.d.ts +10 -0
  207. package/dist/server/infrastructure/llm/run-result-writer.d.ts.map +1 -0
  208. package/dist/server/infrastructure/llm/run-result-writer.js +103 -0
  209. package/dist/server/infrastructure/llm/run-result-writer.js.map +1 -0
  210. package/dist/server/infrastructure/orchestration/bullmq.module.d.ts +3 -0
  211. package/dist/server/infrastructure/orchestration/bullmq.module.d.ts.map +1 -0
  212. package/dist/server/infrastructure/orchestration/bullmq.module.js +36 -0
  213. package/dist/server/infrastructure/orchestration/bullmq.module.js.map +1 -0
  214. package/dist/server/infrastructure/orchestration/bullmq.service.d.ts +10 -0
  215. package/dist/server/infrastructure/orchestration/bullmq.service.d.ts.map +1 -0
  216. package/dist/server/infrastructure/orchestration/bullmq.service.js +44 -0
  217. package/dist/server/infrastructure/orchestration/bullmq.service.js.map +1 -0
  218. package/dist/server/infrastructure/orchestration/dbos.module.d.ts +3 -0
  219. package/dist/server/infrastructure/orchestration/dbos.module.d.ts.map +1 -0
  220. package/dist/server/infrastructure/orchestration/dbos.module.js +21 -0
  221. package/dist/server/infrastructure/orchestration/dbos.module.js.map +1 -0
  222. package/dist/server/infrastructure/orchestration/dbos.service.d.ts +7 -0
  223. package/dist/server/infrastructure/orchestration/dbos.service.d.ts.map +1 -0
  224. package/dist/server/infrastructure/orchestration/dbos.service.js +43 -0
  225. package/dist/server/infrastructure/orchestration/dbos.service.js.map +1 -0
  226. package/dist/server/infrastructure/orchestration/index.d.ts +6 -0
  227. package/dist/server/infrastructure/orchestration/index.d.ts.map +1 -0
  228. package/dist/server/infrastructure/orchestration/index.js +14 -0
  229. package/dist/server/infrastructure/orchestration/index.js.map +1 -0
  230. package/dist/server/infrastructure/orchestration/orchestration.constants.d.ts +2 -0
  231. package/dist/server/infrastructure/orchestration/orchestration.constants.d.ts.map +1 -0
  232. package/dist/server/infrastructure/orchestration/orchestration.constants.js +5 -0
  233. package/dist/server/infrastructure/orchestration/orchestration.constants.js.map +1 -0
  234. package/dist/server/infrastructure/orchestration/orchestration.module.d.ts +3 -0
  235. package/dist/server/infrastructure/orchestration/orchestration.module.d.ts.map +1 -0
  236. package/dist/server/infrastructure/orchestration/orchestration.module.js +22 -0
  237. package/dist/server/infrastructure/orchestration/orchestration.module.js.map +1 -0
  238. package/dist/server/modules/annotation/annotation.controller.d.ts +245 -0
  239. package/dist/server/modules/annotation/annotation.controller.d.ts.map +1 -0
  240. package/dist/server/modules/annotation/annotation.controller.js +159 -0
  241. package/dist/server/modules/annotation/annotation.controller.js.map +1 -0
  242. package/dist/server/modules/annotation/annotation.module.d.ts +3 -0
  243. package/dist/server/modules/annotation/annotation.module.d.ts.map +1 -0
  244. package/dist/server/modules/annotation/annotation.module.js +26 -0
  245. package/dist/server/modules/annotation/annotation.module.js.map +1 -0
  246. package/dist/server/modules/annotation/annotation.repository.d.ts +28 -0
  247. package/dist/server/modules/annotation/annotation.repository.d.ts.map +1 -0
  248. package/dist/server/modules/annotation/annotation.repository.js +634 -0
  249. package/dist/server/modules/annotation/annotation.repository.js.map +1 -0
  250. package/dist/server/modules/annotation/annotation.service.d.ts +26 -0
  251. package/dist/server/modules/annotation/annotation.service.d.ts.map +1 -0
  252. package/dist/server/modules/annotation/annotation.service.js +144 -0
  253. package/dist/server/modules/annotation/annotation.service.js.map +1 -0
  254. package/dist/server/modules/canary-release/canary-release.controller.d.ts +629 -0
  255. package/dist/server/modules/canary-release/canary-release.controller.d.ts.map +1 -0
  256. package/dist/server/modules/canary-release/canary-release.controller.js +244 -0
  257. package/dist/server/modules/canary-release/canary-release.controller.js.map +1 -0
  258. package/dist/server/modules/canary-release/canary-release.module.d.ts +3 -0
  259. package/dist/server/modules/canary-release/canary-release.module.d.ts.map +1 -0
  260. package/dist/server/modules/canary-release/canary-release.module.js +27 -0
  261. package/dist/server/modules/canary-release/canary-release.module.js.map +1 -0
  262. package/dist/server/modules/canary-release/canary-release.repository.d.ts +686 -0
  263. package/dist/server/modules/canary-release/canary-release.repository.d.ts.map +1 -0
  264. package/dist/server/modules/canary-release/canary-release.repository.js +673 -0
  265. package/dist/server/modules/canary-release/canary-release.repository.js.map +1 -0
  266. package/dist/server/modules/canary-release/canary-release.service.d.ts +55 -0
  267. package/dist/server/modules/canary-release/canary-release.service.d.ts.map +1 -0
  268. package/dist/server/modules/canary-release/canary-release.service.js +573 -0
  269. package/dist/server/modules/canary-release/canary-release.service.js.map +1 -0
  270. package/dist/server/modules/canary-release/canary-runtime.d.ts +60 -0
  271. package/dist/server/modules/canary-release/canary-runtime.d.ts.map +1 -0
  272. package/dist/server/modules/canary-release/canary-runtime.js +328 -0
  273. package/dist/server/modules/canary-release/canary-runtime.js.map +1 -0
  274. package/dist/server/modules/connector/connector.controller.d.ts +446 -0
  275. package/dist/server/modules/connector/connector.controller.d.ts.map +1 -0
  276. package/dist/server/modules/connector/connector.controller.js +235 -0
  277. package/dist/server/modules/connector/connector.controller.js.map +1 -0
  278. package/dist/server/modules/connector/connector.driver-factory.d.ts +66 -0
  279. package/dist/server/modules/connector/connector.driver-factory.d.ts.map +1 -0
  280. package/dist/server/modules/connector/connector.driver-factory.js +314 -0
  281. package/dist/server/modules/connector/connector.driver-factory.js.map +1 -0
  282. package/dist/server/modules/connector/connector.module.d.ts +3 -0
  283. package/dist/server/modules/connector/connector.module.d.ts.map +1 -0
  284. package/dist/server/modules/connector/connector.module.js +28 -0
  285. package/dist/server/modules/connector/connector.module.js.map +1 -0
  286. package/dist/server/modules/connector/connector.repository.d.ts +369 -0
  287. package/dist/server/modules/connector/connector.repository.d.ts.map +1 -0
  288. package/dist/server/modules/connector/connector.repository.js +323 -0
  289. package/dist/server/modules/connector/connector.repository.js.map +1 -0
  290. package/dist/server/modules/connector/connector.service.d.ts +60 -0
  291. package/dist/server/modules/connector/connector.service.d.ts.map +1 -0
  292. package/dist/server/modules/connector/connector.service.js +682 -0
  293. package/dist/server/modules/connector/connector.service.js.map +1 -0
  294. package/dist/server/modules/dataset/dataset-field-schema.util.d.ts +4 -0
  295. package/dist/server/modules/dataset/dataset-field-schema.util.d.ts.map +1 -0
  296. package/dist/server/modules/dataset/dataset-field-schema.util.js +57 -0
  297. package/dist/server/modules/dataset/dataset-field-schema.util.js.map +1 -0
  298. package/dist/server/modules/dataset/dataset-import.controller.d.ts +79 -0
  299. package/dist/server/modules/dataset/dataset-import.controller.d.ts.map +1 -0
  300. package/dist/server/modules/dataset/dataset-import.controller.js +124 -0
  301. package/dist/server/modules/dataset/dataset-import.controller.js.map +1 -0
  302. package/dist/server/modules/dataset/dataset-import.repository.d.ts +63 -0
  303. package/dist/server/modules/dataset/dataset-import.repository.d.ts.map +1 -0
  304. package/dist/server/modules/dataset/dataset-import.repository.js +176 -0
  305. package/dist/server/modules/dataset/dataset-import.repository.js.map +1 -0
  306. package/dist/server/modules/dataset/dataset-import.service.d.ts +36 -0
  307. package/dist/server/modules/dataset/dataset-import.service.d.ts.map +1 -0
  308. package/dist/server/modules/dataset/dataset-import.service.js +227 -0
  309. package/dist/server/modules/dataset/dataset-import.service.js.map +1 -0
  310. package/dist/server/modules/dataset/dataset.controller.d.ts +127 -0
  311. package/dist/server/modules/dataset/dataset.controller.d.ts.map +1 -0
  312. package/dist/server/modules/dataset/dataset.controller.js +168 -0
  313. package/dist/server/modules/dataset/dataset.controller.js.map +1 -0
  314. package/dist/server/modules/dataset/dataset.module.d.ts +3 -0
  315. package/dist/server/modules/dataset/dataset.module.d.ts.map +1 -0
  316. package/dist/server/modules/dataset/dataset.module.js +29 -0
  317. package/dist/server/modules/dataset/dataset.module.js.map +1 -0
  318. package/dist/server/modules/dataset/dataset.repository.d.ts +75 -0
  319. package/dist/server/modules/dataset/dataset.repository.d.ts.map +1 -0
  320. package/dist/server/modules/dataset/dataset.repository.js +238 -0
  321. package/dist/server/modules/dataset/dataset.repository.js.map +1 -0
  322. package/dist/server/modules/dataset/dataset.service.d.ts +50 -0
  323. package/dist/server/modules/dataset/dataset.service.d.ts.map +1 -0
  324. package/dist/server/modules/dataset/dataset.service.js +343 -0
  325. package/dist/server/modules/dataset/dataset.service.js.map +1 -0
  326. package/dist/server/modules/experiment/experiment.aggregator.d.ts +14 -0
  327. package/dist/server/modules/experiment/experiment.aggregator.d.ts.map +1 -0
  328. package/dist/server/modules/experiment/experiment.aggregator.js +39 -0
  329. package/dist/server/modules/experiment/experiment.aggregator.js.map +1 -0
  330. package/dist/server/modules/experiment/experiment.controller.d.ts +361 -0
  331. package/dist/server/modules/experiment/experiment.controller.d.ts.map +1 -0
  332. package/dist/server/modules/experiment/experiment.controller.js +162 -0
  333. package/dist/server/modules/experiment/experiment.controller.js.map +1 -0
  334. package/dist/server/modules/experiment/experiment.launcher.d.ts +14 -0
  335. package/dist/server/modules/experiment/experiment.launcher.d.ts.map +1 -0
  336. package/dist/server/modules/experiment/experiment.launcher.js +54 -0
  337. package/dist/server/modules/experiment/experiment.launcher.js.map +1 -0
  338. package/dist/server/modules/experiment/experiment.module.d.ts +3 -0
  339. package/dist/server/modules/experiment/experiment.module.d.ts.map +1 -0
  340. package/dist/server/modules/experiment/experiment.module.js +38 -0
  341. package/dist/server/modules/experiment/experiment.module.js.map +1 -0
  342. package/dist/server/modules/experiment/experiment.recovery.d.ts +15 -0
  343. package/dist/server/modules/experiment/experiment.recovery.d.ts.map +1 -0
  344. package/dist/server/modules/experiment/experiment.recovery.js +80 -0
  345. package/dist/server/modules/experiment/experiment.recovery.js.map +1 -0
  346. package/dist/server/modules/experiment/experiment.renderer.d.ts +2 -0
  347. package/dist/server/modules/experiment/experiment.renderer.d.ts.map +1 -0
  348. package/dist/server/modules/experiment/experiment.renderer.js +6 -0
  349. package/dist/server/modules/experiment/experiment.renderer.js.map +1 -0
  350. package/dist/server/modules/experiment/experiment.repository.d.ts +88 -0
  351. package/dist/server/modules/experiment/experiment.repository.d.ts.map +1 -0
  352. package/dist/server/modules/experiment/experiment.repository.js +173 -0
  353. package/dist/server/modules/experiment/experiment.repository.js.map +1 -0
  354. package/dist/server/modules/experiment/experiment.service.d.ts +57 -0
  355. package/dist/server/modules/experiment/experiment.service.d.ts.map +1 -0
  356. package/dist/server/modules/experiment/experiment.service.js +539 -0
  357. package/dist/server/modules/experiment/experiment.service.js.map +1 -0
  358. package/dist/server/modules/experiment/experiment.workflow.d.ts +51 -0
  359. package/dist/server/modules/experiment/experiment.workflow.d.ts.map +1 -0
  360. package/dist/server/modules/experiment/experiment.workflow.js +465 -0
  361. package/dist/server/modules/experiment/experiment.workflow.js.map +1 -0
  362. package/dist/server/modules/model/model.controller.d.ts +23 -0
  363. package/dist/server/modules/model/model.controller.d.ts.map +1 -0
  364. package/dist/server/modules/model/model.controller.js +76 -0
  365. package/dist/server/modules/model/model.controller.js.map +1 -0
  366. package/dist/server/modules/model/model.module.d.ts +3 -0
  367. package/dist/server/modules/model/model.module.d.ts.map +1 -0
  368. package/dist/server/modules/model/model.module.js +29 -0
  369. package/dist/server/modules/model/model.module.js.map +1 -0
  370. package/dist/server/modules/model/model.repository.d.ts +511 -0
  371. package/dist/server/modules/model/model.repository.d.ts.map +1 -0
  372. package/dist/server/modules/model/model.repository.js +181 -0
  373. package/dist/server/modules/model/model.repository.js.map +1 -0
  374. package/dist/server/modules/model/model.service.d.ts +79 -0
  375. package/dist/server/modules/model/model.service.d.ts.map +1 -0
  376. package/dist/server/modules/model/model.service.js +643 -0
  377. package/dist/server/modules/model/model.service.js.map +1 -0
  378. package/dist/server/modules/model/project-model.controller.d.ts +261 -0
  379. package/dist/server/modules/model/project-model.controller.d.ts.map +1 -0
  380. package/dist/server/modules/model/project-model.controller.js +198 -0
  381. package/dist/server/modules/model/project-model.controller.js.map +1 -0
  382. package/dist/server/modules/monitoring/monitoring.controller.d.ts +204 -0
  383. package/dist/server/modules/monitoring/monitoring.controller.d.ts.map +1 -0
  384. package/dist/server/modules/monitoring/monitoring.controller.js +129 -0
  385. package/dist/server/modules/monitoring/monitoring.controller.js.map +1 -0
  386. package/dist/server/modules/monitoring/monitoring.module.d.ts +3 -0
  387. package/dist/server/modules/monitoring/monitoring.module.d.ts.map +1 -0
  388. package/dist/server/modules/monitoring/monitoring.module.js +26 -0
  389. package/dist/server/modules/monitoring/monitoring.module.js.map +1 -0
  390. package/dist/server/modules/monitoring/monitoring.repository.d.ts +15 -0
  391. package/dist/server/modules/monitoring/monitoring.repository.d.ts.map +1 -0
  392. package/dist/server/modules/monitoring/monitoring.repository.js +618 -0
  393. package/dist/server/modules/monitoring/monitoring.repository.js.map +1 -0
  394. package/dist/server/modules/monitoring/monitoring.service.d.ts +15 -0
  395. package/dist/server/modules/monitoring/monitoring.service.d.ts.map +1 -0
  396. package/dist/server/modules/monitoring/monitoring.service.js +70 -0
  397. package/dist/server/modules/monitoring/monitoring.service.js.map +1 -0
  398. package/dist/server/modules/optimization/optimization.controller.d.ts +579 -0
  399. package/dist/server/modules/optimization/optimization.controller.d.ts.map +1 -0
  400. package/dist/server/modules/optimization/optimization.controller.js +119 -0
  401. package/dist/server/modules/optimization/optimization.controller.js.map +1 -0
  402. package/dist/server/modules/optimization/optimization.launcher.d.ts +14 -0
  403. package/dist/server/modules/optimization/optimization.launcher.d.ts.map +1 -0
  404. package/dist/server/modules/optimization/optimization.launcher.js +56 -0
  405. package/dist/server/modules/optimization/optimization.launcher.js.map +1 -0
  406. package/dist/server/modules/optimization/optimization.module.d.ts +3 -0
  407. package/dist/server/modules/optimization/optimization.module.d.ts.map +1 -0
  408. package/dist/server/modules/optimization/optimization.module.js +42 -0
  409. package/dist/server/modules/optimization/optimization.module.js.map +1 -0
  410. package/dist/server/modules/optimization/optimization.recovery.d.ts +15 -0
  411. package/dist/server/modules/optimization/optimization.recovery.d.ts.map +1 -0
  412. package/dist/server/modules/optimization/optimization.recovery.js +80 -0
  413. package/dist/server/modules/optimization/optimization.recovery.js.map +1 -0
  414. package/dist/server/modules/optimization/optimization.repository.d.ts +375 -0
  415. package/dist/server/modules/optimization/optimization.repository.d.ts.map +1 -0
  416. package/dist/server/modules/optimization/optimization.repository.js +849 -0
  417. package/dist/server/modules/optimization/optimization.repository.js.map +1 -0
  418. package/dist/server/modules/optimization/optimization.service.d.ts +74 -0
  419. package/dist/server/modules/optimization/optimization.service.d.ts.map +1 -0
  420. package/dist/server/modules/optimization/optimization.service.js +1753 -0
  421. package/dist/server/modules/optimization/optimization.service.js.map +1 -0
  422. package/dist/server/modules/optimization/optimization.workflow.d.ts +118 -0
  423. package/dist/server/modules/optimization/optimization.workflow.d.ts.map +1 -0
  424. package/dist/server/modules/optimization/optimization.workflow.js +2007 -0
  425. package/dist/server/modules/optimization/optimization.workflow.js.map +1 -0
  426. package/dist/server/modules/production-release/production-release.controller.d.ts +125 -0
  427. package/dist/server/modules/production-release/production-release.controller.d.ts.map +1 -0
  428. package/dist/server/modules/production-release/production-release.controller.js +107 -0
  429. package/dist/server/modules/production-release/production-release.controller.js.map +1 -0
  430. package/dist/server/modules/production-release/production-release.module.d.ts +3 -0
  431. package/dist/server/modules/production-release/production-release.module.d.ts.map +1 -0
  432. package/dist/server/modules/production-release/production-release.module.js +27 -0
  433. package/dist/server/modules/production-release/production-release.module.js.map +1 -0
  434. package/dist/server/modules/production-release/production-release.repository.d.ts +109 -0
  435. package/dist/server/modules/production-release/production-release.repository.d.ts.map +1 -0
  436. package/dist/server/modules/production-release/production-release.repository.js +372 -0
  437. package/dist/server/modules/production-release/production-release.repository.js.map +1 -0
  438. package/dist/server/modules/production-release/production-release.service.d.ts +33 -0
  439. package/dist/server/modules/production-release/production-release.service.d.ts.map +1 -0
  440. package/dist/server/modules/production-release/production-release.service.js +370 -0
  441. package/dist/server/modules/production-release/production-release.service.js.map +1 -0
  442. package/dist/server/modules/prompt/prompt-try-run.service.d.ts +26 -0
  443. package/dist/server/modules/prompt/prompt-try-run.service.d.ts.map +1 -0
  444. package/dist/server/modules/prompt/prompt-try-run.service.js +213 -0
  445. package/dist/server/modules/prompt/prompt-try-run.service.js.map +1 -0
  446. package/dist/server/modules/prompt/prompt.controller.d.ts +489 -0
  447. package/dist/server/modules/prompt/prompt.controller.d.ts.map +1 -0
  448. package/dist/server/modules/prompt/prompt.controller.js +236 -0
  449. package/dist/server/modules/prompt/prompt.controller.js.map +1 -0
  450. package/dist/server/modules/prompt/prompt.module.d.ts +3 -0
  451. package/dist/server/modules/prompt/prompt.module.d.ts.map +1 -0
  452. package/dist/server/modules/prompt/prompt.module.js +28 -0
  453. package/dist/server/modules/prompt/prompt.module.js.map +1 -0
  454. package/dist/server/modules/prompt/prompt.repository.d.ts +190 -0
  455. package/dist/server/modules/prompt/prompt.repository.d.ts.map +1 -0
  456. package/dist/server/modules/prompt/prompt.repository.js +522 -0
  457. package/dist/server/modules/prompt/prompt.repository.js.map +1 -0
  458. package/dist/server/modules/prompt/prompt.service.d.ts +46 -0
  459. package/dist/server/modules/prompt/prompt.service.d.ts.map +1 -0
  460. package/dist/server/modules/prompt/prompt.service.js +508 -0
  461. package/dist/server/modules/prompt/prompt.service.js.map +1 -0
  462. package/dist/server/modules/quick-start/quick-start.controller.d.ts +75 -0
  463. package/dist/server/modules/quick-start/quick-start.controller.d.ts.map +1 -0
  464. package/dist/server/modules/quick-start/quick-start.controller.js +86 -0
  465. package/dist/server/modules/quick-start/quick-start.controller.js.map +1 -0
  466. package/dist/server/modules/quick-start/quick-start.module.d.ts +3 -0
  467. package/dist/server/modules/quick-start/quick-start.module.d.ts.map +1 -0
  468. package/dist/server/modules/quick-start/quick-start.module.js +27 -0
  469. package/dist/server/modules/quick-start/quick-start.module.js.map +1 -0
  470. package/dist/server/modules/quick-start/quick-start.service.d.ts +77 -0
  471. package/dist/server/modules/quick-start/quick-start.service.d.ts.map +1 -0
  472. package/dist/server/modules/quick-start/quick-start.service.js +130 -0
  473. package/dist/server/modules/quick-start/quick-start.service.js.map +1 -0
  474. package/dist/server/modules/release-line/release-line.controller.d.ts +749 -0
  475. package/dist/server/modules/release-line/release-line.controller.d.ts.map +1 -0
  476. package/dist/server/modules/release-line/release-line.controller.js +108 -0
  477. package/dist/server/modules/release-line/release-line.controller.js.map +1 -0
  478. package/dist/server/modules/release-line/release-line.module.d.ts +3 -0
  479. package/dist/server/modules/release-line/release-line.module.d.ts.map +1 -0
  480. package/dist/server/modules/release-line/release-line.module.js +31 -0
  481. package/dist/server/modules/release-line/release-line.module.js.map +1 -0
  482. package/dist/server/modules/release-line/release-line.repository.d.ts +89 -0
  483. package/dist/server/modules/release-line/release-line.repository.d.ts.map +1 -0
  484. package/dist/server/modules/release-line/release-line.repository.js +834 -0
  485. package/dist/server/modules/release-line/release-line.repository.js.map +1 -0
  486. package/dist/server/modules/release-line/release-line.service.d.ts +109 -0
  487. package/dist/server/modules/release-line/release-line.service.d.ts.map +1 -0
  488. package/dist/server/modules/release-line/release-line.service.js +287 -0
  489. package/dist/server/modules/release-line/release-line.service.js.map +1 -0
  490. package/dist/server/modules/release-line/release-runner.repository.d.ts +89 -0
  491. package/dist/server/modules/release-line/release-runner.repository.d.ts.map +1 -0
  492. package/dist/server/modules/release-line/release-runner.repository.js +449 -0
  493. package/dist/server/modules/release-line/release-runner.repository.js.map +1 -0
  494. package/dist/server/modules/release-line/release-runner.service.d.ts +40 -0
  495. package/dist/server/modules/release-line/release-runner.service.d.ts.map +1 -0
  496. package/dist/server/modules/release-line/release-runner.service.js +417 -0
  497. package/dist/server/modules/release-line/release-runner.service.js.map +1 -0
  498. package/dist/server/modules/run-result/run-result.controller.d.ts +129 -0
  499. package/dist/server/modules/run-result/run-result.controller.d.ts.map +1 -0
  500. package/dist/server/modules/run-result/run-result.controller.js +103 -0
  501. package/dist/server/modules/run-result/run-result.controller.js.map +1 -0
  502. package/dist/server/modules/run-result/run-result.module.d.ts +3 -0
  503. package/dist/server/modules/run-result/run-result.module.d.ts.map +1 -0
  504. package/dist/server/modules/run-result/run-result.module.js +26 -0
  505. package/dist/server/modules/run-result/run-result.module.js.map +1 -0
  506. package/dist/server/modules/run-result/run-result.repository.d.ts +27 -0
  507. package/dist/server/modules/run-result/run-result.repository.d.ts.map +1 -0
  508. package/dist/server/modules/run-result/run-result.repository.js +521 -0
  509. package/dist/server/modules/run-result/run-result.repository.js.map +1 -0
  510. package/dist/server/modules/run-result/run-result.service.d.ts +22 -0
  511. package/dist/server/modules/run-result/run-result.service.d.ts.map +1 -0
  512. package/dist/server/modules/run-result/run-result.service.js +61 -0
  513. package/dist/server/modules/run-result/run-result.service.js.map +1 -0
  514. package/dist/server/modules/token/token.controller.d.ts +57 -0
  515. package/dist/server/modules/token/token.controller.d.ts.map +1 -0
  516. package/dist/server/modules/token/token.controller.js +99 -0
  517. package/dist/server/modules/token/token.controller.js.map +1 -0
  518. package/dist/server/modules/token/token.module.d.ts +3 -0
  519. package/dist/server/modules/token/token.module.d.ts.map +1 -0
  520. package/dist/server/modules/token/token.module.js +22 -0
  521. package/dist/server/modules/token/token.module.js.map +1 -0
  522. package/dist/server/modules/token/token.repository.d.ts +264 -0
  523. package/dist/server/modules/token/token.repository.d.ts.map +1 -0
  524. package/dist/server/modules/token/token.repository.js +97 -0
  525. package/dist/server/modules/token/token.repository.js.map +1 -0
  526. package/dist/server/modules/token/token.service.d.ts +23 -0
  527. package/dist/server/modules/token/token.service.d.ts.map +1 -0
  528. package/dist/server/modules/token/token.service.js +124 -0
  529. package/dist/server/modules/token/token.service.js.map +1 -0
  530. package/dist/server/proofhound-server.module.d.ts +7 -0
  531. package/dist/server/proofhound-server.module.d.ts.map +1 -0
  532. package/dist/server/proofhound-server.module.js +72 -0
  533. package/dist/server/proofhound-server.module.js.map +1 -0
  534. package/dist/shared/config/config.module.d.ts +3 -0
  535. package/dist/shared/config/config.module.d.ts.map +1 -0
  536. package/dist/shared/config/config.module.js +33 -0
  537. package/dist/shared/config/config.module.js.map +1 -0
  538. package/dist/shared/crypto/crypto.module.d.ts +3 -0
  539. package/dist/shared/crypto/crypto.module.d.ts.map +1 -0
  540. package/dist/shared/crypto/crypto.module.js +24 -0
  541. package/dist/shared/crypto/crypto.module.js.map +1 -0
  542. package/dist/shared/crypto/crypto.service.d.ts +9 -0
  543. package/dist/shared/crypto/crypto.service.d.ts.map +1 -0
  544. package/dist/shared/crypto/crypto.service.js +37 -0
  545. package/dist/shared/crypto/crypto.service.js.map +1 -0
  546. package/dist/shared/database/database.constants.d.ts +2 -0
  547. package/dist/shared/database/database.constants.d.ts.map +1 -0
  548. package/dist/shared/database/database.constants.js +5 -0
  549. package/dist/shared/database/database.constants.js.map +1 -0
  550. package/dist/shared/database/database.module.d.ts +3 -0
  551. package/dist/shared/database/database.module.d.ts.map +1 -0
  552. package/dist/shared/database/database.module.js +27 -0
  553. package/dist/shared/database/database.module.js.map +1 -0
  554. package/dist/shared/filters/pino-exception.filter.d.ts +9 -0
  555. package/dist/shared/filters/pino-exception.filter.d.ts.map +1 -0
  556. package/dist/shared/filters/pino-exception.filter.js +58 -0
  557. package/dist/shared/filters/pino-exception.filter.js.map +1 -0
  558. package/dist/shared/health/health.controller.d.ts +11 -0
  559. package/dist/shared/health/health.controller.d.ts.map +1 -0
  560. package/dist/shared/health/health.controller.js +51 -0
  561. package/dist/shared/health/health.controller.js.map +1 -0
  562. package/dist/shared/health/health.service.d.ts +25 -0
  563. package/dist/shared/health/health.service.d.ts.map +1 -0
  564. package/dist/shared/health/health.service.js +74 -0
  565. package/dist/shared/health/health.service.js.map +1 -0
  566. package/dist/shared/llm/runtime-limits.d.ts +4 -0
  567. package/dist/shared/llm/runtime-limits.d.ts.map +1 -0
  568. package/dist/shared/llm/runtime-limits.js +23 -0
  569. package/dist/shared/llm/runtime-limits.js.map +1 -0
  570. package/dist/shared/redis/redis-mutex.service.d.ts +20 -0
  571. package/dist/shared/redis/redis-mutex.service.d.ts.map +1 -0
  572. package/dist/shared/redis/redis-mutex.service.js +75 -0
  573. package/dist/shared/redis/redis-mutex.service.js.map +1 -0
  574. package/dist/shared/redis/redis.constants.d.ts +3 -0
  575. package/dist/shared/redis/redis.constants.d.ts.map +1 -0
  576. package/dist/shared/redis/redis.constants.js +6 -0
  577. package/dist/shared/redis/redis.constants.js.map +1 -0
  578. package/dist/shared/redis/redis.module.d.ts +8 -0
  579. package/dist/shared/redis/redis.module.d.ts.map +1 -0
  580. package/dist/shared/redis/redis.module.js +54 -0
  581. package/dist/shared/redis/redis.module.js.map +1 -0
  582. package/dist/shared/runtime-module-options.d.ts +5 -0
  583. package/dist/shared/runtime-module-options.d.ts.map +1 -0
  584. package/dist/shared/runtime-module-options.js +3 -0
  585. package/dist/shared/runtime-module-options.js.map +1 -0
  586. package/dist/webhook/channels/webhook/local-connector-context.resolver.d.ts +8 -0
  587. package/dist/webhook/channels/webhook/local-connector-context.resolver.d.ts.map +1 -0
  588. package/dist/webhook/channels/webhook/local-connector-context.resolver.js +63 -0
  589. package/dist/webhook/channels/webhook/local-connector-context.resolver.js.map +1 -0
  590. package/dist/webhook/channels/webhook/webhook-token.util.d.ts +4 -0
  591. package/dist/webhook/channels/webhook/webhook-token.util.d.ts.map +1 -0
  592. package/dist/webhook/channels/webhook/webhook-token.util.js +26 -0
  593. package/dist/webhook/channels/webhook/webhook-token.util.js.map +1 -0
  594. package/dist/webhook/channels/webhook/webhook.controller.d.ts +226 -0
  595. package/dist/webhook/channels/webhook/webhook.controller.d.ts.map +1 -0
  596. package/dist/webhook/channels/webhook/webhook.controller.js +121 -0
  597. package/dist/webhook/channels/webhook/webhook.controller.js.map +1 -0
  598. package/dist/webhook/channels/webhook/webhook.module.d.ts +3 -0
  599. package/dist/webhook/channels/webhook/webhook.module.d.ts.map +1 -0
  600. package/dist/webhook/channels/webhook/webhook.module.js +27 -0
  601. package/dist/webhook/channels/webhook/webhook.module.js.map +1 -0
  602. package/dist/webhook/channels/webhook/webhook.repository.d.ts +85 -0
  603. package/dist/webhook/channels/webhook/webhook.repository.d.ts.map +1 -0
  604. package/dist/webhook/channels/webhook/webhook.repository.js +268 -0
  605. package/dist/webhook/channels/webhook/webhook.repository.js.map +1 -0
  606. package/dist/webhook/channels/webhook/webhook.service.d.ts +144 -0
  607. package/dist/webhook/channels/webhook/webhook.service.d.ts.map +1 -0
  608. package/dist/webhook/channels/webhook/webhook.service.js +494 -0
  609. package/dist/webhook/channels/webhook/webhook.service.js.map +1 -0
  610. package/dist/webhook/index.d.ts +4 -0
  611. package/dist/webhook/index.d.ts.map +1 -0
  612. package/dist/webhook/index.js +8 -0
  613. package/dist/webhook/index.js.map +1 -0
  614. package/dist/webhook/infrastructure/orchestration/bullmq.module.d.ts +3 -0
  615. package/dist/webhook/infrastructure/orchestration/bullmq.module.d.ts.map +1 -0
  616. package/dist/webhook/infrastructure/orchestration/bullmq.module.js +34 -0
  617. package/dist/webhook/infrastructure/orchestration/bullmq.module.js.map +1 -0
  618. package/dist/webhook/infrastructure/orchestration/bullmq.service.d.ts +10 -0
  619. package/dist/webhook/infrastructure/orchestration/bullmq.service.d.ts.map +1 -0
  620. package/dist/webhook/infrastructure/orchestration/bullmq.service.js +42 -0
  621. package/dist/webhook/infrastructure/orchestration/bullmq.service.js.map +1 -0
  622. package/dist/webhook/proofhound-webhook.module.d.ts +7 -0
  623. package/dist/webhook/proofhound-webhook.module.d.ts.map +1 -0
  624. package/dist/webhook/proofhound-webhook.module.js +31 -0
  625. package/dist/webhook/proofhound-webhook.module.js.map +1 -0
  626. package/dist/worker/config/worker-concurrency.d.ts +3 -0
  627. package/dist/worker/config/worker-concurrency.d.ts.map +1 -0
  628. package/dist/worker/config/worker-concurrency.js +10 -0
  629. package/dist/worker/config/worker-concurrency.js.map +1 -0
  630. package/dist/worker/consumers/llm.consumer.d.ts +29 -0
  631. package/dist/worker/consumers/llm.consumer.d.ts.map +1 -0
  632. package/dist/worker/consumers/llm.consumer.js +234 -0
  633. package/dist/worker/consumers/llm.consumer.js.map +1 -0
  634. package/dist/worker/consumers/probe.consumer.d.ts +16 -0
  635. package/dist/worker/consumers/probe.consumer.d.ts.map +1 -0
  636. package/dist/worker/consumers/probe.consumer.js +76 -0
  637. package/dist/worker/consumers/probe.consumer.js.map +1 -0
  638. package/dist/worker/index.d.ts +4 -0
  639. package/dist/worker/index.d.ts.map +1 -0
  640. package/dist/worker/index.js +9 -0
  641. package/dist/worker/index.js.map +1 -0
  642. package/dist/worker/infrastructure/llm/model-secret.provider.d.ts +4 -0
  643. package/dist/worker/infrastructure/llm/model-secret.provider.d.ts.map +1 -0
  644. package/dist/worker/infrastructure/llm/model-secret.provider.js +14 -0
  645. package/dist/worker/infrastructure/llm/model-secret.provider.js.map +1 -0
  646. package/dist/worker/proofhound-worker.module.d.ts +7 -0
  647. package/dist/worker/proofhound-worker.module.d.ts.map +1 -0
  648. package/dist/worker/proofhound-worker.module.js +44 -0
  649. package/dist/worker/proofhound-worker.module.js.map +1 -0
  650. package/dist/worker/runners/llm-runner.d.ts +42 -0
  651. package/dist/worker/runners/llm-runner.d.ts.map +1 -0
  652. package/dist/worker/runners/llm-runner.js +178 -0
  653. package/dist/worker/runners/llm-runner.js.map +1 -0
  654. package/dist/worker/runners/model-secret.d.ts +11 -0
  655. package/dist/worker/runners/model-secret.d.ts.map +1 -0
  656. package/dist/worker/runners/model-secret.js +14 -0
  657. package/dist/worker/runners/model-secret.js.map +1 -0
  658. package/dist/worker/runners/probe-runner.d.ts +22 -0
  659. package/dist/worker/runners/probe-runner.d.ts.map +1 -0
  660. package/dist/worker/runners/probe-runner.js +52 -0
  661. package/dist/worker/runners/probe-runner.js.map +1 -0
  662. package/dist/worker/runners/run-result-writer.d.ts +10 -0
  663. package/dist/worker/runners/run-result-writer.d.ts.map +1 -0
  664. package/dist/worker/runners/run-result-writer.js +84 -0
  665. package/dist/worker/runners/run-result-writer.js.map +1 -0
  666. package/dist/worker/scripts/probe-model-from-env.d.ts +2 -0
  667. package/dist/worker/scripts/probe-model-from-env.d.ts.map +1 -0
  668. package/dist/worker/scripts/probe-model-from-env.js +130 -0
  669. package/dist/worker/scripts/probe-model-from-env.js.map +1 -0
  670. package/package.json +93 -0
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // HttpActorGuard — HTTP entry guard adapter extension point
3
+ // See docs/specs/08-saas-adapter-boundary.md §3
4
+ //
5
+ // HTTP controllers attach @UseGuards(HttpActorGuard). Nest treats class guards in metadata as
6
+ // enhancer injectables, so this class must be executable at runtime rather than an abstract shell.
7
+ //
8
+ // The guard's responsibility is to resolve the request actor and attach it to request.user
9
+ // as CurrentUserPayload. Real credential parsing lives in ActorContextResolver, so Controllers
10
+ // still don't reference a Local* concrete by name.
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ 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;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ var __metadata = (this && this.__metadata) || function (k, v) {
18
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.HttpActorGuard = void 0;
22
+ exports.toCurrentUserPayload = toCurrentUserPayload;
23
+ const common_1 = require("@nestjs/common");
24
+ const actor_context_resolver_1 = require("./actor-context.resolver");
25
+ const project_context_resolver_1 = require("./project-context.resolver");
26
+ let HttpActorGuard = class HttpActorGuard {
27
+ constructor(resolver, projectResolver) {
28
+ this.resolver = resolver;
29
+ this.projectResolver = projectResolver;
30
+ }
31
+ async canActivate(context) {
32
+ const request = context
33
+ .switchToHttp()
34
+ .getRequest();
35
+ const actor = await this.resolver.resolveFromHttp(request);
36
+ request.user = toCurrentUserPayload(actor);
37
+ // Resolve the request's ProjectContext via the DI resolver and attach it for @CurrentProject.
38
+ // OSS LocalProjectContextResolver ignores the hint and returns LOCAL_PROJECT_CONTEXT; SaaS reads
39
+ // the X-Project-Id header and validates the actor's access to the project.
40
+ try {
41
+ request.projectContext = await this.projectResolver.resolve(actor, {
42
+ projectIdHeader: readProjectIdHeader(request),
43
+ });
44
+ }
45
+ catch (error) {
46
+ if (error instanceof project_context_resolver_1.ProjectAccessDeniedError) {
47
+ throw new common_1.ForbiddenException(error.message);
48
+ }
49
+ throw error;
50
+ }
51
+ return true;
52
+ }
53
+ };
54
+ exports.HttpActorGuard = HttpActorGuard;
55
+ exports.HttpActorGuard = HttpActorGuard = __decorate([
56
+ (0, common_1.Injectable)(),
57
+ __metadata("design:paramtypes", [actor_context_resolver_1.ActorContextResolver,
58
+ project_context_resolver_1.ProjectContextResolver])
59
+ ], HttpActorGuard);
60
+ function readProjectIdHeader(request) {
61
+ const raw = request.headers['x-project-id'];
62
+ const value = Array.isArray(raw) ? raw[0] : raw;
63
+ return value && value.length > 0 ? value : undefined;
64
+ }
65
+ function toCurrentUserPayload(actor) {
66
+ const payload = {
67
+ sub: actor.actorId,
68
+ actorId: actor.actorId,
69
+ actorKind: actor.actorKind,
70
+ projectId: actor.projectId,
71
+ // OSS user tokens have no email / role metadata; the field is kept for backward compatibility.
72
+ // SaaS-specific claims should be exposed through a dedicated adapter/decorator, not read by OSS business code.
73
+ email: '',
74
+ isSuperAdmin: isOwnerActor(actor.actorKind),
75
+ isActive: true,
76
+ };
77
+ if (actor.orgId !== undefined)
78
+ payload.orgId = actor.orgId;
79
+ return payload;
80
+ }
81
+ // OSS single-workspace: UI session user and API-token script both represent the local owner,
82
+ // so both bypass project-ownership checks via isSuperAdmin. system_* actors do NOT — they
83
+ // flow through access-control's SYSTEM_KINDS bypass instead.
84
+ function isOwnerActor(kind) {
85
+ return kind === 'local_user' || kind === 'script';
86
+ }
87
+ //# sourceMappingURL=http-actor.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-actor.guard.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/http-actor.guard.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,gDAAgD;AAChD,EAAE;AACF,8FAA8F;AAC9F,mGAAmG;AACnG,EAAE;AACF,2FAA2F;AAC3F,+FAA+F;AAC/F,mDAAmD;;;;;;;;;;;;AAgDnD,oDAcC;AA5DD,2CAAgE;AAKhE,qEAAgE;AAChE,yEAA8F;AAGvF,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACmB,QAA8B,EAC9B,eAAuC;QADvC,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO;aACpB,YAAY,EAAE;aACd,UAAU,EAA0E,CAAC;QAExF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE3C,8FAA8F;QAC9F,iGAAiG;QACjG,2EAA2E;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE;gBACjE,eAAe,EAAE,mBAAmB,CAAC,OAAO,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mDAAwB,EAAE,CAAC;gBAC9C,MAAM,IAAI,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA7BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGkB,6CAAoB;QACb,iDAAsB;GAH/C,cAAc,CA6B1B;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAmB;IACtD,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,KAAK,CAAC,OAAO;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,+FAA+F;QAC/F,+GAA+G;QAC/G,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,6DAA6D;AAC7D,SAAS,YAAY,CAAC,IAA+B;IACnD,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,QAAQ,CAAC;AACpD,CAAC"}
@@ -0,0 +1,23 @@
1
+ export * from './types';
2
+ export * from './project-context.resolver';
3
+ export * from './actor-context.resolver';
4
+ export * from './mcp-auth.resolver';
5
+ export * from './access-control.service';
6
+ export * from './connector-context.resolver';
7
+ export * from './token.service';
8
+ export * from './limiter-key.strategy';
9
+ export * from './runtime-limits.provider';
10
+ export * from './quota-policy.hook';
11
+ export * from './workflow-authorization.hook';
12
+ export * from './http-actor.guard';
13
+ export * from './local-project-context.resolver';
14
+ export * from './local-actor-context.resolver';
15
+ export * from './local-mcp-auth.resolver';
16
+ export * from './local-access-control.service';
17
+ export * from './local-user-token.verifier';
18
+ export { LocalTokenService } from '../../modules/token/token.service';
19
+ export * from '../../modules/token/token.repository';
20
+ export { LocalConnectorContextResolver } from '../../../webhook/channels/webhook/local-connector-context.resolver';
21
+ export * from '../../../webhook/channels/webhook/webhook.repository';
22
+ export { LocalContractsModule } from './local-contracts.module';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,cAAc,sDAAsD,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // Adapter extension point barrel — abstract class + default implementations + types
3
+ // See docs/specs/08-saas-adapter-boundary.md
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.LocalContractsModule = exports.LocalConnectorContextResolver = exports.LocalTokenService = void 0;
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./project-context.resolver"), exports);
22
+ __exportStar(require("./actor-context.resolver"), exports);
23
+ __exportStar(require("./mcp-auth.resolver"), exports);
24
+ __exportStar(require("./access-control.service"), exports);
25
+ __exportStar(require("./connector-context.resolver"), exports);
26
+ __exportStar(require("./token.service"), exports);
27
+ __exportStar(require("./limiter-key.strategy"), exports);
28
+ __exportStar(require("./runtime-limits.provider"), exports);
29
+ __exportStar(require("./quota-policy.hook"), exports);
30
+ __exportStar(require("./workflow-authorization.hook"), exports);
31
+ __exportStar(require("./http-actor.guard"), exports);
32
+ __exportStar(require("./local-project-context.resolver"), exports);
33
+ __exportStar(require("./local-actor-context.resolver"), exports);
34
+ __exportStar(require("./local-mcp-auth.resolver"), exports);
35
+ __exportStar(require("./local-access-control.service"), exports);
36
+ __exportStar(require("./local-user-token.verifier"), exports);
37
+ var token_service_1 = require("../../modules/token/token.service");
38
+ Object.defineProperty(exports, "LocalTokenService", { enumerable: true, get: function () { return token_service_1.LocalTokenService; } });
39
+ __exportStar(require("../../modules/token/token.repository"), exports);
40
+ var local_connector_context_resolver_1 = require("../../../webhook/channels/webhook/local-connector-context.resolver");
41
+ Object.defineProperty(exports, "LocalConnectorContextResolver", { enumerable: true, get: function () { return local_connector_context_resolver_1.LocalConnectorContextResolver; } });
42
+ __exportStar(require("../../../webhook/channels/webhook/webhook.repository"), exports);
43
+ var local_contracts_module_1 = require("./local-contracts.module");
44
+ Object.defineProperty(exports, "LocalContractsModule", { enumerable: true, get: function () { return local_contracts_module_1.LocalContractsModule; } });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,6CAA6C;;;;;;;;;;;;;;;;;AAE7C,0CAAwB;AACxB,6DAA2C;AAC3C,2DAAyC;AACzC,sDAAoC;AACpC,2DAAyC;AACzC,+DAA6C;AAC7C,kDAAgC;AAChC,yDAAuC;AACvC,4DAA0C;AAC1C,sDAAoC;AACpC,gEAA8C;AAC9C,qDAAmC;AACnC,mEAAiD;AACjD,iEAA+C;AAC/C,4DAA0C;AAC1C,iEAA+C;AAC/C,8DAA4C;AAC5C,mEAAsE;AAA7D,kHAAA,iBAAiB,OAAA;AAC1B,uEAAqD;AACrD,uHAAmH;AAA1G,iJAAA,6BAA6B,OAAA;AACtC,uFAAqE;AACrE,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,8 @@
1
+ import type { ProjectContext } from '../actor-context';
2
+ export declare abstract class LimiterKeyStrategy {
3
+ abstract buildModelKey(project: ProjectContext, modelId: string): string;
4
+ }
5
+ export declare class LocalLimiterKeyStrategy extends LimiterKeyStrategy {
6
+ buildModelKey(_project: ProjectContext, modelId: string): string;
7
+ }
8
+ //# sourceMappingURL=limiter-key.strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limiter-key.strategy.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/limiter-key.strategy.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,8BAAsB,kBAAkB;IACtC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CACzE;AAED,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAGjE"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // LimiterKeyStrategy — adapter extension point
3
+ // See docs/specs/08-saas-adapter-boundary.md §3.7
4
+ //
5
+ // Generates the rate-limit key for a model call. Runtime LLM/probe callers build the key via this
6
+ // strategy and pass it down as an OPAQUE string; `@proofhound/limiter` and
7
+ // `@proofhound/llm-client` never learn the project (§8 red line) — they only see the composed key.
8
+ //
9
+ // Keyed by (project, modelId): actor is intentionally NOT part of the key. OSS default
10
+ // `LocalLimiterKeyStrategy` returns `model:<modelId>` (per-model counting space, ignoring project).
11
+ // SaaS may return `org:<orgId>:model:<modelId>` (deriving org from the project) to isolate the
12
+ // counting space per tenant.
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LocalLimiterKeyStrategy = exports.LimiterKeyStrategy = void 0;
15
+ class LimiterKeyStrategy {
16
+ }
17
+ exports.LimiterKeyStrategy = LimiterKeyStrategy;
18
+ class LocalLimiterKeyStrategy extends LimiterKeyStrategy {
19
+ buildModelKey(_project, modelId) {
20
+ return `model:${modelId}`;
21
+ }
22
+ }
23
+ exports.LocalLimiterKeyStrategy = LocalLimiterKeyStrategy;
24
+ //# sourceMappingURL=limiter-key.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limiter-key.strategy.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/limiter-key.strategy.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,kDAAkD;AAClD,EAAE;AACF,kGAAkG;AAClG,2EAA2E;AAC3E,mGAAmG;AACnG,EAAE;AACF,uFAAuF;AACvF,oGAAoG;AACpG,+FAA+F;AAC/F,6BAA6B;;;AAI7B,MAAsB,kBAAkB;CAEvC;AAFD,gDAEC;AAED,MAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,aAAa,CAAC,QAAwB,EAAE,OAAe;QACrD,OAAO,SAAS,OAAO,EAAE,CAAC;IAC5B,CAAC;CACF;AAJD,0DAIC"}
@@ -0,0 +1,7 @@
1
+ import type { AccessAction } from '../access-control';
2
+ import type { ActorContext, ProjectContext } from '../actor-context';
3
+ import { AccessControlService } from './access-control.service';
4
+ export declare class LocalAccessControlService extends AccessControlService {
5
+ assertCan(actor: ActorContext, _project: ProjectContext, action: AccessAction): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=local-access-control.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-access-control.service.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-access-control.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAUhE,qBACa,yBAA0B,SAAQ,oBAAoB;IAC3D,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CASpG"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // LocalAccessControlService — OSS default implementation of AccessControlService
3
+ // See docs/specs/08-saas-adapter-boundary.md §3.6
4
+ //
5
+ // OSS self-hosted single workspace: local_user (UI session) and system_* (MCP / webhook) pass everything;
6
+ // script (API token) is also a local-owner credential but cannot manage platform-level resources (e.g. token
7
+ // CRUD) to avoid token-laundering. `project` is ignored here; the SaaS RbacAccessControl reads it.
8
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
+ 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;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LocalAccessControlService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const access_control_service_1 = require("./access-control.service");
18
+ // Actors produced by system entry resolvers or internal runners. In OSS these bypass all access checks.
19
+ const SYSTEM_ACTOR_KINDS = [
20
+ 'system_mcp',
21
+ 'system_webhook',
22
+ 'system_release_runner',
23
+ 'system_workflow_recovery',
24
+ ];
25
+ let LocalAccessControlService = class LocalAccessControlService extends access_control_service_1.AccessControlService {
26
+ async assertCan(actor, _project, action) {
27
+ if (SYSTEM_ACTOR_KINDS.includes(actor.actorKind) || actor.actorKind === 'local_user')
28
+ return;
29
+ if (actor.actorKind === 'script') {
30
+ if (action === 'platform_manage')
31
+ throw new common_1.ForbiddenException('platform_manage_forbidden');
32
+ return;
33
+ }
34
+ throw new common_1.ForbiddenException('actor_forbidden');
35
+ }
36
+ };
37
+ exports.LocalAccessControlService = LocalAccessControlService;
38
+ exports.LocalAccessControlService = LocalAccessControlService = __decorate([
39
+ (0, common_1.Injectable)()
40
+ ], LocalAccessControlService);
41
+ //# sourceMappingURL=local-access-control.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-access-control.service.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-access-control.service.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,0GAA0G;AAC1G,6GAA6G;AAC7G,mGAAmG;;;;;;;;;AAEnG,2CAAgE;AAGhE,qEAAgE;AAEhE,wGAAwG;AACxG,MAAM,kBAAkB,GAA6B;IACnD,YAAY;IACZ,gBAAgB;IAChB,uBAAuB;IACvB,0BAA0B;CAC3B,CAAC;AAGK,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,6CAAoB;IACjE,KAAK,CAAC,SAAS,CAAC,KAAmB,EAAE,QAAwB,EAAE,MAAoB;QACjF,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY;YAAE,OAAO;QAC7F,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,MAAM,KAAK,iBAAiB;gBAAE,MAAM,IAAI,2BAAkB,CAAC,2BAA2B,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAVY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CAUrC"}
@@ -0,0 +1,13 @@
1
+ import { ActorContextResolver } from './actor-context.resolver';
2
+ import { LocalUserTokenVerifier } from './local-user-token.verifier';
3
+ import type { HttpRequestLike } from './types';
4
+ import { type ActorContext } from '../actor-context';
5
+ export declare class LocalActorContextResolver extends ActorContextResolver {
6
+ private readonly verifier;
7
+ constructor(verifier: LocalUserTokenVerifier);
8
+ resolveFromHttp(req: HttpRequestLike): Promise<ActorContext>;
9
+ resolveFromUserToken(token: string): Promise<ActorContext>;
10
+ private readHeader;
11
+ private parseBearer;
12
+ }
13
+ //# sourceMappingURL=local-actor-context.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-actor-context.resolver.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-actor-context.resolver.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrE,qBACa,yBAA0B,SAAQ,oBAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,sBAAsB;IAIvD,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA6B5D,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOhE,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAOpB"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ // LocalActorContextResolver — default implementation for the HTTP entry
3
+ // See docs/specs/08-saas-adapter-boundary.md §3.2 (channel-aware dual entry)
4
+ //
5
+ // HTTP entry handles two channels in one resolver (per-request dispatch):
6
+ // 1. API channel (Authorization: Bearer ph_*):
7
+ // - sha256 hash compare against ph_core.tokens scope='user' via LocalUserTokenVerifier
8
+ // - JWT-shape token (Bearer eyJ*) is rejected with 401 unsupported_credential
9
+ // (SaaS adapter override path; OSS does not issue JWTs)
10
+ // - Returns actorKind='script', actorId=tokenId
11
+ // 2. UI channel:
12
+ // - Reads trusted deployment header (default X-Forwarded-User; configurable via
13
+ // PH_TRUSTED_USER_HEADER), set when behind oauth2-proxy / Cloudflare Access /
14
+ // Tailscale / Authelia (deployment formation B in SPEC §3.2.1)
15
+ // - Falls back to LOCAL_ACTOR_ID (deployment formation A: single-user self-hosted) when
16
+ // no Authorization and no trusted header
17
+ // - Returns actorKind='local_user', actorId=LOCAL_ACTOR_ID
18
+ //
19
+ // OSS browsers do NOT carry Authorization or session cookies; the UI channel never accepts
20
+ // user tokens posing as session credentials (SPEC §8 red line).
21
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
22
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
24
+ 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;
25
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
26
+ };
27
+ var __metadata = (this && this.__metadata) || function (k, v) {
28
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.LocalActorContextResolver = void 0;
32
+ const common_1 = require("@nestjs/common");
33
+ const actor_context_resolver_1 = require("./actor-context.resolver");
34
+ const local_user_token_verifier_1 = require("./local-user-token.verifier");
35
+ const actor_context_1 = require("../actor-context");
36
+ const DEFAULT_TRUSTED_USER_HEADER = 'X-Forwarded-User';
37
+ let LocalActorContextResolver = class LocalActorContextResolver extends actor_context_resolver_1.ActorContextResolver {
38
+ constructor(verifier) {
39
+ super();
40
+ this.verifier = verifier;
41
+ }
42
+ async resolveFromHttp(req) {
43
+ const authHeader = this.readHeader(req, 'authorization');
44
+ // 1. API channel
45
+ if (authHeader) {
46
+ const token = this.parseBearer(authHeader);
47
+ // JWT shape: OSS does not validate JWTs — that path belongs to SaaS RemoteActorContextResolver
48
+ if (looksLikeJwt(token)) {
49
+ throw new common_1.UnauthorizedException('unsupported_credential');
50
+ }
51
+ const clientIp = req.ip ?? req.socket?.remoteAddress;
52
+ return this.verifier.verify(token, { clientIp, actorKind: 'script' });
53
+ }
54
+ // 2. UI channel — trusted deployment header (formation B) or LOCAL_ACTOR fallback (formation A)
55
+ const trustedHeaderName = (process.env.PH_TRUSTED_USER_HEADER ?? DEFAULT_TRUSTED_USER_HEADER).toLowerCase();
56
+ const trustedHeader = this.readHeader(req, trustedHeaderName);
57
+ // Trusted header presence is enough; its value is the upstream-proxy-asserted user identity
58
+ // (recorded for audit by the proxy). OSS single-user does not further validate the value.
59
+ void trustedHeader;
60
+ return {
61
+ actorId: actor_context_1.LOCAL_ACTOR_ID,
62
+ actorKind: 'local_user',
63
+ };
64
+ }
65
+ async resolveFromUserToken(token) {
66
+ // ip_whitelist skip: this entry does not carry the request IP; SPEC §3.2 explicitly states this path does not check IP.
67
+ // actorKind='script' because resolveFromUserToken is the HTTP-side shared entrypoint
68
+ // (unit tests + future API token CLI flows). MCP uses LocalMcpAuthResolver.resolveFromUserToken instead.
69
+ return this.verifier.verify(token, { actorKind: 'script' });
70
+ }
71
+ readHeader(req, name) {
72
+ const lower = name.toLowerCase();
73
+ const raw = req.headers[lower] ?? req.headers[name] ?? req.headers[name.charAt(0).toUpperCase() + name.slice(1)];
74
+ if (!raw)
75
+ return undefined;
76
+ const value = Array.isArray(raw) ? raw[0] : raw;
77
+ return value && value.length > 0 ? value : undefined;
78
+ }
79
+ parseBearer(header) {
80
+ const match = /^Bearer\s+(.+)$/i.exec(header);
81
+ if (!match)
82
+ throw new common_1.UnauthorizedException('invalid_authorization_header');
83
+ const token = match[1]?.trim();
84
+ if (!token)
85
+ throw new common_1.UnauthorizedException('invalid_authorization_header');
86
+ return token;
87
+ }
88
+ };
89
+ exports.LocalActorContextResolver = LocalActorContextResolver;
90
+ exports.LocalActorContextResolver = LocalActorContextResolver = __decorate([
91
+ (0, common_1.Injectable)(),
92
+ __metadata("design:paramtypes", [local_user_token_verifier_1.LocalUserTokenVerifier])
93
+ ], LocalActorContextResolver);
94
+ // JWT detection: header.payload.signature, each segment base64url; header always starts with `{"`
95
+ // which base64-encodes to `eyJ`. This is a structural sniff, not validation — OSS rejects on shape alone.
96
+ function looksLikeJwt(token) {
97
+ if (!token.startsWith('eyJ'))
98
+ return false;
99
+ const dots = token.split('.').length - 1;
100
+ return dots === 2;
101
+ }
102
+ //# sourceMappingURL=local-actor-context.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-actor-context.resolver.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-actor-context.resolver.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,iDAAiD;AACjD,4FAA4F;AAC5F,mFAAmF;AACnF,+DAA+D;AAC/D,qDAAqD;AACrD,mBAAmB;AACnB,qFAAqF;AACrF,qFAAqF;AACrF,sEAAsE;AACtE,6FAA6F;AAC7F,gDAAgD;AAChD,gEAAgE;AAChE,EAAE;AACF,2FAA2F;AAC3F,gEAAgE;;;;;;;;;;;;AAEhE,2CAAmE;AACnE,qEAAgE;AAChE,2EAAqE;AAErE,oDAAqE;AAErE,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAGhD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,6CAAoB;IACjE,YAA6B,QAAgC;QAC3D,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAwB;IAE7D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAoB;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAEzD,iBAAiB;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAE3C,+FAA+F;YAC/F,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,8BAAqB,CAAC,wBAAwB,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;YACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,gGAAgG;QAChG,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,2BAA2B,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5G,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC9D,4FAA4F;QAC5F,0FAA0F;QAC1F,KAAK,aAAa,CAAC;QAEnB,OAAO;YACL,OAAO,EAAE,8BAAc;YACvB,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,wHAAwH;QACxH,qFAAqF;QACrF,yGAAyG;QACzG,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,UAAU,CAAC,GAAoB,EAAE,IAAY;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,GAAG,GACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAEO,WAAW,CAAC,MAAc;QAChC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAE4B,kDAAsB;GADlD,yBAAyB,CAyDrC;AAED,kGAAkG;AAClG,0GAA0G;AAC1G,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare class LocalContractsModule {
2
+ }
3
+ //# sourceMappingURL=local-contracts.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-contracts.module.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":"AAiCA,qBAgCa,oBAAoB;CAAG"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ // LocalContractsModule — the OSS default `contracts` module: binds each adapter extension-point
3
+ // token to its Local* implementation.
4
+ // See docs/specs/08-saas-adapter-boundary.md §2 + §3.
5
+ //
6
+ // Supplied to the root `AppModule.forRoot({ contracts })` at assembly time. A SaaS shell passes its
7
+ // own `SaasContractsModule` (binding Remote* implementations) the same way; OSS mainline is unaware
8
+ // of which contracts module was supplied. `overrideProvider` stays a test-only primitive (§2).
9
+ //
10
+ // @Global() ensures every feature module can inject these resolvers without a per-module import.
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ 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;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.LocalContractsModule = void 0;
19
+ const common_1 = require("@nestjs/common");
20
+ const crypto_module_1 = require("../../../shared/crypto/crypto.module");
21
+ const database_module_1 = require("../../../shared/database/database.module");
22
+ const local_connector_context_resolver_1 = require("../../../webhook/channels/webhook/local-connector-context.resolver");
23
+ const webhook_repository_1 = require("../../../webhook/channels/webhook/webhook.repository");
24
+ const token_repository_1 = require("../../modules/token/token.repository");
25
+ const token_service_1 = require("../../modules/token/token.service");
26
+ const access_control_service_1 = require("./access-control.service");
27
+ const actor_context_resolver_1 = require("./actor-context.resolver");
28
+ const connector_context_resolver_1 = require("./connector-context.resolver");
29
+ const limiter_key_strategy_1 = require("./limiter-key.strategy");
30
+ const local_access_control_service_1 = require("./local-access-control.service");
31
+ const local_actor_context_resolver_1 = require("./local-actor-context.resolver");
32
+ const local_mcp_auth_resolver_1 = require("./local-mcp-auth.resolver");
33
+ const local_project_context_resolver_1 = require("./local-project-context.resolver");
34
+ const local_user_token_verifier_1 = require("./local-user-token.verifier");
35
+ const mcp_auth_resolver_1 = require("./mcp-auth.resolver");
36
+ const project_context_resolver_1 = require("./project-context.resolver");
37
+ const quota_policy_hook_1 = require("./quota-policy.hook");
38
+ const runtime_limits_provider_1 = require("./runtime-limits.provider");
39
+ const token_service_2 = require("./token.service");
40
+ const workflow_authorization_hook_1 = require("./workflow-authorization.hook");
41
+ let LocalContractsModule = class LocalContractsModule {
42
+ };
43
+ exports.LocalContractsModule = LocalContractsModule;
44
+ exports.LocalContractsModule = LocalContractsModule = __decorate([
45
+ (0, common_1.Global)(),
46
+ (0, common_1.Module)({
47
+ imports: [crypto_module_1.CryptoModule, database_module_1.DatabaseModule],
48
+ providers: [
49
+ webhook_repository_1.WebhookRepository,
50
+ token_repository_1.TokenRepository,
51
+ local_user_token_verifier_1.LocalUserTokenVerifier,
52
+ { provide: project_context_resolver_1.ProjectContextResolver, useClass: local_project_context_resolver_1.LocalProjectContextResolver },
53
+ { provide: actor_context_resolver_1.ActorContextResolver, useClass: local_actor_context_resolver_1.LocalActorContextResolver },
54
+ { provide: mcp_auth_resolver_1.McpAuthResolver, useClass: local_mcp_auth_resolver_1.LocalMcpAuthResolver },
55
+ { provide: connector_context_resolver_1.ConnectorContextResolver, useClass: local_connector_context_resolver_1.LocalConnectorContextResolver },
56
+ { provide: token_service_2.TokenService, useClass: token_service_1.LocalTokenService },
57
+ { provide: access_control_service_1.AccessControlService, useClass: local_access_control_service_1.LocalAccessControlService },
58
+ { provide: limiter_key_strategy_1.LimiterKeyStrategy, useClass: limiter_key_strategy_1.LocalLimiterKeyStrategy },
59
+ { provide: runtime_limits_provider_1.RuntimeLimitsProvider, useClass: runtime_limits_provider_1.LocalRuntimeLimitsProvider },
60
+ { provide: quota_policy_hook_1.QuotaPolicyHook, useClass: quota_policy_hook_1.LocalQuotaPolicyHook },
61
+ { provide: workflow_authorization_hook_1.WorkflowAuthorizationHook, useClass: workflow_authorization_hook_1.LocalWorkflowAuthorizationHook },
62
+ ],
63
+ exports: [
64
+ project_context_resolver_1.ProjectContextResolver,
65
+ actor_context_resolver_1.ActorContextResolver,
66
+ mcp_auth_resolver_1.McpAuthResolver,
67
+ connector_context_resolver_1.ConnectorContextResolver,
68
+ token_service_2.TokenService,
69
+ access_control_service_1.AccessControlService,
70
+ limiter_key_strategy_1.LimiterKeyStrategy,
71
+ runtime_limits_provider_1.RuntimeLimitsProvider,
72
+ quota_policy_hook_1.QuotaPolicyHook,
73
+ workflow_authorization_hook_1.WorkflowAuthorizationHook,
74
+ local_user_token_verifier_1.LocalUserTokenVerifier,
75
+ ],
76
+ })
77
+ ], LocalContractsModule);
78
+ //# sourceMappingURL=local-contracts.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-contracts.module.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":";AAAA,gGAAgG;AAChG,sCAAsC;AACtC,sDAAsD;AACtD,EAAE;AACF,oGAAoG;AACpG,oGAAoG;AACpG,+FAA+F;AAC/F,EAAE;AACF,iGAAiG;;;;;;;;;AAEjG,2CAAgD;AAChD,wEAAoE;AACpE,8EAA0E;AAC1E,yHAAmH;AACnH,6FAAyF;AACzF,2EAAuE;AACvE,qEAAsE;AACtE,qEAAgE;AAChE,qEAAgE;AAChE,6EAAwE;AACxE,iEAAqF;AACrF,iFAA2E;AAC3E,iFAA2E;AAC3E,uEAAiE;AACjE,qFAA+E;AAC/E,2EAAqE;AACrE,2DAAsD;AACtD,yEAAoE;AACpE,2DAA4E;AAC5E,uEAA8F;AAC9F,mDAA+C;AAC/C,+EAA0G;AAkCnG,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IAhChC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,gCAAc,CAAC;QACvC,SAAS,EAAE;YACT,sCAAiB;YACjB,kCAAe;YACf,kDAAsB;YACtB,EAAE,OAAO,EAAE,iDAAsB,EAAE,QAAQ,EAAE,4DAA2B,EAAE;YAC1E,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,8CAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,qDAAwB,EAAE,QAAQ,EAAE,gEAA6B,EAAE;YAC9E,EAAE,OAAO,EAAE,4BAAY,EAAE,QAAQ,EAAE,iCAAiB,EAAE;YACtD,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,yCAAkB,EAAE,QAAQ,EAAE,8CAAuB,EAAE;YAClE,EAAE,OAAO,EAAE,+CAAqB,EAAE,QAAQ,EAAE,oDAA0B,EAAE;YACxE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,wCAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,uDAAyB,EAAE,QAAQ,EAAE,4DAA8B,EAAE;SACjF;QACD,OAAO,EAAE;YACP,iDAAsB;YACtB,6CAAoB;YACpB,mCAAe;YACf,qDAAwB;YACxB,4BAAY;YACZ,6CAAoB;YACpB,yCAAkB;YAClB,+CAAqB;YACrB,mCAAe;YACf,uDAAyB;YACzB,kDAAsB;SACvB;KACF,CAAC;GACW,oBAAoB,CAAG"}
@@ -0,0 +1,12 @@
1
+ import { McpAuthResolver } from './mcp-auth.resolver';
2
+ import { LocalUserTokenVerifier } from './local-user-token.verifier';
3
+ import type { ActorContext } from '../actor-context';
4
+ import type { McpRequestMetadataLike } from './types';
5
+ export declare class LocalMcpAuthResolver extends McpAuthResolver {
6
+ private readonly verifier;
7
+ constructor(verifier: LocalUserTokenVerifier);
8
+ resolveFromMcp(metadata: McpRequestMetadataLike): Promise<ActorContext>;
9
+ resolveFromUserToken(token: string): Promise<ActorContext>;
10
+ private extractToken;
11
+ }
12
+ //# sourceMappingURL=local-mcp-auth.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-mcp-auth.resolver.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-mcp-auth.resolver.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,qBACa,oBAAqB,SAAQ,eAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,sBAAsB;IAIvD,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;IAMvE,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhE,OAAO,CAAC,YAAY;CAoBrB"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // LocalMcpAuthResolver — default implementation for the MCP channel
3
+ // See docs/specs/08-saas-adapter-boundary.md §3.3 and docs/specs/09-mcp-server.md.
4
+ //
5
+ // The MCP server transport (channels/mcp/mcp.transport.ts) calls resolveFromMcp(metadata) on every
6
+ // request before dispatching a tool. This resolver:
7
+ // - resolveFromMcp(metadata): extracts the user token from metadata.authInfo.token /
8
+ // headers.authorization (`Bearer ph_*`) / meta.token; if found, runs the verifier; otherwise 401.
9
+ // - resolveFromUserToken(token): verifier check directly (same as the HTTP path, skipping IP check).
10
+ //
11
+ // SaaS overrides this resolver (e.g. per-org MCP token / JWT) without touching the transport.
12
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
+ 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;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ var __metadata = (this && this.__metadata) || function (k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.LocalMcpAuthResolver = void 0;
23
+ const common_1 = require("@nestjs/common");
24
+ const mcp_auth_resolver_1 = require("./mcp-auth.resolver");
25
+ const local_user_token_verifier_1 = require("./local-user-token.verifier");
26
+ let LocalMcpAuthResolver = class LocalMcpAuthResolver extends mcp_auth_resolver_1.McpAuthResolver {
27
+ constructor(verifier) {
28
+ super();
29
+ this.verifier = verifier;
30
+ }
31
+ async resolveFromMcp(metadata) {
32
+ const token = this.extractToken(metadata);
33
+ if (!token)
34
+ throw new common_1.UnauthorizedException('missing_user_token');
35
+ return this.verifier.verify(token, { actorKind: 'system_mcp' });
36
+ }
37
+ async resolveFromUserToken(token) {
38
+ return this.verifier.verify(token, { actorKind: 'system_mcp' });
39
+ }
40
+ extractToken(metadata) {
41
+ // The Streamable-HTTP transport passes req.headers, so the `Bearer ph_*` header is the live path;
42
+ // authInfo / meta.token are accepted too for SDK shapes that pre-extract the credential.
43
+ if (metadata.authInfo?.token)
44
+ return metadata.authInfo.token;
45
+ const headers = metadata.headers ?? {};
46
+ const auth = headers['authorization'] ?? headers['Authorization'];
47
+ if (auth) {
48
+ const header = Array.isArray(auth) ? auth[0] : auth;
49
+ if (header) {
50
+ const match = /^Bearer\s+(.+)$/i.exec(header);
51
+ if (match?.[1])
52
+ return match[1].trim();
53
+ }
54
+ }
55
+ const metaToken = metadata.meta?.['token'];
56
+ if (typeof metaToken === 'string' && metaToken.length > 0)
57
+ return metaToken;
58
+ return null;
59
+ }
60
+ };
61
+ exports.LocalMcpAuthResolver = LocalMcpAuthResolver;
62
+ exports.LocalMcpAuthResolver = LocalMcpAuthResolver = __decorate([
63
+ (0, common_1.Injectable)(),
64
+ __metadata("design:paramtypes", [local_user_token_verifier_1.LocalUserTokenVerifier])
65
+ ], LocalMcpAuthResolver);
66
+ //# sourceMappingURL=local-mcp-auth.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-mcp-auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-mcp-auth.resolver.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,mFAAmF;AACnF,EAAE;AACF,mGAAmG;AACnG,oDAAoD;AACpD,uFAAuF;AACvF,sGAAsG;AACtG,uGAAuG;AACvG,EAAE;AACF,8FAA8F;;;;;;;;;;;;AAE9F,2CAAmE;AACnE,2DAAsD;AACtD,2EAAqE;AAK9D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mCAAe;IACvD,YAA6B,QAAgC;QAC3D,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAwB;IAE7D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,8BAAqB,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAEO,YAAY,CAAC,QAAgC;QACnD,kGAAkG;QAClG,yFAAyF;QACzF,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE7D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAE4B,kDAAsB;GADlD,oBAAoB,CAmChC"}
@@ -0,0 +1,8 @@
1
+ import { type ProjectContext } from '@proofhound/shared';
2
+ import type { ActorContext } from '../actor-context';
3
+ import { ProjectContextResolver } from './project-context.resolver';
4
+ import type { ProjectContextHint } from './types';
5
+ export declare class LocalProjectContextResolver extends ProjectContextResolver {
6
+ resolve(_actor: ActorContext, _hint?: ProjectContextHint): Promise<ProjectContext>;
7
+ }
8
+ //# sourceMappingURL=local-project-context.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-project-context.resolver.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-project-context.resolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,qBACa,2BAA4B,SAAQ,sBAAsB;IAC/D,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CAGzF"}