@fungi.computer/oyster 0.2.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 (287) hide show
  1. package/README.md +376 -72
  2. package/dist/agents.d.ts +3 -2
  3. package/dist/agents.js +4 -2
  4. package/dist/app-builds.d.ts +81 -8
  5. package/dist/app-builds.js +210 -60
  6. package/dist/app-storage.d.ts +3 -3
  7. package/dist/approval-capability.d.ts +5 -0
  8. package/dist/approval-capability.js +46 -0
  9. package/dist/approval-home.d.ts +51 -0
  10. package/dist/approval-home.js +226 -0
  11. package/dist/apps/catalog.d.ts +335 -0
  12. package/dist/apps/catalog.js +46 -0
  13. package/dist/apps/gate.d.ts +20 -6
  14. package/dist/apps/gate.js +42 -16
  15. package/dist/apps/index.d.ts +3 -1
  16. package/dist/apps/index.js +3 -1
  17. package/dist/apps/installation.d.ts +132 -51
  18. package/dist/apps/installation.js +176 -70
  19. package/dist/apps/permissions.d.ts +247 -0
  20. package/dist/apps/permissions.js +255 -0
  21. package/dist/boot-capability-route.d.ts +15 -0
  22. package/dist/boot-capability-route.js +196 -0
  23. package/dist/boot-capability.d.ts +103 -0
  24. package/dist/boot-capability.js +141 -0
  25. package/dist/boot-construction.d.ts +12 -0
  26. package/dist/boot-construction.js +175 -0
  27. package/dist/boot-gate.d.ts +267 -0
  28. package/dist/boot-gate.js +236 -0
  29. package/dist/boot-host-script.d.ts +2 -0
  30. package/dist/boot-host-script.js +1 -0
  31. package/dist/boot-mount.d.ts +21 -0
  32. package/dist/boot-mount.js +65 -0
  33. package/dist/browser/boot.d.ts +73 -0
  34. package/dist/browser/boot.js +502 -0
  35. package/dist/browser/browser.d.ts +104 -0
  36. package/dist/browser/browser.js +374 -0
  37. package/dist/browser/capability-source.d.ts +76 -0
  38. package/dist/browser/capability-source.js +338 -0
  39. package/dist/browser/cdp-client.d.ts +56 -0
  40. package/dist/browser/cdp-client.js +184 -0
  41. package/dist/browser/errors.d.ts +79 -0
  42. package/dist/browser/errors.js +32 -0
  43. package/dist/browser/index.d.ts +16 -0
  44. package/dist/browser/index.js +14 -0
  45. package/dist/browser/lease-registry.d.ts +61 -0
  46. package/dist/browser/lease-registry.js +101 -0
  47. package/dist/browser/operations.d.ts +225 -0
  48. package/dist/browser/operations.js +137 -0
  49. package/dist/browser/page.d.ts +25 -0
  50. package/dist/browser/page.js +172 -0
  51. package/dist/browser/quick-reads.d.ts +29 -0
  52. package/dist/browser/quick-reads.js +160 -0
  53. package/dist/browser/sessions.d.ts +52 -0
  54. package/dist/browser/sessions.js +118 -0
  55. package/dist/browser/url-policy.d.ts +18 -0
  56. package/dist/browser/url-policy.js +58 -0
  57. package/dist/build/app-imports.d.ts +12 -0
  58. package/dist/build/app-imports.js +105 -0
  59. package/dist/build/build-policy.d.ts +5 -3
  60. package/dist/build/build-policy.js +5 -3
  61. package/dist/build/candidate-builder.d.ts +1 -1
  62. package/dist/build/candidate-cli.mjs +8375 -334
  63. package/dist/build/local-build.d.ts +2 -0
  64. package/dist/build/local-build.js +28 -6
  65. package/dist/build/snapshot-package-store.d.ts +1 -1
  66. package/dist/build/snapshot-package-store.js +7 -2
  67. package/dist/build/workspace-build.d.ts +92 -5
  68. package/dist/build/workspace-build.js +93 -19
  69. package/dist/build.d.ts +1 -1
  70. package/dist/build.js +1 -1
  71. package/dist/catalog-frame.js +1 -1
  72. package/dist/cloudflare.d.ts +13 -3
  73. package/dist/cloudflare.js +102 -4
  74. package/dist/frame-binding-wire-script.js +1 -1
  75. package/dist/frame-binding-wire.js +4 -2
  76. package/dist/git-auth.d.ts +0 -2
  77. package/dist/git-auth.js +0 -2
  78. package/dist/git.d.ts +0 -1
  79. package/dist/git.js +0 -2
  80. package/dist/host.d.ts +39 -13
  81. package/dist/host.js +268 -142
  82. package/dist/index.d.ts +25 -15
  83. package/dist/index.js +39 -16
  84. package/dist/install-release-cli.d.ts +2 -0
  85. package/dist/install-release-cli.js +46 -0
  86. package/dist/installation-client.d.ts +43 -0
  87. package/dist/installation-client.js +178 -0
  88. package/dist/installation-execution.d.ts +11 -0
  89. package/dist/installation-execution.js +184 -0
  90. package/dist/installation-operations.d.ts +1437 -0
  91. package/dist/installation-operations.js +664 -0
  92. package/dist/installation-store-generation.d.ts +3 -0
  93. package/dist/installation-store-generation.js +16 -0
  94. package/dist/instance-id.d.ts +10 -0
  95. package/dist/instance-id.js +10 -0
  96. package/dist/instance-refusal.d.ts +11 -0
  97. package/dist/instance-refusal.js +21 -0
  98. package/dist/internal/delivery.js +4 -2
  99. package/dist/internal/host-gate.js +7 -1
  100. package/dist/internal/registry-installations.js +4 -4
  101. package/dist/keys.d.ts +5 -1
  102. package/dist/keys.js +10 -2
  103. package/dist/machine-link/authority.d.ts +89 -0
  104. package/dist/machine-link/authority.js +37 -0
  105. package/dist/machine-link/client.d.ts +66 -0
  106. package/dist/machine-link/client.js +94 -0
  107. package/dist/machine-link/delivery.d.ts +18 -0
  108. package/dist/machine-link/delivery.js +55 -0
  109. package/dist/machine-link/enrollment.d.ts +111 -0
  110. package/dist/machine-link/enrollment.js +286 -0
  111. package/dist/machine-link/fences.d.ts +37 -0
  112. package/dist/machine-link/fences.js +166 -0
  113. package/dist/machine-link/home.d.ts +20 -0
  114. package/dist/machine-link/home.js +24 -0
  115. package/dist/machine-link/host.d.ts +43 -0
  116. package/dist/machine-link/host.js +189 -0
  117. package/dist/machine-link/index.d.ts +15 -0
  118. package/dist/machine-link/index.js +15 -0
  119. package/dist/machine-link/link.d.ts +48 -0
  120. package/dist/machine-link/link.js +223 -0
  121. package/dist/machine-link/presence.d.ts +10 -0
  122. package/dist/machine-link/presence.js +25 -0
  123. package/dist/machine-link/workers.d.ts +6 -0
  124. package/dist/machine-link/workers.js +6 -0
  125. package/dist/mcp-owner.d.ts +2 -2
  126. package/dist/mcp-owner.js +41 -33
  127. package/dist/mcp.d.ts +15 -3
  128. package/dist/mcp.js +146 -25
  129. package/dist/pack.d.ts +14 -3
  130. package/dist/pack.js +44 -19
  131. package/dist/page/app-access.d.ts +7 -0
  132. package/dist/page/app-access.js +75 -0
  133. package/dist/page/boot-host.js +57 -0
  134. package/dist/page/capabilities.d.ts +3 -3
  135. package/dist/page/capabilities.js +16 -12
  136. package/dist/page/computer-handles.d.ts +3 -3
  137. package/dist/page/computer-target.d.ts +3 -0
  138. package/dist/page/computer-target.js +9 -0
  139. package/dist/page/mount.d.ts +23 -3
  140. package/dist/page/mount.js +152 -16
  141. package/dist/page-assets.d.ts +22 -0
  142. package/dist/page-assets.js +28 -0
  143. package/dist/page-script.d.ts +3 -0
  144. package/dist/page-script.js +5 -4
  145. package/dist/release.d.ts +13 -6
  146. package/dist/release.js +10 -7
  147. package/dist/root-data.d.ts +16 -6
  148. package/dist/root-data.js +2 -2
  149. package/dist/source/index.d.ts +1 -1
  150. package/dist/source/team-source.d.ts +20 -8
  151. package/dist/source/team-source.js +39 -10
  152. package/dist/source/template-seed.d.ts +2 -2
  153. package/dist/standalone/agent-mail.d.ts +24 -0
  154. package/dist/standalone/agent-mail.js +62 -0
  155. package/dist/standalone/agent-store.d.ts +9 -0
  156. package/dist/standalone/agent-store.js +30 -0
  157. package/dist/standalone/agents.d.ts +68 -9
  158. package/dist/standalone/agents.js +428 -56
  159. package/dist/standalone/app-builds-binding.d.ts +20 -2
  160. package/dist/standalone/app-builds-binding.js +147 -23
  161. package/dist/standalone/app-set.d.ts +5 -2
  162. package/dist/standalone/app-set.js +174 -143
  163. package/dist/standalone/browser.d.ts +11 -0
  164. package/dist/standalone/browser.js +72 -0
  165. package/dist/standalone/builds.d.ts +13 -4
  166. package/dist/standalone/builds.js +28 -44
  167. package/dist/standalone/computer-egress.d.ts +2 -0
  168. package/dist/standalone/computer-egress.js +13 -4
  169. package/dist/standalone/computer-fleet.d.ts +43 -0
  170. package/dist/standalone/computer-fleet.js +200 -0
  171. package/dist/standalone/computer.d.ts +44 -9
  172. package/dist/standalone/computer.js +129 -22
  173. package/dist/standalone/install-apps-cli.js +43 -6
  174. package/dist/standalone/instance.d.ts +2 -2
  175. package/dist/standalone/instance.js +8 -11
  176. package/dist/standalone/machine-link.d.ts +354 -0
  177. package/dist/standalone/machine-link.js +368 -0
  178. package/dist/standalone/media.d.ts +2 -2
  179. package/dist/standalone/media.js +19 -16
  180. package/dist/standalone/preview.d.ts +2 -2
  181. package/dist/standalone/preview.js +37 -10
  182. package/dist/standalone/registry.d.ts +149 -9
  183. package/dist/standalone/registry.js +299 -8
  184. package/dist/standalone/worker.d.ts +19 -5
  185. package/dist/standalone/worker.js +90 -54
  186. package/dist/standalone/workflow-binding.d.ts +18 -22
  187. package/dist/standalone/workflow-binding.js +18 -18
  188. package/dist/standalone/workflow-control.d.ts +4 -0
  189. package/dist/standalone/workflow-control.js +40 -0
  190. package/dist/standalone/workflow-events.d.ts +2 -2
  191. package/dist/standalone/workflow-events.js +9 -10
  192. package/dist/standalone/workflow-git-capture.js +4 -3
  193. package/dist/standalone/workflow-host.d.ts +162 -161
  194. package/dist/standalone/workflow-host.js +101 -21
  195. package/dist/standalone/workflow-node-capture.js +11 -4
  196. package/dist/standalone/workflow-schedules.d.ts +5 -2
  197. package/dist/standalone/workflow-schedules.js +9 -10
  198. package/dist/standalone/workflow-trigger-host.d.ts +65 -5
  199. package/dist/standalone/workflow-trigger-host.js +2 -2
  200. package/dist/standalone/workflow-webhooks.d.ts +22 -0
  201. package/dist/standalone/workflow-webhooks.js +39 -0
  202. package/dist/standalone/workflows.d.ts +140 -43
  203. package/dist/standalone/workflows.js +198 -39
  204. package/dist/storage-frame.d.ts +6 -6
  205. package/dist/testing/capabilities.js +14 -3
  206. package/dist/testing/installation.js +26 -2
  207. package/dist/testing/worker.js +1 -1
  208. package/dist/testing/workers-runtime.d.ts +8 -2
  209. package/dist/testing/workers-runtime.js +20 -2
  210. package/dist/webhook-abuse.d.ts +25 -0
  211. package/dist/webhook-abuse.js +54 -0
  212. package/dist/webhook-custody.d.ts +144 -0
  213. package/dist/webhook-custody.js +222 -0
  214. package/dist/webhook-ingress.d.ts +36 -0
  215. package/dist/webhook-ingress.js +146 -0
  216. package/dist/webhooks.d.ts +111 -0
  217. package/dist/webhooks.js +189 -0
  218. package/dist/workers-git.d.ts +12 -17
  219. package/dist/workers-git.js +60 -52
  220. package/dist/workers.d.ts +224 -13
  221. package/dist/workers.js +351 -51
  222. package/dist/workflow-agent-authority.d.ts +8 -0
  223. package/dist/workflow-agent-authority.js +42 -0
  224. package/dist/workflows.d.ts +66 -0
  225. package/dist/workflows.js +97 -0
  226. package/docs/api/README.md +63 -37
  227. package/docs/api/agents.md +17 -0
  228. package/docs/api/app-storage.md +1 -1
  229. package/docs/api/apps.md +1394 -543
  230. package/docs/api/browser/boot.md +132 -0
  231. package/docs/api/browser.md +1440 -0
  232. package/docs/api/build-contract.md +38 -25
  233. package/docs/api/build.md +263 -84
  234. package/docs/api/cloudflare.md +93 -7
  235. package/docs/api/git.md +3 -13
  236. package/docs/api/host.md +944 -118
  237. package/docs/api/index.md +320 -18
  238. package/docs/api/keys.md +24 -1
  239. package/docs/api/mcp.md +59 -12
  240. package/docs/api/modules.md +33 -40
  241. package/docs/api/pack.md +57 -8
  242. package/docs/api/page/mount.md +92 -4
  243. package/docs/api/workers-git.md +103 -24
  244. package/docs/api/workers.md +1581 -244
  245. package/docs/site/agent-quickstart.mdx +28 -14
  246. package/examples/standalone/worker.ts +3 -1
  247. package/examples/standalone/wrangler.jsonc +2 -0
  248. package/package.json +73 -71
  249. package/dist/installation-consent.d.ts +0 -81
  250. package/dist/installation-consent.js +0 -84
  251. package/dist/shell/app-directory.d.ts +0 -542
  252. package/dist/shell/app-directory.js +0 -196
  253. package/dist/shell/browser-actions.d.ts +0 -7
  254. package/dist/shell/browser-actions.js +0 -56
  255. package/dist/shell/command-host.d.ts +0 -112
  256. package/dist/shell/command-host.js +0 -502
  257. package/dist/shell/commands.d.ts +0 -25
  258. package/dist/shell/commands.js +0 -78
  259. package/dist/shell/index.d.ts +0 -8
  260. package/dist/shell/index.js +0 -8
  261. package/dist/shell/keys.d.ts +0 -41
  262. package/dist/shell/keys.js +0 -134
  263. package/dist/shell/shell-module.d.ts +0 -55
  264. package/dist/shell/shell-module.js +0 -86
  265. package/dist/shell/window-manager.d.ts +0 -128
  266. package/dist/shell/window-manager.js +0 -730
  267. package/dist/shell/workbench-contract.d.ts +0 -68
  268. package/dist/shell/workbench-directory.d.ts +0 -332
  269. package/dist/shell/workbench-directory.js +0 -35
  270. package/dist/shell/workbench-host-types.d.ts +0 -96
  271. package/dist/shell/workbench-host-types.js +0 -1
  272. package/dist/shell/workbench-host.d.ts +0 -34
  273. package/dist/shell/workbench-host.js +0 -352
  274. package/dist/shell/workbench-model.d.ts +0 -194
  275. package/dist/shell/workbench-model.js +0 -53
  276. package/dist/shell/workbench.d.ts +0 -4
  277. package/dist/shell/workbench.js +0 -2
  278. package/docs/api/shell/app-directory.md +0 -599
  279. package/docs/api/shell/command-host.md +0 -224
  280. package/docs/api/shell/commands.md +0 -197
  281. package/docs/api/shell/keys.md +0 -183
  282. package/docs/api/shell/shell-module.md +0 -204
  283. package/docs/api/shell/window-manager.md +0 -267
  284. package/docs/api/shell/workbench-directory.md +0 -119
  285. package/docs/api/shell/workbench.md +0 -205
  286. package/docs/api/shell.md +0 -1915
  287. /package/dist/{shell/workbench-contract.js → page/boot-host.d.ts} +0 -0
