@fungi.computer/oyster 0.0.0-stage → 0.1.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 (339) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1134 -2
  3. package/dist/agents.d.ts +114 -0
  4. package/dist/agents.js +322 -0
  5. package/dist/app-builds.d.ts +210 -0
  6. package/dist/app-builds.js +499 -0
  7. package/dist/app-sandbox.d.ts +2 -0
  8. package/dist/app-sandbox.js +2 -0
  9. package/dist/app-sources.d.ts +31 -0
  10. package/dist/app-sources.js +370 -0
  11. package/dist/app-storage.d.ts +141 -0
  12. package/dist/app-storage.js +281 -0
  13. package/dist/apps/gate.d.ts +105 -0
  14. package/dist/apps/gate.js +273 -0
  15. package/dist/apps/index.d.ts +5 -0
  16. package/dist/apps/index.js +5 -0
  17. package/dist/apps/installation.d.ts +248 -0
  18. package/dist/apps/installation.js +307 -0
  19. package/dist/apps/operations.d.ts +8 -0
  20. package/dist/apps/operations.js +98 -0
  21. package/dist/apps/tools.d.ts +33 -0
  22. package/dist/apps/tools.js +17 -0
  23. package/dist/auth.d.ts +11 -0
  24. package/dist/auth.js +93 -0
  25. package/dist/backend-request.d.ts +3 -0
  26. package/dist/backend-request.js +53 -0
  27. package/dist/build/artifact-writer.d.ts +40 -0
  28. package/dist/build/artifact-writer.js +181 -0
  29. package/dist/build/build-jobs.d.ts +128 -0
  30. package/dist/build/build-jobs.js +203 -0
  31. package/dist/build/build-policy.d.ts +10 -0
  32. package/dist/build/build-policy.js +10 -0
  33. package/dist/build/build-step.d.ts +37 -0
  34. package/dist/build/build-step.js +28 -0
  35. package/dist/build/bundled-html.d.ts +7 -0
  36. package/dist/build/bundled-html.js +64 -0
  37. package/dist/build/candidate-builder.d.ts +68 -0
  38. package/dist/build/candidate-builder.js +91 -0
  39. package/dist/build/candidate-cli.d.ts +1 -0
  40. package/dist/build/candidate-cli.js +119 -0
  41. package/dist/build/candidate-cli.mjs +28170 -0
  42. package/dist/build/content-objects.d.ts +37 -0
  43. package/dist/build/content-objects.js +53 -0
  44. package/dist/build/definition-emission.d.ts +34 -0
  45. package/dist/build/definition-emission.js +201 -0
  46. package/dist/build/effect.d.ts +249 -0
  47. package/dist/build/effect.js +436 -0
  48. package/dist/build/git-environment.d.ts +9 -0
  49. package/dist/build/git-environment.js +60 -0
  50. package/dist/build/html-recipe.d.ts +20 -0
  51. package/dist/build/html-recipe.js +51 -0
  52. package/dist/build/local-build.d.ts +67 -0
  53. package/dist/build/local-build.js +1128 -0
  54. package/dist/build/snapshot-package-store.d.ts +12 -0
  55. package/dist/build/snapshot-package-store.js +36 -0
  56. package/dist/build/snapshot-program-scripts.d.ts +6 -0
  57. package/dist/build/snapshot-program-scripts.js +2 -0
  58. package/dist/build/snapshot-programs/snapshot-path.d.ts +2 -0
  59. package/dist/build/snapshot-programs/snapshot-path.js +6 -0
  60. package/dist/build/submission-contract.d.ts +828 -0
  61. package/dist/build/submission-contract.js +180 -0
  62. package/dist/build/workspace-build.d.ts +55 -0
  63. package/dist/build/workspace-build.js +200 -0
  64. package/dist/build-contract.d.ts +7 -0
  65. package/dist/build-contract.js +7 -0
  66. package/dist/build-egress.d.ts +62 -0
  67. package/dist/build-egress.js +148 -0
  68. package/dist/build-jobs.d.ts +2 -0
  69. package/dist/build-jobs.js +2 -0
  70. package/dist/build.d.ts +12 -0
  71. package/dist/build.js +14 -0
  72. package/dist/capability-descriptor.d.ts +46 -0
  73. package/dist/capability-descriptor.js +51 -0
  74. package/dist/catalog-frame.d.ts +39 -0
  75. package/dist/catalog-frame.js +72 -0
  76. package/dist/cause-class.d.ts +19 -0
  77. package/dist/cause-class.js +54 -0
  78. package/dist/cloudflare.d.ts +123 -0
  79. package/dist/cloudflare.js +391 -0
  80. package/dist/computer-terminal.d.ts +38 -0
  81. package/dist/computer-terminal.js +410 -0
  82. package/dist/computer.d.ts +60 -0
  83. package/dist/computer.js +33 -0
  84. package/dist/event-recipients.d.ts +57 -0
  85. package/dist/event-recipients.js +144 -0
  86. package/dist/facet-invocation.d.ts +4 -0
  87. package/dist/facet-invocation.js +45 -0
  88. package/dist/files.d.ts +42 -0
  89. package/dist/files.js +123 -0
  90. package/dist/frame-binding-wire-script.d.ts +2 -0
  91. package/dist/frame-binding-wire-script.js +1 -0
  92. package/dist/frame-binding-wire.d.ts +28 -0
  93. package/dist/frame-binding-wire.js +54 -0
  94. package/dist/git-admission.d.ts +52 -0
  95. package/dist/git-admission.js +188 -0
  96. package/dist/git-auth.d.ts +11 -0
  97. package/dist/git-auth.js +27 -0
  98. package/dist/git-door.d.ts +35 -0
  99. package/dist/git-door.js +108 -0
  100. package/dist/git-journal.d.ts +31 -0
  101. package/dist/git-journal.js +188 -0
  102. package/dist/git.d.ts +31 -0
  103. package/dist/git.js +64 -0
  104. package/dist/guest-policy.d.ts +9 -0
  105. package/dist/guest-policy.js +13 -0
  106. package/dist/host.d.ts +244 -0
  107. package/dist/host.js +1043 -0
  108. package/dist/index.d.ts +166 -0
  109. package/dist/index.js +320 -0
  110. package/dist/installation-consent.d.ts +79 -0
  111. package/dist/installation-consent.js +82 -0
  112. package/dist/internal/background-origins.d.ts +3 -0
  113. package/dist/internal/background-origins.js +8 -0
  114. package/dist/internal/delivery.d.ts +12 -0
  115. package/dist/internal/delivery.js +167 -0
  116. package/dist/internal/host-gate.d.ts +14 -0
  117. package/dist/internal/host-gate.js +62 -0
  118. package/dist/internal/registry-installations.d.ts +6 -0
  119. package/dist/internal/registry-installations.js +12 -0
  120. package/dist/invocation.d.ts +251 -0
  121. package/dist/invocation.js +377 -0
  122. package/dist/keys.d.ts +48 -0
  123. package/dist/keys.js +52 -0
  124. package/dist/mcp-owner.d.ts +27 -0
  125. package/dist/mcp-owner.js +155 -0
  126. package/dist/mcp.d.ts +89 -0
  127. package/dist/mcp.js +429 -0
  128. package/dist/media.d.ts +23 -0
  129. package/dist/media.js +12 -0
  130. package/dist/pack.d.ts +79 -0
  131. package/dist/pack.js +151 -0
  132. package/dist/page/capabilities.d.ts +23 -0
  133. package/dist/page/capabilities.js +256 -0
  134. package/dist/page/computer-handles.d.ts +79 -0
  135. package/dist/page/computer-handles.js +44 -0
  136. package/dist/page/gill-observation.d.ts +4 -0
  137. package/dist/page/gill-observation.js +31 -0
  138. package/dist/page/lifetime.d.ts +6 -0
  139. package/dist/page/lifetime.js +19 -0
  140. package/dist/page/mount.d.ts +163 -0
  141. package/dist/page/mount.js +390 -0
  142. package/dist/page/storage.d.ts +3 -0
  143. package/dist/page/storage.js +82 -0
  144. package/dist/page/terminal.d.ts +5 -0
  145. package/dist/page/terminal.js +7 -0
  146. package/dist/page/window-launch.d.ts +18 -0
  147. package/dist/page/window-launch.js +11 -0
  148. package/dist/page-script.d.ts +14 -0
  149. package/dist/page-script.js +5 -0
  150. package/dist/r2-files.d.ts +3 -0
  151. package/dist/r2-files.js +79 -0
  152. package/dist/release.d.ts +83 -0
  153. package/dist/release.js +167 -0
  154. package/dist/root-data.d.ts +86 -0
  155. package/dist/root-data.js +69 -0
  156. package/dist/shell/app-directory.d.ts +542 -0
  157. package/dist/shell/app-directory.js +199 -0
  158. package/dist/shell/browser-actions.d.ts +7 -0
  159. package/dist/shell/browser-actions.js +56 -0
  160. package/dist/shell/command-host.d.ts +112 -0
  161. package/dist/shell/command-host.js +502 -0
  162. package/dist/shell/commands.d.ts +25 -0
  163. package/dist/shell/commands.js +78 -0
  164. package/dist/shell/index.d.ts +8 -0
  165. package/dist/shell/index.js +8 -0
  166. package/dist/shell/keys.d.ts +41 -0
  167. package/dist/shell/keys.js +134 -0
  168. package/dist/shell/shell-module.d.ts +55 -0
  169. package/dist/shell/shell-module.js +86 -0
  170. package/dist/shell/window-manager.d.ts +124 -0
  171. package/dist/shell/window-manager.js +711 -0
  172. package/dist/shell/workbench-contract.d.ts +68 -0
  173. package/dist/shell/workbench-contract.js +1 -0
  174. package/dist/shell/workbench-directory.d.ts +332 -0
  175. package/dist/shell/workbench-directory.js +35 -0
  176. package/dist/shell/workbench-host-types.d.ts +96 -0
  177. package/dist/shell/workbench-host-types.js +1 -0
  178. package/dist/shell/workbench-host.d.ts +34 -0
  179. package/dist/shell/workbench-host.js +347 -0
  180. package/dist/shell/workbench-model.d.ts +192 -0
  181. package/dist/shell/workbench-model.js +53 -0
  182. package/dist/shell/workbench.d.ts +4 -0
  183. package/dist/shell/workbench.js +2 -0
  184. package/dist/source/fork.d.ts +27 -0
  185. package/dist/source/fork.js +46 -0
  186. package/dist/source/index.d.ts +10 -0
  187. package/dist/source/index.js +10 -0
  188. package/dist/source/seed-receipt.d.ts +53 -0
  189. package/dist/source/seed-receipt.js +18 -0
  190. package/dist/source/team-source.d.ts +32 -0
  191. package/dist/source/team-source.js +42 -0
  192. package/dist/source/template-push.d.ts +33 -0
  193. package/dist/source/template-push.js +223 -0
  194. package/dist/source/template-repository.d.ts +4 -0
  195. package/dist/source/template-repository.js +21 -0
  196. package/dist/source/template-seed.d.ts +68 -0
  197. package/dist/source/template-seed.js +80 -0
  198. package/dist/standalone/agent-directory.d.ts +4 -0
  199. package/dist/standalone/agent-directory.js +4 -0
  200. package/dist/standalone/agents.d.ts +220 -0
  201. package/dist/standalone/agents.js +795 -0
  202. package/dist/standalone/app-builds-binding.d.ts +36 -0
  203. package/dist/standalone/app-builds-binding.js +119 -0
  204. package/dist/standalone/app-set.d.ts +91 -0
  205. package/dist/standalone/app-set.js +395 -0
  206. package/dist/standalone/app-source.d.ts +41 -0
  207. package/dist/standalone/app-source.js +59 -0
  208. package/dist/standalone/builds.d.ts +18 -0
  209. package/dist/standalone/builds.js +101 -0
  210. package/dist/standalone/computer-egress.d.ts +37 -0
  211. package/dist/standalone/computer-egress.js +111 -0
  212. package/dist/standalone/computer.d.ts +122 -0
  213. package/dist/standalone/computer.js +714 -0
  214. package/dist/standalone/install-apps-cli.d.ts +2 -0
  215. package/dist/standalone/install-apps-cli.js +126 -0
  216. package/dist/standalone/instance.d.ts +35 -0
  217. package/dist/standalone/instance.js +74 -0
  218. package/dist/standalone/media.d.ts +76 -0
  219. package/dist/standalone/media.js +227 -0
  220. package/dist/standalone/preview.d.ts +51 -0
  221. package/dist/standalone/preview.js +167 -0
  222. package/dist/standalone/registry.d.ts +102 -0
  223. package/dist/standalone/registry.js +193 -0
  224. package/dist/standalone/tenancy.d.ts +42 -0
  225. package/dist/standalone/tenancy.js +241 -0
  226. package/dist/standalone/worker.d.ts +55 -0
  227. package/dist/standalone/worker.js +147 -0
  228. package/dist/standalone/workflow-authority-readers.d.ts +16 -0
  229. package/dist/standalone/workflow-authority-readers.js +35 -0
  230. package/dist/standalone/workflow-binding.d.ts +216 -0
  231. package/dist/standalone/workflow-binding.js +217 -0
  232. package/dist/standalone/workflow-events.d.ts +46 -0
  233. package/dist/standalone/workflow-events.js +39 -0
  234. package/dist/standalone/workflow-git-capture.d.ts +7 -0
  235. package/dist/standalone/workflow-git-capture.js +62 -0
  236. package/dist/standalone/workflow-host.d.ts +931 -0
  237. package/dist/standalone/workflow-host.js +751 -0
  238. package/dist/standalone/workflow-node-capture.d.ts +13 -0
  239. package/dist/standalone/workflow-node-capture.js +72 -0
  240. package/dist/standalone/workflow-root-authority.d.ts +27 -0
  241. package/dist/standalone/workflow-root-authority.js +87 -0
  242. package/dist/standalone/workflow-schedules.d.ts +52 -0
  243. package/dist/standalone/workflow-schedules.js +40 -0
  244. package/dist/standalone/workflow-trigger-host.d.ts +1694 -0
  245. package/dist/standalone/workflow-trigger-host.js +52 -0
  246. package/dist/standalone/workflows.d.ts +657 -0
  247. package/dist/standalone/workflows.js +554 -0
  248. package/dist/storage-frame.d.ts +64 -0
  249. package/dist/storage-frame.js +28 -0
  250. package/dist/tenancy/auth0.d.ts +64 -0
  251. package/dist/tenancy/auth0.js +198 -0
  252. package/dist/tenancy/cloudflare/rate-limit.d.ts +8 -0
  253. package/dist/tenancy/cloudflare/rate-limit.js +19 -0
  254. package/dist/tenancy/cloudflare/registry.d.ts +50 -0
  255. package/dist/tenancy/cloudflare/registry.js +301 -0
  256. package/dist/tenancy/cloudflare.d.ts +2 -0
  257. package/dist/tenancy/cloudflare.js +2 -0
  258. package/dist/tenancy/cold-directory.d.ts +13 -0
  259. package/dist/tenancy/cold-directory.js +43 -0
  260. package/dist/tenancy/contracts.d.ts +195 -0
  261. package/dist/tenancy/contracts.js +1 -0
  262. package/dist/tenancy/index.d.ts +19 -0
  263. package/dist/tenancy/index.js +156 -0
  264. package/dist/tenancy/owner-key.d.ts +26 -0
  265. package/dist/tenancy/owner-key.js +63 -0
  266. package/dist/tenancy/oyster.d.ts +4 -0
  267. package/dist/tenancy/oyster.js +25 -0
  268. package/dist/tenancy/registry-record.d.ts +7 -0
  269. package/dist/tenancy/registry-record.js +44 -0
  270. package/dist/tenancy/registry.d.ts +27 -0
  271. package/dist/tenancy/registry.js +138 -0
  272. package/dist/tenancy/resolve.d.ts +7 -0
  273. package/dist/tenancy/resolve.js +64 -0
  274. package/dist/tenant.d.ts +81 -0
  275. package/dist/tenant.js +71 -0
  276. package/dist/testing/capabilities.d.ts +29 -0
  277. package/dist/testing/capabilities.js +130 -0
  278. package/dist/testing/catalog.d.ts +3 -0
  279. package/dist/testing/catalog.js +53 -0
  280. package/dist/testing/index.d.ts +10 -0
  281. package/dist/testing/index.js +10 -0
  282. package/dist/testing/installation.d.ts +11 -0
  283. package/dist/testing/installation.js +25 -0
  284. package/dist/testing/native-worker.d.ts +21 -0
  285. package/dist/testing/native-worker.js +106 -0
  286. package/dist/testing/worker.d.ts +18 -0
  287. package/dist/testing/worker.js +67 -0
  288. package/dist/testing/workers-runtime.d.ts +24 -0
  289. package/dist/testing/workers-runtime.js +33 -0
  290. package/dist/webhook-delivery.d.ts +14 -0
  291. package/dist/webhook-delivery.js +17 -0
  292. package/dist/workers-git.d.ts +285 -0
  293. package/dist/workers-git.js +1174 -0
  294. package/dist/workers.d.ts +352 -0
  295. package/dist/workers.js +868 -0
  296. package/docs/api/README.md +82 -0
  297. package/docs/api/agents.md +332 -0
  298. package/docs/api/app-storage.md +209 -0
  299. package/docs/api/apps.md +1375 -0
  300. package/docs/api/auth.md +63 -0
  301. package/docs/api/build-contract.md +1304 -0
  302. package/docs/api/build.md +1712 -0
  303. package/docs/api/cloudflare.md +421 -0
  304. package/docs/api/computer.md +203 -0
  305. package/docs/api/files.md +117 -0
  306. package/docs/api/git.md +470 -0
  307. package/docs/api/host.md +1328 -0
  308. package/docs/api/index.md +430 -0
  309. package/docs/api/invocation.md +738 -0
  310. package/docs/api/keys.md +175 -0
  311. package/docs/api/mcp.md +301 -0
  312. package/docs/api/media.md +40 -0
  313. package/docs/api/modules.md +50 -0
  314. package/docs/api/pack.md +141 -0
  315. package/docs/api/page/mount.md +298 -0
  316. package/docs/api/root-data.md +111 -0
  317. package/docs/api/shell/app-directory.md +599 -0
  318. package/docs/api/shell/command-host.md +224 -0
  319. package/docs/api/shell/commands.md +197 -0
  320. package/docs/api/shell/keys.md +183 -0
  321. package/docs/api/shell/shell-module.md +204 -0
  322. package/docs/api/shell/window-manager.md +267 -0
  323. package/docs/api/shell/workbench-directory.md +119 -0
  324. package/docs/api/shell/workbench.md +205 -0
  325. package/docs/api/shell.md +1915 -0
  326. package/docs/api/tenancy/auth0.md +110 -0
  327. package/docs/api/tenancy/cloudflare.md +221 -0
  328. package/docs/api/tenancy/cold-directory.md +46 -0
  329. package/docs/api/tenancy/owner-key.md +63 -0
  330. package/docs/api/tenancy/registry.md +77 -0
  331. package/docs/api/tenancy/resolve.md +69 -0
  332. package/docs/api/tenancy.md +430 -0
  333. package/docs/api/tenant.md +194 -0
  334. package/docs/api/workers-git.md +1646 -0
  335. package/docs/api/workers.md +1691 -0
  336. package/docs/site/agent-quickstart.mdx +346 -0
  337. package/examples/standalone/worker.ts +7 -0
  338. package/examples/standalone/wrangler.jsonc +82 -0
  339. package/package.json +300 -3
