Repository navigation
Port the SDKs to Effect 4.0.3 and sui-effect 0.3.0 - #61
Merged
Merged
Conversation
Moves musicos, partyos, platform, streaming and transcoding from effect 4.0.0-rc.112 to stable 4.0.3 (and @effect/platform-node to 4.0.3), and the sui-effect extensions to @unconfirmed/sui-effect 0.3.0. - peers: effect >=4.0.3 <4.1, sui-effect >=0.3.0 <0.4.0, @mysten/sui ^2.29.0 (was exactly 2.29.0; musicos keeps ^2.28), @mysten/bcs a peer ^2.1.1 in partyos and platform (was a dependency) - source: Config.nonEmptyString -> Config.NonEmptyString in the three layerConfig definitions; no other API change, the built .d.ts files are identical to the previous release - versions: musicos/partyos 0.8.0, platform 0.46.0, streaming 0.4.0, transcoding 0.5.0, with the workspace dependencies moved to match - @misofm/effect is deprecated and stays frozen on rc.112; the consumer fixture and check-consumer no longer include it, and the fixture installs @effect/platform-node 4.0.3 explicitly so npm does not resolve a newer 4.0.x whose effect peer is newer than the pinned effect - tests: dependency contracts follow the new ranges; the consumer fixture asserts a single @mysten/bcs Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Four sponsored vectors (mainnet individual, testnet group, Unicode name, maximum-length name) generated by 0.7.1 on the rc.112 stack; the 0.8.0 recipes build byte-identical TransactionData and digests with no client. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Adds a CHANGELOG.md to each ported package (shipped in the tarball) with the breaking peer changes, the behaviour changes that come with Effect 4.0.x and sui-effect 0.3.0, and a consumer migration note; updates the README peer lists, the musicos LLMS.md Config name and the Effect conventions. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… matrix - dev pins effect and @effect/platform-node to 4.0.4 (peer ranges stay >=4.0.3 <4.1): @effect/platform-node@4.0.3 pulls @effect/platform-node-shared ^4.0.3, which resolves to 4.0.4 and peers effect ^4.0.4, so a 4.0.3 pin was an invalid peer tree. Both isolated consumers now install with --strict-peer-deps and run npm ls - CHANGELOGs: tell consumers to pin the whole train to one 4.0.x (show 4.0.4); replace the incorrect ManagedRuntime.dispose and Cause.pretty notes with the real changes (Effect #8528, #8512, #8783, #8895); note the bcs peer is type-only - CI: sui-matrix job runs partyos, musicos and platform typecheck and tests against @mysten/sui 2.29.0 and 2.30.0 (scripts/use-sui-version.ts); the dependency-contract test takes the dev version from MISO_SUI_VERSION and asserts the peer range admits it - docs: fix the stale SuiClient/@misofm/effect lines in CLAUDE.md and README Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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
Ports the Effect-based SDKs from
effect@4.0.0-rc.112+@unconfirmed/sui-effect@0.2.xto stable Effect 4.0.x (peer floor4.0.3, developed and tested on4.0.4) +@unconfirmed/sui-effect@0.3.0. Prepares the release only: no tags are pushed and nothing is published here.@misofm/streaming@misofm/musicos@misofm/partyos@misofm/platform@misofm/transcoding@misofm/effect(deprecated)What changed
effect>=4.0.3 <4.1(transcoding also@effect/platform-node),@unconfirmed/sui-effect>=0.3.0 <0.4.0,@mysten/sui^2.29.0(was exactly2.29.0in partyos/platform; musicos keeps^2.28). Dev pins:effectand@effect/platform-node4.0.4 (a 4.0.3 pin is an invalid peer tree:platform-node-shared ^4.0.3resolves to 4.0.4, which peerseffect ^4.0.4), sui-effect 0.3.0,@mysten/sui2.29.0. The isolated consumers install with--strict-peer-depsand runnpm ls.@mysten/bcsis now a peer (^2.1.1) in partyos and platform instead of a dependency, so one copy is installed.Config.nonEmptyString->Config.NonEmptyStringinPartyos.layerConfig,Musicos.layerConfigandMiso.layerConfig. The published.d.tsfiles of every package are identical to the previous release (diffed), so there is no public API change.tests/golden.test.tsbuilds both party recipes offline and asserts byte-identical TransactionData and digests for four golden vectors generated by 0.7.1 on rc.112.@misofm/effectstays frozen on rc.112 (superseded by sui-effect, nothing depends on it). The consumer fixture andcheck-consumerskip it because its exact rc peer cannot share an install with the ported packages.CHANGELOG.md(shipped in the tarball) with a consumer migration note and the behaviour changes from Effect 4.0.x / sui-effect 0.3.0.Behaviour audit
No
partition/separate,Effect.timeout,Effect.retry,Schema.brandorEncodinguse in these packages.TimeoutErrornow has a message andEffect.retryskips mixed typed+defect causes (both reach callers only through sui-effect). Interruption semantics changed in 4.0.x for the transcoder (checked by its cancellation test). A differential run over every exported error class against the rc.112 build shows identicalmessage, JSON, Schema encode/decode output. Details are in the per-package changelogs.Verification
bun install --frozen-lockfile,bun run typecheck,bun run test(streaming 27, effect 23, partyos 41, musicos 93, transcoding 52, platform 386, all pass),bun run build,npm pack --dry-runper package,bun run test:consumer(npm install of the packed tarballs into the isolated fixture: oneeffect, one@mysten/sui, one@mysten/bcs), the transcoding isolated Node 22 and Bun consumers, and the ffmpeg integration test with a local FFmpeg 8.1.2 (includingMISO_PINNED_FFMPEG=1). The workspace tests also pass with@mysten/sui2.35.0.codegen:checkwas not run: it needs thesuibinary and the sibling Move checkouts, no generated file changed, and CI does not run it.CI
New
sui-matrixjob runs partyos, musicos and platform typecheck and tests against@mysten/sui2.29.0 and 2.30.0.Release (after merge)
Tag the merge commit on
main, in dependency order:streaming-v0.4.0, thenmusicos-v0.8.0andpartyos-v0.8.0, thenplatform-v0.46.0andtranscoding-v0.5.0.Risks for consumers
See the changelogs. The main ones: rc consumers (misofm/api, misofm/app) must move
effectand every@effect/*package to4.0.xand sui-effect to 0.3.0 together;@mysten/bcsmust now be installed by the consumer; pineffectand every@effect/*package to one 4.0.x (the changelogs show 4.0.4); the peer range alone can resolve an invalid tree.🤖 Generated with Claude Code