feat/bump engine beta10 - #34
Draft
TomChv wants to merge 3 commits into
Draft
Conversation
Everything this repo ships is pinned to one engine release, so a bump moves four things together, and skipping any of them is silent: the vendored library sources, its generated bindings, the bundle built from them, and the Go generator. Re-vendored from the tag. beta.10 changes the library's introspector and its registry, and adds `agent` to the module-facing index.ts — the same export whose absence at beta.9 would have left modules unable to resolve it, caught again here by the check that every re-export exists in the bundle. The generator moved too, and three-way merged cleanly against our local changes: `@agent` support in the entrypoint, nullable objects gated on a beta.10 cutover, and the extendable-type list dropping Binding and Env. Left unsynced, that last one would have generated augmentations for types the engine no longer has. tsdistconsts is unchanged, so the typescript pin and bun image digest hold. sdk-sdk pins its own CLI release, which the workspace now overrides to match — otherwise its harness pairs our beta.10 library with a beta.9 engine and every scaffolded module fails to load. Signed-off-by: Tom Chauveau <tom@dagger.io>
dagger/sdk-sdk#20 threads the configured CLI release through to the contract checks, which previously ran mod-test's own pinned default and so paired this SDK's beta.10 bundle with a beta.9 engine. All 22 contract-suite checks pass again. The workspace pin stays: sdk-sdk's default matches ours today, but this SDK ships a library built for one engine release, so the version the harness runs is load-bearing. Pinning states that, rather than inheriting whatever sdk-sdk moves to next. Signed-off-by: Tom Chauveau <tom@dagger.io>
The client-bundle design leaned on withDirectory being an overlay, which it is not: the polyfill documents it as "add or replace" and the replace is real in the changeset's after tree. What makes client regeneration safe is that a client changeset is only ever applied to disk, and applying is additive. That distinction is the difference between the two paths. Module generation stages its changeset into a workspace and reads it back, where unstaged files — the module's own config and source — do disappear; hence the diff-based staging it uses instead. Verified rather than reasoned: a client directory holding a vendored sdk/core.js and an unrelated NOTES.md keeps both across a regeneration, with removedPaths empty. Signed-off-by: Tom Chauveau <tom@dagger.io>
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.
Stack created with GitHub Stacks CLI • Give Feedback 💬