@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
@@ -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.1.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,44 +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.1.0",
246
- "@fungi.computer/burrow": "0.0.2",
247
- "@fungi.computer/cairn": "0.0.1",
248
- "@fungi.computer/ear-tag": "0.0.1",
249
- "@fungi.computer/caps": "0.0.2",
250
- "@fungi.computer/carrier": "0.0.1",
251
- "@fungi.computer/forage": "0.0.2",
252
- "@fungi.computer/gills": "0.0.1",
253
- "@fungi.computer/knapsack": "0.0.2",
254
- "@fungi.computer/mycelium": "0.0.2",
255
- "@fungi.computer/puffball": "0.0.2",
256
- "@fungi.computer/sigils": "0.0.1",
257
- "@fungi.computer/watchdog": "0.0.1",
258
- "@fungi.computer/whistle": "0.0.1",
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",
259
276
  "@modelcontextprotocol/server": "2.0.0",
260
277
  "@pnpm/lockfile.fs": "1100.2.13",
261
278
  "@pnpm/lockfile.pruner": "1100.0.27",
262
- "@fungi.computer/capnweb": "0.12.0",
263
279
  "effect": "4.0.2",
264
280
  "esbuild": "0.28.2",
281
+ "eventsource": "5.1.1",
265
282
  "fast-json-stable-stringify": "2.1.0",
266
283
  "hono": "4.13.5",
267
284
  "jose": "6.2.11",
268
285
  "mime": "4.1.0",
269
- "path-to-regexp": "8.4.2",
270
- "zod": "4.4.3",
271
286
  "oauth4webapi": "3.8.8",
272
- "@cfworker/json-schema": "4.1.1",
273
- "@earendil-works/pi-ai": "0.99.2",
274
- "@fungi.computer/braid": "0.0.1",
275
- "@fungi.computer/computer": "0.0.1",
276
- "@fungi.computer/darkroom": "0.0.1",
277
- "@fungi.computer/shiitake": "0.1.0",
278
- "@fungi.computer/veil": "0.0.1",
279
- "@fungi.computer/workflows-wire": "0.0.1"
287
+ "path-to-regexp": "8.4.2",
288
+ "strip-ansi": "7.2.0",
289
+ "parse5": "8.0.1",
290
+ "zod": "4.4.3"
280
291
  },
281
292
  "license": "MIT",
282
293
  "peerDependencies": {
@@ -292,12 +303,5 @@
292
303
  "repository": {
293
304
  "type": "git",
294
305
  "url": "git+https://github.com/fungi-computer/oyster.git"
295
- },
296
- "fungi": {
297
- "build": {
298
- "typescript": [
299
- "src/shell/tsconfig.build.json"
300
- ]
301
- }
302
306
  }
303
307
  }
@@ -1,79 +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.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.toolPolicy": string;
26
- "agent.read": string;
27
- "agent.send": string;
28
- "computer.list": string;
29
- "computer.readFile": string;
30
- "computer.writeFile": string;
31
- "computer.execute": string;
32
- "llm.generation": string;
33
- "media.generation": string;
34
- "games:servers": string;
35
- "git.repository": string;
36
- "apps.open": string;
37
- "apps.call": string;
38
- "app.storage": string;
39
- "app.events.emit": string;
40
- "team.workbenchHost": string;
41
- "marketplace.browse": string;
42
- "marketplace.purchase": string;
43
- "workflow.run": string;
44
- "workflow.publish": string;
45
- "workflow.arm": string;
46
- world: string;
47
- "channels.read": string;
48
- "channels.personal.manage": string;
49
- };
50
- /** Plain descriptions of the declared capability; copy never infers extra access. */
51
- export declare const capabilityDescriptions: {
52
- "agent.list": string;
53
- "agent.manage": string;
54
- "agent.rename": string;
55
- "agent.toolPolicy": string;
56
- "agent.read": string;
57
- "agent.send": string;
58
- "computer.list": string;
59
- "computer.readFile": string;
60
- "computer.writeFile": string;
61
- "computer.execute": string;
62
- "llm.generation": string;
63
- "media.generation": string;
64
- "games:servers": string;
65
- "git.repository": string;
66
- "apps.open": string;
67
- "apps.call": string;
68
- "app.storage": string;
69
- "app.events.emit": string;
70
- "team.workbenchHost": string;
71
- "marketplace.browse": string;
72
- "marketplace.purchase": string;
73
- "workflow.run": string;
74
- "workflow.publish": string;
75
- "workflow.arm": string;
76
- world: string;
77
- "channels.read": string;
78
- "channels.personal.manage": string;
79
- };
@@ -1,82 +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.toolPolicy": "Allow Agents to use Apps",
29
- "agent.read": "Read Agent conversations",
30
- "agent.send": "Send messages to Agents",
31
- "computer.list": "List Computers",
32
- "computer.readFile": "Read files",
33
- "computer.writeFile": "Change files",
34
- "computer.execute": "Run commands",
35
- "llm.generation": "Generate text",
36
- "media.generation": "Generate images and videos",
37
- "games:servers": "Use game servers",
38
- "git.repository": "Use Git repositories",
39
- "apps.open": "Open Apps",
40
- "apps.call": "Call declared App methods",
41
- "app.storage": "Store App data",
42
- "app.events.emit": "Send events",
43
- "team.workbenchHost": "Arrange the workbench",
44
- "marketplace.browse": "Browse the marketplace",
45
- "marketplace.purchase": "Purchase from the marketplace",
46
- "workflow.run": "Run Workflows",
47
- "workflow.publish": "Publish Workflows",
48
- "workflow.arm": "Arm Workflow triggers",
49
- world: "Connect to external services",
50
- "channels.read": "Read channels",
51
- "channels.personal.manage": "Manage personal channels",
52
- };
53
- /** Plain descriptions of the declared capability; copy never infers extra access. */
54
- export const capabilityDescriptions = {
55
- "agent.list": "see which Agents are available.",
56
- "agent.manage": "create Agents and manage their sessions.",
57
- "agent.rename": "rename Agents you created.",
58
- "agent.toolPolicy": "approve Agents to use your installed Apps.",
59
- "agent.read": "read Agent conversations.",
60
- "agent.send": "send messages to Agents.",
61
- "computer.list": "see which Computers are available.",
62
- "computer.readFile": "read files on your Computers.",
63
- "computer.writeFile": "create and change files on your Computers.",
64
- "computer.execute": "run commands on your Computers.",
65
- "llm.generation": "ask AI models to generate text.",
66
- "media.generation": "ask AI models to generate images and videos.",
67
- "games:servers": "connect to game servers.",
68
- "git.repository": "work with Git repositories.",
69
- "apps.open": "open other Apps.",
70
- "apps.call": "call the listed methods in other Apps as you. Renamed target methods need approval again.",
71
- "app.storage": "save its App data on your Oyster.",
72
- "app.events.emit": "tell your Workflows when something happens.",
73
- "team.workbenchHost": "arrange Apps on your workbench.",
74
- "marketplace.browse": "browse Apps in the marketplace.",
75
- "marketplace.purchase": "purchase Apps from the marketplace.",
76
- "workflow.run": "start Workflows.",
77
- "workflow.publish": "publish Workflow definitions.",
78
- "workflow.arm": "enable Workflow triggers.",
79
- world: "connect to external services.",
80
- "channels.read": "read messages from channels.",
81
- "channels.personal.manage": "manage personal channels.",
82
- };