QVAC-21751 chore[bc]: use @qvac/inference for SDK - #3595
Merged
Conversation
Contributor
License compliance — findings detected (warn-only)Critical: 0 · High: 4 · Medium: 0
How to resolve a blocking finding:
Warn-only (shadow) mode — this check does not block merges yet. Updated automatically by the canonical license compliance workflow. NOTICE presence (advisory)Missing NOTICE (advisory, does not block):
|
arun-mani-j
force-pushed
the
feature-splitSdk
branch
from
August 3, 2026 08:49
eb25c56 to
e400c94
Compare
arun-mani-j
force-pushed
the
arun-mani-j/useInference
branch
2 times, most recently
from
August 3, 2026 08:58
ecd2bd0 to
b69b8e0
Compare
Contributor
Review StatusCurrent Status: ✅ APPROVED |
arun-mani-j
force-pushed
the
feature-splitSdk
branch
from
August 3, 2026 11:22
4e2a6a1 to
463a976
Compare
arun-mani-j
force-pushed
the
arun-mani-j/useInference
branch
from
August 3, 2026 11:45
b69b8e0 to
4129c6d
Compare
lauripiisang
requested changes
Aug 13, 2026
lauripiisang
requested changes
Aug 17, 2026
lauripiisang
left a comment
Contributor
There was a problem hiding this comment.
Few things to still catch up on, mainly the python SDK lookup breaking (it wasn't easily findable by the full path).
The link workspace having an unlink counterpart is a nice-to-have.
opaninakuffo
requested changes
Aug 21, 2026
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
…istry Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
…hrough the SDK Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Resolve inference once before platform fan-out so SDK e2e runs use the same branch build or published version everywhere. Normalize Windows branch tarball paths for Bun compatibility.
…dk layout Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Private GitHub Packages access is unavailable under the CI token policy, so keep branch builds, npm versions, and manifest dependencies as the supported SDK E2E sources.
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
…gration guidance Signed-off-by: Arun Mani J <j.arunmani@proton.me>
opaninakuffo
approved these changes
Aug 21, 2026
lauripiisang
approved these changes
Aug 21, 2026
Victor-Rodzko
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 What problem does this PR solve?
@qvac/sdk, coupling the engine to the SDK and blocking standalone use of the engine.@qvac/bare-sdkcarries a copy of the@qvac/sdksources and a mirrored dependency set, kept aligned by parity/leak scripts.📝 How does it solve it?
@qvac/inferenceis a standalone package holding the engine: dispatch, validation, handlers, plugins, registry, runtime, schemas, model registry, and the engine-levelserver/utils/*helpers (completion normalizer, tool parsing, path-security, archive, gguf/shard, config-transform, …).@qvac/sdkis a thin client over@qvac/inference. It keeps its client, transports, and worker orchestration, and re-exports the engine surface, so consumer imports (loadModel,completion, plugins,plugin-utils, logging ids, model constants) are unchanged.@qvac/inferenceengine; the Node/Electron/Expo transports drive that worker over RPC.@qvac/inferenceregistry — no duplicate registry in the SDK.@qvac/sdk/*name (PluginId,SDK_DEFAULT_PLUGINS,PLUGIN_*) and resolve to the inference plugins.@qvac/inference: engine unit tests live only in inference, the SDK's Bare/security test tooling is retired (surface istest:unit+e2e), and the Node contract is generated from the@qvac/inferencesurface.@qvac/bare-sdkis a thin re-export of@qvac/inference(index / logging / models / plugins / plugin-utils and each built-in plugin, one./pluginsexport), with no addon dependencies and no bundled_sdk/tree../onnx-tts/pluginis kept as a one-line alias.build-sibling-sdk.mjs,bundle-from-sdk.mjs,check-deps-vs-sdk.mjs,check-no-addon-deps.mjs,check-no-addon-leaks.mjs,plugin-addons.mjs, and the bare-sdk dep-parity step inpr-checks-sdk-pod.yml.🧪 How was it tested?
@qvac/sdk: unit, lint, build, and contract checks pass; the regenerated contract matches a fresh generation from the@qvac/inferencesurface.@qvac/inference: format, lint, typecheck, build, andtest:barepass.LLAMA_3_2_1B) content assertions incompletion, unrelated to the split; every structural category (model, plugin, kv-cache, tools, ocr, diffusion, vla, tts, delegated-inference, lifecycle, registry, system-resources, …) passed 100%.💥 Breaking Changes
The public
@qvac/sdkAPI (loadModel,completion, plugins,plugin-utils, logging, model constants, plugin ids) is unchanged. Two consumer-visible subpath categories, both cushioned by deprecation shims:@qvac/sdkworker-orchestration subpaths — the lifecycle subpath is renamed and the raw worker file sits undersrc/worker/. The old subpath and file still resolve through deprecated aliases that warn and forward.BEFORE:
AFTER:
@qvac/bare-sdkis a thin@qvac/inferencere-export —./commandsand./worker-coreare gone; importing either throws with migration guidance../onnx-tts/pluginis retained as an alias.BEFORE:
AFTER: