@inflexa-ai/harness 0.35.7 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/auth/types.d.ts +5 -14
  2. package/dist/auth/types.js +3 -10
  3. package/dist/billing/usage-recorder.d.ts +1 -1
  4. package/dist/contracts/analogy-report.d.ts +1 -1
  5. package/dist/contracts/analogy-report.js +1 -1
  6. package/dist/contracts/chat-parts.d.ts +2 -3
  7. package/dist/contracts/index.d.ts +0 -4
  8. package/dist/contracts/index.js +0 -2
  9. package/dist/index.d.ts +0 -7
  10. package/dist/index.js +0 -21
  11. package/dist/lib/metrics.d.ts +1 -1
  12. package/dist/lib/otel-spans.d.ts +0 -2
  13. package/dist/lib/otel-spans.js +0 -2
  14. package/dist/loop/genai-spans.d.ts +20 -0
  15. package/dist/loop/genai-spans.js +53 -0
  16. package/dist/loop/run-agent.d.ts +1 -1
  17. package/dist/loop/run-agent.js +9 -4
  18. package/dist/providers/ai-sdk.js +8 -0
  19. package/dist/runtime/assemble.d.ts +0 -3
  20. package/dist/runtime/assemble.js +0 -3
  21. package/dist/state/index.d.ts +0 -2
  22. package/dist/state/index.js +0 -1
  23. package/dist/state/init.js +1 -60
  24. package/dist/state/purge-analysis.d.ts +1 -2
  25. package/dist/state/purge-analysis.js +1 -2
  26. package/dist/tasks/regulatory-corpus-boot-refresh.js +1 -1
  27. package/dist/tools/bio/gene-preclinical-profile.d.ts +1 -3
  28. package/dist/tools/bio/gene-preclinical-profile.js +1 -3
  29. package/dist/tools/lib/chembl-client.d.ts +1 -4
  30. package/dist/tools/lib/chembl-client.js +1 -4
  31. package/dist/tools/lib/clinical-benchmarks-client.d.ts +1 -1
  32. package/dist/tools/lib/clinical-benchmarks-client.js +1 -1
  33. package/dist/tools/lib/clinical-trials-client.d.ts +0 -3
  34. package/dist/tools/lib/clinical-trials-client.js +0 -3
  35. package/dist/tools/lib/identifier-resolver.d.ts +5 -7
  36. package/dist/tools/lib/identifier-resolver.js +5 -7
  37. package/dist/tools/lib/iuphar-client.d.ts +1 -3
  38. package/dist/tools/lib/iuphar-client.js +1 -3
  39. package/dist/tools/lib/opentargets-client.d.ts +1 -1
  40. package/dist/tools/lib/opentargets-client.js +1 -1
  41. package/dist/tools/lib/protein-family-normalize.d.ts +5 -7
  42. package/dist/tools/lib/protein-family-normalize.js +5 -7
  43. package/dist/tools/lib/uniprot-client.d.ts +0 -7
  44. package/dist/tools/lib/uniprot-client.js +2 -9
  45. package/package.json +9 -8
  46. package/dist/contracts/target-assessment-row.d.ts +0 -85
  47. package/dist/contracts/target-assessment-row.js +0 -37
  48. package/dist/contracts/target-dossier.d.ts +0 -12423
  49. package/dist/contracts/target-dossier.js +0 -1282
  50. package/dist/prompts/target-assessment/briefs/executive-recommendation.d.ts +0 -1
  51. package/dist/prompts/target-assessment/briefs/executive-recommendation.js +0 -85
  52. package/dist/prompts/target-assessment/briefs/index.d.ts +0 -4
  53. package/dist/prompts/target-assessment/briefs/index.js +0 -4
  54. package/dist/prompts/target-assessment/briefs/liability-bullets.d.ts +0 -1
  55. package/dist/prompts/target-assessment/briefs/liability-bullets.js +0 -114
  56. package/dist/prompts/target-assessment/briefs/target-organ-liabilities.d.ts +0 -1
  57. package/dist/prompts/target-assessment/briefs/target-organ-liabilities.js +0 -37
  58. package/dist/prompts/target-assessment/briefs/translational-commentary.d.ts +0 -1
  59. package/dist/prompts/target-assessment/briefs/translational-commentary.js +0 -23
  60. package/dist/prompts/target-assessment/drugs-in-class.d.ts +0 -1
  61. package/dist/prompts/target-assessment/drugs-in-class.js +0 -29
  62. package/dist/prompts/target-assessment/investigation/adversarial-critique.d.ts +0 -1
  63. package/dist/prompts/target-assessment/investigation/adversarial-critique.js +0 -67
  64. package/dist/prompts/target-assessment/investigation/claim-reverification.d.ts +0 -1
  65. package/dist/prompts/target-assessment/investigation/claim-reverification.js +0 -49
  66. package/dist/prompts/target-assessment/investigation/index.d.ts +0 -3
  67. package/dist/prompts/target-assessment/investigation/index.js +0 -3
  68. package/dist/prompts/target-assessment/investigation/mechanism-proposal.d.ts +0 -1
  69. package/dist/prompts/target-assessment/investigation/mechanism-proposal.js +0 -49
  70. package/dist/prompts/target-assessment/modulator-triage.d.ts +0 -1
  71. package/dist/prompts/target-assessment/modulator-triage.js +0 -31
  72. package/dist/prompts/target-assessment/off-target-annotator.d.ts +0 -1
  73. package/dist/prompts/target-assessment/off-target-annotator.js +0 -28
  74. package/dist/prompts/target-assessment/tox-voice/core.d.ts +0 -1
  75. package/dist/prompts/target-assessment/tox-voice/core.js +0 -74
  76. package/dist/prompts/target-assessment/tox-voice/critique.d.ts +0 -7
  77. package/dist/prompts/target-assessment/tox-voice/critique.js +0 -109
  78. package/dist/prompts/target-assessment/tox-voice/exemplars.d.ts +0 -8
  79. package/dist/prompts/target-assessment/tox-voice/exemplars.js +0 -24
  80. package/dist/prompts/target-assessment/tox-voice/index.d.ts +0 -4
  81. package/dist/prompts/target-assessment/tox-voice/index.js +0 -4
  82. package/dist/prompts/target-assessment/tox-voice/vocabulary.d.ts +0 -18
  83. package/dist/prompts/target-assessment/tox-voice/vocabulary.js +0 -61
  84. package/dist/state/target-assessments.d.ts +0 -68
  85. package/dist/state/target-assessments.js +0 -222
  86. package/dist/workflows/execute-target-assessment.d.ts +0 -118
  87. package/dist/workflows/execute-target-assessment.js +0 -631
  88. package/dist/workflows/target-assessment/assemblers/index.d.ts +0 -5
  89. package/dist/workflows/target-assessment/assemblers/index.js +0 -4
  90. package/dist/workflows/target-assessment/assemblers/literature.d.ts +0 -281
  91. package/dist/workflows/target-assessment/assemblers/literature.js +0 -971
  92. package/dist/workflows/target-assessment/assemblers/orchestrator.d.ts +0 -118
  93. package/dist/workflows/target-assessment/assemblers/orchestrator.js +0 -945
  94. package/dist/workflows/target-assessment/assemblers/safety.d.ts +0 -374
  95. package/dist/workflows/target-assessment/assemblers/safety.js +0 -1068
  96. package/dist/workflows/target-assessment/assemblers/trials.d.ts +0 -30
  97. package/dist/workflows/target-assessment/assemblers/trials.js +0 -75
  98. package/dist/workflows/target-assessment/collectors/index.d.ts +0 -114
  99. package/dist/workflows/target-assessment/collectors/index.js +0 -538
  100. package/dist/workflows/target-assessment/coverage.d.ts +0 -97
  101. package/dist/workflows/target-assessment/coverage.js +0 -86
  102. package/dist/workflows/target-assessment/decisions/index.d.ts +0 -86
  103. package/dist/workflows/target-assessment/decisions/index.js +0 -127
  104. package/dist/workflows/target-assessment/fanout/index.d.ts +0 -32
  105. package/dist/workflows/target-assessment/fanout/index.js +0 -156
  106. package/dist/workflows/target-assessment/investigation/index.d.ts +0 -97
  107. package/dist/workflows/target-assessment/investigation/index.js +0 -419
  108. package/dist/workflows/target-assessment/lib/approval-precedents.d.ts +0 -73
  109. package/dist/workflows/target-assessment/lib/approval-precedents.js +0 -185
  110. package/dist/workflows/target-assessment/lib/citation-validator.d.ts +0 -46
  111. package/dist/workflows/target-assessment/lib/citation-validator.js +0 -316
  112. package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.d.ts +0 -65
  113. package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.js +0 -174
  114. package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.d.ts +0 -44
  115. package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.js +0 -152
  116. package/dist/workflows/target-assessment/lib/compute-derived.d.ts +0 -20
  117. package/dist/workflows/target-assessment/lib/compute-derived.js +0 -261
  118. package/dist/workflows/target-assessment/lib/compute-selectivity.d.ts +0 -15
  119. package/dist/workflows/target-assessment/lib/compute-selectivity.js +0 -18
  120. package/dist/workflows/target-assessment/lib/dedup-modulators.d.ts +0 -37
  121. package/dist/workflows/target-assessment/lib/dedup-modulators.js +0 -157
  122. package/dist/workflows/target-assessment/lib/evidence-conflict-detector.d.ts +0 -17
  123. package/dist/workflows/target-assessment/lib/evidence-conflict-detector.js +0 -100
  124. package/dist/workflows/target-assessment/lib/expression-constants.d.ts +0 -21
  125. package/dist/workflows/target-assessment/lib/expression-constants.js +0 -21
  126. package/dist/workflows/target-assessment/lib/family-complex-supplement.d.ts +0 -20
  127. package/dist/workflows/target-assessment/lib/family-complex-supplement.js +0 -36
  128. package/dist/workflows/target-assessment/lib/fda-label-safety.d.ts +0 -72
  129. package/dist/workflows/target-assessment/lib/fda-label-safety.js +0 -166
  130. package/dist/workflows/target-assessment/lib/heterodimer-filter.d.ts +0 -30
  131. package/dist/workflows/target-assessment/lib/heterodimer-filter.js +0 -44
  132. package/dist/workflows/target-assessment/lib/hpo-organ-map.d.ts +0 -34
  133. package/dist/workflows/target-assessment/lib/hpo-organ-map.js +0 -63
  134. package/dist/workflows/target-assessment/lib/impc-organ-map.d.ts +0 -19
  135. package/dist/workflows/target-assessment/lib/impc-organ-map.js +0 -39
  136. package/dist/workflows/target-assessment/lib/intended-polypharm-filter.d.ts +0 -4
  137. package/dist/workflows/target-assessment/lib/intended-polypharm-filter.js +0 -24
  138. package/dist/workflows/target-assessment/lib/llm-step.d.ts +0 -80
  139. package/dist/workflows/target-assessment/lib/llm-step.js +0 -101
  140. package/dist/workflows/target-assessment/lib/meddra-organ-map.d.ts +0 -40
  141. package/dist/workflows/target-assessment/lib/meddra-organ-map.js +0 -138
  142. package/dist/workflows/target-assessment/lib/recommendation-quality-gates.d.ts +0 -17
  143. package/dist/workflows/target-assessment/lib/recommendation-quality-gates.js +0 -99
  144. package/dist/workflows/target-assessment/lib/recommendation-sanitizer.d.ts +0 -2
  145. package/dist/workflows/target-assessment/lib/recommendation-sanitizer.js +0 -51
  146. package/dist/workflows/target-assessment/lib/regulatory-actions.d.ts +0 -25
  147. package/dist/workflows/target-assessment/lib/regulatory-actions.js +0 -176
  148. package/dist/workflows/target-assessment/lib/safety-corroboration.d.ts +0 -44
  149. package/dist/workflows/target-assessment/lib/safety-corroboration.js +0 -273
  150. package/dist/workflows/target-assessment/lib/structured-llm.d.ts +0 -61
  151. package/dist/workflows/target-assessment/lib/structured-llm.js +0 -102
  152. package/dist/workflows/target-assessment/lib/target-identity-filter.d.ts +0 -59
  153. package/dist/workflows/target-assessment/lib/target-identity-filter.js +0 -95
  154. package/dist/workflows/target-assessment/lib/therapeutic-programs.d.ts +0 -20
  155. package/dist/workflows/target-assessment/lib/therapeutic-programs.js +0 -68
  156. package/dist/workflows/target-assessment/metrics.d.ts +0 -16
  157. package/dist/workflows/target-assessment/metrics.js +0 -30
  158. package/dist/workflows/target-assessment/phase4-assemble.d.ts +0 -3182
  159. package/dist/workflows/target-assessment/phase4-assemble.js +0 -39
  160. package/dist/workflows/target-assessment/phase5-persist.d.ts +0 -59
  161. package/dist/workflows/target-assessment/phase5-persist.js +0 -349
  162. package/dist/workflows/target-assessment/progress-stream.d.ts +0 -75
  163. package/dist/workflows/target-assessment/progress-stream.js +0 -110
  164. package/dist/workflows/target-assessment/progress.d.ts +0 -39
  165. package/dist/workflows/target-assessment/progress.js +0 -77
  166. package/dist/workflows/target-assessment/schemas.d.ts +0 -970
  167. package/dist/workflows/target-assessment/schemas.js +0 -318
  168. package/dist/workflows/target-assessment/steps/collectors/pathways.d.ts +0 -15
  169. package/dist/workflows/target-assessment/steps/collectors/pathways.js +0 -58
  170. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.d.ts +0 -34
  171. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.js +0 -31
  172. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.d.ts +0 -57
  173. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.js +0 -54
  174. package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.d.ts +0 -35
  175. package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.js +0 -32
  176. package/dist/workflows/target-assessment/steps/fanout/index.d.ts +0 -14
  177. package/dist/workflows/target-assessment/steps/fanout/index.js +0 -10
  178. package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.d.ts +0 -29
  179. package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.js +0 -29
  180. package/dist/workflows/target-assessment/steps/phase2-aggregate.d.ts +0 -657
  181. package/dist/workflows/target-assessment/steps/phase2-aggregate.js +0 -34
  182. package/dist/workflows/target-assessment/steps/phase3-aggregate.d.ts +0 -806
  183. package/dist/workflows/target-assessment/steps/phase3-aggregate.js +0 -16
  184. package/dist/workflows/target-assessment/steps/synthesis/diagnostics.d.ts +0 -28
  185. package/dist/workflows/target-assessment/steps/synthesis/diagnostics.js +0 -27
  186. package/dist/workflows/target-assessment/sub-workflows/index.d.ts +0 -15
  187. package/dist/workflows/target-assessment/sub-workflows/index.js +0 -11
  188. package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.d.ts +0 -41
  189. package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.js +0 -12
  190. package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.d.ts +0 -41
  191. package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.js +0 -12
  192. package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.d.ts +0 -37
  193. package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.js +0 -12
  194. package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.d.ts +0 -66
  195. package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.js +0 -12
  196. package/dist/workflows/target-assessment/synthesis/index.d.ts +0 -607
  197. package/dist/workflows/target-assessment/synthesis/index.js +0 -354
  198. package/dist/workflows/target-assessment/synthesis-probes.d.ts +0 -56
  199. package/dist/workflows/target-assessment/synthesis-probes.js +0 -320