@@ -22,9 +22,9 @@ read the "If it fails" notes under it before trying anything else.
22
22
 
23
23
  ## 1. Check prerequisites
24
24
 
25
- You need Node 24 or newer, pnpm, Git, curl and openssl. You do not need a
26
- Cloudflare account until step 7. Docker is needed only in step 7, where Wrangler
27
- builds the Computer's container image.
25
+ You need Node 24 or newer, pnpm 11 or newer, Git, curl and openssl. You do not
26
+ need a Cloudflare account until step 7. Docker is needed only in step 7, where
27
+ Wrangler builds the Computer's container image.
28
28
 
29
29
  ```sh
30
30
  node --version
@@ -32,44 +32,58 @@ pnpm --version
32
32
  git --version
33
33
  ```
34
34
 
35
- Expected output: a `v24.` or later Node version, any pnpm version, then any
35
+ Expected output: a `v24.` or later Node version, pnpm 11 or newer, then any
36
36
  `git version 2.x` line.
37
37
 
38
38
  If it fails:
39
39
 
40
40
  - Wrong Node: install Node 24 with your version manager, for example
41
41
  `mise use node@24` or `nvm install 24`.
42
- - No pnpm: run `corepack enable`, or use `npm install` wherever this guide says
43
- `pnpm add`.
42
+ - No pnpm, or an older version: install pnpm 11 with `npm install -g pnpm@11`.
44
43
 
