dependabot[bot]
75453544e1
chore(deps): Bump actions/setup-python from 5.6.0 to 7.0.0
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5.6.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/a26af69be951a213d495a4c3e4e4022e16d87065...5fda3b95a4ea91299a34e894583c3862153e4b97 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-27 19:29:49 +00:00
Nandakishor and Claude Opus 5.5
9d95567141
release: 0.3.21, ONNX batch/long parity, opt-in abstention, batch and budget on every surface
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
v0.3.21
2026-09-28 00:57:17 +05:30
Nandakishor and Claude Opus 5.5
e63a02929f
docs(onnx): list predict_long's hook arguments one per line so the reference renders
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:57:17 +05:30
Nandakishor and Claude Opus 5.5
794c5fd3bc
chore: wire the merged env vars, extras and suites through nix, docs and CI guards
...
- nix/laya-serve.nix: maxLoaded, maxTokenBudget and revision options for LAYA_MAX_LOADED
(#603 ), LAYA_MAX_TOKEN_BUDGET (#566 ) and LAYA_REVISION (#605 ); test_packaging counts
mcp/device.py's _ENV_KEY as the LAYA_DEVICE read serve now goes through (#574 ).
- docs/docker.md documents LAYA_REVISION.
- test_audit_scope knows the llamaindex/crewai extras and onnxscript.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:54:23 +05:30
Nandakishor and Claude Opus 5.5
588766b705
feat(langchain): send max_len/head_max_len to laya-serve instead of refusing them
...
#530 refused a token budget on a remote node because laya-serve had no field for it. #566
added the field (bounded by LAYA_MAX_TOKEN_BUDGET), so _call_remote now puts the override in
the request body. Also puts the budget and hooks sections of docs/langchain.md back at the
end of the page in order (5-8).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:54:23 +05:30
Nandakishor and Claude Opus 5.5
ed5f7de4ad
fix(integrations): one LayaLowConfidenceError for LlamaIndex and CrewAI, local URLs in tests
...
#533 and #535 each defined their own LayaLowConfidenceError, so laya.integrations exported
whichever was imported last and 'except' on it missed the other integration's errors. Both
now import the class from laya/integrations/_errors.py.
The remote-mode tests used https://api.laya.ai as a placeholder. Laya has no hosted API, so
the tests use a local laya-serve address instead.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:54:23 +05:30
Nandakishor and Claude Opus 5.5
3b0998b26d
fix(serve): only set TCP_NODELAY on TCP sockets, and never fail a connection over it
...
#624 called setsockopt on whatever transport.get_extra_info("socket") returned. A Unix
socket (or a transport with no socket) would raise inside connection_made and drop the
connection, for what is only a latency hint.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:54:22 +05:30
Nandakishor and Claude Opus 5.5
bd1513e924
fix(onnx,structured): keep ONNXAgent and decide_batch in step after the batch merges
...
- ONNXAgent.predict_long takes the per-call hooks Agent.predict_long gained in #577 , with
the same usage["windows"] contract (1 for one window, 0 for a hook's answer, no window
attribution on a rewritten scan). tests/test_onnx_long.py's parity check caught the gap.
- decide_batch takes min_confidence like decide (#361 ), and ONNXAgent gets decide_batch now
that it has predict_batch (#489 ). The docs no longer say ONNXAgent cannot batch.
- test_structured_docs follows decide's signature, and the API table names callables that
exist (agent./router.decide_batch).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:54:22 +05:30
Nandakishor
f888f43786
Merge pull request #542 from aashish254/feat-cli-questions
...
feat(cli): answer your own questions, and give them the token budget they need
# Conflicts:
# README.md
# laya/cli.py
# tests/test_cli.py
2026-09-28 00:54:22 +05:30
Nandakishor
6e19780df8
Merge pull request #625 from modusensus/fix/example-server-error-text
...
fix(server): keep exception text out of responses, log it instead
# Conflicts:
# .github/workflows/ci.yml
# examples/server.py
2026-09-28 00:54:22 +05:30
Nandakishor
ca59ce2785
Merge pull request #624 from Jayanth-reflex/fix/serve-tcp-nodelay
...
fix(serve): set TCP_NODELAY on every accepted connection
# Conflicts:
# tests/test_serve.py
2026-09-28 00:54:22 +05:30
Nandakishor
8ad061ba68
Merge pull request #619 from aashish254/feat-onnx-load-token
...
feat(onnx): let ONNXAgent authenticate its Hub download the way Agent does
# Conflicts:
# tests/test_download.py
2026-09-28 00:54:22 +05:30
Nandakishor
9b8715f419
Merge pull request #618 from Swatantra-66/ci/missing-test-coverage
...
ci(workflows): run missing test suites in CI and guard against test omission (#399 )
# Conflicts:
# .github/workflows/ci.yml
# .github/workflows/release.yml
2026-09-28 00:54:22 +05:30
Nandakishor
3616158b6b
Merge pull request #617 from aashish254/feat-load-compile
...
feat(agent): let laya.load reach the compile option Agent already takes
# Conflicts:
# tests/test_download.py
2026-09-28 00:54:22 +05:30
Nandakishor
008deb86a4
Merge pull request #615 from RagingSilence/perf/reuse-question-tokenization
...
perf(agent): reuse question tokenization within prediction batches
# Conflicts:
# .github/workflows/ci.yml
# laya/agent.py
2026-09-28 00:54:22 +05:30
Nandakishor
0b1374f405
Merge pull request #614 from aashish254/feat-nix-deployment-parity
...
fix(nix): the module must not refuse names laya accepts, must not copy them, and must reach every knob the server reads
2026-09-28 00:54:22 +05:30
Nandakishor
7c8c526cba
Merge pull request #613 from aashish254/feat-mcp-device-label
...
fix(mcp): the auto-detected device label must know about MPS and XPU
2026-09-28 00:54:22 +05:30
Nandakishor
6451ab538c
Merge pull request #612 from nefro313/main
...
docs(install): document installing with uv
# Conflicts:
# README.md
2026-09-28 00:54:22 +05:30
Nandakishor
fe210ebd3f
Merge pull request #611 from aashish254/feat-demo-predict-batch
...
fix(examples): /predict/batch must call Router.predict_batch, not predict per state
# Conflicts:
# tests/test_example_server_limits.py
2026-09-28 00:54:22 +05:30
Nandakishor
90f074b054
Merge pull request #610 from AliAkbariAlashti/fix/ci-job-timeouts
...
ci: bound remaining workflow jobs
2026-09-28 00:54:22 +05:30
Nandakishor
9b2e86cb58
Merge pull request #609 from rahul05ranjan/fix/validate-questions-and-state
...
fix(agent): validate questions and reject None state before serialization
2026-09-28 00:54:22 +05:30
Nandakishor
d3863bdade
Merge pull request #606 from hemanthrayuduu/fix/router-predict-batch-followups
...
fix(router): predict_batch hook follow-ups to #289
# Conflicts:
# docs/hooks/lifecycle.md
# laya/router.py
2026-09-28 00:54:21 +05:30
Nandakishor
897aaf6904
Merge pull request #605 from aashish254/feat-revision-env
...
feat(revisions): let LAYA_REVISION pick the checkpoint commit
2026-09-28 00:54:21 +05:30
Nandakishor
d28aef54f6
Merge pull request #604 from aashish254/fix-demo-max-loaded
...
fix(examples): the demo's resident-checkpoint cap must follow laya's own
# Conflicts:
# tests/test_example_server_limits.py
2026-09-28 00:54:21 +05:30
Nandakishor
98e3fa9036
Merge pull request #603 from aashish254/fix-serve-max-loaded
...
feat(serve): make the resident-checkpoint cap reachable (LAYA_MAX_LOADED)
# Conflicts:
# docs/docker.md
# laya/serve.py
# tests/test_serve.py
2026-09-28 00:54:21 +05:30
Nandakishor
de8900610d
Merge pull request #601 from aashish254/fix-mcp-auto-task
...
fix(mcp): honour LAYA_AUTO_TASK, the one serve env var that changes routing
2026-09-28 00:54:21 +05:30
Nandakishor
e0e8154c9f
Merge pull request #598 from gRain-is-grainy/fix/guardrail-score-threshold
...
fix(integrations): gate a guardrail score question on its upper-half probability
# Conflicts:
# laya/integrations/langchain.py
2026-09-28 00:31:28 +05:30
Nandakishor
a5b7fd9a48
Merge pull request #597 from aashish254/feat-entrypoint-secret-parity
...
test(docker)+ci: every secret the container entrypoint loads has to be proven, including over HTTP
2026-09-28 00:31:10 +05:30
Nandakishor
ea6daa87cd
Merge pull request #596 from aashish254/feat-structured-docs-subset
...
docs(structured): the subset tables now say what the compiler maps
2026-09-28 00:31:10 +05:30
Nandakishor
8b3b7082e5
Merge pull request #595 from aashish254/feat-audit-extras
...
fix(security): audit every declared dependency, not just the core five
# Conflicts:
# .github/workflows/ci.yml
2026-09-28 00:31:10 +05:30
Nandakishor
c16b8528cc
Merge pull request #594 from aashish254/feat-compose-amp-env
...
fix(compose): forward the autocast dtype overrides the runtime reads
2026-09-28 00:31:02 +05:30
Nandakishor
733a34635a
Merge pull request #593 from aashish254/feat-evals-cli-within
...
feat(evals): let laya-evals run ask for the tolerance metric its docs publish
# Conflicts:
# laya/evals_cli.py
# tests/test_evals.py
2026-09-28 00:31:02 +05:30
Nandakishor
e0b5dbf615
Merge pull request #591 from aashish254/fix-hooks-patterns-cover-batch
...
fix(hooks): cover every decision of a call in the taught hook patterns
2026-09-28 00:30:18 +05:30
Nandakishor
1e28b6e467
Merge pull request #590 from aashish254/fix-cache-key-question-order
...
fix(examples): key the cache hook on what the answer depends on
2026-09-28 00:30:18 +05:30
Nandakishor
1c84cb90df
Merge pull request #589 from aashish254/feat-email-state-max-chars
...
fix(email): email_state swallowed max_chars into the model's input
2026-09-28 00:30:18 +05:30
Nandakishor
691d0fcf2d
Merge pull request #588 from aashish254/feat-evals-revision
...
feat(evals): pin the checkpoint commit a run scores, and record it in the report
# Conflicts:
# docs/evals.md
# laya/evals_cli.py
2026-09-28 00:30:18 +05:30
Nandakishor
188aa9fae9
Merge pull request #587 from aashish254/feat-docs-export-coverage
...
docs(reference): render cached_embed_fn and gate every name in __all__
# Conflicts:
# tests/test_packaging.py
2026-09-28 00:29:49 +05:30
Nandakishor
9f0d06c23b
Merge pull request #592 from aashish254/fix-evals-latency-quantity
...
fix(evals): report what a request waited, and name the throughput share
2026-09-28 00:29:36 +05:30
Nandakishor
a7f7b4bd4e
Merge pull request #583 from aashish254/feat-router-batch-budget
...
feat(router): honour a request's token budget in predict_batch
# Conflicts:
# tests/test_router_batch.py
2026-09-28 00:29:36 +05:30
Nandakishor
762e1d849a
Merge pull request #581 from NandhaKishorM/dependabot/github_actions/actions/setup-node-7.0.0
...
build(deps): bump actions/setup-node from 4.4.0 to 7.0.0
2026-09-28 00:29:26 +05:30
Nandakishor
a7b8eeebda
Merge pull request #580 from NandhaKishorM/dependabot/github_actions/actions/download-artifact-8.0.1
...
build(deps): bump actions/download-artifact from 4.3.0 to 8.0.1
2026-09-28 00:29:26 +05:30
Nandakishor
8c270c287c
Merge pull request #579 from NandhaKishorM/dependabot/github_actions/github/codeql-action/analyze-4.38.1
...
build(deps): bump github/codeql-action/analyze from 3.38.2 to 4.38.1
2026-09-28 00:29:26 +05:30
Nandakishor
3546b57b7f
Merge pull request #578 from NandhaKishorM/dependabot/github_actions/github/codeql-action/init-4.38.1
...
build(deps): bump github/codeql-action/init from 3.38.2 to 4.38.1
2026-09-28 00:29:26 +05:30
Nandakishor
d6f1f3e3a3
Merge pull request #577 from aashish254/feat-predict-long-hooks
...
feat(agent): per-call prediction hooks on predict_long, and no window for a skipped answer
# Conflicts:
# tests/test_predict_long.py
2026-09-28 00:29:26 +05:30
Nandakishor
4196a39b5b
Merge pull request #576 from cklxx/feat/compile-cold-start
...
perf(agent): stop compile=True from recompiling on every new request shape (part 1 of #472 )
# Conflicts:
# laya/agent.py
2026-09-28 00:29:16 +05:30
Nandakishor
39411b1b79
Merge pull request #575 from aashish254/feat-env-docs
...
docs(env): write down the two LAYA_* names no page carried, and sweep for the rest
2026-09-28 00:29:06 +05:30
Nandakishor
f964afd530
Merge pull request #574 from aashish254/feat-serve-health
...
fix(serve): /health reports where inference actually runs, not the requested device
# Conflicts:
# laya/serve.py
2026-09-28 00:29:06 +05:30
Nandakishor
7c6af40abf
Merge pull request #573 from rsshir60/main
...
test(lang): add Hindi and Marathi routing regression tests
2026-09-28 00:28:49 +05:30
Nandakishor and Claude Opus 5.5
7ac55ad909
fix(router): keep Router's positional parameters where they were
...
#568 and #572 added agent_kwargs and sha256_digests in the middle of the signature,
ahead of max_loaded, so Router(models, device, token, revision, revisions, 2) would
have bound 2 to agent_kwargs. Both are new, so they go last instead.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 00:28:42 +05:30
Nandakishor
7febda4c9b
Merge pull request #572 from aashish254/feat-router-digests
...
feat(router): verify each checkpoint with its own SHA-256 map
# Conflicts:
# laya/router.py
# tests/test_hooks_api.py
# tests/test_revision_pinning.py
2026-09-28 00:28:40 +05:30