@@ -1,118 +0,0 @@
1
- /**
2
- * `executeTargetAssessment` — the parent DBOS workflow.
3
- *
4
- * Shape (every external interaction is a `DBOS.runStep` so a crashed
5
- * workflow replays from the cache instead of repeating side effects):
6
- *
7
- * Phase 0 `phase0Resolve` — only step allowed to throw
8
- * (terminates → `target-unresolved`)
9
- * Phase 1 15 collectors in parallel — coverage-envelope failures
10
- * Progress `emitProgress("deciding")`
11
- * Phase 2 2 decisions in parallel — LLM calls, attempt-numbered
12
- * Progress `emitProgress("fanning_out")`
13
- * Phase 3 4 fan-out blocks in parallel — per-item HTTP, withHost semaphore
14
- * Progress `emitProgress("assembling")`
15
- * Phase 4 `phase4Assemble` — aggregation + cached annotator
16
- * Phase 4a `ta-approval-precedents` — one openFDA lookup, two projections
17
- * Phase 4b `assembleSafetyCorroboration` — pure fold, no step of its own
18
- * Phase 4c `investigateClaims` — propose / critique / re-verify / converge
19
- * Progress `emitProgress("synthesizing")`
20
- * Phase 5a 3 per-section syntheses in parallel
21
- * Phase 5b `dossierRecommendation` sequential
22
- * Phase 5c `phase5Persist` (pure)
23
- * Terminal outermost try/finally:
24
- * - normal: setDossier → status="completed"
25
- * - phase0 throw: markFailed → "target-unresolved"
26
- * - schema violation: markFailed → "schema-violation"
27
- * - other throw: markFailed → "unexpected-throw"
28
- * - 402 self-cancel: markAssessmentSuspended → "suspended_insufficient_funds"
29
- * - operator cancel: markFailed → "operator-cancelled"
30
- * - soft-deleted row: no-op
31
- *
32
- * Workflow ID convention: `workflowID === assessmentId`. TA is one-shot
33
- * (re-runs create new rows), so the workflowID equals the assessmentId
34
- * directly. No `:runId` suffix.
35
- */
36
- import type { Pool } from "pg";
37
- import { z } from "zod";
38
- import type { RunSession } from "../auth/types.js";
39
- import type { RunAuthorizer } from "../execution/run-authorizer.js";
40
- import type { Logger } from "../lib/logger.js";
41
- import type { UsageRecorder } from "../billing/usage-recorder.js";
42
- import type { AgentChat } from "../providers/types.js";
43
- import { TargetAssessmentInputSchema } from "./target-assessment/schemas.js";
44
- import { type ClaimInvestigationConfig } from "./target-assessment/investigation/index.js";
45
- import { type ProgressPhase } from "./target-assessment/progress.js";
46
- export declare const ExecuteTargetAssessmentInputSchema: z.ZodObject<{
47
- assessmentId: z.ZodString;
48
- target: z.ZodString;
49
- goal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
- organizationId: z.ZodString;
51
- requestedBy: z.ZodString;
52
- billingContextId: z.ZodString;
53
- }, z.core.$strip>;
54
- type SerializedInput = z.infer<typeof ExecuteTargetAssessmentInputSchema>;
55
- /**
56
- * Workflow input includes the `runSession` minted at the trigger route.
57
- * The schema is for the serialised wire shape (input persisted by DBOS);
58
- * the `runSession` is added at the type level so the workflow body can
59
- * read the run-authorization credential directly.
60
- */
61
- export type ExecuteTargetAssessmentInput = SerializedInput & {
62
- readonly runSession: RunSession;
63
- /**
64
- * True when Cortex owns the run-authorization lifecycle and therefore must
65
- * revoke it on the terminal path. Optional because a workflow persisted
66
- * before this field existed (recovered across the deploy that added it)
67
- * deserializes without it; the body defaults absent → true, matching the
68
- * prior Cortex-owned behavior.
69
- */
70
- readonly ownsMandate?: boolean;
71
- };
72
- export interface ExecuteTargetAssessmentResult {
73
- readonly assessmentId: string;
74
- readonly status: "completed" | "failed" | "suspended_insufficient_funds" | "deleted";
75
- readonly bytes: number;
76
- }
77
- export interface ExecuteTargetAssessmentDeps {
78
- /** Operational logging seam; omitted falls back to no-op. */
79
- readonly logger?: Logger;
80
- readonly pool: Pool;
81
- /** Run-authorization seam — the terminal path revokes through `revoke`. */
82
- readonly runAuthorizer: RunAuthorizer;
83
- /** NCBI E-utilities key for the ClinVar / PubMed Phase-1 collectors. */
84
- readonly ncbiApiKey?: string;
85
- /**
86
- * Chat provider — billing resolution is closure-wrapped via the TA
87
- * resolver in `harness/billing/target-assessment-resolver.ts` (see §12
88
- * registration). The session's `scope.kind === "target-assessment"`
89
- * carries the `billingContextId` the resolver keys on.
90
- */
91
- readonly chatProvider: AgentChat;
92
- /** Billing-gateway model for decision agents — typically `env.TARGET_ASSESSMENT_DECISION_MODEL`. */
93
- readonly decisionModel: string;
94
- /** Billing-gateway model for synthesis agents — typically `env.TARGET_ASSESSMENT_SYNTHESIS_MODEL`. */
95
- readonly synthesisModel: string;
96
- /** LLM usage-accounting seam for the assessment's agent loops; omitted falls back to the no-op recorder. */
97
- readonly usageRecorder?: UsageRecorder;
98
- /**
99
- * Bounds the claim-investigation phase runs under. Omitted falls back to
100
- * `DEFAULT_CLAIM_INVESTIGATION_CONFIG` — the values are cost and termination
101
- * bounds, not domain constants, so an embedder wanting a deeper pass sets
102
- * its own and the dossier reports what was in force.
103
- */
104
- readonly claimInvestigation?: Partial<ClaimInvestigationConfig>;
105
- }
106
- /**
107
- * Register the executeTargetAssessment workflow with DBOS. Caller is
108
- * responsible for setting `workflowID = assessmentId` via
109
- * `DBOS.startWorkflow(_, { workflowID })`.
110
- */
111
- export declare function registerExecuteTargetAssessment(deps: ExecuteTargetAssessmentDeps): (input: ExecuteTargetAssessmentInput) => Promise<ExecuteTargetAssessmentResult>;
112
- /**
113
- * Body extracted so tests can drive it without registering a workflow
114
- * (the DBOS calls inside still rely on a workflow context being present).
115
- */
116
- export declare function runExecuteTargetAssessmentBody(input: ExecuteTargetAssessmentInput, deps: ExecuteTargetAssessmentDeps): Promise<ExecuteTargetAssessmentResult>;
117
- export { TargetAssessmentInputSchema };
118
- export type { ProgressPhase };