@inflexa-ai/harness 0.39.1 → 0.40.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 (191) hide show
  1. package/README.md +2 -3
  2. package/dist/agents/conversation-agent.d.ts +3 -0
  3. package/dist/agents/conversation-agent.js +13 -2
  4. package/dist/agents/report-session-agent.d.ts +3 -0
  5. package/dist/agents/report-session-agent.js +2 -0
  6. package/dist/agents/sandbox/cheminformatics-agent.js +0 -3
  7. package/dist/agents/sandbox/shared.d.ts +11 -2
  8. package/dist/agents/sandbox/shared.js +4 -0
  9. package/dist/app/chat-turn.d.ts +75 -12
  10. package/dist/app/chat-turn.js +149 -21
  11. package/dist/app/message-assembly.d.ts +16 -52
  12. package/dist/app/message-assembly.js +41 -68
  13. package/dist/app/run-activity.d.ts +4 -6
  14. package/dist/app/run-activity.js +7 -27
  15. package/dist/app/spawn-report-session.d.ts +6 -11
  16. package/dist/app/spawn-report-session.js +5 -6
  17. package/dist/app/synthesize-run.d.ts +3 -0
  18. package/dist/app/synthesize-run.js +1 -0
  19. package/dist/billing/usage-recorder.d.ts +3 -4
  20. package/dist/billing/usage-recorder.js +3 -4
  21. package/dist/contracts/chat-parts.d.ts +11 -1
  22. package/dist/contracts/chat-parts.js +1 -0
  23. package/dist/contracts/index.d.ts +1 -1
  24. package/dist/contracts/part-registry.js +1 -0
  25. package/dist/contracts/report-blocks.d.ts +8 -8
  26. package/dist/contracts/schemas/chat-parts.d.ts +32 -9
  27. package/dist/contracts/schemas/chat-parts.js +10 -0
  28. package/dist/execution/artifact-metadata.d.ts +26 -33
  29. package/dist/execution/artifact-metadata.js +44 -106
  30. package/dist/execution/artifact-registration.d.ts +12 -2
  31. package/dist/execution/artifact-registration.js +9 -4
  32. package/dist/execution/post-step-pipeline.d.ts +26 -22
  33. package/dist/execution/post-step-pipeline.js +30 -24
  34. package/dist/execution/run-synthesis.d.ts +3 -0
  35. package/dist/execution/run-synthesis.js +11 -1
  36. package/dist/execution/step-summary.d.ts +21 -30
  37. package/dist/execution/step-summary.js +30 -57
  38. package/dist/index.d.ts +11 -10
  39. package/dist/index.js +16 -35
  40. package/dist/lib/zod-issues.js +2 -4
  41. package/dist/loop/compaction.d.ts +20 -0
  42. package/dist/loop/compaction.js +2 -0
  43. package/dist/loop/continue-agent.d.ts +40 -0
  44. package/dist/loop/continue-agent.js +38 -0
  45. package/dist/loop/metrics.d.ts +30 -22
  46. package/dist/loop/metrics.js +51 -22
  47. package/dist/loop/run-agent.d.ts +111 -13
  48. package/dist/loop/run-agent.js +467 -220
  49. package/dist/loop/run-to-terminal.d.ts +16 -17
  50. package/dist/loop/run-to-terminal.js +24 -35
  51. package/dist/loop/tool-mask.d.ts +23 -0
  52. package/dist/loop/tool-mask.js +46 -0
  53. package/dist/loop/tool-output.d.ts +48 -0
  54. package/dist/loop/tool-output.js +79 -0
  55. package/dist/loop/types.d.ts +6 -3
  56. package/dist/memory/ai-sdk-message-storage.d.ts +49 -2
  57. package/dist/memory/ai-sdk-message-storage.js +78 -2
  58. package/dist/memory/conversation-display-recorder.d.ts +6 -0
  59. package/dist/memory/conversation-display-recorder.js +64 -22
  60. package/dist/memory/conversation-display-replay.d.ts +5 -14
  61. package/dist/memory/conversation-display-replay.js +66 -32
  62. package/dist/memory/conversation-display-storage.d.ts +2 -1
  63. package/dist/memory/conversation-display-storage.js +2 -1
  64. package/dist/memory/conversation-view.d.ts +53 -0
  65. package/dist/memory/conversation-view.js +130 -0
  66. package/dist/memory/count-tokens.d.ts +5 -7
  67. package/dist/memory/count-tokens.js +7 -9
  68. package/dist/memory/thread-history.d.ts +74 -102
  69. package/dist/memory/thread-history.js +181 -246
  70. package/dist/memory/thread-store.d.ts +3 -3
  71. package/dist/memory/thread-store.js +7 -2
  72. package/dist/memory/tool-call-integrity.d.ts +15 -21
  73. package/dist/memory/tool-call-integrity.js +31 -38
  74. package/dist/memory/working-memory.d.ts +2 -5
  75. package/dist/memory/working-memory.js +2 -5
  76. package/dist/prompts/SOUL.d.ts +2 -2
  77. package/dist/prompts/SOUL.js +2 -7
  78. package/dist/prompts/analogical-reasoner.d.ts +1 -1
  79. package/dist/prompts/analogical-reasoner.js +16 -32
  80. package/dist/prompts/briefing.js +1 -1
  81. package/dist/prompts/compaction.d.ts +4 -0
  82. package/dist/prompts/compaction.js +24 -0
  83. package/dist/prompts/conversation.d.ts +1 -1
  84. package/dist/prompts/conversation.js +26 -35
  85. package/dist/prompts/execute-analysis/step-summary.js +7 -5
  86. package/dist/prompts/literature-reviewer.d.ts +1 -1
  87. package/dist/prompts/literature-reviewer.js +29 -34
  88. package/dist/prompts/planner.js +15 -29
  89. package/dist/prompts/report-session.d.ts +1 -1
  90. package/dist/prompts/report-session.js +2 -33
  91. package/dist/prompts/sandbox/bulk-transcriptomics-agent.d.ts +1 -1
  92. package/dist/prompts/sandbox/bulk-transcriptomics-agent.js +1 -2
  93. package/dist/prompts/sandbox/cheminformatics-agent.d.ts +1 -1
  94. package/dist/prompts/sandbox/cheminformatics-agent.js +10 -29
  95. package/dist/prompts/sandbox/chromatin-agent.d.ts +1 -1
  96. package/dist/prompts/sandbox/chromatin-agent.js +1 -2
  97. package/dist/prompts/sandbox/data-profiler.js +6 -3
  98. package/dist/prompts/sandbox/dna-methylation-agent.d.ts +1 -1
  99. package/dist/prompts/sandbox/dna-methylation-agent.js +2 -7
  100. package/dist/prompts/sandbox/drug-repurposing-agent.d.ts +1 -1
  101. package/dist/prompts/sandbox/drug-repurposing-agent.js +20 -24
  102. package/dist/prompts/sandbox/enrichment-agent.d.ts +1 -1
  103. package/dist/prompts/sandbox/enrichment-agent.js +3 -2
  104. package/dist/prompts/sandbox/genomic-variant-agent.d.ts +1 -1
  105. package/dist/prompts/sandbox/genomic-variant-agent.js +0 -2
  106. package/dist/prompts/sandbox/immune-profiling-agent.d.ts +1 -1
  107. package/dist/prompts/sandbox/immune-profiling-agent.js +7 -14
  108. package/dist/prompts/sandbox/metabolomics-agent.d.ts +1 -1
  109. package/dist/prompts/sandbox/metabolomics-agent.js +0 -2
  110. package/dist/prompts/sandbox/microbiome-agent.d.ts +1 -1
  111. package/dist/prompts/sandbox/microbiome-agent.js +14 -21
  112. package/dist/prompts/sandbox/multi-omics-integration-agent.d.ts +1 -1
  113. package/dist/prompts/sandbox/multi-omics-integration-agent.js +9 -19
  114. package/dist/prompts/sandbox/multimodal-sc-agent.d.ts +1 -1
  115. package/dist/prompts/sandbox/multimodal-sc-agent.js +4 -5
  116. package/dist/prompts/sandbox/network-agent.d.ts +1 -1
  117. package/dist/prompts/sandbox/network-agent.js +7 -8
  118. package/dist/prompts/sandbox/pkpd-clinical-response-agent.d.ts +1 -1
  119. package/dist/prompts/sandbox/pkpd-clinical-response-agent.js +19 -19
  120. package/dist/prompts/sandbox/proteomics-agent.d.ts +1 -1
  121. package/dist/prompts/sandbox/proteomics-agent.js +3 -4
  122. package/dist/prompts/sandbox/scientific-executor.d.ts +1 -1
  123. package/dist/prompts/sandbox/scientific-executor.js +7 -10
  124. package/dist/prompts/sandbox/single-cell-agent.d.ts +1 -1
  125. package/dist/prompts/sandbox/single-cell-agent.js +2 -4
  126. package/dist/prompts/sandbox/spatial-omics-agent.d.ts +1 -1
  127. package/dist/prompts/sandbox/spatial-omics-agent.js +3 -5
  128. package/dist/prompts/sandbox/statistical-modeling-agent.d.ts +1 -1
  129. package/dist/prompts/sandbox/statistical-modeling-agent.js +1 -1
  130. package/dist/prompts/sandbox/translational-safety-agent.d.ts +1 -1
  131. package/dist/prompts/sandbox/translational-safety-agent.js +10 -19
  132. package/dist/prompts/sandbox-standards.d.ts +7 -7
  133. package/dist/prompts/sandbox-standards.js +74 -76
  134. package/dist/prompts/synthesis-agent.d.ts +1 -1
  135. package/dist/prompts/synthesis-agent.js +16 -42
  136. package/dist/providers/ai-sdk.d.ts +39 -6
  137. package/dist/providers/ai-sdk.js +117 -18
  138. package/dist/providers/errors.d.ts +2 -0
  139. package/dist/providers/errors.js +5 -0
  140. package/dist/providers/prompt-cache.d.ts +43 -41
  141. package/dist/providers/prompt-cache.js +47 -41
  142. package/dist/providers/reasoning.d.ts +10 -21
  143. package/dist/providers/reasoning.js +10 -21
  144. package/dist/providers/types.d.ts +21 -5
  145. package/dist/report-model/authoring-grammar.d.ts +2 -2
  146. package/dist/report-model/pin-snapshot.js +4 -10
  147. package/dist/runtime/assemble.d.ts +9 -7
  148. package/dist/runtime/assemble.js +7 -3
  149. package/dist/sandbox/create-sandbox.d.ts +2 -2
  150. package/dist/sandbox/submit-exec.d.ts +1 -1
  151. package/dist/schemas/artifact-manifest.d.ts +4 -4
  152. package/dist/state/artifacts.d.ts +11 -9
  153. package/dist/state/artifacts.js +112 -93
  154. package/dist/state/data-profile.d.ts +2 -2
  155. package/dist/state/data-profile.js +2 -2
  156. package/dist/state/init.js +39 -4
  157. package/dist/state/purge-analysis.js +4 -0
  158. package/dist/state/tool-outputs.d.ts +4 -0
  159. package/dist/state/tool-outputs.js +30 -0
  160. package/dist/tasks/data-profile.d.ts +31 -10
  161. package/dist/tasks/data-profile.js +116 -95
  162. package/dist/tools/ad-hoc-router.d.ts +8 -0
  163. package/dist/tools/ad-hoc-router.js +21 -2
  164. package/dist/tools/display/show-user.d.ts +1 -1
  165. package/dist/tools/execute-analysis.d.ts +3 -0
  166. package/dist/tools/execute-analysis.js +9 -1
  167. package/dist/tools/read-tool-output.d.ts +7 -0
  168. package/dist/tools/read-tool-output.js +130 -0
  169. package/dist/tools/research/generate-analogy-report.d.ts +10 -26
  170. package/dist/tools/research/generate-analogy-report.js +76 -163
  171. package/dist/tools/research/generate-plan.d.ts +3 -0
  172. package/dist/tools/research/generate-plan.js +4 -1
  173. package/dist/tools/research/literature-reviewer.d.ts +3 -0
  174. package/dist/tools/research/literature-reviewer.js +3 -0
  175. package/dist/tools/sandbox/report-blocker.d.ts +18 -5
  176. package/dist/tools/sandbox/report-blocker.js +54 -6
  177. package/dist/tools/sandbox/submit-file-metadata.d.ts +30 -0
  178. package/dist/tools/sandbox/submit-file-metadata.js +67 -0
  179. package/dist/tools/start-report-session.d.ts +1 -3
  180. package/dist/tools/start-report-session.js +0 -2
  181. package/dist/tools/workspace/execute-command.js +7 -4
  182. package/dist/tools/workspace/result-bounds.d.ts +4 -4
  183. package/dist/tools/workspace/result-bounds.js +6 -5
  184. package/dist/tools/workspace/workspace-search.d.ts +1 -1
  185. package/dist/workflows/execute-analysis.d.ts +3 -0
  186. package/dist/workflows/execute-analysis.js +6 -3
  187. package/dist/workflows/sandbox-step.d.ts +30 -9
  188. package/dist/workflows/sandbox-step.js +37 -8
  189. package/package.json +9 -9
  190. package/dist/providers/anthropic.d.ts +0 -25
  191. package/dist/providers/anthropic.js +0 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inflexa-ai/harness",