45
44
  ## 2. Create a project
46
45
 
47
46
  Make a new directory, install Oyster, its Computer and Wrangler, and copy the
48
- example Worker out of the package:
47
+ example Worker out of the package. The local pnpm policy allows esbuild and
48
+ workerd to install their native binaries and disables unneeded optional
49
+ dependency scripts. Write it before installing so neither command stops for
50
+ unapproved build scripts:
49
51
 
50
52
  ```sh
51
53
  mkdir my-oyster
52
54
  cd my-oyster
53
- pnpm add @fungi.computer/oyster @fungi.computer/computer
55
+ cat > pnpm-workspace.yaml <<'YAML'
56
+ allowBuilds:
57
+ "@google/genai": false
58
+ "@mongodb-js/zstd": false
59
+ esbuild: true
60
+ exifreader: false
61
+ node-liblzma: false
62
+ protobufjs: false
63
+ workerd: true
64
+ YAML
65
+ pnpm add @fungi.computer/oyster @fungi.computer/computer react@^19.2.0 react-dom@^19.2.0
54
66
  pnpm add -D wrangler
55
67
  cp node_modules/@fungi.computer/oyster/examples/standalone/worker.ts .
56
68
  cp node_modules/@fungi.computer/oyster/examples/standalone/wrangler.jsonc .
57
69
  ```
