@fungi.computer/oyster 0.1.0 → 0.3.0

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 (292) hide show
  1. package/README.md +376 -72
  2. package/dist/agent-avatars.d.ts +103 -0
  3. package/dist/agent-avatars.js +66 -0
  4. package/dist/agents.d.ts +15 -4
  5. package/dist/agents.js +43 -4
  6. package/dist/app-builds.d.ts +81 -8
  7. package/dist/app-builds.js +210 -60
  8. package/dist/app-storage.d.ts +3 -3
  9. package/dist/approval-capability.d.ts +5 -0
  10. package/dist/approval-capability.js +46 -0
  11. package/dist/approval-home.d.ts +51 -0
  12. package/dist/approval-home.js +226 -0
  13. package/dist/apps/catalog.d.ts +335 -0
  14. package/dist/apps/catalog.js +46 -0
  15. package/dist/apps/gate.d.ts +26 -12
  16. package/dist/apps/gate.js +48 -22
  17. package/dist/apps/index.d.ts +3 -1
  18. package/dist/apps/index.js +3 -1
  19. package/dist/apps/installation.d.ts +147 -66
  20. package/dist/apps/installation.js +193 -86
  21. package/dist/apps/permissions.d.ts +247 -0
  22. package/dist/apps/permissions.js +255 -0
  23. package/dist/boot-capability-route.d.ts +15 -0
  24. package/dist/boot-capability-route.js +196 -0
  25. package/dist/boot-capability.d.ts +103 -0
  26. package/dist/boot-capability.js +141 -0
  27. package/dist/boot-construction.d.ts +12 -0
  28. package/dist/boot-construction.js +175 -0
  29. package/dist/boot-gate.d.ts +267 -0
  30. package/dist/boot-gate.js +236 -0
  31. package/dist/boot-host-script.d.ts +2 -0
  32. package/dist/boot-host-script.js +1 -0
  33. package/dist/boot-mount.d.ts +21 -0
  34. package/dist/boot-mount.js +65 -0
  35. package/dist/browser/boot.d.ts +73 -0
  36. package/dist/browser/boot.js +502 -0
  37. package/dist/browser/browser.d.ts +104 -0
  38. package/dist/browser/browser.js +374 -0
  39. package/dist/browser/capability-source.d.ts +76 -0
  40. package/dist/browser/capability-source.js +338 -0
  41. package/dist/browser/cdp-client.d.ts +56 -0
  42. package/dist/browser/cdp-client.js +184 -0
  43. package/dist/browser/errors.d.ts +79 -0
  44. package/dist/browser/errors.js +32 -0
  45. package/dist/browser/index.d.ts +16 -0
  46. package/dist/browser/index.js +14 -0
  47. package/dist/browser/lease-registry.d.ts +61 -0
  48. package/dist/browser/lease-registry.js +101 -0
  49. package/dist/browser/operations.d.ts +225 -0
  50. package/dist/browser/operations.js +137 -0
  51. package/dist/browser/page.d.ts +25 -0
  52. package/dist/browser/page.js +172 -0
  53. package/dist/browser/quick-reads.d.ts +29 -0
  54. package/dist/browser/quick-reads.js +160 -0
  55. package/dist/browser/sessions.d.ts +52 -0
  56. package/dist/browser/sessions.js +118 -0
  57. package/dist/browser/url-policy.d.ts +18 -0
  58. package/dist/browser/url-policy.js +58 -0
  59. package/dist/build/app-imports.d.ts +12 -0
  60. package/dist/build/app-imports.js +105 -0
  61. package/dist/build/build-policy.d.ts +5 -3
  62. package/dist/build/build-policy.js +5 -3
  63. package/dist/build/candidate-builder.d.ts +1 -1
  64. package/dist/build/candidate-cli.mjs +8428 -337
  65. package/dist/build/local-build.d.ts +2 -0
  66. package/dist/build/local-build.js +28 -6
  67. package/dist/build/snapshot-package-store.d.ts +1 -1
  68. package/dist/build/snapshot-package-store.js +7 -2
  69. package/dist/build/workspace-build.d.ts +92 -5
  70. package/dist/build/workspace-build.js +93 -19
  71. package/dist/build-egress.js +4 -4
  72. package/dist/build.d.ts +1 -1
  73. package/dist/build.js +1 -1
  74. package/dist/catalog-frame.js +1 -1
  75. package/dist/cloudflare.d.ts +13 -3
  76. package/dist/cloudflare.js +106 -8
  77. package/dist/frame-binding-wire-script.js +1 -1
  78. package/dist/frame-binding-wire.d.ts +1 -1
  79. package/dist/frame-binding-wire.js +5 -3
  80. package/dist/git-auth.d.ts +0 -2
  81. package/dist/git-auth.js +0 -2
  82. package/dist/git-journal.js +4 -4
  83. package/dist/git.d.ts +0 -1
  84. package/dist/git.js +0 -2
  85. package/dist/host.d.ts +39 -13
  86. package/dist/host.js +268 -142
  87. package/dist/index.d.ts +26 -15
  88. package/dist/index.js +40 -16
  89. package/dist/install-release-cli.d.ts +2 -0
  90. package/dist/install-release-cli.js +46 -0
  91. package/dist/installation-client.d.ts +43 -0
  92. package/dist/installation-client.js +178 -0
  93. package/dist/installation-execution.d.ts +11 -0
  94. package/dist/installation-execution.js +184 -0
  95. package/dist/installation-operations.d.ts +1437 -0
  96. package/dist/installation-operations.js +664 -0
  97. package/dist/installation-store-generation.d.ts +3 -0
  98. package/dist/installation-store-generation.js +16 -0
  99. package/dist/instance-id.d.ts +10 -0
  100. package/dist/instance-id.js +10 -0
  101. package/dist/instance-refusal.d.ts +11 -0
  102. package/dist/instance-refusal.js +21 -0
  103. package/dist/internal/delivery.js +4 -2
  104. package/dist/internal/host-gate.js +7 -1
  105. package/dist/internal/registry-installations.js +4 -4
  106. package/dist/keys.d.ts +5 -1
  107. package/dist/keys.js +10 -2
  108. package/dist/machine-link/authority.d.ts +89 -0
  109. package/dist/machine-link/authority.js +37 -0
  110. package/dist/machine-link/client.d.ts +66 -0
  111. package/dist/machine-link/client.js +94 -0
  112. package/dist/machine-link/delivery.d.ts +18 -0
  113. package/dist/machine-link/delivery.js +55 -0
  114. package/dist/machine-link/enrollment.d.ts +111 -0
  115. package/dist/machine-link/enrollment.js +286 -0
  116. package/dist/machine-link/fences.d.ts +37 -0
  117. package/dist/machine-link/fences.js +166 -0
  118. package/dist/machine-link/home.d.ts +20 -0
  119. package/dist/machine-link/home.js +24 -0
  120. package/dist/machine-link/host.d.ts +43 -0
  121. package/dist/machine-link/host.js +189 -0
  122. package/dist/machine-link/index.d.ts +15 -0
  123. package/dist/machine-link/index.js +15 -0
  124. package/dist/machine-link/link.d.ts +48 -0
  125. package/dist/machine-link/link.js +223 -0
  126. package/dist/machine-link/presence.d.ts +10 -0
  127. package/dist/machine-link/presence.js +25 -0
  128. package/dist/machine-link/workers.d.ts +6 -0
  129. package/dist/machine-link/workers.js +6 -0
  130. package/dist/mcp-owner.d.ts +2 -2
  131. package/dist/mcp-owner.js +41 -33
  132. package/dist/mcp.d.ts +15 -3
  133. package/dist/mcp.js +146 -25
  134. package/dist/pack.d.ts +14 -3
  135. package/dist/pack.js +44 -19
  136. package/dist/page/app-access.d.ts +7 -0
  137. package/dist/page/app-access.js +75 -0
  138. package/dist/page/boot-host.js +57 -0
  139. package/dist/page/capabilities.d.ts +3 -3
  140. package/dist/page/capabilities.js +16 -12
  141. package/dist/page/computer-handles.d.ts +3 -3
  142. package/dist/page/computer-target.d.ts +3 -0
  143. package/dist/page/computer-target.js +9 -0
  144. package/dist/page/mount.d.ts +23 -7
  145. package/dist/page/mount.js +152 -16
  146. package/dist/page-assets.d.ts +22 -0
  147. package/dist/page-assets.js +28 -0
  148. package/dist/page-script.d.ts +3 -0
  149. package/dist/page-script.js +5 -4
  150. package/dist/release.d.ts +13 -6
  151. package/dist/release.js +10 -7
  152. package/dist/root-data.d.ts +16 -6
  153. package/dist/root-data.js +2 -2
  154. package/dist/source/index.d.ts +1 -1
  155. package/dist/source/team-source.d.ts +20 -8
  156. package/dist/source/team-source.js +39 -10
  157. package/dist/source/template-seed.d.ts +2 -2
  158. package/dist/standalone/agent-mail.d.ts +24 -0
  159. package/dist/standalone/agent-mail.js +62 -0
  160. package/dist/standalone/agent-store.d.ts +9 -0
  161. package/dist/standalone/agent-store.js +30 -0
  162. package/dist/standalone/agents.d.ts +78 -12
  163. package/dist/standalone/agents.js +470 -59
  164. package/dist/standalone/app-builds-binding.d.ts +20 -2
  165. package/dist/standalone/app-builds-binding.js +151 -27
  166. package/dist/standalone/app-set.d.ts +5 -2
  167. package/dist/standalone/app-set.js +174 -143
  168. package/dist/standalone/browser.d.ts +11 -0
  169. package/dist/standalone/browser.js +72 -0
  170. package/dist/standalone/builds.d.ts +13 -4
  171. package/dist/standalone/builds.js +28 -44
  172. package/dist/standalone/computer-egress.d.ts +2 -0
  173. package/dist/standalone/computer-egress.js +13 -4
  174. package/dist/standalone/computer-fleet.d.ts +43 -0
  175. package/dist/standalone/computer-fleet.js +200 -0
  176. package/dist/standalone/computer.d.ts +44 -9
  177. package/dist/standalone/computer.js +132 -25
  178. package/dist/standalone/install-apps-cli.js +43 -6
  179. package/dist/standalone/instance.d.ts +2 -2
  180. package/dist/standalone/instance.js +8 -11
  181. package/dist/standalone/machine-link.d.ts +354 -0
  182. package/dist/standalone/machine-link.js +368 -0
  183. package/dist/standalone/media.d.ts +2 -2
  184. package/dist/standalone/media.js +19 -16
  185. package/dist/standalone/preview.d.ts +2 -2
  186. package/dist/standalone/preview.js +39 -12
  187. package/dist/standalone/registry.d.ts +149 -9
  188. package/dist/standalone/registry.js +299 -8
  189. package/dist/standalone/worker.d.ts +19 -5
  190. package/dist/standalone/worker.js +90 -54
  191. package/dist/standalone/workflow-binding.d.ts +28 -32
  192. package/dist/standalone/workflow-binding.js +20 -20
  193. package/dist/standalone/workflow-control.d.ts +4 -0
  194. package/dist/standalone/workflow-control.js +40 -0
  195. package/dist/standalone/workflow-events.d.ts +2 -2
  196. package/dist/standalone/workflow-events.js +9 -10
  197. package/dist/standalone/workflow-git-capture.js +4 -3
  198. package/dist/standalone/workflow-host.d.ts +177 -152
  199. package/dist/standalone/workflow-host.js +137 -30
  200. package/dist/standalone/workflow-node-capture.js +11 -4
  201. package/dist/standalone/workflow-schedules.d.ts +5 -2
  202. package/dist/standalone/workflow-schedules.js +9 -10
  203. package/dist/standalone/workflow-trigger-host.d.ts +88 -6
  204. package/dist/standalone/workflow-trigger-host.js +2 -2
  205. package/dist/standalone/workflow-webhooks.d.ts +22 -0
  206. package/dist/standalone/workflow-webhooks.js +39 -0
  207. package/dist/standalone/workflows.d.ts +203 -50
  208. package/dist/standalone/workflows.js +198 -39
  209. package/dist/storage-frame.d.ts +6 -6
  210. package/dist/testing/capabilities.js +14 -3
  211. package/dist/testing/installation.js +26 -2
  212. package/dist/testing/worker.js +1 -1
  213. package/dist/testing/workers-runtime.d.ts +8 -2
  214. package/dist/testing/workers-runtime.js +20 -2
  215. package/dist/webhook-abuse.d.ts +25 -0
  216. package/dist/webhook-abuse.js +54 -0
  217. package/dist/webhook-custody.d.ts +144 -0
  218. package/dist/webhook-custody.js +222 -0
  219. package/dist/webhook-ingress.d.ts +36 -0
  220. package/dist/webhook-ingress.js +146 -0
  221. package/dist/webhooks.d.ts +111 -0
  222. package/dist/webhooks.js +189 -0
  223. package/dist/workers-git.d.ts +12 -17
  224. package/dist/workers-git.js +60 -55
  225. package/dist/workers.d.ts +224 -13
  226. package/dist/workers.js +351 -51
  227. package/dist/workflow-agent-authority.d.ts +8 -0
  228. package/dist/workflow-agent-authority.js +42 -0
  229. package/dist/workflows.d.ts +66 -0
  230. package/dist/workflows.js +97 -0
  231. package/docs/api/README.md +63 -37
  232. package/docs/api/agents.md +17 -0
  233. package/docs/api/app-storage.md +1 -1
  234. package/docs/api/apps.md +1394 -543
  235. package/docs/api/browser/boot.md +132 -0
  236. package/docs/api/browser.md +1440 -0
  237. package/docs/api/build-contract.md +38 -25
  238. package/docs/api/build.md +263 -84
  239. package/docs/api/cloudflare.md +93 -7
  240. package/docs/api/git.md +3 -13
  241. package/docs/api/host.md +944 -118
  242. package/docs/api/index.md +320 -18
  243. package/docs/api/keys.md +24 -1
  244. package/docs/api/mcp.md +59 -12
  245. package/docs/api/modules.md +33 -40
  246. package/docs/api/pack.md +57 -8
  247. package/docs/api/page/mount.md +92 -4
  248. package/docs/api/workers-git.md +103 -24
  249. package/docs/api/workers.md +1581 -244
  250. package/docs/site/agent-quickstart.mdx +28 -14
  251. package/examples/standalone/worker.ts +3 -1
  252. package/examples/standalone/wrangler.jsonc +2 -0
  253. package/package.json +73 -69
  254. package/dist/installation-consent.d.ts +0 -79
  255. package/dist/installation-consent.js +0 -82
  256. package/dist/shell/app-directory.d.ts +0 -542
  257. package/dist/shell/app-directory.js +0 -199
  258. package/dist/shell/browser-actions.d.ts +0 -7
  259. package/dist/shell/browser-actions.js +0 -56
  260. package/dist/shell/command-host.d.ts +0 -112
  261. package/dist/shell/command-host.js +0 -502
  262. package/dist/shell/commands.d.ts +0 -25
  263. package/dist/shell/commands.js +0 -78
  264. package/dist/shell/index.d.ts +0 -8
  265. package/dist/shell/index.js +0 -8
  266. package/dist/shell/keys.d.ts +0 -41
  267. package/dist/shell/keys.js +0 -134
  268. package/dist/shell/shell-module.d.ts +0 -55
  269. package/dist/shell/shell-module.js +0 -86
  270. package/dist/shell/window-manager.d.ts +0 -124
  271. package/dist/shell/window-manager.js +0 -711
  272. package/dist/shell/workbench-contract.d.ts +0 -68
  273. package/dist/shell/workbench-directory.d.ts +0 -332
  274. package/dist/shell/workbench-directory.js +0 -35
  275. package/dist/shell/workbench-host-types.d.ts +0 -96
  276. package/dist/shell/workbench-host-types.js +0 -1
  277. package/dist/shell/workbench-host.d.ts +0 -34
  278. package/dist/shell/workbench-host.js +0 -347
  279. package/dist/shell/workbench-model.d.ts +0 -192
  280. package/dist/shell/workbench-model.js +0 -53
  281. package/dist/shell/workbench.d.ts +0 -4
  282. package/dist/shell/workbench.js +0 -2
  283. package/docs/api/shell/app-directory.md +0 -599
  284. package/docs/api/shell/command-host.md +0 -224
  285. package/docs/api/shell/commands.md +0 -197
  286. package/docs/api/shell/keys.md +0 -183
  287. package/docs/api/shell/shell-module.md +0 -204
  288. package/docs/api/shell/window-manager.md +0 -267
  289. package/docs/api/shell/workbench-directory.md +0 -119
  290. package/docs/api/shell/workbench.md +0 -205
  291. package/docs/api/shell.md +0 -1915
  292. /package/dist/{shell/workbench-contract.js → page/boot-host.d.ts} +0 -0