3
- "version": "0.39.1",
3
+ "version": "0.40.0",
4
4
  "description": "Host-agnostic bioinformatics agent harness — hand-rolled agent loop, DBOS-durable workflows, sandboxed compute.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -47,12 +47,12 @@
47
47
  "typecheck": "tsc --noEmit"
48
48
  },
49
49
  "dependencies": {
50
- "@ai-sdk/anthropic": "^4.0.53",
51
- "@ai-sdk/openai": "^4.0.66",
52
- "@ai-sdk/openai-compatible": "^3.0.48",
53
- "@ai-sdk/otel": "^1.0.99",
54
- "@ai-sdk/provider": "^4.0.14",
55
- "@ai-sdk/provider-utils": "5.0.40",
50
+ "@ai-sdk/anthropic": "^4.0.62",
51
+ "@ai-sdk/openai": "^4.0.74",
52
+ "@ai-sdk/openai-compatible": "^3.0.55",
53
+ "@ai-sdk/otel": "^1.0.113",
54
+ "@ai-sdk/provider": "^4.0.18",
55
+ "@ai-sdk/provider-utils": "5.0.47",
56
56
  "@anthropic-ai/sdk": "^0.116.0",
57
57
  "@dbos-inc/dbos-sdk": "^4.23.6",
58
58
  "@fontsource-variable/space-grotesk": "5.1.1",
@@ -69,7 +69,7 @@
69
69
  "@opentelemetry/sdk-trace-node": "^2.9.0",
70
70
  "@opentelemetry/semantic-conventions": "^1.43.0",
71
71
  "ag-grid-community": "36.1.0",
72
- "ai": "^7.0.99",
72
+ "ai": "^7.0.113",
73
73
  "cheerio": "^1.2.0",
74
74
  "dockerode": "^4.0.12",
75
75
  "echarts": "6.1.0",
@@ -95,7 +95,7 @@
95
95
  "uuid": "^11.1.1"
96
96
  },
