nexus-ai-pro 1.14.0 → 1.16.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 (639) hide show
  1. package/API_STABILITY.md +61 -4
  2. package/CHANGELOG.md +132 -1
  3. package/README.md +336 -72
  4. package/dist/agent/create-agent.d.ts +35 -0
  5. package/dist/agent/create-agent.js +0 -19
  6. package/dist/agent/loop.d.ts +7 -0
  7. package/dist/agent/loop.js +0 -3
  8. package/dist/agent/middleware.d.ts +2 -0
  9. package/dist/agent/middleware.js +0 -19
  10. package/dist/agent/tool.d.ts +6 -0
  11. package/dist/batch/anthropic.d.ts +14 -0
  12. package/dist/batch/anthropic.js +0 -14
  13. package/dist/batch/errors.d.ts +23 -3
  14. package/dist/batch/manager.d.ts +8 -0
  15. package/dist/batch/manager.js +0 -37
  16. package/dist/batch/mock.d.ts +9 -0
  17. package/dist/batch/mock.js +0 -8
  18. package/dist/batch/openai.d.ts +11 -0
  19. package/dist/batch/openai.js +0 -8
  20. package/dist/cache/adapters.d.ts +31 -0
  21. package/dist/cache/memory-cache.d.ts +14 -0
  22. package/dist/cache/semantic-cache.d.ts +15 -0
  23. package/dist/capabilities/negotiate.d.ts +9 -0
  24. package/dist/capabilities/negotiate.js +0 -14
  25. package/dist/cli/args.d.ts +26 -0
  26. package/dist/cli/args.js +96 -0
  27. package/dist/cli/db.d.ts +8 -0
  28. package/dist/cli/db.js +17 -0
  29. package/dist/cli/evaluation.d.ts +8 -0
  30. package/dist/cli/evaluation.js +142 -0
  31. package/dist/cli/traces.d.ts +8 -0
  32. package/dist/cli/traces.js +89 -0
  33. package/dist/cli.js +36 -66
  34. package/dist/connectors/web.d.ts +9 -0
  35. package/dist/context/window.d.ts +8 -0
  36. package/dist/core/config-builder.js +0 -47
  37. package/dist/core/create-nexus.d.ts +13 -0
  38. package/dist/core/create-nexus.js +0 -18
  39. package/dist/core/nexus.d.ts +26 -0
  40. package/dist/core/nexus.js +17 -170
  41. package/dist/core/response-format.d.ts +1 -0
  42. package/dist/core/secure-stream.js +0 -6
  43. package/dist/core/streaming.d.ts +3 -0
  44. package/dist/core/usage.d.ts +14 -0
  45. package/dist/core/usage.js +0 -20
  46. package/dist/embeddings/adapters.d.ts +12 -0
  47. package/dist/embeddings/adapters.js +0 -17
  48. package/dist/embeddings/errors.d.ts +33 -4
  49. package/dist/embeddings/errors.js +0 -7
  50. package/dist/embeddings/manager.d.ts +3 -0
  51. package/dist/embeddings/manager.js +0 -51
  52. package/dist/embeddings/mock.d.ts +7 -0
  53. package/dist/embeddings/mock.js +0 -10
  54. package/dist/embeddings/models.d.ts +15 -0
  55. package/dist/embeddings/models.js +0 -44
  56. package/dist/embeddings/providers.d.ts +26 -0
  57. package/dist/embeddings/providers.js +0 -7
  58. package/dist/embeddings/register.js +0 -7
  59. package/dist/evals/index.d.ts +1 -1
  60. package/dist/evals/judge.d.ts +47 -0
  61. package/dist/evals/metrics.d.ts +89 -0
  62. package/dist/evals/runner.d.ts +72 -1
  63. package/dist/evals/runner.js +84 -32
  64. package/dist/evaluate/compare.d.ts +86 -0
  65. package/dist/evaluate/compare.js +135 -0
  66. package/dist/evaluate/datasets.d.ts +123 -0
  67. package/dist/evaluate/datasets.js +157 -0
  68. package/dist/evaluate/evaluators.d.ts +82 -0
  69. package/dist/evaluate/evaluators.js +168 -0
  70. package/dist/evaluate/index.d.ts +6 -0
  71. package/dist/evaluate/index.js +5 -0
  72. package/dist/evaluate/review.d.ts +138 -0
  73. package/dist/evaluate/review.js +144 -0
  74. package/dist/evaluate/run.d.ts +55 -0
  75. package/dist/evaluate/run.js +183 -0
  76. package/dist/evaluate/version.d.ts +8 -0
  77. package/dist/evaluate/version.js +8 -0
  78. package/dist/graph/channels.js +0 -12
  79. package/dist/graph/checkpointer.d.ts +13 -0
  80. package/dist/graph/checkpointer.js +0 -29
  81. package/dist/graph/errors.d.ts +60 -7
  82. package/dist/graph/errors.js +1 -29
  83. package/dist/graph/graph.d.ts +53 -12
  84. package/dist/graph/graph.js +83 -158
  85. package/dist/graph/index.d.ts +1 -1
  86. package/dist/graph/node-cache.d.ts +16 -0
  87. package/dist/graph/node-cache.js +107 -0
  88. package/dist/graph/visualize.d.ts +1 -0
  89. package/dist/graph/visualize.js +0 -14
  90. package/dist/hallucination/consistency.d.ts +14 -0
  91. package/dist/hallucination/factual.d.ts +11 -0
  92. package/dist/hallucination/knowledge-graph.d.ts +35 -0
  93. package/dist/hallucination/rag.d.ts +21 -0
  94. package/dist/hallucination/retrieval.d.ts +21 -0
  95. package/dist/hallucination/verification.d.ts +32 -0
  96. package/dist/images/asset-stores.d.ts +45 -0
  97. package/dist/images/asset-stores.js +0 -32
  98. package/dist/images/asset-support.d.ts +80 -2
  99. package/dist/images/assets.d.ts +13 -0
  100. package/dist/images/assets.js +0 -8
  101. package/dist/images/codec.d.ts +4 -0
  102. package/dist/images/codec.js +0 -9
  103. package/dist/images/comfyui.d.ts +27 -0
  104. package/dist/images/comfyui.js +0 -20
  105. package/dist/images/errors.d.ts +39 -5
  106. package/dist/images/evals.d.ts +89 -1
  107. package/dist/images/evals.js +80 -20
  108. package/dist/images/google.d.ts +12 -0
  109. package/dist/images/google.js +0 -15
  110. package/dist/images/image-header.d.ts +6 -0
  111. package/dist/images/image-header.js +0 -17
  112. package/dist/images/inputs.d.ts +15 -1
  113. package/dist/images/inputs.js +0 -18
  114. package/dist/images/manager.d.ts +13 -0
  115. package/dist/images/manager.js +0 -12
  116. package/dist/images/mock.d.ts +10 -0
  117. package/dist/images/mock.js +0 -1
  118. package/dist/images/moderation.d.ts +6 -0
  119. package/dist/images/moderation.js +0 -15
  120. package/dist/images/openai.d.ts +33 -1
  121. package/dist/images/openai.js +0 -10
  122. package/dist/images/transform.d.ts +17 -0
  123. package/dist/images/transform.js +0 -20
  124. package/dist/index.d.ts +3 -3
  125. package/dist/index.js +1 -1
  126. package/dist/jobs/batch.d.ts +12 -0
  127. package/dist/jobs/durable-adapters.d.ts +24 -0
  128. package/dist/jobs/queue.d.ts +17 -0
  129. package/dist/mcp/client.d.ts +37 -0
  130. package/dist/mcp/client.js +0 -32
  131. package/dist/mcp/protocol.d.ts +30 -1
  132. package/dist/mcp/protocol.js +0 -16
  133. package/dist/mcp/server.d.ts +7 -0
  134. package/dist/mcp/server.js +0 -17
  135. package/dist/models/registry.d.ts +25 -0
  136. package/dist/models/registry.js +0 -26
  137. package/dist/next/route-handler.d.ts +4 -0
  138. package/dist/operations/adapters.d.ts +26 -0
  139. package/dist/operations/adapters.js +1 -16
  140. package/dist/operations/errors.d.ts +72 -8
  141. package/dist/operations/errors.js +8 -19
  142. package/dist/operations/handle.d.ts +15 -1
  143. package/dist/operations/handle.js +0 -29
  144. package/dist/operations/index.d.ts +1 -1
  145. package/dist/operations/index.js +1 -1
  146. package/dist/operations/runner.js +12 -55
  147. package/dist/operations/serialization.d.ts +10 -0
  148. package/dist/operations/serialization.js +50 -0
  149. package/dist/operations/state-machine.d.ts +2 -0
  150. package/dist/operations/state-machine.js +0 -18
  151. package/dist/operations/store.d.ts +17 -9
  152. package/dist/operations/store.js +2 -65
  153. package/dist/operations/webhooks.d.ts +2 -0
  154. package/dist/operations/webhooks.js +0 -23
  155. package/dist/ops/audit-logger.d.ts +2 -0
  156. package/dist/ops/circuit-breaker.d.ts +120 -5
  157. package/dist/ops/circuit-breaker.js +52 -25
  158. package/dist/ops/circuit-store.d.ts +83 -0
  159. package/dist/ops/circuit-store.js +89 -0
  160. package/dist/ops/circuit-sync.d.ts +57 -0
  161. package/dist/ops/circuit-sync.js +122 -0
  162. package/dist/ops/family-telemetry.d.ts +10 -0
  163. package/dist/ops/family-telemetry.js +0 -12
  164. package/dist/ops/health.d.ts +28 -0
  165. package/dist/ops/metrics.d.ts +39 -0
  166. package/dist/ops/otel-tracing.d.ts +9 -0
  167. package/dist/ops/rate-limit-adapters.d.ts +13 -0
  168. package/dist/ops/rate-limit-adapters.js +0 -11
  169. package/dist/ops/rate-limiter.d.ts +12 -1
  170. package/dist/ops/rate-limiter.js +1 -11
  171. package/dist/optimizer/budget.d.ts +17 -1
  172. package/dist/optimizer/cost-budget.d.ts +2 -0
  173. package/dist/optimizer/cost-budget.js +0 -13
  174. package/dist/optimizer/cost.d.ts +9 -0
  175. package/dist/optimizer/cost.js +0 -15
  176. package/dist/optimizer/densifier.d.ts +6 -0
  177. package/dist/optimizer/index.d.ts +2 -0
  178. package/dist/pipeline/pipeline.d.ts +10 -0
  179. package/dist/pipeline/types.d.ts +46 -0
  180. package/dist/postgres/circuits.d.ts +38 -0
  181. package/dist/postgres/circuits.js +46 -0
  182. package/dist/postgres/client.d.ts +43 -0
  183. package/dist/postgres/client.js +31 -0
  184. package/dist/postgres/evaluate.d.ts +53 -0
  185. package/dist/postgres/evaluate.js +96 -0
  186. package/dist/postgres/index.d.ts +22 -0
  187. package/dist/postgres/index.js +24 -0
  188. package/dist/postgres/operations.d.ts +59 -0
  189. package/dist/postgres/operations.js +113 -0
  190. package/dist/postgres/sql.d.ts +23 -0
  191. package/dist/postgres/sql.js +29 -0
  192. package/dist/postgres/store.d.ts +55 -0
  193. package/dist/postgres/store.js +144 -0
  194. package/dist/postgres/traces.d.ts +37 -0
  195. package/dist/postgres/traces.js +117 -0
  196. package/dist/providers/anthropic.d.ts +4 -0
  197. package/dist/providers/anthropic.js +0 -31
  198. package/dist/providers/azure-openai.js +0 -3
  199. package/dist/providers/base.d.ts +10 -0
  200. package/dist/providers/base.js +0 -1
  201. package/dist/providers/cohere.d.ts +5 -0
  202. package/dist/providers/deepseek.js +0 -3
  203. package/dist/providers/errors.d.ts +33 -0
  204. package/dist/providers/google.d.ts +4 -0
  205. package/dist/providers/google.js +0 -14
  206. package/dist/providers/groq.d.ts +4 -0
  207. package/dist/providers/llamacpp.js +0 -3
  208. package/dist/providers/lmstudio.js +0 -3
  209. package/dist/providers/mistral.d.ts +4 -0
  210. package/dist/providers/ollama.d.ts +4 -0
  211. package/dist/providers/ollama.js +0 -1
  212. package/dist/providers/openai.d.ts +4 -0
  213. package/dist/providers/openai.js +0 -23
  214. package/dist/providers/openrouter.d.ts +4 -0
  215. package/dist/providers/type-guards.d.ts +8 -0
  216. package/dist/rag/file-ingestion.d.ts +15 -0
  217. package/dist/rag/ingestion.d.ts +15 -0
  218. package/dist/realtime/conversation.d.ts +21 -0
  219. package/dist/realtime/errors.d.ts +25 -0
  220. package/dist/realtime/events.d.ts +7 -0
  221. package/dist/realtime/id.d.ts +5 -0
  222. package/dist/realtime/mock.transport.d.ts +27 -0
  223. package/dist/realtime/mock.transport.js +0 -4
  224. package/dist/realtime/openai-events.d.ts +3 -0
  225. package/dist/realtime/openai-server.d.ts +30 -0
  226. package/dist/realtime/openai-webrtc.transport.d.ts +108 -0
  227. package/dist/realtime/openai-webrtc.transport.js +0 -7
  228. package/dist/realtime/openai-websocket.transport.d.ts +46 -0
  229. package/dist/realtime/openai-websocket.transport.js +0 -2
  230. package/dist/realtime/provider.d.ts +30 -0
  231. package/dist/realtime/session.d.ts +44 -0
  232. package/dist/realtime/session.js +0 -3
  233. package/dist/realtime/tools.d.ts +25 -0
  234. package/dist/realtime/transport-utils.js +0 -1
  235. package/dist/realtime/types.d.ts +394 -0
  236. package/dist/router/auto-router.d.ts +5 -0
  237. package/dist/router/auto-router.js +3 -10
  238. package/dist/router/failover.d.ts +15 -0
  239. package/dist/router/failover.js +34 -13
  240. package/dist/router/index.d.ts +7 -1
  241. package/dist/router/index.js +40 -0
  242. package/dist/router/types.d.ts +27 -4
  243. package/dist/security/index.d.ts +17 -0
  244. package/dist/security/index.js +0 -1
  245. package/dist/security/injection-calibration.d.ts +17 -0
  246. package/dist/security/injection-detector.d.ts +3 -0
  247. package/dist/security/input-guard.d.ts +2 -0
  248. package/dist/security/output-guard.d.ts +2 -0
  249. package/dist/security/output-guard.js +0 -10
  250. package/dist/security/pii-detector.d.ts +3 -0
  251. package/dist/security/policies.d.ts +3 -0
  252. package/dist/security/prompt-hardening.d.ts +4 -0
  253. package/dist/security/schema-validator.d.ts +2 -0
  254. package/dist/security/semantic-injection-classifier.d.ts +6 -0
  255. package/dist/security/upload-scanner.d.ts +28 -0
  256. package/dist/store/helpers.d.ts +8 -0
  257. package/dist/store/helpers.js +53 -0
  258. package/dist/store/memory.d.ts +11 -6
  259. package/dist/store/memory.js +2 -64
  260. package/dist/store/redis.d.ts +17 -0
  261. package/dist/store/redis.js +1 -10
  262. package/dist/telephony/errors.d.ts +9 -1
  263. package/dist/telephony/manager.d.ts +17 -0
  264. package/dist/telephony/providers/twilio.d.ts +25 -0
  265. package/dist/telephony/providers/twilio.js +0 -3
  266. package/dist/telephony/realtime-bridge.d.ts +11 -0
  267. package/dist/telephony/realtime-bridge.js +0 -19
  268. package/dist/telephony/twiml.d.ts +3 -0
  269. package/dist/testing/embedding-provider-conformance.d.ts +17 -0
  270. package/dist/testing/embedding-provider-conformance.js +0 -7
  271. package/dist/testing/image-provider-conformance.d.ts +29 -0
  272. package/dist/testing/image-provider-conformance.js +0 -1
  273. package/dist/testing/provider-conformance.d.ts +24 -0
  274. package/dist/testing/record.d.ts +141 -0
  275. package/dist/testing/record.js +211 -0
  276. package/dist/tracing/alerts.d.ts +19 -0
  277. package/dist/tracing/alerts.js +0 -9
  278. package/dist/tracing/compare.d.ts +10 -0
  279. package/dist/tracing/compare.js +0 -10
  280. package/dist/tracing/instrument.d.ts +9 -0
  281. package/dist/tracing/instrument.js +0 -16
  282. package/dist/tracing/query.d.ts +6 -0
  283. package/dist/tracing/query.js +60 -0
  284. package/dist/tracing/stores.d.ts +22 -3
  285. package/dist/tracing/stores.js +2 -77
  286. package/dist/tracing/tracer.d.ts +29 -0
  287. package/dist/tracing/tracer.js +0 -13
  288. package/dist/types/agent.d.ts +31 -0
  289. package/dist/types/batch.d.ts +55 -0
  290. package/dist/types/capabilities.d.ts +9 -0
  291. package/dist/types/config.d.ts +197 -0
  292. package/dist/types/context-window.d.ts +62 -0
  293. package/dist/types/embeddings.d.ts +97 -0
  294. package/dist/types/evaluate.d.ts +172 -0
  295. package/dist/types/evaluate.js +1 -0
  296. package/dist/types/graph.d.ts +137 -3
  297. package/dist/types/graph.js +0 -30
  298. package/dist/types/images.d.ts +178 -0
  299. package/dist/types/messages.d.ts +70 -0
  300. package/dist/types/operations.d.ts +84 -0
  301. package/dist/types/operations.js +0 -8
  302. package/dist/types/optimizer.d.ts +31 -0
  303. package/dist/types/planning.d.ts +29 -0
  304. package/dist/types/providers.d.ts +49 -0
  305. package/dist/types/providers.js +0 -40
  306. package/dist/types/response.d.ts +55 -0
  307. package/dist/types/security.d.ts +35 -0
  308. package/dist/types/store.d.ts +17 -0
  309. package/dist/types/store.js +0 -8
  310. package/dist/types/telephony.d.ts +216 -0
  311. package/dist/types/tracing.d.ts +53 -0
  312. package/dist/types/tracing.js +0 -9
  313. package/dist/types/voice.d.ts +170 -0
  314. package/dist/utils/safe-fetch.js +8 -38
  315. package/dist/utils/tokenizer.d.ts +7 -0
  316. package/dist/voice/errors.d.ts +9 -1
  317. package/dist/voice/manager.d.ts +16 -0
  318. package/dist/voice/providers/openai.d.ts +13 -0
  319. package/dist/voice/session.d.ts +16 -0
  320. package/dist/workflow/chains.d.ts +53 -0
  321. package/dist/workflow/domain.d.ts +28 -0
  322. package/dist-cjs/agent/create-agent.d.ts +35 -0
  323. package/dist-cjs/agent/create-agent.js +0 -19
  324. package/dist-cjs/agent/loop.d.ts +7 -0
  325. package/dist-cjs/agent/loop.js +0 -3
  326. package/dist-cjs/agent/middleware.d.ts +2 -0
  327. package/dist-cjs/agent/middleware.js +0 -19
  328. package/dist-cjs/agent/tool.d.ts +6 -0
  329. package/dist-cjs/batch/anthropic.d.ts +14 -0
  330. package/dist-cjs/batch/anthropic.js +0 -14
  331. package/dist-cjs/batch/errors.d.ts +23 -3
  332. package/dist-cjs/batch/manager.d.ts +8 -0
  333. package/dist-cjs/batch/manager.js +0 -37
  334. package/dist-cjs/batch/mock.d.ts +9 -0
  335. package/dist-cjs/batch/mock.js +0 -8
  336. package/dist-cjs/batch/openai.d.ts +11 -0
  337. package/dist-cjs/batch/openai.js +0 -8
  338. package/dist-cjs/cache/adapters.d.ts +31 -0
  339. package/dist-cjs/cache/memory-cache.d.ts +14 -0
  340. package/dist-cjs/cache/semantic-cache.d.ts +15 -0
  341. package/dist-cjs/capabilities/negotiate.d.ts +9 -0
  342. package/dist-cjs/capabilities/negotiate.js +0 -14
  343. package/dist-cjs/cli/args.d.ts +26 -0
  344. package/dist-cjs/cli/args.js +145 -0
  345. package/dist-cjs/cli/db.d.ts +8 -0
  346. package/dist-cjs/cli/db.js +20 -0
  347. package/dist-cjs/cli/evaluation.d.ts +8 -0
  348. package/dist-cjs/cli/evaluation.js +148 -0
  349. package/dist-cjs/cli/traces.d.ts +8 -0
  350. package/dist-cjs/cli/traces.js +95 -0
  351. package/dist-cjs/connectors/web.d.ts +9 -0
  352. package/dist-cjs/context/window.d.ts +8 -0
  353. package/dist-cjs/core/config-builder.js +0 -47
  354. package/dist-cjs/core/create-nexus.d.ts +13 -0
  355. package/dist-cjs/core/create-nexus.js +0 -18
  356. package/dist-cjs/core/nexus.d.ts +26 -0
  357. package/dist-cjs/core/nexus.js +17 -170
  358. package/dist-cjs/core/response-format.d.ts +1 -0
  359. package/dist-cjs/core/secure-stream.js +0 -6
  360. package/dist-cjs/core/streaming.d.ts +3 -0
  361. package/dist-cjs/core/usage.d.ts +14 -0
  362. package/dist-cjs/core/usage.js +0 -20
  363. package/dist-cjs/embeddings/adapters.d.ts +12 -0
  364. package/dist-cjs/embeddings/adapters.js +0 -17
  365. package/dist-cjs/embeddings/errors.d.ts +33 -4
  366. package/dist-cjs/embeddings/errors.js +0 -7
  367. package/dist-cjs/embeddings/manager.d.ts +3 -0
  368. package/dist-cjs/embeddings/manager.js +0 -51
  369. package/dist-cjs/embeddings/mock.d.ts +7 -0
  370. package/dist-cjs/embeddings/mock.js +0 -10
  371. package/dist-cjs/embeddings/models.d.ts +15 -0
  372. package/dist-cjs/embeddings/models.js +0 -44
  373. package/dist-cjs/embeddings/providers.d.ts +26 -0
  374. package/dist-cjs/embeddings/providers.js +0 -7
  375. package/dist-cjs/embeddings/register.js +0 -7
  376. package/dist-cjs/evals/index.d.ts +1 -1
  377. package/dist-cjs/evals/judge.d.ts +47 -0
  378. package/dist-cjs/evals/metrics.d.ts +89 -0
  379. package/dist-cjs/evals/runner.d.ts +72 -1
  380. package/dist-cjs/evals/runner.js +117 -32
  381. package/dist-cjs/evaluate/compare.d.ts +86 -0
  382. package/dist-cjs/evaluate/compare.js +140 -0
  383. package/dist-cjs/evaluate/datasets.d.ts +123 -0
  384. package/dist-cjs/evaluate/datasets.js +204 -0
  385. package/dist-cjs/evaluate/evaluators.d.ts +82 -0
  386. package/dist-cjs/evaluate/evaluators.js +181 -0
  387. package/dist-cjs/evaluate/index.d.ts +6 -0
  388. package/dist-cjs/evaluate/index.js +36 -0
  389. package/dist-cjs/evaluate/review.d.ts +138 -0
  390. package/dist-cjs/evaluate/review.js +149 -0
  391. package/dist-cjs/evaluate/run.d.ts +55 -0
  392. package/dist-cjs/evaluate/run.js +188 -0
  393. package/dist-cjs/evaluate/version.d.ts +8 -0
  394. package/dist-cjs/evaluate/version.js +11 -0
  395. package/dist-cjs/graph/channels.js +0 -12
  396. package/dist-cjs/graph/checkpointer.d.ts +13 -0
  397. package/dist-cjs/graph/checkpointer.js +0 -29
  398. package/dist-cjs/graph/errors.d.ts +60 -7
  399. package/dist-cjs/graph/errors.js +1 -29
  400. package/dist-cjs/graph/graph.d.ts +53 -12
  401. package/dist-cjs/graph/graph.js +116 -158
  402. package/dist-cjs/graph/index.d.ts +1 -1
  403. package/dist-cjs/graph/node-cache.d.ts +16 -0
  404. package/dist-cjs/graph/node-cache.js +111 -0
  405. package/dist-cjs/graph/visualize.d.ts +1 -0
  406. package/dist-cjs/graph/visualize.js +0 -14
  407. package/dist-cjs/hallucination/consistency.d.ts +14 -0
  408. package/dist-cjs/hallucination/factual.d.ts +11 -0
  409. package/dist-cjs/hallucination/knowledge-graph.d.ts +35 -0
  410. package/dist-cjs/hallucination/rag.d.ts +21 -0
  411. package/dist-cjs/hallucination/retrieval.d.ts +21 -0
  412. package/dist-cjs/hallucination/verification.d.ts +32 -0
  413. package/dist-cjs/images/asset-stores.d.ts +45 -0
  414. package/dist-cjs/images/asset-stores.js +0 -32
  415. package/dist-cjs/images/asset-support.d.ts +80 -2
  416. package/dist-cjs/images/assets.d.ts +13 -0
  417. package/dist-cjs/images/assets.js +0 -8
  418. package/dist-cjs/images/codec.d.ts +4 -0
  419. package/dist-cjs/images/codec.js +0 -9
  420. package/dist-cjs/images/comfyui.d.ts +27 -0
  421. package/dist-cjs/images/comfyui.js +0 -20
  422. package/dist-cjs/images/errors.d.ts +39 -5
  423. package/dist-cjs/images/evals.d.ts +89 -1
  424. package/dist-cjs/images/evals.js +80 -20
  425. package/dist-cjs/images/google.d.ts +12 -0
  426. package/dist-cjs/images/google.js +0 -15
  427. package/dist-cjs/images/image-header.d.ts +6 -0
  428. package/dist-cjs/images/image-header.js +0 -17
  429. package/dist-cjs/images/inputs.d.ts +15 -1
  430. package/dist-cjs/images/inputs.js +0 -18
  431. package/dist-cjs/images/manager.d.ts +13 -0
  432. package/dist-cjs/images/manager.js +0 -12
  433. package/dist-cjs/images/mock.d.ts +10 -0
  434. package/dist-cjs/images/mock.js +0 -1
  435. package/dist-cjs/images/moderation.d.ts +6 -0
  436. package/dist-cjs/images/moderation.js +0 -15
  437. package/dist-cjs/images/openai.d.ts +33 -1
  438. package/dist-cjs/images/openai.js +0 -10
  439. package/dist-cjs/images/transform.d.ts +17 -0
  440. package/dist-cjs/images/transform.js +0 -20
  441. package/dist-cjs/index.d.ts +3 -3
  442. package/dist-cjs/index.js +5 -4
  443. package/dist-cjs/jobs/batch.d.ts +12 -0
  444. package/dist-cjs/jobs/durable-adapters.d.ts +24 -0
  445. package/dist-cjs/jobs/queue.d.ts +17 -0
  446. package/dist-cjs/mcp/client.d.ts +37 -0
  447. package/dist-cjs/mcp/client.js +0 -32
  448. package/dist-cjs/mcp/protocol.d.ts +30 -1
  449. package/dist-cjs/mcp/protocol.js +0 -16
  450. package/dist-cjs/mcp/server.d.ts +7 -0
  451. package/dist-cjs/mcp/server.js +0 -17
  452. package/dist-cjs/models/registry.d.ts +25 -0
  453. package/dist-cjs/models/registry.js +0 -26
  454. package/dist-cjs/next/route-handler.d.ts +4 -0
  455. package/dist-cjs/operations/adapters.d.ts +26 -0
  456. package/dist-cjs/operations/adapters.js +3 -18
  457. package/dist-cjs/operations/errors.d.ts +72 -8
  458. package/dist-cjs/operations/errors.js +10 -20
  459. package/dist-cjs/operations/handle.d.ts +15 -1
  460. package/dist-cjs/operations/handle.js +0 -29
  461. package/dist-cjs/operations/index.d.ts +1 -1
  462. package/dist-cjs/operations/index.js +2 -1
  463. package/dist-cjs/operations/runner.js +11 -54
  464. package/dist-cjs/operations/serialization.d.ts +10 -0
  465. package/dist-cjs/operations/serialization.js +53 -0
  466. package/dist-cjs/operations/state-machine.d.ts +2 -0
  467. package/dist-cjs/operations/state-machine.js +0 -18
  468. package/dist-cjs/operations/store.d.ts +17 -9
  469. package/dist-cjs/operations/store.js +5 -69
  470. package/dist-cjs/operations/webhooks.d.ts +2 -0
  471. package/dist-cjs/operations/webhooks.js +0 -23
  472. package/dist-cjs/ops/audit-logger.d.ts +2 -0
  473. package/dist-cjs/ops/circuit-breaker.d.ts +120 -5
  474. package/dist-cjs/ops/circuit-breaker.js +85 -25
  475. package/dist-cjs/ops/circuit-store.d.ts +83 -0
  476. package/dist-cjs/ops/circuit-store.js +94 -0
  477. package/dist-cjs/ops/circuit-sync.d.ts +57 -0
  478. package/dist-cjs/ops/circuit-sync.js +126 -0
  479. package/dist-cjs/ops/family-telemetry.d.ts +10 -0
  480. package/dist-cjs/ops/family-telemetry.js +0 -12
  481. package/dist-cjs/ops/health.d.ts +28 -0
  482. package/dist-cjs/ops/metrics.d.ts +39 -0
  483. package/dist-cjs/ops/otel-tracing.d.ts +9 -0
  484. package/dist-cjs/ops/rate-limit-adapters.d.ts +13 -0
  485. package/dist-cjs/ops/rate-limit-adapters.js +0 -11
  486. package/dist-cjs/ops/rate-limiter.d.ts +12 -1
  487. package/dist-cjs/ops/rate-limiter.js +1 -11
  488. package/dist-cjs/optimizer/budget.d.ts +17 -1
  489. package/dist-cjs/optimizer/cost-budget.d.ts +2 -0
  490. package/dist-cjs/optimizer/cost-budget.js +0 -13
  491. package/dist-cjs/optimizer/cost.d.ts +9 -0
  492. package/dist-cjs/optimizer/cost.js +0 -15
  493. package/dist-cjs/optimizer/densifier.d.ts +6 -0
  494. package/dist-cjs/optimizer/index.d.ts +2 -0
  495. package/dist-cjs/pipeline/pipeline.d.ts +10 -0
  496. package/dist-cjs/pipeline/types.d.ts +46 -0
  497. package/dist-cjs/postgres/circuits.d.ts +38 -0
  498. package/dist-cjs/postgres/circuits.js +51 -0
  499. package/dist-cjs/postgres/client.d.ts +43 -0
  500. package/dist-cjs/postgres/client.js +39 -0
  501. package/dist-cjs/postgres/evaluate.d.ts +53 -0
  502. package/dist-cjs/postgres/evaluate.js +102 -0
  503. package/dist-cjs/postgres/index.d.ts +22 -0
  504. package/dist-cjs/postgres/index.js +40 -0
  505. package/dist-cjs/postgres/operations.d.ts +59 -0
  506. package/dist-cjs/postgres/operations.js +118 -0
  507. package/dist-cjs/postgres/sql.d.ts +23 -0
  508. package/dist-cjs/postgres/sql.js +36 -0
  509. package/dist-cjs/postgres/store.d.ts +55 -0
  510. package/dist-cjs/postgres/store.js +149 -0
  511. package/dist-cjs/postgres/traces.d.ts +37 -0
  512. package/dist-cjs/postgres/traces.js +122 -0
  513. package/dist-cjs/providers/anthropic.d.ts +4 -0
  514. package/dist-cjs/providers/anthropic.js +0 -31
  515. package/dist-cjs/providers/azure-openai.js +0 -3
  516. package/dist-cjs/providers/base.d.ts +10 -0
  517. package/dist-cjs/providers/base.js +0 -1
  518. package/dist-cjs/providers/cohere.d.ts +5 -0
  519. package/dist-cjs/providers/deepseek.js +0 -3
  520. package/dist-cjs/providers/errors.d.ts +33 -0
  521. package/dist-cjs/providers/google.d.ts +4 -0
  522. package/dist-cjs/providers/google.js +0 -14
  523. package/dist-cjs/providers/groq.d.ts +4 -0
  524. package/dist-cjs/providers/llamacpp.js +0 -3
  525. package/dist-cjs/providers/lmstudio.js +0 -3
  526. package/dist-cjs/providers/mistral.d.ts +4 -0
  527. package/dist-cjs/providers/ollama.d.ts +4 -0
  528. package/dist-cjs/providers/ollama.js +0 -1
  529. package/dist-cjs/providers/openai.d.ts +4 -0
  530. package/dist-cjs/providers/openai.js +0 -23
  531. package/dist-cjs/providers/openrouter.d.ts +4 -0
  532. package/dist-cjs/providers/type-guards.d.ts +8 -0
  533. package/dist-cjs/rag/file-ingestion.d.ts +15 -0
  534. package/dist-cjs/rag/ingestion.d.ts +15 -0
  535. package/dist-cjs/realtime/conversation.d.ts +21 -0
  536. package/dist-cjs/realtime/errors.d.ts +25 -0
  537. package/dist-cjs/realtime/events.d.ts +7 -0
  538. package/dist-cjs/realtime/id.d.ts +5 -0
  539. package/dist-cjs/realtime/mock.transport.d.ts +27 -0
  540. package/dist-cjs/realtime/mock.transport.js +0 -4
  541. package/dist-cjs/realtime/openai-events.d.ts +3 -0
  542. package/dist-cjs/realtime/openai-server.d.ts +30 -0
  543. package/dist-cjs/realtime/openai-webrtc.transport.d.ts +108 -0
  544. package/dist-cjs/realtime/openai-webrtc.transport.js +0 -7
  545. package/dist-cjs/realtime/openai-websocket.transport.d.ts +46 -0
  546. package/dist-cjs/realtime/openai-websocket.transport.js +0 -2
  547. package/dist-cjs/realtime/provider.d.ts +30 -0
  548. package/dist-cjs/realtime/session.d.ts +44 -0
  549. package/dist-cjs/realtime/session.js +0 -3
  550. package/dist-cjs/realtime/tools.d.ts +25 -0
  551. package/dist-cjs/realtime/transport-utils.js +0 -1
  552. package/dist-cjs/realtime/types.d.ts +394 -0
  553. package/dist-cjs/router/auto-router.d.ts +5 -0
  554. package/dist-cjs/router/auto-router.js +3 -10
  555. package/dist-cjs/router/failover.d.ts +15 -0
  556. package/dist-cjs/router/failover.js +34 -13
  557. package/dist-cjs/router/index.d.ts +7 -1
  558. package/dist-cjs/router/index.js +40 -0
  559. package/dist-cjs/router/types.d.ts +27 -4
  560. package/dist-cjs/security/index.d.ts +17 -0
  561. package/dist-cjs/security/index.js +0 -1
  562. package/dist-cjs/security/injection-calibration.d.ts +17 -0
  563. package/dist-cjs/security/injection-detector.d.ts +3 -0
  564. package/dist-cjs/security/input-guard.d.ts +2 -0
  565. package/dist-cjs/security/output-guard.d.ts +2 -0
  566. package/dist-cjs/security/output-guard.js +0 -10
  567. package/dist-cjs/security/pii-detector.d.ts +3 -0
  568. package/dist-cjs/security/policies.d.ts +3 -0
  569. package/dist-cjs/security/prompt-hardening.d.ts +4 -0
  570. package/dist-cjs/security/schema-validator.d.ts +2 -0
  571. package/dist-cjs/security/semantic-injection-classifier.d.ts +6 -0
  572. package/dist-cjs/security/upload-scanner.d.ts +28 -0
  573. package/dist-cjs/store/helpers.d.ts +8 -0
  574. package/dist-cjs/store/helpers.js +59 -0
  575. package/dist-cjs/store/memory.d.ts +11 -6
  576. package/dist-cjs/store/memory.js +10 -72
  577. package/dist-cjs/store/redis.d.ts +17 -0
  578. package/dist-cjs/store/redis.js +4 -13
  579. package/dist-cjs/telephony/errors.d.ts +9 -1
  580. package/dist-cjs/telephony/manager.d.ts +17 -0
  581. package/dist-cjs/telephony/providers/twilio.d.ts +25 -0
  582. package/dist-cjs/telephony/providers/twilio.js +0 -3
  583. package/dist-cjs/telephony/realtime-bridge.d.ts +11 -0
  584. package/dist-cjs/telephony/realtime-bridge.js +0 -19
  585. package/dist-cjs/telephony/twiml.d.ts +3 -0
  586. package/dist-cjs/testing/embedding-provider-conformance.d.ts +17 -0
  587. package/dist-cjs/testing/embedding-provider-conformance.js +0 -7
  588. package/dist-cjs/testing/image-provider-conformance.d.ts +29 -0
  589. package/dist-cjs/testing/image-provider-conformance.js +0 -1
  590. package/dist-cjs/testing/provider-conformance.d.ts +24 -0
  591. package/dist-cjs/testing/record.d.ts +141 -0
  592. package/dist-cjs/testing/record.js +223 -0
  593. package/dist-cjs/tracing/alerts.d.ts +19 -0
  594. package/dist-cjs/tracing/alerts.js +0 -9
  595. package/dist-cjs/tracing/compare.d.ts +10 -0
  596. package/dist-cjs/tracing/compare.js +0 -10
  597. package/dist-cjs/tracing/instrument.d.ts +9 -0
  598. package/dist-cjs/tracing/instrument.js +0 -16
  599. package/dist-cjs/tracing/query.d.ts +6 -0
  600. package/dist-cjs/tracing/query.js +65 -0
  601. package/dist-cjs/tracing/stores.d.ts +22 -3
  602. package/dist-cjs/tracing/stores.js +8 -84
  603. package/dist-cjs/tracing/tracer.d.ts +29 -0
  604. package/dist-cjs/tracing/tracer.js +0 -13
  605. package/dist-cjs/types/agent.d.ts +31 -0
  606. package/dist-cjs/types/batch.d.ts +55 -0
  607. package/dist-cjs/types/capabilities.d.ts +9 -0
  608. package/dist-cjs/types/config.d.ts +197 -0
  609. package/dist-cjs/types/context-window.d.ts +62 -0
  610. package/dist-cjs/types/embeddings.d.ts +97 -0
  611. package/dist-cjs/types/evaluate.d.ts +172 -0
  612. package/dist-cjs/types/evaluate.js +2 -0
  613. package/dist-cjs/types/graph.d.ts +137 -3
  614. package/dist-cjs/types/graph.js +0 -30
  615. package/dist-cjs/types/images.d.ts +178 -0
  616. package/dist-cjs/types/messages.d.ts +70 -0
  617. package/dist-cjs/types/operations.d.ts +84 -0
  618. package/dist-cjs/types/operations.js +0 -8
  619. package/dist-cjs/types/optimizer.d.ts +31 -0
  620. package/dist-cjs/types/planning.d.ts +29 -0
  621. package/dist-cjs/types/providers.d.ts +49 -0
  622. package/dist-cjs/types/providers.js +0 -40
  623. package/dist-cjs/types/response.d.ts +55 -0
  624. package/dist-cjs/types/security.d.ts +35 -0
  625. package/dist-cjs/types/store.d.ts +17 -0
  626. package/dist-cjs/types/store.js +0 -8
  627. package/dist-cjs/types/telephony.d.ts +216 -0
  628. package/dist-cjs/types/tracing.d.ts +53 -0
  629. package/dist-cjs/types/tracing.js +0 -9
  630. package/dist-cjs/types/voice.d.ts +170 -0
  631. package/dist-cjs/utils/safe-fetch.js +8 -38
  632. package/dist-cjs/utils/tokenizer.d.ts +7 -0
  633. package/dist-cjs/voice/errors.d.ts +9 -1
  634. package/dist-cjs/voice/manager.d.ts +16 -0
  635. package/dist-cjs/voice/providers/openai.d.ts +13 -0
  636. package/dist-cjs/voice/session.d.ts +16 -0
  637. package/dist-cjs/workflow/chains.d.ts +53 -0
  638. package/dist-cjs/workflow/domain.d.ts +28 -0
  639. package/package.json +132 -5