package/docs/api/build.md CHANGED
@@ -57,6 +57,67 @@ readonly _tag: "AppPublisherError";
57
57
  readonly stage: AppPublisherStage;
58
58
  ```
59
59
 
60
+ ---
61
+
62
+ ### WorkspaceBuildError
63
+
64
+ A nested package must own its build graph, never inherit its host's.
65
+
66
+ #### Extends
67
+
68
+ - `Error`
69
+
70
+ #### Constructors
71
+
72
+ ##### Constructor
73
+
74
+ ```ts
75
+ new WorkspaceBuildError(directory, ownerDirectory): WorkspaceBuildError;
76
+ ```
77
+
78
+ ###### Parameters
79
+
80
+ | Parameter | Type | Description |
81
+ | ---------------- | -------- | -------------------------------------------------------------- |
82
+ | `directory` | `string` | The nearer package, relative to the captured source root. |
83
+ | `ownerDirectory` | `string` | The workspace whose dependencies would otherwise be inherited. |
84
+
85
+ ###### Returns
86
+
87
+ [`WorkspaceBuildError`](#workspacebuilderror)
88
+
89
+ ###### Overrides
90
+
91
+ ```ts
92
+ Error.constructor;
93
+ ```
94
+
95
+ #### Properties
96
+
97
+ ##### code
98
+
99
+ ```ts
100
+ readonly code: "non_workspace_package" = "non_workspace_package";
101
+ ```
102
+
103
+ The nearest package is absent from pnpm's workspace inventory.
104
+
105
+ ##### directory
106
+
107
+ ```ts
108
+ readonly directory: string;
109
+ ```
110
+
111
+ The nearer package, relative to the captured source root.
112
+
113
+ ##### ownerDirectory
114
+
115
+ ```ts
116
+ readonly ownerDirectory: string;
117
+ ```
118
+
119
+ The workspace whose dependencies would otherwise be inherited.
120
+
60
121
  ## Type Aliases
61
122
 
62
123
  ### ImmutableArtifactObjects
@@ -516,6 +577,7 @@ A first-party editable source tree ready to seed into an Artifacts template.
516
577
  ```ts
517
578
  type LocalBuildExecutorOptions = Readonly<{
518
579
  packageStoreDirectory?: string;
580
+ packageCacheDirectory?: string;
519
581
  packageScripts?: "run";
520
582
  onPhase?: (phase, milliseconds) => void;
521
583
  }>;
@@ -550,6 +612,16 @@ The build policy one manifest declares.
550
612
 
551
613
  ---
552
614
 
615
+ ### BuildManifest
616
+
617
+ ```ts
618
+ type BuildManifest = ReturnType<typeof readBuildManifest>;
619
+ ```
620
+
621
+ Manifest metadata with the App-owned build policy decoded.
622
+
623
+ ---
624
+
553
625
  ### WorkspaceBuild
554
626
 
555
627
  ```ts
@@ -759,6 +831,34 @@ ceilings cannot be raised by a publication request.
759
831
 
760
832
  ```ts
761
833
  const workspaceBuildPolicySchema: Struct<{
834
+ kind: optional<Literals<readonly ["bundled-html", "source-html"]>>;
835
+ assets: optional<
836
+ Struct<{
837
+ maxManifestBytes: Number;
838
+ maxObjects: Number;
839
+ maxObjectBytes: Number;
840
+ maxTotalBytes: Number;
841
+ }>
842
+ >;
843
+ assetBase: optionalKey<String>;
844
+ entry: optional<String>;
845
+ backend: optional<
846
+ Union<
847
+ readonly [
848
+ Null,
849
+ Struct<{
850
+ entry: optional<String>;
851
+ runtime: Struct<{
852
+ kind: Literal<"durable-facet">;
853
+ stateSchema: Number;
854
+ }>;
855
+ compatibilityDate: String;
856
+ exportName: String;
857
+ }>,
858
+ ]
859
+ >
860
+ >;
861
+ maxOutputBytes: optional<Number>;
762
862
  react: optional<Boolean>;
763
863
  shellEntry: optional<String>;
764
864
  packageStylesheets: optional<$Array<String>>;
@@ -775,15 +875,16 @@ const workspaceBuildPolicySchema: Struct<{
775
875
  ```
776
876
 
777
877
  `package.json#fungi.build`. An App manifest (the manifest nearest the entry)
778
- declares how its page builds: `react`, `shellEntry`, the workspace packages
779
- whose declared stylesheets compile first (`packageStylesheets`) and its own
780
- `stylesheets`, compiled in place, in order. A workspace package declares its
878
+ declares its recipe beside the page policy: `react`, `shellEntry`, the workspace
879
+ packages whose declared stylesheets compile first (`packageStylesheets`) and its
880
+ own `stylesheets`, compiled in place, in order. A workspace package declares its
781
881
  build products: extra TypeScript configs compiled after its
782
882
  `tsconfig.build.json`, and its stylesheet input and output; or, instead of
783
883
  TypeScript configs, the one `package.json` script that builds it (`script`),
784
884
  which only an admitted Computer build runs. Every path is relative to the
785
- manifest that declares it. Unknown build fields are refused, so a builder never
786
- silently ignores a policy it does not know.
885
+ manifest that declares it. Dependency-only metadata needs no App recipe; App
886
+ callers require one through appBuildRecipe. Unknown fields are refused, so a
887
+ builder never silently ignores a policy it does not know.
787
888
 
788
889
  ---
789
890
 
@@ -838,11 +939,11 @@ names are already stored, and checked, by the caller.
838
939
 
839
940
  #### Parameters
840
941
 
841
- | Parameter | Type |
842
- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
843
- | `manifest` | \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"ui"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"backend"`; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"app"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} |
844
- | `objects` | [`ImmutableArtifactObjects`](#immutableartifactobjects) |
845
- | `options` | `Readonly`\<\{ `rootArtifactRef`: `ArtifactRef`; `assetPolicy`: `AssetBuildPolicy` \| `undefined`; \}\> |
942
+ | Parameter | Type |
943
+ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
944
+ | `manifest` | \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"ui"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"backend"`; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"app"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} |
945
+ | `objects` | [`ImmutableArtifactObjects`](#immutableartifactobjects) |
946
+ | `options` | `Readonly`\<\{ `rootArtifactRef`: `ArtifactRef`; `assetPolicy`: `AssetBuildPolicy` \| `undefined`; \}\> |
846
947
 
847
948
  #### Returns
848
949
 
@@ -918,9 +1019,11 @@ function createDefinitionEmission(source, recipe): Promise<{
918
1019
  }>;
919
1020
  displayName?: string;
920
1021
  capabilities: readonly (
1022
+ | "approvals"
921
1023
  | "agent.list"
922
1024
  | "agent.manage"
923
1025
  | "agent.rename"
1026
+ | "agent.avatar"
924
1027
  | "agent.toolPolicy"
925
1028
  | "agent.read"
926
1029
  | "agent.send"
@@ -1028,28 +1131,29 @@ runtime.
1028
1131
  `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`,
1029
1132
  `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...;
1030
1133
  `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>;
1031
- `displayName?`: `string`; `capabilities`: readonly ( \| `"agent.list"` \|
1032
- `"agent.manage"` \| `"agent.rename"` \| `"agent.toolPolicy"` \| `"agent.read"`
1033
- \| `"agent.send"` \| `"computer.list"` \| `"computer.readFile"` \|
1034
- `"computer.writeFile"` \| `"computer.execute"` \| `"llm.generation"` \|
1035
- `"media.generation"` \| `"games:servers"` \| `"git.repository"` \| `"apps.open"`
1036
- \| `"apps.call"` \| `"app.storage"` \| `"app.events.emit"` \|
1037
- `"team.workbenchHost"` \| `"marketplace.browse"` \| `"marketplace.purchase"` \|
1038
- `"workflow.run"` \| `"workflow.publish"` \| `"workflow.arm"` \| `"world"` \|
1039
- `"channels.read"` \| `"channels.personal.manage"`)[]; `calls?`: readonly
1040
- `Readonly`\<\{ `appId`: `string`; `methods`: readonly `string`[]; \}\>[];
1041
- `guidance?`: `string`; `handlers`: readonly `"file.open"`[]; `receives?`:
1042
- readonly `"git.push"`[]; `icon?`: `string`; `roles`: readonly (`"dashboard"` \|
1043
- `"inbox"` \| `"files"` \| `"media"` \| `"sessions"` \| `"terminal"`)[];
1044
- `storage?`: readonly `Readonly`\<\{ `key`: `string`; `scopes`: readonly (... \|
1045
- ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`:
1046
- `string`; `title`: `string`; `category`: `string`; `description?`: `string`;
1047
- `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`:
1048
- readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`;
1049
- `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`:
1050
- `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly
1051
- `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{
1052
- `method`: ...; \}\>; \}\>; \}\>\>; \}\>
1134
+ `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \|
1135
+ `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \|
1136
+ `"agent.toolPolicy"` \| `"agent.read"` \| `"agent.send"` \| `"computer.list"` \|
1137
+ `"computer.readFile"` \| `"computer.writeFile"` \| `"computer.execute"` \|
1138
+ `"llm.generation"` \| `"media.generation"` \| `"games:servers"` \|
1139
+ `"git.repository"` \| `"apps.open"` \| `"apps.call"` \| `"app.storage"` \|
1140
+ `"app.events.emit"` \| `"team.workbenchHost"` \| `"marketplace.browse"` \|
1141
+ `"marketplace.purchase"` \| `"workflow.run"` \| `"workflow.publish"` \|
1142
+ `"workflow.arm"` \| `"world"` \| `"channels.read"` \|
1143
+ `"channels.personal.manage"`)[]; `calls?`: readonly `Readonly`\<\{ `appId`:
1144
+ `string`; `methods`: readonly `string`[]; \}\>[]; `guidance?`: `string`;
1145
+ `handlers`: readonly `"file.open"`[]; `receives?`: readonly `"git.push"`[];
1146
+ `icon?`: `string`; `roles`: readonly (`"dashboard"` \| `"inbox"` \| `"files"` \|
1147
+ `"media"` \| `"sessions"` \| `"terminal"`)[]; `storage?`: readonly
1148
+ `Readonly`\<\{ `key`: `string`; `scopes`: readonly (... \| ...)[]; `maxBytes`:
1149
+ `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`:
1150
+ `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`;
1151
+ `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{
1152
+ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly
1153
+ ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[];
1154
+ `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...;
1155
+ `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>;
1156
+ \}\>\>; \}\>
1053
1157
 
1054
1158
  ---
1055
1159
 
@@ -1209,25 +1313,25 @@ applies here. Asset sizes stay the artifact writer's policy.
1209
1313
 
1210
1314
  #### Parameters
1211
1315
 
1212
- | Parameter | Type |
1213
- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1214
- | `output` | \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"ui"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"backend"`; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"app"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} |
1215
- | `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"`\]; \} |
1216
- | `recipe.kind?` | `"bundled-html"` \| `"source-html"` |
1217
- | `recipe.bundle` | `true` |
1218
- | `recipe.entry` | `string` |
1219
- | `recipe.format` | `"html"` \| `"assets"` \| `"esm"` |
1220
- | `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
1221
- | `recipe.assets.maxManifestBytes` | `number` |
1222
- | `recipe.assets.maxObjects` | `number` |
1223
- | `recipe.assets.maxObjectBytes` | `number` |
1224
- | `recipe.assets.maxTotalBytes` | `number` |
1225
- | `recipe.assetBase?` | `string` |
1226
- | `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} |
1227
- | `recipe.maxOutputBytes` | `number` |
1228
- | `recipe.platform` | `"browser"` \| `"neutral"` |
1229
- | `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
1230
- | `recipe.target` | readonly \[`"es2022"`\] |
1316
+ | Parameter | Type |
1317
+ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1318
+ | `output` | \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"ui"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"backend"`; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} \| \{ `declaration?`: `Readonly`\<\{ `api?`: `Readonly`\<\{ `methods`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: ...; `list`: ...; `call`: ...; \}\>; `events?`: `Readonly`\<`Record`\<..., ...\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (... \| ...)[]; `maxBytes`: `number`; \}\>[]; `commands?`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<...\>; \}\>[]; `gills?`: readonly `Readonly`\<\{ `id`: `string`; `source`: `string`; `title`: `string`; `params?`: readonly ...[]; `watch?`: `AppGillWatch`; `desktop?`: `Readonly`\<...\>; \}\>[]; `backend?`: `Readonly`\<\{ `bindings`: readonly `Readonly`\<\{ `name`: ...; `operations`: ...; \}\>[]; `sync?`: `Readonly`\<\{ `method`: ...; \}\>; \}\>; \}\>; `kind`: `"app"`; `ui`: \| \{ `mediaType`: `"text/html; charset=utf-8"`; `content`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; `kind`: `"html"`; \}; \} \| \{ `mediaType`: `"application/vnd.fungi.app-assets+json"`; `content`: \{ `kind`: `"assets"`; `base`: `string`; `assets`: readonly `object`[]; \}; \}; `backend`: \{ `digest`: `Sha256Digest`; `byteLength`: `number`; \}; \} |
1319
+ | `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"`\]; \} |
1320
+ | `recipe.kind?` | `"bundled-html"` \| `"source-html"` |
1321
+ | `recipe.bundle` | `true` |
1322
+ | `recipe.entry` | `string` |
1323
+ | `recipe.format` | `"html"` \| `"assets"` \| `"esm"` |
1324
+ | `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} |
1325
+ | `recipe.assets.maxManifestBytes` | `number` |
1326
+ | `recipe.assets.maxObjects` | `number` |
1327
+ | `recipe.assets.maxObjectBytes` | `number` |
1328
+ | `recipe.assets.maxTotalBytes` | `number` |
1329
+ | `recipe.assetBase?` | `string` |
1330
+ | `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} |
1331
+ | `recipe.maxOutputBytes` | `number` |
1332
+ | `recipe.platform` | `"browser"` \| `"neutral"` |
1333
+ | `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` |
1334
+ | `recipe.target` | readonly \[`"es2022"`\] |
1231
1335
 
