@proofhound/core 0.1.7 → 0.1.9

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 (199) hide show
  1. package/dist/server/channels/mcp/annotation.tools.d.ts.map +1 -1
  2. package/dist/server/channels/mcp/annotation.tools.js +18 -5
  3. package/dist/server/channels/mcp/annotation.tools.js.map +1 -1
  4. package/dist/server/channels/mcp/canary-release.tools.d.ts.map +1 -1
  5. package/dist/server/channels/mcp/canary-release.tools.js +2 -1
  6. package/dist/server/channels/mcp/canary-release.tools.js.map +1 -1
  7. package/dist/server/channels/mcp/dataset.tools.d.ts.map +1 -1
  8. package/dist/server/channels/mcp/dataset.tools.js +49 -1
  9. package/dist/server/channels/mcp/dataset.tools.js.map +1 -1
  10. package/dist/server/channels/mcp/mcp-server.factory.d.ts +9 -1
  11. package/dist/server/channels/mcp/mcp-server.factory.d.ts.map +1 -1
  12. package/dist/server/channels/mcp/mcp-server.factory.js +28 -3
  13. package/dist/server/channels/mcp/mcp-server.factory.js.map +1 -1
  14. package/dist/server/channels/mcp/prompt.tools.d.ts.map +1 -1
  15. package/dist/server/channels/mcp/prompt.tools.js +34 -2
  16. package/dist/server/channels/mcp/prompt.tools.js.map +1 -1
  17. package/dist/server/channels/mcp/release-line.tools.d.ts.map +1 -1
  18. package/dist/server/channels/mcp/release-line.tools.js +292 -4
  19. package/dist/server/channels/mcp/release-line.tools.js.map +1 -1
  20. package/dist/server/channels/mcp/run-result.tools.d.ts.map +1 -1
  21. package/dist/server/channels/mcp/run-result.tools.js +7 -5
  22. package/dist/server/channels/mcp/run-result.tools.js.map +1 -1
  23. package/dist/server/common/contracts/index.d.ts +1 -0
  24. package/dist/server/common/contracts/index.d.ts.map +1 -1
  25. package/dist/server/common/contracts/index.js +1 -0
  26. package/dist/server/common/contracts/index.js.map +1 -1
  27. package/dist/server/common/contracts/local-contracts.module.d.ts.map +1 -1
  28. package/dist/server/common/contracts/local-contracts.module.js +3 -0
  29. package/dist/server/common/contracts/local-contracts.module.js.map +1 -1
  30. package/dist/server/common/contracts/usage-metering.hook.d.ts +33 -0
  31. package/dist/server/common/contracts/usage-metering.hook.d.ts.map +1 -0
  32. package/dist/server/common/contracts/usage-metering.hook.js +43 -0
  33. package/dist/server/common/contracts/usage-metering.hook.js.map +1 -0
  34. package/dist/server/infrastructure/llm/run-result-writer.d.ts +4 -1
  35. package/dist/server/infrastructure/llm/run-result-writer.d.ts.map +1 -1
  36. package/dist/server/infrastructure/llm/run-result-writer.js +66 -14
  37. package/dist/server/infrastructure/llm/run-result-writer.js.map +1 -1
  38. package/dist/server/modules/annotation/annotation.controller.d.ts +28 -13
  39. package/dist/server/modules/annotation/annotation.controller.d.ts.map +1 -1
  40. package/dist/server/modules/annotation/annotation.repository.d.ts +6 -2
  41. package/dist/server/modules/annotation/annotation.repository.d.ts.map +1 -1
  42. package/dist/server/modules/annotation/annotation.repository.js +340 -96
  43. package/dist/server/modules/annotation/annotation.repository.js.map +1 -1
  44. package/dist/server/modules/annotation/annotation.service.d.ts.map +1 -1
  45. package/dist/server/modules/annotation/annotation.service.js +62 -10
  46. package/dist/server/modules/annotation/annotation.service.js.map +1 -1
  47. package/dist/server/modules/canary-release/canary-release.controller.d.ts +63 -42
  48. package/dist/server/modules/canary-release/canary-release.controller.d.ts.map +1 -1
  49. package/dist/server/modules/canary-release/canary-release.repository.d.ts +23 -5
  50. package/dist/server/modules/canary-release/canary-release.repository.d.ts.map +1 -1
  51. package/dist/server/modules/canary-release/canary-release.repository.js +28 -12
  52. package/dist/server/modules/canary-release/canary-release.repository.js.map +1 -1
  53. package/dist/server/modules/canary-release/canary-release.service.d.ts.map +1 -1
  54. package/dist/server/modules/canary-release/canary-release.service.js +32 -10
  55. package/dist/server/modules/canary-release/canary-release.service.js.map +1 -1
  56. package/dist/server/modules/canary-release/canary-runtime.d.ts +11 -1
  57. package/dist/server/modules/canary-release/canary-runtime.d.ts.map +1 -1
  58. package/dist/server/modules/canary-release/canary-runtime.js +63 -8
  59. package/dist/server/modules/canary-release/canary-runtime.js.map +1 -1
  60. package/dist/server/modules/dataset/dataset-deletion.hook.d.ts +16 -0
  61. package/dist/server/modules/dataset/dataset-deletion.hook.d.ts.map +1 -0
  62. package/dist/server/modules/dataset/dataset-deletion.hook.js +57 -0
  63. package/dist/server/modules/dataset/dataset-deletion.hook.js.map +1 -0
  64. package/dist/server/modules/dataset/dataset-import.controller.d.ts +2 -0
  65. package/dist/server/modules/dataset/dataset-import.controller.d.ts.map +1 -1
  66. package/dist/server/modules/dataset/dataset-import.service.d.ts.map +1 -1
  67. package/dist/server/modules/dataset/dataset-import.service.js +7 -0
  68. package/dist/server/modules/dataset/dataset-import.service.js.map +1 -1
  69. package/dist/server/modules/dataset/dataset.controller.d.ts +98 -0
  70. package/dist/server/modules/dataset/dataset.controller.d.ts.map +1 -1
  71. package/dist/server/modules/dataset/dataset.controller.js +36 -0
  72. package/dist/server/modules/dataset/dataset.controller.js.map +1 -1
  73. package/dist/server/modules/dataset/dataset.module.d.ts.map +1 -1
  74. package/dist/server/modules/dataset/dataset.module.js +8 -1
  75. package/dist/server/modules/dataset/dataset.module.js.map +1 -1
  76. package/dist/server/modules/dataset/dataset.repository.d.ts +19 -0
  77. package/dist/server/modules/dataset/dataset.repository.d.ts.map +1 -1
  78. package/dist/server/modules/dataset/dataset.repository.js +248 -9
  79. package/dist/server/modules/dataset/dataset.repository.js.map +1 -1
  80. package/dist/server/modules/dataset/dataset.service.d.ts +45 -1
  81. package/dist/server/modules/dataset/dataset.service.d.ts.map +1 -1
  82. package/dist/server/modules/dataset/dataset.service.js +132 -7
  83. package/dist/server/modules/dataset/dataset.service.js.map +1 -1
  84. package/dist/server/modules/experiment/experiment.controller.d.ts +8 -8
  85. package/dist/server/modules/experiment/experiment.repository.d.ts.map +1 -1
  86. package/dist/server/modules/experiment/experiment.repository.js +28 -0
  87. package/dist/server/modules/experiment/experiment.repository.js.map +1 -1
  88. package/dist/server/modules/experiment/experiment.service.d.ts.map +1 -1
  89. package/dist/server/modules/experiment/experiment.service.js +6 -3
  90. package/dist/server/modules/experiment/experiment.service.js.map +1 -1
  91. package/dist/server/modules/model/model.service.d.ts +5 -1
  92. package/dist/server/modules/model/model.service.d.ts.map +1 -1
  93. package/dist/server/modules/model/model.service.js +65 -3
  94. package/dist/server/modules/model/model.service.js.map +1 -1
  95. package/dist/server/modules/model/project-model.controller.d.ts +5 -5
  96. package/dist/server/modules/monitoring/monitoring.repository.js +1 -1
  97. package/dist/server/modules/optimization/optimization.controller.d.ts +12 -12
  98. package/dist/server/modules/optimization/optimization.repository.d.ts +6 -0
  99. package/dist/server/modules/optimization/optimization.repository.d.ts.map +1 -1
  100. package/dist/server/modules/optimization/optimization.repository.js +96 -4
  101. package/dist/server/modules/optimization/optimization.repository.js.map +1 -1
  102. package/dist/server/modules/optimization/optimization.service.d.ts.map +1 -1
  103. package/dist/server/modules/optimization/optimization.service.js +13 -4
  104. package/dist/server/modules/optimization/optimization.service.js.map +1 -1
  105. package/dist/server/modules/optimization/optimization.workflow.js +1 -1
  106. package/dist/server/modules/optimization/optimization.workflow.js.map +1 -1
  107. package/dist/server/modules/production-release/production-release.controller.d.ts +12 -9
  108. package/dist/server/modules/production-release/production-release.controller.d.ts.map +1 -1
  109. package/dist/server/modules/production-release/production-release.repository.d.ts +2 -1
  110. package/dist/server/modules/production-release/production-release.repository.d.ts.map +1 -1
  111. package/dist/server/modules/production-release/production-release.repository.js +3 -1
  112. package/dist/server/modules/production-release/production-release.repository.js.map +1 -1
  113. package/dist/server/modules/production-release/production-release.service.d.ts.map +1 -1
  114. package/dist/server/modules/production-release/production-release.service.js +10 -1
  115. package/dist/server/modules/production-release/production-release.service.js.map +1 -1
  116. package/dist/server/modules/prompt/prompt-deletion.hook.d.ts +18 -0
  117. package/dist/server/modules/prompt/prompt-deletion.hook.d.ts.map +1 -0
  118. package/dist/server/modules/prompt/prompt-deletion.hook.js +69 -0
  119. package/dist/server/modules/prompt/prompt-deletion.hook.js.map +1 -0
  120. package/dist/server/modules/prompt/prompt.controller.d.ts +146 -38
  121. package/dist/server/modules/prompt/prompt.controller.d.ts.map +1 -1
  122. package/dist/server/modules/prompt/prompt.controller.js +24 -0
  123. package/dist/server/modules/prompt/prompt.controller.js.map +1 -1
  124. package/dist/server/modules/prompt/prompt.module.d.ts.map +1 -1
  125. package/dist/server/modules/prompt/prompt.module.js +7 -1
  126. package/dist/server/modules/prompt/prompt.module.js.map +1 -1
  127. package/dist/server/modules/prompt/prompt.repository.d.ts +33 -3
  128. package/dist/server/modules/prompt/prompt.repository.d.ts.map +1 -1
  129. package/dist/server/modules/prompt/prompt.repository.js +267 -39
  130. package/dist/server/modules/prompt/prompt.repository.js.map +1 -1
  131. package/dist/server/modules/prompt/prompt.service.d.ts +78 -6
  132. package/dist/server/modules/prompt/prompt.service.d.ts.map +1 -1
  133. package/dist/server/modules/prompt/prompt.service.js +79 -49
  134. package/dist/server/modules/prompt/prompt.service.js.map +1 -1
  135. package/dist/server/modules/quick-start/quick-start.controller.d.ts +1 -1
  136. package/dist/server/modules/quick-start/quick-start.service.d.ts +1 -1
  137. package/dist/server/modules/release-line/release-line-deletion.hook.d.ts +16 -0
  138. package/dist/server/modules/release-line/release-line-deletion.hook.d.ts.map +1 -0
  139. package/dist/server/modules/release-line/release-line-deletion.hook.js +60 -0
  140. package/dist/server/modules/release-line/release-line-deletion.hook.js.map +1 -0
  141. package/dist/server/modules/release-line/release-line.controller.d.ts +2503 -82
  142. package/dist/server/modules/release-line/release-line.controller.d.ts.map +1 -1
  143. package/dist/server/modules/release-line/release-line.controller.js +169 -0
  144. package/dist/server/modules/release-line/release-line.controller.js.map +1 -1
  145. package/dist/server/modules/release-line/release-line.module.d.ts.map +1 -1
  146. package/dist/server/modules/release-line/release-line.module.js +8 -1
  147. package/dist/server/modules/release-line/release-line.module.js.map +1 -1
  148. package/dist/server/modules/release-line/release-line.repository.d.ts +55 -3
  149. package/dist/server/modules/release-line/release-line.repository.d.ts.map +1 -1
  150. package/dist/server/modules/release-line/release-line.repository.js +797 -111
  151. package/dist/server/modules/release-line/release-line.repository.js.map +1 -1
  152. package/dist/server/modules/release-line/release-line.service.d.ts +25 -5
  153. package/dist/server/modules/release-line/release-line.service.d.ts.map +1 -1
  154. package/dist/server/modules/release-line/release-line.service.js +312 -4
  155. package/dist/server/modules/release-line/release-line.service.js.map +1 -1
  156. package/dist/server/modules/release-line/release-runner.repository.d.ts +2 -1
  157. package/dist/server/modules/release-line/release-runner.repository.d.ts.map +1 -1
  158. package/dist/server/modules/release-line/release-runner.repository.js +14 -10
  159. package/dist/server/modules/release-line/release-runner.repository.js.map +1 -1
  160. package/dist/server/modules/release-line/release-runner.service.d.ts +6 -2
  161. package/dist/server/modules/release-line/release-runner.service.d.ts.map +1 -1
  162. package/dist/server/modules/release-line/release-runner.service.js +138 -11
  163. package/dist/server/modules/release-line/release-runner.service.js.map +1 -1
  164. package/dist/server/modules/release-line/release-variable-mapping.d.ts +9 -0
  165. package/dist/server/modules/release-line/release-variable-mapping.d.ts.map +1 -0
  166. package/dist/server/modules/release-line/release-variable-mapping.js +83 -0
  167. package/dist/server/modules/release-line/release-variable-mapping.js.map +1 -0
  168. package/dist/server/modules/run-result/run-result.controller.d.ts +10 -7
  169. package/dist/server/modules/run-result/run-result.controller.d.ts.map +1 -1
  170. package/dist/server/modules/run-result/run-result.repository.d.ts.map +1 -1
  171. package/dist/server/modules/run-result/run-result.repository.js +43 -18
  172. package/dist/server/modules/run-result/run-result.repository.js.map +1 -1
  173. package/dist/webhook/channels/webhook/webhook.controller.d.ts +4 -0
  174. package/dist/webhook/channels/webhook/webhook.controller.d.ts.map +1 -1
  175. package/dist/webhook/channels/webhook/webhook.service.d.ts +2 -0
  176. package/dist/webhook/channels/webhook/webhook.service.d.ts.map +1 -1
  177. package/dist/webhook/channels/webhook/webhook.service.js +6 -0
  178. package/dist/webhook/channels/webhook/webhook.service.js.map +1 -1
  179. package/dist/worker/consumers/llm.consumer.d.ts +4 -1
  180. package/dist/worker/consumers/llm.consumer.d.ts.map +1 -1
  181. package/dist/worker/consumers/llm.consumer.js +41 -6
  182. package/dist/worker/consumers/llm.consumer.js.map +1 -1
  183. package/dist/worker/consumers/probe.consumer.d.ts +4 -1
  184. package/dist/worker/consumers/probe.consumer.d.ts.map +1 -1
  185. package/dist/worker/consumers/probe.consumer.js +35 -3
  186. package/dist/worker/consumers/probe.consumer.js.map +1 -1
  187. package/dist/worker/runners/llm-runner.d.ts +3 -1
  188. package/dist/worker/runners/llm-runner.d.ts.map +1 -1
  189. package/dist/worker/runners/llm-runner.js +110 -55
  190. package/dist/worker/runners/llm-runner.js.map +1 -1
  191. package/dist/worker/runners/probe-runner.d.ts +9 -2
  192. package/dist/worker/runners/probe-runner.d.ts.map +1 -1
  193. package/dist/worker/runners/probe-runner.js +46 -2
  194. package/dist/worker/runners/probe-runner.js.map +1 -1
  195. package/dist/worker/runners/run-result-writer.d.ts +4 -1
  196. package/dist/worker/runners/run-result-writer.d.ts.map +1 -1
  197. package/dist/worker/runners/run-result-writer.js +63 -13
  198. package/dist/worker/runners/run-result-writer.js.map +1 -1
  199. package/package.json +12 -12
