@fungi.computer/oyster 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 +1082 -2
- package/dist/agents.d.ts +114 -0
- package/dist/agents.js +322 -0
- package/dist/app-builds.d.ts +151 -0
- package/dist/app-builds.js +355 -0
- package/dist/app-sandbox.d.ts +2 -0
- package/dist/app-sandbox.js +2 -0
- package/dist/app-sources.d.ts +46 -0
- package/dist/app-sources.js +335 -0
- package/dist/app-storage.d.ts +141 -0
- package/dist/app-storage.js +281 -0
- package/dist/apps/gate.d.ts +105 -0
- package/dist/apps/gate.js +273 -0
- package/dist/apps/index.d.ts +5 -0
- package/dist/apps/index.js +5 -0
- package/dist/apps/installation.d.ts +248 -0
- package/dist/apps/installation.js +307 -0
- package/dist/apps/operations.d.ts +8 -0
- package/dist/apps/operations.js +98 -0
- package/dist/apps/tools.d.ts +33 -0
- package/dist/apps/tools.js +17 -0
- package/dist/auth.d.ts +11 -0
- package/dist/auth.js +93 -0
- package/dist/backend-request.d.ts +3 -0
- package/dist/backend-request.js +53 -0
- package/dist/build/build-jobs.d.ts +128 -0
- package/dist/build/build-jobs.js +197 -0
- package/dist/build/build-step.d.ts +26 -0
- package/dist/build/build-step.js +20 -0
- package/dist/build/bundled-html.d.ts +7 -0
- package/dist/build/bundled-html.js +64 -0
- package/dist/build/definition-emission.d.ts +34 -0
- package/dist/build/definition-emission.js +201 -0
- package/dist/build/effect.d.ts +231 -0
- package/dist/build/effect.js +396 -0
- package/dist/build/git-environment.d.ts +6 -0
- package/dist/build/git-environment.js +48 -0
- package/dist/build/html-recipe.d.ts +20 -0
- package/dist/build/html-recipe.js +51 -0
- package/dist/build/local-build.d.ts +57 -0
- package/dist/build/local-build.js +1078 -0
- package/dist/build/r2-artifact-writer.d.ts +31 -0
- package/dist/build/r2-artifact-writer.js +179 -0
- package/dist/build/snapshot-package-store.d.ts +2 -0
- package/dist/build/snapshot-package-store.js +21 -0
- package/dist/build/snapshot-program-scripts.d.ts +6 -0
- package/dist/build/snapshot-program-scripts.js +2 -0
- package/dist/build/submission-contract.d.ts +384 -0
- package/dist/build/submission-contract.js +70 -0
- package/dist/build/workspace-build.d.ts +50 -0
- package/dist/build/workspace-build.js +156 -0
- package/dist/build-contract.d.ts +4 -0
- package/dist/build-contract.js +4 -0
- package/dist/build-jobs.d.ts +2 -0
- package/dist/build-jobs.js +2 -0
- package/dist/build.d.ts +11 -0
- package/dist/build.js +13 -0
- package/dist/capability-descriptor.d.ts +46 -0
- package/dist/capability-descriptor.js +51 -0
- package/dist/catalog-frame.d.ts +39 -0
- package/dist/catalog-frame.js +72 -0
- package/dist/cause-class.d.ts +19 -0
- package/dist/cause-class.js +54 -0
- package/dist/cloudflare.d.ts +123 -0
- package/dist/cloudflare.js +391 -0
- package/dist/computer-terminal.d.ts +38 -0
- package/dist/computer-terminal.js +410 -0
- package/dist/computer.d.ts +60 -0
- package/dist/computer.js +33 -0
- package/dist/event-recipients.d.ts +57 -0
- package/dist/event-recipients.js +144 -0
- package/dist/facet-invocation.d.ts +4 -0
- package/dist/facet-invocation.js +45 -0
- package/dist/files.d.ts +42 -0
- package/dist/files.js +123 -0
- package/dist/frame-binding-wire-script.d.ts +2 -0
- package/dist/frame-binding-wire-script.js +1 -0
- package/dist/frame-binding-wire.d.ts +28 -0
- package/dist/frame-binding-wire.js +54 -0
- package/dist/git-admission.d.ts +52 -0
- package/dist/git-admission.js +188 -0
- package/dist/git-auth.d.ts +11 -0
- package/dist/git-auth.js +27 -0
- package/dist/git-door.d.ts +35 -0
- package/dist/git-door.js +108 -0
- package/dist/git-journal.d.ts +31 -0
- package/dist/git-journal.js +188 -0
- package/dist/git.d.ts +31 -0
- package/dist/git.js +64 -0
- package/dist/guest-policy.d.ts +9 -0
- package/dist/guest-policy.js +13 -0
- package/dist/host.d.ts +244 -0
- package/dist/host.js +1043 -0
- package/dist/index.d.ts +166 -0
- package/dist/index.js +320 -0
- package/dist/installation-consent.d.ts +79 -0
- package/dist/installation-consent.js +82 -0
- package/dist/internal/background-origins.d.ts +3 -0
- package/dist/internal/background-origins.js +8 -0
- package/dist/internal/delivery.d.ts +12 -0
- package/dist/internal/delivery.js +167 -0
- package/dist/internal/host-gate.d.ts +14 -0
- package/dist/internal/host-gate.js +62 -0
- package/dist/internal/registry-installations.d.ts +6 -0
- package/dist/internal/registry-installations.js +12 -0
- package/dist/invocation.d.ts +251 -0
- package/dist/invocation.js +377 -0
- package/dist/keys.d.ts +48 -0
- package/dist/keys.js +52 -0
- package/dist/mcp-owner.d.ts +27 -0
- package/dist/mcp-owner.js +143 -0
- package/dist/mcp.d.ts +89 -0
- package/dist/mcp.js +429 -0
- package/dist/media.d.ts +23 -0
- package/dist/media.js +12 -0
- package/dist/pack.d.ts +76 -0
- package/dist/pack.js +134 -0
- package/dist/page/capabilities.d.ts +23 -0
- package/dist/page/capabilities.js +256 -0
- package/dist/page/computer-handles.d.ts +79 -0
- package/dist/page/computer-handles.js +44 -0
- package/dist/page/lifetime.d.ts +6 -0
- package/dist/page/lifetime.js +19 -0
- package/dist/page/mount.d.ts +163 -0
- package/dist/page/mount.js +390 -0
- package/dist/page/storage.d.ts +3 -0
- package/dist/page/storage.js +82 -0
- package/dist/page/terminal.d.ts +5 -0
- package/dist/page/terminal.js +7 -0
- package/dist/page-script.d.ts +14 -0
- package/dist/page-script.js +5 -0
- package/dist/r2-files.d.ts +3 -0
- package/dist/r2-files.js +79 -0
- package/dist/release.d.ts +72 -0
- package/dist/release.js +164 -0
- package/dist/root-data.d.ts +86 -0
- package/dist/root-data.js +69 -0
- package/dist/shell/app-directory.d.ts +537 -0
- package/dist/shell/app-directory.js +195 -0
- package/dist/shell/browser-actions.d.ts +7 -0
- package/dist/shell/browser-actions.js +56 -0
- package/dist/shell/command-host.d.ts +112 -0
- package/dist/shell/command-host.js +502 -0
- package/dist/shell/commands.d.ts +25 -0
- package/dist/shell/commands.js +78 -0
- package/dist/shell/index.d.ts +8 -0
- package/dist/shell/index.js +8 -0
- package/dist/shell/keys.d.ts +41 -0
- package/dist/shell/keys.js +134 -0
- package/dist/shell/shell-module.d.ts +31 -0
- package/dist/shell/shell-module.js +37 -0
- package/dist/shell/window-manager.d.ts +124 -0
- package/dist/shell/window-manager.js +711 -0
- package/dist/shell/workbench-contract.d.ts +68 -0
- package/dist/shell/workbench-contract.js +1 -0
- package/dist/shell/workbench-host-types.d.ts +96 -0
- package/dist/shell/workbench-host-types.js +1 -0
- package/dist/shell/workbench-host.d.ts +34 -0
- package/dist/shell/workbench-host.js +347 -0
- package/dist/shell/workbench-model.d.ts +192 -0
- package/dist/shell/workbench-model.js +53 -0
- package/dist/shell/workbench.d.ts +4 -0
- package/dist/shell/workbench.js +2 -0
- package/dist/source/fork.d.ts +27 -0
- package/dist/source/fork.js +46 -0
- package/dist/source/index.d.ts +11 -0
- package/dist/source/index.js +11 -0
- package/dist/source/seed-receipt.d.ts +53 -0
- package/dist/source/seed-receipt.js +18 -0
- package/dist/source/team-source.d.ts +32 -0
- package/dist/source/team-source.js +42 -0
- package/dist/source/template-repository.d.ts +2 -0
- package/dist/source/template-repository.js +8 -0
- package/dist/source/template-write.d.ts +69 -0
- package/dist/source/template-write.js +344 -0
- package/dist/storage-frame.d.ts +64 -0
- package/dist/storage-frame.js +28 -0
- package/dist/tenant.d.ts +81 -0
- package/dist/tenant.js +71 -0
- package/dist/testing/capabilities.d.ts +29 -0
- package/dist/testing/capabilities.js +130 -0
- package/dist/testing/catalog.d.ts +3 -0
- package/dist/testing/catalog.js +53 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/installation.d.ts +11 -0
- package/dist/testing/installation.js +25 -0
- package/dist/testing/native-worker.d.ts +21 -0
- package/dist/testing/native-worker.js +106 -0
- package/dist/testing/worker.d.ts +18 -0
- package/dist/testing/worker.js +67 -0
- package/dist/testing/workers-runtime.d.ts +24 -0
- package/dist/testing/workers-runtime.js +33 -0
- package/dist/webhook-delivery.d.ts +14 -0
- package/dist/webhook-delivery.js +17 -0
- package/dist/workers-git.d.ts +285 -0
- package/dist/workers-git.js +1174 -0
- package/dist/workers.d.ts +352 -0
- package/dist/workers.js +866 -0
- package/docs/api/README.md +82 -0
- package/docs/api/agents.md +332 -0
- package/docs/api/app-storage.md +209 -0
- package/docs/api/apps.md +1375 -0
- package/docs/api/auth.md +63 -0
- package/docs/api/build-contract.md +507 -0
- package/docs/api/build.md +1476 -0
- package/docs/api/cloudflare.md +421 -0
- package/docs/api/computer.md +203 -0
- package/docs/api/files.md +117 -0
- package/docs/api/git.md +470 -0
- package/docs/api/host.md +1328 -0
- package/docs/api/index.md +430 -0
- package/docs/api/invocation.md +738 -0
- package/docs/api/keys.md +175 -0
- package/docs/api/mcp.md +301 -0
- package/docs/api/media.md +40 -0
- package/docs/api/modules.md +42 -0
- package/docs/api/pack.md +138 -0
- package/docs/api/page/mount.md +298 -0
- package/docs/api/root-data.md +111 -0
- package/docs/api/shell/app-directory.md +332 -0
- package/docs/api/shell/command-host.md +224 -0
- package/docs/api/shell/commands.md +197 -0
- package/docs/api/shell/keys.md +183 -0
- package/docs/api/shell/shell-module.md +143 -0
- package/docs/api/shell/window-manager.md +267 -0
- package/docs/api/shell/workbench.md +186 -0
- package/docs/api/shell.md +1788 -0
- package/docs/api/tenant.md +194 -0
- package/docs/api/workers-git.md +1527 -0
- package/docs/api/workers.md +1678 -0
- package/docs/media/architecture.mmd +32 -0
- package/docs/media/architecture.png +0 -0
- package/docs/media/bonsai-network.png +0 -0
- package/docs/media/bonsai-repository.png +0 -0
- package/docs/site/agent-quickstart.mdx +349 -0
- package/examples/git/worker.ts +39 -0
- package/examples/git/wrangler.jsonc +32 -0
- package/examples/standalone/worker.ts +14 -0
- package/examples/standalone/wrangler.jsonc +21 -0
- package/package.json +249 -3
|
@@ -0,0 +1,1476 @@
|
|
|
1
|
+
<!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
|
|
2
|
+
|
|
3
|
+
[**@fungi.computer/oyster**](README.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[@fungi.computer/oyster](modules.md) / build
|
|
8
|
+
|
|
9
|
+
# build
|
|
10
|
+
|
|
11
|
+
## Classes
|
|
12
|
+
|
|
13
|
+
### AppPublisherError
|
|
14
|
+
|
|
15
|
+
Closed failure boundary for the four private composition stages.
|
|
16
|
+
|
|
17
|
+
#### Extends
|
|
18
|
+
|
|
19
|
+
- `Error`
|
|
20
|
+
|
|
21
|
+
#### Constructors
|
|
22
|
+
|
|
23
|
+
##### Constructor
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
new AppPublisherError(stage, options?): AppPublisherError;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
###### Parameters
|
|
30
|
+
|
|
31
|
+
| Parameter | Type |
|
|
32
|
+
| ---------- | ----------------------------------------- |
|
|
33
|
+
| `stage` | [`AppPublisherStage`](#apppublisherstage) |
|
|
34
|
+
| `options?` | `ErrorOptions` |
|
|
35
|
+
|
|
36
|
+
###### Returns
|
|
37
|
+
|
|
38
|
+
[`AppPublisherError`](#apppublishererror)
|
|
39
|
+
|
|
40
|
+
###### Overrides
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
Error.constructor;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### Properties
|
|
47
|
+
|
|
48
|
+
##### \_tag
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
readonly _tag: "AppPublisherError";
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
##### stage
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
readonly stage: AppPublisherStage;
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Type Aliases
|
|
61
|
+
|
|
62
|
+
### WorkspaceBuildStep
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
type WorkspaceBuildStep = Schema.Schema.Type<typeof workspaceBuildStepSchema>;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
One captured dependency build step.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### AppBackendOutput
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
type AppBackendOutput = Readonly<{
|
|
76
|
+
file: esbuild.OutputFile;
|
|
77
|
+
inputs: readonly string[];
|
|
78
|
+
}>;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The checked Worker output of one App backend build.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### DefinitionEmission
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
type DefinitionEmission = Awaited<ReturnType<typeof createDefinitionEmission>>;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
One App backend build and the declaration derived from it.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### AppPublisherCoreConfigInput
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
type AppPublisherCoreConfigInput = Schema.Codec.Encoded<
|
|
99
|
+
typeof AppPublisherCoreConfigSchema
|
|
100
|
+
>;
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
App identity and caller-selected recipe inputs before normalization.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### PinnedRecipe
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
type PinnedRecipe = Schema.Schema.Type<typeof capturedPinnedRecipeSchema>;
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Fully resolved recipe with its pinned toolchain.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### CapturedSource
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
type CapturedSource = Readonly<{
|
|
121
|
+
sourceRevision: SourceRevision;
|
|
122
|
+
sourceTreeDigest: Sha256Digest;
|
|
123
|
+
snapshotPath: string;
|
|
124
|
+
}>;
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
A source tree captured into a scoped local snapshot directory.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### RawBuildOutput
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
type RawBuildOutput =
|
|
135
|
+
| Readonly<{
|
|
136
|
+
kind: "bytes";
|
|
137
|
+
bytes: Uint8Array;
|
|
138
|
+
}>
|
|
139
|
+
| Readonly<{
|
|
140
|
+
kind: "assets";
|
|
141
|
+
base: string;
|
|
142
|
+
assets: readonly object[];
|
|
143
|
+
}>;
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Compiler bytes or a bounded collection of emitted UI assets.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
### UiBuildOutput
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
type UiBuildOutput =
|
|
154
|
+
| Readonly<{
|
|
155
|
+
kind: "html";
|
|
156
|
+
bytes: Uint8Array;
|
|
157
|
+
}>
|
|
158
|
+
| Extract<
|
|
159
|
+
RawBuildOutput,
|
|
160
|
+
{
|
|
161
|
+
kind: "assets";
|
|
162
|
+
}
|
|
163
|
+
>;
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
A complete HTML document or an asset collection.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### BuildExecutorOutput
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
type BuildExecutorOutput =
|
|
174
|
+
| RawBuildOutput
|
|
175
|
+
| Readonly<{
|
|
176
|
+
kind: "app";
|
|
177
|
+
ui: PreparedUiOutput | null;
|
|
178
|
+
backend: Uint8Array | null;
|
|
179
|
+
}>;
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Raw executor result before the recipe owner assigns App surface meaning.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### PreparedUiOutput
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
type PreparedUiOutput =
|
|
190
|
+
| Readonly<{
|
|
191
|
+
content: Extract<
|
|
192
|
+
UiBuildOutput,
|
|
193
|
+
{
|
|
194
|
+
kind: "html";
|
|
195
|
+
}
|
|
196
|
+
>;
|
|
197
|
+
mediaType: "text/html; charset=utf-8";
|
|
198
|
+
}>
|
|
199
|
+
| Readonly<{
|
|
200
|
+
content: Extract<
|
|
201
|
+
UiBuildOutput,
|
|
202
|
+
{
|
|
203
|
+
kind: "assets";
|
|
204
|
+
}
|
|
205
|
+
>;
|
|
206
|
+
mediaType: "application/vnd.fungi.app-assets+json";
|
|
207
|
+
}>;
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
UI output paired with its immutable artifact media type.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### BuildOutput
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
type BuildOutput =
|
|
218
|
+
| Readonly<{
|
|
219
|
+
kind: "ui";
|
|
220
|
+
ui: PreparedUiOutput;
|
|
221
|
+
}>
|
|
222
|
+
| Readonly<{
|
|
223
|
+
kind: "backend";
|
|
224
|
+
backend: Uint8Array;
|
|
225
|
+
}>
|
|
226
|
+
| (Readonly<{
|
|
227
|
+
kind: "app";
|
|
228
|
+
ui: PreparedUiOutput;
|
|
229
|
+
backend: Uint8Array;
|
|
230
|
+
}> &
|
|
231
|
+
Readonly<{
|
|
232
|
+
declaration?: AppDeclaration;
|
|
233
|
+
}>);
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Complete, non-empty App content accepted by immutable artifact writers.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### StoredArtifact
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
type StoredArtifact = Readonly<{
|
|
244
|
+
artifactRef: ArtifactRef;
|
|
245
|
+
artifactDigest: Sha256Digest;
|
|
246
|
+
}>;
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Reference and digest of the persisted App build root.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
### PreparedCandidate
|
|
254
|
+
|
|
255
|
+
```ts
|
|
256
|
+
type PreparedCandidate = Readonly<{
|
|
257
|
+
appId: AppId;
|
|
258
|
+
releaseId: ReleaseId;
|
|
259
|
+
output: BuildOutput;
|
|
260
|
+
provenance: Readonly<{
|
|
261
|
+
sourceRevision: SourceRevision;
|
|
262
|
+
sourceTreeDigest: Sha256Digest;
|
|
263
|
+
buildRecipeDigest: Sha256Digest;
|
|
264
|
+
}>;
|
|
265
|
+
}>;
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
A locally captured and built candidate awaiting native artifact/catalog custody.
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
### SourceCapture
|
|
273
|
+
|
|
274
|
+
```ts
|
|
275
|
+
type SourceCapture = object;
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Four structural roles used by the private composition.
|
|
279
|
+
|
|
280
|
+
#### Properties
|
|
281
|
+
|
|
282
|
+
##### capture
|
|
283
|
+
|
|
284
|
+
```ts
|
|
285
|
+
readonly capture: () => Effect.Effect<CapturedSource, unknown, Scope.Scope>;
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Acquire a snapshot whose cleanup follows the Effect scope.
|
|
289
|
+
|
|
290
|
+
###### Returns
|
|
291
|
+
|
|
292
|
+
`Effect.Effect`\<[`CapturedSource`](#capturedsource), `unknown`, `Scope.Scope`\>
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
### BuildExecutor
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
type BuildExecutor = object;
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Compiles captured source and reads its matching declaration.
|
|
303
|
+
|
|
304
|
+
#### Properties
|
|
305
|
+
|
|
306
|
+
##### build
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
readonly build: (source, recipe) => Effect.Effect<BuildExecutorOutput, unknown, Scope.Scope>;
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Compile only the captured source under its pinned recipe.
|
|
313
|
+
|
|
314
|
+
###### Parameters
|
|
315
|
+
|
|
316
|
+
| Parameter | Type |
|
|
317
|
+
| --------- | ----------------------------------- |
|
|
318
|
+
| `source` | [`CapturedSource`](#capturedsource) |
|
|
319
|
+
| `recipe` | [`PinnedRecipe`](#pinnedrecipe) |
|
|
320
|
+
|
|
321
|
+
###### Returns
|
|
322
|
+
|
|
323
|
+
`Effect.Effect`\<[`BuildExecutorOutput`](#buildexecutoroutput), `unknown`,
|
|
324
|
+
`Scope.Scope`\>
|
|
325
|
+
|
|
326
|
+
##### declaration?
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
readonly optional declaration?: (source, recipe) => Effect.Effect<AppDeclaration, unknown>;
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
Read the App's declaration from the same captured tree. Every App, a fork
|
|
333
|
+
included, declares through its own source; there is no other source.
|
|
334
|
+
|
|
335
|
+
###### Parameters
|
|
336
|
+
|
|
337
|
+
| Parameter | Type |
|
|
338
|
+
| --------- | ----------------------------------- |
|
|
339
|
+
| `source` | [`CapturedSource`](#capturedsource) |
|
|
340
|
+
| `recipe` | [`PinnedRecipe`](#pinnedrecipe) |
|
|
341
|
+
|
|
342
|
+
###### Returns
|
|
343
|
+
|
|
344
|
+
`Effect.Effect`\<`AppDeclaration`, `unknown`\>
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
### ArtifactWriter
|
|
349
|
+
|
|
350
|
+
```ts
|
|
351
|
+
type ArtifactWriter = object;
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Persists one complete App build as immutable artifacts.
|
|
355
|
+
|
|
356
|
+
#### Properties
|
|
357
|
+
|
|
358
|
+
##### write
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
readonly write: (output) => Effect.Effect<StoredArtifact, unknown>;
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Persist the App root and return its reference and digest.
|
|
365
|
+
|
|
366
|
+
###### Parameters
|
|
367
|
+
|
|
368
|
+
| Parameter | Type |
|
|
369
|
+
| --------- | ----------------------------- |
|
|
370
|
+
| `output` | [`BuildOutput`](#buildoutput) |
|
|
371
|
+
|
|
372
|
+
###### Returns
|
|
373
|
+
|
|
374
|
+
`Effect.Effect`\<[`StoredArtifact`](#storedartifact), `unknown`\>
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
### ReleaseCreator
|
|
379
|
+
|
|
380
|
+
```ts
|
|
381
|
+
type ReleaseCreator = Pick<AppReleaseCatalog, "createRelease">;
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Release catalog role needed to record a built candidate.
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
### AppPublisherOptions
|
|
389
|
+
|
|
390
|
+
```ts
|
|
391
|
+
type AppPublisherOptions = Readonly<{
|
|
392
|
+
config: AppPublisherCoreConfigInput;
|
|
393
|
+
releaseCatalog: ReleaseCreator;
|
|
394
|
+
sourceCapture: SourceCapture;
|
|
395
|
+
buildExecutor: BuildExecutor;
|
|
396
|
+
artifactWriter: ArtifactWriter;
|
|
397
|
+
}>;
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
Captured build inputs and the resource owners used to publish a candidate.
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
### AppPublisher
|
|
405
|
+
|
|
406
|
+
```ts
|
|
407
|
+
type AppPublisher = Readonly<{
|
|
408
|
+
createCandidate: (releaseId) => Effect.Effect<Release, AppPublisherError>;
|
|
409
|
+
}>;
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Builds and records immutable App Release candidates.
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
### AppCandidatePreparer
|
|
417
|
+
|
|
418
|
+
```ts
|
|
419
|
+
type AppCandidatePreparer = Readonly<{
|
|
420
|
+
prepareCandidate: (
|
|
421
|
+
releaseId,
|
|
422
|
+
) => Effect.Effect<PreparedCandidate, AppPublisherError>;
|
|
423
|
+
}>;
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Builds a candidate before artifact storage and catalog publication.
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
### AppPublisherStage
|
|
431
|
+
|
|
432
|
+
```ts
|
|
433
|
+
type AppPublisherStage =
|
|
434
|
+
"configuration" | "source" | "build" | "artifact" | "release";
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
The bounded stages reported by AppPublisherError.
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
### CapturedConfig
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
type CapturedConfig = Readonly<{
|
|
445
|
+
appId: AppId;
|
|
446
|
+
recipe: PinnedRecipe;
|
|
447
|
+
buildRecipeDigest: Sha256Digest;
|
|
448
|
+
}>;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
App identity and normalized recipe with its digest.
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
### FirstPartyAppSourceDistribution
|
|
456
|
+
|
|
457
|
+
```ts
|
|
458
|
+
type FirstPartyAppSourceDistribution = Readonly<{
|
|
459
|
+
appId: AppId;
|
|
460
|
+
sourceRevision: SourceRevision;
|
|
461
|
+
sourceTreeDigest: ReturnType<typeof parseSha256Digest>;
|
|
462
|
+
appDirectory: string;
|
|
463
|
+
files: readonly Readonly<{
|
|
464
|
+
path: string;
|
|
465
|
+
contents: Uint8Array;
|
|
466
|
+
}>[];
|
|
467
|
+
}>;
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
A first-party editable source tree ready to seed into an Artifacts template.
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
### LocalAppPublisherOptions
|
|
475
|
+
|
|
476
|
+
```ts
|
|
477
|
+
type LocalAppPublisherOptions = Readonly<{
|
|
478
|
+
config: unknown;
|
|
479
|
+
releaseCatalog: ReleaseCreator;
|
|
480
|
+
}>;
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
Local Git, recipe and artifact directory configuration with a Release catalog.
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
### WorkspaceBuildPolicy
|
|
488
|
+
|
|
489
|
+
```ts
|
|
490
|
+
type WorkspaceBuildPolicy = Schema.Schema.Type<
|
|
491
|
+
typeof workspaceBuildPolicySchema
|
|
492
|
+
>;
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
The build policy one manifest declares.
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
### WorkspaceBuild
|
|
500
|
+
|
|
501
|
+
```ts
|
|
502
|
+
type WorkspaceBuild = Readonly<{
|
|
503
|
+
directory: string;
|
|
504
|
+
packageName: string;
|
|
505
|
+
react: boolean;
|
|
506
|
+
shellEntry?: string;
|
|
507
|
+
dependencies: readonly string[];
|
|
508
|
+
steps: readonly WorkspaceBuildStep[];
|
|
509
|
+
}>;
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
One App page build derived from its manifests and package graph.
|
|
513
|
+
|
|
514
|
+
## Variables
|
|
515
|
+
|
|
516
|
+
### workspaceBuildStepSchema
|
|
517
|
+
|
|
518
|
+
```ts
|
|
519
|
+
const workspaceBuildStepSchema: Union<
|
|
520
|
+
readonly [
|
|
521
|
+
Struct<{
|
|
522
|
+
kind: Literal<"typescript">;
|
|
523
|
+
config: String;
|
|
524
|
+
}>,
|
|
525
|
+
Struct<{
|
|
526
|
+
kind: Literal<"tailwind">;
|
|
527
|
+
input: String;
|
|
528
|
+
output: String;
|
|
529
|
+
}>,
|
|
530
|
+
]
|
|
531
|
+
>;
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
One captured dependency build step. Paths are relative to the captured snapshot
|
|
535
|
+
root. A TypeScript step compiles one config; a Tailwind step compiles one
|
|
536
|
+
stylesheet input into its output (the same path for an App's own stylesheet,
|
|
537
|
+
which compiles in place).
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
### pinnedRecipeSchema
|
|
542
|
+
|
|
543
|
+
```ts
|
|
544
|
+
const pinnedRecipeSchema: Struct<{
|
|
545
|
+
kind: optional<Literals<readonly ["bundled-html", "source-html"]>>;
|
|
546
|
+
entry: String;
|
|
547
|
+
assets: optional<
|
|
548
|
+
Struct<{
|
|
549
|
+
maxManifestBytes: Number;
|
|
550
|
+
maxObjects: Number;
|
|
551
|
+
maxObjectBytes: Number;
|
|
552
|
+
maxTotalBytes: Number;
|
|
553
|
+
}>
|
|
554
|
+
>;
|
|
555
|
+
assetBase: optionalKey<String>;
|
|
556
|
+
backend: Union<
|
|
557
|
+
readonly [
|
|
558
|
+
Null,
|
|
559
|
+
Struct<{
|
|
560
|
+
entry: optional<String>;
|
|
561
|
+
runtime: Struct<{
|
|
562
|
+
kind: Literal<"durable-facet">;
|
|
563
|
+
stateSchema: Number;
|
|
564
|
+
}>;
|
|
565
|
+
compatibilityDate: String;
|
|
566
|
+
exportName: String;
|
|
567
|
+
}>,
|
|
568
|
+
]
|
|
569
|
+
>;
|
|
570
|
+
maxOutputBytes: Number;
|
|
571
|
+
}>;
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
Canonical recipe policy shared by core and the local adapter.
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
### AppPublisherCoreConfigSchema
|
|
579
|
+
|
|
580
|
+
```ts
|
|
581
|
+
const AppPublisherCoreConfigSchema: Struct<{
|
|
582
|
+
appId: refine<AppId, String>;
|
|
583
|
+
recipe: Struct<{
|
|
584
|
+
kind: optional<Literals<readonly ["bundled-html", "source-html"]>>;
|
|
585
|
+
entry: String;
|
|
586
|
+
assets: optional<Struct<{
|
|
587
|
+
maxManifestBytes: Number;
|
|
588
|
+
maxObjects: Number;
|
|
589
|
+
maxObjectBytes: Number;
|
|
590
|
+
maxTotalBytes: Number;
|
|
591
|
+
}>>;
|
|
592
|
+
assetBase: optionalKey<String>;
|
|
593
|
+
backend: Union<readonly [Null, Struct<{
|
|
594
|
+
entry: optional<String>;
|
|
595
|
+
runtime: Struct<{
|
|
596
|
+
kind: Literal<...>;
|
|
597
|
+
stateSchema: Number;
|
|
598
|
+
}>;
|
|
599
|
+
compatibilityDate: String;
|
|
600
|
+
exportName: String;
|
|
601
|
+
}>]>;
|
|
602
|
+
maxOutputBytes: Number;
|
|
603
|
+
}>;
|
|
604
|
+
}>;
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
Core configuration contains only immutable App identity and recipe policy.
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
### appBackendExportConditions
|
|
612
|
+
|
|
613
|
+
```ts
|
|
614
|
+
const appBackendExportConditions: readonly string[];
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
Package-export conditions used by the pinned Workers builder.
|
|
618
|
+
|
|
619
|
+
---
|
|
620
|
+
|
|
621
|
+
### capturedPinnedRecipeSchema
|
|
622
|
+
|
|
623
|
+
```ts
|
|
624
|
+
const capturedPinnedRecipeSchema: Struct<{
|
|
625
|
+
kind: optional<Literals<readonly ["bundled-html", "source-html"]>>;
|
|
626
|
+
bundle: Literal<true>;
|
|
627
|
+
entry: String;
|
|
628
|
+
format: Literals<readonly ["html", "esm", "assets"]>;
|
|
629
|
+
assets: optional<
|
|
630
|
+
Struct<{
|
|
631
|
+
maxManifestBytes: Number;
|
|
632
|
+
maxObjects: Number;
|
|
633
|
+
maxObjectBytes: Number;
|
|
634
|
+
maxTotalBytes: Number;
|
|
635
|
+
}>
|
|
636
|
+
>;
|
|
637
|
+
assetBase: optionalKey<String>;
|
|
638
|
+
toolchain: $Record<String, String>;
|
|
639
|
+
maxOutputBytes: Number;
|
|
640
|
+
platform: Literals<readonly ["browser", "neutral"]>;
|
|
641
|
+
backend: Union<
|
|
642
|
+
readonly [
|
|
643
|
+
Null,
|
|
644
|
+
Struct<{
|
|
645
|
+
entry: optional<String>;
|
|
646
|
+
runtime: Struct<{
|
|
647
|
+
kind: Literal<"durable-facet">;
|
|
648
|
+
stateSchema: Number;
|
|
649
|
+
}>;
|
|
650
|
+
compatibilityDate: String;
|
|
651
|
+
exportName: String;
|
|
652
|
+
}>,
|
|
653
|
+
]
|
|
654
|
+
>;
|
|
655
|
+
target: Tuple<readonly [Literal<"es2022">]>;
|
|
656
|
+
}>;
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
Persisted, fully resolved recipe including its code-owned toolchain.
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
### bundledHtmlRecipe
|
|
664
|
+
|
|
665
|
+
```ts
|
|
666
|
+
const bundledHtmlRecipe: Readonly<{
|
|
667
|
+
kind: "bundled-html";
|
|
668
|
+
toolchain: Readonly<{
|
|
669
|
+
recipe: "captured-bundled-html-v1";
|
|
670
|
+
}>;
|
|
671
|
+
limits: Readonly<{
|
|
672
|
+
maxManifestBytes: 1048576;
|
|
673
|
+
maxObjects: 1024;
|
|
674
|
+
maxObjectBytes: 16777216;
|
|
675
|
+
maxTotalBytes: 67108864;
|
|
676
|
+
}>;
|
|
677
|
+
extensions: readonly string[];
|
|
678
|
+
}>;
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Engine/toolchain-independent input: an already bundled, captured directory. The
|
|
682
|
+
producer owns compilation; Publisher never discovers its build scripts. These
|
|
683
|
+
ceilings cannot be raised by a publication request.
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
### dependencyBuildProgram
|
|
688
|
+
|
|
689
|
+
```ts
|
|
690
|
+
const dependencyBuildProgram: string;
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Captured-dependency build program with guarded filesystem access.
|
|
694
|
+
|
|
695
|
+
---
|
|
696
|
+
|
|
697
|
+
### workspaceBuildPolicySchema
|
|
698
|
+
|
|
699
|
+
```ts
|
|
700
|
+
const workspaceBuildPolicySchema: Struct<{
|
|
701
|
+
react: optional<Boolean>;
|
|
702
|
+
shellEntry: optional<String>;
|
|
703
|
+
packageStylesheets: optional<$Array<String>>;
|
|
704
|
+
stylesheets: optional<$Array<String>>;
|
|
705
|
+
typescript: optional<$Array<String>>;
|
|
706
|
+
stylesheet: optional<
|
|
707
|
+
Struct<{
|
|
708
|
+
input: String;
|
|
709
|
+
output: String;
|
|
710
|
+
}>
|
|
711
|
+
>;
|
|
712
|
+
}>;
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
`package.json#fungi.build`. An App manifest (the manifest nearest the entry)
|
|
716
|
+
declares how its page builds: `react`, `shellEntry`, the workspace packages
|
|
717
|
+
whose declared stylesheets compile first (`packageStylesheets`) and its own
|
|
718
|
+
`stylesheets`, compiled in place, in order. A workspace package declares its
|
|
719
|
+
build products: extra TypeScript configs compiled after its
|
|
720
|
+
`tsconfig.build.json`, and its stylesheet input and output. Every path is
|
|
721
|
+
relative to the manifest that declares it.
|
|
722
|
+
|
|
723
|
+
---
|
|
724
|
+
|
|
725
|
+
### workspaceProjectsArguments
|
|
726
|
+
|
|
727
|
+
```ts
|
|
728
|
+
const workspaceProjectsArguments: readonly string[];
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
The pnpm arguments that list a source tree's workspace projects.
|
|
732
|
+
|
|
733
|
+
## Functions
|
|
734
|
+
|
|
735
|
+
### readBundledHtml()
|
|
736
|
+
|
|
737
|
+
```ts
|
|
738
|
+
function readBundledHtml(
|
|
739
|
+
snapshot,
|
|
740
|
+
recipe,
|
|
741
|
+
): Promise<
|
|
742
|
+
Readonly<{
|
|
743
|
+
kind: "assets";
|
|
744
|
+
base: string;
|
|
745
|
+
assets: readonly object[];
|
|
746
|
+
}>
|
|
747
|
+
>;
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
Read only regular files under the captured entry's directory. No scripts,
|
|
751
|
+
dependency hydration, URL rewriting, or access to the producer's live build.
|
|
752
|
+
|
|
753
|
+
#### Parameters
|
|
754
|
+
|
|
755
|
+
| Parameter | Type |
|
|
756
|
+
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
757
|
+
| `snapshot` | `string` |
|
|
758
|
+
| `recipe` | \{ `kind?`: `"bundled-html"` \| `"source-html"`; `bundle`: `true`; `entry`: `string`; `format`: `"html"` \| `"assets"` \| `"esm"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `toolchain`: \{ \[`key`: `string`\]: `string`; \}; `maxOutputBytes`: `number`; `platform`: `"browser"` \| `"neutral"`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `target`: readonly \[`"es2022"`\]; \} |
|
|
759
|
+
| `recipe.kind?` | `"bundled-html"` \| `"source-html"` |
|
|
760
|
+
| `recipe.bundle` | `true` |
|
|
761
|
+
| `recipe.entry` | `string` |
|
|
762
|
+
| `recipe.format` | `"html"` \| `"assets"` \| `"esm"` |
|
|
763
|
+
| `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
764
|
+
| `recipe.assets.maxManifestBytes` | `number` |
|
|
765
|
+
| `recipe.assets.maxObjects` | `number` |
|
|
766
|
+
| `recipe.assets.maxObjectBytes` | `number` |
|
|
767
|
+
| `recipe.assets.maxTotalBytes` | `number` |
|
|
768
|
+
| `recipe.assetBase?` | `string` |
|
|
769
|
+
| `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} |
|
|
770
|
+
| `recipe.maxOutputBytes` | `number` |
|
|
771
|
+
| `recipe.platform` | `"browser"` \| `"neutral"` |
|
|
772
|
+
| `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
|
|
773
|
+
| `recipe.target` | readonly \[`"es2022"`\] |
|
|
774
|
+
|
|
775
|
+
#### Returns
|
|
776
|
+
|
|
777
|
+
`Promise`\<`Readonly`\<\{ `kind`: `"assets"`; `base`: `string`; `assets`:
|
|
778
|
+
readonly `object`[]; \}\>\>
|
|
779
|
+
|
|
780
|
+
---
|
|
781
|
+
|
|
782
|
+
### createDefinitionEmission()
|
|
783
|
+
|
|
784
|
+
```ts
|
|
785
|
+
function createDefinitionEmission(source, recipe): Promise<{
|
|
786
|
+
entryPoints: (entry) => Record<string, string>;
|
|
787
|
+
outdir: string;
|
|
788
|
+
plugins: Plugin[];
|
|
789
|
+
worker: AppBackendOutput;
|
|
790
|
+
declare: Promise<Readonly<{
|
|
791
|
+
api?: Readonly<{
|
|
792
|
+
methods: Readonly<Record<string, Readonly<...>>>;
|
|
793
|
+
toolFamily?: Readonly<{
|
|
794
|
+
name: ...;
|
|
795
|
+
list: ...;
|
|
796
|
+
call: ...;
|
|
797
|
+
}>;
|
|
798
|
+
events?: Readonly<Record<..., ...>>;
|
|
799
|
+
}>;
|
|
800
|
+
displayName?: string;
|
|
801
|
+
capabilities: readonly (
|
|
802
|
+
| "agent.list"
|
|
803
|
+
| "agent.manage"
|
|
804
|
+
| "agent.rename"
|
|
805
|
+
| "agent.toolPolicy"
|
|
806
|
+
| "agent.read"
|
|
807
|
+
| "agent.send"
|
|
808
|
+
| "computer.list"
|
|
809
|
+
| "computer.readFile"
|
|
810
|
+
| "computer.writeFile"
|
|
811
|
+
| "computer.execute"
|
|
812
|
+
| "llm.generation"
|
|
813
|
+
| "media.generation"
|
|
814
|
+
| "games:servers"
|
|
815
|
+
| "git.repository"
|
|
816
|
+
| "apps.open"
|
|
817
|
+
| "apps.call"
|
|
818
|
+
| "app.storage"
|
|
819
|
+
| "app.events.emit"
|
|
820
|
+
| "team.workbenchHost"
|
|
821
|
+
| "marketplace.browse"
|
|
822
|
+
| "marketplace.purchase"
|
|
823
|
+
| "workflow.run"
|
|
824
|
+
| "workflow.publish"
|
|
825
|
+
| "workflow.arm"
|
|
826
|
+
| "world"
|
|
827
|
+
| "channels.read"
|
|
828
|
+
| "channels.personal.manage")[];
|
|
829
|
+
calls?: readonly Readonly<{
|
|
830
|
+
appId: string;
|
|
831
|
+
methods: readonly string[];
|
|
832
|
+
}>[];
|
|
833
|
+
guidance?: string;
|
|
834
|
+
handlers: readonly "file.open"[];
|
|
835
|
+
receives?: readonly "git.push"[];
|
|
836
|
+
icon?: string;
|
|
837
|
+
roles: readonly ("dashboard" | "inbox" | "files" | "media" | "sessions" | "terminal")[];
|
|
838
|
+
storage?: readonly Readonly<{
|
|
839
|
+
key: string;
|
|
840
|
+
scopes: readonly (... | ...)[];
|
|
841
|
+
maxBytes: number;
|
|
842
|
+
}>[];
|
|
843
|
+
commands?: readonly Readonly<{
|
|
844
|
+
id: string;
|
|
845
|
+
title: string;
|
|
846
|
+
category: string;
|
|
847
|
+
description?: string;
|
|
848
|
+
sigil?: string;
|
|
849
|
+
projections?: Readonly<...>;
|
|
850
|
+
}>[];
|
|
851
|
+
gills?: readonly Readonly<{
|
|
852
|
+
id: string;
|
|
853
|
+
source: string;
|
|
854
|
+
title: string;
|
|
855
|
+
params?: readonly ...[];
|
|
856
|
+
watch?: AppGillWatch;
|
|
857
|
+
desktop?: Readonly<...>;
|
|
858
|
+
}>[];
|
|
859
|
+
backend?: Readonly<{
|
|
860
|
+
bindings: readonly Readonly<{
|
|
861
|
+
name: ...;
|
|
862
|
+
operations: ...;
|
|
863
|
+
}>[];
|
|
864
|
+
sync?: Readonly<{
|
|
865
|
+
method: ...;
|
|
866
|
+
}>;
|
|
867
|
+
}>;
|
|
868
|
+
}>>;
|
|
869
|
+
}>;
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
Build one App backend and derive its declaration from that same build.
|
|
873
|
+
|
|
874
|
+
A declared `fungi.backendDefinition` adds a second, build-only entry that
|
|
875
|
+
derives the declaration with `buildAppDeclaration(appBackend, fungi.app)`.
|
|
876
|
+
esbuild loads every path and resolves every import once per build, so the Worker
|
|
877
|
+
serves exactly the definition bytes and module resolution the declaration
|
|
878
|
+
describes. The Worker output is then checked to include that definition and no
|
|
879
|
+
build-only declaration code, and the declaration output to import nothing at
|
|
880
|
+
runtime.
|
|
881
|
+
|
|
882
|
+
#### Parameters
|
|
883
|
+
|
|
884
|
+
| Parameter | Type |
|
|
885
|
+
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
886
|
+
| `source` | [`CapturedSource`](#capturedsource) |
|
|
887
|
+
| `recipe` | \{ `kind?`: `"bundled-html"` \| `"source-html"`; `bundle`: `true`; `entry`: `string`; `format`: `"html"` \| `"assets"` \| `"esm"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `toolchain`: \{ \[`key`: `string`\]: `string`; \}; `maxOutputBytes`: `number`; `platform`: `"browser"` \| `"neutral"`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `target`: readonly \[`"es2022"`\]; \} |
|
|
888
|
+
| `recipe.kind?` | `"bundled-html"` \| `"source-html"` |
|
|
889
|
+
| `recipe.bundle` | `true` |
|
|
890
|
+
| `recipe.entry` | `string` |
|
|
891
|
+
| `recipe.format` | `"html"` \| `"assets"` \| `"esm"` |
|
|
892
|
+
| `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
893
|
+
| `recipe.assets.maxManifestBytes` | `number` |
|
|
894
|
+
| `recipe.assets.maxObjects` | `number` |
|
|
895
|
+
| `recipe.assets.maxObjectBytes` | `number` |
|
|
896
|
+
| `recipe.assets.maxTotalBytes` | `number` |
|
|
897
|
+
| `recipe.assetBase?` | `string` |
|
|
898
|
+
| `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} |
|
|
899
|
+
| `recipe.maxOutputBytes` | `number` |
|
|
900
|
+
| `recipe.platform` | `"browser"` \| `"neutral"` |
|
|
901
|
+
| `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
|
|
902
|
+
| `recipe.target` | readonly \[`"es2022"`\] |
|
|
903
|
+
|
|
904
|
+
#### Returns
|
|
905
|
+
|
|
906
|
+
`Promise`\<\{ `entryPoints`: (`entry`) => `Record`\<`string`, `string`\>;
|
|
907
|
+
`outdir`: `string`; `plugins`: `Plugin`[]; `worker`:
|
|
908
|
+
[`AppBackendOutput`](#appbackendoutput); `declare`: `Promise`\<`Readonly`\<\{
|
|
909
|
+
`api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`,
|
|
910
|
+
`Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...;
|
|
911
|
+
`call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>;
|
|
912
|
+
`displayName?`: `string`; `capabilities`: readonly ( \| `"agent.list"` \|
|
|
913
|
+
`"agent.manage"` \| `"agent.rename"` \| `"agent.toolPolicy"` \| `"agent.read"`
|
|
914
|
+
\| `"agent.send"` \| `"computer.list"` \| `"computer.readFile"` \|
|
|
915
|
+
`"computer.writeFile"` \| `"computer.execute"` \| `"llm.generation"` \|
|
|
916
|
+
`"media.generation"` \| `"games:servers"` \| `"git.repository"` \| `"apps.open"`
|
|
917
|
+
\| `"apps.call"` \| `"app.storage"` \| `"app.events.emit"` \|
|
|
918
|
+
`"team.workbenchHost"` \| `"marketplace.browse"` \| `"marketplace.purchase"` \|
|
|
919
|
+
`"workflow.run"` \| `"workflow.publish"` \| `"workflow.arm"` \| `"world"` \|
|
|
920
|
+
`"channels.read"` \| `"channels.personal.manage"`)[]; `calls?`: readonly
|
|
921
|
+
`Readonly`\<\{ `appId`: `string`; `methods`: readonly `string`[]; \}\>[];
|
|
922
|
+
`guidance?`: `string`; `handlers`: readonly `"file.open"`[]; `receives?`:
|
|
923
|
+
readonly `"git.push"`[]; `icon?`: `string`; `roles`: readonly (`"dashboard"` \|
|
|
924
|
+
`"inbox"` \| `"files"` \| `"media"` \| `"sessions"` \| `"terminal"`)[];
|
|
925
|
+
`storage?`: readonly `Readonly`\<\{ `key`: `string`; `scopes`: readonly (... \|
|
|
926
|
+
...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`:
|
|
927
|
+
`string`; `title`: `string`; `category`: `string`; `description?`: `string`;
|
|
928
|
+
`sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`:
|
|
929
|
+
readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`;
|
|
930
|
+
`params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`:
|
|
931
|
+
`Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly
|
|
932
|
+
`Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{
|
|
933
|
+
`method`: ...; \}\>; \}\>; \}\>\>; \}\>
|
|
934
|
+
|
|
935
|
+
---
|
|
936
|
+
|
|
937
|
+
### digestPinnedRecipe()
|
|
938
|
+
|
|
939
|
+
```ts
|
|
940
|
+
function digestPinnedRecipe(recipe): Sha256Digest;
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
Hash every captured build and output-policy input in the Publisher recipe.
|
|
944
|
+
|
|
945
|
+
#### Parameters
|
|
946
|
+
|
|
947
|
+
| Parameter | Type |
|
|
948
|
+
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
949
|
+
| `recipe` | \{ `kind?`: `"bundled-html"` \| `"source-html"`; `bundle`: `true`; `entry`: `string`; `format`: `"html"` \| `"assets"` \| `"esm"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `toolchain`: \{ \[`key`: `string`\]: `string`; \}; `maxOutputBytes`: `number`; `platform`: `"browser"` \| `"neutral"`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `target`: readonly \[`"es2022"`\]; \} |
|
|
950
|
+
| `recipe.kind?` | `"bundled-html"` \| `"source-html"` |
|
|
951
|
+
| `recipe.bundle` | `true` |
|
|
952
|
+
| `recipe.entry` | `string` |
|
|
953
|
+
| `recipe.format` | `"html"` \| `"assets"` \| `"esm"` |
|
|
954
|
+
| `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
955
|
+
| `recipe.assets.maxManifestBytes` | `number` |
|
|
956
|
+
| `recipe.assets.maxObjects` | `number` |
|
|
957
|
+
| `recipe.assets.maxObjectBytes` | `number` |
|
|
958
|
+
| `recipe.assets.maxTotalBytes` | `number` |
|
|
959
|
+
| `recipe.assetBase?` | `string` |
|
|
960
|
+
| `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} |
|
|
961
|
+
| `recipe.maxOutputBytes` | `number` |
|
|
962
|
+
| `recipe.platform` | `"browser"` \| `"neutral"` |
|
|
963
|
+
| `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
|
|
964
|
+
| `recipe.target` | readonly \[`"es2022"`\] |
|
|
965
|
+
|
|
966
|
+
#### Returns
|
|
967
|
+
|
|
968
|
+
`Sha256Digest`
|
|
969
|
+
|
|
970
|
+
---
|
|
971
|
+
|
|
972
|
+
### normalizeAppPublisherRecipe()
|
|
973
|
+
|
|
974
|
+
```ts
|
|
975
|
+
function normalizeAppPublisherRecipe(input): Readonly<{
|
|
976
|
+
recipe: PinnedRecipe;
|
|
977
|
+
buildRecipeDigest: Sha256Digest;
|
|
978
|
+
}>;
|
|
979
|
+
```
|
|
980
|
+
|
|
981
|
+
Decode and normalize Publisher-owned recipe policy for durable seed proof.
|
|
982
|
+
|
|
983
|
+
#### Parameters
|
|
984
|
+
|
|
985
|
+
| Parameter | Type |
|
|
986
|
+
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
987
|
+
| `input` | \{ `appId`: `string`; `recipe`: \{ `kind?`: `"bundled-html"` \| `"source-html"`; `entry`: `string`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes`: `number`; \}; \} |
|
|
988
|
+
| `input.appId` | `string` |
|
|
989
|
+
| `input.recipe` | \{ `kind?`: `"bundled-html"` \| `"source-html"`; `entry`: `string`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes`: `number`; \} |
|
|
990
|
+
| `input.recipe.kind?` | `"bundled-html"` \| `"source-html"` |
|
|
991
|
+
| `input.recipe.entry` | `string` |
|
|
992
|
+
| `input.recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
993
|
+
| `input.recipe.assets.maxManifestBytes` | `number` |
|
|
994
|
+
| `input.recipe.assets.maxObjects` | `number` |
|
|
995
|
+
| `input.recipe.assets.maxObjectBytes` | `number` |
|
|
996
|
+
| `input.recipe.assets.maxTotalBytes` | `number` |
|
|
997
|
+
| `input.recipe.assetBase?` | `string` |
|
|
998
|
+
| `input.recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
|
|
999
|
+
| `input.recipe.maxOutputBytes` | `number` |
|
|
1000
|
+
|
|
1001
|
+
#### Returns
|
|
1002
|
+
|
|
1003
|
+
`Readonly`\<\{ `recipe`: [`PinnedRecipe`](#pinnedrecipe); `buildRecipeDigest`:
|
|
1004
|
+
`Sha256Digest`; \}\>
|
|
1005
|
+
|
|
1006
|
+
---
|
|
1007
|
+
|
|
1008
|
+
### createAppCandidatePreparer()
|
|
1009
|
+
|
|
1010
|
+
```ts
|
|
1011
|
+
function createAppCandidatePreparer(options): AppCandidatePreparer;
|
|
1012
|
+
```
|
|
1013
|
+
|
|
1014
|
+
Construct one private App Publisher with copied core configuration and roles.
|
|
1015
|
+
|
|
1016
|
+
#### Parameters
|
|
1017
|
+
|
|
1018
|
+
| Parameter | Type |
|
|
1019
|
+
| --------- | ------------------------------------------------------------------------------------------------------------- |
|
|
1020
|
+
| `options` | `Pick`\<[`AppPublisherOptions`](#apppublisheroptions), `"config"` \| `"sourceCapture"` \| `"buildExecutor"`\> |
|
|
1021
|
+
|
|
1022
|
+
#### Returns
|
|
1023
|
+
|
|
1024
|
+
[`AppCandidatePreparer`](#appcandidatepreparer)
|
|
1025
|
+
|
|
1026
|
+
---
|
|
1027
|
+
|
|
1028
|
+
### createCapturedCandidatePreparer()
|
|
1029
|
+
|
|
1030
|
+
```ts
|
|
1031
|
+
function createCapturedCandidatePreparer(config, options): AppCandidatePreparer;
|
|
1032
|
+
```
|
|
1033
|
+
|
|
1034
|
+
Prepare a candidate from a previously captured recipe.
|
|
1035
|
+
|
|
1036
|
+
#### Parameters
|
|
1037
|
+
|
|
1038
|
+
| Parameter | Type |
|
|
1039
|
+
| --------- | ----------------------------------------------------------------------------------------------- |
|
|
1040
|
+
| `config` | [`CapturedConfig`](#capturedconfig) |
|
|
1041
|
+
| `options` | `Pick`\<[`AppPublisherOptions`](#apppublisheroptions), `"sourceCapture"` \| `"buildExecutor"`\> |
|
|
1042
|
+
|
|
1043
|
+
#### Returns
|
|
1044
|
+
|
|
1045
|
+
[`AppCandidatePreparer`](#appcandidatepreparer)
|
|
1046
|
+
|
|
1047
|
+
---
|
|
1048
|
+
|
|
1049
|
+
### commitPreparedCandidate()
|
|
1050
|
+
|
|
1051
|
+
```ts
|
|
1052
|
+
function commitPreparedCandidate(
|
|
1053
|
+
prepared,
|
|
1054
|
+
options,
|
|
1055
|
+
): Effect<Release, AppPublisherError>;
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
Persist a prepared build through the native artifact and App Release owners.
|
|
1059
|
+
|
|
1060
|
+
#### Parameters
|
|
1061
|
+
|
|
1062
|
+
| Parameter | Type |
|
|
1063
|
+
| ---------- | ------------------------------------------------------------------------------------------------- |
|
|
1064
|
+
| `prepared` | [`PreparedCandidate`](#preparedcandidate) |
|
|
1065
|
+
| `options` | `Pick`\<[`AppPublisherOptions`](#apppublisheroptions), `"artifactWriter"` \| `"releaseCatalog"`\> |
|
|
1066
|
+
|
|
1067
|
+
#### Returns
|
|
1068
|
+
|
|
1069
|
+
`Effect`\<`Release`, [`AppPublisherError`](#apppublishererror)\>
|
|
1070
|
+
|
|
1071
|
+
---
|
|
1072
|
+
|
|
1073
|
+
### createAppPublisher()
|
|
1074
|
+
|
|
1075
|
+
```ts
|
|
1076
|
+
function createAppPublisher(options): AppPublisher;
|
|
1077
|
+
```
|
|
1078
|
+
|
|
1079
|
+
Compose capture, compilation, immutable writing and Release recording.
|
|
1080
|
+
|
|
1081
|
+
#### Parameters
|
|
1082
|
+
|
|
1083
|
+
| Parameter | Type |
|
|
1084
|
+
| --------- | --------------------------------------------- |
|
|
1085
|
+
| `options` | [`AppPublisherOptions`](#apppublisheroptions) |
|
|
1086
|
+
|
|
1087
|
+
#### Returns
|
|
1088
|
+
|
|
1089
|
+
[`AppPublisher`](#apppublisher)
|
|
1090
|
+
|
|
1091
|
+
---
|
|
1092
|
+
|
|
1093
|
+
### repositoryEnvironment()
|
|
1094
|
+
|
|
1095
|
+
```ts
|
|
1096
|
+
function repositoryEnvironment(): ProcessEnv;
|
|
1097
|
+
```
|
|
1098
|
+
|
|
1099
|
+
Run a nested repository without inheriting the caller's Git checkout.
|
|
1100
|
+
|
|
1101
|
+
#### Returns
|
|
1102
|
+
|
|
1103
|
+
`ProcessEnv`
|
|
1104
|
+
|
|
1105
|
+
---
|
|
1106
|
+
|
|
1107
|
+
### artifactsGitEnvironment()
|
|
1108
|
+
|
|
1109
|
+
```ts
|
|
1110
|
+
function artifactsGitEnvironment(token): ProcessEnv;
|
|
1111
|
+
```
|
|
1112
|
+
|
|
1113
|
+
Git environment for one authenticated Artifacts fetch; caller validates token.
|
|
1114
|
+
|
|
1115
|
+
#### Parameters
|
|
1116
|
+
|
|
1117
|
+
| Parameter | Type |
|
|
1118
|
+
| --------- | -------- |
|
|
1119
|
+
| `token` | `string` |
|
|
1120
|
+
|
|
1121
|
+
#### Returns
|
|
1122
|
+
|
|
1123
|
+
`ProcessEnv`
|
|
1124
|
+
|
|
1125
|
+
---
|
|
1126
|
+
|
|
1127
|
+
### hostedArtifactsGitRemote()
|
|
1128
|
+
|
|
1129
|
+
```ts
|
|
1130
|
+
function hostedArtifactsGitRemote(endpoint, repository): string;
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
Credential-free private route used by the hosted Publisher Git client.
|
|
1134
|
+
|
|
1135
|
+
#### Parameters
|
|
1136
|
+
|
|
1137
|
+
| Parameter | Type |
|
|
1138
|
+
| ------------ | -------- |
|
|
1139
|
+
| `endpoint` | `string` |
|
|
1140
|
+
| `repository` | `string` |
|
|
1141
|
+
|
|
1142
|
+
#### Returns
|
|
1143
|
+
|
|
1144
|
+
`string`
|
|
1145
|
+
|
|
1146
|
+
---
|
|
1147
|
+
|
|
1148
|
+
### boundedBundlePolicy()
|
|
1149
|
+
|
|
1150
|
+
```ts
|
|
1151
|
+
function boundedBundlePolicy(policy, maxOutputBytes): boolean;
|
|
1152
|
+
```
|
|
1153
|
+
|
|
1154
|
+
Requests may tighten the catalog bounds, never raise them.
|
|
1155
|
+
|
|
1156
|
+
#### Parameters
|
|
1157
|
+
|
|
1158
|
+
| Parameter | Type |
|
|
1159
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
1160
|
+
| `policy` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
1161
|
+
| `policy.maxManifestBytes` | `number` |
|
|
1162
|
+
| `policy.maxObjects` | `number` |
|
|
1163
|
+
| `policy.maxObjectBytes` | `number` |
|
|
1164
|
+
| `policy.maxTotalBytes` | `number` |
|
|
1165
|
+
| `maxOutputBytes` | `number` |
|
|
1166
|
+
|
|
1167
|
+
#### Returns
|
|
1168
|
+
|
|
1169
|
+
`boolean`
|
|
1170
|
+
|
|
1171
|
+
---
|
|
1172
|
+
|
|
1173
|
+
### createLocalSourceCapture()
|
|
1174
|
+
|
|
1175
|
+
```ts
|
|
1176
|
+
function createLocalSourceCapture(repositoryPath): SourceCapture;
|
|
1177
|
+
```
|
|
1178
|
+
|
|
1179
|
+
Local proving adapter; accepted source policy is intentionally fixed to main.
|
|
1180
|
+
|
|
1181
|
+
#### Parameters
|
|
1182
|
+
|
|
1183
|
+
| Parameter | Type |
|
|
1184
|
+
| ---------------- | -------- |
|
|
1185
|
+
| `repositoryPath` | `string` |
|
|
1186
|
+
|
|
1187
|
+
#### Returns
|
|
1188
|
+
|
|
1189
|
+
[`SourceCapture`](#sourcecapture)
|
|
1190
|
+
|
|
1191
|
+
---
|
|
1192
|
+
|
|
1193
|
+
### createLocalDirectorySourceCapture()
|
|
1194
|
+
|
|
1195
|
+
```ts
|
|
1196
|
+
function createLocalDirectorySourceCapture(directory): SourceCapture;
|
|
1197
|
+
```
|
|
1198
|
+
|
|
1199
|
+
Capture saved App files for local authoring without modifying the customer's
|
|
1200
|
+
repository. Provenance names the exact temporary Git snapshot, not an existing
|
|
1201
|
+
customer commit. Dependencies and local credentials are not source inputs.
|
|
1202
|
+
|
|
1203
|
+
#### Parameters
|
|
1204
|
+
|
|
1205
|
+
| Parameter | Type |
|
|
1206
|
+
| ----------- | -------- |
|
|
1207
|
+
| `directory` | `string` |
|
|
1208
|
+
|
|
1209
|
+
#### Returns
|
|
1210
|
+
|
|
1211
|
+
[`SourceCapture`](#sourcecapture)
|
|
1212
|
+
|
|
1213
|
+
---
|
|
1214
|
+
|
|
1215
|
+
### createArtifactsSourceCapture()
|
|
1216
|
+
|
|
1217
|
+
```ts
|
|
1218
|
+
function createArtifactsSourceCapture(options): SourceCapture;
|
|
1219
|
+
```
|
|
1220
|
+
|
|
1221
|
+
Capture an exact Artifacts commit through a trusted host's credential-free Git
|
|
1222
|
+
URL.
|
|
1223
|
+
|
|
1224
|
+
#### Parameters
|
|
1225
|
+
|
|
1226
|
+
| Parameter | Type |
|
|
1227
|
+
| ------------------------ | -------------------------------------------------------------------------------- |
|
|
1228
|
+
| `options` | \{ `remote`: `string`; `token`: `string`; `sourceRevision`: `SourceRevision`; \} |
|
|
1229
|
+
| `options.remote` | `string` |
|
|
1230
|
+
| `options.token` | `string` |
|
|
1231
|
+
| `options.sourceRevision` | `SourceRevision` |
|
|
1232
|
+
|
|
1233
|
+
#### Returns
|
|
1234
|
+
|
|
1235
|
+
[`SourceCapture`](#sourcecapture)
|
|
1236
|
+
|
|
1237
|
+
---
|
|
1238
|
+
|
|
1239
|
+
### createLocalCommitSourceCapture()
|
|
1240
|
+
|
|
1241
|
+
```ts
|
|
1242
|
+
function createLocalCommitSourceCapture(
|
|
1243
|
+
repositoryPath,
|
|
1244
|
+
sourceRevision,
|
|
1245
|
+
): SourceCapture;
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
Capture one explicit committed revision without manufacturing a branch.
|
|
1249
|
+
|
|
1250
|
+
#### Parameters
|
|
1251
|
+
|
|
1252
|
+
| Parameter | Type |
|
|
1253
|
+
| ---------------- | ---------------- |
|
|
1254
|
+
| `repositoryPath` | `string` |
|
|
1255
|
+
| `sourceRevision` | `SourceRevision` |
|
|
1256
|
+
|
|
1257
|
+
#### Returns
|
|
1258
|
+
|
|
1259
|
+
[`SourceCapture`](#sourcecapture)
|
|
1260
|
+
|
|
1261
|
+
---
|
|
1262
|
+
|
|
1263
|
+
### createFirstPartyAppSourceDistribution()
|
|
1264
|
+
|
|
1265
|
+
```ts
|
|
1266
|
+
function createFirstPartyAppSourceDistribution(options): Effect<
|
|
1267
|
+
Readonly<{
|
|
1268
|
+
appId: AppId;
|
|
1269
|
+
sourceRevision: SourceRevision;
|
|
1270
|
+
sourceTreeDigest: Sha256Digest;
|
|
1271
|
+
appDirectory: string;
|
|
1272
|
+
files: readonly Readonly<{
|
|
1273
|
+
path: string;
|
|
1274
|
+
contents: Uint8Array;
|
|
1275
|
+
}>[];
|
|
1276
|
+
}>,
|
|
1277
|
+
unknown
|
|
1278
|
+
>;
|
|
1279
|
+
```
|
|
1280
|
+
|
|
1281
|
+
Project one pinned first-party App and its pnpm workspace dependency graph
|
|
1282
|
+
without changing upstream files or manufacturing Git history. The caller records
|
|
1283
|
+
the returned provenance on the Artifacts template seed commit.
|
|
1284
|
+
|
|
1285
|
+
#### Parameters
|
|
1286
|
+
|
|
1287
|
+
| Parameter | Type |
|
|
1288
|
+
| ---------------- | ------------------------------------------------------------------------------------------ |
|
|
1289
|
+
| `options` | \{ `appId`: `string`; `source`: [`CapturedSource`](#capturedsource); `entry`: `string`; \} |
|
|
1290
|
+
| `options.appId` | `string` |
|
|
1291
|
+
| `options.source` | [`CapturedSource`](#capturedsource) |
|
|
1292
|
+
| `options.entry` | `string` |
|
|
1293
|
+
|
|
1294
|
+
#### Returns
|
|
1295
|
+
|
|
1296
|
+
`Effect`\<`Readonly`\<\{ `appId`: `AppId`; `sourceRevision`: `SourceRevision`;
|
|
1297
|
+
`sourceTreeDigest`: `Sha256Digest`; `appDirectory`: `string`; `files`: readonly
|
|
1298
|
+
`Readonly`\<\{ `path`: `string`; `contents`: `Uint8Array`; \}\>[]; \}\>,
|
|
1299
|
+
`unknown`\>
|
|
1300
|
+
|
|
1301
|
+
---
|
|
1302
|
+
|
|
1303
|
+
### localSnapshotBuildOptions()
|
|
1304
|
+
|
|
1305
|
+
```ts
|
|
1306
|
+
function localSnapshotBuildOptions(source, recipe, emission): BuildOptions;
|
|
1307
|
+
```
|
|
1308
|
+
|
|
1309
|
+
Exact pinned esbuild options shared by local builds and artifact-budget proofs.
|
|
1310
|
+
|
|
1311
|
+
#### Parameters
|
|
1312
|
+
|
|
1313
|
+
| Parameter | Type | Description |
|
|
1314
|
+
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
1315
|
+
| `source` | [`CapturedSource`](#capturedsource) | - |
|
|
1316
|
+
| `recipe` | \{ `kind?`: `"bundled-html"` \| `"source-html"`; `bundle`: `true`; `entry`: `string`; `format`: `"html"` \| `"assets"` \| `"esm"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `toolchain`: \{ \[`key`: `string`\]: `string`; \}; `maxOutputBytes`: `number`; `platform`: `"browser"` \| `"neutral"`; `backend`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `target`: readonly \[`"es2022"`\]; \} | - |
|
|
1317
|
+
| `recipe.kind?` | `"bundled-html"` \| `"source-html"` | - |
|
|
1318
|
+
| `recipe.bundle` | `true` | - |
|
|
1319
|
+
| `recipe.entry` | `string` | - |
|
|
1320
|
+
| `recipe.format` | `"html"` \| `"assets"` \| `"esm"` | - |
|
|
1321
|
+
| `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} | - |
|
|
1322
|
+
| `recipe.assets.maxManifestBytes` | `number` | - |
|
|
1323
|
+
| `recipe.assets.maxObjects` | `number` | - |
|
|
1324
|
+
| `recipe.assets.maxObjectBytes` | `number` | - |
|
|
1325
|
+
| `recipe.assets.maxTotalBytes` | `number` | - |
|
|
1326
|
+
| `recipe.assetBase?` | `string` | - |
|
|
1327
|
+
| `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} | - |
|
|
1328
|
+
| `recipe.maxOutputBytes` | `number` | - |
|
|
1329
|
+
| `recipe.platform` | `"browser"` \| `"neutral"` | - |
|
|
1330
|
+
| `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` | - |
|
|
1331
|
+
| `recipe.target` | readonly \[`"es2022"`\] | - |
|
|
1332
|
+
| `emission` | \{ `entryPoints`: (`entry`) => `Record`\<`string`, `string`\>; `outdir`: `string`; `plugins`: `Plugin`[]; `worker`: [`AppBackendOutput`](#appbackendoutput); `declare`: `Promise`\<`Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<\{ `description`: ...; `input`: ...; `output`: ...; `effect`: ...; `requires`: ...; `pending?`: ...; `hidden?`: ...; `anonymous?`: ...; \}\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: `string`; `list`: `string`; `call`: `string`; \}\>; `events?`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.toolPolicy"` \| `"agent.read"` \| `"agent.send"` \| `"computer.list"` \| `"computer.readFile"` \| `"computer.writeFile"` \| `"computer.execute"` \| `"llm.generation"` \| `"media.generation"` \| `"games:servers"` \| `"git.repository"` \| `"apps.open"` \| `"apps.call"` \| `"app.storage"` \| `"app.events.emit"` \| `"team.workbenchHost"` \| `"marketplace.browse"` \| `"marketplace.purchase"` \| `"workflow.run"` \| `"workflow.publish"` \| `"workflow.arm"` \| `"world"` \| `"channels.read"` \| `"channels.personal.manage"`)[]; `calls?`: readonly `Readonly`\<\{ `appId`: `string`; `methods`: readonly `string`[]; \}\>[]; `guidance?`: `string`; `handlers`: readonly `"file.open"`[]; `receives?`: readonly `"git.push"`[]; `icon?`: `string`; `roles`: readonly (`"dashboard"` \| `"inbox"` \| `"files"` \| `"media"` \| `"sessions"` \| `"terminal"`)[]; `storage?`: readonly `Readonly`\<\{ `key`: `string`; `scopes`: readonly (`"team"` \| `"member"`)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<\{ `bindings?`: ...; `agent?`: ...; `help?`: ...; `menu?`: ...; `palette?`: ...; `slash?`: ...; \}\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly `Readonly`\<...\>[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<\{ `sizes`: ...; \}\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ... \| ... \| ... \| ... \| ... \| ... \| ... \| ... \| ... \| ...; `operations`: readonly ...[]; \}\>[]; `sync?`: `Readonly`\<\{ `method`: `string`; \}\>; \}\>; \}\>\>; \} | - |
|
|
1333
|
+
| `emission.entryPoints` | (`entry`) => `Record`\<`string`, `string`\> | Entries for the one backend build: the Worker and, if defined, its declaration. |
|
|
1334
|
+
| `emission.outdir` | `string` | - |
|
|
1335
|
+
| `emission.plugins` | `Plugin`[] | - |
|
|
1336
|
+
| `emission.worker` | - |
|
|
1337
|
+
| `emission.declare` | - |
|
|
1338
|
+
|
|
1339
|
+
#### Returns
|
|
1340
|
+
|
|
1341
|
+
`BuildOptions`
|
|
1342
|
+
|
|
1343
|
+
---
|
|
1344
|
+
|
|
1345
|
+
### createLocalBuildExecutor()
|
|
1346
|
+
|
|
1347
|
+
```ts
|
|
1348
|
+
function createLocalBuildExecutor(options?): BuildExecutor;
|
|
1349
|
+
```
|
|
1350
|
+
|
|
1351
|
+
Local proving adapter; it builds only the captured extracted snapshot.
|
|
1352
|
+
|
|
1353
|
+
#### Parameters
|
|
1354
|
+
|
|
1355
|
+
| Parameter | Type |
|
|
1356
|
+
| --------- | ------------------------------------------------------- |
|
|
1357
|
+
| `options` | `Readonly`\<\{ `packageStoreDirectory?`: `string`; \}\> |
|
|
1358
|
+
|
|
1359
|
+
#### Returns
|
|
1360
|
+
|
|
1361
|
+
[`BuildExecutor`](#buildexecutor)
|
|
1362
|
+
|
|
1363
|
+
---
|
|
1364
|
+
|
|
1365
|
+
### createLocalArtifactWriter()
|
|
1366
|
+
|
|
1367
|
+
```ts
|
|
1368
|
+
function createLocalArtifactWriter(artifactRoot, assetPolicy?): ArtifactWriter;
|
|
1369
|
+
```
|
|
1370
|
+
|
|
1371
|
+
Local proving adapter; the configured root is private and write-once.
|
|
1372
|
+
|
|
1373
|
+
#### Parameters
|
|
1374
|
+
|
|
1375
|
+
| Parameter | Type |
|
|
1376
|
+
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
1377
|
+
| `artifactRoot` | `string` |
|
|
1378
|
+
| `assetPolicy?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
|
|
1379
|
+
| `assetPolicy.maxManifestBytes?` | `number` |
|
|
1380
|
+
| `assetPolicy.maxObjects?` | `number` |
|
|
1381
|
+
| `assetPolicy.maxObjectBytes?` | `number` |
|
|
1382
|
+
| `assetPolicy.maxTotalBytes?` | `number` |
|
|
1383
|
+
|
|
1384
|
+
#### Returns
|
|
1385
|
+
|
|
1386
|
+
[`ArtifactWriter`](#artifactwriter)
|
|
1387
|
+
|
|
1388
|
+
---
|
|
1389
|
+
|
|
1390
|
+
### createLocalAppPublisher()
|
|
1391
|
+
|
|
1392
|
+
```ts
|
|
1393
|
+
function createLocalAppPublisher(options): AppPublisher;
|
|
1394
|
+
```
|
|
1395
|
+
|
|
1396
|
+
Construct the complete local proving adapter around the provider-neutral core.
|
|
1397
|
+
|
|
1398
|
+
#### Parameters
|
|
1399
|
+
|
|
1400
|
+
| Parameter | Type |
|
|
1401
|
+
| --------- | ------------------------------------------------------- |
|
|
1402
|
+
| `options` | [`LocalAppPublisherOptions`](#localapppublisheroptions) |
|
|
1403
|
+
|
|
1404
|
+
#### Returns
|
|
1405
|
+
|
|
1406
|
+
[`AppPublisher`](#apppublisher)
|
|
1407
|
+
|
|
1408
|
+
---
|
|
1409
|
+
|
|
1410
|
+
### frozenSnapshotInstallArguments()
|
|
1411
|
+
|
|
1412
|
+
```ts
|
|
1413
|
+
function frozenSnapshotInstallArguments(packageStoreDirectory?): string[];
|
|
1414
|
+
```
|
|
1415
|
+
|
|
1416
|
+
Frozen hydration policy. Cached bytes are verified and copied into each
|
|
1417
|
+
snapshot.
|
|
1418
|
+
|
|
1419
|
+
#### Parameters
|
|
1420
|
+
|
|
1421
|
+
| Parameter | Type |
|
|
1422
|
+
| ------------------------ | -------- |
|
|
1423
|
+
| `packageStoreDirectory?` | `string` |
|
|
1424
|
+
|
|
1425
|
+
#### Returns
|
|
1426
|
+
|
|
1427
|
+
`string`[]
|
|
1428
|
+
|
|
1429
|
+
---
|
|
1430
|
+
|
|
1431
|
+
### resolveWorkspaceBuild()
|
|
1432
|
+
|
|
1433
|
+
```ts
|
|
1434
|
+
function resolveWorkspaceBuild(options): Promise<
|
|
1435
|
+
Readonly<{
|
|
1436
|
+
directory: string;
|
|
1437
|
+
packageName: string;
|
|
1438
|
+
react: boolean;
|
|
1439
|
+
shellEntry?: string;
|
|
1440
|
+
dependencies: readonly string[];
|
|
1441
|
+
steps: readonly (
|
|
1442
|
+
| {
|
|
1443
|
+
kind: "typescript";
|
|
1444
|
+
config: string;
|
|
1445
|
+
}
|
|
1446
|
+
| {
|
|
1447
|
+
kind: "tailwind";
|
|
1448
|
+
input: string;
|
|
1449
|
+
output: string;
|
|
1450
|
+
}
|
|
1451
|
+
)[];
|
|
1452
|
+
}>
|
|
1453
|
+
>;
|
|
1454
|
+
```
|
|
1455
|
+
|
|
1456
|
+
Derive one App's page build from the captured source alone: the manifest nearest
|
|
1457
|
+
`entry` declares the App policy, the owning pnpm workspace's runtime
|
|
1458
|
+
`workspace:` dependencies give the compile order, and each dependency's manifest
|
|
1459
|
+
declares its own extra build products.
|
|
1460
|
+
|
|
1461
|
+
#### Parameters
|
|
1462
|
+
|
|
1463
|
+
| Parameter | Type | Description |
|
|
1464
|
+
| ------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
1465
|
+
| `options` | \{ `root`: `string`; `entry`: `string`; `projects`: `string`; \} | - |
|
|
1466
|
+
| `options.root` | `string` | - |
|
|
1467
|
+
| `options.entry` | `string` | - |
|
|
1468
|
+
| `options.projects` | `string` | `pnpm ls -r --depth -1 --json` output for the same source tree. |
|
|
1469
|
+
|
|
1470
|
+
#### Returns
|
|
1471
|
+
|
|
1472
|
+
`Promise`\<`Readonly`\<\{ `directory`: `string`; `packageName`: `string`;
|
|
1473
|
+
`react`: `boolean`; `shellEntry?`: `string`; `dependencies`: readonly
|
|
1474
|
+
`string`[]; `steps`: readonly ( \| \{ `kind`: `"typescript"`; `config`:
|
|
1475
|
+
`string`; \} \| \{ `kind`: `"tailwind"`; `input`: `string`; `output`: `string`;
|
|
1476
|
+
\})[]; \}\>\>
|