@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.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +443 -2
  3. package/dist/app-api.d.ts +7 -0
  4. package/dist/app-api.js +61 -0
  5. package/dist/app-backend-binding-vocabulary.d.ts +299 -0
  6. package/dist/app-backend-binding-vocabulary.js +257 -0
  7. package/dist/app-backend-bindings.d.ts +21 -0
  8. package/dist/app-backend-bindings.js +47 -0
  9. package/dist/app-declaration.d.ts +46 -0
  10. package/dist/app-declaration.js +115 -0
  11. package/dist/app-event-facts.d.ts +40 -0
  12. package/dist/app-event-facts.js +28 -0
  13. package/dist/app-method-context.d.ts +109 -0
  14. package/dist/app-method-context.js +9 -0
  15. package/dist/app-method-runtime.d.ts +86 -0
  16. package/dist/app-method-runtime.js +122 -0
  17. package/dist/app-origin-paths.d.ts +6 -0
  18. package/dist/app-origin-paths.js +6 -0
  19. package/dist/app-vocabulary.d.ts +189 -0
  20. package/dist/app-vocabulary.js +103 -0
  21. package/dist/app.d.ts +379 -0
  22. package/dist/app.js +71 -0
  23. package/dist/artifact-dispositions.d.ts +115 -0
  24. package/dist/artifact-dispositions.js +234 -0
  25. package/dist/assets.d.ts +54 -0
  26. package/dist/assets.js +89 -0
  27. package/dist/backend.d.ts +41 -0
  28. package/dist/backend.js +29 -0
  29. package/dist/background-replay.d.ts +115 -0
  30. package/dist/background-replay.js +175 -0
  31. package/dist/buyer-references.d.ts +69 -0
  32. package/dist/buyer-references.js +154 -0
  33. package/dist/cloudflare-assets.d.ts +48 -0
  34. package/dist/cloudflare-assets.js +105 -0
  35. package/dist/cloudflare.d.ts +254 -0
  36. package/dist/cloudflare.js +1619 -0
  37. package/dist/effect.d.ts +73 -0
  38. package/dist/effect.js +325 -0
  39. package/dist/git-representation.d.ts +13 -0
  40. package/dist/git-representation.js +16 -0
  41. package/dist/inbox.d.ts +132 -0
  42. package/dist/inbox.js +81 -0
  43. package/dist/index.d.ts +31 -0
  44. package/dist/index.js +85 -0
  45. package/dist/internal/app-description.d.ts +14 -0
  46. package/dist/internal/app-description.js +98 -0
  47. package/dist/internal/app-release-artifact-reader.d.ts +26 -0
  48. package/dist/internal/app-release-artifact-reader.js +1 -0
  49. package/dist/internal/app-release-contract.d.ts +540 -0
  50. package/dist/internal/app-release-contract.js +169 -0
  51. package/dist/internal/app-release-schema.d.ts +1676 -0
  52. package/dist/internal/app-release-schema.js +386 -0
  53. package/dist/internal/app-release-store.d.ts +47 -0
  54. package/dist/internal/app-release-store.js +1 -0
  55. package/dist/internal/background-sync.d.ts +7 -0
  56. package/dist/internal/background-sync.js +10 -0
  57. package/dist/internal/deterministic-memory-app-release-store.d.ts +14 -0
  58. package/dist/internal/deterministic-memory-app-release-store.js +319 -0
  59. package/dist/internal/failure.d.ts +2 -0
  60. package/dist/internal/failure.js +9 -0
  61. package/dist/internal/immutable-release-material.d.ts +3 -0
  62. package/dist/internal/immutable-release-material.js +13 -0
  63. package/dist/internal/promise-app-release-store-adapter.d.ts +9 -0
  64. package/dist/internal/promise-app-release-store-adapter.js +65 -0
  65. package/dist/internal/promise-artifact-reader-adapter.d.ts +9 -0
  66. package/dist/internal/promise-artifact-reader-adapter.js +18 -0
  67. package/dist/internal/public-route-sql.d.ts +10 -0
  68. package/dist/internal/public-route-sql.js +239 -0
  69. package/dist/internal/public-website-authority.d.ts +338 -0
  70. package/dist/internal/public-website-authority.js +50 -0
  71. package/dist/internal/public-website-delivery.d.ts +59 -0
  72. package/dist/internal/public-website-delivery.js +232 -0
  73. package/dist/internal/public-website-fetch.d.ts +8 -0
  74. package/dist/internal/public-website-fetch.js +54 -0
  75. package/dist/internal/release-transition-material.d.ts +3 -0
  76. package/dist/internal/release-transition-material.js +11 -0
  77. package/dist/internal/verified-artifact-snapshot.d.ts +41 -0
  78. package/dist/internal/verified-artifact-snapshot.js +91 -0
  79. package/dist/public-route-moderation.d.ts +83 -0
  80. package/dist/public-route-moderation.js +236 -0
  81. package/dist/public-route-policy.d.ts +51 -0
  82. package/dist/public-route-policy.js +88 -0
  83. package/dist/public-routes.d.ts +34 -0
  84. package/dist/public-routes.js +136 -0
  85. package/dist/publisher.d.ts +61 -0
  86. package/dist/publisher.js +16 -0
  87. package/dist/safety-takedown.d.ts +56 -0
  88. package/dist/safety-takedown.js +146 -0
  89. package/dist/seller-closure-notice.d.ts +14 -0
  90. package/dist/seller-closure-notice.js +14 -0
  91. package/dist/seller-closure.d.ts +15 -0
  92. package/dist/seller-closure.js +31 -0
  93. package/dist/testing.d.ts +8 -0
  94. package/dist/testing.js +47 -0
  95. package/docs/api/README.md +26 -0
  96. package/docs/api/app-backend-binding-vocabulary.md +276 -0
  97. package/docs/api/app-backend-bindings.md +141 -0
  98. package/docs/api/app-event-facts.md +110 -0
  99. package/docs/api/app-method-context.md +166 -0
  100. package/docs/api/app-method-runtime.md +330 -0
  101. package/docs/api/backend.md +108 -0
  102. package/docs/api/background-replay.md +516 -0
  103. package/docs/api/cloudflare.md +1044 -0
  104. package/docs/api/effect.md +2429 -0
  105. package/docs/api/git-representation.md +56 -0
  106. package/docs/api/inbox.md +289 -0
  107. package/docs/api/index.md +2868 -0
  108. package/docs/api/publisher.md +147 -0
  109. package/docs/api/testing.md +31 -0
  110. package/package.json +158 -3