97
97
  "devDependencies": {
98
- "@ai-sdk/amazon-bedrock": "^5.0.82",
98
+ "@ai-sdk/amazon-bedrock": "^5.0.93",
99
99
  "@eslint/js": "^10.0.1",
100
100
  "@types/bun": "latest",
101
101
  "@types/dockerode": "^3.3.47",
@@ -1,25 +0,0 @@
1
- /**
2
- * Compatibility entry point for Anthropic-backed chat.
3
- *
4
- * The production provider path is AI SDK-backed; this wrapper preserves the
5
- * old factory name for embedders while returning the new `ChatProvider` seam.
6
- */
7
- import type { Logger } from "../lib/logger.js";
8
- import { type ProviderHostPolicy } from "./ai-sdk.js";
9
- import type { ChatProvider, FetchLike } from "./types.js";
10
- export interface AnthropicProviderDeps extends ProviderHostPolicy {
11
- readonly baseURL?: string;
12
- readonly token: string;
13
- readonly model: string;
14
- readonly fetch?: FetchLike;
15
- readonly logger?: Logger;
16
- /** Output-token ceiling per request. Defaults to `DEFAULT_MAX_OUTPUT_TOKENS`. */
17
- readonly maxOutputTokens?: number;
18
- }
19
- /**
20
- * Convenience over the `anthropic` arm of the public `AiSdkProviderConfig`
21
- * union: it takes the Anthropic connection fields directly (`token` as the api
22
- * key) and delegates to `createConfiguredAiSdkProvider`. The same construction
23
- * contract holds — the `model` is bound into the returned provider.
24
- */
25
- export declare function createAnthropicProvider(deps: AnthropicProviderDeps): ChatProvider;
@@ -1,28 +0,0 @@
1
- /**
2
- * Compatibility entry point for Anthropic-backed chat.
3
- *
4
- * The production provider path is AI SDK-backed; this wrapper preserves the
5
- * old factory name for embedders while returning the new `ChatProvider` seam.
6
- */
7
- import { createConfiguredAiSdkProvider, hostPolicyOf } from "./ai-sdk.js";
8
- /**
9
- * Convenience over the `anthropic` arm of the public `AiSdkProviderConfig`
10
- * union: it takes the Anthropic connection fields directly (`token` as the api
11
- * key) and delegates to `createConfiguredAiSdkProvider`. The same construction
12
- * contract holds — the `model` is bound into the returned provider.
13
- */
14
- export function createAnthropicProvider(deps) {
15
- return createConfiguredAiSdkProvider({
16
- ...hostPolicyOf(deps),
17
- logger: deps.logger,
18
- config: {
19
- kind: "anthropic",
20
- baseURL: deps.baseURL,
21
- apiKey: deps.token,
22
- model: deps.model,
23
- fetch: deps.fetch,
24
- capabilities: { toolCalling: true },
25
- ...(deps.maxOutputTokens !== undefined ? { maxOutputTokens: deps.maxOutputTokens } : {}),
26
- },
27
- });
28
- }