@@ -0,0 +1,141 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/oyster**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/oyster](modules.md) / pack
8
+
9
+ # pack
10
+
11
+ ## Type Aliases
12
+
13
+ ### PackOptions
14
+
15
+ ```ts
16
+ type PackOptions = Readonly<{
17
+ appId: string;
18
+ releaseId?: string;
19
+ sourceDirectory: string;
20
+ sourceRevision: string;
21
+ recipe: AppPublisherCoreConfigInput["recipe"];
22
+ packageStoreDirectory?: string;
23
+ outDirectory: string;
24
+ }>;
25
+ ```
26
+
27
+ One committed repository and its canonical App build recipe.
28
+
29
+ ---
30
+
31
+ ### PackedRelease
32
+
33
+ ```ts
34
+ type PackedRelease = Readonly<{
35
+ release: Release;
36
+ artifacts: readonly Readonly<{
37
+ artifactRef: ArtifactRef;
38
+ path: string;
39
+ }>[];
40
+ }>;
41
+ ```
42
+
43
+ A packed Release on disk.
44
+
45
+ ## Functions
46
+
47
+ ### packRelease()
48
+
49
+ ```ts
50
+ function packRelease(options): Promise<
51
+ Readonly<{
52
+ release: Release;
53
+ artifacts: readonly Readonly<{
54
+ artifactRef: ArtifactRef;
55
+ path: string;
56
+ }>[];
57
+ }>
58
+ >;
59
+ ```
60
+
61
+ Build an exact local Git commit with the canonical compiler and artifact writer.
62
+
63
+ #### Parameters
64
+
65
+ | Parameter | Type |
66
+ | --------- | ----------------------------- |
67
+ | `options` | [`PackOptions`](#packoptions) |
68
+
69
+ #### Returns
70
+
71
+ `Promise`\<`Readonly`\<\{ `release`: `Release`; `artifacts`: readonly
72
+ `Readonly`\<\{ `artifactRef`: `ArtifactRef`; `path`: `string`; \}\>[]; \}\>\>
73
+
74
+ ---
75
+
76
+ ### installFromSource()
77
+
78
+ ```ts
79
+ function installFromSource(input): Promise<Response>;
80
+ ```
81
+
82
+ Capture an Artifacts Git commit, build its Release, upload it to an Oyster, and
83
+ install it, or switch an existing installation to it
84
+ ([installRelease](#installrelease)).
85
+
86
+ #### Parameters
87
+
88
+ | Parameter | Type |
89
+ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
90
+ | `input` | `Readonly`\<\{ `appId`: `string`; `releaseId?`: `string`; `recipe`: [`PackOptions`](#packoptions)\[`"recipe"`\]; `source`: `Readonly`\<\{ `remote`: `string`; `token`: `string`; `sourceRevision`: `string`; \}\>; `packageStoreDirectory?`: `string`; `url`: `string`; `key`: `string`; `installationId`: `string`; \}\> |
91
+
92
+ #### Returns
93
+
94
+ `Promise`\<`Response`\>
95
+
96
+ ---
97
+
98
+ ### installRelease()
99
+
100
+ ```ts
101
+ function installRelease(input): Promise<Response>;
102
+ ```
103
+
104
+ Upload a packed Release to an Oyster and install it. The host installs a new
105
+ installation (201) or switches an existing one to this Release (200), keeping
106
+ its state; both go through its one install-or-select owner.
107
+
108
+ #### Parameters
109
+
110
+ | Parameter | Type |
111
+ | --------- | --------------------------------------------------------------------------------------------------------- |
112
+ | `input` | `Readonly`\<\{ `directory`: `string`; `url`: `string`; `key`: `string`; `installationId?`: `string`; \}\> |
113
+
114
+ #### Returns
115
+
116
+ `Promise`\<`Response`\>
117
+
118
+ ---
119
+
120
+ ### publishSource()
121
+
122
+ ```ts
123
+ function publishSource(input): Promise<Response>;
124
+ ```
125
+
126
+ Project one exact first-party commit's editable source, `git push` it to an
127
+ Oyster's own template for that App, and claim the pushed head, so `APPS.fork`
128
+ and Computer builds can later read it. The operator owner key authenticates
129
+ both; it reaches Git only through its config environment and no provider
130
+ credential ever leaves the Oyster. Answers the claim response:
131
+ `{ kind: "recorded" | "existing", receipt }` on success.
132
+
133
+ #### Parameters
134
+
135
+ | Parameter | Type |
136
+ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
137
+ | `input` | `Readonly`\<\{ `appId`: `string`; `entry`: `string`; `repositoryPath`: `string`; `sourceRevision`: `string`; `recipe`: [`PackOptions`](#packoptions)\[`"recipe"`\]; `url`: `string`; `key`: `string`; \}\> |
138
+
139
+ #### Returns
140
+
141
+ `Promise`\<`Response`\>
@@ -0,0 +1,298 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/oyster**](../README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/oyster](../modules.md) / page/mount
8
+
9
+ # page/mount
10
+
11
+ ## Type Aliases
12
+
13
+ ### OysterAppOpenRouting
14
+
15
+ ```ts
16
+ type OysterAppOpenRouting = Readonly<{
17
+ open: Promise<void>;
18
+ role: Promise<{
19
+ displayName: z.ZodNullable<z.ZodString>;
20
+ } | null>;
21
+ }>;
22
+ ```
23
+
24
+ Role and App opens, routed by the embedding shell; the App never names a
25
+ surface.
26
+
27
+ ---
28
+
29
+ ### OysterAppConfig
30
+
31
+ ```ts
32
+ type OysterAppConfig = typeof oysterAppConfigSchema.Type;
33
+ ```
34
+
35
+ The host-admitted App configuration served by Oyster.
36
+
37
+ ---
38
+
39
+ ### OysterAppConnectionOptions
40
+
41
+ ```ts
42
+ type OysterAppConnectionOptions = Readonly<{
43
+ config: OysterAppConfig;
44
+ frame: HTMLIFrameElement;
45
+ signal: AbortSignal;
46
+ handlers: AppHostHandlers;
47
+ appOpen?: OysterAppOpenRouting;
48
+ openRequest?: AppHostLaunch["context"]["value"]["openRequest"];
49
+ surfaceId?: string;
50
+ reservedChords: readonly AppHostReservedChord[];
51
+ theme: string;
52
+ }>;
53
+ ```
54
+
55
+ One isolated App connection, with the slots this host admitted for it.
56
+
57
+ ## Variables
58
+
59
+ ### appSandbox
60
+
61
+ ```ts
62
+ const appSandbox: "allow-scripts allow-modals allow-popups allow-forms" =
63
+ "allow-scripts allow-modals allow-popups allow-forms";
64
+ ```
65
+
66
+ The sandbox every installed App frame runs in, shell-mounted or not.
67
+
68
+ ---
69
+
70
+ ### oysterAppConfigSchema
71
+
72
+ ```ts
73
+ const oysterAppConfigSchema: Struct<{
74
+ workbench: Boolean;
75
+ shellModuleUrl: NullOr<String>;
76
+ storage: Boolean;
77
+ appsOpen: Boolean;
78
+ computerId: NullOr<String>;
79
+ authorityVersion: Int;
80
+ commands: $Array<Codec<Readonly<{
81
+ id: string;
82
+ title: string;
83
+ category: string;
84
+ description?: string;
85
+ sigil?: string;
86
+ projections?: Readonly<{
87
+ bindings?: ... & ...;
88
+ agent?: ... & ...;
89
+ help?: Readonly<...>;
90
+ menu?: Readonly<...>;
91
+ palette?: Readonly<...>;
92
+ slash?: ... & ...;
93
+ }>;
94
+ }>, Readonly<{
95
+ id: string;
96
+ title: string;
97
+ category: string;
98
+ description?: string;
99
+ sigil?: string;
100
+ projections?: Readonly<{
101
+ bindings?: ... & ...;
102
+ agent?: ... & ...;
103
+ help?: Readonly<...>;
104
+ menu?: Readonly<...>;
105
+ palette?: Readonly<...>;
106
+ slash?: ... & ...;
107
+ }>;
108
+ }>, never, never>>;
109
+ icon: NullOr<String>;
110
+ roles: $Array<String>;
111
+ installationId: String;
112
+ appId: String;
113
+ releaseId: String;
114
+ uiUrl: String;
115
+ backendUrl: String;
116
+ methodsUrl: String;
117
+ capabilities: $Array<Struct<{
118
+ id: String;
119
+ version: Number;
120
+ base: String;
121
+ methods: $Record<String, Union<readonly [Struct<{
122
+ kind: Literal<...>;
123
+ method: Literals<...>;
124
+ path: String;
125
+ }>, Struct<{
126
+ kind: Literals<...>;
127
+ method: Literals<...>;
128
+ path: String;
129
+ }>]>>;
130
+ }>>;
131
+ }>;
132
+ ```
133
+
134
+ Current server-admitted configuration for one installed App page.
135
+
136
+ ## Functions
137
+
138
+ ### readOysterPageConfig()
139
+
140
+ ```ts
141
+ function readOysterPageConfig(): object;
142
+ ```
143
+
144
+ Read the server-admitted configuration this page was served with.
145
+
146
+ #### Returns
147
+
148
+ | Name | Type | Default value | Description |
149
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------- |
150
+ | `workbench` | `boolean` | `Schema.Boolean` | - |
151
+ | `shellModuleUrl` | `string` \| `null` | - | The home shell Release's own module, imported top-level; null if it ships none. |
152
+ | `storage` | `boolean` | `Schema.Boolean` | - |
153
+ | `appsOpen` | `boolean` | `Schema.Boolean` | The Release declares `apps.open`; only an embedding shell can serve it. |
154
+ | `computerId` | `string` \| `null` | - | - |
155
+ | `authorityVersion` | `number` | `Schema.Int` | - |
156
+ | `commands` | readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<\{ `bindings?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `values`: ...; \}\>; `agent?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `keybind?`: ...; \}\>; `help?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `menu?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `palette?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `slash?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `aliases`: ...; \}\>; \}\>; \}\>[] | - | - |
157
+ | `icon` | `string` \| `null` | - | - |
158
+ | `roles` | readonly `string`[] | - | - |
159
+ | `installationId` | `string` | `Schema.String` | - |
160
+ | `appId` | `string` | `Schema.String` | - |
161
+ | `releaseId` | `string` | `Schema.String` | - |
162
+ | `uiUrl` | `string` | `Schema.String` | - |
163
+ | `backendUrl` | `string` | `Schema.String` | - |
164
+ | `methodsUrl` | `string` | `Schema.String` | - |
165
+ | `capabilities` | readonly `object`[] | - | - |
166
+
167
+ ---
168
+
169
+ ### applyOysterPageTheme()
170
+
171
+ ```ts
172
+ function applyOysterPageTheme(): "mocha" | "latte";
173
+ ```
174
+
175
+ Apply this host's shared page styles and the person's color theme.
176
+
177
+ #### Returns
178
+
179
+ `"mocha"` \| `"latte"`
180
+
181
+ ---
182
+
183
+ ### oysterShellHandles()
184
+
185
+ ```ts
186
+ function oysterShellHandles(config): object;
187
+ ```
188
+
189
+ The home installation's own storage and methods, for the trusted shell the host
190
+ composes into this document. They reach the same admitted routes an isolated App
191
+ would, without a frame between the shell and its host.
192
+
193
+ #### Parameters
194
+
195
+ | Parameter | Type | Description |
196
+ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
197
+ | `config` | \{ `workbench`: `boolean`; `shellModuleUrl`: `string` \| `null`; `storage`: `boolean`; `appsOpen`: `boolean`; `computerId`: `string` \| `null`; `authorityVersion`: `number`; `commands`: readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<\{ `bindings?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `values`: ...; \}\>; `agent?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `keybind?`: ...; \}\>; `help?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `menu?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `palette?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `slash?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `aliases`: ...; \}\>; \}\>; \}\>[]; `icon`: `string` \| `null`; `roles`: readonly `string`[]; `installationId`: `string`; `appId`: `string`; `releaseId`: `string`; `uiUrl`: `string`; `backendUrl`: `string`; `methodsUrl`: `string`; `capabilities`: readonly `object`[]; \} | - |
198
+ | `config.workbench` | `boolean` | - |
199
+ | `config.shellModuleUrl` | `string` \| `null` | The home shell Release's own module, imported top-level; null if it ships none. |
200
+ | `config.storage` | `boolean` | - |
201
+ | `config.appsOpen` | `boolean` | The Release declares `apps.open`; only an embedding shell can serve it. |
202
+ | `config.computerId` | `string` \| `null` | - |
203
+ | `config.authorityVersion` | `number` | - |
204
+ | `config.commands` | readonly `Readonly`\<\{ `id`: `string`; `title`: `string`; `category`: `string`; `description?`: `string`; `sigil?`: `string`; `projections?`: `Readonly`\<\{ `bindings?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `values`: ...; \}\>; `agent?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `keybind?`: ...; \}\>; `help?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `menu?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `palette?`: `Readonly`\<\{ `order?`: ... \| ...; \}\>; `slash?`: `Readonly`\<\{ `order?`: ...; \}\> & `Readonly`\<\{ `aliases`: ...; \}\>; \}\>; \}\>[] | - |
205
+ | `config.icon` | `string` \| `null` | - |
206
+ | `config.roles` | readonly `string`[] | - |
207
+ | `config.installationId` | `string` | - |
208
+ | `config.appId` | `string` | - |
209
+ | `config.releaseId` | `string` | - |
210
+ | `config.uiUrl` | `string` | - |
211
+ | `config.backendUrl` | `string` | - |
212
+ | `config.methodsUrl` | `string` | - |
213
+ | `config.capabilities` | readonly `object`[] | - |
214
+
215
+ #### Returns
216
+
217
+ `object`
218
+
219
+ | Name | Type | Description |
220
+ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
221
+ | `storage` | \| `Readonly`\<\{ `read`: `Promise`\<\{ `value`: `Json`; `source`: `"team"` \| `"member"` \| `"none"`; `team`: \| \{ `value`: `Json`; `revision`: `number`; \} \| `null`; `member`: \| \{ `value`: `Json`; `revision`: `number`; \} \| `null`; `canWriteTeam`: `boolean`; \}\>; `write`: `Promise`\<\{ `revision`: `number`; \}\>; `reset`: `Promise`\<\{ `revision`: `number`; \}\>; `watch`: `Promise`\<`AppStorageWatch`\>; \}\> \| `null` | - |
222
+ | `methods` | `object` | - |
223
+ | `call()` | (`method`, `input`) => `Promise`\<`WhistleJsonValue`\> | Call the named method with JSON-encoded `input`; resolves with its JSON result. |
224
+
225
+ ---
226
+
227
+ ### mountOysterPage()
228
+
229
+ ```ts
230
+ function mountOysterPage(): Promise<AppHost>;
231
+ ```
232
+
233
+ Mount one installed App's own page: its sandboxed frame and nothing else.
234
+ Desktop chrome (menus, palette, status) belongs to the trusted shell.
235
+
236
+ #### Returns
237
+
238
+ `Promise`\<`AppHost`\>
239
+
240
+ ---
241
+
242
+ ### connectOysterApp()
243
+
244
+ ```ts
245
+ function connectOysterApp(options): Promise<AppHost>;
246
+ ```
247
+
248
+ Connect a child or home App using the same admitted Oyster slot handles.
249
+
250
+ #### Parameters
251
+
252
+ | Parameter | Type |
253
+ | --------- | ----------------------------------------------------------- |
254
+ | `options` | [`OysterAppConnectionOptions`](#oysterappconnectionoptions) |
255
+
256
+ #### Returns
257
+
258
+ `Promise`\<`AppHost`\>
259
+
260
+ ---
261
+
262
+ ### oysterAppCapabilities()
263
+
264
+ ```ts
265
+ function oysterAppCapabilities(options): Promise<readonly object[]>;
266
+ ```
267
+
268
+ Resolve only the slots admitted for this installation by its current host.
269
+
270
+ #### Parameters
271
+
272
+ | Parameter | Type |
273
+ | --------- | -------------------------------------------------------------------------------------------------------------- |
274
+ | `options` | `Pick`\<[`OysterAppConnectionOptions`](#oysterappconnectionoptions), `"config"` \| `"signal"` \| `"appOpen"`\> |
275
+
276
+ #### Returns
277
+
278
+ `Promise`\<readonly `object`[]\>
279
+
280
+ ---
281
+
282
+ ### oysterStorageHandle()
283
+
284
+ ```ts
285
+ function oysterStorageHandle(installationId): AppStorageWire;
286
+ ```
287
+
288
+ The existing Agar storage wire, scoped to an admitted installation and owner.
289
+
290
+ #### Parameters
291
+
292
+ | Parameter | Type |
293
+ | ---------------- | -------- |
294
+ | `installationId` | `string` |
295
+
296
+ #### Returns
297
+
298
+ `AppStorageWire`
@@ -0,0 +1,111 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/oyster**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/oyster](modules.md) / root-data
8
+
9
+ # root-data
10
+
11
+ ## Type Aliases
12
+
13
+ ### OysterRootRoles
14
+
15
+ ```ts
16
+ type OysterRootRoles = Readonly<
17
+ Record<
18
+ string,
19
+ Readonly<{
20
+ surfaceId: string | null;
21
+ chosen: boolean;
22
+ }>
23
+ >
24
+ >;
25
+ ```
26
+
27
+ Role choices belong to the root owner, independently of Release declarations.
28
+
29
+ ---
30
+
31
+ ### OysterRootDirectory
32
+
33
+ ```ts
34
+ type OysterRootDirectory = Readonly<{
35
+ apps: readonly AppDirectoryEntry[];
36
+ roles: OysterRootRoles;
37
+ computer?: Readonly<{
38
+ computerId: string;
39
+ name: string;
40
+ }>;
41
+ }>;
42
+ ```
43
+
44
+ Shared workbench metadata, without a hosted Team's administration or grants.
45
+
46
+ ---
47
+
48
+ ### OysterRootDataOptions
49
+
50
+ ```ts
51
+ type OysterRootDataOptions = Parameters<typeof createAppStorage>[0] &
52
+ Readonly<{
53
+ installations: Pick<InstallationStore, "list">;
54
+ resolveRelease: Promise<
55
+ Pick<
56
+ Readonly<{
57
+ release: Release;
58
+ build: AppBuild;
59
+ api: AppApi | null;
60
+ declaration: AppDeclaration | null;
61
+ ui:
62
+ | Readonly<{
63
+ kind: "html";
64
+ artifactRef: ArtifactRef;
65
+ digest: Sha256Digest;
66
+ }>
67
+ | Readonly<{
68
+ kind: "assets";
69
+ build: AssetBuild;
70
+ }>
71
+ | null;
72
+ backend: Readonly<{
73
+ artifactRef: ArtifactRef;
74
+ digest: Sha256Digest;
75
+ }> | null;
76
+ }>,
77
+ "declaration" | "ui"
78
+ >
79
+ >;
80
+ }>;
81
+ ```
82
+
83
+ Existing installation, Release and SQLite owners supplied by the root.
84
+
85
+ ## Functions
86
+
87
+ ### createOysterRootData()
88
+
89
+ ```ts
90
+ function createOysterRootData(options): object;
91
+ ```
92
+
93
+ Data adapters for a standalone workbench over the root's existing owners.
94
+
95
+ #### Parameters
96
+
97
+ | Parameter | Type |
98
+ | --------- | ------------------------------------------------- |
99
+ | `options` | [`OysterRootDataOptions`](#oysterrootdataoptions) |
100
+
101
+ #### Returns
102
+
103
+ | Name | Type | Description |
104
+ | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
105
+ | `storage` | `object` | Each open(authorize) receives fresh host admission and Release-declared keys. |
106
+ | `storage.purgeInstallation()` | (`address`) => `void` | Remove an installation's values and write counters inside its delete transaction. |
107
+ | `storage.purgeMember()` | (`memberId`, `throughVersion`) => `void` | Remove a member's private values and counters through the revoked membership version. |
108
+ | `openInstallation()` | (`authorize`) => `object` | Bind a lifecycle view to fresh installation admission; only declared team layers are accessible. |
109
+ | `open()` | (`authorize`) => `object` | Bind a member view to live admission, declared keys and the current membership version. |
110
+ | `directory()` | () => `Promise`\<`Readonly`\<\{ `apps`: readonly `object`[]; `roles`: [`OysterRootRoles`](#oysterrootroles); `computer?`: `Readonly`\<\{ `computerId`: `string`; `name`: `string`; \}\>; \}\>\> | Project the current installations without minting permissions or role choices. |
111
+ | `platformDestinations()` | () => readonly `Readonly`\<\{ `id`: `string`; `label`: `string`; \}\>[] | No standalone platform navigation destination is implemented yet. |