@@ -0,0 +1,1676 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import type { AppId, AppTransitionId, ArtifactRef, ImmutableArtifactBytes, IdempotencyKey, PublicSurfaceId, ReleaseId, Sha256Digest, SourceRevision, StableRoute } from "./app-release-contract.js";
4
+ /** Cairn owns the App transition identity grammar and parser. */
5
+ export declare const appTransitionIdCodec: import("@fungi.computer/cairn/id").IdCodec<"app-release", "transition", 1>;
6
+ export declare const appSurfaceIdCodec: import("@fungi.computer/cairn/id").IdCodec<"app-release", "surface", 1>;
7
+ export declare const appErasureIdCodec: import("@fungi.computer/cairn/id").IdCodec<"app-release", "erasure", 1>;
8
+ /** Canonical Effect Schema for one Global App identifier. */
9
+ export declare const appIdSchema: Schema.refine<AppId, Schema.String>;
10
+ /** Canonical Effect Schema for one immutable Release identifier. */
11
+ export declare const releaseIdSchema: Schema.refine<ReleaseId, Schema.String>;
12
+ /** Canonical Effect Schema for one anonymous public-Surface identifier. */
13
+ export declare const publicSurfaceIdSchema: Schema.refine<PublicSurfaceId, Schema.String>;
14
+ /** Canonical Effect Schema for one bounded artifact reference. */
15
+ export declare const artifactRefSchema: Schema.refine<ArtifactRef, Schema.String>;
16
+ /** Canonical Effect Schema for one caller-provided idempotency key. */
17
+ export declare const idempotencyKeySchema: Schema.refine<IdempotencyKey, Schema.String>;
18
+ /** Canonical Effect Schema for one pinned lowercase Git source revision. */
19
+ export declare const sourceRevisionSchema: Schema.refine<SourceRevision, Schema.String>;
20
+ /** Canonical Effect Schema for one lowercase SHA-256 digest. */
21
+ export declare const sha256DigestSchema: Schema.refine<Sha256Digest, Schema.String>;
22
+ /** Canonical Effect Schema for one canonical local stable route. */
23
+ export declare const stableRouteSchema: Schema.refine<StableRoute, Schema.String>;
24
+ /** Canonical Effect Schema for a Global App record. */
25
+ export declare const appSchema: Schema.Struct<{
26
+ readonly appId: Schema.refine<AppId, Schema.String>;
27
+ }>;
28
+ /** Canonical Effect Schema for immutable source and build provenance. */
29
+ export declare const artifactProvenanceSchema: Schema.Struct<{
30
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
31
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
32
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
33
+ }>;
34
+ /** Canonical Effect Schema for immutable artifact identity and provenance. */
35
+ export declare const releaseArtifactSchema: Schema.Struct<{
36
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
37
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
38
+ readonly provenance: Schema.Struct<{
39
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
40
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
41
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
42
+ }>;
43
+ }>;
44
+ /** Canonical Effect Schema for one immutable App Release. */
45
+ export declare const releaseSchema: Schema.Struct<{
46
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
47
+ readonly appId: Schema.refine<AppId, Schema.String>;
48
+ readonly artifact: Schema.Struct<{
49
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
50
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
51
+ readonly provenance: Schema.Struct<{
52
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
53
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
54
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
55
+ }>;
56
+ }>;
57
+ }>;
58
+ /** Canonical Effect Schema for one App-owned anonymous public Surface. */
59
+ export declare const publicSurfaceSchema: Schema.Struct<{
60
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
61
+ readonly appId: Schema.refine<AppId, Schema.String>;
62
+ readonly stableRoute: Schema.refine<StableRoute, Schema.String>;
63
+ }>;
64
+ /** Supported immutable artifact representation formats at the storage boundary. */
65
+ export declare const artifactMediaTypeSchema: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json", "application/vnd.fungi.app+json"]>;
66
+ /** Canonical persisted metadata derived only by App artifact verification. */
67
+ export declare const verifiedAppDescriptionSchema: Schema.Struct<{
68
+ readonly format: Schema.Literal<"fungi-app-v1">;
69
+ readonly ui: Schema.NullOr<Schema.Struct<{
70
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
71
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
72
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
73
+ readonly version: Schema.String;
74
+ readonly byteLength: Schema.Number;
75
+ }>>;
76
+ readonly backend: Schema.NullOr<Schema.Struct<{
77
+ readonly artifact: Schema.Struct<{
78
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
79
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
80
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
81
+ readonly version: Schema.String;
82
+ readonly byteLength: Schema.Number;
83
+ }>;
84
+ readonly profile: Schema.Struct<{
85
+ readonly runtime: Schema.Struct<{
86
+ readonly kind: Schema.Literal<"durable-facet">;
87
+ readonly stateSchema: Schema.Number;
88
+ }>;
89
+ readonly compatibilityDate: Schema.String;
90
+ readonly exportName: Schema.String;
91
+ }>;
92
+ }>>;
93
+ readonly declaration: Schema.withDecodingDefaultType<Schema.Codec<Readonly<{
94
+ api?: import("../app-vocabulary.js").AppApi;
95
+ displayName?: string | undefined;
96
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
97
+ calls?: readonly Readonly<{
98
+ appId: string;
99
+ methods: readonly string[];
100
+ }>[] | undefined;
101
+ guidance?: string | undefined;
102
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
103
+ receives?: readonly "git.push"[] | undefined;
104
+ icon?: string;
105
+ roles: readonly import("../app-vocabulary.js").AppRole[];
106
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
107
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
108
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
109
+ backend?: Readonly<{
110
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
111
+ sync?: Readonly<{
112
+ method: string;
113
+ }>;
114
+ }> | undefined;
115
+ }>, Readonly<{
116
+ api?: import("../app-vocabulary.js").AppApi;
117
+ displayName?: string | undefined;
118
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
119
+ calls?: readonly Readonly<{
120
+ appId: string;
121
+ methods: readonly string[];
122
+ }>[] | undefined;
123
+ guidance?: string | undefined;
124
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
125
+ receives?: readonly "git.push"[] | undefined;
126
+ icon?: string;
127
+ roles: readonly import("../app-vocabulary.js").AppRole[];
128
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
129
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
130
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
131
+ backend?: Readonly<{
132
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
133
+ sync?: Readonly<{
134
+ method: string;
135
+ }>;
136
+ }> | undefined;
137
+ }>, never, never>, never>;
138
+ }>;
139
+ /** Canonical Effect Schema for a verified immutable artifact snapshot. */
140
+ export declare const verifiedArtifactReadSchema: Schema.Struct<{
141
+ readonly kind: Schema.Literal<"verified">;
142
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
143
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json", "application/vnd.fungi.app+json"]>;
144
+ readonly bytes: Schema.refine<{
145
+ readonly byteLength: number;
146
+ readonly copy: Function;
147
+ } & ImmutableArtifactBytes, Schema.Struct<{
148
+ readonly byteLength: Schema.Number;
149
+ readonly copy: Schema.instanceOf<Function, unknown>;
150
+ }>>;
151
+ readonly byteLength: Schema.Number;
152
+ }>;
153
+ /** Canonical Effect Schema for the complete hostile artifact-reader result. */
154
+ export declare const artifactReadResultSchema: Schema.Union<readonly [Schema.Struct<{
155
+ readonly kind: Schema.Literal<"verified">;
156
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
157
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json", "application/vnd.fungi.app+json"]>;
158
+ readonly bytes: Schema.refine<{
159
+ readonly byteLength: number;
160
+ readonly copy: Function;
161
+ } & ImmutableArtifactBytes, Schema.Struct<{
162
+ readonly byteLength: Schema.Number;
163
+ readonly copy: Schema.instanceOf<Function, unknown>;
164
+ }>>;
165
+ readonly byteLength: Schema.Number;
166
+ }>, Schema.Struct<{
167
+ readonly kind: Schema.Literal<"unavailable">;
168
+ }>, Schema.Struct<{
169
+ readonly kind: Schema.Literal<"missing">;
170
+ }>, Schema.Struct<{
171
+ readonly kind: Schema.Literal<"digest-mismatch">;
172
+ readonly actualDigest: Schema.refine<Sha256Digest, Schema.String>;
173
+ }>]>;
174
+ /** Canonical Effect Schema for one explicit App lookup result. */
175
+ export declare const appReadSchema: Schema.Union<readonly [Schema.Struct<{
176
+ readonly kind: Schema.Literal<"found">;
177
+ readonly app: Schema.Struct<{
178
+ readonly appId: Schema.refine<AppId, Schema.String>;
179
+ }>;
180
+ }>, Schema.Struct<{
181
+ readonly kind: Schema.Literal<"absent">;
182
+ }>]>;
183
+ /** Canonical Effect Schema for one explicit App create-or-observe result. */
184
+ export declare const appCreateSchema: Schema.Union<readonly [Schema.Struct<{
185
+ readonly kind: Schema.Literal<"created">;
186
+ readonly app: Schema.Struct<{
187
+ readonly appId: Schema.refine<AppId, Schema.String>;
188
+ }>;
189
+ }>, Schema.Struct<{
190
+ readonly kind: Schema.Literal<"existing">;
191
+ readonly app: Schema.Struct<{
192
+ readonly appId: Schema.refine<AppId, Schema.String>;
193
+ }>;
194
+ }>]>;
195
+ /** Canonical Effect Schema for one explicit Release lookup result. */
196
+ export declare const releaseReadSchema: Schema.Union<readonly [Schema.Struct<{
197
+ readonly kind: Schema.Literal<"found">;
198
+ readonly release: Schema.Struct<{
199
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
200
+ readonly appId: Schema.refine<AppId, Schema.String>;
201
+ readonly artifact: Schema.Struct<{
202
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
203
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
204
+ readonly provenance: Schema.Struct<{
205
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
206
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
207
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
208
+ }>;
209
+ }>;
210
+ }>;
211
+ }>, Schema.Struct<{
212
+ readonly kind: Schema.Literal<"absent">;
213
+ }>]>;
214
+ /** Canonical Effect Schema for one explicit Release create-or-observe result. */
215
+ export declare const releaseCreateSchema: Schema.Union<readonly [Schema.Struct<{
216
+ readonly kind: Schema.Literal<"created">;
217
+ readonly release: Schema.Struct<{
218
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
219
+ readonly appId: Schema.refine<AppId, Schema.String>;
220
+ readonly artifact: Schema.Struct<{
221
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
222
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
223
+ readonly provenance: Schema.Struct<{
224
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
225
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
226
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
227
+ }>;
228
+ }>;
229
+ }>;
230
+ }>, Schema.Struct<{
231
+ readonly kind: Schema.Literal<"existing">;
232
+ readonly release: Schema.Struct<{
233
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
234
+ readonly appId: Schema.refine<AppId, Schema.String>;
235
+ readonly artifact: Schema.Struct<{
236
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
237
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
238
+ readonly provenance: Schema.Struct<{
239
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
240
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
241
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
242
+ }>;
243
+ }>;
244
+ }>;
245
+ }>]>;
246
+ /** Canonical Effect Schema for one explicit public-Surface lookup result. */
247
+ export declare const publicSurfaceReadSchema: Schema.Union<readonly [Schema.Struct<{
248
+ readonly kind: Schema.Literal<"found">;
249
+ readonly surface: Schema.Struct<{
250
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
251
+ readonly appId: Schema.refine<AppId, Schema.String>;
252
+ readonly stableRoute: Schema.refine<StableRoute, Schema.String>;
253
+ }>;
254
+ }>, Schema.Struct<{
255
+ readonly kind: Schema.Literal<"absent">;
256
+ }>]>;
257
+ /** Canonical Effect Schema for one public-Surface create-or-observe result. */
258
+ export declare const publicSurfaceCreateSchema: Schema.Union<readonly [Schema.Struct<{
259
+ readonly kind: Schema.Literal<"created">;
260
+ readonly surface: Schema.Struct<{
261
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
262
+ readonly appId: Schema.refine<AppId, Schema.String>;
263
+ readonly stableRoute: Schema.refine<StableRoute, Schema.String>;
264
+ }>;
265
+ }>, Schema.Struct<{
266
+ readonly kind: Schema.Literal<"existing">;
267
+ readonly surface: Schema.Struct<{
268
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
269
+ readonly appId: Schema.refine<AppId, Schema.String>;
270
+ readonly stableRoute: Schema.refine<StableRoute, Schema.String>;
271
+ }>;
272
+ }>, Schema.Struct<{
273
+ readonly kind: Schema.Literal<"conflict">;
274
+ }>]>;
275
+ /** Canonical Effect Schema for a verified/unverified Release fact. */
276
+ export declare const releaseVerificationSchema: Schema.Union<readonly [Schema.Struct<{
277
+ readonly kind: Schema.Literal<"verified">;
278
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
279
+ readonly mediaType: Schema.Literal<"application/vnd.fungi.app+json">;
280
+ readonly description: Schema.Struct<{
281
+ readonly format: Schema.Literal<"fungi-app-v1">;
282
+ readonly ui: Schema.NullOr<Schema.Struct<{
283
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
284
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
285
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
286
+ readonly version: Schema.String;
287
+ readonly byteLength: Schema.Number;
288
+ }>>;
289
+ readonly backend: Schema.NullOr<Schema.Struct<{
290
+ readonly artifact: Schema.Struct<{
291
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
292
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
293
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
294
+ readonly version: Schema.String;
295
+ readonly byteLength: Schema.Number;
296
+ }>;
297
+ readonly profile: Schema.Struct<{
298
+ readonly runtime: Schema.Struct<{
299
+ readonly kind: Schema.Literal<"durable-facet">;
300
+ readonly stateSchema: Schema.Number;
301
+ }>;
302
+ readonly compatibilityDate: Schema.String;
303
+ readonly exportName: Schema.String;
304
+ }>;
305
+ }>>;
306
+ readonly declaration: Schema.withDecodingDefaultType<Schema.Codec<Readonly<{
307
+ api?: import("../app-vocabulary.js").AppApi;
308
+ displayName?: string | undefined;
309
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
310
+ calls?: readonly Readonly<{
311
+ appId: string;
312
+ methods: readonly string[];
313
+ }>[] | undefined;
314
+ guidance?: string | undefined;
315
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
316
+ receives?: readonly "git.push"[] | undefined;
317
+ icon?: string;
318
+ roles: readonly import("../app-vocabulary.js").AppRole[];
319
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
320
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
321
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
322
+ backend?: Readonly<{
323
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
324
+ sync?: Readonly<{
325
+ method: string;
326
+ }>;
327
+ }> | undefined;
328
+ }>, Readonly<{
329
+ api?: import("../app-vocabulary.js").AppApi;
330
+ displayName?: string | undefined;
331
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
332
+ calls?: readonly Readonly<{
333
+ appId: string;
334
+ methods: readonly string[];
335
+ }>[] | undefined;
336
+ guidance?: string | undefined;
337
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
338
+ receives?: readonly "git.push"[] | undefined;
339
+ icon?: string;
340
+ roles: readonly import("../app-vocabulary.js").AppRole[];
341
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
342
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
343
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
344
+ backend?: Readonly<{
345
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
346
+ sync?: Readonly<{
347
+ method: string;
348
+ }>;
349
+ }> | undefined;
350
+ }>, never, never>, never>;
351
+ }>;
352
+ }>, Schema.Struct<{
353
+ readonly kind: Schema.Literal<"unverified">;
354
+ }>]>;
355
+ /** Canonical Effect Schema for a live/revoked Release fact. */
356
+ export declare const releaseRevocationSchema: Schema.Union<readonly [Schema.Struct<{
357
+ readonly kind: Schema.Literal<"active">;
358
+ }>, Schema.Struct<{
359
+ readonly kind: Schema.Literal<"revoked">;
360
+ }>]>;
361
+ /** Canonical Effect Schema for one owner-issued transition command. */
362
+ export declare const releaseTransitionSchema: Schema.Union<readonly [Schema.Struct<{
363
+ readonly kind: Schema.Literal<"promotion">;
364
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
365
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
366
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
367
+ }>, Schema.Struct<{
368
+ readonly kind: Schema.Literal<"rollback">;
369
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
370
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
371
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
372
+ }>, Schema.Struct<{
373
+ readonly kind: Schema.Literal<"revocation">;
374
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
375
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
376
+ }>]>;
377
+ /** The sole Effect Schema wrapper around Cairn's transition codec parser. */
378
+ export declare const appTransitionIdSchema: Schema.declare<AppTransitionId, AppTransitionId>;
379
+ /** Canonical Effect Schema for a terminal owner-issued transition receipt. */
380
+ export declare const transitionReceiptSchema: Schema.Struct<{
381
+ readonly transition: Schema.Union<readonly [Schema.Struct<{
382
+ readonly kind: Schema.Literal<"promotion">;
383
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
384
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
385
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
386
+ }>, Schema.Struct<{
387
+ readonly kind: Schema.Literal<"rollback">;
388
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
389
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
390
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
391
+ }>, Schema.Struct<{
392
+ readonly kind: Schema.Literal<"revocation">;
393
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
394
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
395
+ }>]>;
396
+ readonly transitionId: Schema.declare<AppTransitionId, AppTransitionId>;
397
+ }>;
398
+ /** Canonical Effect Schema for durable Release lifecycle facts. */
399
+ export declare const releaseLifecycleSchema: Schema.Union<readonly [Schema.Struct<{
400
+ readonly kind: Schema.Literal<"found">;
401
+ readonly release: Schema.Struct<{
402
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
403
+ readonly appId: Schema.refine<AppId, Schema.String>;
404
+ readonly artifact: Schema.Struct<{
405
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
406
+ readonly artifactDigest: Schema.refine<Sha256Digest, Schema.String>;
407
+ readonly provenance: Schema.Struct<{
408
+ readonly sourceRevision: Schema.refine<SourceRevision, Schema.String>;
409
+ readonly sourceTreeDigest: Schema.refine<Sha256Digest, Schema.String>;
410
+ readonly buildRecipeDigest: Schema.refine<Sha256Digest, Schema.String>;
411
+ }>;
412
+ }>;
413
+ }>;
414
+ readonly verification: Schema.Union<readonly [Schema.Struct<{
415
+ readonly kind: Schema.Literal<"verified">;
416
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
417
+ readonly mediaType: Schema.Literal<"application/vnd.fungi.app+json">;
418
+ readonly description: Schema.Struct<{
419
+ readonly format: Schema.Literal<"fungi-app-v1">;
420
+ readonly ui: Schema.NullOr<Schema.Struct<{
421
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
422
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
423
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
424
+ readonly version: Schema.String;
425
+ readonly byteLength: Schema.Number;
426
+ }>>;
427
+ readonly backend: Schema.NullOr<Schema.Struct<{
428
+ readonly artifact: Schema.Struct<{
429
+ readonly artifactRef: Schema.refine<ArtifactRef, Schema.String>;
430
+ readonly digest: Schema.refine<Sha256Digest, Schema.String>;
431
+ readonly mediaType: Schema.Literals<readonly ["text/html; charset=utf-8", "application/vnd.fungi.app-backend+json", "application/vnd.fungi.app-assets+json"]>;
432
+ readonly version: Schema.String;
433
+ readonly byteLength: Schema.Number;
434
+ }>;
435
+ readonly profile: Schema.Struct<{
436
+ readonly runtime: Schema.Struct<{
437
+ readonly kind: Schema.Literal<"durable-facet">;
438
+ readonly stateSchema: Schema.Number;
439
+ }>;
440
+ readonly compatibilityDate: Schema.String;
441
+ readonly exportName: Schema.String;
442
+ }>;
443
+ }>>;
444
+ readonly declaration: Schema.withDecodingDefaultType<Schema.Codec<Readonly<{
445
+ api?: import("../app-vocabulary.js").AppApi;
446
+ displayName?: string | undefined;
447
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
448
+ calls?: readonly Readonly<{
449
+ appId: string;
450
+ methods: readonly string[];
451
+ }>[] | undefined;
452
+ guidance?: string | undefined;
453
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
454
+ receives?: readonly "git.push"[] | undefined;
455
+ icon?: string;
456
+ roles: readonly import("../app-vocabulary.js").AppRole[];
457
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
458
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
459
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
460
+ backend?: Readonly<{
461
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
462
+ sync?: Readonly<{
463
+ method: string;
464
+ }>;
465
+ }> | undefined;
466
+ }>, Readonly<{
467
+ api?: import("../app-vocabulary.js").AppApi;
468
+ displayName?: string | undefined;
469
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
470
+ calls?: readonly Readonly<{
471
+ appId: string;
472
+ methods: readonly string[];
473
+ }>[] | undefined;
474
+ guidance?: string | undefined;
475
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
476
+ receives?: readonly "git.push"[] | undefined;
477
+ icon?: string;
478
+ roles: readonly import("../app-vocabulary.js").AppRole[];
479
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
480
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
481
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
482
+ backend?: Readonly<{
483
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
484
+ sync?: Readonly<{
485
+ method: string;
486
+ }>;
487
+ }> | undefined;
488
+ }>, never, never>, never>;
489
+ }>;
490
+ }>, Schema.Struct<{
491
+ readonly kind: Schema.Literal<"unverified">;
492
+ }>]>;
493
+ readonly revocation: Schema.Union<readonly [Schema.Struct<{
494
+ readonly kind: Schema.Literal<"active">;
495
+ }>, Schema.Struct<{
496
+ readonly kind: Schema.Literal<"revoked">;
497
+ }>]>;
498
+ }>, Schema.Struct<{
499
+ readonly kind: Schema.Literal<"absent">;
500
+ }>]>;
501
+ /** Canonical Effect Schema for durable public-Surface selection facts. */
502
+ export declare const publicSurfaceLifecycleSchema: Schema.Union<readonly [Schema.Struct<{
503
+ readonly kind: Schema.Literal<"found">;
504
+ readonly surface: Schema.Struct<{
505
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
506
+ readonly appId: Schema.refine<AppId, Schema.String>;
507
+ readonly stableRoute: Schema.refine<StableRoute, Schema.String>;
508
+ }>;
509
+ readonly selection: Schema.Union<readonly [Schema.Struct<{
510
+ readonly kind: Schema.Literal<"none">;
511
+ }>, Schema.Struct<{
512
+ readonly kind: Schema.Literal<"selected">;
513
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
514
+ }>]>;
515
+ }>, Schema.Struct<{
516
+ readonly kind: Schema.Literal<"absent">;
517
+ }>]>;
518
+ /** Canonical Effect Schema for an operation-scoped receipt lookup. */
519
+ export declare const transitionLookupSchema: Schema.Union<readonly [Schema.Struct<{
520
+ readonly kind: Schema.Literal<"absent">;
521
+ }>, Schema.Struct<{
522
+ readonly kind: Schema.Literal<"found">;
523
+ readonly receipt: Schema.Struct<{
524
+ readonly transition: Schema.Union<readonly [Schema.Struct<{
525
+ readonly kind: Schema.Literal<"promotion">;
526
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
527
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
528
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
529
+ }>, Schema.Struct<{
530
+ readonly kind: Schema.Literal<"rollback">;
531
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
532
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
533
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
534
+ }>, Schema.Struct<{
535
+ readonly kind: Schema.Literal<"revocation">;
536
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
537
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
538
+ }>]>;
539
+ readonly transitionId: Schema.declare<AppTransitionId, AppTransitionId>;
540
+ }>;
541
+ }>, Schema.Struct<{
542
+ readonly kind: Schema.Literal<"conflict">;
543
+ }>]>;
544
+ /** Canonical Effect Schema for atomic transition persistence. */
545
+ export declare const transitionPersistenceSchema: Schema.Union<readonly [Schema.Struct<{
546
+ readonly kind: Schema.Literal<"created">;
547
+ readonly receipt: Schema.Struct<{
548
+ readonly transition: Schema.Union<readonly [Schema.Struct<{
549
+ readonly kind: Schema.Literal<"promotion">;
550
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
551
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
552
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
553
+ }>, Schema.Struct<{
554
+ readonly kind: Schema.Literal<"rollback">;
555
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
556
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
557
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
558
+ }>, Schema.Struct<{
559
+ readonly kind: Schema.Literal<"revocation">;
560
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
561
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
562
+ }>]>;
563
+ readonly transitionId: Schema.declare<AppTransitionId, AppTransitionId>;
564
+ }>;
565
+ }>, Schema.Struct<{
566
+ readonly kind: Schema.Literal<"existing">;
567
+ readonly receipt: Schema.Struct<{
568
+ readonly transition: Schema.Union<readonly [Schema.Struct<{
569
+ readonly kind: Schema.Literal<"promotion">;
570
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
571
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
572
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
573
+ }>, Schema.Struct<{
574
+ readonly kind: Schema.Literal<"rollback">;
575
+ readonly publicSurfaceId: Schema.refine<PublicSurfaceId, Schema.String>;
576
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
577
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
578
+ }>, Schema.Struct<{
579
+ readonly kind: Schema.Literal<"revocation">;
580
+ readonly releaseId: Schema.refine<ReleaseId, Schema.String>;
581
+ readonly idempotencyKey: Schema.refine<IdempotencyKey, Schema.String>;
582
+ }>]>;
583
+ readonly transitionId: Schema.declare<AppTransitionId, AppTransitionId>;
584
+ }>;
585
+ }>, Schema.Struct<{
586
+ readonly kind: Schema.Literal<"conflict">;
587
+ }>, Schema.Struct<{
588
+ readonly kind: Schema.Literal<"identity-collision">;
589
+ }>, Schema.Struct<{
590
+ readonly kind: Schema.Literal<"lifecycle-conflict">;
591
+ }>]>;
592
+ /** Canonical Effect Schema for a closed App Release store infrastructure failure. */
593
+ export declare const appReleaseStoreFailureSchema: Schema.Struct<{
594
+ readonly kind: Schema.Literal<"unavailable">;
595
+ }>;
596
+ /** Canonical Effect Schema for a closed App-read store result envelope. */
597
+ export declare const appReadStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
598
+ readonly kind: Schema.Literal<"success">;
599
+ readonly value: Schema.Codec<{
600
+ readonly kind: "found";
601
+ readonly app: {
602
+ readonly appId: AppId;
603
+ };
604
+ } | {
605
+ readonly kind: "absent";
606
+ }, {
607
+ readonly kind: "found";
608
+ readonly app: {
609
+ readonly appId: string;
610
+ };
611
+ } | {
612
+ readonly kind: "absent";
613
+ }, never, never>;
614
+ }>, Schema.Struct<{
615
+ readonly kind: Schema.Literal<"failure">;
616
+ readonly failure: Schema.Struct<{
617
+ readonly kind: Schema.Literal<"unavailable">;
618
+ }>;
619
+ }>]>;
620
+ /** Canonical Effect Schema for a closed App-create store result envelope. */
621
+ export declare const appCreateStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
622
+ readonly kind: Schema.Literal<"success">;
623
+ readonly value: Schema.Codec<{
624
+ readonly kind: "created";
625
+ readonly app: {
626
+ readonly appId: AppId;
627
+ };
628
+ } | {
629
+ readonly kind: "existing";
630
+ readonly app: {
631
+ readonly appId: AppId;
632
+ };
633
+ }, {
634
+ readonly kind: "created";
635
+ readonly app: {
636
+ readonly appId: string;
637
+ };
638
+ } | {
639
+ readonly kind: "existing";
640
+ readonly app: {
641
+ readonly appId: string;
642
+ };
643
+ }, never, never>;
644
+ }>, Schema.Struct<{
645
+ readonly kind: Schema.Literal<"failure">;
646
+ readonly failure: Schema.Struct<{
647
+ readonly kind: Schema.Literal<"unavailable">;
648
+ }>;
649
+ }>]>;
650
+ /** Canonical Effect Schema for a closed Release-read store result envelope. */
651
+ export declare const releaseReadStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
652
+ readonly kind: Schema.Literal<"success">;
653
+ readonly value: Schema.Codec<{
654
+ readonly kind: "found";
655
+ readonly release: {
656
+ readonly releaseId: ReleaseId;
657
+ readonly appId: AppId;
658
+ readonly artifact: {
659
+ readonly artifactRef: ArtifactRef;
660
+ readonly artifactDigest: Sha256Digest;
661
+ readonly provenance: {
662
+ readonly sourceRevision: SourceRevision;
663
+ readonly sourceTreeDigest: Sha256Digest;
664
+ readonly buildRecipeDigest: Sha256Digest;
665
+ };
666
+ };
667
+ };
668
+ } | {
669
+ readonly kind: "absent";
670
+ }, {
671
+ readonly kind: "found";
672
+ readonly release: {
673
+ readonly releaseId: string;
674
+ readonly appId: string;
675
+ readonly artifact: {
676
+ readonly artifactRef: string;
677
+ readonly artifactDigest: string;
678
+ readonly provenance: {
679
+ readonly sourceRevision: string;
680
+ readonly sourceTreeDigest: string;
681
+ readonly buildRecipeDigest: string;
682
+ };
683
+ };
684
+ };
685
+ } | {
686
+ readonly kind: "absent";
687
+ }, never, never>;
688
+ }>, Schema.Struct<{
689
+ readonly kind: Schema.Literal<"failure">;
690
+ readonly failure: Schema.Struct<{
691
+ readonly kind: Schema.Literal<"unavailable">;
692
+ }>;
693
+ }>]>;
694
+ /** Canonical Effect Schema for a closed Release-create store result envelope. */
695
+ export declare const releaseCreateStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
696
+ readonly kind: Schema.Literal<"success">;
697
+ readonly value: Schema.Codec<{
698
+ readonly kind: "created";
699
+ readonly release: {
700
+ readonly releaseId: ReleaseId;
701
+ readonly appId: AppId;
702
+ readonly artifact: {
703
+ readonly artifactRef: ArtifactRef;
704
+ readonly artifactDigest: Sha256Digest;
705
+ readonly provenance: {
706
+ readonly sourceRevision: SourceRevision;
707
+ readonly sourceTreeDigest: Sha256Digest;
708
+ readonly buildRecipeDigest: Sha256Digest;
709
+ };
710
+ };
711
+ };
712
+ } | {
713
+ readonly kind: "existing";
714
+ readonly release: {
715
+ readonly releaseId: ReleaseId;
716
+ readonly appId: AppId;
717
+ readonly artifact: {
718
+ readonly artifactRef: ArtifactRef;
719
+ readonly artifactDigest: Sha256Digest;
720
+ readonly provenance: {
721
+ readonly sourceRevision: SourceRevision;
722
+ readonly sourceTreeDigest: Sha256Digest;
723
+ readonly buildRecipeDigest: Sha256Digest;
724
+ };
725
+ };
726
+ };
727
+ }, {
728
+ readonly kind: "created";
729
+ readonly release: {
730
+ readonly releaseId: string;
731
+ readonly appId: string;
732
+ readonly artifact: {
733
+ readonly artifactRef: string;
734
+ readonly artifactDigest: string;
735
+ readonly provenance: {
736
+ readonly sourceRevision: string;
737
+ readonly sourceTreeDigest: string;
738
+ readonly buildRecipeDigest: string;
739
+ };
740
+ };
741
+ };
742
+ } | {
743
+ readonly kind: "existing";
744
+ readonly release: {
745
+ readonly releaseId: string;
746
+ readonly appId: string;
747
+ readonly artifact: {
748
+ readonly artifactRef: string;
749
+ readonly artifactDigest: string;
750
+ readonly provenance: {
751
+ readonly sourceRevision: string;
752
+ readonly sourceTreeDigest: string;
753
+ readonly buildRecipeDigest: string;
754
+ };
755
+ };
756
+ };
757
+ }, never, never>;
758
+ }>, Schema.Struct<{
759
+ readonly kind: Schema.Literal<"failure">;
760
+ readonly failure: Schema.Struct<{
761
+ readonly kind: Schema.Literal<"unavailable">;
762
+ }>;
763
+ }>]>;
764
+ /** Canonical Effect Schema for a closed public-Surface-read store result envelope. */
765
+ export declare const publicSurfaceReadStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
766
+ readonly kind: Schema.Literal<"success">;
767
+ readonly value: Schema.Codec<{
768
+ readonly kind: "found";
769
+ readonly surface: {
770
+ readonly publicSurfaceId: PublicSurfaceId;
771
+ readonly appId: AppId;
772
+ readonly stableRoute: StableRoute;
773
+ };
774
+ } | {
775
+ readonly kind: "absent";
776
+ }, {
777
+ readonly kind: "found";
778
+ readonly surface: {
779
+ readonly publicSurfaceId: string;
780
+ readonly appId: string;
781
+ readonly stableRoute: string;
782
+ };
783
+ } | {
784
+ readonly kind: "absent";
785
+ }, never, never>;
786
+ }>, Schema.Struct<{
787
+ readonly kind: Schema.Literal<"failure">;
788
+ readonly failure: Schema.Struct<{
789
+ readonly kind: Schema.Literal<"unavailable">;
790
+ }>;
791
+ }>]>;
792
+ /** Canonical Effect Schema for a closed public-Surface-create store result envelope. */
793
+ export declare const publicSurfaceCreateStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
794
+ readonly kind: Schema.Literal<"success">;
795
+ readonly value: Schema.Codec<{
796
+ readonly kind: "created";
797
+ readonly surface: {
798
+ readonly publicSurfaceId: PublicSurfaceId;
799
+ readonly appId: AppId;
800
+ readonly stableRoute: StableRoute;
801
+ };
802
+ } | {
803
+ readonly kind: "existing";
804
+ readonly surface: {
805
+ readonly publicSurfaceId: PublicSurfaceId;
806
+ readonly appId: AppId;
807
+ readonly stableRoute: StableRoute;
808
+ };
809
+ } | {
810
+ readonly kind: "conflict";
811
+ }, {
812
+ readonly kind: "created";
813
+ readonly surface: {
814
+ readonly publicSurfaceId: string;
815
+ readonly appId: string;
816
+ readonly stableRoute: string;
817
+ };
818
+ } | {
819
+ readonly kind: "existing";
820
+ readonly surface: {
821
+ readonly publicSurfaceId: string;
822
+ readonly appId: string;
823
+ readonly stableRoute: string;
824
+ };
825
+ } | {
826
+ readonly kind: "conflict";
827
+ }, never, never>;
828
+ }>, Schema.Struct<{
829
+ readonly kind: Schema.Literal<"failure">;
830
+ readonly failure: Schema.Struct<{
831
+ readonly kind: Schema.Literal<"unavailable">;
832
+ }>;
833
+ }>]>;
834
+ /** Canonical Effect Schema for a Release lifecycle store result envelope. */
835
+ export declare const releaseLifecycleStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
836
+ readonly kind: Schema.Literal<"success">;
837
+ readonly value: Schema.Codec<{
838
+ readonly kind: "found";
839
+ readonly release: {
840
+ readonly releaseId: ReleaseId;
841
+ readonly appId: AppId;
842
+ readonly artifact: {
843
+ readonly artifactRef: ArtifactRef;
844
+ readonly artifactDigest: Sha256Digest;
845
+ readonly provenance: {
846
+ readonly sourceRevision: SourceRevision;
847
+ readonly sourceTreeDigest: Sha256Digest;
848
+ readonly buildRecipeDigest: Sha256Digest;
849
+ };
850
+ };
851
+ };
852
+ readonly verification: {
853
+ readonly kind: "verified";
854
+ readonly digest: Sha256Digest;
855
+ readonly mediaType: "application/vnd.fungi.app+json";
856
+ readonly description: {
857
+ readonly format: "fungi-app-v1";
858
+ readonly ui: {
859
+ readonly artifactRef: ArtifactRef;
860
+ readonly digest: Sha256Digest;
861
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
862
+ readonly version: string;
863
+ readonly byteLength: number;
864
+ } | null;
865
+ readonly backend: {
866
+ readonly artifact: {
867
+ readonly artifactRef: ArtifactRef;
868
+ readonly digest: Sha256Digest;
869
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
870
+ readonly version: string;
871
+ readonly byteLength: number;
872
+ };
873
+ readonly profile: {
874
+ readonly runtime: {
875
+ readonly kind: "durable-facet";
876
+ readonly stateSchema: number;
877
+ };
878
+ readonly compatibilityDate: string;
879
+ readonly exportName: string;
880
+ };
881
+ } | null;
882
+ readonly declaration: Readonly<{
883
+ api?: import("../app-vocabulary.js").AppApi;
884
+ displayName?: string | undefined;
885
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
886
+ calls?: readonly Readonly<{
887
+ appId: string;
888
+ methods: readonly string[];
889
+ }>[] | undefined;
890
+ guidance?: string | undefined;
891
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
892
+ receives?: readonly "git.push"[] | undefined;
893
+ icon?: string;
894
+ roles: readonly import("../app-vocabulary.js").AppRole[];
895
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
896
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
897
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
898
+ backend?: Readonly<{
899
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
900
+ sync?: Readonly<{
901
+ method: string;
902
+ }>;
903
+ }> | undefined;
904
+ }>;
905
+ };
906
+ } | {
907
+ readonly kind: "unverified";
908
+ };
909
+ readonly revocation: {
910
+ readonly kind: "active";
911
+ } | {
912
+ readonly kind: "revoked";
913
+ };
914
+ } | {
915
+ readonly kind: "absent";
916
+ }, {
917
+ readonly kind: "found";
918
+ readonly release: {
919
+ readonly releaseId: string;
920
+ readonly appId: string;
921
+ readonly artifact: {
922
+ readonly artifactRef: string;
923
+ readonly artifactDigest: string;
924
+ readonly provenance: {
925
+ readonly sourceRevision: string;
926
+ readonly sourceTreeDigest: string;
927
+ readonly buildRecipeDigest: string;
928
+ };
929
+ };
930
+ };
931
+ readonly verification: {
932
+ readonly kind: "verified";
933
+ readonly digest: string;
934
+ readonly mediaType: "application/vnd.fungi.app+json";
935
+ readonly description: {
936
+ readonly format: "fungi-app-v1";
937
+ readonly backend: {
938
+ readonly artifact: {
939
+ readonly artifactRef: string;
940
+ readonly digest: string;
941
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
942
+ readonly version: string;
943
+ readonly byteLength: number;
944
+ };
945
+ readonly profile: {
946
+ readonly runtime: {
947
+ readonly kind: "durable-facet";
948
+ readonly stateSchema: number;
949
+ };
950
+ readonly compatibilityDate: string;
951
+ readonly exportName: string;
952
+ };
953
+ } | null;
954
+ readonly ui: {
955
+ readonly artifactRef: string;
956
+ readonly digest: string;
957
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
958
+ readonly version: string;
959
+ readonly byteLength: number;
960
+ } | null;
961
+ readonly declaration?: Readonly<{
962
+ api?: import("../app-vocabulary.js").AppApi;
963
+ displayName?: string | undefined;
964
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
965
+ calls?: readonly Readonly<{
966
+ appId: string;
967
+ methods: readonly string[];
968
+ }>[] | undefined;
969
+ guidance?: string | undefined;
970
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
971
+ receives?: readonly "git.push"[] | undefined;
972
+ icon?: string;
973
+ roles: readonly import("../app-vocabulary.js").AppRole[];
974
+ storage?: readonly import("../app-vocabulary.js").AppStorageKey[] | undefined;
975
+ commands?: readonly import("../app-vocabulary.js").AppDeclaredCommand[] | undefined;
976
+ gills?: readonly import("@fungi.computer/gills").AppDeclaredGill[] | undefined;
977
+ backend?: Readonly<{
978
+ bindings: readonly import("../app-backend-binding-vocabulary.js").AppBackendBinding[];
979
+ sync?: Readonly<{
980
+ method: string;
981
+ }>;
982
+ }> | undefined;
983
+ }> | undefined;
984
+ };
985
+ } | {
986
+ readonly kind: "unverified";
987
+ };
988
+ readonly revocation: {
989
+ readonly kind: "active";
990
+ } | {
991
+ readonly kind: "revoked";
992
+ };
993
+ } | {
994
+ readonly kind: "absent";
995
+ }, never, never>;
996
+ }>, Schema.Struct<{
997
+ readonly kind: Schema.Literal<"failure">;
998
+ readonly failure: Schema.Struct<{
999
+ readonly kind: Schema.Literal<"unavailable">;
1000
+ }>;
1001
+ }>]>;
1002
+ /** Canonical Effect Schema for a Release verification record result envelope. */
1003
+ export declare const releaseVerificationRecordStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
1004
+ readonly kind: Schema.Literal<"success">;
1005
+ readonly value: Schema.Codec<{
1006
+ readonly kind: "recorded";
1007
+ }, {
1008
+ readonly kind: "recorded";
1009
+ }, never, never>;
1010
+ }>, Schema.Struct<{
1011
+ readonly kind: Schema.Literal<"failure">;
1012
+ readonly failure: Schema.Struct<{
1013
+ readonly kind: Schema.Literal<"unavailable">;
1014
+ }>;
1015
+ }>]>;
1016
+ /** Canonical Effect Schema for a transition lookup store result envelope. */
1017
+ export declare const transitionLookupStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
1018
+ readonly kind: Schema.Literal<"success">;
1019
+ readonly value: Schema.Codec<{
1020
+ readonly kind: "absent";
1021
+ } | {
1022
+ readonly kind: "found";
1023
+ readonly receipt: {
1024
+ readonly transition: {
1025
+ readonly kind: "promotion";
1026
+ readonly publicSurfaceId: PublicSurfaceId;
1027
+ readonly releaseId: ReleaseId;
1028
+ readonly idempotencyKey: IdempotencyKey;
1029
+ } | {
1030
+ readonly kind: "rollback";
1031
+ readonly publicSurfaceId: PublicSurfaceId;
1032
+ readonly releaseId: ReleaseId;
1033
+ readonly idempotencyKey: IdempotencyKey;
1034
+ } | {
1035
+ readonly kind: "revocation";
1036
+ readonly releaseId: ReleaseId;
1037
+ readonly idempotencyKey: IdempotencyKey;
1038
+ };
1039
+ readonly transitionId: AppTransitionId;
1040
+ };
1041
+ } | {
1042
+ readonly kind: "conflict";
1043
+ }, {
1044
+ readonly kind: "absent";
1045
+ } | {
1046
+ readonly kind: "found";
1047
+ readonly receipt: {
1048
+ readonly transition: {
1049
+ readonly kind: "promotion";
1050
+ readonly publicSurfaceId: string;
1051
+ readonly releaseId: string;
1052
+ readonly idempotencyKey: string;
1053
+ } | {
1054
+ readonly kind: "rollback";
1055
+ readonly publicSurfaceId: string;
1056
+ readonly releaseId: string;
1057
+ readonly idempotencyKey: string;
1058
+ } | {
1059
+ readonly kind: "revocation";
1060
+ readonly releaseId: string;
1061
+ readonly idempotencyKey: string;
1062
+ };
1063
+ readonly transitionId: AppTransitionId;
1064
+ };
1065
+ } | {
1066
+ readonly kind: "conflict";
1067
+ }, never, never>;
1068
+ }>, Schema.Struct<{
1069
+ readonly kind: Schema.Literal<"failure">;
1070
+ readonly failure: Schema.Struct<{
1071
+ readonly kind: Schema.Literal<"unavailable">;
1072
+ }>;
1073
+ }>]>;
1074
+ /** Canonical Effect Schema for transition persistence store result envelope. */
1075
+ export declare const transitionPersistenceStoreResultSchema: Schema.Union<readonly [Schema.Struct<{
1076
+ readonly kind: Schema.Literal<"success">;
1077
+ readonly value: Schema.Codec<{
1078
+ readonly kind: "created";
1079
+ readonly receipt: {
1080
+ readonly transition: {
1081
+ readonly kind: "promotion";
1082
+ readonly publicSurfaceId: PublicSurfaceId;
1083
+ readonly releaseId: ReleaseId;
1084
+ readonly idempotencyKey: IdempotencyKey;
1085
+ } | {
1086
+ readonly kind: "rollback";
1087
+ readonly publicSurfaceId: PublicSurfaceId;
1088
+ readonly releaseId: ReleaseId;
1089
+ readonly idempotencyKey: IdempotencyKey;
1090
+ } | {
1091
+ readonly kind: "revocation";
1092
+ readonly releaseId: ReleaseId;
1093
+ readonly idempotencyKey: IdempotencyKey;
1094
+ };
1095
+ readonly transitionId: AppTransitionId;
1096
+ };
1097
+ } | {
1098
+ readonly kind: "existing";
1099
+ readonly receipt: {
1100
+ readonly transition: {
1101
+ readonly kind: "promotion";
1102
+ readonly publicSurfaceId: PublicSurfaceId;
1103
+ readonly releaseId: ReleaseId;
1104
+ readonly idempotencyKey: IdempotencyKey;
1105
+ } | {
1106
+ readonly kind: "rollback";
1107
+ readonly publicSurfaceId: PublicSurfaceId;
1108
+ readonly releaseId: ReleaseId;
1109
+ readonly idempotencyKey: IdempotencyKey;
1110
+ } | {
1111
+ readonly kind: "revocation";
1112
+ readonly releaseId: ReleaseId;
1113
+ readonly idempotencyKey: IdempotencyKey;
1114
+ };
1115
+ readonly transitionId: AppTransitionId;
1116
+ };
1117
+ } | {
1118
+ readonly kind: "conflict";
1119
+ } | {
1120
+ readonly kind: "identity-collision";
1121
+ } | {
1122
+ readonly kind: "lifecycle-conflict";
1123
+ }, {
1124
+ readonly kind: "created";
1125
+ readonly receipt: {
1126
+ readonly transition: {
1127
+ readonly kind: "promotion";
1128
+ readonly publicSurfaceId: string;
1129
+ readonly releaseId: string;
1130
+ readonly idempotencyKey: string;
1131
+ } | {
1132
+ readonly kind: "rollback";
1133
+ readonly publicSurfaceId: string;
1134
+ readonly releaseId: string;
1135
+ readonly idempotencyKey: string;
1136
+ } | {
1137
+ readonly kind: "revocation";
1138
+ readonly releaseId: string;
1139
+ readonly idempotencyKey: string;
1140
+ };
1141
+ readonly transitionId: AppTransitionId;
1142
+ };
1143
+ } | {
1144
+ readonly kind: "existing";
1145
+ readonly receipt: {
1146
+ readonly transition: {
1147
+ readonly kind: "promotion";
1148
+ readonly publicSurfaceId: string;
1149
+ readonly releaseId: string;
1150
+ readonly idempotencyKey: string;
1151
+ } | {
1152
+ readonly kind: "rollback";
1153
+ readonly publicSurfaceId: string;
1154
+ readonly releaseId: string;
1155
+ readonly idempotencyKey: string;
1156
+ } | {
1157
+ readonly kind: "revocation";
1158
+ readonly releaseId: string;
1159
+ readonly idempotencyKey: string;
1160
+ };
1161
+ readonly transitionId: AppTransitionId;
1162
+ };
1163
+ } | {
1164
+ readonly kind: "conflict";
1165
+ } | {
1166
+ readonly kind: "identity-collision";
1167
+ } | {
1168
+ readonly kind: "lifecycle-conflict";
1169
+ }, never, never>;
1170
+ }>, Schema.Struct<{
1171
+ readonly kind: Schema.Literal<"failure">;
1172
+ readonly failure: Schema.Struct<{
1173
+ readonly kind: Schema.Literal<"unavailable">;
1174
+ }>;
1175
+ }>]>;
1176
+ /** Decode one Global App identifier through its canonical closed Effect Schema. */
1177
+ export declare const decodeAppId: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<AppId, Schema.SchemaError>;
1178
+ /** Decode one immutable Release identifier through its canonical closed Effect Schema. */
1179
+ export declare const decodeReleaseId: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<ReleaseId, Schema.SchemaError>;
1180
+ /** Decode one public-Surface identifier through its canonical closed Effect Schema. */
1181
+ export declare const decodePublicSurfaceId: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<PublicSurfaceId, Schema.SchemaError>;
1182
+ /** Decode one bounded artifact reference through its canonical closed Effect Schema. */
1183
+ export declare const decodeArtifactRef: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<ArtifactRef, Schema.SchemaError>;
1184
+ /** Decode one idempotency key through its canonical closed Effect Schema. */
1185
+ export declare const decodeIdempotencyKey: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<IdempotencyKey, Schema.SchemaError>;
1186
+ /** Decode one pinned source revision through its canonical closed Effect Schema. */
1187
+ export declare const decodeSourceRevision: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<SourceRevision, Schema.SchemaError>;
1188
+ /** Decode one SHA-256 digest through its canonical closed Effect Schema. */
1189
+ export declare const decodeSha256Digest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<Sha256Digest, Schema.SchemaError>;
1190
+ /** Decode one local stable route through its canonical closed Effect Schema. */
1191
+ export declare const decodeStableRoute: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<StableRoute, Schema.SchemaError>;
1192
+ /** Decode a Cairn-issued App transition identity through its sole wrapper. */
1193
+ export declare const decodeAppTransitionId: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<AppTransitionId, Schema.SchemaError>;
1194
+ /** Decode a hostile artifact-reader result through its canonical closed schema. */
1195
+ export declare const decodeArtifactReadResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
1196
+ readonly kind: "verified";
1197
+ readonly digest: Sha256Digest;
1198
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json" | "application/vnd.fungi.app+json";
1199
+ readonly bytes: {
1200
+ readonly byteLength: number;
1201
+ readonly copy: Function;
1202
+ } & ImmutableArtifactBytes;
1203
+ readonly byteLength: number;
1204
+ } | {
1205
+ readonly kind: "unavailable";
1206
+ } | {
1207
+ readonly kind: "missing";
1208
+ } | {
1209
+ readonly kind: "digest-mismatch";
1210
+ readonly actualDigest: Sha256Digest;
1211
+ }, Schema.SchemaError, never>;
1212
+ /** Decode a hostile App record through its canonical closed schema. */
1213
+ export declare const decodeApp: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1214
+ readonly appId: AppId;
1215
+ }, Schema.SchemaError>;
1216
+ /** Decode a hostile Release record through its canonical closed schema. */
1217
+ export declare const decodeRelease: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1218
+ readonly releaseId: ReleaseId;
1219
+ readonly appId: AppId;
1220
+ readonly artifact: {
1221
+ readonly artifactRef: ArtifactRef;
1222
+ readonly artifactDigest: Sha256Digest;
1223
+ readonly provenance: {
1224
+ readonly sourceRevision: SourceRevision;
1225
+ readonly sourceTreeDigest: Sha256Digest;
1226
+ readonly buildRecipeDigest: Sha256Digest;
1227
+ };
1228
+ };
1229
+ }, Schema.SchemaError>;
1230
+ /** Decode a hostile public Surface through its canonical closed schema. */
1231
+ export declare const decodePublicSurface: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1232
+ readonly publicSurfaceId: PublicSurfaceId;
1233
+ readonly appId: AppId;
1234
+ readonly stableRoute: StableRoute;
1235
+ }, Schema.SchemaError>;
1236
+ export declare const decodePublicSurfaceDefinition: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1237
+ readonly publisher: {
1238
+ readonly kind: "platform" | "customer";
1239
+ readonly teamId: string;
1240
+ readonly userId: string;
1241
+ readonly requestKey: string;
1242
+ };
1243
+ readonly publicSurfaceId: PublicSurfaceId;
1244
+ readonly appId: AppId;
1245
+ readonly stableRoute: StableRoute;
1246
+ }, Schema.SchemaError>;
1247
+ /** Decode a hostile App-read store result through its canonical closed schema. */
1248
+ export declare const decodeAppReadStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1249
+ readonly kind: "success";
1250
+ readonly value: {
1251
+ readonly kind: "found";
1252
+ readonly app: {
1253
+ readonly appId: AppId;
1254
+ };
1255
+ } | {
1256
+ readonly kind: "absent";
1257
+ };
1258
+ } | {
1259
+ readonly kind: "failure";
1260
+ readonly failure: {
1261
+ readonly kind: "unavailable";
1262
+ };
1263
+ }, Schema.SchemaError>;
1264
+ /** Decode a hostile App-create store result through its canonical closed schema. */
1265
+ export declare const decodeAppCreateStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1266
+ readonly kind: "success";
1267
+ readonly value: {
1268
+ readonly kind: "created";
1269
+ readonly app: {
1270
+ readonly appId: AppId;
1271
+ };
1272
+ } | {
1273
+ readonly kind: "existing";
1274
+ readonly app: {
1275
+ readonly appId: AppId;
1276
+ };
1277
+ };
1278
+ } | {
1279
+ readonly kind: "failure";
1280
+ readonly failure: {
1281
+ readonly kind: "unavailable";
1282
+ };
1283
+ }, Schema.SchemaError>;
1284
+ /** Decode a hostile Release-read store result through its canonical closed schema. */
1285
+ export declare const decodeReleaseReadStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1286
+ readonly kind: "success";
1287
+ readonly value: {
1288
+ readonly kind: "found";
1289
+ readonly release: {
1290
+ readonly releaseId: ReleaseId;
1291
+ readonly appId: AppId;
1292
+ readonly artifact: {
1293
+ readonly artifactRef: ArtifactRef;
1294
+ readonly artifactDigest: Sha256Digest;
1295
+ readonly provenance: {
1296
+ readonly sourceRevision: SourceRevision;
1297
+ readonly sourceTreeDigest: Sha256Digest;
1298
+ readonly buildRecipeDigest: Sha256Digest;
1299
+ };
1300
+ };
1301
+ };
1302
+ } | {
1303
+ readonly kind: "absent";
1304
+ };
1305
+ } | {
1306
+ readonly kind: "failure";
1307
+ readonly failure: {
1308
+ readonly kind: "unavailable";
1309
+ };
1310
+ }, Schema.SchemaError>;
1311
+ /** Decode a hostile Release-create store result through its canonical closed schema. */
1312
+ export declare const decodeReleaseCreateStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1313
+ readonly kind: "success";
1314
+ readonly value: {
1315
+ readonly kind: "created";
1316
+ readonly release: {
1317
+ readonly releaseId: ReleaseId;
1318
+ readonly appId: AppId;
1319
+ readonly artifact: {
1320
+ readonly artifactRef: ArtifactRef;
1321
+ readonly artifactDigest: Sha256Digest;
1322
+ readonly provenance: {
1323
+ readonly sourceRevision: SourceRevision;
1324
+ readonly sourceTreeDigest: Sha256Digest;
1325
+ readonly buildRecipeDigest: Sha256Digest;
1326
+ };
1327
+ };
1328
+ };
1329
+ } | {
1330
+ readonly kind: "existing";
1331
+ readonly release: {
1332
+ readonly releaseId: ReleaseId;
1333
+ readonly appId: AppId;
1334
+ readonly artifact: {
1335
+ readonly artifactRef: ArtifactRef;
1336
+ readonly artifactDigest: Sha256Digest;
1337
+ readonly provenance: {
1338
+ readonly sourceRevision: SourceRevision;
1339
+ readonly sourceTreeDigest: Sha256Digest;
1340
+ readonly buildRecipeDigest: Sha256Digest;
1341
+ };
1342
+ };
1343
+ };
1344
+ };
1345
+ } | {
1346
+ readonly kind: "failure";
1347
+ readonly failure: {
1348
+ readonly kind: "unavailable";
1349
+ };
1350
+ }, Schema.SchemaError>;
1351
+ /** Decode a hostile public-Surface-read store result through its canonical closed schema. */
1352
+ export declare const decodePublicSurfaceReadStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1353
+ readonly kind: "success";
1354
+ readonly value: {
1355
+ readonly kind: "found";
1356
+ readonly surface: {
1357
+ readonly publicSurfaceId: PublicSurfaceId;
1358
+ readonly appId: AppId;
1359
+ readonly stableRoute: StableRoute;
1360
+ };
1361
+ } | {
1362
+ readonly kind: "absent";
1363
+ };
1364
+ } | {
1365
+ readonly kind: "failure";
1366
+ readonly failure: {
1367
+ readonly kind: "unavailable";
1368
+ };
1369
+ }, Schema.SchemaError>;
1370
+ /** Decode a hostile public-Surface-create store result through its canonical closed schema. */
1371
+ export declare const decodePublicSurfaceCreateStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1372
+ readonly kind: "success";
1373
+ readonly value: {
1374
+ readonly kind: "created";
1375
+ readonly surface: {
1376
+ readonly publicSurfaceId: PublicSurfaceId;
1377
+ readonly appId: AppId;
1378
+ readonly stableRoute: StableRoute;
1379
+ };
1380
+ } | {
1381
+ readonly kind: "existing";
1382
+ readonly surface: {
1383
+ readonly publicSurfaceId: PublicSurfaceId;
1384
+ readonly appId: AppId;
1385
+ readonly stableRoute: StableRoute;
1386
+ };
1387
+ } | {
1388
+ readonly kind: "conflict";
1389
+ };
1390
+ } | {
1391
+ readonly kind: "failure";
1392
+ readonly failure: {
1393
+ readonly kind: "unavailable";
1394
+ };
1395
+ }, Schema.SchemaError>;
1396
+ /** Decode an owner-issued transition through its canonical closed schema. */
1397
+ export declare const decodeReleaseTransition: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1398
+ readonly kind: "promotion";
1399
+ readonly publicSurfaceId: PublicSurfaceId;
1400
+ readonly releaseId: ReleaseId;
1401
+ readonly idempotencyKey: IdempotencyKey;
1402
+ } | {
1403
+ readonly kind: "rollback";
1404
+ readonly publicSurfaceId: PublicSurfaceId;
1405
+ readonly releaseId: ReleaseId;
1406
+ readonly idempotencyKey: IdempotencyKey;
1407
+ } | {
1408
+ readonly kind: "revocation";
1409
+ readonly releaseId: ReleaseId;
1410
+ readonly idempotencyKey: IdempotencyKey;
1411
+ }, Schema.SchemaError>;
1412
+ /** Decode a hostile Release lifecycle store result. */
1413
+ export declare const decodeReleaseLifecycleStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1414
+ readonly kind: "success";
1415
+ readonly value: {
1416
+ readonly kind: "found";
1417
+ readonly release: {
1418
+ readonly releaseId: ReleaseId;
1419
+ readonly appId: AppId;
1420
+ readonly artifact: {
1421
+ readonly artifactRef: ArtifactRef;
1422
+ readonly artifactDigest: Sha256Digest;
1423
+ readonly provenance: {
1424
+ readonly sourceRevision: SourceRevision;
1425
+ readonly sourceTreeDigest: Sha256Digest;
1426
+ readonly buildRecipeDigest: Sha256Digest;
1427
+ };
1428
+ };
1429
+ };
1430
+ readonly verification: {
1431
+ readonly kind: "verified";
1432
+ readonly digest: Sha256Digest;
1433
+ readonly mediaType: "application/vnd.fungi.app+json";
1434
+ readonly description: {
1435
+ readonly format: "fungi-app-v1";
1436
+ readonly ui: {
1437
+ readonly artifactRef: ArtifactRef;
1438
+ readonly digest: Sha256Digest;
1439
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
1440
+ readonly version: string;
1441
+ readonly byteLength: number;
1442
+ } | null;
1443
+ readonly backend: {
1444
+ readonly artifact: {
1445
+ readonly artifactRef: ArtifactRef;
1446
+ readonly digest: Sha256Digest;
1447
+ readonly mediaType: "text/html; charset=utf-8" | "application/vnd.fungi.app-backend+json" | "application/vnd.fungi.app-assets+json";
1448
+ readonly version: string;
1449
+ readonly byteLength: number;
1450
+ };
1451
+ readonly profile: {
1452
+ readonly runtime: {
1453
+ readonly kind: "durable-facet";
1454
+ readonly stateSchema: number;
1455
+ };
1456
+ readonly compatibilityDate: string;
1457
+ readonly exportName: string;
1458
+ };
1459
+ } | null;
1460
+ readonly declaration: Readonly<{
1461
+ api?: Readonly<{
1462
+ methods: Readonly<Record<string, Readonly<{
1463
+ description: string;
1464
+ input: object;
1465
+ output: object;
1466
+ effect: "read" | "write" | "external";
1467
+ requires: readonly import("../app-vocabulary.js").AppCapabilityId[];
1468
+ pending?: true | undefined;
1469
+ hidden?: true | undefined;
1470
+ anonymous?: true | undefined;
1471
+ }>>>;
1472
+ toolFamily?: Readonly<{
1473
+ name: string;
1474
+ list: string;
1475
+ call: string;
1476
+ }>;
1477
+ events?: Readonly<Record<string, Readonly<{
1478
+ description: string;
1479
+ payload: object;
1480
+ }>>>;
1481
+ }>;
1482
+ displayName?: string | undefined;
1483
+ capabilities: readonly import("../app-vocabulary.js").AppCapabilityId[];
1484
+ calls?: readonly Readonly<{
1485
+ appId: string;
1486
+ methods: readonly string[];
1487
+ }>[] | undefined;
1488
+ guidance?: string | undefined;
1489
+ handlers: readonly import("../app-vocabulary.js").AppHandler[];
1490
+ receives?: readonly "git.push"[] | undefined;
1491
+ icon?: string;
1492
+ roles: readonly import("../app-vocabulary.js").AppRole[];
1493
+ storage?: readonly Readonly<{
1494
+ key: string;
1495
+ scopes: readonly import("../app-vocabulary.js").AppStorageScope[];
1496
+ maxBytes: number;
1497
+ }>[] | undefined;
1498
+ commands?: readonly Readonly<{
1499
+ id: string;
1500
+ title: string;
1501
+ category: string;
1502
+ description?: string | undefined;
1503
+ sigil?: string | undefined;
1504
+ projections?: Readonly<{
1505
+ bindings?: (Readonly<{
1506
+ order?: number | undefined;
1507
+ }> & Readonly<{
1508
+ values: readonly string[];
1509
+ }>) | undefined;
1510
+ agent?: (Readonly<{
1511
+ order?: number | undefined;
1512
+ }> & Readonly<{
1513
+ keybind?: string | undefined;
1514
+ }>) | undefined;
1515
+ help?: Readonly<{
1516
+ order?: number | undefined;
1517
+ }> | undefined;
1518
+ menu?: Readonly<{
1519
+ order?: number | undefined;
1520
+ }> | undefined;
1521
+ palette?: Readonly<{
1522
+ order?: number | undefined;
1523
+ }> | undefined;
1524
+ slash?: (Readonly<{
1525
+ order?: number | undefined;
1526
+ }> & Readonly<{
1527
+ aliases: readonly string[];
1528
+ }>) | undefined;
1529
+ }> | undefined;
1530
+ }>[] | undefined;
1531
+ gills?: readonly Readonly<{
1532
+ id: string;
1533
+ source: string;
1534
+ title: string;
1535
+ params?: readonly Readonly<{
1536
+ key: string;
1537
+ label: string;
1538
+ kind: "computer" | "repository" | "branch";
1539
+ required: boolean;
1540
+ options?: string | undefined;
1541
+ }>[] | undefined;
1542
+ watch?: import("@fungi.computer/gills").AppGillWatch | undefined;
1543
+ desktop?: Readonly<{
1544
+ sizes: readonly import("@fungi.computer/gills").AppGillDesktopSize[];
1545
+ }> | undefined;
1546
+ }>[] | undefined;
1547
+ backend?: Readonly<{
1548
+ bindings: readonly Readonly<{
1549
+ name: import("../app-backend-binding-vocabulary.js").AppBackendBindingName;
1550
+ operations: readonly string[];
1551
+ }>[];
1552
+ sync?: Readonly<{
1553
+ method: string;
1554
+ }>;
1555
+ }> | undefined;
1556
+ }>;
1557
+ };
1558
+ } | {
1559
+ readonly kind: "unverified";
1560
+ };
1561
+ readonly revocation: {
1562
+ readonly kind: "active";
1563
+ } | {
1564
+ readonly kind: "revoked";
1565
+ };
1566
+ } | {
1567
+ readonly kind: "absent";
1568
+ };
1569
+ } | {
1570
+ readonly kind: "failure";
1571
+ readonly failure: {
1572
+ readonly kind: "unavailable";
1573
+ };
1574
+ }, Schema.SchemaError>;
1575
+ /** Decode a hostile verification-record store result. */
1576
+ export declare const decodeReleaseVerificationRecordStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1577
+ readonly kind: "success";
1578
+ readonly value: {
1579
+ readonly kind: "recorded";
1580
+ };
1581
+ } | {
1582
+ readonly kind: "failure";
1583
+ readonly failure: {
1584
+ readonly kind: "unavailable";
1585
+ };
1586
+ }, Schema.SchemaError>;
1587
+ /** Decode a hostile transition lookup store result. */
1588
+ export declare const decodeTransitionLookupStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1589
+ readonly kind: "success";
1590
+ readonly value: {
1591
+ readonly kind: "absent";
1592
+ } | {
1593
+ readonly kind: "found";
1594
+ readonly receipt: {
1595
+ readonly transition: {
1596
+ readonly kind: "promotion";
1597
+ readonly publicSurfaceId: PublicSurfaceId;
1598
+ readonly releaseId: ReleaseId;
1599
+ readonly idempotencyKey: IdempotencyKey;
1600
+ } | {
1601
+ readonly kind: "rollback";
1602
+ readonly publicSurfaceId: PublicSurfaceId;
1603
+ readonly releaseId: ReleaseId;
1604
+ readonly idempotencyKey: IdempotencyKey;
1605
+ } | {
1606
+ readonly kind: "revocation";
1607
+ readonly releaseId: ReleaseId;
1608
+ readonly idempotencyKey: IdempotencyKey;
1609
+ };
1610
+ readonly transitionId: AppTransitionId;
1611
+ };
1612
+ } | {
1613
+ readonly kind: "conflict";
1614
+ };
1615
+ } | {
1616
+ readonly kind: "failure";
1617
+ readonly failure: {
1618
+ readonly kind: "unavailable";
1619
+ };
1620
+ }, Schema.SchemaError>;
1621
+ /** Decode a hostile transition-persistence store result. */
1622
+ export declare const decodeTransitionPersistenceStoreResult: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Result").Result<{
1623
+ readonly kind: "success";
1624
+ readonly value: {
1625
+ readonly kind: "created";
1626
+ readonly receipt: {
1627
+ readonly transition: {
1628
+ readonly kind: "promotion";
1629
+ readonly publicSurfaceId: PublicSurfaceId;
1630
+ readonly releaseId: ReleaseId;
1631
+ readonly idempotencyKey: IdempotencyKey;
1632
+ } | {
1633
+ readonly kind: "rollback";
1634
+ readonly publicSurfaceId: PublicSurfaceId;
1635
+ readonly releaseId: ReleaseId;
1636
+ readonly idempotencyKey: IdempotencyKey;
1637
+ } | {
1638
+ readonly kind: "revocation";
1639
+ readonly releaseId: ReleaseId;
1640
+ readonly idempotencyKey: IdempotencyKey;
1641
+ };
1642
+ readonly transitionId: AppTransitionId;
1643
+ };
1644
+ } | {
1645
+ readonly kind: "existing";
1646
+ readonly receipt: {
1647
+ readonly transition: {
1648
+ readonly kind: "promotion";
1649
+ readonly publicSurfaceId: PublicSurfaceId;
1650
+ readonly releaseId: ReleaseId;
1651
+ readonly idempotencyKey: IdempotencyKey;
1652
+ } | {
1653
+ readonly kind: "rollback";
1654
+ readonly publicSurfaceId: PublicSurfaceId;
1655
+ readonly releaseId: ReleaseId;
1656
+ readonly idempotencyKey: IdempotencyKey;
1657
+ } | {
1658
+ readonly kind: "revocation";
1659
+ readonly releaseId: ReleaseId;
1660
+ readonly idempotencyKey: IdempotencyKey;
1661
+ };
1662
+ readonly transitionId: AppTransitionId;
1663
+ };
1664
+ } | {
1665
+ readonly kind: "conflict";
1666
+ } | {
1667
+ readonly kind: "identity-collision";
1668
+ } | {
1669
+ readonly kind: "lifecycle-conflict";
1670
+ };
1671
+ } | {
1672
+ readonly kind: "failure";
1673
+ readonly failure: {
1674
+ readonly kind: "unavailable";
1675
+ };
1676
+ }, Schema.SchemaError>;