package/API_STABILITY.md CHANGED
@@ -210,10 +210,14 @@ What is guaranteed is the state machine — closed, open after a threshold is cr
210
210
  the cooldown, closed again only after the configured probe successes — and that routing still selects
211
211
  a provider when every circuit is open rather than failing the request untried.
212
212
 
213
- Breaker state is per process by design. Two workers can disagree about a provider, and neither the
214
- breaker nor its snapshot promises cluster-wide consensus. Rate-limit counters are the opposite: they
215
- are only shared when a store is configured, and the default in-memory counter gives each worker its
216
- own budget.
213
+ Breaker state is per process unless `circuitBreaker.store` is set (since 1.16.0). With a store,
214
+ workers converge on each other's decisions within about `syncIntervalMs`, and one worker at a time
215
+ holds the probe; this is eventual agreement, not consensus, and two workers may briefly disagree.
216
+ Failure counting stays per worker either way. The `CircuitStateStore` contract and the memory, Redis,
217
+ and Postgres adapters follow the 1.x rules. Since 1.16.0 a caller's cancellation does not count as a
218
+ failure unless `isFailure` says so, and probe limits apply to every attempt the failover executor
219
+ makes. Rate-limit counters are only shared when a store is configured, and the default in-memory
220
+ counter gives each worker its own budget.
217
221
 
218
222
  ## Batch API stage
219
223
 
@@ -328,6 +332,19 @@ Also since 1.12.0, all additive:
328
332
  - A subgraph node's thread id is `<parent thread>:<task id>`, which equals the previous
329
333
  `<parent thread>:<node>` for any node not reached through `Send`.
330
334
 
335
+ Also since 1.16.0, all additive:
336
+
337
+ - `createGraph({ channels, input, output })`. `StateGraph`, `CompiledGraph`, and `GraphResult` gained
338
+ defaulted type parameters for the input and output channels, so existing annotations such as
339
+ `CompiledGraph<S>` keep their meaning. A write to an undeclared input rejects with
340
+ `GraphValidationError`. Checkpoints and stream events still carry every channel.
341
+ - `NodeOptions.cache` and `CompileOptions.cache`. Guaranteed: a failure, an interrupt, a node that
342
+ consumed an interrupt's answer, and a `Command.PARENT` result are never served from the cache, and a
343
+ cache that throws is treated as a miss. Not guaranteed: the default key's exact text, so entries
344
+ written by one minor release may miss after an upgrade.
345
+ - `task_end` events may carry `cached: true`; `GraphDescription` may carry `input`, `output`, and a
346
+ node's `cache` flag.
347
+
331
348
  ## Agent, store, MCP, and tracing stages (1.14.0)
