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.
- package/API_STABILITY.md +61 -4
- package/CHANGELOG.md +132 -1
- package/README.md +336 -72
- package/dist/agent/create-agent.d.ts +35 -0
- package/dist/agent/create-agent.js +0 -19
- package/dist/agent/loop.d.ts +7 -0
- package/dist/agent/loop.js +0 -3
- package/dist/agent/middleware.d.ts +2 -0
- package/dist/agent/middleware.js +0 -19
- package/dist/agent/tool.d.ts +6 -0
- package/dist/batch/anthropic.d.ts +14 -0
- package/dist/batch/anthropic.js +0 -14
- package/dist/batch/errors.d.ts +23 -3
- package/dist/batch/manager.d.ts +8 -0
- package/dist/batch/manager.js +0 -37
- package/dist/batch/mock.d.ts +9 -0
- package/dist/batch/mock.js +0 -8
- package/dist/batch/openai.d.ts +11 -0
- package/dist/batch/openai.js +0 -8
- package/dist/cache/adapters.d.ts +31 -0
- package/dist/cache/memory-cache.d.ts +14 -0
- package/dist/cache/semantic-cache.d.ts +15 -0
- package/dist/capabilities/negotiate.d.ts +9 -0
- package/dist/capabilities/negotiate.js +0 -14
- package/dist/cli/args.d.ts +26 -0
- package/dist/cli/args.js +96 -0
- package/dist/cli/db.d.ts +8 -0
- package/dist/cli/db.js +17 -0
- package/dist/cli/evaluation.d.ts +8 -0
- package/dist/cli/evaluation.js +142 -0
- package/dist/cli/traces.d.ts +8 -0
- package/dist/cli/traces.js +89 -0
- package/dist/cli.js +36 -66
- package/dist/connectors/web.d.ts +9 -0
- package/dist/context/window.d.ts +8 -0
- package/dist/core/config-builder.js +0 -47
- package/dist/core/create-nexus.d.ts +13 -0
- package/dist/core/create-nexus.js +0 -18
- package/dist/core/nexus.d.ts +26 -0
- package/dist/core/nexus.js +17 -170
- package/dist/core/response-format.d.ts +1 -0
- package/dist/core/secure-stream.js +0 -6
- package/dist/core/streaming.d.ts +3 -0
- package/dist/core/usage.d.ts +14 -0
- package/dist/core/usage.js +0 -20
- package/dist/embeddings/adapters.d.ts +12 -0
- package/dist/embeddings/adapters.js +0 -17
- package/dist/embeddings/errors.d.ts +33 -4
- package/dist/embeddings/errors.js +0 -7
- package/dist/embeddings/manager.d.ts +3 -0
- package/dist/embeddings/manager.js +0 -51
- package/dist/embeddings/mock.d.ts +7 -0
- package/dist/embeddings/mock.js +0 -10
- package/dist/embeddings/models.d.ts +15 -0
- package/dist/embeddings/models.js +0 -44
- package/dist/embeddings/providers.d.ts +26 -0
- package/dist/embeddings/providers.js +0 -7
- package/dist/embeddings/register.js +0 -7
- package/dist/evals/index.d.ts +1 -1
- package/dist/evals/judge.d.ts +47 -0
- package/dist/evals/metrics.d.ts +89 -0
- package/dist/evals/runner.d.ts +72 -1
- package/dist/evals/runner.js +84 -32
- package/dist/evaluate/compare.d.ts +86 -0
- package/dist/evaluate/compare.js +135 -0
- package/dist/evaluate/datasets.d.ts +123 -0
- package/dist/evaluate/datasets.js +157 -0
- package/dist/evaluate/evaluators.d.ts +82 -0
- package/dist/evaluate/evaluators.js +168 -0
- package/dist/evaluate/index.d.ts +6 -0
- package/dist/evaluate/index.js +5 -0
- package/dist/evaluate/review.d.ts +138 -0
- package/dist/evaluate/review.js +144 -0
- package/dist/evaluate/run.d.ts +55 -0
- package/dist/evaluate/run.js +183 -0
- package/dist/evaluate/version.d.ts +8 -0
- package/dist/evaluate/version.js +8 -0
- package/dist/graph/channels.js +0 -12
- package/dist/graph/checkpointer.d.ts +13 -0
- package/dist/graph/checkpointer.js +0 -29
- package/dist/graph/errors.d.ts +60 -7
- package/dist/graph/errors.js +1 -29
- package/dist/graph/graph.d.ts +53 -12
- package/dist/graph/graph.js +83 -158
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/node-cache.d.ts +16 -0
- package/dist/graph/node-cache.js +107 -0
- package/dist/graph/visualize.d.ts +1 -0
- package/dist/graph/visualize.js +0 -14
- package/dist/hallucination/consistency.d.ts +14 -0
- package/dist/hallucination/factual.d.ts +11 -0
- package/dist/hallucination/knowledge-graph.d.ts +35 -0
- package/dist/hallucination/rag.d.ts +21 -0
- package/dist/hallucination/retrieval.d.ts +21 -0
- package/dist/hallucination/verification.d.ts +32 -0
- package/dist/images/asset-stores.d.ts +45 -0
- package/dist/images/asset-stores.js +0 -32
- package/dist/images/asset-support.d.ts +80 -2
- package/dist/images/assets.d.ts +13 -0
- package/dist/images/assets.js +0 -8
- package/dist/images/codec.d.ts +4 -0
- package/dist/images/codec.js +0 -9
- package/dist/images/comfyui.d.ts +27 -0
- package/dist/images/comfyui.js +0 -20
- package/dist/images/errors.d.ts +39 -5
- package/dist/images/evals.d.ts +89 -1
- package/dist/images/evals.js +80 -20
- package/dist/images/google.d.ts +12 -0
- package/dist/images/google.js +0 -15
- package/dist/images/image-header.d.ts +6 -0
- package/dist/images/image-header.js +0 -17
- package/dist/images/inputs.d.ts +15 -1
- package/dist/images/inputs.js +0 -18
- package/dist/images/manager.d.ts +13 -0
- package/dist/images/manager.js +0 -12
- package/dist/images/mock.d.ts +10 -0
- package/dist/images/mock.js +0 -1
- package/dist/images/moderation.d.ts +6 -0
- package/dist/images/moderation.js +0 -15
- package/dist/images/openai.d.ts +33 -1
- package/dist/images/openai.js +0 -10
- package/dist/images/transform.d.ts +17 -0
- package/dist/images/transform.js +0 -20
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/jobs/batch.d.ts +12 -0
- package/dist/jobs/durable-adapters.d.ts +24 -0
- package/dist/jobs/queue.d.ts +17 -0
- package/dist/mcp/client.d.ts +37 -0
- package/dist/mcp/client.js +0 -32
- package/dist/mcp/protocol.d.ts +30 -1
- package/dist/mcp/protocol.js +0 -16
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +0 -17
- package/dist/models/registry.d.ts +25 -0
- package/dist/models/registry.js +0 -26
- package/dist/next/route-handler.d.ts +4 -0
- package/dist/operations/adapters.d.ts +26 -0
- package/dist/operations/adapters.js +1 -16
- package/dist/operations/errors.d.ts +72 -8
- package/dist/operations/errors.js +8 -19
- package/dist/operations/handle.d.ts +15 -1
- package/dist/operations/handle.js +0 -29
- package/dist/operations/index.d.ts +1 -1
- package/dist/operations/index.js +1 -1
- package/dist/operations/runner.js +12 -55
- package/dist/operations/serialization.d.ts +10 -0
- package/dist/operations/serialization.js +50 -0
- package/dist/operations/state-machine.d.ts +2 -0
- package/dist/operations/state-machine.js +0 -18
- package/dist/operations/store.d.ts +17 -9
- package/dist/operations/store.js +2 -65
- package/dist/operations/webhooks.d.ts +2 -0
- package/dist/operations/webhooks.js +0 -23
- package/dist/ops/audit-logger.d.ts +2 -0
- package/dist/ops/circuit-breaker.d.ts +120 -5
- package/dist/ops/circuit-breaker.js +52 -25
- package/dist/ops/circuit-store.d.ts +83 -0
- package/dist/ops/circuit-store.js +89 -0
- package/dist/ops/circuit-sync.d.ts +57 -0
- package/dist/ops/circuit-sync.js +122 -0
- package/dist/ops/family-telemetry.d.ts +10 -0
- package/dist/ops/family-telemetry.js +0 -12
- package/dist/ops/health.d.ts +28 -0
- package/dist/ops/metrics.d.ts +39 -0
- package/dist/ops/otel-tracing.d.ts +9 -0
- package/dist/ops/rate-limit-adapters.d.ts +13 -0
- package/dist/ops/rate-limit-adapters.js +0 -11
- package/dist/ops/rate-limiter.d.ts +12 -1
- package/dist/ops/rate-limiter.js +1 -11
- package/dist/optimizer/budget.d.ts +17 -1
- package/dist/optimizer/cost-budget.d.ts +2 -0
- package/dist/optimizer/cost-budget.js +0 -13
- package/dist/optimizer/cost.d.ts +9 -0
- package/dist/optimizer/cost.js +0 -15
- package/dist/optimizer/densifier.d.ts +6 -0
- package/dist/optimizer/index.d.ts +2 -0
- package/dist/pipeline/pipeline.d.ts +10 -0
- package/dist/pipeline/types.d.ts +46 -0
- package/dist/postgres/circuits.d.ts +38 -0
- package/dist/postgres/circuits.js +46 -0
- package/dist/postgres/client.d.ts +43 -0
- package/dist/postgres/client.js +31 -0
- package/dist/postgres/evaluate.d.ts +53 -0
- package/dist/postgres/evaluate.js +96 -0
- package/dist/postgres/index.d.ts +22 -0
- package/dist/postgres/index.js +24 -0
- package/dist/postgres/operations.d.ts +59 -0
- package/dist/postgres/operations.js +113 -0
- package/dist/postgres/sql.d.ts +23 -0
- package/dist/postgres/sql.js +29 -0
- package/dist/postgres/store.d.ts +55 -0
- package/dist/postgres/store.js +144 -0
- package/dist/postgres/traces.d.ts +37 -0
- package/dist/postgres/traces.js +117 -0
- package/dist/providers/anthropic.d.ts +4 -0
- package/dist/providers/anthropic.js +0 -31
- package/dist/providers/azure-openai.js +0 -3
- package/dist/providers/base.d.ts +10 -0
- package/dist/providers/base.js +0 -1
- package/dist/providers/cohere.d.ts +5 -0
- package/dist/providers/deepseek.js +0 -3
- package/dist/providers/errors.d.ts +33 -0
- package/dist/providers/google.d.ts +4 -0
- package/dist/providers/google.js +0 -14
- package/dist/providers/groq.d.ts +4 -0
- package/dist/providers/llamacpp.js +0 -3
- package/dist/providers/lmstudio.js +0 -3
- package/dist/providers/mistral.d.ts +4 -0
- package/dist/providers/ollama.d.ts +4 -0
- package/dist/providers/ollama.js +0 -1
- package/dist/providers/openai.d.ts +4 -0
- package/dist/providers/openai.js +0 -23
- package/dist/providers/openrouter.d.ts +4 -0
- package/dist/providers/type-guards.d.ts +8 -0
- package/dist/rag/file-ingestion.d.ts +15 -0
- package/dist/rag/ingestion.d.ts +15 -0
- package/dist/realtime/conversation.d.ts +21 -0
- package/dist/realtime/errors.d.ts +25 -0
- package/dist/realtime/events.d.ts +7 -0
- package/dist/realtime/id.d.ts +5 -0
- package/dist/realtime/mock.transport.d.ts +27 -0
- package/dist/realtime/mock.transport.js +0 -4
- package/dist/realtime/openai-events.d.ts +3 -0
- package/dist/realtime/openai-server.d.ts +30 -0
- package/dist/realtime/openai-webrtc.transport.d.ts +108 -0
- package/dist/realtime/openai-webrtc.transport.js +0 -7
- package/dist/realtime/openai-websocket.transport.d.ts +46 -0
- package/dist/realtime/openai-websocket.transport.js +0 -2
- package/dist/realtime/provider.d.ts +30 -0
- package/dist/realtime/session.d.ts +44 -0
- package/dist/realtime/session.js +0 -3
- package/dist/realtime/tools.d.ts +25 -0
- package/dist/realtime/transport-utils.js +0 -1
- package/dist/realtime/types.d.ts +394 -0
- package/dist/router/auto-router.d.ts +5 -0
- package/dist/router/auto-router.js +3 -10
- package/dist/router/failover.d.ts +15 -0
- package/dist/router/failover.js +34 -13
- package/dist/router/index.d.ts +7 -1
- package/dist/router/index.js +40 -0
- package/dist/router/types.d.ts +27 -4
- package/dist/security/index.d.ts +17 -0
- package/dist/security/index.js +0 -1
- package/dist/security/injection-calibration.d.ts +17 -0
- package/dist/security/injection-detector.d.ts +3 -0
- package/dist/security/input-guard.d.ts +2 -0
- package/dist/security/output-guard.d.ts +2 -0
- package/dist/security/output-guard.js +0 -10
- package/dist/security/pii-detector.d.ts +3 -0
- package/dist/security/policies.d.ts +3 -0
- package/dist/security/prompt-hardening.d.ts +4 -0
- package/dist/security/schema-validator.d.ts +2 -0
- package/dist/security/semantic-injection-classifier.d.ts +6 -0
- package/dist/security/upload-scanner.d.ts +28 -0
- package/dist/store/helpers.d.ts +8 -0
- package/dist/store/helpers.js +53 -0
- package/dist/store/memory.d.ts +11 -6
- package/dist/store/memory.js +2 -64
- package/dist/store/redis.d.ts +17 -0
- package/dist/store/redis.js +1 -10
- package/dist/telephony/errors.d.ts +9 -1
- package/dist/telephony/manager.d.ts +17 -0
- package/dist/telephony/providers/twilio.d.ts +25 -0
- package/dist/telephony/providers/twilio.js +0 -3
- package/dist/telephony/realtime-bridge.d.ts +11 -0
- package/dist/telephony/realtime-bridge.js +0 -19
- package/dist/telephony/twiml.d.ts +3 -0
- package/dist/testing/embedding-provider-conformance.d.ts +17 -0
- package/dist/testing/embedding-provider-conformance.js +0 -7
- package/dist/testing/image-provider-conformance.d.ts +29 -0
- package/dist/testing/image-provider-conformance.js +0 -1
- package/dist/testing/provider-conformance.d.ts +24 -0
- package/dist/testing/record.d.ts +141 -0
- package/dist/testing/record.js +211 -0
- package/dist/tracing/alerts.d.ts +19 -0
- package/dist/tracing/alerts.js +0 -9
- package/dist/tracing/compare.d.ts +10 -0
- package/dist/tracing/compare.js +0 -10
- package/dist/tracing/instrument.d.ts +9 -0
- package/dist/tracing/instrument.js +0 -16
- package/dist/tracing/query.d.ts +6 -0
- package/dist/tracing/query.js +60 -0
- package/dist/tracing/stores.d.ts +22 -3
- package/dist/tracing/stores.js +2 -77
- package/dist/tracing/tracer.d.ts +29 -0
- package/dist/tracing/tracer.js +0 -13
- package/dist/types/agent.d.ts +31 -0
- package/dist/types/batch.d.ts +55 -0
- package/dist/types/capabilities.d.ts +9 -0
- package/dist/types/config.d.ts +197 -0
- package/dist/types/context-window.d.ts +62 -0
- package/dist/types/embeddings.d.ts +97 -0
- package/dist/types/evaluate.d.ts +172 -0
- package/dist/types/evaluate.js +1 -0
- package/dist/types/graph.d.ts +137 -3
- package/dist/types/graph.js +0 -30
- package/dist/types/images.d.ts +178 -0
- package/dist/types/messages.d.ts +70 -0
- package/dist/types/operations.d.ts +84 -0
- package/dist/types/operations.js +0 -8
- package/dist/types/optimizer.d.ts +31 -0
- package/dist/types/planning.d.ts +29 -0
- package/dist/types/providers.d.ts +49 -0
- package/dist/types/providers.js +0 -40
- package/dist/types/response.d.ts +55 -0
- package/dist/types/security.d.ts +35 -0
- package/dist/types/store.d.ts +17 -0
- package/dist/types/store.js +0 -8
- package/dist/types/telephony.d.ts +216 -0
- package/dist/types/tracing.d.ts +53 -0
- package/dist/types/tracing.js +0 -9
- package/dist/types/voice.d.ts +170 -0
- package/dist/utils/safe-fetch.js +8 -38
- package/dist/utils/tokenizer.d.ts +7 -0
- package/dist/voice/errors.d.ts +9 -1
- package/dist/voice/manager.d.ts +16 -0
- package/dist/voice/providers/openai.d.ts +13 -0
- package/dist/voice/session.d.ts +16 -0
- package/dist/workflow/chains.d.ts +53 -0
- package/dist/workflow/domain.d.ts +28 -0
- package/dist-cjs/agent/create-agent.d.ts +35 -0
- package/dist-cjs/agent/create-agent.js +0 -19
- package/dist-cjs/agent/loop.d.ts +7 -0
- package/dist-cjs/agent/loop.js +0 -3
- package/dist-cjs/agent/middleware.d.ts +2 -0
- package/dist-cjs/agent/middleware.js +0 -19
- package/dist-cjs/agent/tool.d.ts +6 -0
- package/dist-cjs/batch/anthropic.d.ts +14 -0
- package/dist-cjs/batch/anthropic.js +0 -14
- package/dist-cjs/batch/errors.d.ts +23 -3
- package/dist-cjs/batch/manager.d.ts +8 -0
- package/dist-cjs/batch/manager.js +0 -37
- package/dist-cjs/batch/mock.d.ts +9 -0
- package/dist-cjs/batch/mock.js +0 -8
- package/dist-cjs/batch/openai.d.ts +11 -0
- package/dist-cjs/batch/openai.js +0 -8
- package/dist-cjs/cache/adapters.d.ts +31 -0
- package/dist-cjs/cache/memory-cache.d.ts +14 -0
- package/dist-cjs/cache/semantic-cache.d.ts +15 -0
- package/dist-cjs/capabilities/negotiate.d.ts +9 -0
- package/dist-cjs/capabilities/negotiate.js +0 -14
- package/dist-cjs/cli/args.d.ts +26 -0
- package/dist-cjs/cli/args.js +145 -0
- package/dist-cjs/cli/db.d.ts +8 -0
- package/dist-cjs/cli/db.js +20 -0
- package/dist-cjs/cli/evaluation.d.ts +8 -0
- package/dist-cjs/cli/evaluation.js +148 -0
- package/dist-cjs/cli/traces.d.ts +8 -0
- package/dist-cjs/cli/traces.js +95 -0
- package/dist-cjs/connectors/web.d.ts +9 -0
- package/dist-cjs/context/window.d.ts +8 -0
- package/dist-cjs/core/config-builder.js +0 -47
- package/dist-cjs/core/create-nexus.d.ts +13 -0
- package/dist-cjs/core/create-nexus.js +0 -18
- package/dist-cjs/core/nexus.d.ts +26 -0
- package/dist-cjs/core/nexus.js +17 -170
- package/dist-cjs/core/response-format.d.ts +1 -0
- package/dist-cjs/core/secure-stream.js +0 -6
- package/dist-cjs/core/streaming.d.ts +3 -0
- package/dist-cjs/core/usage.d.ts +14 -0
- package/dist-cjs/core/usage.js +0 -20
- package/dist-cjs/embeddings/adapters.d.ts +12 -0
- package/dist-cjs/embeddings/adapters.js +0 -17
- package/dist-cjs/embeddings/errors.d.ts +33 -4
- package/dist-cjs/embeddings/errors.js +0 -7
- package/dist-cjs/embeddings/manager.d.ts +3 -0
- package/dist-cjs/embeddings/manager.js +0 -51
- package/dist-cjs/embeddings/mock.d.ts +7 -0
- package/dist-cjs/embeddings/mock.js +0 -10
- package/dist-cjs/embeddings/models.d.ts +15 -0
- package/dist-cjs/embeddings/models.js +0 -44
- package/dist-cjs/embeddings/providers.d.ts +26 -0
- package/dist-cjs/embeddings/providers.js +0 -7
- package/dist-cjs/embeddings/register.js +0 -7
- package/dist-cjs/evals/index.d.ts +1 -1
- package/dist-cjs/evals/judge.d.ts +47 -0
- package/dist-cjs/evals/metrics.d.ts +89 -0
- package/dist-cjs/evals/runner.d.ts +72 -1
- package/dist-cjs/evals/runner.js +117 -32
- package/dist-cjs/evaluate/compare.d.ts +86 -0
- package/dist-cjs/evaluate/compare.js +140 -0
- package/dist-cjs/evaluate/datasets.d.ts +123 -0
- package/dist-cjs/evaluate/datasets.js +204 -0
- package/dist-cjs/evaluate/evaluators.d.ts +82 -0
- package/dist-cjs/evaluate/evaluators.js +181 -0
- package/dist-cjs/evaluate/index.d.ts +6 -0
- package/dist-cjs/evaluate/index.js +36 -0
- package/dist-cjs/evaluate/review.d.ts +138 -0
- package/dist-cjs/evaluate/review.js +149 -0
- package/dist-cjs/evaluate/run.d.ts +55 -0
- package/dist-cjs/evaluate/run.js +188 -0
- package/dist-cjs/evaluate/version.d.ts +8 -0
- package/dist-cjs/evaluate/version.js +11 -0
- package/dist-cjs/graph/channels.js +0 -12
- package/dist-cjs/graph/checkpointer.d.ts +13 -0
- package/dist-cjs/graph/checkpointer.js +0 -29
- package/dist-cjs/graph/errors.d.ts +60 -7
- package/dist-cjs/graph/errors.js +1 -29
- package/dist-cjs/graph/graph.d.ts +53 -12
- package/dist-cjs/graph/graph.js +116 -158
- package/dist-cjs/graph/index.d.ts +1 -1
- package/dist-cjs/graph/node-cache.d.ts +16 -0
- package/dist-cjs/graph/node-cache.js +111 -0
- package/dist-cjs/graph/visualize.d.ts +1 -0
- package/dist-cjs/graph/visualize.js +0 -14
- package/dist-cjs/hallucination/consistency.d.ts +14 -0
- package/dist-cjs/hallucination/factual.d.ts +11 -0
- package/dist-cjs/hallucination/knowledge-graph.d.ts +35 -0
- package/dist-cjs/hallucination/rag.d.ts +21 -0
- package/dist-cjs/hallucination/retrieval.d.ts +21 -0
- package/dist-cjs/hallucination/verification.d.ts +32 -0
- package/dist-cjs/images/asset-stores.d.ts +45 -0
- package/dist-cjs/images/asset-stores.js +0 -32
- package/dist-cjs/images/asset-support.d.ts +80 -2
- package/dist-cjs/images/assets.d.ts +13 -0
- package/dist-cjs/images/assets.js +0 -8
- package/dist-cjs/images/codec.d.ts +4 -0
- package/dist-cjs/images/codec.js +0 -9
- package/dist-cjs/images/comfyui.d.ts +27 -0
- package/dist-cjs/images/comfyui.js +0 -20
- package/dist-cjs/images/errors.d.ts +39 -5
- package/dist-cjs/images/evals.d.ts +89 -1
- package/dist-cjs/images/evals.js +80 -20
- package/dist-cjs/images/google.d.ts +12 -0
- package/dist-cjs/images/google.js +0 -15
- package/dist-cjs/images/image-header.d.ts +6 -0
- package/dist-cjs/images/image-header.js +0 -17
- package/dist-cjs/images/inputs.d.ts +15 -1
- package/dist-cjs/images/inputs.js +0 -18
- package/dist-cjs/images/manager.d.ts +13 -0
- package/dist-cjs/images/manager.js +0 -12
- package/dist-cjs/images/mock.d.ts +10 -0
- package/dist-cjs/images/mock.js +0 -1
- package/dist-cjs/images/moderation.d.ts +6 -0
- package/dist-cjs/images/moderation.js +0 -15
- package/dist-cjs/images/openai.d.ts +33 -1
- package/dist-cjs/images/openai.js +0 -10
- package/dist-cjs/images/transform.d.ts +17 -0
- package/dist-cjs/images/transform.js +0 -20
- package/dist-cjs/index.d.ts +3 -3
- package/dist-cjs/index.js +5 -4
- package/dist-cjs/jobs/batch.d.ts +12 -0
- package/dist-cjs/jobs/durable-adapters.d.ts +24 -0
- package/dist-cjs/jobs/queue.d.ts +17 -0
- package/dist-cjs/mcp/client.d.ts +37 -0
- package/dist-cjs/mcp/client.js +0 -32
- package/dist-cjs/mcp/protocol.d.ts +30 -1
- package/dist-cjs/mcp/protocol.js +0 -16
- package/dist-cjs/mcp/server.d.ts +7 -0
- package/dist-cjs/mcp/server.js +0 -17
- package/dist-cjs/models/registry.d.ts +25 -0
- package/dist-cjs/models/registry.js +0 -26
- package/dist-cjs/next/route-handler.d.ts +4 -0
- package/dist-cjs/operations/adapters.d.ts +26 -0
- package/dist-cjs/operations/adapters.js +3 -18
- package/dist-cjs/operations/errors.d.ts +72 -8
- package/dist-cjs/operations/errors.js +10 -20
- package/dist-cjs/operations/handle.d.ts +15 -1
- package/dist-cjs/operations/handle.js +0 -29
- package/dist-cjs/operations/index.d.ts +1 -1
- package/dist-cjs/operations/index.js +2 -1
- package/dist-cjs/operations/runner.js +11 -54
- package/dist-cjs/operations/serialization.d.ts +10 -0
- package/dist-cjs/operations/serialization.js +53 -0
- package/dist-cjs/operations/state-machine.d.ts +2 -0
- package/dist-cjs/operations/state-machine.js +0 -18
- package/dist-cjs/operations/store.d.ts +17 -9
- package/dist-cjs/operations/store.js +5 -69
- package/dist-cjs/operations/webhooks.d.ts +2 -0
- package/dist-cjs/operations/webhooks.js +0 -23
- package/dist-cjs/ops/audit-logger.d.ts +2 -0
- package/dist-cjs/ops/circuit-breaker.d.ts +120 -5
- package/dist-cjs/ops/circuit-breaker.js +85 -25
- package/dist-cjs/ops/circuit-store.d.ts +83 -0
- package/dist-cjs/ops/circuit-store.js +94 -0
- package/dist-cjs/ops/circuit-sync.d.ts +57 -0
- package/dist-cjs/ops/circuit-sync.js +126 -0
- package/dist-cjs/ops/family-telemetry.d.ts +10 -0
- package/dist-cjs/ops/family-telemetry.js +0 -12
- package/dist-cjs/ops/health.d.ts +28 -0
- package/dist-cjs/ops/metrics.d.ts +39 -0
- package/dist-cjs/ops/otel-tracing.d.ts +9 -0
- package/dist-cjs/ops/rate-limit-adapters.d.ts +13 -0
- package/dist-cjs/ops/rate-limit-adapters.js +0 -11
- package/dist-cjs/ops/rate-limiter.d.ts +12 -1
- package/dist-cjs/ops/rate-limiter.js +1 -11
- package/dist-cjs/optimizer/budget.d.ts +17 -1
- package/dist-cjs/optimizer/cost-budget.d.ts +2 -0
- package/dist-cjs/optimizer/cost-budget.js +0 -13
- package/dist-cjs/optimizer/cost.d.ts +9 -0
- package/dist-cjs/optimizer/cost.js +0 -15
- package/dist-cjs/optimizer/densifier.d.ts +6 -0
- package/dist-cjs/optimizer/index.d.ts +2 -0
- package/dist-cjs/pipeline/pipeline.d.ts +10 -0
- package/dist-cjs/pipeline/types.d.ts +46 -0
- package/dist-cjs/postgres/circuits.d.ts +38 -0
- package/dist-cjs/postgres/circuits.js +51 -0
- package/dist-cjs/postgres/client.d.ts +43 -0
- package/dist-cjs/postgres/client.js +39 -0
- package/dist-cjs/postgres/evaluate.d.ts +53 -0
- package/dist-cjs/postgres/evaluate.js +102 -0
- package/dist-cjs/postgres/index.d.ts +22 -0
- package/dist-cjs/postgres/index.js +40 -0
- package/dist-cjs/postgres/operations.d.ts +59 -0
- package/dist-cjs/postgres/operations.js +118 -0
- package/dist-cjs/postgres/sql.d.ts +23 -0
- package/dist-cjs/postgres/sql.js +36 -0
- package/dist-cjs/postgres/store.d.ts +55 -0
- package/dist-cjs/postgres/store.js +149 -0
- package/dist-cjs/postgres/traces.d.ts +37 -0
- package/dist-cjs/postgres/traces.js +122 -0
- package/dist-cjs/providers/anthropic.d.ts +4 -0
- package/dist-cjs/providers/anthropic.js +0 -31
- package/dist-cjs/providers/azure-openai.js +0 -3
- package/dist-cjs/providers/base.d.ts +10 -0
- package/dist-cjs/providers/base.js +0 -1
- package/dist-cjs/providers/cohere.d.ts +5 -0
- package/dist-cjs/providers/deepseek.js +0 -3
- package/dist-cjs/providers/errors.d.ts +33 -0
- package/dist-cjs/providers/google.d.ts +4 -0
- package/dist-cjs/providers/google.js +0 -14
- package/dist-cjs/providers/groq.d.ts +4 -0
- package/dist-cjs/providers/llamacpp.js +0 -3
- package/dist-cjs/providers/lmstudio.js +0 -3
- package/dist-cjs/providers/mistral.d.ts +4 -0
- package/dist-cjs/providers/ollama.d.ts +4 -0
- package/dist-cjs/providers/ollama.js +0 -1
- package/dist-cjs/providers/openai.d.ts +4 -0
- package/dist-cjs/providers/openai.js +0 -23
- package/dist-cjs/providers/openrouter.d.ts +4 -0
- package/dist-cjs/providers/type-guards.d.ts +8 -0
- package/dist-cjs/rag/file-ingestion.d.ts +15 -0
- package/dist-cjs/rag/ingestion.d.ts +15 -0
- package/dist-cjs/realtime/conversation.d.ts +21 -0
- package/dist-cjs/realtime/errors.d.ts +25 -0
- package/dist-cjs/realtime/events.d.ts +7 -0
- package/dist-cjs/realtime/id.d.ts +5 -0
- package/dist-cjs/realtime/mock.transport.d.ts +27 -0
- package/dist-cjs/realtime/mock.transport.js +0 -4
- package/dist-cjs/realtime/openai-events.d.ts +3 -0
- package/dist-cjs/realtime/openai-server.d.ts +30 -0
- package/dist-cjs/realtime/openai-webrtc.transport.d.ts +108 -0
- package/dist-cjs/realtime/openai-webrtc.transport.js +0 -7
- package/dist-cjs/realtime/openai-websocket.transport.d.ts +46 -0
- package/dist-cjs/realtime/openai-websocket.transport.js +0 -2
- package/dist-cjs/realtime/provider.d.ts +30 -0
- package/dist-cjs/realtime/session.d.ts +44 -0
- package/dist-cjs/realtime/session.js +0 -3
- package/dist-cjs/realtime/tools.d.ts +25 -0
- package/dist-cjs/realtime/transport-utils.js +0 -1
- package/dist-cjs/realtime/types.d.ts +394 -0
- package/dist-cjs/router/auto-router.d.ts +5 -0
- package/dist-cjs/router/auto-router.js +3 -10
- package/dist-cjs/router/failover.d.ts +15 -0
- package/dist-cjs/router/failover.js +34 -13
- package/dist-cjs/router/index.d.ts +7 -1
- package/dist-cjs/router/index.js +40 -0
- package/dist-cjs/router/types.d.ts +27 -4
- package/dist-cjs/security/index.d.ts +17 -0
- package/dist-cjs/security/index.js +0 -1
- package/dist-cjs/security/injection-calibration.d.ts +17 -0
- package/dist-cjs/security/injection-detector.d.ts +3 -0
- package/dist-cjs/security/input-guard.d.ts +2 -0
- package/dist-cjs/security/output-guard.d.ts +2 -0
- package/dist-cjs/security/output-guard.js +0 -10
- package/dist-cjs/security/pii-detector.d.ts +3 -0
- package/dist-cjs/security/policies.d.ts +3 -0
- package/dist-cjs/security/prompt-hardening.d.ts +4 -0
- package/dist-cjs/security/schema-validator.d.ts +2 -0
- package/dist-cjs/security/semantic-injection-classifier.d.ts +6 -0
- package/dist-cjs/security/upload-scanner.d.ts +28 -0
- package/dist-cjs/store/helpers.d.ts +8 -0
- package/dist-cjs/store/helpers.js +59 -0
- package/dist-cjs/store/memory.d.ts +11 -6
- package/dist-cjs/store/memory.js +10 -72
- package/dist-cjs/store/redis.d.ts +17 -0
- package/dist-cjs/store/redis.js +4 -13
- package/dist-cjs/telephony/errors.d.ts +9 -1
- package/dist-cjs/telephony/manager.d.ts +17 -0
- package/dist-cjs/telephony/providers/twilio.d.ts +25 -0
- package/dist-cjs/telephony/providers/twilio.js +0 -3
- package/dist-cjs/telephony/realtime-bridge.d.ts +11 -0
- package/dist-cjs/telephony/realtime-bridge.js +0 -19
- package/dist-cjs/telephony/twiml.d.ts +3 -0
- package/dist-cjs/testing/embedding-provider-conformance.d.ts +17 -0
- package/dist-cjs/testing/embedding-provider-conformance.js +0 -7
- package/dist-cjs/testing/image-provider-conformance.d.ts +29 -0
- package/dist-cjs/testing/image-provider-conformance.js +0 -1
- package/dist-cjs/testing/provider-conformance.d.ts +24 -0
- package/dist-cjs/testing/record.d.ts +141 -0
- package/dist-cjs/testing/record.js +223 -0
- package/dist-cjs/tracing/alerts.d.ts +19 -0
- package/dist-cjs/tracing/alerts.js +0 -9
- package/dist-cjs/tracing/compare.d.ts +10 -0
- package/dist-cjs/tracing/compare.js +0 -10
- package/dist-cjs/tracing/instrument.d.ts +9 -0
- package/dist-cjs/tracing/instrument.js +0 -16
- package/dist-cjs/tracing/query.d.ts +6 -0
- package/dist-cjs/tracing/query.js +65 -0
- package/dist-cjs/tracing/stores.d.ts +22 -3
- package/dist-cjs/tracing/stores.js +8 -84
- package/dist-cjs/tracing/tracer.d.ts +29 -0
- package/dist-cjs/tracing/tracer.js +0 -13
- package/dist-cjs/types/agent.d.ts +31 -0
- package/dist-cjs/types/batch.d.ts +55 -0
- package/dist-cjs/types/capabilities.d.ts +9 -0
- package/dist-cjs/types/config.d.ts +197 -0
- package/dist-cjs/types/context-window.d.ts +62 -0
- package/dist-cjs/types/embeddings.d.ts +97 -0
- package/dist-cjs/types/evaluate.d.ts +172 -0
- package/dist-cjs/types/evaluate.js +2 -0
- package/dist-cjs/types/graph.d.ts +137 -3
- package/dist-cjs/types/graph.js +0 -30
- package/dist-cjs/types/images.d.ts +178 -0
- package/dist-cjs/types/messages.d.ts +70 -0
- package/dist-cjs/types/operations.d.ts +84 -0
- package/dist-cjs/types/operations.js +0 -8
- package/dist-cjs/types/optimizer.d.ts +31 -0
- package/dist-cjs/types/planning.d.ts +29 -0
- package/dist-cjs/types/providers.d.ts +49 -0
- package/dist-cjs/types/providers.js +0 -40
- package/dist-cjs/types/response.d.ts +55 -0
- package/dist-cjs/types/security.d.ts +35 -0
- package/dist-cjs/types/store.d.ts +17 -0
- package/dist-cjs/types/store.js +0 -8
- package/dist-cjs/types/telephony.d.ts +216 -0
- package/dist-cjs/types/tracing.d.ts +53 -0
- package/dist-cjs/types/tracing.js +0 -9
- package/dist-cjs/types/voice.d.ts +170 -0
- package/dist-cjs/utils/safe-fetch.js +8 -38
- package/dist-cjs/utils/tokenizer.d.ts +7 -0
- package/dist-cjs/voice/errors.d.ts +9 -1
- package/dist-cjs/voice/manager.d.ts +16 -0
- package/dist-cjs/voice/providers/openai.d.ts +13 -0
- package/dist-cjs/voice/session.d.ts +16 -0
- package/dist-cjs/workflow/chains.d.ts +53 -0
- package/dist-cjs/workflow/domain.d.ts +28 -0
- 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
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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.
|
|
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
|