nexus-ai-pro 1.15.0 → 1.17.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 -7
- package/CHANGELOG.md +146 -1
- package/README.md +50 -2153
- 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 +22 -0
- package/dist/evaluate/compare.js +0 -13
- package/dist/evaluate/datasets.d.ts +45 -1
- package/dist/evaluate/datasets.js +44 -31
- package/dist/evaluate/evaluators.d.ts +11 -0
- package/dist/evaluate/evaluators.js +7 -29
- package/dist/evaluate/index.d.ts +2 -2
- package/dist/evaluate/index.js +2 -2
- package/dist/evaluate/review.d.ts +35 -0
- package/dist/evaluate/review.js +0 -24
- package/dist/evaluate/run.d.ts +23 -2
- package/dist/evaluate/run.js +40 -19
- 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 +4 -4
- 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 +23 -0
- package/dist/postgres/index.js +27 -0
- package/dist/postgres/operations.d.ts +59 -0
- package/dist/postgres/operations.js +113 -0
- package/dist/postgres/prompts.d.ts +50 -0
- package/dist/postgres/prompts.js +102 -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/prompts/client.d.ts +79 -0
- package/dist/prompts/client.js +133 -0
- package/dist/prompts/diff.d.ts +53 -0
- package/dist/prompts/diff.js +108 -0
- package/dist/prompts/errors.d.ts +73 -0
- package/dist/prompts/errors.js +59 -0
- package/dist/prompts/evaluate.d.ts +26 -0
- package/dist/prompts/evaluate.js +22 -0
- package/dist/prompts/file.d.ts +45 -0
- package/dist/prompts/file.js +117 -0
- package/dist/prompts/gates.d.ts +38 -0
- package/dist/prompts/gates.js +65 -0
- package/dist/prompts/index.d.ts +12 -0
- package/dist/prompts/index.js +4 -0
- package/dist/prompts/memory.d.ts +44 -0
- package/dist/prompts/memory.js +62 -0
- package/dist/prompts/redis.d.ts +78 -0
- package/dist/prompts/redis.js +96 -0
- package/dist/prompts/registry-entry.d.ts +13 -0
- package/dist/prompts/registry-entry.js +6 -0
- package/dist/prompts/registry.d.ts +168 -0
- package/dist/prompts/registry.js +231 -0
- package/dist/prompts/template.d.ts +112 -0
- package/dist/prompts/template.js +149 -0
- package/dist/prompts/variant.d.ts +7 -0
- package/dist/prompts/variant.js +22 -0
- package/dist/prompts/version.d.ts +15 -0
- package/dist/prompts/version.js +24 -0
- package/dist/prompts/webhooks.d.ts +11 -0
- package/dist/prompts/webhooks.js +24 -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 +1 -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 +55 -0
- package/dist/types/evaluate.js +0 -9
- 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 +92 -2
- 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/prompts.d.ts +182 -0
- package/dist/types/prompts.js +1 -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 +172 -2
- 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 +22 -0
- package/dist-cjs/evaluate/compare.js +0 -13
- package/dist-cjs/evaluate/datasets.d.ts +45 -1
- package/dist-cjs/evaluate/datasets.js +49 -35
- package/dist-cjs/evaluate/evaluators.d.ts +11 -0
- package/dist-cjs/evaluate/evaluators.js +8 -29
- package/dist-cjs/evaluate/index.d.ts +2 -2
- package/dist-cjs/evaluate/index.js +4 -1
- package/dist-cjs/evaluate/review.d.ts +35 -0
- package/dist-cjs/evaluate/review.js +0 -24
- package/dist-cjs/evaluate/run.d.ts +23 -2
- package/dist-cjs/evaluate/run.js +40 -19
- 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 +4 -4
- 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 +23 -0
- package/dist-cjs/postgres/index.js +45 -0
- package/dist-cjs/postgres/operations.d.ts +59 -0
- package/dist-cjs/postgres/operations.js +118 -0
- package/dist-cjs/postgres/prompts.d.ts +50 -0
- package/dist-cjs/postgres/prompts.js +107 -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/prompts/client.d.ts +79 -0
- package/dist-cjs/prompts/client.js +137 -0
- package/dist-cjs/prompts/diff.d.ts +53 -0
- package/dist-cjs/prompts/diff.js +113 -0
- package/dist-cjs/prompts/errors.d.ts +73 -0
- package/dist-cjs/prompts/errors.js +68 -0
- package/dist-cjs/prompts/evaluate.d.ts +26 -0
- package/dist-cjs/prompts/evaluate.js +58 -0
- package/dist-cjs/prompts/file.d.ts +45 -0
- package/dist-cjs/prompts/file.js +124 -0
- package/dist-cjs/prompts/gates.d.ts +38 -0
- package/dist-cjs/prompts/gates.js +102 -0
- package/dist-cjs/prompts/index.d.ts +12 -0
- package/dist-cjs/prompts/index.js +19 -0
- package/dist-cjs/prompts/memory.d.ts +44 -0
- package/dist-cjs/prompts/memory.js +66 -0
- package/dist-cjs/prompts/redis.d.ts +78 -0
- package/dist-cjs/prompts/redis.js +100 -0
- package/dist-cjs/prompts/registry-entry.d.ts +13 -0
- package/dist-cjs/prompts/registry-entry.js +19 -0
- package/dist-cjs/prompts/registry.d.ts +168 -0
- package/dist-cjs/prompts/registry.js +268 -0
- package/dist-cjs/prompts/template.d.ts +112 -0
- package/dist-cjs/prompts/template.js +154 -0
- package/dist-cjs/prompts/variant.d.ts +7 -0
- package/dist-cjs/prompts/variant.js +25 -0
- package/dist-cjs/prompts/version.d.ts +15 -0
- package/dist-cjs/prompts/version.js +28 -0
- package/dist-cjs/prompts/webhooks.d.ts +11 -0
- package/dist-cjs/prompts/webhooks.js +28 -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 +1 -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 +55 -0
- package/dist-cjs/types/evaluate.js +0 -9
- 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 +92 -2
- 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/prompts.d.ts +182 -0
- package/dist-cjs/types/prompts.js +2 -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 +172 -2
- 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 +201 -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`
|
|
@@ -368,9 +385,46 @@ are normalized; new optional fields and new bundled evaluators may be added in a
|
|
|
368
385
|
same inputs give the same verdict; the exact interval bounds may change if the method improves, and
|
|
369
386
|
a verdict is a judgement about evidence rather than a compatibility guarantee.
|
|
370
387
|
- `evaluate()` reports a target's failure as a failed example and an evaluator's failure as a failed
|
|
371
|
-
measurement; neither throws.
|
|
372
|
-
|
|
373
|
-
|
|
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
|
+
|
|
415
|
+
## Prompt stages (1.17.0)
|
|
416
|
+
|
|
417
|
+
The `nexus-ai-pro/prompts` subpaths and `nexus-ai-pro/postgres/prompts` are experimental in
|
|
418
|
+
production readiness, as the image family is: their exported types, functions, and classes follow the
|
|
419
|
+
1.x semantic versioning rules, and the experimental label does not permit an incompatible minor or
|
|
420
|
+
patch release. None is exported from the root.
|
|
421
|
+
|
|
422
|
+
- The content version algorithm is a guarantee. `promptVersion()` gives the same version for the
|
|
423
|
+
same content in every 1.x release, so an upgrade never re-versions a committed prompt.
|
|
424
|
+
- Version, label, and history records only gain fields in the 1.x line, and the Postgres schema
|
|
425
|
+
follows the additive rule above.
|
|
426
|
+
- The wording of gate reasons, of the note a forced promotion records, and of `formatPromptDiff()`
|
|
427
|
+
output is for people and may improve in any release.
|
|
374
428
|
|
|
375
429
|
## Deprecation process
|
|
376
430
|
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,149 @@ Notable changes to this project are recorded here. The format follows [Keep a Ch
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.17.0] - 2026-09-23
|
|
8
|
+
|
|
9
|
+
Prompt versioning, and documentation you can navigate. Prompts are defined with typed variables,
|
|
10
|
+
versioned by their content, promoted between labels only after their gates agree, and served through
|
|
11
|
+
registry outages; every feature now has its own guide, and the README is an overview that links to them.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **Prompt templates** (`nexus-ai-pro/prompts`). `definePrompt()` types a prompt's variables from its
|
|
16
|
+
template text, so a missing or misspelled variable is a compile-time error. Templates support dot
|
|
17
|
+
paths, partials, placeholders for whole messages, defaults, and a request configuration versioned
|
|
18
|
+
with the prompt. `promptVersion()` derives a version from the content, identical in every runtime.
|
|
19
|
+
- **A prompt registry** (`nexus-ai-pro/prompts/registry`). `PromptRegistry` commits versions, points
|
|
20
|
+
labels such as `staging` and `production` at them, and records every change. `promote()` runs the
|
|
21
|
+
gates registered for the destination label: `experimentGate()` requires a passing experiment for
|
|
22
|
+
the exact version, with thresholds and an optional no-regression check, and `servedByGate()` requires
|
|
23
|
+
a version to be served by another label first. `rollback()`, `split()` for sticky A/B tests, and
|
|
24
|
+
`diff()` with `formatPromptDiff()` complete it. Label writes are compare-and-set, and changes can be
|
|
25
|
+
posted to signed webhooks, verified with `verifyPromptWebhook()`.
|
|
26
|
+
- **`evaluatePrompt()`**, the headless playground: runs a prompt version over a dataset and stores an
|
|
27
|
+
experiment tagged with that version, which is what `experimentGate()` looks for.
|
|
28
|
+
- **A serving client** (`nexus-ai-pro/prompts/client`). `PromptClient` caches labels with a TTL and a
|
|
29
|
+
stale-while-revalidate window, shares concurrent refreshes, keeps serving the last version seen when
|
|
30
|
+
the registry is unreachable, falls back to prompts bundled in code on a cold start, and picks a
|
|
31
|
+
sticky A/B arm per key.
|
|
32
|
+
- **Prompt stores**: `MemoryPromptStore`, `FilePromptStore` (`/prompts/file`), `RedisPromptStore`
|
|
33
|
+
(`/prompts/redis`), and `PostgresPromptStore` (`/postgres/prompts`), all tested against one
|
|
34
|
+
contract. `postgresMigration()` and `nexus db sql` include the prompt tables.
|
|
35
|
+
- A model call traced with `traceModelClient()` records the prompt name, version, label, and arm it
|
|
36
|
+
was rendered from.
|
|
37
|
+
- **A guide for every feature**, under `docs/`. Each guide covers every export of its entry points and
|
|
38
|
+
ends with a reference generated from the doc comments. `npm run docs:guides` fails when an export
|
|
39
|
+
is not named in a guide or a reference is stale, and runs in `npm test`; `npm run docs:update`
|
|
40
|
+
regenerates the references.
|
|
41
|
+
- `BinaryBuffer`: Node's `Buffer` when Node's types are loaded, otherwise `Uint8Array`.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- The README is an overview that links to the guides; the moved sections live in `docs/`, and the
|
|
46
|
+
size table is in `docs/packaging.md`.
|
|
47
|
+
- The combined Postgres migration creates three more tables, for prompts.
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- The message types referred to Node's `Buffer` and `NodeJS.ReadableStream`, so a project without
|
|
52
|
+
Node's type definitions, such as a browser app, failed to type-check anything that reached them.
|
|
53
|
+
They now compile either way, and are unchanged for Node projects.
|
|
54
|
+
|
|
55
|
+
## [1.16.0] - 2026-09-22
|
|
56
|
+
|
|
57
|
+
Shared state and the command line. Everything that has to outlive a process or be shared between
|
|
58
|
+
workers now has a Postgres adapter, circuit decisions are shared across a fleet, the evaluation
|
|
59
|
+
platform has a CI gate, and suites that needed credentials can run from recorded provider traffic.
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
- **A Postgres adapter family** (`nexus-ai-pro/postgres`, with one subpath per adapter):
|
|
64
|
+
`PostgresOperationStore`, `PostgresStore` (long-term memory, ranked by pgvector when
|
|
65
|
+
`vectorDimensions` is set), `PostgresTraceStore`, `PostgresDatasetStore`, `PostgresExperimentStore`,
|
|
66
|
+
and `PostgresCircuitStateStore`.
|
|
67
|
+
- Each takes any client with `query(text, values)` — `pg`, `@neondatabase/serverless`, PGlite — and
|
|
68
|
+
`fromPostgresJs()` adapts `postgres.js`. No driver becomes a dependency.
|
|
69
|
+
- Nothing creates a schema at import: `migrate()`, `postgresMigration()`, and `nexus db sql` apply
|
|
70
|
+
or print it.
|
|
71
|
+
- Idempotency keys are unique in the operations table, so two workers racing to submit one key run
|
|
72
|
+
the work once. Graph threads persist across workers through `OperationStoreCheckpointer`.
|
|
73
|
+
- **Shared circuit state.** `circuitBreaker.store` takes a `CircuitStateStore`: memory and Redis
|
|
74
|
+
adapters in `nexus-ai-pro/ops/circuit-store`, Postgres in `/postgres/circuits`. A provider that
|
|
75
|
+
fails in one worker is taken out of routing in all of them, and one worker at a time probes it when
|
|
76
|
+
the cooldown ends. Checks stay synchronous; the coordination code loads only when a store is
|
|
77
|
+
configured. `ai.syncCircuitBreaker()` loads shared state at startup.
|
|
78
|
+
- **Evaluation from the command line.** `nexus eval run`, `nexus eval compare`, and `nexus eval gate`
|
|
79
|
+
run an evaluation module to an experiment file and fail a build only on a regression beyond noise,
|
|
80
|
+
a new failure, or a dataset mismatch. `nexus traces list`, `show`, and `export` read a JSONL file or
|
|
81
|
+
any trace store a module exports. `nexus db sql` prints the Postgres schema. Every command takes
|
|
82
|
+
`--json`, and a usage error exits with 2.
|
|
83
|
+
- **Record and replay** (`nexus-ai-pro/testing/record`). `recordingFetch()` writes provider traffic
|
|
84
|
+
to reviewable fixture files with credentials removed; `replayFetch()` serves it back with no network
|
|
85
|
+
and throws `FixtureMissingError` for anything unrecorded; `fixtureFetch()` picks the mode from
|
|
86
|
+
`NEXUS_FIXTURES`; `installFetch()` covers code that calls the global `fetch`. Multipart boundaries
|
|
87
|
+
and key order do not break matching.
|
|
88
|
+
- **Image conformance from recordings.** `npm run conformance:images:record` records the image suite
|
|
89
|
+
against every backend with credentials present; `npm run test:conformance:images` replays it in CI
|
|
90
|
+
and reports any backend without recordings rather than counting it as a pass.
|
|
91
|
+
- **Graph input and output channels.** `createGraph({ channels, input, output })` restricts what a
|
|
92
|
+
caller may pass in and what comes back, in the types and at run time. As a subgraph, a graph
|
|
93
|
+
receives only its inputs and merges back only its outputs.
|
|
94
|
+
- **Per-node caching.** `addNode(name, fn, { cache: { key, ttlMs, store } })` reuses a node's result
|
|
95
|
+
for the same state and input, in a bounded in-process map or any cache adapter
|
|
96
|
+
(`compile({ cache })` sets a default). Failures, interrupts, human answers, and parent commands are
|
|
97
|
+
never cached; a failing cache is a miss.
|
|
98
|
+
- **Evaluation additions.** `underCost()` per-example cost gate; `FileExperimentStore` and
|
|
99
|
+
`readExperiment()`; `repetitions` may be a function per example; the target receives the abort
|
|
100
|
+
signal.
|
|
101
|
+
- `EvalRunner.run()` and `MediaEvalRunner.evaluate()` return the experiment underneath their report,
|
|
102
|
+
and accept options to name and store it.
|
|
103
|
+
- `OperationDuplicateError`, raised by stores that enforce unique idempotency keys.
|
|
104
|
+
- **Documentation coverage.** Every public export, and every public member of an exported class,
|
|
105
|
+
interface, or enum, now has a doc comment: 4,651 declarations across 88 entry points.
|
|
106
|
+
`npm run docs:check` enforces it and runs as part of `npm test`.
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
|
|
110
|
+
- `EvalRunner` and `MediaEvalRunner` now run on `evaluate()`. Their results and errors are unchanged;
|
|
111
|
+
`evaluate()` is loaded the first time they run, so neither entry point grew.
|
|
112
|
+
- A caller cancelling a request no longer counts against a provider's circuit.
|
|
113
|
+
- Circuit probe limits are enforced on every attempt through the failover executor, so concurrent
|
|
114
|
+
requests go to a fallback instead of all probing a half-open provider.
|
|
115
|
+
- Comments are stripped from the emitted JavaScript and kept in the type declarations, where editors
|
|
116
|
+
read them. Every entry point shrinks as a result: the root import is 572 KB, down from 612 KB, even
|
|
117
|
+
after the breaker fixes, the `EvalRunner` rebuild, and duplicate-key handling. The published size
|
|
118
|
+
table has the per-entry-point figures.
|
|
119
|
+
- The packed tarball is 666 KB and 4.1 MB unpacked, up from 3.5 MB, almost all of it the doc comments
|
|
120
|
+
in the type declarations, which are shipped for both ESM and CommonJS.
|
|
121
|
+
|
|
122
|
+
### Fixed
|
|
123
|
+
|
|
124
|
+
- `evaluate()` ignored its `signal` option; aborting now stops new examples, reaches targets, and
|
|
125
|
+
never stores a partial experiment.
|
|
126
|
+
- `evaluate()` never recorded cost, so `totalCost()` always reported 0. Cost is now read from
|
|
127
|
+
completion and image results or from a `cost` option.
|
|
128
|
+
- A half-open probe slot was never released when an attempt's error did not count as a failure,
|
|
129
|
+
leaving the circuit refusing traffic until it was reset.
|
|
130
|
+
- The breaker's documented `halfOpenMaxCalls` was not enforced on real requests: the client routed
|
|
131
|
+
every request to a half-open provider.
|
|
132
|
+
- The context-window summary call could route to a provider whose circuit was open.
|
|
133
|
+
- `routing.fallback` was accepted but never applied. `onError` models are now tried after every
|
|
134
|
+
route the router chose, `onTimeout` gives the first attempt its own timeout before its fallback,
|
|
135
|
+
and `onRateLimit` retries a rate-limited first attempt before falling back.
|
|
136
|
+
- Privacy routing ignored a provider's own `isLocal` declaration, so an OpenAI-compatible server
|
|
137
|
+
configured as local was still scored as hosted.
|
|
138
|
+
|
|
139
|
+
### Deprecated
|
|
140
|
+
|
|
141
|
+
These options were accepted but never read. They still type-check, do nothing, and will be removed
|
|
142
|
+
in 2.0.
|
|
143
|
+
|
|
144
|
+
- `GoogleProviderConfig.projectId`.
|
|
145
|
+
- `OllamaProviderConfig.timeout`.
|
|
146
|
+
- `MetricsConfig.prometheus`: Prometheus text is always available from `getPrometheusMetrics()`.
|
|
147
|
+
- `DensificationConfig.preserveMarkdown`: densification never rewrites Markdown structure.
|
|
148
|
+
- `HealthConfig.latencyHalfLife`: latency is averaged with a fixed weight.
|
|
149
|
+
|
|
7
150
|
## [1.15.0] - 2026-09-21
|
|
8
151
|
|
|
9
152
|
Evaluation. One entry point for evaluating anything, datasets versioned by their content, experiments
|
|
@@ -751,7 +894,9 @@ shared policy vocabulary is in place for a future release that revisits this.
|
|
|
751
894
|
- URL fetching rejects unsafe private-network targets and limits response reads.
|
|
752
895
|
- CLI and audit findings no longer disclose detected secret values.
|
|
753
896
|
|
|
754
|
-
[Unreleased]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.
|
|
897
|
+
[Unreleased]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.17.0...HEAD
|
|
898
|
+
[1.17.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.16.0...v1.17.0
|
|
899
|
+
[1.16.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.15.0...v1.16.0
|
|
755
900
|
[1.15.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.14.0...v1.15.0
|
|
756
901
|
[1.14.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.12.0...v1.14.0
|
|
757
902
|
[1.12.0]: https://github.com/mkhitar-abrahamyan/nexus-ai/compare/v1.11.0...v1.12.0
|