feat(sdk): add native Deno process integration (post-v0.1.0) - #1423
Draft
samuv wants to merge 1 commit into
Draft
Conversation
samuv
marked this pull request as draft
September 11, 2026 16:46
Co-Authored-By: Codex <noreply@openai.com> Signed-off-by: Samuele Verzi <samu@stacklok.com>
samuv
force-pushed
the
t3code/assess-deno-typescript-sdk
branch
from
September 11, 2026 16:51
1c7b305 to
2dffba3
Compare
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.
Summary
Add native Deno integration for a release after v0.1.0.
This work is explicitly excluded from v0.1.0 at the directing user's request. Keep this PR in draft for post-v0.1.0 work; no later release version is assigned.
@stacklok-oss/mecatl-sdk/denowith nativeDeno.Command-backedspawn()andquery()over loopback HTTP/SSE. Reuse the existing client and query state machine.mecated serve --lifetime-stdinfor parent-exit shutdown, with readiness/PID validation, bounded stderr reporting, signal fallbacks, and owned-directory cleanup.Development stage
Contract linkage
origin/mainand opening this PR. Implementation and acceptance documentation are therefore presented together; this is not the workflow-only Combined exception.Interface conformance
The interface under review adds the
./denoexport, Deno>=2.9.3 <3, and opt-in--lifetime-stdin. It does not change protobuf, exported Go APIs, persistence, or Node/Bun transport authority. Deno Deploy and Deno 3 are outside the qualification contract.Issue relationship
Directing-user request; no issue assigned.
Type of change
Test plan
task sdk:deno, including stable type checks, session/run/attachment/query lifecycle, startup failure cleanup, and parent exit withoutclient.close().MECATL_SDK_PACKED_TARBALL=… node scripts/run-deno-integration.mjs, proving the supplied packed artifact path without repacking.task sdk:lintandtask sdk:typecheck.task sdk:test: 221 tests passed (includes packed consumers, declarations, and examples).task sdk:e2ewith Node and Bun 1.4.1: 30 tests passed after the rebase.task lintandtask test(all modules and standalone hygiene proofs).task lint:actions.go run ./cmd/mecademo.task docs, including SDK API reports, generated reference, and strict links.task site:build.task ac-trace-strict: blocked by the existing unsupportedproposedstatus indocs/acceptance/callmcpwithquery-broker-support.md. The Deno plan's targeted strict trace passes.User-facing change
Deno applications using this unreleased integration can connect remotely or own a local daemon through native
Deno.Command, with explicit run, filesystem, and loopback-network permissions. The user guides document those grants, stdin-based shutdown, and the exclusion from SDK v0.1.0.Special notes for reviewers
origin/main(470ab6ccb5994dbc97f9824cb66459397879ea9b), including the public npm migration in feat(sdk): publish TypeScript SDK to public npm as @stacklok-oss/mecatl-sdk #1421 and the performance-CI update in ci(perf): keep dashboard out of search results #1412.@stacklok-oss/mecatl-sdkidentity, npmjs trusted-publishing configuration, and current development manifest version. This PR neither publishes a package nor changes the v0.1.0 release scope; no future version bump is invented.