@@ -3,14 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DrizzleRunResultWriter = void 0;
4
4
  const node_buffer_1 = require("node:buffer");
5
5
  const drizzle_orm_1 = require("drizzle-orm");
6
- // ph_runs.run_results is a monthly-partitioned table by created_at; a UNIQUE constraint cannot be applied to a single id column;
7
- // use INSERT ... SELECT ... WHERE NOT EXISTS instead for idempotency, ensuring:
6
+ const logger_1 = require("@proofhound/logger");
7
+ const usage_metering_hook_1 = require("../../server/common/contracts/usage-metering.hook");
8
+ // ph_runs.run_results is monthly-partitioned by created_at, so UNIQUE(id) cannot live on that table.
9
+ // Reserve id in unpartitioned ph_runs.run_result_ids first, then insert into the partitioned fact table, ensuring:
8
10
  // 1. worker stalled retries do not write duplicate rows
9
11
  // 2. when the consumer writes the final error row in OnWorkerEvent('failed'), an already-landed success row is not overwritten
10
12
  class DrizzleRunResultWriter {
11
- constructor(db, quotaPolicy) {
13
+ constructor(db, quotaPolicy, usageMetering) {
12
14
  this.db = db;
13
15
  this.quotaPolicy = quotaPolicy;
16
+ this.usageMetering = usageMetering;
17
+ this.logger = (0, logger_1.createLogger)('worker.run-result-writer', { service: 'worker' });
14
18
  }
15
19
  async writeRunResult(record) {
16
20
  const sampleId = record.sampleId ?? null;
@@ -32,25 +36,31 @@ class DrizzleRunResultWriter {
32
36
  const dbosWorkflowId = record.dbosWorkflowId ?? null;
33
37
  const bullmqJobId = record.bullmqJobId ?? null;
34
38
  const roundIndex = record.roundIndex ?? null;
35
- const releaseVariantId = record.releaseVariantId ?? null;
39
+ const releaseVersionId = record.releaseVersionId ?? null;
36
40
  const webhookTokenId = record.webhookTokenId ?? null;
37
41
  await this.quotaPolicy.assertCanStore({
38
42
  bytes: estimateRunResultBytes(record),
39
43
  project: { projectId: record.projectId, source: 'local' },
40
44
  source: 'run_result',
41
45
  });
42
- await this.db.execute((0, drizzle_orm_1.sql) `
46
+ const insertResult = await this.db.execute((0, drizzle_orm_1.sql) `
47
+ WITH reserved_run_result AS (
48
+ INSERT INTO ph_runs.run_result_ids (id)
49
+ VALUES (${record.id}::uuid)
50
+ ON CONFLICT (id) DO NOTHING
51
+ RETURNING id, created_at
52
+ )
43
53
  INSERT INTO ph_runs.run_results (
44
- id, project_id, source, source_id, release_variant_id, prompt_version_id, model_id,
54
+ id, project_id, source, source_id, release_version_id, prompt_version_id, model_id,
45
55
  sample_id, external_id, rendered_prompt, input_variables,
46
56
  raw_response, parsed_output, decision_output, expected_output, is_correct, judgment_status,
47
57
  status, error_class, error_message,
48
58
  latency_ms, input_tokens, output_tokens, cost_estimate, attempt,
49
- dbos_workflow_id, bullmq_job_id, round_index, webhook_token_id
59
+ dbos_workflow_id, bullmq_job_id, round_index, webhook_token_id, created_at
50
60
  )
51
61
  SELECT
52
- ${record.id}::uuid, ${record.projectId}::uuid, ${record.source},
53
- ${record.sourceId}::uuid, ${releaseVariantId}::uuid, ${record.promptVersionId}::uuid, ${record.modelId}::uuid,
62
+ reserved_run_result.id, ${record.projectId}::uuid, ${record.source},
63
+ ${record.sourceId}::uuid, ${releaseVersionId}::uuid, ${record.promptVersionId}::uuid, ${record.modelId}::uuid,
54
64
  ${sampleId}::uuid, ${externalId},
55
65
  ${JSON.stringify(record.renderedPrompt)}::jsonb,
56
66
  ${JSON.stringify(inputVariables)}::jsonb,
@@ -60,11 +70,36 @@ class DrizzleRunResultWriter {
60
70
  ${record.status}, ${errorClass}, ${errorMessage},
61
71
  ${latencyMs}, ${inputTokens}, ${outputTokens},
62
72
  ${costEstimate}, ${attempt},
63
- ${dbosWorkflowId}, ${bullmqJobId}, ${roundIndex}, ${webhookTokenId}::uuid
64
- WHERE NOT EXISTS (
65
- SELECT 1 FROM ph_runs.run_results WHERE id = ${record.id}::uuid
66
- )
73
+ ${dbosWorkflowId}, ${bullmqJobId}, ${roundIndex}, ${webhookTokenId}::uuid,
74
+ reserved_run_result.created_at
75
+ FROM reserved_run_result
76
+ RETURNING id, created_at
67
77
  `);
78
+ const insertedRows = unwrapRows(insertResult);
79
+ if (insertedRows.length > 0 && this.usageMetering) {
80
+ const occurredAt = coerceDate(insertedRows[0]?.created_at);
81
+ await (0, usage_metering_hook_1.safeRecordUsageEvent)(this.usageMetering, {
82
+ idempotencyKey: `run_result:${record.id}:created`,
83
+ dimension: 'run_result',
84
+ eventType: 'run_result.created',
85
+ projectId: record.projectId,
86
+ occurredAt,
87
+ source: 'worker',
88
+ payload: {
89
+ runResultId: record.id,
90
+ source: record.source,
91
+ sourceId: record.sourceId,
92
+ promptVersionId: record.promptVersionId,
93
+ modelId: record.modelId,
94
+ status: record.status,
95
+ inputTokens,
96
+ outputTokens,
97
+ costEstimate,
98
+ latencyMs,
99
+ createdAt: occurredAt.toISOString(),
100
+ },
101
+ }, this.logger);
102
+ }
68
103
  }
69
104
  }
70
105
  exports.DrizzleRunResultWriter = DrizzleRunResultWriter;
@@ -81,4 +116,19 @@ function estimateRunResultBytes(record) {
81
116
  function utf8Bytes(value) {
82
117
  return node_buffer_1.Buffer.byteLength(typeof value === 'string' ? value : JSON.stringify(value ?? null), 'utf8');
83
118
  }
119
+ function unwrapRows(result) {
120
+ if (Array.isArray(result))
121
+ return result;
122
+ if (result && typeof result === 'object' && 'rows' in result) {
123
+ return (result.rows ?? []);
124
+ }
125
+ return [];
126
+ }
127
+ function coerceDate(value) {
128
+ if (value instanceof Date)
129
+ return value;
130
+ if (value)
131
+ return new Date(value);
132
+ return new Date();
133
+ }
84
134
  //# sourceMappingURL=run-result-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-result-writer.js","sourceRoot":"","sources":["../../../src/worker/runners/run-result-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-result-writer.js","sourceRoot":"","sources":["../../../src/worker/runners/run-result-writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proofhound/core",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "ProofHound reusable backend runtime: server / webhook / worker NestJS modules, contracts, local defaults, Services, Repositories",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -36,17 +36,17 @@
36
36
  "rxjs": "^7.8.2",
37
37
  "sharp": "^0.34.5",
38
38
  "zod": "^4.4.3",
39
- "@proofhound/db": "0.1.7",
40
- "@proofhound/connector-client": "0.1.7",
41
- "@proofhound/crypto": "0.1.7",
42
- "@proofhound/judgment": "0.1.7",
43
- "@proofhound/limiter": "0.1.7",
44
- "@proofhound/llm-client": "0.1.7",
45
- "@proofhound/logger": "0.1.7",
46
- "@proofhound/optimization-strategy": "0.1.7",
47
- "@proofhound/shared": "0.1.7",
48
- "@proofhound/metrics": "0.1.7",
49
- "@proofhound/orchestration-shared": "0.1.7"
39
+ "@proofhound/connector-client": "0.1.9",
40
+ "@proofhound/crypto": "0.1.9",
41
+ "@proofhound/db": "0.1.9",
42
+ "@proofhound/judgment": "0.1.9",
43
+ "@proofhound/limiter": "0.1.9",
44
+ "@proofhound/llm-client": "0.1.9",
45
+ "@proofhound/logger": "0.1.9",
46
+ "@proofhound/metrics": "0.1.9",
47
+ "@proofhound/optimization-strategy": "0.1.9",
48
+ "@proofhound/orchestration-shared": "0.1.9",
49
+ "@proofhound/shared": "0.1.9"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@nestjs/testing": "^11.1.21",