effect
Import
Section titled “Import”import * as api from "@fungi.computer/puffball/effect";Exports
Section titled “Exports”| Kind | Export | Description |
|---|---|---|
| type alias | AppReleaseCoreFailure | Closed domain failures that the core maps from store outcomes. |
| type alias | AppReleaseCore | Effect-native core for the narrow App and immutable Release catalog facts. |
| type alias | AppReleaseArtifactReaderUnavailable | Closed infrastructure failure at the hostile artifact-reader boundary. |
| type alias | AppReleaseArtifactReader | Effect-native artifact reader port. |
| type alias | AppReleaseStorePortFailure | Closed failures emitted by the owned Effect Store port. |
| type alias | AppReleaseStore | Canonical Effect-owned persistence port for the narrow App/Release catalog. |
| constant | appIdSchema | Canonical Effect Schema for one Global App identifier. |
| constant | releaseIdSchema | Canonical Effect Schema for one immutable Release identifier. |
| constant | publicSurfaceIdSchema | Canonical Effect Schema for one anonymous public-Surface identifier. |
| constant | artifactRefSchema | Canonical Effect Schema for one bounded artifact reference. |
| constant | idempotencyKeySchema | Canonical Effect Schema for one caller-provided idempotency key. |
| constant | sourceRevisionSchema | Canonical Effect Schema for one pinned lowercase Git source revision. |
| constant | sha256DigestSchema | Canonical Effect Schema for one lowercase SHA-256 digest. |
| constant | stableRouteSchema | Canonical Effect Schema for one canonical local stable route. |
| constant | appSchema | Canonical Effect Schema for a Global App record. |
| constant | artifactProvenanceSchema | Canonical Effect Schema for immutable source and build provenance. |
| constant | releaseArtifactSchema | Canonical Effect Schema for immutable artifact identity and provenance. |
| constant | releaseSchema | Canonical Effect Schema for one immutable App Release. |
| constant | publicSurfaceSchema | Canonical Effect Schema for one App-owned anonymous public Surface. |
| constant | verifiedArtifactReadSchema | Canonical Effect Schema for a verified immutable artifact snapshot. |
| constant | artifactReadResultSchema | Canonical Effect Schema for the complete hostile artifact-reader result. |
| constant | appReadSchema | Canonical Effect Schema for one explicit App lookup result. |
| constant | appCreateSchema | Canonical Effect Schema for one explicit App create-or-observe result. |
| constant | releaseReadSchema | Canonical Effect Schema for one explicit Release lookup result. |
| constant | releaseCreateSchema | Canonical Effect Schema for one explicit Release create-or-observe result. |
| constant | publicSurfaceReadSchema | Canonical Effect Schema for one explicit public-Surface lookup result. |
| constant | publicSurfaceCreateSchema | Canonical Effect Schema for one public-Surface create-or-observe result. |
| constant | appTransitionIdSchema | The sole Effect Schema wrapper around Cairn’s transition codec parser. |
| constant | appReleaseStoreFailureSchema | Canonical Effect Schema for a closed App Release store infrastructure failure. |
| constant | appReadStoreResultSchema | Canonical Effect Schema for a closed App-read store result envelope. |
| constant | appCreateStoreResultSchema | Canonical Effect Schema for a closed App-create store result envelope. |
| constant | releaseReadStoreResultSchema | Canonical Effect Schema for a closed Release-read store result envelope. |
| constant | releaseCreateStoreResultSchema | Canonical Effect Schema for a closed Release-create store result envelope. |
| constant | publicSurfaceReadStoreResultSchema | Canonical Effect Schema for a closed public-Surface-read store result envelope. |
| constant | publicSurfaceCreateStoreResultSchema | Canonical Effect Schema for a closed public-Surface-create store result envelope. |
| constant | decodeAppId | Decode one Global App identifier through its canonical closed Effect Schema. |
| constant | decodeReleaseId | Decode one immutable Release identifier through its canonical closed Effect Schema. |
| constant | decodePublicSurfaceId | Decode one public-Surface identifier through its canonical closed Effect Schema. |
| constant | decodeArtifactRef | Decode one bounded artifact reference through its canonical closed Effect Schema. |
| constant | decodeIdempotencyKey | Decode one idempotency key through its canonical closed Effect Schema. |
| constant | decodeSourceRevision | Decode one pinned source revision through its canonical closed Effect Schema. |
| constant | decodeSha256Digest | Decode one SHA-256 digest through its canonical closed Effect Schema. |
| constant | decodeStableRoute | Decode one local stable route through its canonical closed Effect Schema. |
| constant | decodeAppTransitionId | Decode a Cairn-issued App transition identity through its sole wrapper. |
| constant | decodeArtifactReadResult | Decode a hostile artifact-reader result through its canonical closed schema. |
| constant | decodeApp | Decode a hostile App record through its canonical closed schema. |
| constant | decodeRelease | Decode a hostile Release record through its canonical closed schema. |
| constant | decodePublicSurface | Decode a hostile public Surface through its canonical closed schema. |
| constant | decodeAppReadStoreResult | Decode a hostile App-read store result through its canonical closed schema. |
| constant | decodeAppCreateStoreResult | Decode a hostile App-create store result through its canonical closed schema. |
| constant | decodeReleaseReadStoreResult | Decode a hostile Release-read store result through its canonical closed schema. |
| constant | decodeReleaseCreateStoreResult | Decode a hostile Release-create store result through its canonical closed schema. |
| constant | decodePublicSurfaceReadStoreResult | Decode a hostile public-Surface-read store result through its canonical closed schema. |
| constant | decodePublicSurfaceCreateStoreResult | Decode a hostile public-Surface-create store result through its canonical closed schema. |
| function | createAppReleaseCore() | Compose the Effect-native App Release core. |
| function | createDeterministicMemoryAppReleaseStore() | Compose an in-process deterministic store for the narrow App/Release port. |
| function | adaptPromiseAppReleaseStore() | Adapt the Promise store projection at the one outer edge. |
| function | adaptPromiseArtifactReader() | Adapt the Promise artifact-reader projection at the one outer edge. |
AppReleaseCoreFailuretype alias
Section titled “AppReleaseCoreFailure”type AppReleaseCoreFailure = | AppReleaseImmutableConflictError | AppReleaseOwnerAppAbsentError | AppReleaseSurfaceOwnerAppAbsentError | AppReleaseStoreUnavailableError | AppReleaseReleaseAbsentError | AppReleaseArtifactUnavailableError | AppReleaseArtifactMissingError | AppReleaseArtifactDigestMismatchError | AppReleaseArtifactInvalidSnapshotError | AppReleaseCommandInputError | AppReleaseInvalidStoreResultError | AppReleaseTransitionIdempotencyConflictError | AppReleaseTransitionOwnershipConflictError | AppReleaseTransitionReleaseAbsentError | AppReleaseTransitionReleaseRevokedError | AppReleaseTransitionReleaseUnverifiedError | AppReleaseTransitionArtifactIncompatibleError | AppReleaseTransitionSurfaceAbsentError | AppReleaseTransitionIdUnavailableError | AppReleasePublicWebsiteNotFoundError | AppReleasePublicWebsiteUnavailableError;Closed domain failures that the core maps from store outcomes.
AppReleaseCoretype alias
Section titled “AppReleaseCore”type AppReleaseCore = object;Effect-native core for the narrow App and immutable Release catalog facts.
Methods
Section titled “Methods”createApp()
Section titled “createApp()”createApp(app): Effect<App, AppReleaseCoreFailure>;Create or observe one Global App through the owned store port.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
app |
App |
Returns
Section titled “Returns”Effect<App,
AppReleaseCoreFailure>
createRelease()
Section titled “createRelease()”createRelease(release): Effect<Release, AppReleaseCoreFailure>;Create or observe one immutable Release through the owned store port.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
release |
Release |
Returns
Section titled “Returns”Effect<Release,
AppReleaseCoreFailure>
verifyReleaseArtifact()
Section titled “verifyReleaseArtifact()”verifyReleaseArtifact(releaseId): Effect<VerifiedArtifactRead, AppReleaseCoreFailure>;Verify the immutable artifact bound to one Release.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<VerifiedArtifactRead,
AppReleaseCoreFailure>
resolveEligibleReleaseArtifact()
Section titled “resolveEligibleReleaseArtifact()”resolveEligibleReleaseArtifact(releaseId): Effect<VerifiedArtifactRead & object, AppReleaseCoreFailure>;Read and recheck one eligible snapshot before each authorized use.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<VerifiedArtifactRead & object,
AppReleaseCoreFailure>
resolveEligibleApp()
Section titled “resolveEligibleApp()”resolveEligibleApp(releaseId): Effect<ResolvedApp, AppReleaseCoreFailure>;Resolve UI and backend together, checking eligibility around all child reads.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<ResolvedApp,
AppReleaseCoreFailure>
resolveEligibleAppMetadata()
Section titled “resolveEligibleAppMetadata()”resolveEligibleAppMetadata(releaseId): Effect<Readonly<{ release: Release; digest: Sha256Digest; description: VerifiedAppDescription;}>, AppReleaseCoreFailure>;Resolve verified App metadata without reading any artifact body.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<Readonly<{ release: Release; digest:
Sha256Digest; description:
VerifiedAppDescription; }>,
AppReleaseCoreFailure>
resolvePublicSurfaceAuthority()
Section titled “resolvePublicSurfaceAuthority()”resolvePublicSurfaceAuthority(stableRoute): Effect<Readonly<{ currentReleaseId: ReleaseId; sequence: number; app: App; release: Release; surface: PublicSurface; digest: Sha256Digest; revocation: ReleaseRevocation; description: VerifiedAppDescription;}>, AppReleaseCoreFailure>;Resolve one selected Surface’s current metadata authority without bodies.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
Returns
Section titled “Returns”Effect<Readonly<{ currentReleaseId: ReleaseId;
sequence: number; app: App; release:
Release; surface:
PublicSurface; digest:
Sha256Digest; revocation:
ReleaseRevocation; description:
VerifiedAppDescription; }>,
AppReleaseCoreFailure>
resolvePublicSurfaceAuthorityVersion()
Section titled “resolvePublicSurfaceAuthorityVersion()”resolvePublicSurfaceAuthorityVersion(stableRoute, releaseId): Effect<Readonly<{ currentReleaseId: ReleaseId; sequence: number; app: App; release: Release; surface: PublicSurface; digest: Sha256Digest; revocation: ReleaseRevocation; description: VerifiedAppDescription;}>, AppReleaseCoreFailure>;Resolve one previously selected Release’s current metadata authority.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<Readonly<{ currentReleaseId: ReleaseId;
sequence: number; app: App; release:
Release; surface:
PublicSurface; digest:
Sha256Digest; revocation:
ReleaseRevocation; description:
VerifiedAppDescription; }>,
AppReleaseCoreFailure>
resolvePublicAssetBuild()
Section titled “resolvePublicAssetBuild()”resolvePublicAssetBuild(stableRoute): Effect<PublicAssetBuildRepresentation, AppReleaseCoreFailure>;Resolve a multi-file root through existing Surface selection and eligibility.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
Returns
Section titled “Returns”Effect<PublicAssetBuildRepresentation,
AppReleaseCoreFailure>
createPublicSurface()
Section titled “createPublicSurface()”createPublicSurface(surface): Effect<PublicSurface, AppReleaseCoreFailure>;Create or observe one App-owned anonymous public Surface.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
surface |
PublicSurfaceDefinition |
Returns
Section titled “Returns”Effect<PublicSurface,
AppReleaseCoreFailure>
transition()
Section titled “transition()”transition(request): Effect<TransitionReceipt, AppReleaseCoreFailure>;Apply one owner-issued transition with an idempotent terminal receipt.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
request |
ReleaseTransition |
Returns
Section titled “Returns”Effect<TransitionReceipt,
AppReleaseCoreFailure>
resolveEligibleSurfaceRelease()
Section titled “resolveEligibleSurfaceRelease()”resolveEligibleSurfaceRelease(stableRoute): Effect<Readonly<{ appId: Release["appId"]; releaseId: Release["releaseId"]; stableRoute: StableRoute; artifactDigest: Sha256Digest; mediaType: "application/vnd.fungi.app+json";}>, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve the current eligible Surface Release without reading artifact bytes.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
Returns
Section titled “Returns”Effect<Readonly<{ appId: Release["appId"];
releaseId: Release["releaseId"]; stableRoute:
StableRoute; artifactDigest:
Sha256Digest; mediaType:
"application/vnd.fungi.app+json"; }>, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolveEligibleSurfaceReleases()
Section titled “resolveEligibleSurfaceReleases()”resolveEligibleSurfaceReleases(stableRoutes): Effect<readonly Result<Readonly<{ appId: Release["appId"]; releaseId: Release["releaseId"]; stableRoute: StableRoute; artifactDigest: Sha256Digest; mediaType: "application/vnd.fungi.app+json";}>, | AppReleasePublicWebsiteNotFoundError | AppReleasePublicWebsiteUnavailableError>[], | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Read up to 100 current Surface selections in one atomic metadata batch. Each entry reports its eligibility; failure of the read fails the Effect.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoutes |
readonly StableRoute[] |
Returns
Section titled “Returns”Effect<readonly Result<Readonly<{ appId:
Release["appId"]; releaseId:
Release["releaseId"]; stableRoute:
StableRoute; artifactDigest:
Sha256Digest; mediaType:
"application/vnd.fungi.app+json"; }>, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>[],
|
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolveEligibleSurfaceVersion()
Section titled “resolveEligibleSurfaceVersion()”resolveEligibleSurfaceVersion(stableRoute, releaseId): Effect<Readonly<{ appId: Release["appId"]; releaseId: Release["releaseId"]; stableRoute: StableRoute; artifactDigest: Sha256Digest; mediaType: "application/vnd.fungi.app+json";}>, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve one eligible Release previously selected on this Surface.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<Readonly<{ appId: Release["appId"];
releaseId: Release["releaseId"]; stableRoute:
StableRoute; artifactDigest:
Sha256Digest; mediaType:
"application/vnd.fungi.app+json"; }>, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolvePublicSurface()
Section titled “resolvePublicSurface()”resolvePublicSurface(stableRoute): Effect<PublicSurface, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve one stable route’s immutable Surface owner without selecting a Release.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
Returns
Section titled “Returns”Effect<PublicSurface, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolvePublicWebsite()
Section titled “resolvePublicWebsite()”resolvePublicWebsite(stableRoute): Effect<Readonly<{ releaseId: ReleaseId; digest: Sha256Digest; mediaType: "text/html; charset=utf-8"; byteLength: number; bytes: ImmutableArtifactBytes;}>, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve the current eligible immutable website representation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
Returns
Section titled “Returns”Effect<Readonly<{ releaseId: ReleaseId;
digest: Sha256Digest; mediaType:
"text/html; charset=utf-8"; byteLength: number; bytes:
ImmutableArtifactBytes; }>, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolvePublicWebsiteVersion()
Section titled “resolvePublicWebsiteVersion()”resolvePublicWebsiteVersion(stableRoute, releaseId): Effect<Readonly<{ releaseId: ReleaseId; digest: Sha256Digest; mediaType: "text/html; charset=utf-8"; byteLength: number; bytes: ImmutableArtifactBytes;}>, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve a pinned eligible immutable website representation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<Readonly<{ releaseId: ReleaseId;
digest: Sha256Digest; mediaType:
"text/html; charset=utf-8"; byteLength: number; bytes:
ImmutableArtifactBytes; }>, |
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
resolvePublicAssetBuildVersion()
Section titled “resolvePublicAssetBuildVersion()”resolvePublicAssetBuildVersion(stableRoute, releaseId): Effect<PublicAssetBuildRepresentation, | AppReleasePublicWebsiteNotFoundError| AppReleasePublicWebsiteUnavailableError>;Resolve a pinned asset-build root through Surface authority.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
stableRoute |
StableRoute |
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<PublicAssetBuildRepresentation,
|
AppReleasePublicWebsiteNotFoundError
|
AppReleasePublicWebsiteUnavailableError>
AppReleaseArtifactReaderUnavailabletype alias
Section titled “AppReleaseArtifactReaderUnavailable”type AppReleaseArtifactReaderUnavailable = object;Closed infrastructure failure at the hostile artifact-reader boundary.
Properties
Section titled “Properties”readonly kind: "unavailable";AppReleaseArtifactReadertype alias
Section titled “AppReleaseArtifactReader”type AppReleaseArtifactReader = object;Effect-native artifact reader port.
A reader result is hostile until the App Release core decodes it through its canonical schema. This port owns the only direct unknown success value.
Methods
Section titled “Methods”read()
Section titled “read()”read(input): Effect<unknown, AppReleaseArtifactReaderUnavailable>;Resolve one stored artifact reference for its expected immutable digest.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
input |
{ artifactRef: ArtifactRef; expectedDigest: Sha256Digest; expectedObject?: { version: string; byteLength: number; }; verification?: ArtifactVerificationIntent; } |
- |
input.artifactRef |
ArtifactRef |
- |
input.expectedDigest |
Sha256Digest |
- |
input.expectedObject? |
{ version: string; byteLength: number; } |
Native version and size of a child named by a verified App root. |
input.expectedObject.version |
string |
- |
input.expectedObject.byteLength |
number |
- |
input.verification? |
ArtifactVerificationIntent |
Publication additionally verifies every object named by an asset manifest. |
Returns
Section titled “Returns”Effect<unknown,
AppReleaseArtifactReaderUnavailable>
AppReleaseStorePortFailuretype alias
Section titled “AppReleaseStorePortFailure”type AppReleaseStorePortFailure = | AppReleaseStoreFailure | { kind: "invalid-store-result"; };Closed failures emitted by the owned Effect Store port.
The invalid-result sentinel lets the outer Promise adapter fail closed when a foreign fulfilled value is not one of the catalog’s durable outcomes.
AppReleaseStoretype alias
Section titled “AppReleaseStore”type AppReleaseStore = object;Canonical Effect-owned persistence port for the narrow App/Release catalog.
Implementations own atomicity; the catalog owns the interpretation of these explicit outcomes. This port intentionally has no generic query or mutation escape hatch.
Properties
Section titled “Properties”readReleaseLifecycle?
Section titled “readReleaseLifecycle?”readonly optional readReleaseLifecycle?: (releaseId) => Effect.Effect<ReleaseLifecycle, AppReleaseStorePortFailure>;Read the Release facts relevant to transition eligibility.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect.Effect<ReleaseLifecycle,
AppReleaseStorePortFailure>
recordReleaseVerification?
Section titled “recordReleaseVerification?”readonly optional recordReleaseVerification?: (input) => Effect.Effect<{ kind: "recorded";}, AppReleaseStorePortFailure>;Retain a verified artifact fact after core validation succeeds.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
{ releaseId: ReleaseId; digest: Sha256Digest; mediaType: "application/vnd.fungi.app+json"; description: VerifiedAppDescription; } |
input.releaseId |
ReleaseId |
input.digest |
Sha256Digest |
input.mediaType |
"application/vnd.fungi.app+json" |
input.description |
VerifiedAppDescription |
Returns
Section titled “Returns”Effect.Effect<{ kind: "recorded"; },
AppReleaseStorePortFailure>
readTransition?
Section titled “readTransition?”readonly optional readTransition?: (request) => Effect.Effect<TransitionLookup, AppReleaseStorePortFailure>;Read a receipt or idempotency conflict before transition policy.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
request |
ReleaseTransition |
Returns
Section titled “Returns”Effect.Effect<TransitionLookup,
AppReleaseStorePortFailure>
persistTransition?
Section titled “persistTransition?”readonly optional persistTransition?: (request, receipt) => Effect.Effect<TransitionPersistence, AppReleaseStorePortFailure>;Atomically persist a policy-approved transition and receipt.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
request |
ReleaseTransition |
receipt |
TransitionReceipt |
Returns
Section titled “Returns”Effect.Effect<TransitionPersistence,
AppReleaseStorePortFailure>
Methods
Section titled “Methods”readApp()
Section titled “readApp()”readApp(appId): Effect<AppRead, AppReleaseStorePortFailure>;Look up exactly one Global App.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
appId |
AppId |
Returns
Section titled “Returns”Effect<AppRead,
AppReleaseStorePortFailure>
createAppIfAbsent()
Section titled “createAppIfAbsent()”createAppIfAbsent(app): Effect<AppCreate, AppReleaseStorePortFailure>;Atomically create or observe exactly one Global App.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
app |
App |
Returns
Section titled “Returns”Effect<AppCreate,
AppReleaseStorePortFailure>
readRelease()
Section titled “readRelease()”readRelease(releaseId): Effect<ReleaseRead, AppReleaseStorePortFailure>;Look up exactly one immutable Release.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
releaseId |
ReleaseId |
Returns
Section titled “Returns”Effect<ReleaseRead,
AppReleaseStorePortFailure>
createReleaseIfAbsent()
Section titled “createReleaseIfAbsent()”createReleaseIfAbsent(release): Effect<ReleaseCreate, AppReleaseStorePortFailure>;Atomically create or observe exactly one immutable Release.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
release |
Release |
Returns
Section titled “Returns”Effect<ReleaseCreate,
AppReleaseStorePortFailure>
readPublicSurface()
Section titled “readPublicSurface()”readPublicSurface(publicSurfaceId): Effect<PublicSurfaceRead, AppReleaseStorePortFailure>;Look up exactly one App-owned anonymous public Surface.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
publicSurfaceId |
PublicSurfaceId |
Returns
Section titled “Returns”Effect<PublicSurfaceRead,
AppReleaseStorePortFailure>
createPublicSurfaceIfAbsent()
Section titled “createPublicSurfaceIfAbsent()”createPublicSurfaceIfAbsent(surface): Effect<PublicSurfaceCreate, AppReleaseStorePortFailure>;Atomically create or observe one App-owned anonymous public Surface.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
surface |
PublicSurfaceDefinition |
Returns
Section titled “Returns”Effect<PublicSurfaceCreate,
AppReleaseStorePortFailure>
appIdSchemaconstant
Section titled “appIdSchema”const appIdSchema: refine<AppId, String>;Canonical Effect Schema for one Global App identifier.
releaseIdSchemaconstant
Section titled “releaseIdSchema”const releaseIdSchema: refine<ReleaseId, String>;Canonical Effect Schema for one immutable Release identifier.
publicSurfaceIdSchemaconstant
Section titled “publicSurfaceIdSchema”const publicSurfaceIdSchema: refine<PublicSurfaceId, String>;Canonical Effect Schema for one anonymous public-Surface identifier.
artifactRefSchemaconstant
Section titled “artifactRefSchema”const artifactRefSchema: refine<ArtifactRef, String>;Canonical Effect Schema for one bounded artifact reference.
idempotencyKeySchemaconstant
Section titled “idempotencyKeySchema”const idempotencyKeySchema: refine<IdempotencyKey, String>;Canonical Effect Schema for one caller-provided idempotency key.
sourceRevisionSchemaconstant
Section titled “sourceRevisionSchema”const sourceRevisionSchema: refine<SourceRevision, String>;Canonical Effect Schema for one pinned lowercase Git source revision.
sha256DigestSchemaconstant
Section titled “sha256DigestSchema”const sha256DigestSchema: refine<Sha256Digest, String>;Canonical Effect Schema for one lowercase SHA-256 digest.
stableRouteSchemaconstant
Section titled “stableRouteSchema”const stableRouteSchema: refine<StableRoute, String>;Canonical Effect Schema for one canonical local stable route.
appSchemaconstant
Section titled “appSchema”const appSchema: Struct<{ appId: refine<AppId, String>;}>;Canonical Effect Schema for a Global App record.
artifactProvenanceSchemaconstant
Section titled “artifactProvenanceSchema”const artifactProvenanceSchema: Struct<{ sourceRevision: refine<SourceRevision, String>; sourceTreeDigest: refine<Sha256Digest, String>; buildRecipeDigest: refine<Sha256Digest, String>;}>;Canonical Effect Schema for immutable source and build provenance.
releaseArtifactSchemaconstant
Section titled “releaseArtifactSchema”const releaseArtifactSchema: Struct<{ artifactRef: refine<ArtifactRef, String>; artifactDigest: refine<Sha256Digest, String>; provenance: Struct<{ sourceRevision: refine<SourceRevision, String>; sourceTreeDigest: refine<Sha256Digest, String>; buildRecipeDigest: refine<Sha256Digest, String>; }>;}>;Canonical Effect Schema for immutable artifact identity and provenance.
releaseSchemaconstant
Section titled “releaseSchema”const releaseSchema: Struct<{ releaseId: refine<ReleaseId, String>; appId: refine<AppId, String>; artifact: Struct<{ artifactRef: refine<ArtifactRef, String>; artifactDigest: refine<Sha256Digest, String>; provenance: Struct<{ sourceRevision: refine<SourceRevision, String>; sourceTreeDigest: refine<Sha256Digest, String>; buildRecipeDigest: refine<Sha256Digest, String>; }>; }>;}>;Canonical Effect Schema for one immutable App Release.
publicSurfaceSchemaconstant
Section titled “publicSurfaceSchema”const publicSurfaceSchema: Struct<{ publicSurfaceId: refine<PublicSurfaceId, String>; appId: refine<AppId, String>; stableRoute: refine<StableRoute, String>;}>;Canonical Effect Schema for one App-owned anonymous public Surface.
verifiedArtifactReadSchemaconstant
Section titled “verifiedArtifactReadSchema”const verifiedArtifactReadSchema: Struct<{ kind: Literal<"verified">; digest: refine<Sha256Digest, String>; mediaType: Literals< readonly [ "text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json", "application/vnd.fungi.app+json", ] >; bytes: refine< object & ImmutableArtifactBytes, Struct<{ byteLength: Number; copy: instanceOf<Function, unknown>; }> >; byteLength: Number;}>;Canonical Effect Schema for a verified immutable artifact snapshot.
artifactReadResultSchemaconstant
Section titled “artifactReadResultSchema”const artifactReadResultSchema: Union< readonly [ Struct<{ kind: Literal<"verified">; digest: refine<Sha256Digest, String>; mediaType: Literals< readonly [ "text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json", "application/vnd.fungi.app+json", ] >; bytes: refine< object & ImmutableArtifactBytes, Struct<{ byteLength: Number; copy: instanceOf<Function, unknown>; }> >; byteLength: Number; }>, Struct<{ kind: Literal<"unavailable">; }>, Struct<{ kind: Literal<"missing">; }>, Struct<{ kind: Literal<"digest-mismatch">; actualDigest: refine<Sha256Digest, String>; }>, ]>;Canonical Effect Schema for the complete hostile artifact-reader result.
appReadSchemaconstant
Section titled “appReadSchema”const appReadSchema: Union< readonly [ Struct<{ kind: Literal<"found">; app: Struct<{ appId: refine<AppId, String>; }>; }>, Struct<{ kind: Literal<"absent">; }>, ]>;Canonical Effect Schema for one explicit App lookup result.
appCreateSchemaconstant
Section titled “appCreateSchema”const appCreateSchema: Union< readonly [ Struct<{ kind: Literal<"created">; app: Struct<{ appId: refine<AppId, String>; }>; }>, Struct<{ kind: Literal<"existing">; app: Struct<{ appId: refine<AppId, String>; }>; }>, ]>;Canonical Effect Schema for one explicit App create-or-observe result.
releaseReadSchemaconstant
Section titled “releaseReadSchema”const releaseReadSchema: Union<readonly [Struct<{ kind: Literal<"found">; release: Struct<{ releaseId: refine<ReleaseId, String>; appId: refine<AppId, String>; artifact: Struct<{ artifactRef: refine<ArtifactRef, String>; artifactDigest: refine<Sha256Digest, String>; provenance: Struct<{ sourceRevision: refine<..., ...>; sourceTreeDigest: refine<..., ...>; buildRecipeDigest: refine<..., ...>; }>; }>; }>;}>, Struct<{ kind: Literal<"absent">;}>]>;Canonical Effect Schema for one explicit Release lookup result.
releaseCreateSchemaconstant
Section titled “releaseCreateSchema”const releaseCreateSchema: Union<readonly [Struct<{ kind: Literal<"created">; release: Struct<{ releaseId: refine<ReleaseId, String>; appId: refine<AppId, String>; artifact: Struct<{ artifactRef: refine<ArtifactRef, String>; artifactDigest: refine<Sha256Digest, String>; provenance: Struct<{ sourceRevision: refine<..., ...>; sourceTreeDigest: refine<..., ...>; buildRecipeDigest: refine<..., ...>; }>; }>; }>;}>, Struct<{ kind: Literal<"existing">; release: Struct<{ releaseId: refine<ReleaseId, String>; appId: refine<AppId, String>; artifact: Struct<{ artifactRef: refine<ArtifactRef, String>; artifactDigest: refine<Sha256Digest, String>; provenance: Struct<{ sourceRevision: refine<..., ...>; sourceTreeDigest: refine<..., ...>; buildRecipeDigest: refine<..., ...>; }>; }>; }>;}>]>;Canonical Effect Schema for one explicit Release create-or-observe result.
publicSurfaceReadSchemaconstant
Section titled “publicSurfaceReadSchema”const publicSurfaceReadSchema: Union< readonly [ Struct<{ kind: Literal<"found">; surface: Struct<{ publicSurfaceId: refine<PublicSurfaceId, String>; appId: refine<AppId, String>; stableRoute: refine<StableRoute, String>; }>; }>, Struct<{ kind: Literal<"absent">; }>, ]>;Canonical Effect Schema for one explicit public-Surface lookup result.
publicSurfaceCreateSchemaconstant
Section titled “publicSurfaceCreateSchema”const publicSurfaceCreateSchema: Union< readonly [ Struct<{ kind: Literal<"created">; surface: Struct<{ publicSurfaceId: refine<PublicSurfaceId, String>; appId: refine<AppId, String>; stableRoute: refine<StableRoute, String>; }>; }>, Struct<{ kind: Literal<"existing">; surface: Struct<{ publicSurfaceId: refine<PublicSurfaceId, String>; appId: refine<AppId, String>; stableRoute: refine<StableRoute, String>; }>; }>, Struct<{ kind: Literal<"conflict">; }>, ]>;Canonical Effect Schema for one public-Surface create-or-observe result.
appTransitionIdSchemaconstant
Section titled “appTransitionIdSchema”const appTransitionIdSchema: declare<AppTransitionId, AppTransitionId>;The sole Effect Schema wrapper around Cairn’s transition codec parser.
appReleaseStoreFailureSchemaconstant
Section titled “appReleaseStoreFailureSchema”const appReleaseStoreFailureSchema: Struct<{ kind: Literal<"unavailable">;}>;Canonical Effect Schema for a closed App Release store infrastructure failure.
appReadStoreResultSchemaconstant
Section titled “appReadStoreResultSchema”const appReadStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "found"; app: { appId: AppId; }; } | { kind: "absent"; }, | { kind: "found"; app: { appId: string; }; } | { kind: "absent"; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed App-read store result envelope.
appCreateStoreResultSchemaconstant
Section titled “appCreateStoreResultSchema”const appCreateStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "created"; app: { appId: AppId; }; } | { kind: "existing"; app: { appId: AppId; }; }, | { kind: "created"; app: { appId: string; }; } | { kind: "existing"; app: { appId: string; }; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed App-create store result envelope.
releaseReadStoreResultSchemaconstant
Section titled “releaseReadStoreResultSchema”const releaseReadStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "found"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; } | { kind: "absent"; }, | { kind: "found"; release: { releaseId: string; appId: string; artifact: { artifactRef: string; artifactDigest: string; provenance: { sourceRevision: string; sourceTreeDigest: string; buildRecipeDigest: string; }; }; }; } | { kind: "absent"; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed Release-read store result envelope.
releaseCreateStoreResultSchemaconstant
Section titled “releaseCreateStoreResultSchema”const releaseCreateStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "created"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; } | { kind: "existing"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; }, | { kind: "created"; release: { releaseId: string; appId: string; artifact: { artifactRef: string; artifactDigest: string; provenance: { sourceRevision: string; sourceTreeDigest: string; buildRecipeDigest: string; }; }; }; } | { kind: "existing"; release: { releaseId: string; appId: string; artifact: { artifactRef: string; artifactDigest: string; provenance: { sourceRevision: string; sourceTreeDigest: string; buildRecipeDigest: string; }; }; }; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed Release-create store result envelope.
publicSurfaceReadStoreResultSchemaconstant
Section titled “publicSurfaceReadStoreResultSchema”const publicSurfaceReadStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "found"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "absent"; }, | { kind: "found"; surface: { publicSurfaceId: string; appId: string; stableRoute: string; }; } | { kind: "absent"; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed public-Surface-read store result envelope.
publicSurfaceCreateStoreResultSchemaconstant
Section titled “publicSurfaceCreateStoreResultSchema”const publicSurfaceCreateStoreResultSchema: Union< readonly [ Struct<{ kind: Literal<"success">; value: Codec< | { kind: "created"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "existing"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "conflict"; }, | { kind: "created"; surface: { publicSurfaceId: string; appId: string; stableRoute: string; }; } | { kind: "existing"; surface: { publicSurfaceId: string; appId: string; stableRoute: string; }; } | { kind: "conflict"; }, never, never >; }>, Struct<{ kind: Literal<"failure">; failure: Struct<{ kind: Literal<"unavailable">; }>; }>, ]>;Canonical Effect Schema for a closed public-Surface-create store result envelope.
decodeAppIdconstant
Section titled “decodeAppId”const decodeAppId: (input, options?) => Result<AppId, SchemaError>;Decode one Global App identifier through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<AppId, SchemaError>
decodeReleaseIdconstant
Section titled “decodeReleaseId”const decodeReleaseId: (input, options?) => Result<ReleaseId, SchemaError>;Decode one immutable Release identifier through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<ReleaseId, SchemaError>
decodePublicSurfaceIdconstant
Section titled “decodePublicSurfaceId”const decodePublicSurfaceId: ( input, options?,) => Result<PublicSurfaceId, SchemaError>;Decode one public-Surface identifier through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<PublicSurfaceId, SchemaError>
decodeArtifactRefconstant
Section titled “decodeArtifactRef”const decodeArtifactRef: (input, options?) => Result<ArtifactRef, SchemaError>;Decode one bounded artifact reference through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<ArtifactRef, SchemaError>
decodeIdempotencyKeyconstant
Section titled “decodeIdempotencyKey”const decodeIdempotencyKey: ( input, options?,) => Result<IdempotencyKey, SchemaError>;Decode one idempotency key through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<IdempotencyKey, SchemaError>
decodeSourceRevisionconstant
Section titled “decodeSourceRevision”const decodeSourceRevision: ( input, options?,) => Result<SourceRevision, SchemaError>;Decode one pinned source revision through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<SourceRevision, SchemaError>
decodeSha256Digestconstant
Section titled “decodeSha256Digest”const decodeSha256Digest: ( input, options?,) => Result<Sha256Digest, SchemaError>;Decode one SHA-256 digest through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<Sha256Digest, SchemaError>
decodeStableRouteconstant
Section titled “decodeStableRoute”const decodeStableRoute: (input, options?) => Result<StableRoute, SchemaError>;Decode one local stable route through its canonical closed Effect Schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<StableRoute, SchemaError>
decodeAppTransitionIdconstant
Section titled “decodeAppTransitionId”const decodeAppTransitionId: ( input, options?,) => Result<AppTransitionId, SchemaError>;Decode a Cairn-issued App transition identity through its sole wrapper.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<AppTransitionId, SchemaError>
decodeArtifactReadResultconstant
Section titled “decodeArtifactReadResult”const decodeArtifactReadResult: ( input, options?,) => Effect< | { kind: "verified"; digest: Sha256Digest; mediaType: | "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json" | "application/vnd.fungi.app+json"; bytes: object & ImmutableArtifactBytes; byteLength: number; } | { kind: "unavailable"; } | { kind: "missing"; } | { kind: "digest-mismatch"; actualDigest: Sha256Digest; }, SchemaError, never>;Decode a hostile artifact-reader result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Effect< | { kind: "verified"; digest:
Sha256Digest; mediaType: |
"text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" |
"application/vnd.fungi.app-assets+json" | "application/vnd.fungi.app+json";
bytes: object & ImmutableArtifactBytes;
byteLength: number; } | { kind: "unavailable"; } | { kind:
"missing"; } | { kind: "digest-mismatch"; actualDigest:
Sha256Digest; }, SchemaError, never>
decodeAppconstant
Section titled “decodeApp”const decodeApp: ( input, options?,) => Result< { appId: AppId; }, SchemaError>;Decode a hostile App record through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<{ appId: AppId; }, SchemaError>
decodeReleaseconstant
Section titled “decodeRelease”const decodeRelease: ( input, options?,) => Result< { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }, SchemaError>;Decode a hostile Release record through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<{ releaseId: ReleaseId; appId:
AppId; artifact: { artifactRef:
ArtifactRef; artifactDigest:
Sha256Digest; provenance: { sourceRevision:
SourceRevision; sourceTreeDigest:
Sha256Digest; buildRecipeDigest:
Sha256Digest; }; }; }, SchemaError>
decodePublicSurfaceconstant
Section titled “decodePublicSurface”const decodePublicSurface: ( input, options?,) => Result< { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }, SchemaError>;Decode a hostile public Surface through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result<{ publicSurfaceId: PublicSurfaceId;
appId: AppId; stableRoute:
StableRoute; }, SchemaError>
decodeAppReadStoreResultconstant
Section titled “decodeAppReadStoreResult”const decodeAppReadStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "found"; app: { appId: AppId; }; } | { kind: "absent"; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile App-read store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "found"; app:
{ appId: AppId; }; } | { kind: "absent"; }; }
| { kind: "failure"; failure: { kind: "unavailable"; }; },
SchemaError>
decodeAppCreateStoreResultconstant
Section titled “decodeAppCreateStoreResult”const decodeAppCreateStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "created"; app: { appId: AppId; }; } | { kind: "existing"; app: { appId: AppId; }; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile App-create store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "created"; app:
{ appId: AppId; }; } | { kind: "existing"; app:
{ appId: AppId; }; }; } | { kind: "failure";
failure: { kind: "unavailable"; }; }, SchemaError>
decodeReleaseReadStoreResultconstant
Section titled “decodeReleaseReadStoreResult”const decodeReleaseReadStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "found"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; } | { kind: "absent"; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile Release-read store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "found";
release: { releaseId: ReleaseId; appId:
AppId; artifact: { artifactRef:
ArtifactRef; artifactDigest:
Sha256Digest; provenance: { sourceRevision:
SourceRevision; sourceTreeDigest:
Sha256Digest; buildRecipeDigest:
Sha256Digest; }; }; }; } | { kind:
"absent"; }; } | { kind: "failure"; failure: { kind:
"unavailable"; }; }, SchemaError>
decodeReleaseCreateStoreResultconstant
Section titled “decodeReleaseCreateStoreResult”const decodeReleaseCreateStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "created"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; } | { kind: "existing"; release: { releaseId: ReleaseId; appId: AppId; artifact: { artifactRef: ArtifactRef; artifactDigest: Sha256Digest; provenance: { sourceRevision: SourceRevision; sourceTreeDigest: Sha256Digest; buildRecipeDigest: Sha256Digest; }; }; }; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile Release-create store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "created";
release: { releaseId: ReleaseId; appId:
AppId; artifact: { artifactRef:
ArtifactRef; artifactDigest:
Sha256Digest; provenance: { sourceRevision:
SourceRevision; sourceTreeDigest:
Sha256Digest; buildRecipeDigest:
Sha256Digest; }; }; }; } | { kind:
"existing"; release: { releaseId: ReleaseId;
appId: AppId; artifact: { artifactRef:
ArtifactRef; artifactDigest:
Sha256Digest; provenance: { sourceRevision:
SourceRevision; sourceTreeDigest:
Sha256Digest; buildRecipeDigest:
Sha256Digest; }; }; }; }; } | { kind:
"failure"; failure: { kind: "unavailable"; }; }, SchemaError>
decodePublicSurfaceReadStoreResultconstant
Section titled “decodePublicSurfaceReadStoreResult”const decodePublicSurfaceReadStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "found"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "absent"; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile public-Surface-read store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "found";
surface: { publicSurfaceId: PublicSurfaceId;
appId: AppId; stableRoute:
StableRoute; }; } | { kind: "absent"; }; }
| { kind: "failure"; failure: { kind: "unavailable"; }; },
SchemaError>
decodePublicSurfaceCreateStoreResultconstant
Section titled “decodePublicSurfaceCreateStoreResult”const decodePublicSurfaceCreateStoreResult: ( input, options?,) => Result< | { kind: "success"; value: | { kind: "created"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "existing"; surface: { publicSurfaceId: PublicSurfaceId; appId: AppId; stableRoute: StableRoute; }; } | { kind: "conflict"; }; } | { kind: "failure"; failure: { kind: "unavailable"; }; }, SchemaError>;Decode a hostile public-Surface-create store result through its canonical closed schema.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input |
unknown |
options? |
ParseOptions |
Returns
Section titled “Returns”Result< | { kind: "success"; value: | { kind: "created";
surface: { publicSurfaceId: PublicSurfaceId;
appId: AppId; stableRoute:
StableRoute; }; } | { kind: "existing";
surface: { publicSurfaceId: PublicSurfaceId;
appId: AppId; stableRoute:
StableRoute; }; } | { kind: "conflict"; }; }
| { kind: "failure"; failure: { kind: "unavailable"; }; },
SchemaError>
createAppReleaseCore()function
Section titled “createAppReleaseCore()”function createAppReleaseCore(options): AppReleaseCore;Compose the Effect-native App Release core.
A Release is first compared with its existing immutable record. Only an absent Release requires an owner App lookup and an atomic create-or-observe. Every closed store failure is mapped at this boundary.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options |
{ store: AppReleaseStore; artifactReader: AppReleaseArtifactReader; artifactPolicy?: Readonly<{ maxBytes: number; maxManifestBytes?: number; }>; } |
options.store |
AppReleaseStore |
options.artifactReader |
AppReleaseArtifactReader |
options.artifactPolicy? |
Readonly<{ maxBytes: number; maxManifestBytes?: number; }> |
Returns
Section titled “Returns”createDeterministicMemoryAppReleaseStore()function
Section titled “createDeterministicMemoryAppReleaseStore()”function createDeterministicMemoryAppReleaseStore( options?,): PromiseAppReleaseStore;Compose an in-process deterministic store for the narrow App/Release port.
Store methods mutate only the private collections below. Decisions remain in pure helpers, and every returned record is copied, so callers cannot mutate retained state after an atomic create-or-observe operation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options |
{ routes: { platformRoutes: readonly object[]; structuralRoutes: readonly StableRoute[]; }; publishers?: readonly object[]; } |
options.routes |
{ platformRoutes: readonly object[]; structuralRoutes: readonly StableRoute[]; } |
options.routes.platformRoutes |
readonly object[] |
options.routes.structuralRoutes |
readonly StableRoute[] |
options.publishers? |
readonly object[] |
Returns
Section titled “Returns”adaptPromiseAppReleaseStore()function
Section titled “adaptPromiseAppReleaseStore()”function adaptPromiseAppReleaseStore(projection): AppReleaseStore;Adapt the Promise store projection at the one outer edge.
Rejected Promise work is deliberately collapsed into the closed unavailable store outcome; infrastructure detail never crosses into catalog policy.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
projection |
PromiseAppReleaseStore |
Returns
Section titled “Returns”adaptPromiseArtifactReader()function
Section titled “adaptPromiseArtifactReader()”function adaptPromiseArtifactReader(projection): AppReleaseArtifactReader;Adapt the Promise artifact-reader projection at the one outer edge.
Successful values remain hostile until the core’s canonical schema decodes them. A rejected Promise is closed to the reader’s unavailable failure.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
projection |
ArtifactReader |