332
349
 
333
350
  The `nexus-ai-pro/agent`, `nexus-ai-pro/store`, `nexus-ai-pro/store/redis`, and `nexus-ai-pro/mcp`
@@ -355,6 +372,46 @@ subpaths are public and follow the 1.x rules. None is exported from the root imp
355
372
  - `AgentLoop`, `tool()`, and `ToolExecutor` keep their behaviour and are re-exported from
356
373
  `nexus-ai-pro/agent` as well as the root.
357
374
 
375
+ ## Evaluation stage (1.15.0)
376
+
377
+ `nexus-ai-pro/evaluate` is public and follows the 1.x rules, and is not exported from the root.
378
+ `Dataset`, `DatasetExample`, `Experiment`, `ExampleResult`, `MetricSummary`, and the comparison shapes
379
+ are normalized; new optional fields and new bundled evaluators may be added in a minor release.
380
+
381
+ - A dataset version is derived from example content. The hash itself is an implementation detail, but
382
+ the guarantee is not: identical examples produce identical versions, and any change produces a
383
+ different one.
384
+ - `compareExperiments()` is statistical. Its intervals come from a seeded paired bootstrap, so the
385
+ same inputs give the same verdict; the exact interval bounds may change if the method improves, and
386
+ a verdict is a judgement about evidence rather than a compatibility guarantee.
387
+ - `evaluate()` reports a target's failure as a failed example and an evaluator's failure as a failed
388
+ measurement; neither throws. Since 1.16.0 an aborted evaluation rejects with the abort reason and
389
+ stores nothing.
390
+ - `EvalRunner` and `MediaEvalRunner` keep their APIs. Since 1.16.0 both run on `evaluate()` and carry
391
+ the resulting experiment in an optional `experiment` field; their reports are otherwise unchanged.
392
+ - Since 1.16.0, additive: `underCost()`, `FileExperimentStore`, `readExperiment()`, the `cost`
393
+ option, per-example `repetitions`, and `signal` on the target's context.
394
+
395
+ ## Postgres, command-line, and record-and-replay stages (1.16.0)
396
+
397
+ The `nexus-ai-pro/postgres` subpaths, `nexus-ai-pro/ops/circuit-store`, and
398
+ `nexus-ai-pro/testing/record` are public and follow the 1.x rules. None is exported from the root.
399
+
400
+ - Each Postgres adapter implements the same contract as the corresponding in-memory store, and is
401
+ tested against it. Ordering among rows that tie on a timestamp is not a guarantee.
402
+ - `PostgresLikeClient` is the whole driver contract: `query(text, values)` resolving to `{ rows }`.
403
+ - The schema is guaranteed additive for the 1.x line: a minor release may add a column or an index,
404
+ never drop or rename one, and `migrate()` stays idempotent. A change that needs a data migration
405
+ waits for 2.0.
406
+ - Unique idempotency keys in `PostgresOperationStore` are a guarantee, and `OperationDuplicateError`
407
+ is the signal the runner relies on.
408
+ - The `nexus` commands and flags listed by `nexus help` are public. Human-readable output is not a
409
+ guarantee and may improve in any release; `--json` output follows the 1.x rules; exit codes are
410
+ guaranteed — 0 for success, 1 for a failed check, 2 for a usage error.
411
+ - The fixture file format and the default match key of `testing/record` are stable for the 1.x line,
412
+ so recordings made with one release keep replaying with the next. A change that would invalidate
413
+ recordings waits for 2.0.
414
+
358
415
  ## Deprecation process
