Skip to content

v0.6.0

Choose a tag to compare

@czxtm czxtm released this 07 Aug 17:13
· 53 commits to main since this release
v0.6.0
b45b708

Added

  • Added the Alchemy-free alchemy-sops/Schema entrypoint for decrypting imported
    SOPS JSON and decoding it with Effect Schema.
  • Added EncryptedFor<S> so TypeScript checks encrypted document keys, nesting,
    optionality, and required SOPS metadata against the schema encoded type.
  • Re-exported the Schema decoder from alchemy-sops/edge.
import * as Schema from "alchemy-sops/Schema";
import * as EffectSchema from "effect/Schema";
import encrypted from "./secrets.enc.json" with { type: "json" };

const AppSecrets = EffectSchema.Struct({
  token: EffectSchema.RedactedFromValue(EffectSchema.String),
});

const secrets = yield* Schema.decodeEffect(AppSecrets)(encrypted);

Changed

  • Made alchemy an optional peer so Effect applications can use the Schema and
    edge entrypoints without installing or resolving Alchemy.
  • Kept effect as a required peer and removed unused Effect platform packages
    from runtime dependencies.
  • Updated retry scheduling for the current Effect 4 Schedule API.