58
70
 
59
71
  Expected output: pnpm lists the added package after each `add`, and `ls` now
60
- shows `node_modules`, `package.json`, `worker.ts` and `wrangler.jsonc`.
72
+ shows `node_modules`, `package.json`, `pnpm-workspace.yaml`, `worker.ts` and
73
+ `wrangler.jsonc`.
61
74
 
62
75
  Every later command runs from this `my-oyster` directory unless the step says
63
76
  otherwise.
64
77
 
65
78
  If it fails:
66
79
 
67
- - `ERR_PNPM_IGNORED_BUILDS` naming packages such as `esbuild`, `workerd` or
68
- `protobufjs`: pnpm installed them without running their install scripts, and
69
- nothing in this guide needs those scripts. Go on.
80
+ - `ERR_PNPM_IGNORED_BUILDS`: check that the policy file above exists before
81
+ running `pnpm add`. If it names a new dependency not listed there, stop and
82
+ review that package before allowing its scripts; do not treat exit 1 as
83
+ success.
70
84
  - `cp: cannot stat …/examples/standalone/…`: the install did not finish. Run
71
- `pnpm add @fungi.computer/oyster @fungi.computer/computer` again and read its
72
- first error.
85
+ `pnpm add @fungi.computer/oyster @fungi.computer/computer react@^19.2.0 react-dom@^19.2.0`
86
+ again and read its first error.
73
87
 
