@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,10 +22,16 @@ type CatalogEventSummary = Readonly<{
22
22
  /** The standalone host's installation admission, above the portable engine. */
23
23
  export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner, host: StandaloneWorkflowHost, options: Readonly<{
24
24
  authority(libraryInstallationId: string): WorkflowRunAuthority;
25
+ /** The standalone root's live canonical owner, never an App-supplied actor. */
26
+ lifecycleMember(): Promise<Readonly<{
27
+ memberId: string;
28
+ membershipVersion: number;
29
+ }> | null>;
25
30
  /** Whether this member may have run endings reported to the Agent Session. */
26
31
  admitDelivery(memberId: string, delivery: WorkflowRunDelivery): Promise<boolean>;
27
32
  }>): {
28
33
  store: {
34
+ markTerminal(runId: string, outcome?: "terminal" | "cancelled" | undefined): void;
29
35
  read: (runId: string) => import("@fungi.computer/braid/runtime").GraphRun | null;
30
36
  list(filter: {
31
37
  installationId: string;
@@ -36,7 +42,6 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
36
42
  })[];
37
43
  active(): readonly import("@fungi.computer/braid/runtime").GraphRun[];
38
44
  outcome(runId: string): "active" | "terminal" | "cancelled" | null;
39
- markTerminal(runId: string, outcome?: "terminal" | "cancelled"): void;
40
45
  startCompiled: (input: import("@fungi.computer/braid/runtime").GraphRun) => "started" | "replay" | "conflict";
41
46
  start(input: import("@fungi.computer/braid/runtime").GraphRun): Promise<"started" | "replay" | "conflict">;
42
47
  recordEvent(input: NodeEvent): void;
@@ -53,6 +58,12 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
53
58
  readonly iteration: string;
54
59
  readonly instanceId: string;
55
60
  readonly eventType: string;
61
+ readonly position?: readonly {
62
+ readonly node: string;
63
+ readonly loop: "repeat" | "map";
64
+ readonly index: number;
65
+ readonly count: number;
66
+ }[];
56
67
  readonly choices?: readonly string[];
57
68
  };
58
69
  status: "closed" | "pending" | "answered" | "delivered" | "timed_out";
@@ -72,7 +83,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
72
83
  admitLibrary: (installationId: string, operation: string) => Promise<{
73
84
  installation: Readonly<{
74
85
  installationId: string;
75
- instanceId: import("../index.js").InstanceId | null;
86
+ instanceId: import("../instance-id.js").InstanceId | null;
76
87
  appId: import("@fungi.computer/puffball").AppId;
77
88
  release: {
78
89
  readonly releaseId: import("@fungi.computer/puffball").ReleaseId;
@@ -88,33 +99,35 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
88
99
  };
89
100
  };
90
101
  releasePin: "pinned" | "floating";
91
- authorityVersion: number;
102
+ authority: {
103
+ authorityVersion: number;
104
+ declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
105
+ approvedGrants: readonly Readonly<{
106
+ capability: "approvals" | "agent.list" | "agent.manage" | "agent.rename" | "agent.avatar" | "agent.toolPolicy" | "agent.read" | "agent.send" | "computer.list" | "computer.readFile" | "computer.writeFile" | "computer.execute" | "llm.generation" | "media.generation" | "games:servers" | "git.repository" | "apps.open" | "apps.call" | "app.storage" | "app.events.emit" | "team.workbenchHost" | "marketplace.browse" | "marketplace.purchase" | "workflow.run" | "workflow.publish" | "workflow.arm" | "world" | "channels.read" | "channels.personal.manage";
107
+ capabilityApproved: true;
108
+ operations: readonly string[];
109
+ resources: "tenant-scope" | readonly Readonly<{
110
+ kind: string;
111
+ id: string;
112
+ }>[];
113
+ }>[];
114
+ approval: Readonly<{
115
+ by: {
116
+ kind: "member";
117
+ memberId: string;
118
+ } | {
119
+ kind: "agent";
120
+ agentId: string;
121
+ } | {
122
+ kind: "team-key";
123
+ keyId: string;
124
+ };
125
+ at: number;
126
+ authorityVersion: number;
127
+ }> | null;
128
+ };
92
129
  status: "enabled" | "disabled" | "deleted";
93
130
  visibility: "private" | "public";
94
- declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
95
- approvedGrants: readonly Readonly<{
96
- capability: "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";
97
- capabilityApproved: true;
98
- operations: readonly string[];
99
- resources: "tenant-scope" | readonly Readonly<{
100
- kind: string;
101
- id: string;
102
- }>[];
103
- }>[];
104
- approval: Readonly<{
105
- by: {
106
- kind: "member";
107
- memberId: string;
108
- } | {
109
- kind: "agent";
110
- agentId: string;
111
- } | {
112
- kind: "team-key";
113
- keyId: string;
114
- };
115
- at: number;
116
- authorityVersion: number;
117
- }> | null;
118
131
  approvedAnonymousMethods: readonly Readonly<{
119
132
  name: string;
120
133
  digest: import("@fungi.computer/puffball").Sha256Digest;
@@ -154,7 +167,6 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
154
167
  }>;
155
168
  }>;
156
169
  admitInvocation: (raw: InvocationFacts, operation: string) => Promise<{
157
- libraryId: string;
158
170
  context: {
159
171
  computerId: string | null;
160
172
  actor: {
@@ -191,9 +203,10 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
191
203
  } | undefined;
192
204
  idempotencyKey?: string | undefined;
193
205
  };
206
+ libraryId: string;
194
207
  installationAuthority: {
195
208
  selection: {
196
- readonly instanceId: import("../index.js").InstanceId;
209
+ readonly instanceId: import("../instance-id.js").InstanceId;
197
210
  readonly owner: {
198
211
  readonly kind: "installation" | "deployment";
199
212
  readonly id: string;
@@ -206,7 +219,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
206
219
  };
207
220
  installation: Readonly<{
208
221
  installationId: string;
209
- instanceId: import("../index.js").InstanceId | null;
222
+ instanceId: import("../instance-id.js").InstanceId | null;
210
223
  appId: import("@fungi.computer/puffball").AppId;
211
224
  release: {
212
225
  readonly releaseId: import("@fungi.computer/puffball").ReleaseId;
@@ -222,33 +235,35 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
222
235
  };
223
236
  };
224
237
  releasePin: "pinned" | "floating";
225
- authorityVersion: number;
238
+ authority: {
239
+ authorityVersion: number;
240
+ declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
241
+ approvedGrants: readonly Readonly<{
242
+ capability: "approvals" | "agent.list" | "agent.manage" | "agent.rename" | "agent.avatar" | "agent.toolPolicy" | "agent.read" | "agent.send" | "computer.list" | "computer.readFile" | "computer.writeFile" | "computer.execute" | "llm.generation" | "media.generation" | "games:servers" | "git.repository" | "apps.open" | "apps.call" | "app.storage" | "app.events.emit" | "team.workbenchHost" | "marketplace.browse" | "marketplace.purchase" | "workflow.run" | "workflow.publish" | "workflow.arm" | "world" | "channels.read" | "channels.personal.manage";
243
+ capabilityApproved: true;
244
+ operations: readonly string[];
245
+ resources: "tenant-scope" | readonly Readonly<{
246
+ kind: string;
247
+ id: string;
248
+ }>[];
249
+ }>[];
250
+ approval: Readonly<{
251
+ by: {
252
+ kind: "member";
253
+ memberId: string;
254
+ } | {
255
+ kind: "agent";
256
+ agentId: string;
257
+ } | {
258
+ kind: "team-key";
259
+ keyId: string;
260
+ };
261
+ at: number;
262
+ authorityVersion: number;
263
+ }> | null;
264
+ };
226
265
  status: "enabled" | "disabled" | "deleted";
227
266
  visibility: "private" | "public";
228
- declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
229
- approvedGrants: readonly Readonly<{
230
- capability: "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";
231
- capabilityApproved: true;
232
- operations: readonly string[];
233
- resources: "tenant-scope" | readonly Readonly<{
234
- kind: string;
235
- id: string;
236
- }>[];
237
- }>[];
238
- approval: Readonly<{
239
- by: {
240
- kind: "member";
241
- memberId: string;
242
- } | {
243
- kind: "agent";
244
- agentId: string;
245
- } | {
246
- kind: "team-key";
247
- keyId: string;
248
- };
249
- at: number;
250
- authorityVersion: number;
251
- }> | null;
252
267
  approvedAnonymousMethods: readonly Readonly<{
253
268
  name: string;
254
269
  digest: import("@fungi.computer/puffball").Sha256Digest;
@@ -290,7 +305,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
290
305
  triggerAuthority: (installationId: string) => Promise<{
291
306
  installation: Readonly<{
292
307
  installationId: string;
293
- instanceId: import("../index.js").InstanceId | null;
308
+ instanceId: import("../instance-id.js").InstanceId | null;
294
309
  appId: import("@fungi.computer/puffball").AppId;
295
310
  release: {
296
311
  readonly releaseId: import("@fungi.computer/puffball").ReleaseId;
@@ -306,33 +321,35 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
306
321
  };
307
322
  };
308
323
  releasePin: "pinned" | "floating";
309
- authorityVersion: number;
324
+ authority: {
325
+ authorityVersion: number;
326
+ declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
327
+ approvedGrants: readonly Readonly<{
328
+ capability: "approvals" | "agent.list" | "agent.manage" | "agent.rename" | "agent.avatar" | "agent.toolPolicy" | "agent.read" | "agent.send" | "computer.list" | "computer.readFile" | "computer.writeFile" | "computer.execute" | "llm.generation" | "media.generation" | "games:servers" | "git.repository" | "apps.open" | "apps.call" | "app.storage" | "app.events.emit" | "team.workbenchHost" | "marketplace.browse" | "marketplace.purchase" | "workflow.run" | "workflow.publish" | "workflow.arm" | "world" | "channels.read" | "channels.personal.manage";
329
+ capabilityApproved: true;
330
+ operations: readonly string[];
331
+ resources: "tenant-scope" | readonly Readonly<{
332
+ kind: string;
333
+ id: string;
334
+ }>[];
335
+ }>[];
336
+ approval: Readonly<{
337
+ by: {
338
+ kind: "member";
339
+ memberId: string;
340
+ } | {
341
+ kind: "agent";
342
+ agentId: string;
343
+ } | {
344
+ kind: "team-key";
345
+ keyId: string;
346
+ };
347
+ at: number;
348
+ authorityVersion: number;
349
+ }> | null;
350
+ };
310
351
  status: "enabled" | "disabled" | "deleted";
311
352
  visibility: "private" | "public";
312
- declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
313
- approvedGrants: readonly Readonly<{
314
- capability: "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";
315
- capabilityApproved: true;
316
- operations: readonly string[];
317
- resources: "tenant-scope" | readonly Readonly<{
318
- kind: string;
319
- id: string;
320
- }>[];
321
- }>[];
322
- approval: Readonly<{
323
- by: {
324
- kind: "member";
325
- memberId: string;
326
- } | {
327
- kind: "agent";
328
- agentId: string;
329
- } | {
330
- kind: "team-key";
331
- keyId: string;
332
- };
333
- at: number;
334
- authorityVersion: number;
335
- }> | null;
336
353
  approvedAnonymousMethods: readonly Readonly<{
337
354
  name: string;
338
355
  digest: import("@fungi.computer/puffball").Sha256Digest;
@@ -354,7 +371,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
354
371
  }>;
355
372
  pin: {
356
373
  selection: {
357
- readonly instanceId: import("../index.js").InstanceId;
374
+ readonly instanceId: import("../instance-id.js").InstanceId;
358
375
  readonly owner: {
359
376
  readonly kind: "installation" | "deployment";
360
377
  readonly id: string;
@@ -407,7 +424,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
407
424
  (library: Awaited<ReturnType<(installationId: string) => Promise<{
408
425
  installation: Readonly<{
409
426
  installationId: string;
410
- instanceId: import("../index.js").InstanceId | null;
427
+ instanceId: import("../instance-id.js").InstanceId | null;
411
428
  appId: import("@fungi.computer/puffball").AppId;
412
429
  release: {
413
430
  readonly releaseId: import("@fungi.computer/puffball").ReleaseId;
@@ -423,33 +440,35 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
423
440
  };
424
441
  };
425
442
  releasePin: "pinned" | "floating";
426
- authorityVersion: number;
443
+ authority: {
444
+ authorityVersion: number;
445
+ declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
446
+ approvedGrants: readonly Readonly<{
447
+ capability: "approvals" | "agent.list" | "agent.manage" | "agent.rename" | "agent.avatar" | "agent.toolPolicy" | "agent.read" | "agent.send" | "computer.list" | "computer.readFile" | "computer.writeFile" | "computer.execute" | "llm.generation" | "media.generation" | "games:servers" | "git.repository" | "apps.open" | "apps.call" | "app.storage" | "app.events.emit" | "team.workbenchHost" | "marketplace.browse" | "marketplace.purchase" | "workflow.run" | "workflow.publish" | "workflow.arm" | "world" | "channels.read" | "channels.personal.manage";
448
+ capabilityApproved: true;
449
+ operations: readonly string[];
450
+ resources: "tenant-scope" | readonly Readonly<{
451
+ kind: string;
452
+ id: string;
453
+ }>[];
454
+ }>[];
455
+ approval: Readonly<{
456
+ by: {
457
+ kind: "member";
458
+ memberId: string;
459
+ } | {
460
+ kind: "agent";
461
+ agentId: string;
462
+ } | {
463
+ kind: "team-key";
464
+ keyId: string;
465
+ };
466
+ at: number;
467
+ authorityVersion: number;
468
+ }> | null;
469
+ };
427
470
  status: "enabled" | "disabled" | "deleted";
428
471
  visibility: "private" | "public";
429
- declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
430
- approvedGrants: readonly Readonly<{
431
- capability: "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";
432
- capabilityApproved: true;
433
- operations: readonly string[];
434
- resources: "tenant-scope" | readonly Readonly<{
435
- kind: string;
436
- id: string;
437
- }>[];
438
- }>[];
439
- approval: Readonly<{
440
- by: {
441
- kind: "member";
442
- memberId: string;
443
- } | {
444
- kind: "agent";
445
- agentId: string;
446
- } | {
447
- kind: "team-key";
448
- keyId: string;
449
- };
450
- at: number;
451
- authorityVersion: number;
452
- }> | null;
453
472
  approvedAnonymousMethods: readonly Readonly<{
454
473
  name: string;
455
474
  digest: import("@fungi.computer/puffball").Sha256Digest;
@@ -505,7 +524,7 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
505
524
  (library: Awaited<ReturnType<(installationId: string) => Promise<{
506
525
  installation: Readonly<{
507
526
  installationId: string;
508
- instanceId: import("../index.js").InstanceId | null;
527
+ instanceId: import("../instance-id.js").InstanceId | null;
509
528
  appId: import("@fungi.computer/puffball").AppId;
510
529
  release: {
511
530
  readonly releaseId: import("@fungi.computer/puffball").ReleaseId;
@@ -521,33 +540,35 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
521
540
  };
522
541
  };
523
542
  releasePin: "pinned" | "floating";
524
- authorityVersion: number;
543
+ authority: {
544
+ authorityVersion: number;
545
+ declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
546
+ approvedGrants: readonly Readonly<{
547
+ capability: "approvals" | "agent.list" | "agent.manage" | "agent.rename" | "agent.avatar" | "agent.toolPolicy" | "agent.read" | "agent.send" | "computer.list" | "computer.readFile" | "computer.writeFile" | "computer.execute" | "llm.generation" | "media.generation" | "games:servers" | "git.repository" | "apps.open" | "apps.call" | "app.storage" | "app.events.emit" | "team.workbenchHost" | "marketplace.browse" | "marketplace.purchase" | "workflow.run" | "workflow.publish" | "workflow.arm" | "world" | "channels.read" | "channels.personal.manage";
548
+ capabilityApproved: true;
549
+ operations: readonly string[];
550
+ resources: "tenant-scope" | readonly Readonly<{
551
+ kind: string;
552
+ id: string;
553
+ }>[];
554
+ }>[];
555
+ approval: Readonly<{
556
+ by: {
557
+ kind: "member";
558
+ memberId: string;
559
+ } | {
560
+ kind: "agent";
561
+ agentId: string;
562
+ } | {
563
+ kind: "team-key";
564
+ keyId: string;
565
+ };
566
+ at: number;
567
+ authorityVersion: number;
568
+ }> | null;
569
+ };
525
570
  status: "enabled" | "disabled" | "deleted";
526
571
  visibility: "private" | "public";
527
- declaredOperationsDigest: import("@fungi.computer/puffball").Sha256Digest;
528
- approvedGrants: readonly Readonly<{
529
- capability: "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";
530
- capabilityApproved: true;
531
- operations: readonly string[];
532
- resources: "tenant-scope" | readonly Readonly<{
533
- kind: string;
534
- id: string;
535
- }>[];
536
- }>[];
537
- approval: Readonly<{
538
- by: {
539
- kind: "member";
540
- memberId: string;
541
- } | {
542
- kind: "agent";
543
- agentId: string;
544
- } | {
545
- kind: "team-key";
546
- keyId: string;
547
- };
548
- at: number;
549
- authorityVersion: number;
550
- }> | null;
551
572
  approvedAnonymousMethods: readonly Readonly<{
552
573
  name: string;
553
574
  digest: import("@fungi.computer/puffball").Sha256Digest;
@@ -614,10 +635,10 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
614
635
  runId?: undefined;
615
636
  planDigest?: undefined;
616
637
  } | {
617
- kind: "conflict" | "replay" | "started";
638
+ kind: "replay" | "conflict" | "started";
618
639
  runId: string;
619
640
  planDigest: string;
620
- readonly error?: undefined;
641
+ error?: undefined;
621
642
  }>;
622
643
  loadRun(libraryId: string, runId: string): Promise<{
623
644
  plan: {
@@ -633,13 +654,13 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
633
654
  readonly input: {
634
655
  readonly [x: string]: S.Json;
635
656
  };
636
- readonly title: string;
637
657
  readonly apps: {
638
658
  readonly [x: string]: {
639
659
  readonly appId: string;
640
660
  readonly role?: string | undefined;
641
661
  };
642
662
  };
663
+ readonly title: string;
643
664
  readonly nodes: readonly ({
644
665
  readonly id: string;
645
666
  readonly kind: "code";
@@ -657,8 +678,8 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
657
678
  readonly values: {
658
679
  readonly [x: string]: import("@fungi.computer/braid").Mapping;
659
680
  };
660
- readonly method: string;
661
681
  readonly kind: "app";
682
+ readonly method: string;
662
683
  readonly id: string;
663
684
  readonly app: string;
664
685
  readonly methodDigest: string;
@@ -677,17 +698,19 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
677
698
  } | {
678
699
  readonly kind: "review";
679
700
  readonly id: string;
701
+ readonly timeout: number;
680
702
  readonly title: string;
681
703
  readonly reviewers: "runner" | "owners";
682
704
  readonly show: readonly {
683
705
  readonly node: string;
684
706
  readonly port: string;
685
707
  }[];
686
- readonly timeout: number;
687
708
  readonly choices?: readonly {
688
- readonly id: string;
689
709
  readonly label: string;
710
+ readonly id: string;
711
+ readonly description?: string | undefined;
690
712
  }[] | undefined;
713
+ readonly detail?: string | undefined;
691
714
  } | {
692
715
  readonly id: string;
693
716
  readonly kind: "condition";
@@ -752,8 +775,8 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
752
775
  readonly values: {
753
776
  readonly [x: string]: import("@fungi.computer/braid").Mapping;
754
777
  };
755
- readonly method: string;
756
778
  readonly kind: "app";
779
+ readonly method: string;
757
780
  readonly id: string;
758
781
  readonly app: string;
759
782
  readonly methodDigest: string;
@@ -772,17 +795,19 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
772
795
  } | {
773
796
  readonly kind: "review";
774
797
  readonly id: string;
798
+ readonly timeout: number;
775
799
  readonly title: string;
776
800
  readonly reviewers: "runner" | "owners";
777
801
  readonly show: readonly {
778
802
  readonly node: string;
779
803
  readonly port: string;
780
804
  }[];
781
- readonly timeout: number;
782
805
  readonly choices?: readonly {
783
- readonly id: string;
784
806
  readonly label: string;
807
+ readonly id: string;
808
+ readonly description?: string | undefined;
785
809
  }[] | undefined;
810
+ readonly detail?: string | undefined;
786
811
  } | {
787
812
  readonly id: string;
788
813
  readonly kind: "condition";
@@ -835,10 +860,10 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
835
860
  readonly triggers?: readonly ({
836
861
  readonly id: string;
837
862
  readonly on: "webhook";
838
- readonly when?: import("@fungi.computer/braid").Predicate | undefined;
839
863
  readonly input?: {
840
864
  readonly [x: string]: import("@fungi.computer/braid").Mapping;
841
865
  } | undefined;
866
+ readonly when?: import("@fungi.computer/braid").Predicate | undefined;
842
867
  readonly title?: string | undefined;
843
868
  } | {
844
869
  readonly id: string;
@@ -853,15 +878,15 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
853
878
  readonly title?: string | undefined;
854
879
  } | {
855
880
  readonly id: string;
856
- readonly event: string;
857
881
  readonly on: "event";
882
+ readonly event: string;
858
883
  readonly app: string;
859
884
  readonly eventDigest: string;
860
- readonly repository?: import("@fungi.computer/braid").Mapping | undefined;
861
- readonly when?: import("@fungi.computer/braid").Predicate | undefined;
862
885
  readonly input?: {
863
886
  readonly [x: string]: import("@fungi.computer/braid").Mapping;
864
887
  } | undefined;
888
+ readonly when?: import("@fungi.computer/braid").Predicate | undefined;
889
+ readonly repository?: import("@fungi.computer/braid").Mapping | undefined;
865
890
  readonly title?: string | undefined;
866
891
  })[] | undefined;
867
892
  };
@@ -869,14 +894,14 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
869
894
  readonly [x: string]: {
870
895
  readonly methods: {
871
896
  readonly [x: string]: {
872
- readonly digest: string;
873
897
  readonly output: {
874
898
  readonly [x: string]: S.Json;
875
899
  };
876
900
  readonly input: {
877
901
  readonly [x: string]: S.Json;
878
902
  };
879
- readonly approval: "none" | "queue" | "simulate";
903
+ readonly digest: string;
904
+ readonly approval: "queue" | "none" | "simulate";
880
905
  readonly description: string;
881
906
  readonly effect: "read" | "write" | "external";
882
907
  readonly requires: readonly string[];
@@ -904,15 +929,15 @@ export declare function createStandaloneWorkflowHost(owner: WatchdogSqliteOwner,
904
929
  };
905
930
  readonly estimatedSteps: number;
906
931
  readonly requiredBindings: readonly {
907
- readonly method: string;
908
- readonly installationId: string;
909
932
  readonly output: {
910
933
  readonly [x: string]: S.Json;
911
934
  };
912
935
  readonly input: {
913
936
  readonly [x: string]: S.Json;
914
937
  };
915
- readonly approval: "none" | "queue" | "simulate";
938
+ readonly method: string;
939
+ readonly installationId: string;
940
+ readonly approval: "queue" | "none" | "simulate";
916
941
  readonly description: string;
917
942
  readonly effect: "read" | "write" | "external";
918
943
  readonly requires: readonly string[];