1232
1336
  #### Returns
1233
1337
 
@@ -1540,31 +1644,31 @@ Exact pinned esbuild options shared by local builds and artifact-budget proofs.
1540
1644
 
1541
1645
  #### Parameters
1542
1646
 
1543
- | Parameter | Type | Description |
1544
- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
1545
- | `source` | [`CapturedSource`](#capturedsource) | - |
1546
- | `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"`\]; \} | - |
1547
- | `recipe.kind?` | `"bundled-html"` \| `"source-html"` | - |
1548
- | `recipe.bundle` | `true` | - |
1549
- | `recipe.entry` | `string` | - |
1550
- | `recipe.format` | `"html"` \| `"assets"` \| `"esm"` | - |
1551
- | `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} | - |
1552
- | `recipe.assets.maxManifestBytes` | `number` | - |
1553
- | `recipe.assets.maxObjects` | `number` | - |
1554
- | `recipe.assets.maxObjectBytes` | `number` | - |
1555
- | `recipe.assets.maxTotalBytes` | `number` | - |
1556
- | `recipe.assetBase?` | `string` | - |
1557
- | `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} | - |
1558
- | `recipe.maxOutputBytes` | `number` | - |
1559
- | `recipe.platform` | `"browser"` \| `"neutral"` | - |
1560
- | `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` | - |
1561
- | `recipe.target` | readonly \[`"es2022"`\] | - |
1562
- | `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`; \}\>; \}\>; \}\>\>; \} | - |
1563
- | `emission.entryPoints` | (`entry`) => `Record`\<`string`, `string`\> | Entries for the one backend build: the Worker and, if defined, its declaration. |
1564
- | `emission.outdir` | `string` | - |
1565
- | `emission.plugins` | `Plugin`[] | - |
1566
- | `emission.worker` | - |
1567
- | `emission.declare` | - |
1647
+ | Parameter | Type | Description |
1648
+ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
1649
+ | `source` | [`CapturedSource`](#capturedsource) | - |
1650
+ | `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"`\]; \} | - |
1651
+ | `recipe.kind?` | `"bundled-html"` \| `"source-html"` | - |
1652
+ | `recipe.bundle` | `true` | - |
1653
+ | `recipe.entry` | `string` | - |
1654
+ | `recipe.format` | `"html"` \| `"assets"` \| `"esm"` | - |
1655
+ | `recipe.assets?` | \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \} | - |
1656
+ | `recipe.assets.maxManifestBytes` | `number` | - |
1657
+ | `recipe.assets.maxObjects` | `number` | - |
1658
+ | `recipe.assets.maxObjectBytes` | `number` | - |
1659
+ | `recipe.assets.maxTotalBytes` | `number` | - |
1660
+ | `recipe.assetBase?` | `string` | - |
1661
+ | `recipe.toolchain` | \{ \[`key`: `string`\]: `string`; \} | - |
1662
+ | `recipe.maxOutputBytes` | `number` | - |
1663
+ | `recipe.platform` | `"browser"` \| `"neutral"` | - |
1664
+ | `recipe.backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` | - |
1665
+ | `recipe.target` | readonly \[`"es2022"`\] | - |
1666
+ | `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?`: ...; `present?`: ...; \}\>\>\>; `toolFamily?`: `Readonly`\<\{ `name`: `string`; `list`: `string`; `call`: `string`; \}\>; `events?`: `Readonly`\<`Record`\<`string`, `Readonly`\<...\>\>\>; \}\>; `displayName?`: `string`; `capabilities`: readonly ( \| `"approvals"` \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.avatar"` \| `"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 (`"member"` \| `"team"`)[]; `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`; \}\>; \}\>; \}\>\>; \} | - |
1667
+ | `emission.entryPoints` | (`entry`) => `Record`\<`string`, `string`\> | Entries for the one backend build: the Worker and, if defined, its declaration. |
1668
+ | `emission.outdir` | `string` | - |
1669
+ | `emission.plugins` | `Plugin`[] | - |
1670
+ | `emission.worker` | - |
1671
+ | `emission.declare` | - |
1568
1672
 