74
88
  ## 3. Run a local Oyster
75
89
 
@@ -1,7 +1,9 @@
1
1
  // The whole Oyster: Apps installed from Releases, each with its own Durable
2
2
  // Object and SQLite; git through Artifacts; a Computer in a Cloudflare
3
3
  // Container that builds App sources and runs terminals and files; Agents on
4
- // Workers AI; Workflows; and media. Runs on Cloudflare Workers
4
+ // Workers AI; Workflows; media; and Browser Rendering for UI boot checks.
5
+ // wrangler.jsonc supplies BROWSER; Worker builds never fall back to localhost.
6
+ // Runs on Cloudflare Workers
5
7
  // (`wrangler deploy`) and on celld from the same code.
6
8
  export * from "@fungi.computer/oyster/standalone";
7
9
  export { default } from "@fungi.computer/oyster/standalone";
@@ -16,6 +16,8 @@
16
16
  },
17
17
  ],
18
18
  "worker_loaders": [{ "binding": "LOADER" }],
19
+ // Fresh, zero-grant UI boot checks run in Cloudflare Browser Rendering.
20
+ "browser": { "binding": "BROWSER" },
19
21
  "containers": [
20
22
  {
21
23
  "class_name": "ComputerDO",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fungi.computer/oyster",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "author": "Levi <levi@technomancy.dev>",
5
5
  "description": "Run your own Apps on Cloudflare Workers or celld: installable App Releases, each with its own Durable Object, SQLite database and declared bindings",
6
6
  "type": "module",
@@ -18,6 +18,10 @@
18
18
  "LICENSE"
19
19
  ],
20
20
  "imports": {
21
+ "#boot-host-script": {
22
+ "types": "./src/boot-host-script.d.ts",
23
+ "default": "./dist/boot-host-script.js"
24
+ },
21
25
  "#frame-binding-wire-script": {
22
26
  "types": "./src/frame-binding-wire-script.d.ts",
23
27
  "default": "./dist/frame-binding-wire-script.js"
@@ -40,6 +44,26 @@
40
44
  "types": "./dist/cloudflare.d.ts",
41
45
  "import": "./dist/cloudflare.js"
42
46
  },
47
+ "./boot-gate": {
48
+ "types": "./dist/boot-gate.d.ts",
49
+ "import": "./dist/boot-gate.js"
50
+ },
51
+ "./boot-capability": {
52
+ "types": "./dist/boot-capability.d.ts",
53
+ "import": "./dist/boot-capability.js"
54
+ },
55
+ "./boot-capability/route": {
56
+ "types": "./dist/boot-capability-route.d.ts",
57
+ "import": "./dist/boot-capability-route.js"
58
+ },
59
+ "./browser": {
60
+ "types": "./dist/browser/index.d.ts",
61
+ "import": "./dist/browser/index.js"
62
+ },
63
+ "./browser/boot": {
64
+ "types": "./dist/browser/boot.d.ts",
65
+ "import": "./dist/browser/boot.js"
66
+ },
43
67
  "./invocation": {
44
68
  "types": "./dist/invocation.d.ts",
45
69
  "import": "./dist/invocation.js"
@@ -80,42 +104,6 @@
80
104
  "types": "./dist/event-recipients.d.ts",
81
105
  "import": "./dist/event-recipients.js"
82
106
  },
83
- "./shell": {
84
- "types": "./dist/shell/index.d.ts",
85
- "import": "./dist/shell/index.js"
86
- },
87
- "./shell/workbench": {
88
- "types": "./dist/shell/workbench.d.ts",
89
- "import": "./dist/shell/workbench.js"
90
- },
91
- "./shell/shell-module": {
92
- "types": "./dist/shell/shell-module.d.ts",
93
- "import": "./dist/shell/shell-module.js"
94
- },
95
- "./shell/command-host": {
96
- "types": "./dist/shell/command-host.d.ts",
97
- "import": "./dist/shell/command-host.js"
98
- },
99
- "./shell/keys": {
100
- "types": "./dist/shell/keys.d.ts",
101
- "import": "./dist/shell/keys.js"
102
- },
103
- "./shell/commands": {
104
- "types": "./dist/shell/commands.d.ts",
105
- "import": "./dist/shell/commands.js"
106
- },
107
- "./shell/window-manager": {
108
- "types": "./dist/shell/window-manager.d.ts",
109
- "import": "./dist/shell/window-manager.js"
110
- },
111
- "./shell/app-directory": {
112
- "types": "./dist/shell/app-directory.d.ts",
113
- "import": "./dist/shell/app-directory.js"
114
- },
115
- "./shell/workbench-directory": {
116
- "types": "./dist/shell/workbench-directory.d.ts",
117
- "import": "./dist/shell/workbench-directory.js"
118
- },
119
107
  "./app-storage": {
120
108
  "types": "./dist/app-storage.d.ts",
121
109
  "import": "./dist/app-storage.js"
@@ -124,6 +112,10 @@
124
112
  "types": "./dist/mcp.d.ts",
125
113
  "import": "./dist/mcp.js"
126
114
  },
115
+ "./workflows": {
116
+ "types": "./dist/workflows.d.ts",
117
+ "import": "./dist/workflows.js"
118
+ },
127
119
  "./files": {
128
120
  "types": "./dist/files.d.ts",
129
121
  "import": "./dist/files.js"
@@ -239,46 +231,63 @@
239
231
  "./testing/worker": {
240
232
  "types": "./dist/testing/worker.d.ts",
241
233
  "import": "./dist/testing/worker.js"
234
+ },
235
+ "./machine-link": {
236
+ "types": "./dist/machine-link/index.d.ts",
237
+ "import": "./dist/machine-link/index.js"
238
+ },
239
+ "./machine-link/workers": {
240
+ "types": "./dist/machine-link/workers.d.ts",
241
+ "import": "./dist/machine-link/workers.js"
242
242
  }
243
243
  },
244
244
  "dependencies": {
245
- "@fungi.computer/agar": "0.2.0",
246
- "@fungi.computer/burrow": "0.0.2",
247
- "@fungi.computer/cairn": "0.0.1",
248
- "@fungi.computer/ear-tag": "0.0.2",
249
- "@fungi.computer/caps": "0.1.0",
250
- "@fungi.computer/carrier": "0.0.1",
251
- "@fungi.computer/forage": "0.1.0",
252
- "@fungi.computer/gills": "0.1.0",
253
- "@fungi.computer/knapsack": "0.1.0",
254
- "@fungi.computer/mycelium": "0.1.0",
255
- "@fungi.computer/puffball": "0.1.0",
256
- "@fungi.computer/sigils": "0.1.0",
257
- "@fungi.computer/sprite": "0.1.0",
258
- "@fungi.computer/sprite-zdog": "0.1.0",
259
- "@fungi.computer/watchdog": "0.0.1",
260
- "@fungi.computer/whistle": "0.0.2",
245
+ "@cfworker/json-schema": "4.1.1",
246
+ "@earendil-works/pi-ai": "1.3.0",
247
+ "@fungi.computer/agar": "0.3.0",
248
+ "@fungi.computer/bird-dog": "0.1.0",
249
+ "@fungi.computer/braid": "0.2.0",
250
+ "@fungi.computer/burrow": "0.1.0",
251
+ "@fungi.computer/cairn": "0.1.0",
252
+ "@fungi.computer/capnweb": "0.12.0",
253
+ "@fungi.computer/caps": "0.2.0",
254
+ "@fungi.computer/carrier": "0.1.0",
255
+ "@fungi.computer/computer": "0.2.0",
256
+ "@fungi.computer/computer-contract": "0.0.1",
257
+ "@fungi.computer/darkroom": "0.2.0",
258
+ "@fungi.computer/ear-tag": "0.1.0",
259
+ "@fungi.computer/forage": "0.2.0",
260
+ "@fungi.computer/gills": "0.2.0",
261
+ "@fungi.computer/knapsack": "0.2.0",
262
+ "@fungi.computer/mycelium": "0.2.0",
263
+ "@fungi.computer/nacre": "0.0.1",
264
+ "@fungi.computer/puffball": "0.2.0",
265
+ "@fungi.computer/seam": "0.1.0",
266
+ "@fungi.computer/shiitake": "0.3.0",
267
+ "@fungi.computer/shiitake-extensions": "0.1.0",
268
+ "@fungi.computer/sigils": "0.2.0",
269
+ "@fungi.computer/sprite": "0.2.0",
270
+ "@fungi.computer/sprite-zdog": "0.2.0",
271
+ "@fungi.computer/veil": "0.2.0",
272
+ "@fungi.computer/watchdog": "0.1.0",
273
+ "@fungi.computer/whistle": "0.1.0",
274
+ "@fungi.computer/workflows-wire": "0.2.0",
275
+ "@fungi.computer/zookeeper": "0.0.1",
261
276
  "@modelcontextprotocol/server": "2.0.0",
262
277
  "@pnpm/lockfile.fs": "1100.2.13",
263
278
  "@pnpm/lockfile.pruner": "1100.0.27",
264
- "@fungi.computer/capnweb": "0.12.0",
265
279
  "effect": "4.0.2",
266
280
  "esbuild": "0.28.2",
281
+ "eventsource": "5.1.1",
267
282
  "fast-json-stable-stringify": "2.1.0",
268
283
  "hono": "4.13.5",
269
284
  "jose": "6.2.11",
270
285
  "mime": "4.1.0",
271
- "path-to-regexp": "8.4.2",
272
- "zod": "4.4.3",
273
286
  "oauth4webapi": "3.8.8",
274
- "@cfworker/json-schema": "4.1.1",
275
- "@earendil-works/pi-ai": "0.99.2",
276
- "@fungi.computer/braid": "0.1.0",
277
- "@fungi.computer/computer": "0.1.0",
278
- "@fungi.computer/darkroom": "0.1.0",
279
- "@fungi.computer/shiitake": "0.2.0",
280
- "@fungi.computer/veil": "0.1.0",
281
- "@fungi.computer/workflows-wire": "0.1.0"
287
+ "path-to-regexp": "8.4.2",
288
+ "strip-ansi": "7.2.0",
289
+ "parse5": "8.0.1",
290
+ "zod": "4.4.3"
282
291
  },
283
292
  "license": "MIT",
284
293
  "peerDependencies": {
@@ -294,12 +303,5 @@
294
303
  "repository": {
295
304
  "type": "git",
296
305
  "url": "git+https://github.com/fungi-computer/oyster.git"
297
- },
298
- "fungi": {
299
- "build": {
300
- "typescript": [
301
- "src/shell/tsconfig.build.json"
302
- ]
303
- }
304
306
  }
305
307
  }
@@ -1,81 +0,0 @@
1
- import * as Schema from "effect/Schema";
2
- /** Private view projection. The installation reducer decodes all submitted grants. */
3
- export declare const installationConsentSchema: Schema.Struct<{
4
- readonly installationId: Schema.String;
5
- readonly appId: Schema.String;
6
- readonly appName: Schema.String;
7
- readonly authorityVersion: Schema.Int;
8
- readonly artifactDigest: Schema.refine<import("@fungi.computer/puffball").Sha256Digest, Schema.String>;
9
- readonly capabilities: Schema.$Array<Schema.Struct<{
10
- readonly request: Schema.Struct<{
11
- readonly capability: Schema.Literals<readonly ["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"]>;
12
- readonly operations: Schema.$Array<Schema.String>;
13
- readonly resources: Schema.Codec<Schema.Json, Schema.Json, never, never>;
14
- }>;
15
- readonly approved: Schema.Boolean;
16
- readonly description: Schema.String;
17
- readonly scope: Schema.String;
18
- }>>;
19
- }>;
20
- /** Human consent copy; these labels never decide authority or operation mappings. */
21
- export declare const capabilityLabels: {
22
- "agent.list": string;
23
- "agent.manage": string;
24
- "agent.rename": string;
25
- "agent.avatar": string;
26
- "agent.toolPolicy": string;
27
- "agent.read": string;
28
- "agent.send": string;
29
- "computer.list": string;
30
- "computer.readFile": string;
31
- "computer.writeFile": string;
32
- "computer.execute": string;
33
- "llm.generation": string;
34
- "media.generation": string;
35
- "games:servers": string;
36
- "git.repository": string;
37
- "apps.open": string;
38
- "apps.call": string;
39
- "app.storage": string;
40
- "app.events.emit": string;
41
- "team.workbenchHost": string;
42
- "marketplace.browse": string;
43
- "marketplace.purchase": string;
44
- "workflow.run": string;
45
- "workflow.publish": string;
46
- "workflow.arm": string;
47
- world: string;
48
- "channels.read": string;
49
- "channels.personal.manage": string;
50
- };
51
- /** Plain descriptions of the declared capability; copy never infers extra access. */
52
- export declare const capabilityDescriptions: {
53
- "agent.list": string;
54
- "agent.manage": string;
55
- "agent.rename": string;
56
- "agent.avatar": string;
57
- "agent.toolPolicy": string;
58
- "agent.read": string;
59
- "agent.send": string;
60
- "computer.list": string;
61
- "computer.readFile": string;
62
- "computer.writeFile": string;
63
- "computer.execute": string;
64
- "llm.generation": string;
65
- "media.generation": string;
66
- "games:servers": string;
67
- "git.repository": string;
68
- "apps.open": string;
69
- "apps.call": string;
70
- "app.storage": string;
71
- "app.events.emit": string;
72
- "team.workbenchHost": string;
73
- "marketplace.browse": string;
74
- "marketplace.purchase": string;
75
- "workflow.run": string;
76
- "workflow.publish": string;
77
- "workflow.arm": string;
78
- world: string;
79
- "channels.read": string;
80
- "channels.personal.manage": string;
81
- };
@@ -1,84 +0,0 @@
1
- import * as Schema from "effect/Schema";
2
- import { sha256DigestSchema } from "@fungi.computer/puffball/effect";
3
- import { appCapabilityIdSchema, } from "@fungi.computer/puffball/app";
4
- /** Private view projection. The installation reducer decodes all submitted grants. */
5
- export const installationConsentSchema = Schema.Struct({
6
- installationId: Schema.String,
7
- appId: Schema.String,
8
- appName: Schema.String,
9
- authorityVersion: Schema.Int,
10
- artifactDigest: sha256DigestSchema,
11
- capabilities: Schema.Array(Schema.Struct({
12
- request: Schema.Struct({
13
- capability: appCapabilityIdSchema,
14
- operations: Schema.Array(Schema.String),
15
- // Preserve the owner's resource selector as JSON; this view cannot mint authority.
16
- resources: Schema.Json,
17
- }),
18
- approved: Schema.Boolean,
19
- description: Schema.String,
20
- scope: Schema.String,
21
- })),
22
- });
23
- /** Human consent copy; these labels never decide authority or operation mappings. */
24
- export const capabilityLabels = {
25
- "agent.list": "List Agents",
26
- "agent.manage": "Create and manage Agents",
27
- "agent.rename": "Rename Agents",
28
- "agent.avatar": "Change Agent avatars",
29
- "agent.toolPolicy": "Allow Agents to use Apps",
30
- "agent.read": "Read Agent conversations",
31
- "agent.send": "Send messages to Agents",
32
- "computer.list": "List Computers",
33
- "computer.readFile": "Read files",
34
- "computer.writeFile": "Change files",
35
- "computer.execute": "Run commands",
36
- "llm.generation": "Generate text",
37
- "media.generation": "Generate images and videos",
38
- "games:servers": "Use game servers",
39
- "git.repository": "Use Git repositories",
40
- "apps.open": "Open Apps",
41
- "apps.call": "Call declared App methods",
42
- "app.storage": "Store App data",
43
- "app.events.emit": "Send events",
44
- "team.workbenchHost": "Arrange the workbench",
45
- "marketplace.browse": "Browse the marketplace",
46
- "marketplace.purchase": "Purchase from the marketplace",
47
- "workflow.run": "Run Workflows",
48
- "workflow.publish": "Publish Workflows",
49
- "workflow.arm": "Arm Workflow triggers",
50
- world: "Connect to external services",
51
- "channels.read": "Read channels",
52
- "channels.personal.manage": "Manage personal channels",
53
- };
54
- /** Plain descriptions of the declared capability; copy never infers extra access. */
55
- export const capabilityDescriptions = {
56
- "agent.list": "see which Agents are available.",
57
- "agent.manage": "create Agents and manage their sessions.",
58
- "agent.rename": "rename Agents you created.",
59
- "agent.avatar": "change the avatars of Agents you created.",
60
- "agent.toolPolicy": "approve Agents to use your installed Apps.",
61
- "agent.read": "read Agent conversations.",
62
- "agent.send": "send messages to Agents.",
63
- "computer.list": "see which Computers are available.",
64
- "computer.readFile": "read files on your Computers.",
65
- "computer.writeFile": "create and change files on your Computers.",
66
- "computer.execute": "run commands on your Computers.",
67
- "llm.generation": "ask AI models to generate text.",
68
- "media.generation": "ask AI models to generate images and videos.",
69
- "games:servers": "connect to game servers.",
70
- "git.repository": "work with Git repositories.",
71
- "apps.open": "open other Apps.",
72
- "apps.call": "call the listed methods in other Apps as you. Renamed target methods need approval again.",
73
- "app.storage": "save its App data on your Oyster.",
74
- "app.events.emit": "tell your Workflows when something happens.",
75
- "team.workbenchHost": "arrange Apps on your workbench.",
76
- "marketplace.browse": "browse Apps in the marketplace.",
77
- "marketplace.purchase": "purchase Apps from the marketplace.",
78
- "workflow.run": "start Workflows.",
79
- "workflow.publish": "publish Workflow definitions.",
80
- "workflow.arm": "enable Workflow triggers.",
81
- world: "connect to external services.",
82
- "channels.read": "read messages from channels.",
83
- "channels.personal.manage": "manage personal channels.",
84
- };