359
416
 
360
417
  Deprecated APIs are marked with `@deprecated` in declarations and described in the changelog. Removals
package/CHANGELOG.md CHANGED
@@ -4,6 +4,135 @@ Notable changes to this project are recorded here. The format follows [Keep a Ch
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.16.0] - 2026-09-22
8
+
9
+ Shared state and the command line. Everything that has to outlive a process or be shared between
10
+ workers now has a Postgres adapter, circuit decisions are shared across a fleet, the evaluation
11
+ platform has a CI gate, and suites that needed credentials can run from recorded provider traffic.
12
+
13
+ ### Added
14
+
15
+ - **A Postgres adapter family** (`nexus-ai-pro/postgres`, with one subpath per adapter):
16
+ `PostgresOperationStore`, `PostgresStore` (long-term memory, ranked by pgvector when
17
+ `vectorDimensions` is set), `PostgresTraceStore`, `PostgresDatasetStore`, `PostgresExperimentStore`,
18
+ and `PostgresCircuitStateStore`.
19
+ - Each takes any client with `query(text, values)` — `pg`, `@neondatabase/serverless`, PGlite — and
20
+ `fromPostgresJs()` adapts `postgres.js`. No driver becomes a dependency.
21
+ - Nothing creates a schema at import: `migrate()`, `postgresMigration()`, and `nexus db sql` apply
22
+ or print it.
23
+ - Idempotency keys are unique in the operations table, so two workers racing to submit one key run
24
+ the work once. Graph threads persist across workers through `OperationStoreCheckpointer`.
25
+ - **Shared circuit state.** `circuitBreaker.store` takes a `CircuitStateStore`: memory and Redis
26
+ adapters in `nexus-ai-pro/ops/circuit-store`, Postgres in `/postgres/circuits`. A provider that
27
+ fails in one worker is taken out of routing in all of them, and one worker at a time probes it when
28
+ the cooldown ends. Checks stay synchronous; the coordination code loads only when a store is
29
+ configured. `ai.syncCircuitBreaker()` loads shared state at startup.
30
+ - **Evaluation from the command line.** `nexus eval run`, `nexus eval compare`, and `nexus eval gate`
31
+ run an evaluation module to an experiment file and fail a build only on a regression beyond noise,
32
+ a new failure, or a dataset mismatch. `nexus traces list`, `show`, and `export` read a JSONL file or
33
+ any trace store a module exports. `nexus db sql` prints the Postgres schema. Every command takes
34
+ `--json`, and a usage error exits with 2.
35
+ - **Record and replay** (`nexus-ai-pro/testing/record`). `recordingFetch()` writes provider traffic
36
+ to reviewable fixture files with credentials removed; `replayFetch()` serves it back with no network
37
+ and throws `FixtureMissingError` for anything unrecorded; `fixtureFetch()` picks the mode from
38
+ `NEXUS_FIXTURES`; `installFetch()` covers code that calls the global `fetch`. Multipart boundaries
39
+ and key order do not break matching.
40
+ - **Image conformance from recordings.** `npm run conformance:images:record` records the image suite
41
+ against every backend with credentials present; `npm run test:conformance:images` replays it in CI
42
+ and reports any backend without recordings rather than counting it as a pass.
43
+ - **Graph input and output channels.** `createGraph({ channels, input, output })` restricts what a
44
+ caller may pass in and what comes back, in the types and at run time. As a subgraph, a graph
45
+ receives only its inputs and merges back only its outputs.
46
+ - **Per-node caching.** `addNode(name, fn, { cache: { key, ttlMs, store } })` reuses a node's result
47
+ for the same state and input, in a bounded in-process map or any cache adapter
48
+ (`compile({ cache })` sets a default). Failures, interrupts, human answers, and parent commands are
49
+ never cached; a failing cache is a miss.
50
+ - **Evaluation additions.** `underCost()` per-example cost gate; `FileExperimentStore` and
51
+ `readExperiment()`; `repetitions` may be a function per example; the target receives the abort
52
+ signal.
53
+ - `EvalRunner.run()` and `MediaEvalRunner.evaluate()` return the experiment underneath their report,
54
+ and accept options to name and store it.
55
+ - `OperationDuplicateError`, raised by stores that enforce unique idempotency keys.
56
+ - **Documentation coverage.** Every public export, and every public member of an exported class,
57
+ interface, or enum, now has a doc comment: 4,651 declarations across 88 entry points.
58
+ `npm run docs:check` enforces it and runs as part of `npm test`.
59
+
60
+ ### Changed
61
+
62
+ - `EvalRunner` and `MediaEvalRunner` now run on `evaluate()`. Their results and errors are unchanged;
63
+ `evaluate()` is loaded the first time they run, so neither entry point grew.
64
+ - A caller cancelling a request no longer counts against a provider's circuit.
65
+ - Circuit probe limits are enforced on every attempt through the failover executor, so concurrent
66
+ requests go to a fallback instead of all probing a half-open provider.
67
+ - Comments are stripped from the emitted JavaScript and kept in the type declarations, where editors
68
+ read them. Every entry point shrinks as a result: the root import is 572 KB, down from 612 KB, even
69
+ after the breaker fixes, the `EvalRunner` rebuild, and duplicate-key handling. The published size
70
+ table has the per-entry-point figures.
71
+ - The packed tarball is 666 KB and 4.1 MB unpacked, up from 3.5 MB, almost all of it the doc comments
72
+ in the type declarations, which are shipped for both ESM and CommonJS.
73
+
74
+ ### Fixed
75
+
76
+ - `evaluate()` ignored its `signal` option; aborting now stops new examples, reaches targets, and
77
+ never stores a partial experiment.
78
+ - `evaluate()` never recorded cost, so `totalCost()` always reported 0. Cost is now read from
79
+ completion and image results or from a `cost` option.
80
+ - A half-open probe slot was never released when an attempt's error did not count as a failure,
81
+ leaving the circuit refusing traffic until it was reset.
82
+ - The breaker's documented `halfOpenMaxCalls` was not enforced on real requests: the client routed
83
+ every request to a half-open provider.
84
+ - The context-window summary call could route to a provider whose circuit was open.
85
+ - `routing.fallback` was accepted but never applied. `onError` models are now tried after every
86
+ route the router chose, `onTimeout` gives the first attempt its own timeout before its fallback,
87
+ and `onRateLimit` retries a rate-limited first attempt before falling back.
88
+ - Privacy routing ignored a provider's own `isLocal` declaration, so an OpenAI-compatible server
89
+ configured as local was still scored as hosted.
90
+
91
+ ### Deprecated
92
+
93
+ These options were accepted but never read. They still type-check, do nothing, and will be removed
94
+ in 2.0.
95
+
96
+ - `GoogleProviderConfig.projectId`.
97
+ - `OllamaProviderConfig.timeout`.
98
+ - `MetricsConfig.prometheus`: Prometheus text is always available from `getPrometheusMetrics()`.
99
+ - `DensificationConfig.preserveMarkdown`: densification never rewrites Markdown structure.
100
+ - `HealthConfig.latencyHalfLife`: latency is averaged with a fixed weight.
101
+
102
+ ## [1.15.0] - 2026-09-21
103
+
104
+ Evaluation. One entry point for evaluating anything, datasets versioned by their content, experiments
105
+ that can be compared with a verdict rather than a vibe, and the loop from a production failure back to
106
+ a permanent regression test.
107
+
108
+ ### Added
109
+
110
+ - **`nexus-ai-pro/evaluate`.** `evaluate(target, dataset, evaluators, options)` accepts any target: a
111
+ completion, an agent, a graph, an image operation, or plain code.
112
+ - Examples run concurrently, with repetitions for a target that is not deterministic, a timeout per
113
+ example, and per-metric statistics including a 95% interval.
114
+ - A target that throws is recorded as a failed example; an evaluator that throws is recorded as a
115
+ failed measurement. Neither voids the experiment.
116
+ - **Datasets versioned by content.** Change an example and the version changes with it, so two
117
+ experiments are comparable only when they ran over the same data. `MemoryDatasetStore` and
118
+ `FileDatasetStore` (one reviewable JSON file per version), plus `splitOf()` for train and test
119
+ splits.
120
+ - **`datasetFromTraces()`.** Turns recorded runs into examples, each keeping the run it came from, so
121
+ yesterday's production failure becomes tomorrow's regression test.
122
+ - **Bundled evaluators.** `exactMatch`, `contains`, `mustNotMatch`, `completed`, `underLatency`,
123
+ `embeddingSimilarity` through any injected embedder, `pairwise` for side-by-side judgements, and
124
+ `trajectory`, which scores how an answer was reached rather than only what it said. `passRate` and
125
+ `totalCost` summarize a whole experiment.
126
+ - **`compareExperiments()` with a real verdict.** A paired bootstrap over per-example differences
127
+ gives each metric a 95% interval; a metric whose interval spans zero is `unchanged` rather than an
128
+ improvement. The bootstrap is seeded, so a CI gate cannot flip between runs. The report names the
129
+ examples that moved most, the failures that are new, the ones that were fixed, and any dataset
130
+ version mismatch. `formatComparison()` prints it for a pull request.
131
+ - **`evaluateOnline()`.** Scores sampled production runs, writes the scores back as trace feedback so
132
+ alert rules can watch them, and sends uncertain results to people.
133
+ - **`AnnotationQueue`.** Review work with a rubric, claims that expire so nothing is stranded,
134
+ consensus across several reviewers, and `toExamples()` to turn reviewed items into dataset examples.
135
+
7
136
  ## [1.14.0] - 2026-09-20
8
137
 
9
138
  The memory, agent, and MCP work planned for 1.13.0 ships here together with tracing, so no 1.13.0 was
@@ -717,7 +846,9 @@ shared policy vocabulary is in place for a future release that revisits this.
717
846
  - URL fetching rejects unsafe private-network targets and limits response reads.
718
847
  - CLI and audit findings no longer disclose detected secret values.
719
848
 
720
- [Unreleased]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.14.0...HEAD
849
+ [Unreleased]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.16.0...HEAD
850
+ [1.16.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.15.0...v1.16.0
851
+ [1.15.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.14.0...v1.15.0
721
852
  [1.14.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.12.0...v1.14.0
722
853
  [1.12.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.11.0...v1.12.0
723
854
  [1.11.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.10.0...v1.11.0