@fungi.computer/puffball 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +443 -2
- package/dist/app-api.d.ts +7 -0
- package/dist/app-api.js +61 -0
- package/dist/app-backend-binding-vocabulary.d.ts +299 -0
- package/dist/app-backend-binding-vocabulary.js +257 -0
- package/dist/app-backend-bindings.d.ts +21 -0
- package/dist/app-backend-bindings.js +47 -0
- package/dist/app-declaration.d.ts +46 -0
- package/dist/app-declaration.js +115 -0
- package/dist/app-event-facts.d.ts +40 -0
- package/dist/app-event-facts.js +28 -0
- package/dist/app-method-context.d.ts +109 -0
- package/dist/app-method-context.js +9 -0
- package/dist/app-method-runtime.d.ts +86 -0
- package/dist/app-method-runtime.js +122 -0
- package/dist/app-origin-paths.d.ts +6 -0
- package/dist/app-origin-paths.js +6 -0
- package/dist/app-vocabulary.d.ts +189 -0
- package/dist/app-vocabulary.js +103 -0
- package/dist/app.d.ts +379 -0
- package/dist/app.js +71 -0
- package/dist/artifact-dispositions.d.ts +115 -0
- package/dist/artifact-dispositions.js +234 -0
- package/dist/assets.d.ts +54 -0
- package/dist/assets.js +89 -0
- package/dist/backend.d.ts +41 -0
- package/dist/backend.js +29 -0
- package/dist/background-replay.d.ts +115 -0
- package/dist/background-replay.js +175 -0
- package/dist/buyer-references.d.ts +69 -0
- package/dist/buyer-references.js +154 -0
- package/dist/cloudflare-assets.d.ts +48 -0
- package/dist/cloudflare-assets.js +105 -0
- package/dist/cloudflare.d.ts +254 -0
- package/dist/cloudflare.js +1619 -0
- package/dist/effect.d.ts +73 -0
- package/dist/effect.js +325 -0
- package/dist/git-representation.d.ts +13 -0
- package/dist/git-representation.js +16 -0
- package/dist/inbox.d.ts +132 -0
- package/dist/inbox.js +81 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +85 -0
- package/dist/internal/app-description.d.ts +14 -0
- package/dist/internal/app-description.js +98 -0
- package/dist/internal/app-release-artifact-reader.d.ts +26 -0
- package/dist/internal/app-release-artifact-reader.js +1 -0
- package/dist/internal/app-release-contract.d.ts +540 -0
- package/dist/internal/app-release-contract.js +169 -0
- package/dist/internal/app-release-schema.d.ts +1676 -0
- package/dist/internal/app-release-schema.js +386 -0
- package/dist/internal/app-release-store.d.ts +47 -0
- package/dist/internal/app-release-store.js +1 -0
- package/dist/internal/background-sync.d.ts +7 -0
- package/dist/internal/background-sync.js +10 -0
- package/dist/internal/deterministic-memory-app-release-store.d.ts +14 -0
- package/dist/internal/deterministic-memory-app-release-store.js +319 -0
- package/dist/internal/failure.d.ts +2 -0
- package/dist/internal/failure.js +9 -0
- package/dist/internal/immutable-release-material.d.ts +3 -0
- package/dist/internal/immutable-release-material.js +13 -0
- package/dist/internal/promise-app-release-store-adapter.d.ts +9 -0
- package/dist/internal/promise-app-release-store-adapter.js +65 -0
- package/dist/internal/promise-artifact-reader-adapter.d.ts +9 -0
- package/dist/internal/promise-artifact-reader-adapter.js +18 -0
- package/dist/internal/public-route-sql.d.ts +10 -0
- package/dist/internal/public-route-sql.js +239 -0
- package/dist/internal/public-website-authority.d.ts +338 -0
- package/dist/internal/public-website-authority.js +50 -0
- package/dist/internal/public-website-delivery.d.ts +59 -0
- package/dist/internal/public-website-delivery.js +232 -0
- package/dist/internal/public-website-fetch.d.ts +8 -0
- package/dist/internal/public-website-fetch.js +54 -0
- package/dist/internal/release-transition-material.d.ts +3 -0
- package/dist/internal/release-transition-material.js +11 -0
- package/dist/internal/verified-artifact-snapshot.d.ts +41 -0
- package/dist/internal/verified-artifact-snapshot.js +91 -0
- package/dist/public-route-moderation.d.ts +83 -0
- package/dist/public-route-moderation.js +236 -0
- package/dist/public-route-policy.d.ts +51 -0
- package/dist/public-route-policy.js +88 -0
- package/dist/public-routes.d.ts +34 -0
- package/dist/public-routes.js +136 -0
- package/dist/publisher.d.ts +61 -0
- package/dist/publisher.js +16 -0
- package/dist/safety-takedown.d.ts +56 -0
- package/dist/safety-takedown.js +146 -0
- package/dist/seller-closure-notice.d.ts +14 -0
- package/dist/seller-closure-notice.js +14 -0
- package/dist/seller-closure.d.ts +15 -0
- package/dist/seller-closure.js +31 -0
- package/dist/testing.d.ts +8 -0
- package/dist/testing.js +47 -0
- package/docs/api/README.md +26 -0
- package/docs/api/app-backend-binding-vocabulary.md +276 -0
- package/docs/api/app-backend-bindings.md +141 -0
- package/docs/api/app-event-facts.md +110 -0
- package/docs/api/app-method-context.md +166 -0
- package/docs/api/app-method-runtime.md +330 -0
- package/docs/api/backend.md +108 -0
- package/docs/api/background-replay.md +516 -0
- package/docs/api/cloudflare.md +1044 -0
- package/docs/api/effect.md +2429 -0
- package/docs/api/git-representation.md +56 -0
- package/docs/api/inbox.md +289 -0
- package/docs/api/index.md +2868 -0
- package/docs/api/publisher.md +147 -0
- package/docs/api/testing.md +31 -0
- package/package.json +158 -3
|
@@ -0,0 +1,2429 @@
|
|
|
1
|
+
<!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
|
|
2
|
+
|
|
3
|
+
[**@fungi.computer/puffball**](README.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[@fungi.computer/puffball](README.md) / effect
|
|
8
|
+
|
|
9
|
+
# effect
|
|
10
|
+
|
|
11
|
+
## Type Aliases
|
|
12
|
+
|
|
13
|
+
### AppReleaseCoreFailure
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
type AppReleaseCoreFailure =
|
|
17
|
+
| AppReleaseImmutableConflictError
|
|
18
|
+
| AppReleaseOwnerAppAbsentError
|
|
19
|
+
| AppReleaseSurfaceOwnerAppAbsentError
|
|
20
|
+
| AppReleaseStoreUnavailableError
|
|
21
|
+
| AppReleaseReleaseAbsentError
|
|
22
|
+
| AppReleaseArtifactUnavailableError
|
|
23
|
+
| AppReleaseArtifactMissingError
|
|
24
|
+
| AppReleaseArtifactDigestMismatchError
|
|
25
|
+
| AppReleaseArtifactInvalidSnapshotError
|
|
26
|
+
| AppReleaseCommandInputError
|
|
27
|
+
| AppReleaseInvalidStoreResultError
|
|
28
|
+
| AppReleaseTransitionIdempotencyConflictError
|
|
29
|
+
| AppReleaseTransitionOwnershipConflictError
|
|
30
|
+
| AppReleaseTransitionReleaseAbsentError
|
|
31
|
+
| AppReleaseTransitionReleaseRevokedError
|
|
32
|
+
| AppReleaseTransitionReleaseUnverifiedError
|
|
33
|
+
| AppReleaseTransitionArtifactIncompatibleError
|
|
34
|
+
| AppReleaseTransitionSurfaceAbsentError
|
|
35
|
+
| AppReleaseTransitionIdUnavailableError
|
|
36
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
37
|
+
| AppReleasePublicWebsiteUnavailableError;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Closed domain failures that the core maps from store outcomes.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### AppReleaseCore
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
type AppReleaseCore = object;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Effect-native core for the narrow App and immutable Release catalog facts.
|
|
51
|
+
|
|
52
|
+
#### Methods
|
|
53
|
+
|
|
54
|
+
##### createApp()
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
createApp(app): Effect<App, AppReleaseCoreFailure>;
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Create or observe one Global App through the owned store port.
|
|
61
|
+
|
|
62
|
+
###### Parameters
|
|
63
|
+
|
|
64
|
+
| Parameter | Type |
|
|
65
|
+
| --------- | --------------------- |
|
|
66
|
+
| `app` | [`App`](index.md#app) |
|
|
67
|
+
|
|
68
|
+
###### Returns
|
|
69
|
+
|
|
70
|
+
`Effect`\<[`App`](index.md#app),
|
|
71
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
72
|
+
|
|
73
|
+
##### createRelease()
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
createRelease(release): Effect<Release, AppReleaseCoreFailure>;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Create or observe one immutable Release through the owned store port.
|
|
80
|
+
|
|
81
|
+
###### Parameters
|
|
82
|
+
|
|
83
|
+
| Parameter | Type |
|
|
84
|
+
| --------- | ----------------------------- |
|
|
85
|
+
| `release` | [`Release`](index.md#release) |
|
|
86
|
+
|
|
87
|
+
###### Returns
|
|
88
|
+
|
|
89
|
+
`Effect`\<[`Release`](index.md#release),
|
|
90
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
91
|
+
|
|
92
|
+
##### verifyReleaseArtifact()
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
verifyReleaseArtifact(releaseId): Effect<VerifiedArtifactRead, AppReleaseCoreFailure>;
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Verify the immutable artifact bound to one Release.
|
|
99
|
+
|
|
100
|
+
###### Parameters
|
|
101
|
+
|
|
102
|
+
| Parameter | Type |
|
|
103
|
+
| ----------- | --------------------------------- |
|
|
104
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
105
|
+
|
|
106
|
+
###### Returns
|
|
107
|
+
|
|
108
|
+
`Effect`\<[`VerifiedArtifactRead`](index.md#verifiedartifactread),
|
|
109
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
110
|
+
|
|
111
|
+
##### resolveEligibleReleaseArtifact()
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
resolveEligibleReleaseArtifact(releaseId): Effect<VerifiedArtifactRead & object, AppReleaseCoreFailure>;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Read and recheck one eligible snapshot before each authorized use.
|
|
118
|
+
|
|
119
|
+
###### Parameters
|
|
120
|
+
|
|
121
|
+
| Parameter | Type |
|
|
122
|
+
| ----------- | --------------------------------- |
|
|
123
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
124
|
+
|
|
125
|
+
###### Returns
|
|
126
|
+
|
|
127
|
+
`Effect`\<[`VerifiedArtifactRead`](index.md#verifiedartifactread) & `object`,
|
|
128
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
129
|
+
|
|
130
|
+
##### resolveEligibleApp()
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
resolveEligibleApp(releaseId): Effect<ResolvedApp, AppReleaseCoreFailure>;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Resolve UI and backend together, checking eligibility around all child reads.
|
|
137
|
+
|
|
138
|
+
###### Parameters
|
|
139
|
+
|
|
140
|
+
| Parameter | Type |
|
|
141
|
+
| ----------- | --------------------------------- |
|
|
142
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
143
|
+
|
|
144
|
+
###### Returns
|
|
145
|
+
|
|
146
|
+
`Effect`\<[`ResolvedApp`](index.md#resolvedapp),
|
|
147
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
148
|
+
|
|
149
|
+
##### resolveEligibleAppMetadata()
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
resolveEligibleAppMetadata(releaseId): Effect<Readonly<{
|
|
153
|
+
release: Release;
|
|
154
|
+
digest: Sha256Digest;
|
|
155
|
+
description: VerifiedAppDescription;
|
|
156
|
+
}>, AppReleaseCoreFailure>;
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Resolve verified App metadata without reading any artifact body.
|
|
160
|
+
|
|
161
|
+
###### Parameters
|
|
162
|
+
|
|
163
|
+
| Parameter | Type |
|
|
164
|
+
| ----------- | --------------------------------- |
|
|
165
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
166
|
+
|
|
167
|
+
###### Returns
|
|
168
|
+
|
|
169
|
+
`Effect`\<`Readonly`\<\{ `release`: [`Release`](index.md#release); `digest`:
|
|
170
|
+
[`Sha256Digest`](index.md#sha256digest); `description`:
|
|
171
|
+
[`VerifiedAppDescription`](index.md#verifiedappdescription); \}\>,
|
|
172
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
173
|
+
|
|
174
|
+
##### resolvePublicSurfaceAuthority()
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
resolvePublicSurfaceAuthority(stableRoute): Effect<Readonly<{
|
|
178
|
+
currentReleaseId: ReleaseId;
|
|
179
|
+
sequence: number;
|
|
180
|
+
app: App;
|
|
181
|
+
release: Release;
|
|
182
|
+
surface: PublicSurface;
|
|
183
|
+
digest: Sha256Digest;
|
|
184
|
+
revocation: ReleaseRevocation;
|
|
185
|
+
description: VerifiedAppDescription;
|
|
186
|
+
}>, AppReleaseCoreFailure>;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Resolve one selected Surface's current metadata authority without bodies.
|
|
190
|
+
|
|
191
|
+
###### Parameters
|
|
192
|
+
|
|
193
|
+
| Parameter | Type |
|
|
194
|
+
| ------------- | ------------------------------------- |
|
|
195
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
196
|
+
|
|
197
|
+
###### Returns
|
|
198
|
+
|
|
199
|
+
`Effect`\<`Readonly`\<\{ `currentReleaseId`: [`ReleaseId`](index.md#releaseid);
|
|
200
|
+
`sequence`: `number`; `app`: [`App`](index.md#app); `release`:
|
|
201
|
+
[`Release`](index.md#release); `surface`:
|
|
202
|
+
[`PublicSurface`](index.md#publicsurface); `digest`:
|
|
203
|
+
[`Sha256Digest`](index.md#sha256digest); `revocation`:
|
|
204
|
+
[`ReleaseRevocation`](index.md#releaserevocation); `description`:
|
|
205
|
+
[`VerifiedAppDescription`](index.md#verifiedappdescription); \}\>,
|
|
206
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
207
|
+
|
|
208
|
+
##### resolvePublicSurfaceAuthorityVersion()
|
|
209
|
+
|
|
210
|
+
```ts
|
|
211
|
+
resolvePublicSurfaceAuthorityVersion(stableRoute, releaseId): Effect<Readonly<{
|
|
212
|
+
currentReleaseId: ReleaseId;
|
|
213
|
+
sequence: number;
|
|
214
|
+
app: App;
|
|
215
|
+
release: Release;
|
|
216
|
+
surface: PublicSurface;
|
|
217
|
+
digest: Sha256Digest;
|
|
218
|
+
revocation: ReleaseRevocation;
|
|
219
|
+
description: VerifiedAppDescription;
|
|
220
|
+
}>, AppReleaseCoreFailure>;
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Resolve one previously selected Release's current metadata authority.
|
|
224
|
+
|
|
225
|
+
###### Parameters
|
|
226
|
+
|
|
227
|
+
| Parameter | Type |
|
|
228
|
+
| ------------- | ------------------------------------- |
|
|
229
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
230
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
231
|
+
|
|
232
|
+
###### Returns
|
|
233
|
+
|
|
234
|
+
`Effect`\<`Readonly`\<\{ `currentReleaseId`: [`ReleaseId`](index.md#releaseid);
|
|
235
|
+
`sequence`: `number`; `app`: [`App`](index.md#app); `release`:
|
|
236
|
+
[`Release`](index.md#release); `surface`:
|
|
237
|
+
[`PublicSurface`](index.md#publicsurface); `digest`:
|
|
238
|
+
[`Sha256Digest`](index.md#sha256digest); `revocation`:
|
|
239
|
+
[`ReleaseRevocation`](index.md#releaserevocation); `description`:
|
|
240
|
+
[`VerifiedAppDescription`](index.md#verifiedappdescription); \}\>,
|
|
241
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
242
|
+
|
|
243
|
+
##### resolvePublicAssetBuild()
|
|
244
|
+
|
|
245
|
+
```ts
|
|
246
|
+
resolvePublicAssetBuild(stableRoute): Effect<PublicAssetBuildRepresentation, AppReleaseCoreFailure>;
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Resolve a multi-file root through existing Surface selection and eligibility.
|
|
250
|
+
|
|
251
|
+
###### Parameters
|
|
252
|
+
|
|
253
|
+
| Parameter | Type |
|
|
254
|
+
| ------------- | ------------------------------------- |
|
|
255
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
256
|
+
|
|
257
|
+
###### Returns
|
|
258
|
+
|
|
259
|
+
`Effect`\<[`PublicAssetBuildRepresentation`](index.md#publicassetbuildrepresentation),
|
|
260
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
261
|
+
|
|
262
|
+
##### createPublicSurface()
|
|
263
|
+
|
|
264
|
+
```ts
|
|
265
|
+
createPublicSurface(surface): Effect<PublicSurface, AppReleaseCoreFailure>;
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Create or observe one App-owned anonymous public Surface.
|
|
269
|
+
|
|
270
|
+
###### Parameters
|
|
271
|
+
|
|
272
|
+
| Parameter | Type |
|
|
273
|
+
| --------- | ------------------------------------------------------------- |
|
|
274
|
+
| `surface` | [`PublicSurfaceDefinition`](index.md#publicsurfacedefinition) |
|
|
275
|
+
|
|
276
|
+
###### Returns
|
|
277
|
+
|
|
278
|
+
`Effect`\<[`PublicSurface`](index.md#publicsurface),
|
|
279
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
280
|
+
|
|
281
|
+
##### transition()
|
|
282
|
+
|
|
283
|
+
```ts
|
|
284
|
+
transition(request): Effect<TransitionReceipt, AppReleaseCoreFailure>;
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Apply one owner-issued transition with an idempotent terminal receipt.
|
|
288
|
+
|
|
289
|
+
###### Parameters
|
|
290
|
+
|
|
291
|
+
| Parameter | Type |
|
|
292
|
+
| --------- | ------------------------------------------------- |
|
|
293
|
+
| `request` | [`ReleaseTransition`](index.md#releasetransition) |
|
|
294
|
+
|
|
295
|
+
###### Returns
|
|
296
|
+
|
|
297
|
+
`Effect`\<[`TransitionReceipt`](index.md#transitionreceipt),
|
|
298
|
+
[`AppReleaseCoreFailure`](#appreleasecorefailure)\>
|
|
299
|
+
|
|
300
|
+
##### resolveEligibleSurfaceRelease()
|
|
301
|
+
|
|
302
|
+
```ts
|
|
303
|
+
resolveEligibleSurfaceRelease(stableRoute): Effect<Readonly<{
|
|
304
|
+
appId: Release["appId"];
|
|
305
|
+
releaseId: Release["releaseId"];
|
|
306
|
+
stableRoute: StableRoute;
|
|
307
|
+
artifactDigest: Sha256Digest;
|
|
308
|
+
mediaType: "application/vnd.fungi.app+json";
|
|
309
|
+
}>,
|
|
310
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
311
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Resolve the current eligible Surface Release without reading artifact bytes.
|
|
315
|
+
|
|
316
|
+
###### Parameters
|
|
317
|
+
|
|
318
|
+
| Parameter | Type |
|
|
319
|
+
| ------------- | ------------------------------------- |
|
|
320
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
321
|
+
|
|
322
|
+
###### Returns
|
|
323
|
+
|
|
324
|
+
`Effect`\<`Readonly`\<\{ `appId`: [`Release`](index.md#release)\[`"appId"`\];
|
|
325
|
+
`releaseId`: [`Release`](index.md#release)\[`"releaseId"`\]; `stableRoute`:
|
|
326
|
+
[`StableRoute`](index.md#stableroute); `artifactDigest`:
|
|
327
|
+
[`Sha256Digest`](index.md#sha256digest); `mediaType`:
|
|
328
|
+
`"application/vnd.fungi.app+json"`; \}\>, \|
|
|
329
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
330
|
+
\|
|
|
331
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
332
|
+
|
|
333
|
+
##### resolveEligibleSurfaceReleases()
|
|
334
|
+
|
|
335
|
+
```ts
|
|
336
|
+
resolveEligibleSurfaceReleases(stableRoutes): Effect<readonly Result<Readonly<{
|
|
337
|
+
appId: Release["appId"];
|
|
338
|
+
releaseId: Release["releaseId"];
|
|
339
|
+
stableRoute: StableRoute;
|
|
340
|
+
artifactDigest: Sha256Digest;
|
|
341
|
+
mediaType: "application/vnd.fungi.app+json";
|
|
342
|
+
}>,
|
|
343
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
344
|
+
| AppReleasePublicWebsiteUnavailableError>[],
|
|
345
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
346
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Read up to 100 current Surface selections in one atomic metadata batch. Each
|
|
350
|
+
entry reports its eligibility; failure of the read fails the Effect.
|
|
351
|
+
|
|
352
|
+
###### Parameters
|
|
353
|
+
|
|
354
|
+
| Parameter | Type |
|
|
355
|
+
| -------------- | ------------------------------------------------ |
|
|
356
|
+
| `stableRoutes` | readonly [`StableRoute`](index.md#stableroute)[] |
|
|
357
|
+
|
|
358
|
+
###### Returns
|
|
359
|
+
|
|
360
|
+
`Effect`\<readonly `Result`\<`Readonly`\<\{ `appId`:
|
|
361
|
+
[`Release`](index.md#release)\[`"appId"`\]; `releaseId`:
|
|
362
|
+
[`Release`](index.md#release)\[`"releaseId"`\]; `stableRoute`:
|
|
363
|
+
[`StableRoute`](index.md#stableroute); `artifactDigest`:
|
|
364
|
+
[`Sha256Digest`](index.md#sha256digest); `mediaType`:
|
|
365
|
+
`"application/vnd.fungi.app+json"`; \}\>, \|
|
|
366
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
367
|
+
\|
|
|
368
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>[],
|
|
369
|
+
\|
|
|
370
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
371
|
+
\|
|
|
372
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
373
|
+
|
|
374
|
+
##### resolveEligibleSurfaceVersion()
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
resolveEligibleSurfaceVersion(stableRoute, releaseId): Effect<Readonly<{
|
|
378
|
+
appId: Release["appId"];
|
|
379
|
+
releaseId: Release["releaseId"];
|
|
380
|
+
stableRoute: StableRoute;
|
|
381
|
+
artifactDigest: Sha256Digest;
|
|
382
|
+
mediaType: "application/vnd.fungi.app+json";
|
|
383
|
+
}>,
|
|
384
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
385
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Resolve one eligible Release previously selected on this Surface.
|
|
389
|
+
|
|
390
|
+
###### Parameters
|
|
391
|
+
|
|
392
|
+
| Parameter | Type |
|
|
393
|
+
| ------------- | ------------------------------------- |
|
|
394
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
395
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
396
|
+
|
|
397
|
+
###### Returns
|
|
398
|
+
|
|
399
|
+
`Effect`\<`Readonly`\<\{ `appId`: [`Release`](index.md#release)\[`"appId"`\];
|
|
400
|
+
`releaseId`: [`Release`](index.md#release)\[`"releaseId"`\]; `stableRoute`:
|
|
401
|
+
[`StableRoute`](index.md#stableroute); `artifactDigest`:
|
|
402
|
+
[`Sha256Digest`](index.md#sha256digest); `mediaType`:
|
|
403
|
+
`"application/vnd.fungi.app+json"`; \}\>, \|
|
|
404
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
405
|
+
\|
|
|
406
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
407
|
+
|
|
408
|
+
##### resolvePublicSurface()
|
|
409
|
+
|
|
410
|
+
```ts
|
|
411
|
+
resolvePublicSurface(stableRoute): Effect<PublicSurface,
|
|
412
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
413
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Resolve one stable route's immutable Surface owner without selecting a Release.
|
|
417
|
+
|
|
418
|
+
###### Parameters
|
|
419
|
+
|
|
420
|
+
| Parameter | Type |
|
|
421
|
+
| ------------- | ------------------------------------- |
|
|
422
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
423
|
+
|
|
424
|
+
###### Returns
|
|
425
|
+
|
|
426
|
+
`Effect`\<[`PublicSurface`](index.md#publicsurface), \|
|
|
427
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
428
|
+
\|
|
|
429
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
430
|
+
|
|
431
|
+
##### resolvePublicWebsite()
|
|
432
|
+
|
|
433
|
+
```ts
|
|
434
|
+
resolvePublicWebsite(stableRoute): Effect<Readonly<{
|
|
435
|
+
releaseId: ReleaseId;
|
|
436
|
+
digest: Sha256Digest;
|
|
437
|
+
mediaType: "text/html; charset=utf-8";
|
|
438
|
+
byteLength: number;
|
|
439
|
+
bytes: ImmutableArtifactBytes;
|
|
440
|
+
}>,
|
|
441
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
442
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
Resolve the current eligible immutable website representation.
|
|
446
|
+
|
|
447
|
+
###### Parameters
|
|
448
|
+
|
|
449
|
+
| Parameter | Type |
|
|
450
|
+
| ------------- | ------------------------------------- |
|
|
451
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
452
|
+
|
|
453
|
+
###### Returns
|
|
454
|
+
|
|
455
|
+
`Effect`\<`Readonly`\<\{ `releaseId`: [`ReleaseId`](index.md#releaseid);
|
|
456
|
+
`digest`: [`Sha256Digest`](index.md#sha256digest); `mediaType`:
|
|
457
|
+
`"text/html; charset=utf-8"`; `byteLength`: `number`; `bytes`:
|
|
458
|
+
[`ImmutableArtifactBytes`](index.md#immutableartifactbytes); \}\>, \|
|
|
459
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
460
|
+
\|
|
|
461
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
462
|
+
|
|
463
|
+
##### resolvePublicWebsiteVersion()
|
|
464
|
+
|
|
465
|
+
```ts
|
|
466
|
+
resolvePublicWebsiteVersion(stableRoute, releaseId): Effect<Readonly<{
|
|
467
|
+
releaseId: ReleaseId;
|
|
468
|
+
digest: Sha256Digest;
|
|
469
|
+
mediaType: "text/html; charset=utf-8";
|
|
470
|
+
byteLength: number;
|
|
471
|
+
bytes: ImmutableArtifactBytes;
|
|
472
|
+
}>,
|
|
473
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
474
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
Resolve a pinned eligible immutable website representation.
|
|
478
|
+
|
|
479
|
+
###### Parameters
|
|
480
|
+
|
|
481
|
+
| Parameter | Type |
|
|
482
|
+
| ------------- | ------------------------------------- |
|
|
483
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
484
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
485
|
+
|
|
486
|
+
###### Returns
|
|
487
|
+
|
|
488
|
+
`Effect`\<`Readonly`\<\{ `releaseId`: [`ReleaseId`](index.md#releaseid);
|
|
489
|
+
`digest`: [`Sha256Digest`](index.md#sha256digest); `mediaType`:
|
|
490
|
+
`"text/html; charset=utf-8"`; `byteLength`: `number`; `bytes`:
|
|
491
|
+
[`ImmutableArtifactBytes`](index.md#immutableartifactbytes); \}\>, \|
|
|
492
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
493
|
+
\|
|
|
494
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
495
|
+
|
|
496
|
+
##### resolvePublicAssetBuildVersion()
|
|
497
|
+
|
|
498
|
+
```ts
|
|
499
|
+
resolvePublicAssetBuildVersion(stableRoute, releaseId): Effect<PublicAssetBuildRepresentation,
|
|
500
|
+
| AppReleasePublicWebsiteNotFoundError
|
|
501
|
+
| AppReleasePublicWebsiteUnavailableError>;
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
Resolve a pinned asset-build root through Surface authority.
|
|
505
|
+
|
|
506
|
+
###### Parameters
|
|
507
|
+
|
|
508
|
+
| Parameter | Type |
|
|
509
|
+
| ------------- | ------------------------------------- |
|
|
510
|
+
| `stableRoute` | [`StableRoute`](index.md#stableroute) |
|
|
511
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
512
|
+
|
|
513
|
+
###### Returns
|
|
514
|
+
|
|
515
|
+
`Effect`\<[`PublicAssetBuildRepresentation`](index.md#publicassetbuildrepresentation),
|
|
516
|
+
\|
|
|
517
|
+
[`AppReleasePublicWebsiteNotFoundError`](index.md#appreleasepublicwebsitenotfounderror)
|
|
518
|
+
\|
|
|
519
|
+
[`AppReleasePublicWebsiteUnavailableError`](index.md#appreleasepublicwebsiteunavailableerror)\>
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
### AppReleaseArtifactReaderUnavailable
|
|
524
|
+
|
|
525
|
+
```ts
|
|
526
|
+
type AppReleaseArtifactReaderUnavailable = object;
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
Closed infrastructure failure at the hostile artifact-reader boundary.
|
|
530
|
+
|
|
531
|
+
#### Properties
|
|
532
|
+
|
|
533
|
+
##### kind
|
|
534
|
+
|
|
535
|
+
```ts
|
|
536
|
+
readonly kind: "unavailable";
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
### AppReleaseArtifactReader
|
|
542
|
+
|
|
543
|
+
```ts
|
|
544
|
+
type AppReleaseArtifactReader = object;
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Effect-native artifact reader port.
|
|
548
|
+
|
|
549
|
+
A reader result is hostile until the App Release core decodes it through its
|
|
550
|
+
canonical schema. This port owns the only direct unknown success value.
|
|
551
|
+
|
|
552
|
+
#### Methods
|
|
553
|
+
|
|
554
|
+
##### read()
|
|
555
|
+
|
|
556
|
+
```ts
|
|
557
|
+
read(input): Effect<unknown, AppReleaseArtifactReaderUnavailable>;
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
Resolve one stored artifact reference for its expected immutable digest.
|
|
561
|
+
|
|
562
|
+
###### Parameters
|
|
563
|
+
|
|
564
|
+
| Parameter | Type | Description |
|
|
565
|
+
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
566
|
+
| `input` | \{ `artifactRef`: [`ArtifactRef`](index.md#artifactref); `expectedDigest`: [`Sha256Digest`](index.md#sha256digest); `expectedObject?`: \{ `version`: `string`; `byteLength`: `number`; \}; `verification?`: [`ArtifactVerificationIntent`](index.md#artifactverificationintent); \} | - |
|
|
567
|
+
| `input.artifactRef` | [`ArtifactRef`](index.md#artifactref) | - |
|
|
568
|
+
| `input.expectedDigest` | [`Sha256Digest`](index.md#sha256digest) | - |
|
|
569
|
+
| `input.expectedObject?` | \{ `version`: `string`; `byteLength`: `number`; \} | Native version and size of a child named by a verified App root. |
|
|
570
|
+
| `input.expectedObject.version` | `string` | - |
|
|
571
|
+
| `input.expectedObject.byteLength` | `number` | - |
|
|
572
|
+
| `input.verification?` | [`ArtifactVerificationIntent`](index.md#artifactverificationintent) | Publication additionally verifies every object named by an asset manifest. |
|
|
573
|
+
|
|
574
|
+
###### Returns
|
|
575
|
+
|
|
576
|
+
`Effect`\<`unknown`,
|
|
577
|
+
[`AppReleaseArtifactReaderUnavailable`](#appreleaseartifactreaderunavailable)\>
|
|
578
|
+
|
|
579
|
+
---
|
|
580
|
+
|
|
581
|
+
### AppReleaseStorePortFailure
|
|
582
|
+
|
|
583
|
+
```ts
|
|
584
|
+
type AppReleaseStorePortFailure =
|
|
585
|
+
| AppReleaseStoreFailure
|
|
586
|
+
| {
|
|
587
|
+
kind: "invalid-store-result";
|
|
588
|
+
};
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
Closed failures emitted by the owned Effect Store port.
|
|
592
|
+
|
|
593
|
+
The invalid-result sentinel lets the outer Promise adapter fail closed when a
|
|
594
|
+
foreign fulfilled value is not one of the catalog's durable outcomes.
|
|
595
|
+
|
|
596
|
+
---
|
|
597
|
+
|
|
598
|
+
### AppReleaseStore
|
|
599
|
+
|
|
600
|
+
```ts
|
|
601
|
+
type AppReleaseStore = object;
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
Canonical Effect-owned persistence port for the narrow App/Release catalog.
|
|
605
|
+
|
|
606
|
+
Implementations own atomicity; the catalog owns the interpretation of these
|
|
607
|
+
explicit outcomes. This port intentionally has no generic query or mutation
|
|
608
|
+
escape hatch.
|
|
609
|
+
|
|
610
|
+
#### Properties
|
|
611
|
+
|
|
612
|
+
##### readReleaseLifecycle?
|
|
613
|
+
|
|
614
|
+
```ts
|
|
615
|
+
readonly optional readReleaseLifecycle?: (releaseId) => Effect.Effect<ReleaseLifecycle, AppReleaseStorePortFailure>;
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
Read the Release facts relevant to transition eligibility.
|
|
619
|
+
|
|
620
|
+
###### Parameters
|
|
621
|
+
|
|
622
|
+
| Parameter | Type |
|
|
623
|
+
| ----------- | --------------------------------- |
|
|
624
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
625
|
+
|
|
626
|
+
###### Returns
|
|
627
|
+
|
|
628
|
+
`Effect.Effect`\<[`ReleaseLifecycle`](index.md#releaselifecycle),
|
|
629
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
630
|
+
|
|
631
|
+
##### recordReleaseVerification?
|
|
632
|
+
|
|
633
|
+
```ts
|
|
634
|
+
readonly optional recordReleaseVerification?: (input) => Effect.Effect<{
|
|
635
|
+
kind: "recorded";
|
|
636
|
+
}, AppReleaseStorePortFailure>;
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
Retain a verified artifact fact after core validation succeeds.
|
|
640
|
+
|
|
641
|
+
###### Parameters
|
|
642
|
+
|
|
643
|
+
| Parameter | Type |
|
|
644
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
645
|
+
| `input` | \{ `releaseId`: [`ReleaseId`](index.md#releaseid); `digest`: [`Sha256Digest`](index.md#sha256digest); `mediaType`: `"application/vnd.fungi.app+json"`; `description`: [`VerifiedAppDescription`](index.md#verifiedappdescription); \} |
|
|
646
|
+
| `input.releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
647
|
+
| `input.digest` | [`Sha256Digest`](index.md#sha256digest) |
|
|
648
|
+
| `input.mediaType` | `"application/vnd.fungi.app+json"` |
|
|
649
|
+
| `input.description` | [`VerifiedAppDescription`](index.md#verifiedappdescription) |
|
|
650
|
+
|
|
651
|
+
###### Returns
|
|
652
|
+
|
|
653
|
+
`Effect.Effect`\<\{ `kind`: `"recorded"`; \},
|
|
654
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
655
|
+
|
|
656
|
+
##### readTransition?
|
|
657
|
+
|
|
658
|
+
```ts
|
|
659
|
+
readonly optional readTransition?: (request) => Effect.Effect<TransitionLookup, AppReleaseStorePortFailure>;
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
Read a receipt or idempotency conflict before transition policy.
|
|
663
|
+
|
|
664
|
+
###### Parameters
|
|
665
|
+
|
|
666
|
+
| Parameter | Type |
|
|
667
|
+
| --------- | ------------------------------------------------- |
|
|
668
|
+
| `request` | [`ReleaseTransition`](index.md#releasetransition) |
|
|
669
|
+
|
|
670
|
+
###### Returns
|
|
671
|
+
|
|
672
|
+
`Effect.Effect`\<[`TransitionLookup`](index.md#transitionlookup),
|
|
673
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
674
|
+
|
|
675
|
+
##### persistTransition?
|
|
676
|
+
|
|
677
|
+
```ts
|
|
678
|
+
readonly optional persistTransition?: (request, receipt) => Effect.Effect<TransitionPersistence, AppReleaseStorePortFailure>;
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Atomically persist a policy-approved transition and receipt.
|
|
682
|
+
|
|
683
|
+
###### Parameters
|
|
684
|
+
|
|
685
|
+
| Parameter | Type |
|
|
686
|
+
| --------- | ------------------------------------------------- |
|
|
687
|
+
| `request` | [`ReleaseTransition`](index.md#releasetransition) |
|
|
688
|
+
| `receipt` | [`TransitionReceipt`](index.md#transitionreceipt) |
|
|
689
|
+
|
|
690
|
+
###### Returns
|
|
691
|
+
|
|
692
|
+
`Effect.Effect`\<[`TransitionPersistence`](index.md#transitionpersistence),
|
|
693
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
694
|
+
|
|
695
|
+
#### Methods
|
|
696
|
+
|
|
697
|
+
##### readApp()
|
|
698
|
+
|
|
699
|
+
```ts
|
|
700
|
+
readApp(appId): Effect<AppRead, AppReleaseStorePortFailure>;
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
Look up exactly one Global App.
|
|
704
|
+
|
|
705
|
+
###### Parameters
|
|
706
|
+
|
|
707
|
+
| Parameter | Type |
|
|
708
|
+
| --------- | ------------------------- |
|
|
709
|
+
| `appId` | [`AppId`](index.md#appid) |
|
|
710
|
+
|
|
711
|
+
###### Returns
|
|
712
|
+
|
|
713
|
+
`Effect`\<[`AppRead`](index.md#appread),
|
|
714
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
715
|
+
|
|
716
|
+
##### createAppIfAbsent()
|
|
717
|
+
|
|
718
|
+
```ts
|
|
719
|
+
createAppIfAbsent(app): Effect<AppCreate, AppReleaseStorePortFailure>;
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
Atomically create or observe exactly one Global App.
|
|
723
|
+
|
|
724
|
+
###### Parameters
|
|
725
|
+
|
|
726
|
+
| Parameter | Type |
|
|
727
|
+
| --------- | --------------------- |
|
|
728
|
+
| `app` | [`App`](index.md#app) |
|
|
729
|
+
|
|
730
|
+
###### Returns
|
|
731
|
+
|
|
732
|
+
`Effect`\<[`AppCreate`](index.md#appcreate),
|
|
733
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
734
|
+
|
|
735
|
+
##### readRelease()
|
|
736
|
+
|
|
737
|
+
```ts
|
|
738
|
+
readRelease(releaseId): Effect<ReleaseRead, AppReleaseStorePortFailure>;
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
Look up exactly one immutable Release.
|
|
742
|
+
|
|
743
|
+
###### Parameters
|
|
744
|
+
|
|
745
|
+
| Parameter | Type |
|
|
746
|
+
| ----------- | --------------------------------- |
|
|
747
|
+
| `releaseId` | [`ReleaseId`](index.md#releaseid) |
|
|
748
|
+
|
|
749
|
+
###### Returns
|
|
750
|
+
|
|
751
|
+
`Effect`\<[`ReleaseRead`](index.md#releaseread),
|
|
752
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
753
|
+
|
|
754
|
+
##### createReleaseIfAbsent()
|
|
755
|
+
|
|
756
|
+
```ts
|
|
757
|
+
createReleaseIfAbsent(release): Effect<ReleaseCreate, AppReleaseStorePortFailure>;
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
Atomically create or observe exactly one immutable Release.
|
|
761
|
+
|
|
762
|
+
###### Parameters
|
|
763
|
+
|
|
764
|
+
| Parameter | Type |
|
|
765
|
+
| --------- | ----------------------------- |
|
|
766
|
+
| `release` | [`Release`](index.md#release) |
|
|
767
|
+
|
|
768
|
+
###### Returns
|
|
769
|
+
|
|
770
|
+
`Effect`\<[`ReleaseCreate`](index.md#releasecreate),
|
|
771
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
772
|
+
|
|
773
|
+
##### readPublicSurface()
|
|
774
|
+
|
|
775
|
+
```ts
|
|
776
|
+
readPublicSurface(publicSurfaceId): Effect<PublicSurfaceRead, AppReleaseStorePortFailure>;
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
Look up exactly one App-owned anonymous public Surface.
|
|
780
|
+
|
|
781
|
+
###### Parameters
|
|
782
|
+
|
|
783
|
+
| Parameter | Type |
|
|
784
|
+
| ----------------- | --------------------------------------------- |
|
|
785
|
+
| `publicSurfaceId` | [`PublicSurfaceId`](index.md#publicsurfaceid) |
|
|
786
|
+
|
|
787
|
+
###### Returns
|
|
788
|
+
|
|
789
|
+
`Effect`\<[`PublicSurfaceRead`](index.md#publicsurfaceread),
|
|
790
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
791
|
+
|
|
792
|
+
##### createPublicSurfaceIfAbsent()
|
|
793
|
+
|
|
794
|
+
```ts
|
|
795
|
+
createPublicSurfaceIfAbsent(surface): Effect<PublicSurfaceCreate, AppReleaseStorePortFailure>;
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
Atomically create or observe one App-owned anonymous public Surface.
|
|
799
|
+
|
|
800
|
+
###### Parameters
|
|
801
|
+
|
|
802
|
+
| Parameter | Type |
|
|
803
|
+
| --------- | ------------------------------------------------------------- |
|
|
804
|
+
| `surface` | [`PublicSurfaceDefinition`](index.md#publicsurfacedefinition) |
|
|
805
|
+
|
|
806
|
+
###### Returns
|
|
807
|
+
|
|
808
|
+
`Effect`\<[`PublicSurfaceCreate`](index.md#publicsurfacecreate),
|
|
809
|
+
[`AppReleaseStorePortFailure`](#appreleasestoreportfailure)\>
|
|
810
|
+
|
|
811
|
+
## Variables
|
|
812
|
+
|
|
813
|
+
### appIdSchema
|
|
814
|
+
|
|
815
|
+
```ts
|
|
816
|
+
const appIdSchema: refine<AppId, String>;
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
Canonical Effect Schema for one Global App identifier.
|
|
820
|
+
|
|
821
|
+
---
|
|
822
|
+
|
|
823
|
+
### releaseIdSchema
|
|
824
|
+
|
|
825
|
+
```ts
|
|
826
|
+
const releaseIdSchema: refine<ReleaseId, String>;
|
|
827
|
+
```
|
|
828
|
+
|
|
829
|
+
Canonical Effect Schema for one immutable Release identifier.
|
|
830
|
+
|
|
831
|
+
---
|
|
832
|
+
|
|
833
|
+
### publicSurfaceIdSchema
|
|
834
|
+
|
|
835
|
+
```ts
|
|
836
|
+
const publicSurfaceIdSchema: refine<PublicSurfaceId, String>;
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
Canonical Effect Schema for one anonymous public-Surface identifier.
|
|
840
|
+
|
|
841
|
+
---
|
|
842
|
+
|
|
843
|
+
### artifactRefSchema
|
|
844
|
+
|
|
845
|
+
```ts
|
|
846
|
+
const artifactRefSchema: refine<ArtifactRef, String>;
|
|
847
|
+
```
|
|
848
|
+
|
|
849
|
+
Canonical Effect Schema for one bounded artifact reference.
|
|
850
|
+
|
|
851
|
+
---
|
|
852
|
+
|
|
853
|
+
### idempotencyKeySchema
|
|
854
|
+
|
|
855
|
+
```ts
|
|
856
|
+
const idempotencyKeySchema: refine<IdempotencyKey, String>;
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
Canonical Effect Schema for one caller-provided idempotency key.
|
|
860
|
+
|
|
861
|
+
---
|
|
862
|
+
|
|
863
|
+
### sourceRevisionSchema
|
|
864
|
+
|
|
865
|
+
```ts
|
|
866
|
+
const sourceRevisionSchema: refine<SourceRevision, String>;
|
|
867
|
+
```
|
|
868
|
+
|
|
869
|
+
Canonical Effect Schema for one pinned lowercase Git source revision.
|
|
870
|
+
|
|
871
|
+
---
|
|
872
|
+
|
|
873
|
+
### sha256DigestSchema
|
|
874
|
+
|
|
875
|
+
```ts
|
|
876
|
+
const sha256DigestSchema: refine<Sha256Digest, String>;
|
|
877
|
+
```
|
|
878
|
+
|
|
879
|
+
Canonical Effect Schema for one lowercase SHA-256 digest.
|
|
880
|
+
|
|
881
|
+
---
|
|
882
|
+
|
|
883
|
+
### stableRouteSchema
|
|
884
|
+
|
|
885
|
+
```ts
|
|
886
|
+
const stableRouteSchema: refine<StableRoute, String>;
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
Canonical Effect Schema for one canonical local stable route.
|
|
890
|
+
|
|
891
|
+
---
|
|
892
|
+
|
|
893
|
+
### appSchema
|
|
894
|
+
|
|
895
|
+
```ts
|
|
896
|
+
const appSchema: Struct<{
|
|
897
|
+
appId: refine<AppId, String>;
|
|
898
|
+
}>;
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
Canonical Effect Schema for a Global App record.
|
|
902
|
+
|
|
903
|
+
---
|
|
904
|
+
|
|
905
|
+
### artifactProvenanceSchema
|
|
906
|
+
|
|
907
|
+
```ts
|
|
908
|
+
const artifactProvenanceSchema: Struct<{
|
|
909
|
+
sourceRevision: refine<SourceRevision, String>;
|
|
910
|
+
sourceTreeDigest: refine<Sha256Digest, String>;
|
|
911
|
+
buildRecipeDigest: refine<Sha256Digest, String>;
|
|
912
|
+
}>;
|
|
913
|
+
```
|
|
914
|
+
|
|
915
|
+
Canonical Effect Schema for immutable source and build provenance.
|
|
916
|
+
|
|
917
|
+
---
|
|
918
|
+
|
|
919
|
+
### releaseArtifactSchema
|
|
920
|
+
|
|
921
|
+
```ts
|
|
922
|
+
const releaseArtifactSchema: Struct<{
|
|
923
|
+
artifactRef: refine<ArtifactRef, String>;
|
|
924
|
+
artifactDigest: refine<Sha256Digest, String>;
|
|
925
|
+
provenance: Struct<{
|
|
926
|
+
sourceRevision: refine<SourceRevision, String>;
|
|
927
|
+
sourceTreeDigest: refine<Sha256Digest, String>;
|
|
928
|
+
buildRecipeDigest: refine<Sha256Digest, String>;
|
|
929
|
+
}>;
|
|
930
|
+
}>;
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
Canonical Effect Schema for immutable artifact identity and provenance.
|
|
934
|
+
|
|
935
|
+
---
|
|
936
|
+
|
|
937
|
+
### releaseSchema
|
|
938
|
+
|
|
939
|
+
```ts
|
|
940
|
+
const releaseSchema: Struct<{
|
|
941
|
+
releaseId: refine<ReleaseId, String>;
|
|
942
|
+
appId: refine<AppId, String>;
|
|
943
|
+
artifact: Struct<{
|
|
944
|
+
artifactRef: refine<ArtifactRef, String>;
|
|
945
|
+
artifactDigest: refine<Sha256Digest, String>;
|
|
946
|
+
provenance: Struct<{
|
|
947
|
+
sourceRevision: refine<SourceRevision, String>;
|
|
948
|
+
sourceTreeDigest: refine<Sha256Digest, String>;
|
|
949
|
+
buildRecipeDigest: refine<Sha256Digest, String>;
|
|
950
|
+
}>;
|
|
951
|
+
}>;
|
|
952
|
+
}>;
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
Canonical Effect Schema for one immutable App Release.
|
|
956
|
+
|
|
957
|
+
---
|
|
958
|
+
|
|
959
|
+
### publicSurfaceSchema
|
|
960
|
+
|
|
961
|
+
```ts
|
|
962
|
+
const publicSurfaceSchema: Struct<{
|
|
963
|
+
publicSurfaceId: refine<PublicSurfaceId, String>;
|
|
964
|
+
appId: refine<AppId, String>;
|
|
965
|
+
stableRoute: refine<StableRoute, String>;
|
|
966
|
+
}>;
|
|
967
|
+
```
|
|
968
|
+
|
|
969
|
+
Canonical Effect Schema for one App-owned anonymous public Surface.
|
|
970
|
+
|
|
971
|
+
---
|
|
972
|
+
|
|
973
|
+
### verifiedArtifactReadSchema
|
|
974
|
+
|
|
975
|
+
```ts
|
|
976
|
+
const verifiedArtifactReadSchema: Struct<{
|
|
977
|
+
kind: Literal<"verified">;
|
|
978
|
+
digest: refine<Sha256Digest, String>;
|
|
979
|
+
mediaType: Literals<
|
|
980
|
+
readonly [
|
|
981
|
+
"text/html; charset=utf-8",
|
|
982
|
+
"application/vnd.fungi.app-backend+json",
|
|
983
|
+
"application/vnd.fungi.app-assets+json",
|
|
984
|
+
"application/vnd.fungi.app+json",
|
|
985
|
+
]
|
|
986
|
+
>;
|
|
987
|
+
bytes: refine<
|
|
988
|
+
object & ImmutableArtifactBytes,
|
|
989
|
+
Struct<{
|
|
990
|
+
byteLength: Number;
|
|
991
|
+
copy: instanceOf<Function, unknown>;
|
|
992
|
+
}>
|
|
993
|
+
>;
|
|
994
|
+
byteLength: Number;
|
|
995
|
+
}>;
|
|
996
|
+
```
|
|
997
|
+
|
|
998
|
+
Canonical Effect Schema for a verified immutable artifact snapshot.
|
|
999
|
+
|
|
1000
|
+
---
|
|
1001
|
+
|
|
1002
|
+
### artifactReadResultSchema
|
|
1003
|
+
|
|
1004
|
+
```ts
|
|
1005
|
+
const artifactReadResultSchema: Union<
|
|
1006
|
+
readonly [
|
|
1007
|
+
Struct<{
|
|
1008
|
+
kind: Literal<"verified">;
|
|
1009
|
+
digest: refine<Sha256Digest, String>;
|
|
1010
|
+
mediaType: Literals<
|
|
1011
|
+
readonly [
|
|
1012
|
+
"text/html; charset=utf-8",
|
|
1013
|
+
"application/vnd.fungi.app-backend+json",
|
|
1014
|
+
"application/vnd.fungi.app-assets+json",
|
|
1015
|
+
"application/vnd.fungi.app+json",
|
|
1016
|
+
]
|
|
1017
|
+
>;
|
|
1018
|
+
bytes: refine<
|
|
1019
|
+
object & ImmutableArtifactBytes,
|
|
1020
|
+
Struct<{
|
|
1021
|
+
byteLength: Number;
|
|
1022
|
+
copy: instanceOf<Function, unknown>;
|
|
1023
|
+
}>
|
|
1024
|
+
>;
|
|
1025
|
+
byteLength: Number;
|
|
1026
|
+
}>,
|
|
1027
|
+
Struct<{
|
|
1028
|
+
kind: Literal<"unavailable">;
|
|
1029
|
+
}>,
|
|
1030
|
+
Struct<{
|
|
1031
|
+
kind: Literal<"missing">;
|
|
1032
|
+
}>,
|
|
1033
|
+
Struct<{
|
|
1034
|
+
kind: Literal<"digest-mismatch">;
|
|
1035
|
+
actualDigest: refine<Sha256Digest, String>;
|
|
1036
|
+
}>,
|
|
1037
|
+
]
|
|
1038
|
+
>;
|
|
1039
|
+
```
|
|
1040
|
+
|
|
1041
|
+
Canonical Effect Schema for the complete hostile artifact-reader result.
|
|
1042
|
+
|
|
1043
|
+
---
|
|
1044
|
+
|
|
1045
|
+
### appReadSchema
|
|
1046
|
+
|
|
1047
|
+
```ts
|
|
1048
|
+
const appReadSchema: Union<
|
|
1049
|
+
readonly [
|
|
1050
|
+
Struct<{
|
|
1051
|
+
kind: Literal<"found">;
|
|
1052
|
+
app: Struct<{
|
|
1053
|
+
appId: refine<AppId, String>;
|
|
1054
|
+
}>;
|
|
1055
|
+
}>,
|
|
1056
|
+
Struct<{
|
|
1057
|
+
kind: Literal<"absent">;
|
|
1058
|
+
}>,
|
|
1059
|
+
]
|
|
1060
|
+
>;
|
|
1061
|
+
```
|
|
1062
|
+
|
|
1063
|
+
Canonical Effect Schema for one explicit App lookup result.
|
|
1064
|
+
|
|
1065
|
+
---
|
|
1066
|
+
|
|
1067
|
+
### appCreateSchema
|
|
1068
|
+
|
|
1069
|
+
```ts
|
|
1070
|
+
const appCreateSchema: Union<
|
|
1071
|
+
readonly [
|
|
1072
|
+
Struct<{
|
|
1073
|
+
kind: Literal<"created">;
|
|
1074
|
+
app: Struct<{
|
|
1075
|
+
appId: refine<AppId, String>;
|
|
1076
|
+
}>;
|
|
1077
|
+
}>,
|
|
1078
|
+
Struct<{
|
|
1079
|
+
kind: Literal<"existing">;
|
|
1080
|
+
app: Struct<{
|
|
1081
|
+
appId: refine<AppId, String>;
|
|
1082
|
+
}>;
|
|
1083
|
+
}>,
|
|
1084
|
+
]
|
|
1085
|
+
>;
|
|
1086
|
+
```
|
|
1087
|
+
|
|
1088
|
+
Canonical Effect Schema for one explicit App create-or-observe result.
|
|
1089
|
+
|
|
1090
|
+
---
|
|
1091
|
+
|
|
1092
|
+
### releaseReadSchema
|
|
1093
|
+
|
|
1094
|
+
```ts
|
|
1095
|
+
const releaseReadSchema: Union<readonly [Struct<{
|
|
1096
|
+
kind: Literal<"found">;
|
|
1097
|
+
release: Struct<{
|
|
1098
|
+
releaseId: refine<ReleaseId, String>;
|
|
1099
|
+
appId: refine<AppId, String>;
|
|
1100
|
+
artifact: Struct<{
|
|
1101
|
+
artifactRef: refine<ArtifactRef, String>;
|
|
1102
|
+
artifactDigest: refine<Sha256Digest, String>;
|
|
1103
|
+
provenance: Struct<{
|
|
1104
|
+
sourceRevision: refine<..., ...>;
|
|
1105
|
+
sourceTreeDigest: refine<..., ...>;
|
|
1106
|
+
buildRecipeDigest: refine<..., ...>;
|
|
1107
|
+
}>;
|
|
1108
|
+
}>;
|
|
1109
|
+
}>;
|
|
1110
|
+
}>, Struct<{
|
|
1111
|
+
kind: Literal<"absent">;
|
|
1112
|
+
}>]>;
|
|
1113
|
+
```
|
|
1114
|
+
|
|
1115
|
+
Canonical Effect Schema for one explicit Release lookup result.
|
|
1116
|
+
|
|
1117
|
+
---
|
|
1118
|
+
|
|
1119
|
+
### releaseCreateSchema
|
|
1120
|
+
|
|
1121
|
+
```ts
|
|
1122
|
+
const releaseCreateSchema: Union<readonly [Struct<{
|
|
1123
|
+
kind: Literal<"created">;
|
|
1124
|
+
release: Struct<{
|
|
1125
|
+
releaseId: refine<ReleaseId, String>;
|
|
1126
|
+
appId: refine<AppId, String>;
|
|
1127
|
+
artifact: Struct<{
|
|
1128
|
+
artifactRef: refine<ArtifactRef, String>;
|
|
1129
|
+
artifactDigest: refine<Sha256Digest, String>;
|
|
1130
|
+
provenance: Struct<{
|
|
1131
|
+
sourceRevision: refine<..., ...>;
|
|
1132
|
+
sourceTreeDigest: refine<..., ...>;
|
|
1133
|
+
buildRecipeDigest: refine<..., ...>;
|
|
1134
|
+
}>;
|
|
1135
|
+
}>;
|
|
1136
|
+
}>;
|
|
1137
|
+
}>, Struct<{
|
|
1138
|
+
kind: Literal<"existing">;
|
|
1139
|
+
release: Struct<{
|
|
1140
|
+
releaseId: refine<ReleaseId, String>;
|
|
1141
|
+
appId: refine<AppId, String>;
|
|
1142
|
+
artifact: Struct<{
|
|
1143
|
+
artifactRef: refine<ArtifactRef, String>;
|
|
1144
|
+
artifactDigest: refine<Sha256Digest, String>;
|
|
1145
|
+
provenance: Struct<{
|
|
1146
|
+
sourceRevision: refine<..., ...>;
|
|
1147
|
+
sourceTreeDigest: refine<..., ...>;
|
|
1148
|
+
buildRecipeDigest: refine<..., ...>;
|
|
1149
|
+
}>;
|
|
1150
|
+
}>;
|
|
1151
|
+
}>;
|
|
1152
|
+
}>]>;
|
|
1153
|
+
```
|
|
1154
|
+
|
|
1155
|
+
Canonical Effect Schema for one explicit Release create-or-observe result.
|
|
1156
|
+
|
|
1157
|
+
---
|
|
1158
|
+
|
|
1159
|
+
### publicSurfaceReadSchema
|
|
1160
|
+
|
|
1161
|
+
```ts
|
|
1162
|
+
const publicSurfaceReadSchema: Union<
|
|
1163
|
+
readonly [
|
|
1164
|
+
Struct<{
|
|
1165
|
+
kind: Literal<"found">;
|
|
1166
|
+
surface: Struct<{
|
|
1167
|
+
publicSurfaceId: refine<PublicSurfaceId, String>;
|
|
1168
|
+
appId: refine<AppId, String>;
|
|
1169
|
+
stableRoute: refine<StableRoute, String>;
|
|
1170
|
+
}>;
|
|
1171
|
+
}>,
|
|
1172
|
+
Struct<{
|
|
1173
|
+
kind: Literal<"absent">;
|
|
1174
|
+
}>,
|
|
1175
|
+
]
|
|
1176
|
+
>;
|
|
1177
|
+
```
|
|
1178
|
+
|
|
1179
|
+
Canonical Effect Schema for one explicit public-Surface lookup result.
|
|
1180
|
+
|
|
1181
|
+
---
|
|
1182
|
+
|
|
1183
|
+
### publicSurfaceCreateSchema
|
|
1184
|
+
|
|
1185
|
+
```ts
|
|
1186
|
+
const publicSurfaceCreateSchema: Union<
|
|
1187
|
+
readonly [
|
|
1188
|
+
Struct<{
|
|
1189
|
+
kind: Literal<"created">;
|
|
1190
|
+
surface: Struct<{
|
|
1191
|
+
publicSurfaceId: refine<PublicSurfaceId, String>;
|
|
1192
|
+
appId: refine<AppId, String>;
|
|
1193
|
+
stableRoute: refine<StableRoute, String>;
|
|
1194
|
+
}>;
|
|
1195
|
+
}>,
|
|
1196
|
+
Struct<{
|
|
1197
|
+
kind: Literal<"existing">;
|
|
1198
|
+
surface: Struct<{
|
|
1199
|
+
publicSurfaceId: refine<PublicSurfaceId, String>;
|
|
1200
|
+
appId: refine<AppId, String>;
|
|
1201
|
+
stableRoute: refine<StableRoute, String>;
|
|
1202
|
+
}>;
|
|
1203
|
+
}>,
|
|
1204
|
+
Struct<{
|
|
1205
|
+
kind: Literal<"conflict">;
|
|
1206
|
+
}>,
|
|
1207
|
+
]
|
|
1208
|
+
>;
|
|
1209
|
+
```
|
|
1210
|
+
|
|
1211
|
+
Canonical Effect Schema for one public-Surface create-or-observe result.
|
|
1212
|
+
|
|
1213
|
+
---
|
|
1214
|
+
|
|
1215
|
+
### appTransitionIdSchema
|
|
1216
|
+
|
|
1217
|
+
```ts
|
|
1218
|
+
const appTransitionIdSchema: declare<AppTransitionId, AppTransitionId>;
|
|
1219
|
+
```
|
|
1220
|
+
|
|
1221
|
+
The sole Effect Schema wrapper around Cairn's transition codec parser.
|
|
1222
|
+
|
|
1223
|
+
---
|
|
1224
|
+
|
|
1225
|
+
### appReleaseStoreFailureSchema
|
|
1226
|
+
|
|
1227
|
+
```ts
|
|
1228
|
+
const appReleaseStoreFailureSchema: Struct<{
|
|
1229
|
+
kind: Literal<"unavailable">;
|
|
1230
|
+
}>;
|
|
1231
|
+
```
|
|
1232
|
+
|
|
1233
|
+
Canonical Effect Schema for a closed App Release store infrastructure failure.
|
|
1234
|
+
|
|
1235
|
+
---
|
|
1236
|
+
|
|
1237
|
+
### appReadStoreResultSchema
|
|
1238
|
+
|
|
1239
|
+
```ts
|
|
1240
|
+
const appReadStoreResultSchema: Union<
|
|
1241
|
+
readonly [
|
|
1242
|
+
Struct<{
|
|
1243
|
+
kind: Literal<"success">;
|
|
1244
|
+
value: Codec<
|
|
1245
|
+
| {
|
|
1246
|
+
kind: "found";
|
|
1247
|
+
app: {
|
|
1248
|
+
appId: AppId;
|
|
1249
|
+
};
|
|
1250
|
+
}
|
|
1251
|
+
| {
|
|
1252
|
+
kind: "absent";
|
|
1253
|
+
},
|
|
1254
|
+
| {
|
|
1255
|
+
kind: "found";
|
|
1256
|
+
app: {
|
|
1257
|
+
appId: string;
|
|
1258
|
+
};
|
|
1259
|
+
}
|
|
1260
|
+
| {
|
|
1261
|
+
kind: "absent";
|
|
1262
|
+
},
|
|
1263
|
+
never,
|
|
1264
|
+
never
|
|
1265
|
+
>;
|
|
1266
|
+
}>,
|
|
1267
|
+
Struct<{
|
|
1268
|
+
kind: Literal<"failure">;
|
|
1269
|
+
failure: Struct<{
|
|
1270
|
+
kind: Literal<"unavailable">;
|
|
1271
|
+
}>;
|
|
1272
|
+
}>,
|
|
1273
|
+
]
|
|
1274
|
+
>;
|
|
1275
|
+
```
|
|
1276
|
+
|
|
1277
|
+
Canonical Effect Schema for a closed App-read store result envelope.
|
|
1278
|
+
|
|
1279
|
+
---
|
|
1280
|
+
|
|
1281
|
+
### appCreateStoreResultSchema
|
|
1282
|
+
|
|
1283
|
+
```ts
|
|
1284
|
+
const appCreateStoreResultSchema: Union<
|
|
1285
|
+
readonly [
|
|
1286
|
+
Struct<{
|
|
1287
|
+
kind: Literal<"success">;
|
|
1288
|
+
value: Codec<
|
|
1289
|
+
| {
|
|
1290
|
+
kind: "created";
|
|
1291
|
+
app: {
|
|
1292
|
+
appId: AppId;
|
|
1293
|
+
};
|
|
1294
|
+
}
|
|
1295
|
+
| {
|
|
1296
|
+
kind: "existing";
|
|
1297
|
+
app: {
|
|
1298
|
+
appId: AppId;
|
|
1299
|
+
};
|
|
1300
|
+
},
|
|
1301
|
+
| {
|
|
1302
|
+
kind: "created";
|
|
1303
|
+
app: {
|
|
1304
|
+
appId: string;
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
| {
|
|
1308
|
+
kind: "existing";
|
|
1309
|
+
app: {
|
|
1310
|
+
appId: string;
|
|
1311
|
+
};
|
|
1312
|
+
},
|
|
1313
|
+
never,
|
|
1314
|
+
never
|
|
1315
|
+
>;
|
|
1316
|
+
}>,
|
|
1317
|
+
Struct<{
|
|
1318
|
+
kind: Literal<"failure">;
|
|
1319
|
+
failure: Struct<{
|
|
1320
|
+
kind: Literal<"unavailable">;
|
|
1321
|
+
}>;
|
|
1322
|
+
}>,
|
|
1323
|
+
]
|
|
1324
|
+
>;
|
|
1325
|
+
```
|
|
1326
|
+
|
|
1327
|
+
Canonical Effect Schema for a closed App-create store result envelope.
|
|
1328
|
+
|
|
1329
|
+
---
|
|
1330
|
+
|
|
1331
|
+
### releaseReadStoreResultSchema
|
|
1332
|
+
|
|
1333
|
+
```ts
|
|
1334
|
+
const releaseReadStoreResultSchema: Union<
|
|
1335
|
+
readonly [
|
|
1336
|
+
Struct<{
|
|
1337
|
+
kind: Literal<"success">;
|
|
1338
|
+
value: Codec<
|
|
1339
|
+
| {
|
|
1340
|
+
kind: "found";
|
|
1341
|
+
release: {
|
|
1342
|
+
releaseId: ReleaseId;
|
|
1343
|
+
appId: AppId;
|
|
1344
|
+
artifact: {
|
|
1345
|
+
artifactRef: ArtifactRef;
|
|
1346
|
+
artifactDigest: Sha256Digest;
|
|
1347
|
+
provenance: {
|
|
1348
|
+
sourceRevision: SourceRevision;
|
|
1349
|
+
sourceTreeDigest: Sha256Digest;
|
|
1350
|
+
buildRecipeDigest: Sha256Digest;
|
|
1351
|
+
};
|
|
1352
|
+
};
|
|
1353
|
+
};
|
|
1354
|
+
}
|
|
1355
|
+
| {
|
|
1356
|
+
kind: "absent";
|
|
1357
|
+
},
|
|
1358
|
+
| {
|
|
1359
|
+
kind: "found";
|
|
1360
|
+
release: {
|
|
1361
|
+
releaseId: string;
|
|
1362
|
+
appId: string;
|
|
1363
|
+
artifact: {
|
|
1364
|
+
artifactRef: string;
|
|
1365
|
+
artifactDigest: string;
|
|
1366
|
+
provenance: {
|
|
1367
|
+
sourceRevision: string;
|
|
1368
|
+
sourceTreeDigest: string;
|
|
1369
|
+
buildRecipeDigest: string;
|
|
1370
|
+
};
|
|
1371
|
+
};
|
|
1372
|
+
};
|
|
1373
|
+
}
|
|
1374
|
+
| {
|
|
1375
|
+
kind: "absent";
|
|
1376
|
+
},
|
|
1377
|
+
never,
|
|
1378
|
+
never
|
|
1379
|
+
>;
|
|
1380
|
+
}>,
|
|
1381
|
+
Struct<{
|
|
1382
|
+
kind: Literal<"failure">;
|
|
1383
|
+
failure: Struct<{
|
|
1384
|
+
kind: Literal<"unavailable">;
|
|
1385
|
+
}>;
|
|
1386
|
+
}>,
|
|
1387
|
+
]
|
|
1388
|
+
>;
|
|
1389
|
+
```
|
|
1390
|
+
|
|
1391
|
+
Canonical Effect Schema for a closed Release-read store result envelope.
|
|
1392
|
+
|
|
1393
|
+
---
|
|
1394
|
+
|
|
1395
|
+
### releaseCreateStoreResultSchema
|
|
1396
|
+
|
|
1397
|
+
```ts
|
|
1398
|
+
const releaseCreateStoreResultSchema: Union<
|
|
1399
|
+
readonly [
|
|
1400
|
+
Struct<{
|
|
1401
|
+
kind: Literal<"success">;
|
|
1402
|
+
value: Codec<
|
|
1403
|
+
| {
|
|
1404
|
+
kind: "created";
|
|
1405
|
+
release: {
|
|
1406
|
+
releaseId: ReleaseId;
|
|
1407
|
+
appId: AppId;
|
|
1408
|
+
artifact: {
|
|
1409
|
+
artifactRef: ArtifactRef;
|
|
1410
|
+
artifactDigest: Sha256Digest;
|
|
1411
|
+
provenance: {
|
|
1412
|
+
sourceRevision: SourceRevision;
|
|
1413
|
+
sourceTreeDigest: Sha256Digest;
|
|
1414
|
+
buildRecipeDigest: Sha256Digest;
|
|
1415
|
+
};
|
|
1416
|
+
};
|
|
1417
|
+
};
|
|
1418
|
+
}
|
|
1419
|
+
| {
|
|
1420
|
+
kind: "existing";
|
|
1421
|
+
release: {
|
|
1422
|
+
releaseId: ReleaseId;
|
|
1423
|
+
appId: AppId;
|
|
1424
|
+
artifact: {
|
|
1425
|
+
artifactRef: ArtifactRef;
|
|
1426
|
+
artifactDigest: Sha256Digest;
|
|
1427
|
+
provenance: {
|
|
1428
|
+
sourceRevision: SourceRevision;
|
|
1429
|
+
sourceTreeDigest: Sha256Digest;
|
|
1430
|
+
buildRecipeDigest: Sha256Digest;
|
|
1431
|
+
};
|
|
1432
|
+
};
|
|
1433
|
+
};
|
|
1434
|
+
},
|
|
1435
|
+
| {
|
|
1436
|
+
kind: "created";
|
|
1437
|
+
release: {
|
|
1438
|
+
releaseId: string;
|
|
1439
|
+
appId: string;
|
|
1440
|
+
artifact: {
|
|
1441
|
+
artifactRef: string;
|
|
1442
|
+
artifactDigest: string;
|
|
1443
|
+
provenance: {
|
|
1444
|
+
sourceRevision: string;
|
|
1445
|
+
sourceTreeDigest: string;
|
|
1446
|
+
buildRecipeDigest: string;
|
|
1447
|
+
};
|
|
1448
|
+
};
|
|
1449
|
+
};
|
|
1450
|
+
}
|
|
1451
|
+
| {
|
|
1452
|
+
kind: "existing";
|
|
1453
|
+
release: {
|
|
1454
|
+
releaseId: string;
|
|
1455
|
+
appId: string;
|
|
1456
|
+
artifact: {
|
|
1457
|
+
artifactRef: string;
|
|
1458
|
+
artifactDigest: string;
|
|
1459
|
+
provenance: {
|
|
1460
|
+
sourceRevision: string;
|
|
1461
|
+
sourceTreeDigest: string;
|
|
1462
|
+
buildRecipeDigest: string;
|
|
1463
|
+
};
|
|
1464
|
+
};
|
|
1465
|
+
};
|
|
1466
|
+
},
|
|
1467
|
+
never,
|
|
1468
|
+
never
|
|
1469
|
+
>;
|
|
1470
|
+
}>,
|
|
1471
|
+
Struct<{
|
|
1472
|
+
kind: Literal<"failure">;
|
|
1473
|
+
failure: Struct<{
|
|
1474
|
+
kind: Literal<"unavailable">;
|
|
1475
|
+
}>;
|
|
1476
|
+
}>,
|
|
1477
|
+
]
|
|
1478
|
+
>;
|
|
1479
|
+
```
|
|
1480
|
+
|
|
1481
|
+
Canonical Effect Schema for a closed Release-create store result envelope.
|
|
1482
|
+
|
|
1483
|
+
---
|
|
1484
|
+
|
|
1485
|
+
### publicSurfaceReadStoreResultSchema
|
|
1486
|
+
|
|
1487
|
+
```ts
|
|
1488
|
+
const publicSurfaceReadStoreResultSchema: Union<
|
|
1489
|
+
readonly [
|
|
1490
|
+
Struct<{
|
|
1491
|
+
kind: Literal<"success">;
|
|
1492
|
+
value: Codec<
|
|
1493
|
+
| {
|
|
1494
|
+
kind: "found";
|
|
1495
|
+
surface: {
|
|
1496
|
+
publicSurfaceId: PublicSurfaceId;
|
|
1497
|
+
appId: AppId;
|
|
1498
|
+
stableRoute: StableRoute;
|
|
1499
|
+
};
|
|
1500
|
+
}
|
|
1501
|
+
| {
|
|
1502
|
+
kind: "absent";
|
|
1503
|
+
},
|
|
1504
|
+
| {
|
|
1505
|
+
kind: "found";
|
|
1506
|
+
surface: {
|
|
1507
|
+
publicSurfaceId: string;
|
|
1508
|
+
appId: string;
|
|
1509
|
+
stableRoute: string;
|
|
1510
|
+
};
|
|
1511
|
+
}
|
|
1512
|
+
| {
|
|
1513
|
+
kind: "absent";
|
|
1514
|
+
},
|
|
1515
|
+
never,
|
|
1516
|
+
never
|
|
1517
|
+
>;
|
|
1518
|
+
}>,
|
|
1519
|
+
Struct<{
|
|
1520
|
+
kind: Literal<"failure">;
|
|
1521
|
+
failure: Struct<{
|
|
1522
|
+
kind: Literal<"unavailable">;
|
|
1523
|
+
}>;
|
|
1524
|
+
}>,
|
|
1525
|
+
]
|
|
1526
|
+
>;
|
|
1527
|
+
```
|
|
1528
|
+
|
|
1529
|
+
Canonical Effect Schema for a closed public-Surface-read store result envelope.
|
|
1530
|
+
|
|
1531
|
+
---
|
|
1532
|
+
|
|
1533
|
+
### publicSurfaceCreateStoreResultSchema
|
|
1534
|
+
|
|
1535
|
+
```ts
|
|
1536
|
+
const publicSurfaceCreateStoreResultSchema: Union<
|
|
1537
|
+
readonly [
|
|
1538
|
+
Struct<{
|
|
1539
|
+
kind: Literal<"success">;
|
|
1540
|
+
value: Codec<
|
|
1541
|
+
| {
|
|
1542
|
+
kind: "created";
|
|
1543
|
+
surface: {
|
|
1544
|
+
publicSurfaceId: PublicSurfaceId;
|
|
1545
|
+
appId: AppId;
|
|
1546
|
+
stableRoute: StableRoute;
|
|
1547
|
+
};
|
|
1548
|
+
}
|
|
1549
|
+
| {
|
|
1550
|
+
kind: "existing";
|
|
1551
|
+
surface: {
|
|
1552
|
+
publicSurfaceId: PublicSurfaceId;
|
|
1553
|
+
appId: AppId;
|
|
1554
|
+
stableRoute: StableRoute;
|
|
1555
|
+
};
|
|
1556
|
+
}
|
|
1557
|
+
| {
|
|
1558
|
+
kind: "conflict";
|
|
1559
|
+
},
|
|
1560
|
+
| {
|
|
1561
|
+
kind: "created";
|
|
1562
|
+
surface: {
|
|
1563
|
+
publicSurfaceId: string;
|
|
1564
|
+
appId: string;
|
|
1565
|
+
stableRoute: string;
|
|
1566
|
+
};
|
|
1567
|
+
}
|
|
1568
|
+
| {
|
|
1569
|
+
kind: "existing";
|
|
1570
|
+
surface: {
|
|
1571
|
+
publicSurfaceId: string;
|
|
1572
|
+
appId: string;
|
|
1573
|
+
stableRoute: string;
|
|
1574
|
+
};
|
|
1575
|
+
}
|
|
1576
|
+
| {
|
|
1577
|
+
kind: "conflict";
|
|
1578
|
+
},
|
|
1579
|
+
never,
|
|
1580
|
+
never
|
|
1581
|
+
>;
|
|
1582
|
+
}>,
|
|
1583
|
+
Struct<{
|
|
1584
|
+
kind: Literal<"failure">;
|
|
1585
|
+
failure: Struct<{
|
|
1586
|
+
kind: Literal<"unavailable">;
|
|
1587
|
+
}>;
|
|
1588
|
+
}>,
|
|
1589
|
+
]
|
|
1590
|
+
>;
|
|
1591
|
+
```
|
|
1592
|
+
|
|
1593
|
+
Canonical Effect Schema for a closed public-Surface-create store result
|
|
1594
|
+
envelope.
|
|
1595
|
+
|
|
1596
|
+
---
|
|
1597
|
+
|
|
1598
|
+
### decodeAppId
|
|
1599
|
+
|
|
1600
|
+
```ts
|
|
1601
|
+
const decodeAppId: (input, options?) => Result<AppId, SchemaError>;
|
|
1602
|
+
```
|
|
1603
|
+
|
|
1604
|
+
Decode one Global App identifier through its canonical closed Effect Schema.
|
|
1605
|
+
|
|
1606
|
+
#### Parameters
|
|
1607
|
+
|
|
1608
|
+
| Parameter | Type |
|
|
1609
|
+
| ---------- | -------------- |
|
|
1610
|
+
| `input` | `unknown` |
|
|
1611
|
+
| `options?` | `ParseOptions` |
|
|
1612
|
+
|
|
1613
|
+
#### Returns
|
|
1614
|
+
|
|
1615
|
+
`Result`\<[`AppId`](index.md#appid), `SchemaError`\>
|
|
1616
|
+
|
|
1617
|
+
---
|
|
1618
|
+
|
|
1619
|
+
### decodeReleaseId
|
|
1620
|
+
|
|
1621
|
+
```ts
|
|
1622
|
+
const decodeReleaseId: (input, options?) => Result<ReleaseId, SchemaError>;
|
|
1623
|
+
```
|
|
1624
|
+
|
|
1625
|
+
Decode one immutable Release identifier through its canonical closed Effect
|
|
1626
|
+
Schema.
|
|
1627
|
+
|
|
1628
|
+
#### Parameters
|
|
1629
|
+
|
|
1630
|
+
| Parameter | Type |
|
|
1631
|
+
| ---------- | -------------- |
|
|
1632
|
+
| `input` | `unknown` |
|
|
1633
|
+
| `options?` | `ParseOptions` |
|
|
1634
|
+
|
|
1635
|
+
#### Returns
|
|
1636
|
+
|
|
1637
|
+
`Result`\<[`ReleaseId`](index.md#releaseid), `SchemaError`\>
|
|
1638
|
+
|
|
1639
|
+
---
|
|
1640
|
+
|
|
1641
|
+
### decodePublicSurfaceId
|
|
1642
|
+
|
|
1643
|
+
```ts
|
|
1644
|
+
const decodePublicSurfaceId: (
|
|
1645
|
+
input,
|
|
1646
|
+
options?,
|
|
1647
|
+
) => Result<PublicSurfaceId, SchemaError>;
|
|
1648
|
+
```
|
|
1649
|
+
|
|
1650
|
+
Decode one public-Surface identifier through its canonical closed Effect Schema.
|
|
1651
|
+
|
|
1652
|
+
#### Parameters
|
|
1653
|
+
|
|
1654
|
+
| Parameter | Type |
|
|
1655
|
+
| ---------- | -------------- |
|
|
1656
|
+
| `input` | `unknown` |
|
|
1657
|
+
| `options?` | `ParseOptions` |
|
|
1658
|
+
|
|
1659
|
+
#### Returns
|
|
1660
|
+
|
|
1661
|
+
`Result`\<[`PublicSurfaceId`](index.md#publicsurfaceid), `SchemaError`\>
|
|
1662
|
+
|
|
1663
|
+
---
|
|
1664
|
+
|
|
1665
|
+
### decodeArtifactRef
|
|
1666
|
+
|
|
1667
|
+
```ts
|
|
1668
|
+
const decodeArtifactRef: (input, options?) => Result<ArtifactRef, SchemaError>;
|
|
1669
|
+
```
|
|
1670
|
+
|
|
1671
|
+
Decode one bounded artifact reference through its canonical closed Effect
|
|
1672
|
+
Schema.
|
|
1673
|
+
|
|
1674
|
+
#### Parameters
|
|
1675
|
+
|
|
1676
|
+
| Parameter | Type |
|
|
1677
|
+
| ---------- | -------------- |
|
|
1678
|
+
| `input` | `unknown` |
|
|
1679
|
+
| `options?` | `ParseOptions` |
|
|
1680
|
+
|
|
1681
|
+
#### Returns
|
|
1682
|
+
|
|
1683
|
+
`Result`\<[`ArtifactRef`](index.md#artifactref), `SchemaError`\>
|
|
1684
|
+
|
|
1685
|
+
---
|
|
1686
|
+
|
|
1687
|
+
### decodeIdempotencyKey
|
|
1688
|
+
|
|
1689
|
+
```ts
|
|
1690
|
+
const decodeIdempotencyKey: (
|
|
1691
|
+
input,
|
|
1692
|
+
options?,
|
|
1693
|
+
) => Result<IdempotencyKey, SchemaError>;
|
|
1694
|
+
```
|
|
1695
|
+
|
|
1696
|
+
Decode one idempotency key through its canonical closed Effect Schema.
|
|
1697
|
+
|
|
1698
|
+
#### Parameters
|
|
1699
|
+
|
|
1700
|
+
| Parameter | Type |
|
|
1701
|
+
| ---------- | -------------- |
|
|
1702
|
+
| `input` | `unknown` |
|
|
1703
|
+
| `options?` | `ParseOptions` |
|
|
1704
|
+
|
|
1705
|
+
#### Returns
|
|
1706
|
+
|
|
1707
|
+
`Result`\<[`IdempotencyKey`](index.md#idempotencykey), `SchemaError`\>
|
|
1708
|
+
|
|
1709
|
+
---
|
|
1710
|
+
|
|
1711
|
+
### decodeSourceRevision
|
|
1712
|
+
|
|
1713
|
+
```ts
|
|
1714
|
+
const decodeSourceRevision: (
|
|
1715
|
+
input,
|
|
1716
|
+
options?,
|
|
1717
|
+
) => Result<SourceRevision, SchemaError>;
|
|
1718
|
+
```
|
|
1719
|
+
|
|
1720
|
+
Decode one pinned source revision through its canonical closed Effect Schema.
|
|
1721
|
+
|
|
1722
|
+
#### Parameters
|
|
1723
|
+
|
|
1724
|
+
| Parameter | Type |
|
|
1725
|
+
| ---------- | -------------- |
|
|
1726
|
+
| `input` | `unknown` |
|
|
1727
|
+
| `options?` | `ParseOptions` |
|
|
1728
|
+
|
|
1729
|
+
#### Returns
|
|
1730
|
+
|
|
1731
|
+
`Result`\<[`SourceRevision`](index.md#sourcerevision), `SchemaError`\>
|
|
1732
|
+
|
|
1733
|
+
---
|
|
1734
|
+
|
|
1735
|
+
### decodeSha256Digest
|
|
1736
|
+
|
|
1737
|
+
```ts
|
|
1738
|
+
const decodeSha256Digest: (
|
|
1739
|
+
input,
|
|
1740
|
+
options?,
|
|
1741
|
+
) => Result<Sha256Digest, SchemaError>;
|
|
1742
|
+
```
|
|
1743
|
+
|
|
1744
|
+
Decode one SHA-256 digest through its canonical closed Effect Schema.
|
|
1745
|
+
|
|
1746
|
+
#### Parameters
|
|
1747
|
+
|
|
1748
|
+
| Parameter | Type |
|
|
1749
|
+
| ---------- | -------------- |
|
|
1750
|
+
| `input` | `unknown` |
|
|
1751
|
+
| `options?` | `ParseOptions` |
|
|
1752
|
+
|
|
1753
|
+
#### Returns
|
|
1754
|
+
|
|
1755
|
+
`Result`\<[`Sha256Digest`](index.md#sha256digest), `SchemaError`\>
|
|
1756
|
+
|
|
1757
|
+
---
|
|
1758
|
+
|
|
1759
|
+
### decodeStableRoute
|
|
1760
|
+
|
|
1761
|
+
```ts
|
|
1762
|
+
const decodeStableRoute: (input, options?) => Result<StableRoute, SchemaError>;
|
|
1763
|
+
```
|
|
1764
|
+
|
|
1765
|
+
Decode one local stable route through its canonical closed Effect Schema.
|
|
1766
|
+
|
|
1767
|
+
#### Parameters
|
|
1768
|
+
|
|
1769
|
+
| Parameter | Type |
|
|
1770
|
+
| ---------- | -------------- |
|
|
1771
|
+
| `input` | `unknown` |
|
|
1772
|
+
| `options?` | `ParseOptions` |
|
|
1773
|
+
|
|
1774
|
+
#### Returns
|
|
1775
|
+
|
|
1776
|
+
`Result`\<[`StableRoute`](index.md#stableroute), `SchemaError`\>
|
|
1777
|
+
|
|
1778
|
+
---
|
|
1779
|
+
|
|
1780
|
+
### decodeAppTransitionId
|
|
1781
|
+
|
|
1782
|
+
```ts
|
|
1783
|
+
const decodeAppTransitionId: (
|
|
1784
|
+
input,
|
|
1785
|
+
options?,
|
|
1786
|
+
) => Result<AppTransitionId, SchemaError>;
|
|
1787
|
+
```
|
|
1788
|
+
|
|
1789
|
+
Decode a Cairn-issued App transition identity through its sole wrapper.
|
|
1790
|
+
|
|
1791
|
+
#### Parameters
|
|
1792
|
+
|
|
1793
|
+
| Parameter | Type |
|
|
1794
|
+
| ---------- | -------------- |
|
|
1795
|
+
| `input` | `unknown` |
|
|
1796
|
+
| `options?` | `ParseOptions` |
|
|
1797
|
+
|
|
1798
|
+
#### Returns
|
|
1799
|
+
|
|
1800
|
+
`Result`\<[`AppTransitionId`](index.md#apptransitionid), `SchemaError`\>
|
|
1801
|
+
|
|
1802
|
+
---
|
|
1803
|
+
|
|
1804
|
+
### decodeArtifactReadResult
|
|
1805
|
+
|
|
1806
|
+
```ts
|
|
1807
|
+
const decodeArtifactReadResult: (
|
|
1808
|
+
input,
|
|
1809
|
+
options?,
|
|
1810
|
+
) => Effect<
|
|
1811
|
+
| {
|
|
1812
|
+
kind: "verified";
|
|
1813
|
+
digest: Sha256Digest;
|
|
1814
|
+
mediaType:
|
|
1815
|
+
| "text/html; charset=utf-8"
|
|
1816
|
+
| "application/vnd.fungi.app-backend+json"
|
|
1817
|
+
| "application/vnd.fungi.app-assets+json"
|
|
1818
|
+
| "application/vnd.fungi.app+json";
|
|
1819
|
+
bytes: object & ImmutableArtifactBytes;
|
|
1820
|
+
byteLength: number;
|
|
1821
|
+
}
|
|
1822
|
+
| {
|
|
1823
|
+
kind: "unavailable";
|
|
1824
|
+
}
|
|
1825
|
+
| {
|
|
1826
|
+
kind: "missing";
|
|
1827
|
+
}
|
|
1828
|
+
| {
|
|
1829
|
+
kind: "digest-mismatch";
|
|
1830
|
+
actualDigest: Sha256Digest;
|
|
1831
|
+
},
|
|
1832
|
+
SchemaError,
|
|
1833
|
+
never
|
|
1834
|
+
>;
|
|
1835
|
+
```
|
|
1836
|
+
|
|
1837
|
+
Decode a hostile artifact-reader result through its canonical closed schema.
|
|
1838
|
+
|
|
1839
|
+
#### Parameters
|
|
1840
|
+
|
|
1841
|
+
| Parameter | Type |
|
|
1842
|
+
| ---------- | -------------- |
|
|
1843
|
+
| `input` | `unknown` |
|
|
1844
|
+
| `options?` | `ParseOptions` |
|
|
1845
|
+
|
|
1846
|
+
#### Returns
|
|
1847
|
+
|
|
1848
|
+
`Effect`\< \| \{ `kind`: `"verified"`; `digest`:
|
|
1849
|
+
[`Sha256Digest`](index.md#sha256digest); `mediaType`: \|
|
|
1850
|
+
`"text/html; charset=utf-8"` \| `"application/vnd.fungi.app-backend+json"` \|
|
|
1851
|
+
`"application/vnd.fungi.app-assets+json"` \| `"application/vnd.fungi.app+json"`;
|
|
1852
|
+
`bytes`: `object` & [`ImmutableArtifactBytes`](index.md#immutableartifactbytes);
|
|
1853
|
+
`byteLength`: `number`; \} \| \{ `kind`: `"unavailable"`; \} \| \{ `kind`:
|
|
1854
|
+
`"missing"`; \} \| \{ `kind`: `"digest-mismatch"`; `actualDigest`:
|
|
1855
|
+
[`Sha256Digest`](index.md#sha256digest); \}, `SchemaError`, `never`\>
|
|
1856
|
+
|
|
1857
|
+
---
|
|
1858
|
+
|
|
1859
|
+
### decodeApp
|
|
1860
|
+
|
|
1861
|
+
```ts
|
|
1862
|
+
const decodeApp: (
|
|
1863
|
+
input,
|
|
1864
|
+
options?,
|
|
1865
|
+
) => Result<
|
|
1866
|
+
{
|
|
1867
|
+
appId: AppId;
|
|
1868
|
+
},
|
|
1869
|
+
SchemaError
|
|
1870
|
+
>;
|
|
1871
|
+
```
|
|
1872
|
+
|
|
1873
|
+
Decode a hostile App record through its canonical closed schema.
|
|
1874
|
+
|
|
1875
|
+
#### Parameters
|
|
1876
|
+
|
|
1877
|
+
| Parameter | Type |
|
|
1878
|
+
| ---------- | -------------- |
|
|
1879
|
+
| `input` | `unknown` |
|
|
1880
|
+
| `options?` | `ParseOptions` |
|
|
1881
|
+
|
|
1882
|
+
#### Returns
|
|
1883
|
+
|
|
1884
|
+
`Result`\<\{ `appId`: [`AppId`](index.md#appid); \}, `SchemaError`\>
|
|
1885
|
+
|
|
1886
|
+
---
|
|
1887
|
+
|
|
1888
|
+
### decodeRelease
|
|
1889
|
+
|
|
1890
|
+
```ts
|
|
1891
|
+
const decodeRelease: (
|
|
1892
|
+
input,
|
|
1893
|
+
options?,
|
|
1894
|
+
) => Result<
|
|
1895
|
+
{
|
|
1896
|
+
releaseId: ReleaseId;
|
|
1897
|
+
appId: AppId;
|
|
1898
|
+
artifact: {
|
|
1899
|
+
artifactRef: ArtifactRef;
|
|
1900
|
+
artifactDigest: Sha256Digest;
|
|
1901
|
+
provenance: {
|
|
1902
|
+
sourceRevision: SourceRevision;
|
|
1903
|
+
sourceTreeDigest: Sha256Digest;
|
|
1904
|
+
buildRecipeDigest: Sha256Digest;
|
|
1905
|
+
};
|
|
1906
|
+
};
|
|
1907
|
+
},
|
|
1908
|
+
SchemaError
|
|
1909
|
+
>;
|
|
1910
|
+
```
|
|
1911
|
+
|
|
1912
|
+
Decode a hostile Release record through its canonical closed schema.
|
|
1913
|
+
|
|
1914
|
+
#### Parameters
|
|
1915
|
+
|
|
1916
|
+
| Parameter | Type |
|
|
1917
|
+
| ---------- | -------------- |
|
|
1918
|
+
| `input` | `unknown` |
|
|
1919
|
+
| `options?` | `ParseOptions` |
|
|
1920
|
+
|
|
1921
|
+
#### Returns
|
|
1922
|
+
|
|
1923
|
+
`Result`\<\{ `releaseId`: [`ReleaseId`](index.md#releaseid); `appId`:
|
|
1924
|
+
[`AppId`](index.md#appid); `artifact`: \{ `artifactRef`:
|
|
1925
|
+
[`ArtifactRef`](index.md#artifactref); `artifactDigest`:
|
|
1926
|
+
[`Sha256Digest`](index.md#sha256digest); `provenance`: \{ `sourceRevision`:
|
|
1927
|
+
[`SourceRevision`](index.md#sourcerevision); `sourceTreeDigest`:
|
|
1928
|
+
[`Sha256Digest`](index.md#sha256digest); `buildRecipeDigest`:
|
|
1929
|
+
[`Sha256Digest`](index.md#sha256digest); \}; \}; \}, `SchemaError`\>
|
|
1930
|
+
|
|
1931
|
+
---
|
|
1932
|
+
|
|
1933
|
+
### decodePublicSurface
|
|
1934
|
+
|
|
1935
|
+
```ts
|
|
1936
|
+
const decodePublicSurface: (
|
|
1937
|
+
input,
|
|
1938
|
+
options?,
|
|
1939
|
+
) => Result<
|
|
1940
|
+
{
|
|
1941
|
+
publicSurfaceId: PublicSurfaceId;
|
|
1942
|
+
appId: AppId;
|
|
1943
|
+
stableRoute: StableRoute;
|
|
1944
|
+
},
|
|
1945
|
+
SchemaError
|
|
1946
|
+
>;
|
|
1947
|
+
```
|
|
1948
|
+
|
|
1949
|
+
Decode a hostile public Surface through its canonical closed schema.
|
|
1950
|
+
|
|
1951
|
+
#### Parameters
|
|
1952
|
+
|
|
1953
|
+
| Parameter | Type |
|
|
1954
|
+
| ---------- | -------------- |
|
|
1955
|
+
| `input` | `unknown` |
|
|
1956
|
+
| `options?` | `ParseOptions` |
|
|
1957
|
+
|
|
1958
|
+
#### Returns
|
|
1959
|
+
|
|
1960
|
+
`Result`\<\{ `publicSurfaceId`: [`PublicSurfaceId`](index.md#publicsurfaceid);
|
|
1961
|
+
`appId`: [`AppId`](index.md#appid); `stableRoute`:
|
|
1962
|
+
[`StableRoute`](index.md#stableroute); \}, `SchemaError`\>
|
|
1963
|
+
|
|
1964
|
+
---
|
|
1965
|
+
|
|
1966
|
+
### decodeAppReadStoreResult
|
|
1967
|
+
|
|
1968
|
+
```ts
|
|
1969
|
+
const decodeAppReadStoreResult: (
|
|
1970
|
+
input,
|
|
1971
|
+
options?,
|
|
1972
|
+
) => Result<
|
|
1973
|
+
| {
|
|
1974
|
+
kind: "success";
|
|
1975
|
+
value:
|
|
1976
|
+
| {
|
|
1977
|
+
kind: "found";
|
|
1978
|
+
app: {
|
|
1979
|
+
appId: AppId;
|
|
1980
|
+
};
|
|
1981
|
+
}
|
|
1982
|
+
| {
|
|
1983
|
+
kind: "absent";
|
|
1984
|
+
};
|
|
1985
|
+
}
|
|
1986
|
+
| {
|
|
1987
|
+
kind: "failure";
|
|
1988
|
+
failure: {
|
|
1989
|
+
kind: "unavailable";
|
|
1990
|
+
};
|
|
1991
|
+
},
|
|
1992
|
+
SchemaError
|
|
1993
|
+
>;
|
|
1994
|
+
```
|
|
1995
|
+
|
|
1996
|
+
Decode a hostile App-read store result through its canonical closed schema.
|
|
1997
|
+
|
|
1998
|
+
#### Parameters
|
|
1999
|
+
|
|
2000
|
+
| Parameter | Type |
|
|
2001
|
+
| ---------- | -------------- |
|
|
2002
|
+
| `input` | `unknown` |
|
|
2003
|
+
| `options?` | `ParseOptions` |
|
|
2004
|
+
|
|
2005
|
+
#### Returns
|
|
2006
|
+
|
|
2007
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"found"`; `app`:
|
|
2008
|
+
\{ `appId`: [`AppId`](index.md#appid); \}; \} \| \{ `kind`: `"absent"`; \}; \}
|
|
2009
|
+
\| \{ `kind`: `"failure"`; `failure`: \{ `kind`: `"unavailable"`; \}; \},
|
|
2010
|
+
`SchemaError`\>
|
|
2011
|
+
|
|
2012
|
+
---
|
|
2013
|
+
|
|
2014
|
+
### decodeAppCreateStoreResult
|
|
2015
|
+
|
|
2016
|
+
```ts
|
|
2017
|
+
const decodeAppCreateStoreResult: (
|
|
2018
|
+
input,
|
|
2019
|
+
options?,
|
|
2020
|
+
) => Result<
|
|
2021
|
+
| {
|
|
2022
|
+
kind: "success";
|
|
2023
|
+
value:
|
|
2024
|
+
| {
|
|
2025
|
+
kind: "created";
|
|
2026
|
+
app: {
|
|
2027
|
+
appId: AppId;
|
|
2028
|
+
};
|
|
2029
|
+
}
|
|
2030
|
+
| {
|
|
2031
|
+
kind: "existing";
|
|
2032
|
+
app: {
|
|
2033
|
+
appId: AppId;
|
|
2034
|
+
};
|
|
2035
|
+
};
|
|
2036
|
+
}
|
|
2037
|
+
| {
|
|
2038
|
+
kind: "failure";
|
|
2039
|
+
failure: {
|
|
2040
|
+
kind: "unavailable";
|
|
2041
|
+
};
|
|
2042
|
+
},
|
|
2043
|
+
SchemaError
|
|
2044
|
+
>;
|
|
2045
|
+
```
|
|
2046
|
+
|
|
2047
|
+
Decode a hostile App-create store result through its canonical closed schema.
|
|
2048
|
+
|
|
2049
|
+
#### Parameters
|
|
2050
|
+
|
|
2051
|
+
| Parameter | Type |
|
|
2052
|
+
| ---------- | -------------- |
|
|
2053
|
+
| `input` | `unknown` |
|
|
2054
|
+
| `options?` | `ParseOptions` |
|
|
2055
|
+
|
|
2056
|
+
#### Returns
|
|
2057
|
+
|
|
2058
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"created"`; `app`:
|
|
2059
|
+
\{ `appId`: [`AppId`](index.md#appid); \}; \} \| \{ `kind`: `"existing"`; `app`:
|
|
2060
|
+
\{ `appId`: [`AppId`](index.md#appid); \}; \}; \} \| \{ `kind`: `"failure"`;
|
|
2061
|
+
`failure`: \{ `kind`: `"unavailable"`; \}; \}, `SchemaError`\>
|
|
2062
|
+
|
|
2063
|
+
---
|
|
2064
|
+
|
|
2065
|
+
### decodeReleaseReadStoreResult
|
|
2066
|
+
|
|
2067
|
+
```ts
|
|
2068
|
+
const decodeReleaseReadStoreResult: (
|
|
2069
|
+
input,
|
|
2070
|
+
options?,
|
|
2071
|
+
) => Result<
|
|
2072
|
+
| {
|
|
2073
|
+
kind: "success";
|
|
2074
|
+
value:
|
|
2075
|
+
| {
|
|
2076
|
+
kind: "found";
|
|
2077
|
+
release: {
|
|
2078
|
+
releaseId: ReleaseId;
|
|
2079
|
+
appId: AppId;
|
|
2080
|
+
artifact: {
|
|
2081
|
+
artifactRef: ArtifactRef;
|
|
2082
|
+
artifactDigest: Sha256Digest;
|
|
2083
|
+
provenance: {
|
|
2084
|
+
sourceRevision: SourceRevision;
|
|
2085
|
+
sourceTreeDigest: Sha256Digest;
|
|
2086
|
+
buildRecipeDigest: Sha256Digest;
|
|
2087
|
+
};
|
|
2088
|
+
};
|
|
2089
|
+
};
|
|
2090
|
+
}
|
|
2091
|
+
| {
|
|
2092
|
+
kind: "absent";
|
|
2093
|
+
};
|
|
2094
|
+
}
|
|
2095
|
+
| {
|
|
2096
|
+
kind: "failure";
|
|
2097
|
+
failure: {
|
|
2098
|
+
kind: "unavailable";
|
|
2099
|
+
};
|
|
2100
|
+
},
|
|
2101
|
+
SchemaError
|
|
2102
|
+
>;
|
|
2103
|
+
```
|
|
2104
|
+
|
|
2105
|
+
Decode a hostile Release-read store result through its canonical closed schema.
|
|
2106
|
+
|
|
2107
|
+
#### Parameters
|
|
2108
|
+
|
|
2109
|
+
| Parameter | Type |
|
|
2110
|
+
| ---------- | -------------- |
|
|
2111
|
+
| `input` | `unknown` |
|
|
2112
|
+
| `options?` | `ParseOptions` |
|
|
2113
|
+
|
|
2114
|
+
#### Returns
|
|
2115
|
+
|
|
2116
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"found"`;
|
|
2117
|
+
`release`: \{ `releaseId`: [`ReleaseId`](index.md#releaseid); `appId`:
|
|
2118
|
+
[`AppId`](index.md#appid); `artifact`: \{ `artifactRef`:
|
|
2119
|
+
[`ArtifactRef`](index.md#artifactref); `artifactDigest`:
|
|
2120
|
+
[`Sha256Digest`](index.md#sha256digest); `provenance`: \{ `sourceRevision`:
|
|
2121
|
+
[`SourceRevision`](index.md#sourcerevision); `sourceTreeDigest`:
|
|
2122
|
+
[`Sha256Digest`](index.md#sha256digest); `buildRecipeDigest`:
|
|
2123
|
+
[`Sha256Digest`](index.md#sha256digest); \}; \}; \}; \} \| \{ `kind`:
|
|
2124
|
+
`"absent"`; \}; \} \| \{ `kind`: `"failure"`; `failure`: \{ `kind`:
|
|
2125
|
+
`"unavailable"`; \}; \}, `SchemaError`\>
|
|
2126
|
+
|
|
2127
|
+
---
|
|
2128
|
+
|
|
2129
|
+
### decodeReleaseCreateStoreResult
|
|
2130
|
+
|
|
2131
|
+
```ts
|
|
2132
|
+
const decodeReleaseCreateStoreResult: (
|
|
2133
|
+
input,
|
|
2134
|
+
options?,
|
|
2135
|
+
) => Result<
|
|
2136
|
+
| {
|
|
2137
|
+
kind: "success";
|
|
2138
|
+
value:
|
|
2139
|
+
| {
|
|
2140
|
+
kind: "created";
|
|
2141
|
+
release: {
|
|
2142
|
+
releaseId: ReleaseId;
|
|
2143
|
+
appId: AppId;
|
|
2144
|
+
artifact: {
|
|
2145
|
+
artifactRef: ArtifactRef;
|
|
2146
|
+
artifactDigest: Sha256Digest;
|
|
2147
|
+
provenance: {
|
|
2148
|
+
sourceRevision: SourceRevision;
|
|
2149
|
+
sourceTreeDigest: Sha256Digest;
|
|
2150
|
+
buildRecipeDigest: Sha256Digest;
|
|
2151
|
+
};
|
|
2152
|
+
};
|
|
2153
|
+
};
|
|
2154
|
+
}
|
|
2155
|
+
| {
|
|
2156
|
+
kind: "existing";
|
|
2157
|
+
release: {
|
|
2158
|
+
releaseId: ReleaseId;
|
|
2159
|
+
appId: AppId;
|
|
2160
|
+
artifact: {
|
|
2161
|
+
artifactRef: ArtifactRef;
|
|
2162
|
+
artifactDigest: Sha256Digest;
|
|
2163
|
+
provenance: {
|
|
2164
|
+
sourceRevision: SourceRevision;
|
|
2165
|
+
sourceTreeDigest: Sha256Digest;
|
|
2166
|
+
buildRecipeDigest: Sha256Digest;
|
|
2167
|
+
};
|
|
2168
|
+
};
|
|
2169
|
+
};
|
|
2170
|
+
};
|
|
2171
|
+
}
|
|
2172
|
+
| {
|
|
2173
|
+
kind: "failure";
|
|
2174
|
+
failure: {
|
|
2175
|
+
kind: "unavailable";
|
|
2176
|
+
};
|
|
2177
|
+
},
|
|
2178
|
+
SchemaError
|
|
2179
|
+
>;
|
|
2180
|
+
```
|
|
2181
|
+
|
|
2182
|
+
Decode a hostile Release-create store result through its canonical closed
|
|
2183
|
+
schema.
|
|
2184
|
+
|
|
2185
|
+
#### Parameters
|
|
2186
|
+
|
|
2187
|
+
| Parameter | Type |
|
|
2188
|
+
| ---------- | -------------- |
|
|
2189
|
+
| `input` | `unknown` |
|
|
2190
|
+
| `options?` | `ParseOptions` |
|
|
2191
|
+
|
|
2192
|
+
#### Returns
|
|
2193
|
+
|
|
2194
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"created"`;
|
|
2195
|
+
`release`: \{ `releaseId`: [`ReleaseId`](index.md#releaseid); `appId`:
|
|
2196
|
+
[`AppId`](index.md#appid); `artifact`: \{ `artifactRef`:
|
|
2197
|
+
[`ArtifactRef`](index.md#artifactref); `artifactDigest`:
|
|
2198
|
+
[`Sha256Digest`](index.md#sha256digest); `provenance`: \{ `sourceRevision`:
|
|
2199
|
+
[`SourceRevision`](index.md#sourcerevision); `sourceTreeDigest`:
|
|
2200
|
+
[`Sha256Digest`](index.md#sha256digest); `buildRecipeDigest`:
|
|
2201
|
+
[`Sha256Digest`](index.md#sha256digest); \}; \}; \}; \} \| \{ `kind`:
|
|
2202
|
+
`"existing"`; `release`: \{ `releaseId`: [`ReleaseId`](index.md#releaseid);
|
|
2203
|
+
`appId`: [`AppId`](index.md#appid); `artifact`: \{ `artifactRef`:
|
|
2204
|
+
[`ArtifactRef`](index.md#artifactref); `artifactDigest`:
|
|
2205
|
+
[`Sha256Digest`](index.md#sha256digest); `provenance`: \{ `sourceRevision`:
|
|
2206
|
+
[`SourceRevision`](index.md#sourcerevision); `sourceTreeDigest`:
|
|
2207
|
+
[`Sha256Digest`](index.md#sha256digest); `buildRecipeDigest`:
|
|
2208
|
+
[`Sha256Digest`](index.md#sha256digest); \}; \}; \}; \}; \} \| \{ `kind`:
|
|
2209
|
+
`"failure"`; `failure`: \{ `kind`: `"unavailable"`; \}; \}, `SchemaError`\>
|
|
2210
|
+
|
|
2211
|
+
---
|
|
2212
|
+
|
|
2213
|
+
### decodePublicSurfaceReadStoreResult
|
|
2214
|
+
|
|
2215
|
+
```ts
|
|
2216
|
+
const decodePublicSurfaceReadStoreResult: (
|
|
2217
|
+
input,
|
|
2218
|
+
options?,
|
|
2219
|
+
) => Result<
|
|
2220
|
+
| {
|
|
2221
|
+
kind: "success";
|
|
2222
|
+
value:
|
|
2223
|
+
| {
|
|
2224
|
+
kind: "found";
|
|
2225
|
+
surface: {
|
|
2226
|
+
publicSurfaceId: PublicSurfaceId;
|
|
2227
|
+
appId: AppId;
|
|
2228
|
+
stableRoute: StableRoute;
|
|
2229
|
+
};
|
|
2230
|
+
}
|
|
2231
|
+
| {
|
|
2232
|
+
kind: "absent";
|
|
2233
|
+
};
|
|
2234
|
+
}
|
|
2235
|
+
| {
|
|
2236
|
+
kind: "failure";
|
|
2237
|
+
failure: {
|
|
2238
|
+
kind: "unavailable";
|
|
2239
|
+
};
|
|
2240
|
+
},
|
|
2241
|
+
SchemaError
|
|
2242
|
+
>;
|
|
2243
|
+
```
|
|
2244
|
+
|
|
2245
|
+
Decode a hostile public-Surface-read store result through its canonical closed
|
|
2246
|
+
schema.
|
|
2247
|
+
|
|
2248
|
+
#### Parameters
|
|
2249
|
+
|
|
2250
|
+
| Parameter | Type |
|
|
2251
|
+
| ---------- | -------------- |
|
|
2252
|
+
| `input` | `unknown` |
|
|
2253
|
+
| `options?` | `ParseOptions` |
|
|
2254
|
+
|
|
2255
|
+
#### Returns
|
|
2256
|
+
|
|
2257
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"found"`;
|
|
2258
|
+
`surface`: \{ `publicSurfaceId`: [`PublicSurfaceId`](index.md#publicsurfaceid);
|
|
2259
|
+
`appId`: [`AppId`](index.md#appid); `stableRoute`:
|
|
2260
|
+
[`StableRoute`](index.md#stableroute); \}; \} \| \{ `kind`: `"absent"`; \}; \}
|
|
2261
|
+
\| \{ `kind`: `"failure"`; `failure`: \{ `kind`: `"unavailable"`; \}; \},
|
|
2262
|
+
`SchemaError`\>
|
|
2263
|
+
|
|
2264
|
+
---
|
|
2265
|
+
|
|
2266
|
+
### decodePublicSurfaceCreateStoreResult
|
|
2267
|
+
|
|
2268
|
+
```ts
|
|
2269
|
+
const decodePublicSurfaceCreateStoreResult: (
|
|
2270
|
+
input,
|
|
2271
|
+
options?,
|
|
2272
|
+
) => Result<
|
|
2273
|
+
| {
|
|
2274
|
+
kind: "success";
|
|
2275
|
+
value:
|
|
2276
|
+
| {
|
|
2277
|
+
kind: "created";
|
|
2278
|
+
surface: {
|
|
2279
|
+
publicSurfaceId: PublicSurfaceId;
|
|
2280
|
+
appId: AppId;
|
|
2281
|
+
stableRoute: StableRoute;
|
|
2282
|
+
};
|
|
2283
|
+
}
|
|
2284
|
+
| {
|
|
2285
|
+
kind: "existing";
|
|
2286
|
+
surface: {
|
|
2287
|
+
publicSurfaceId: PublicSurfaceId;
|
|
2288
|
+
appId: AppId;
|
|
2289
|
+
stableRoute: StableRoute;
|
|
2290
|
+
};
|
|
2291
|
+
}
|
|
2292
|
+
| {
|
|
2293
|
+
kind: "conflict";
|
|
2294
|
+
};
|
|
2295
|
+
}
|
|
2296
|
+
| {
|
|
2297
|
+
kind: "failure";
|
|
2298
|
+
failure: {
|
|
2299
|
+
kind: "unavailable";
|
|
2300
|
+
};
|
|
2301
|
+
},
|
|
2302
|
+
SchemaError
|
|
2303
|
+
>;
|
|
2304
|
+
```
|
|
2305
|
+
|
|
2306
|
+
Decode a hostile public-Surface-create store result through its canonical closed
|
|
2307
|
+
schema.
|
|
2308
|
+
|
|
2309
|
+
#### Parameters
|
|
2310
|
+
|
|
2311
|
+
| Parameter | Type |
|
|
2312
|
+
| ---------- | -------------- |
|
|
2313
|
+
| `input` | `unknown` |
|
|
2314
|
+
| `options?` | `ParseOptions` |
|
|
2315
|
+
|
|
2316
|
+
#### Returns
|
|
2317
|
+
|
|
2318
|
+
`Result`\< \| \{ `kind`: `"success"`; `value`: \| \{ `kind`: `"created"`;
|
|
2319
|
+
`surface`: \{ `publicSurfaceId`: [`PublicSurfaceId`](index.md#publicsurfaceid);
|
|
2320
|
+
`appId`: [`AppId`](index.md#appid); `stableRoute`:
|
|
2321
|
+
[`StableRoute`](index.md#stableroute); \}; \} \| \{ `kind`: `"existing"`;
|
|
2322
|
+
`surface`: \{ `publicSurfaceId`: [`PublicSurfaceId`](index.md#publicsurfaceid);
|
|
2323
|
+
`appId`: [`AppId`](index.md#appid); `stableRoute`:
|
|
2324
|
+
[`StableRoute`](index.md#stableroute); \}; \} \| \{ `kind`: `"conflict"`; \}; \}
|
|
2325
|
+
\| \{ `kind`: `"failure"`; `failure`: \{ `kind`: `"unavailable"`; \}; \},
|
|
2326
|
+
`SchemaError`\>
|
|
2327
|
+
|
|
2328
|
+
## Functions
|
|
2329
|
+
|
|
2330
|
+
### createAppReleaseCore()
|
|
2331
|
+
|
|
2332
|
+
```ts
|
|
2333
|
+
function createAppReleaseCore(options): AppReleaseCore;
|
|
2334
|
+
```
|
|
2335
|
+
|
|
2336
|
+
Compose the Effect-native App Release core.
|
|
2337
|
+
|
|
2338
|
+
A Release is first compared with its existing immutable record. Only an absent
|
|
2339
|
+
Release requires an owner App lookup and an atomic create-or-observe. Every
|
|
2340
|
+
closed store failure is mapped at this boundary.
|
|
2341
|
+
|
|
2342
|
+
#### Parameters
|
|
2343
|
+
|
|
2344
|
+
| Parameter | Type |
|
|
2345
|
+
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
2346
|
+
| `options` | \{ `store`: [`AppReleaseStore`](#appreleasestore); `artifactReader`: [`AppReleaseArtifactReader`](#appreleaseartifactreader); `artifactPolicy?`: `Readonly`\<\{ `maxBytes`: `number`; `maxManifestBytes?`: `number`; \}\>; \} |
|
|
2347
|
+
| `options.store` | [`AppReleaseStore`](#appreleasestore) |
|
|
2348
|
+
| `options.artifactReader` | [`AppReleaseArtifactReader`](#appreleaseartifactreader) |
|
|
2349
|
+
| `options.artifactPolicy?` | `Readonly`\<\{ `maxBytes`: `number`; `maxManifestBytes?`: `number`; \}\> |
|
|
2350
|
+
|
|
2351
|
+
#### Returns
|
|
2352
|
+
|
|
2353
|
+
[`AppReleaseCore`](#appreleasecore)
|
|
2354
|
+
|
|
2355
|
+
---
|
|
2356
|
+
|
|
2357
|
+
### createDeterministicMemoryAppReleaseStore()
|
|
2358
|
+
|
|
2359
|
+
```ts
|
|
2360
|
+
function createDeterministicMemoryAppReleaseStore(
|
|
2361
|
+
options?,
|
|
2362
|
+
): PromiseAppReleaseStore;
|
|
2363
|
+
```
|
|
2364
|
+
|
|
2365
|
+
Compose an in-process deterministic store for the narrow App/Release port.
|
|
2366
|
+
|
|
2367
|
+
Store methods mutate only the private collections below. Decisions remain in
|
|
2368
|
+
pure helpers, and every returned record is copied, so callers cannot mutate
|
|
2369
|
+
retained state after an atomic create-or-observe operation.
|
|
2370
|
+
|
|
2371
|
+
#### Parameters
|
|
2372
|
+
|
|
2373
|
+
| Parameter | Type |
|
|
2374
|
+
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
2375
|
+
| `options` | \{ `routes`: \{ `platformRoutes`: readonly `object`[]; `structuralRoutes`: readonly [`StableRoute`](index.md#stableroute)[]; \}; `publishers?`: readonly `object`[]; \} |
|
|
2376
|
+
| `options.routes` | \{ `platformRoutes`: readonly `object`[]; `structuralRoutes`: readonly [`StableRoute`](index.md#stableroute)[]; \} |
|
|
2377
|
+
| `options.routes.platformRoutes` | readonly `object`[] |
|
|
2378
|
+
| `options.routes.structuralRoutes` | readonly [`StableRoute`](index.md#stableroute)[] |
|
|
2379
|
+
| `options.publishers?` | readonly `object`[] |
|
|
2380
|
+
|
|
2381
|
+
#### Returns
|
|
2382
|
+
|
|
2383
|
+
[`PromiseAppReleaseStore`](index.md#promiseappreleasestore)
|
|
2384
|
+
|
|
2385
|
+
---
|
|
2386
|
+
|
|
2387
|
+
### adaptPromiseAppReleaseStore()
|
|
2388
|
+
|
|
2389
|
+
```ts
|
|
2390
|
+
function adaptPromiseAppReleaseStore(projection): AppReleaseStore;
|
|
2391
|
+
```
|
|
2392
|
+
|
|
2393
|
+
Adapt the Promise store projection at the one outer edge.
|
|
2394
|
+
|
|
2395
|
+
Rejected Promise work is deliberately collapsed into the closed unavailable
|
|
2396
|
+
store outcome; infrastructure detail never crosses into catalog policy.
|
|
2397
|
+
|
|
2398
|
+
#### Parameters
|
|
2399
|
+
|
|
2400
|
+
| Parameter | Type |
|
|
2401
|
+
| ------------ | ----------------------------------------------------------- |
|
|
2402
|
+
| `projection` | [`PromiseAppReleaseStore`](index.md#promiseappreleasestore) |
|
|
2403
|
+
|
|
2404
|
+
#### Returns
|
|
2405
|
+
|
|
2406
|
+
[`AppReleaseStore`](#appreleasestore)
|
|
2407
|
+
|
|
2408
|
+
---
|
|
2409
|
+
|
|
2410
|
+
### adaptPromiseArtifactReader()
|
|
2411
|
+
|
|
2412
|
+
```ts
|
|
2413
|
+
function adaptPromiseArtifactReader(projection): AppReleaseArtifactReader;
|
|
2414
|
+
```
|
|
2415
|
+
|
|
2416
|
+
Adapt the Promise artifact-reader projection at the one outer edge.
|
|
2417
|
+
|
|
2418
|
+
Successful values remain hostile until the core's canonical schema decodes them.
|
|
2419
|
+
A rejected Promise is closed to the reader's unavailable failure.
|
|
2420
|
+
|
|
2421
|
+
#### Parameters
|
|
2422
|
+
|
|
2423
|
+
| Parameter | Type |
|
|
2424
|
+
| ------------ | ------------------------------------------- |
|
|
2425
|
+
| `projection` | [`ArtifactReader`](index.md#artifactreader) |
|
|
2426
|
+
|
|
2427
|
+
#### Returns
|
|
2428
|
+
|
|
2429
|
+
[`AppReleaseArtifactReader`](#appreleaseartifactreader)
|