1569
1673
  #### Returns
1570
1674
 
@@ -1640,7 +1744,10 @@ Construct the complete local proving adapter around the provider-neutral core.
1640
1744
  ### frozenSnapshotInstallArguments()
1641
1745
 
1642
1746
  ```ts
1643
- function frozenSnapshotInstallArguments(packageStoreDirectory?): string[];
1747
+ function frozenSnapshotInstallArguments(
1748
+ packageStoreDirectory?,
1749
+ packageCacheDirectory?,
1750
+ ): string[];
1644
1751
  ```
1645
1752
 
1646
1753
  Frozen hydration policy. Cached bytes are verified and copied into each
@@ -1651,6 +1758,7 @@ snapshot.
1651
1758
  | Parameter | Type |
1652
1759
  | ------------------------ | -------- |
1653
1760
  | `packageStoreDirectory?` | `string` |
1761
+ | `packageCacheDirectory?` | `string` |
1654
1762
 
1655
1763
  #### Returns
1656
1764
 
@@ -1658,6 +1766,75 @@ snapshot.
1658
1766
 
1659
1767
  ---
1660
1768
 
1769
+ ### readBuildManifest()
1770
+
1771
+ ```ts
1772
+ function readBuildManifest(packageJson): object;
1773
+ ```
1774
+
1775
+ Read package metadata once; only fungi.build rejects unknown fields.
1776
+
1777
+ #### Parameters
1778
+
1779
+ | Parameter | Type |
1780
+ | ------------- | -------- |
1781
+ | `packageJson` | `string` |
1782
+
1783
+ #### Returns
1784
+
1785
+ `object`
1786
+
1787
+ | Name | Type |
1788
+ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1789
+ | `name?` | `string` |
1790
+ | `dependencies?` | `object` |
1791
+ | `scripts?` | `object` |
1792
+ | `fungi` | `object` |
1793
+ | `fungi.appId?` | `AppId` |
1794
+ | `fungi.build` | \| \{ `kind?`: `"bundled-html"` \| `"source-html"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `entry?`: `string`; `backend?`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes?`: `number`; `react?`: `boolean`; `shellEntry?`: `string`; `packageStylesheets?`: readonly `string`[]; `stylesheets?`: readonly `string`[]; `typescript?`: readonly `string`[]; `script?`: `string`; `stylesheet?`: \{ `input`: `string`; `output`: `string`; \}; \} \| `undefined` |
1795
+
1796
+ ---
1797
+
1798
+ ### appBuildRecipe()
1799
+
1800
+ ```ts
1801
+ function appBuildRecipe(manifest, directory): object;
1802
+ ```
1803
+
1804
+ Select an App recipe and root its paths in the captured source tree.
1805
+
1806
+ #### Parameters
1807
+
1808
+ | Parameter | Type |
1809
+ | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1810
+ | `manifest` | \{ `name?`: `string`; `dependencies?`: \{ \[`key`: `string`\]: `string`; \}; `scripts?`: \{ \[`key`: `string`\]: `string`; \}; `fungi`: \{ `appId?`: `AppId`; `build`: \| \{ `kind?`: `"bundled-html"` \| `"source-html"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `entry?`: `string`; `backend?`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes?`: `number`; `react?`: `boolean`; `shellEntry?`: `string`; `packageStylesheets?`: readonly `string`[]; `stylesheets?`: readonly `string`[]; `typescript?`: readonly `string`[]; `script?`: `string`; `stylesheet?`: \{ `input`: `string`; `output`: `string`; \}; \} \| `undefined`; \}; \} |
1811
+ | `manifest.name?` | `string` |
1812
+ | `manifest.dependencies?` | \{ \[`key`: `string`\]: `string`; \} |
1813
+ | `manifest.scripts?` | \{ \[`key`: `string`\]: `string`; \} |
1814
+ | `manifest.fungi` | \{ `appId?`: `AppId`; `build`: \| \{ `kind?`: `"bundled-html"` \| `"source-html"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `entry?`: `string`; `backend?`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes?`: `number`; `react?`: `boolean`; `shellEntry?`: `string`; `packageStylesheets?`: readonly `string`[]; `stylesheets?`: readonly `string`[]; `typescript?`: readonly `string`[]; `script?`: `string`; `stylesheet?`: \{ `input`: `string`; `output`: `string`; \}; \} \| `undefined`; \} |
1815
+ | `manifest.fungi.appId?` | `AppId` |
1816
+ | `manifest.fungi.build` | \| \{ `kind?`: `"bundled-html"` \| `"source-html"`; `assets?`: \{ `maxManifestBytes`: `number`; `maxObjects`: `number`; `maxObjectBytes`: `number`; `maxTotalBytes`: `number`; \}; `assetBase?`: `string`; `entry?`: `string`; `backend?`: \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null`; `maxOutputBytes?`: `number`; `react?`: `boolean`; `shellEntry?`: `string`; `packageStylesheets?`: readonly `string`[]; `stylesheets?`: readonly `string`[]; `typescript?`: readonly `string`[]; `script?`: `string`; `stylesheet?`: \{ `input`: `string`; `output`: `string`; \}; \} \| `undefined` |
1817
+ | `directory` | `string` |
1818
+
1819
+ #### Returns
1820
+
1821
+ `object`
1822
+
1823
+ | Name | Type | Default value |
1824
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
1825
+ | `kind?` | `"bundled-html"` \| `"source-html"` | - |
1826
+ | `entry` | `string` | `relativeEntrySchema` |
1827
+ | `assets?` | `object` | - |
1828
+ | `assets.maxManifestBytes` | `number` | - |
1829
+ | `assets.maxObjects` | `number` | - |
1830
+ | `assets.maxObjectBytes` | `number` | - |
1831
+ | `assets.maxTotalBytes` | `number` | - |
1832
+ | `assetBase?` | `string` | - |
1833
+ | `backend` | \| \{ `entry?`: `string`; `runtime`: \{ `kind`: `"durable-facet"`; `stateSchema`: `number`; \}; `compatibilityDate`: `string`; `exportName`: `string`; \} \| `null` | - |
1834
+ | `maxOutputBytes` | `number` | - |
1835
+
1836
+ ---
1837
+
1661
1838
  ### resolveWorkspaceBuild()
1662
1839
 
1663
1840
  ```ts
@@ -1689,18 +1866,20 @@ function resolveWorkspaceBuild(options): Promise<
1689
1866
  ```
1690
1867
 
1691
1868
  Derive one App's page build from the captured source alone: the manifest nearest
1692
- `entry` declares the App policy, the owning pnpm workspace's runtime
1869
+ `entry` must be the owning pnpm workspace (or standalone repository root). It
1870
+ declares the App policy, its runtime imports select its compile roots; their
1693
1871
  `workspace:` dependencies give the compile order, and each dependency's manifest
1694
1872
  declares its own extra build products.
1695
1873
 
1696
1874
  #### Parameters
1697
1875
 
1698
- | Parameter | Type | Description |
1699
- | ------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------- |
1700
- | `options` | \{ `root`: `string`; `entry`: `string`; `projects`: `string`; \} | - |
1701
- | `options.root` | `string` | - |
1702
- | `options.entry` | `string` | - |
1703
- | `options.projects` | `string` | `pnpm ls -r --depth -1 --json` output for the same source tree. |
1876
+ | Parameter | Type | Description |
1877
+ | ----------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
1878
+ | `options` | \{ `root`: `string`; `entry`: `string`; `backendEntry?`: `string` \| `null`; `projects`: `string`; \} | - |
1879
+ | `options.root` | `string` | - |
1880
+ | `options.entry` | `string` | - |
1881
+ | `options.backendEntry?` | `string` \| `null` | The selected recipe's backend, if it differs from the manifest recipe. |
1882
+ | `options.projects` | `string` | `pnpm ls -r --depth -1 --json` output for the same source tree. |
1704
1883
 
1705
1884
  #### Returns
1706
1885