@fungi.computer/oyster 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1134 -2
  3. package/dist/agents.d.ts +114 -0
  4. package/dist/agents.js +322 -0
  5. package/dist/app-builds.d.ts +210 -0
  6. package/dist/app-builds.js +499 -0
  7. package/dist/app-sandbox.d.ts +2 -0
  8. package/dist/app-sandbox.js +2 -0
  9. package/dist/app-sources.d.ts +31 -0
  10. package/dist/app-sources.js +370 -0
  11. package/dist/app-storage.d.ts +141 -0
  12. package/dist/app-storage.js +281 -0
  13. package/dist/apps/gate.d.ts +105 -0
  14. package/dist/apps/gate.js +273 -0
  15. package/dist/apps/index.d.ts +5 -0
  16. package/dist/apps/index.js +5 -0
  17. package/dist/apps/installation.d.ts +248 -0
  18. package/dist/apps/installation.js +307 -0
  19. package/dist/apps/operations.d.ts +8 -0
  20. package/dist/apps/operations.js +98 -0
  21. package/dist/apps/tools.d.ts +33 -0
  22. package/dist/apps/tools.js +17 -0
  23. package/dist/auth.d.ts +11 -0
  24. package/dist/auth.js +93 -0
  25. package/dist/backend-request.d.ts +3 -0
  26. package/dist/backend-request.js +53 -0
  27. package/dist/build/artifact-writer.d.ts +40 -0
  28. package/dist/build/artifact-writer.js +181 -0
  29. package/dist/build/build-jobs.d.ts +128 -0
  30. package/dist/build/build-jobs.js +203 -0
  31. package/dist/build/build-policy.d.ts +10 -0
  32. package/dist/build/build-policy.js +10 -0
  33. package/dist/build/build-step.d.ts +37 -0
  34. package/dist/build/build-step.js +28 -0
  35. package/dist/build/bundled-html.d.ts +7 -0
  36. package/dist/build/bundled-html.js +64 -0
  37. package/dist/build/candidate-builder.d.ts +68 -0
  38. package/dist/build/candidate-builder.js +91 -0
  39. package/dist/build/candidate-cli.d.ts +1 -0
  40. package/dist/build/candidate-cli.js +119 -0
  41. package/dist/build/candidate-cli.mjs +28170 -0
  42. package/dist/build/content-objects.d.ts +37 -0
  43. package/dist/build/content-objects.js +53 -0
  44. package/dist/build/definition-emission.d.ts +34 -0
  45. package/dist/build/definition-emission.js +201 -0
  46. package/dist/build/effect.d.ts +249 -0
  47. package/dist/build/effect.js +436 -0
  48. package/dist/build/git-environment.d.ts +9 -0
  49. package/dist/build/git-environment.js +60 -0
  50. package/dist/build/html-recipe.d.ts +20 -0
  51. package/dist/build/html-recipe.js +51 -0
  52. package/dist/build/local-build.d.ts +67 -0
  53. package/dist/build/local-build.js +1128 -0
  54. package/dist/build/snapshot-package-store.d.ts +12 -0
  55. package/dist/build/snapshot-package-store.js +36 -0
  56. package/dist/build/snapshot-program-scripts.d.ts +6 -0
  57. package/dist/build/snapshot-program-scripts.js +2 -0
  58. package/dist/build/snapshot-programs/snapshot-path.d.ts +2 -0
  59. package/dist/build/snapshot-programs/snapshot-path.js +6 -0
  60. package/dist/build/submission-contract.d.ts +828 -0
  61. package/dist/build/submission-contract.js +180 -0
  62. package/dist/build/workspace-build.d.ts +55 -0
  63. package/dist/build/workspace-build.js +200 -0
  64. package/dist/build-contract.d.ts +7 -0
  65. package/dist/build-contract.js +7 -0
  66. package/dist/build-egress.d.ts +62 -0
  67. package/dist/build-egress.js +148 -0
  68. package/dist/build-jobs.d.ts +2 -0
  69. package/dist/build-jobs.js +2 -0
  70. package/dist/build.d.ts +12 -0
  71. package/dist/build.js +14 -0
  72. package/dist/capability-descriptor.d.ts +46 -0
  73. package/dist/capability-descriptor.js +51 -0
  74. package/dist/catalog-frame.d.ts +39 -0
  75. package/dist/catalog-frame.js +72 -0
  76. package/dist/cause-class.d.ts +19 -0
  77. package/dist/cause-class.js +54 -0
  78. package/dist/cloudflare.d.ts +123 -0
  79. package/dist/cloudflare.js +391 -0
  80. package/dist/computer-terminal.d.ts +38 -0
  81. package/dist/computer-terminal.js +410 -0
  82. package/dist/computer.d.ts +60 -0
  83. package/dist/computer.js +33 -0
  84. package/dist/event-recipients.d.ts +57 -0
  85. package/dist/event-recipients.js +144 -0
  86. package/dist/facet-invocation.d.ts +4 -0
  87. package/dist/facet-invocation.js +45 -0
  88. package/dist/files.d.ts +42 -0
  89. package/dist/files.js +123 -0
  90. package/dist/frame-binding-wire-script.d.ts +2 -0
  91. package/dist/frame-binding-wire-script.js +1 -0
  92. package/dist/frame-binding-wire.d.ts +28 -0
  93. package/dist/frame-binding-wire.js +54 -0
  94. package/dist/git-admission.d.ts +52 -0
  95. package/dist/git-admission.js +188 -0
  96. package/dist/git-auth.d.ts +11 -0
  97. package/dist/git-auth.js +27 -0
  98. package/dist/git-door.d.ts +35 -0
  99. package/dist/git-door.js +108 -0
  100. package/dist/git-journal.d.ts +31 -0
  101. package/dist/git-journal.js +188 -0
  102. package/dist/git.d.ts +31 -0
  103. package/dist/git.js +64 -0
  104. package/dist/guest-policy.d.ts +9 -0
  105. package/dist/guest-policy.js +13 -0
  106. package/dist/host.d.ts +244 -0
  107. package/dist/host.js +1043 -0
  108. package/dist/index.d.ts +166 -0
  109. package/dist/index.js +320 -0
  110. package/dist/installation-consent.d.ts +79 -0
  111. package/dist/installation-consent.js +82 -0
  112. package/dist/internal/background-origins.d.ts +3 -0
  113. package/dist/internal/background-origins.js +8 -0
  114. package/dist/internal/delivery.d.ts +12 -0
  115. package/dist/internal/delivery.js +167 -0
  116. package/dist/internal/host-gate.d.ts +14 -0
  117. package/dist/internal/host-gate.js +62 -0
  118. package/dist/internal/registry-installations.d.ts +6 -0
  119. package/dist/internal/registry-installations.js +12 -0
  120. package/dist/invocation.d.ts +251 -0
  121. package/dist/invocation.js +377 -0
  122. package/dist/keys.d.ts +48 -0
  123. package/dist/keys.js +52 -0
  124. package/dist/mcp-owner.d.ts +27 -0
  125. package/dist/mcp-owner.js +155 -0
  126. package/dist/mcp.d.ts +89 -0
  127. package/dist/mcp.js +429 -0
  128. package/dist/media.d.ts +23 -0
  129. package/dist/media.js +12 -0
  130. package/dist/pack.d.ts +79 -0
  131. package/dist/pack.js +151 -0
  132. package/dist/page/capabilities.d.ts +23 -0
  133. package/dist/page/capabilities.js +256 -0
  134. package/dist/page/computer-handles.d.ts +79 -0
  135. package/dist/page/computer-handles.js +44 -0
  136. package/dist/page/gill-observation.d.ts +4 -0
  137. package/dist/page/gill-observation.js +31 -0
  138. package/dist/page/lifetime.d.ts +6 -0
  139. package/dist/page/lifetime.js +19 -0
  140. package/dist/page/mount.d.ts +163 -0
  141. package/dist/page/mount.js +390 -0
  142. package/dist/page/storage.d.ts +3 -0
  143. package/dist/page/storage.js +82 -0
  144. package/dist/page/terminal.d.ts +5 -0
  145. package/dist/page/terminal.js +7 -0
  146. package/dist/page/window-launch.d.ts +18 -0
  147. package/dist/page/window-launch.js +11 -0
  148. package/dist/page-script.d.ts +14 -0
  149. package/dist/page-script.js +5 -0
  150. package/dist/r2-files.d.ts +3 -0
  151. package/dist/r2-files.js +79 -0
  152. package/dist/release.d.ts +83 -0
  153. package/dist/release.js +167 -0
  154. package/dist/root-data.d.ts +86 -0
  155. package/dist/root-data.js +69 -0
  156. package/dist/shell/app-directory.d.ts +542 -0
  157. package/dist/shell/app-directory.js +199 -0
  158. package/dist/shell/browser-actions.d.ts +7 -0
  159. package/dist/shell/browser-actions.js +56 -0
  160. package/dist/shell/command-host.d.ts +112 -0
  161. package/dist/shell/command-host.js +502 -0
  162. package/dist/shell/commands.d.ts +25 -0
  163. package/dist/shell/commands.js +78 -0
  164. package/dist/shell/index.d.ts +8 -0
  165. package/dist/shell/index.js +8 -0
  166. package/dist/shell/keys.d.ts +41 -0
  167. package/dist/shell/keys.js +134 -0
  168. package/dist/shell/shell-module.d.ts +55 -0
  169. package/dist/shell/shell-module.js +86 -0
  170. package/dist/shell/window-manager.d.ts +124 -0
  171. package/dist/shell/window-manager.js +711 -0
  172. package/dist/shell/workbench-contract.d.ts +68 -0
  173. package/dist/shell/workbench-contract.js +1 -0
  174. package/dist/shell/workbench-directory.d.ts +332 -0
  175. package/dist/shell/workbench-directory.js +35 -0
  176. package/dist/shell/workbench-host-types.d.ts +96 -0
  177. package/dist/shell/workbench-host-types.js +1 -0
  178. package/dist/shell/workbench-host.d.ts +34 -0
  179. package/dist/shell/workbench-host.js +347 -0
  180. package/dist/shell/workbench-model.d.ts +192 -0
  181. package/dist/shell/workbench-model.js +53 -0
  182. package/dist/shell/workbench.d.ts +4 -0
  183. package/dist/shell/workbench.js +2 -0
  184. package/dist/source/fork.d.ts +27 -0
  185. package/dist/source/fork.js +46 -0
  186. package/dist/source/index.d.ts +10 -0
  187. package/dist/source/index.js +10 -0
  188. package/dist/source/seed-receipt.d.ts +53 -0
  189. package/dist/source/seed-receipt.js +18 -0
  190. package/dist/source/team-source.d.ts +32 -0
  191. package/dist/source/team-source.js +42 -0
  192. package/dist/source/template-push.d.ts +33 -0
  193. package/dist/source/template-push.js +223 -0
  194. package/dist/source/template-repository.d.ts +4 -0
  195. package/dist/source/template-repository.js +21 -0
  196. package/dist/source/template-seed.d.ts +68 -0
  197. package/dist/source/template-seed.js +80 -0
  198. package/dist/standalone/agent-directory.d.ts +4 -0
  199. package/dist/standalone/agent-directory.js +4 -0
  200. package/dist/standalone/agents.d.ts +220 -0
  201. package/dist/standalone/agents.js +795 -0
  202. package/dist/standalone/app-builds-binding.d.ts +36 -0
  203. package/dist/standalone/app-builds-binding.js +119 -0
  204. package/dist/standalone/app-set.d.ts +91 -0
  205. package/dist/standalone/app-set.js +395 -0
  206. package/dist/standalone/app-source.d.ts +41 -0
  207. package/dist/standalone/app-source.js +59 -0
  208. package/dist/standalone/builds.d.ts +18 -0
  209. package/dist/standalone/builds.js +101 -0
  210. package/dist/standalone/computer-egress.d.ts +37 -0
  211. package/dist/standalone/computer-egress.js +111 -0
  212. package/dist/standalone/computer.d.ts +122 -0
  213. package/dist/standalone/computer.js +714 -0
  214. package/dist/standalone/install-apps-cli.d.ts +2 -0
  215. package/dist/standalone/install-apps-cli.js +126 -0
  216. package/dist/standalone/instance.d.ts +35 -0
  217. package/dist/standalone/instance.js +74 -0
  218. package/dist/standalone/media.d.ts +76 -0
  219. package/dist/standalone/media.js +227 -0
  220. package/dist/standalone/preview.d.ts +51 -0
  221. package/dist/standalone/preview.js +167 -0
  222. package/dist/standalone/registry.d.ts +102 -0
  223. package/dist/standalone/registry.js +193 -0
  224. package/dist/standalone/tenancy.d.ts +42 -0
  225. package/dist/standalone/tenancy.js +241 -0
  226. package/dist/standalone/worker.d.ts +55 -0
  227. package/dist/standalone/worker.js +147 -0
  228. package/dist/standalone/workflow-authority-readers.d.ts +16 -0
  229. package/dist/standalone/workflow-authority-readers.js +35 -0
  230. package/dist/standalone/workflow-binding.d.ts +216 -0
  231. package/dist/standalone/workflow-binding.js +217 -0
  232. package/dist/standalone/workflow-events.d.ts +46 -0
  233. package/dist/standalone/workflow-events.js +39 -0
  234. package/dist/standalone/workflow-git-capture.d.ts +7 -0
  235. package/dist/standalone/workflow-git-capture.js +62 -0
  236. package/dist/standalone/workflow-host.d.ts +931 -0
  237. package/dist/standalone/workflow-host.js +751 -0
  238. package/dist/standalone/workflow-node-capture.d.ts +13 -0
  239. package/dist/standalone/workflow-node-capture.js +72 -0
  240. package/dist/standalone/workflow-root-authority.d.ts +27 -0
  241. package/dist/standalone/workflow-root-authority.js +87 -0
  242. package/dist/standalone/workflow-schedules.d.ts +52 -0
  243. package/dist/standalone/workflow-schedules.js +40 -0
  244. package/dist/standalone/workflow-trigger-host.d.ts +1694 -0
  245. package/dist/standalone/workflow-trigger-host.js +52 -0
  246. package/dist/standalone/workflows.d.ts +657 -0
  247. package/dist/standalone/workflows.js +554 -0
  248. package/dist/storage-frame.d.ts +64 -0
  249. package/dist/storage-frame.js +28 -0
  250. package/dist/tenancy/auth0.d.ts +64 -0
  251. package/dist/tenancy/auth0.js +198 -0
  252. package/dist/tenancy/cloudflare/rate-limit.d.ts +8 -0
  253. package/dist/tenancy/cloudflare/rate-limit.js +19 -0
  254. package/dist/tenancy/cloudflare/registry.d.ts +50 -0
  255. package/dist/tenancy/cloudflare/registry.js +301 -0
  256. package/dist/tenancy/cloudflare.d.ts +2 -0
  257. package/dist/tenancy/cloudflare.js +2 -0
  258. package/dist/tenancy/cold-directory.d.ts +13 -0
  259. package/dist/tenancy/cold-directory.js +43 -0
  260. package/dist/tenancy/contracts.d.ts +195 -0
  261. package/dist/tenancy/contracts.js +1 -0
  262. package/dist/tenancy/index.d.ts +19 -0
  263. package/dist/tenancy/index.js +156 -0
  264. package/dist/tenancy/owner-key.d.ts +26 -0
  265. package/dist/tenancy/owner-key.js +63 -0
  266. package/dist/tenancy/oyster.d.ts +4 -0
  267. package/dist/tenancy/oyster.js +25 -0
  268. package/dist/tenancy/registry-record.d.ts +7 -0
  269. package/dist/tenancy/registry-record.js +44 -0
  270. package/dist/tenancy/registry.d.ts +27 -0
  271. package/dist/tenancy/registry.js +138 -0
  272. package/dist/tenancy/resolve.d.ts +7 -0
  273. package/dist/tenancy/resolve.js +64 -0
  274. package/dist/tenant.d.ts +81 -0
  275. package/dist/tenant.js +71 -0
  276. package/dist/testing/capabilities.d.ts +29 -0
  277. package/dist/testing/capabilities.js +130 -0
  278. package/dist/testing/catalog.d.ts +3 -0
  279. package/dist/testing/catalog.js +53 -0
  280. package/dist/testing/index.d.ts +10 -0
  281. package/dist/testing/index.js +10 -0
  282. package/dist/testing/installation.d.ts +11 -0
  283. package/dist/testing/installation.js +25 -0
  284. package/dist/testing/native-worker.d.ts +21 -0
  285. package/dist/testing/native-worker.js +106 -0
  286. package/dist/testing/worker.d.ts +18 -0
  287. package/dist/testing/worker.js +67 -0
  288. package/dist/testing/workers-runtime.d.ts +24 -0
  289. package/dist/testing/workers-runtime.js +33 -0
  290. package/dist/webhook-delivery.d.ts +14 -0
  291. package/dist/webhook-delivery.js +17 -0
  292. package/dist/workers-git.d.ts +285 -0
  293. package/dist/workers-git.js +1174 -0
  294. package/dist/workers.d.ts +352 -0
  295. package/dist/workers.js +868 -0
  296. package/docs/api/README.md +82 -0
  297. package/docs/api/agents.md +332 -0
  298. package/docs/api/app-storage.md +209 -0
  299. package/docs/api/apps.md +1375 -0
  300. package/docs/api/auth.md +63 -0
  301. package/docs/api/build-contract.md +1304 -0
  302. package/docs/api/build.md +1712 -0
  303. package/docs/api/cloudflare.md +421 -0
  304. package/docs/api/computer.md +203 -0
  305. package/docs/api/files.md +117 -0
  306. package/docs/api/git.md +470 -0
  307. package/docs/api/host.md +1328 -0
  308. package/docs/api/index.md +430 -0
  309. package/docs/api/invocation.md +738 -0
  310. package/docs/api/keys.md +175 -0
  311. package/docs/api/mcp.md +301 -0
  312. package/docs/api/media.md +40 -0
  313. package/docs/api/modules.md +50 -0
  314. package/docs/api/pack.md +141 -0
  315. package/docs/api/page/mount.md +298 -0
  316. package/docs/api/root-data.md +111 -0
  317. package/docs/api/shell/app-directory.md +599 -0
  318. package/docs/api/shell/command-host.md +224 -0
  319. package/docs/api/shell/commands.md +197 -0
  320. package/docs/api/shell/keys.md +183 -0
  321. package/docs/api/shell/shell-module.md +204 -0
  322. package/docs/api/shell/window-manager.md +267 -0
  323. package/docs/api/shell/workbench-directory.md +119 -0
  324. package/docs/api/shell/workbench.md +205 -0
  325. package/docs/api/shell.md +1915 -0
  326. package/docs/api/tenancy/auth0.md +110 -0
  327. package/docs/api/tenancy/cloudflare.md +221 -0
  328. package/docs/api/tenancy/cold-directory.md +46 -0
  329. package/docs/api/tenancy/owner-key.md +63 -0
  330. package/docs/api/tenancy/registry.md +77 -0
  331. package/docs/api/tenancy/resolve.md +69 -0
  332. package/docs/api/tenancy.md +430 -0
  333. package/docs/api/tenant.md +194 -0
  334. package/docs/api/workers-git.md +1646 -0
  335. package/docs/api/workers.md +1691 -0
  336. package/docs/site/agent-quickstart.mdx +346 -0
  337. package/examples/standalone/worker.ts +7 -0
  338. package/examples/standalone/wrangler.jsonc +82 -0
  339. package/package.json +300 -3
@@ -0,0 +1,1915 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/oyster**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/oyster](modules.md) / shell
8
+
9
+ # shell
10
+
11
+ ## Classes
12
+
13
+ ### WorkbenchHost
14
+
15
+ Child-window, command and callback lifetime for the trusted shell the host
16
+ composes into its own document. Each child mounts inside the window slot the
17
+ shell hands it, so the browser moves, clips and stacks it with that window; the
18
+ host never positions a child itself.
19
+
20
+ #### Implements
21
+
22
+ - [`TeamWorkbenchHostHandle`](#teamworkbenchhosthandle)
23
+
24
+ #### Constructors
25
+
26
+ ##### Constructor
27
+
28
+ ```ts
29
+ new WorkbenchHost(options): WorkbenchHost;
30
+ ```
31
+
32
+ ###### Parameters
33
+
34
+ | Parameter | Type |
35
+ | --------- | ----------------------------------------------- |
36
+ | `options` | [`WorkbenchHostOptions`](#workbenchhostoptions) |
37
+
38
+ ###### Returns
39
+
40
+ [`WorkbenchHost`](#workbenchhost)
41
+
42
+ #### Methods
43
+
44
+ ##### team()
45
+
46
+ ```ts
47
+ team(): Promise<WhistleJsonValue>;
48
+ ```
49
+
50
+ The authenticated Team hosting this dashboard; the caller parses it.
51
+
52
+ ###### Returns
53
+
54
+ `Promise`\<`WhistleJsonValue`\>
55
+
56
+ ###### Implementation of
57
+
58
+ ```ts
59
+ TeamWorkbenchHostHandle.team;
60
+ ```
61
+
62
+ ##### computers()
63
+
64
+ ```ts
65
+ computers(input): Promise<WhistleJsonValue>;
66
+ ```
67
+
68
+ A page of the Team's Computer inventory; the caller parses it.
69
+
70
+ ###### Parameters
71
+
72
+ | Parameter | Type |
73
+ | --------- | ---------------------------------------------------------- |
74
+ | `input` | `Readonly`\<\{ `limit`: `number`; `offset`: `number`; \}\> |
75
+
76
+ ###### Returns
77
+
78
+ `Promise`\<`WhistleJsonValue`\>
79
+
80
+ ###### Implementation of
81
+
82
+ ```ts
83
+ TeamWorkbenchHostHandle.computers;
84
+ ```
85
+
86
+ ##### directory()
87
+
88
+ ```ts
89
+ directory(): Promise<WhistleJsonValue>;
90
+ ```
91
+
92
+ The Team's effective App directory and role choices; the caller parses it.
93
+
94
+ ###### Returns
95
+
96
+ `Promise`\<`WhistleJsonValue`\>
97
+
98
+ ###### Implementation of
99
+
100
+ ```ts
101
+ TeamWorkbenchHostHandle.directory;
102
+ ```
103
+
104
+ ##### requestGill()
105
+
106
+ ```ts
107
+ requestGill(input): Promise<
108
+ | {
109
+ viewId: string;
110
+ title: string;
111
+ state: "empty";
112
+ rows: readonly [];
113
+ next?: string;
114
+ }
115
+ | {
116
+ viewId: string;
117
+ title: string;
118
+ state: "error";
119
+ rows: readonly [];
120
+ reason?: "exec_isolation_required" | "params_required";
121
+ error: string;
122
+ recovery?: | {
123
+ kind: "configure";
124
+ param: string;
125
+ }
126
+ | {
127
+ kind: "open";
128
+ };
129
+ }
130
+ | {
131
+ viewId: string;
132
+ title: string;
133
+ state: "full";
134
+ rows: readonly object[];
135
+ next?: string;
136
+ }
137
+ | {
138
+ options: readonly object[];
139
+ next?: string;
140
+ }>;
141
+ ```
142
+
143
+ Invoke a declared Gill of an admitted App in this Team. No caller-provided
144
+ resource data.
145
+
146
+ ###### Parameters
147
+
148
+ | Parameter | Type |
149
+ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
150
+ | `input` | \{ `viewId`: `string`; `params?`: \{ \[`key`: `string`\]: `string`; \}; `after?`: `string`; `options?`: `string`; `surfaceId`: `string`; \} |
151
+ | `input.viewId` | `string` |
152
+ | `input.params?` | \{ \[`key`: `string`\]: `string`; \} |
153
+ | `input.after?` | `string` |
154
+ | `input.options?` | `string` |
155
+ | `input.surfaceId` | `string` |
156
+
157
+ ###### Returns
158
+
159
+ `Promise`\< \| \{ `viewId`: `string`; `title`: `string`; `state`: `"empty"`;
160
+ `rows`: readonly \[\]; `next?`: `string`; \} \| \{ `viewId`: `string`; `title`:
161
+ `string`; `state`: `"error"`; `rows`: readonly \[\]; `reason?`:
162
+ `"exec_isolation_required"` \| `"params_required"`; `error`: `string`;
163
+ `recovery?`: \| \{ `kind`: `"configure"`; `param`: `string`; \} \| \{ `kind`:
164
+ `"open"`; \}; \} \| \{ `viewId`: `string`; `title`: `string`; `state`: `"full"`;
165
+ `rows`: readonly `object`[]; `next?`: `string`; \} \| \{ `options`: readonly
166
+ `object`[]; `next?`: `string`; \}\>
167
+
168
+ ###### Implementation of
169
+
170
+ ```ts
171
+ TeamWorkbenchHostHandle.requestGill;
172
+ ```
173
+
174
+ ##### watchGillChanges()
175
+
176
+ ```ts
177
+ watchGillChanges(...input): Promise<WorkbenchGillWatch>;
178
+ ```
179
+
180
+ Observe resource changes; only the host owns the authenticated stream. Close
181
+ while covered.
182
+
183
+ ###### Parameters
184
+
185
+ | Parameter | Type |
186
+ | ---------- | --------------------------------------- |
187
+ | ...`input` | \[`object`, () => `Promise`\<`void`\>\] |
188
+
189
+ ###### Returns
190
+
191
+ `Promise`\<[`WorkbenchGillWatch`](#workbenchgillwatch)\>
192
+
193
+ ###### Implementation of
194
+
195
+ ```ts
196
+ TeamWorkbenchHostHandle.watchGillChanges;
197
+ ```
198
+
199
+ ##### platformDestinations()
200
+
201
+ ```ts
202
+ platformDestinations(): Promise<readonly Readonly<{
203
+ id: string;
204
+ label: string;
205
+ }>[]>;
206
+ ```
207
+
208
+ The platform destinations the host currently offers.
209
+
210
+ ###### Returns
211
+
212
+ `Promise`\<readonly `Readonly`\<\{ `id`: `string`; `label`: `string`; \}\>[]\>
213
+
214
+ ###### Implementation of
215
+
216
+ ```ts
217
+ TeamWorkbenchHostHandle.platformDestinations;
218
+ ```
219
+
220
+ ##### openPlatformDestination()
221
+
222
+ ```ts
223
+ openPlatformDestination(id): Promise<void>;
224
+ ```
225
+
226
+ Ask the host to navigate to one offered platform destination.
227
+
228
+ ###### Parameters
229
+
230
+ | Parameter | Type |
231
+ | --------- | -------- |
232
+ | `id` | `string` |
233
+
234
+ ###### Returns
235
+
236
+ `Promise`\<`void`\>
237
+
238
+ ###### Implementation of
239
+
240
+ ```ts
241
+ TeamWorkbenchHostHandle.openPlatformDestination;
242
+ ```
243
+
244
+ ##### settingsSections()
245
+
246
+ ```ts
247
+ settingsSections(): Promise<readonly string[] | null>;
248
+ ```
249
+
250
+ Describe the actual controls without offering unsupported Settings.
251
+
252
+ ###### Returns
253
+
254
+ `Promise`\<readonly `string`[] \| `null`\>
255
+
256
+ ###### Implementation of
257
+
258
+ ```ts
259
+ TeamWorkbenchHostHandle.settingsSections;
260
+ ```
261
+
262
+ ##### takeAppOpenRequest()
263
+
264
+ ```ts
265
+ takeAppOpenRequest(): Promise<
266
+ | {
267
+ role: string;
268
+ intent: | {
269
+ kind: "compose";
270
+ text: string;
271
+ }
272
+ | {
273
+ kind: "navigate";
274
+ params: readonly object[];
275
+ };
276
+ }
277
+ | {
278
+ appId: string;
279
+ intent: | {
280
+ kind: "compose";
281
+ text: string;
282
+ }
283
+ | {
284
+ kind: "navigate";
285
+ params: readonly object[];
286
+ };
287
+ }
288
+ | null>;
289
+ ```
290
+
291
+ Take, once, the App-open handoff the visitor's Hub address carried (for example
292
+ `?open=inbox&intent=compose`). The host consumes it from its own address; the
293
+ dashboard opens it like any other `apps.open` request.
294
+
295
+ ###### Returns
296
+
297
+ `Promise`\< \| \{ `role`: `string`; `intent`: \| \{ `kind`: `"compose"`; `text`:
298
+ `string`; \} \| \{ `kind`: `"navigate"`; `params`: readonly `object`[]; \}; \}
299
+ \| \{ `appId`: `string`; `intent`: \| \{ `kind`: `"compose"`; `text`: `string`;
300
+ \} \| \{ `kind`: `"navigate"`; `params`: readonly `object`[]; \}; \} \| `null`\>
301
+
302
+ ###### Implementation of
303
+
304
+ ```ts
305
+ TeamWorkbenchHostHandle.takeAppOpenRequest;
306
+ ```
307
+
308
+ ##### registerDesktopSettings()
309
+
310
+ ```ts
311
+ registerDesktopSettings(handler): Promise<WorkbenchDesktopRegistration>;
312
+ ```
313
+
314
+ Bind the admitted dashboard's arranger to the host's member-consent UI. Only the
315
+ host invokes it; ordinary Apps can only open their own Settings.
316
+
317
+ ###### Parameters
318
+
319
+ | Parameter | Type |
320
+ | --------- | --------- |
321
+ | `handler` | `unknown` |
322
+
323
+ ###### Returns
324
+
325
+ `Promise`\<[`WorkbenchDesktopRegistration`](#workbenchdesktopregistration)\>
326
+
327
+ ###### Implementation of
328
+
329
+ ```ts
330
+ TeamWorkbenchHostHandle.registerDesktopSettings;
331
+ ```
332
+
333
+ ##### openSettings()
334
+
335
+ ```ts
336
+ openSettings(location): Promise<void>;
337
+ ```
338
+
339
+ Open the host's own Team settings at a dashboard-defined location (the host
340
+ parses it). Administration there runs with the signed-in person's own authority
341
+ in host-rendered UI, never through the dashboard. Resolves when Settings close,
342
+ so the dashboard restores its own focus.
343
+
344
+ ###### Parameters
345
+
346
+ | Parameter | Type |
347
+ | ---------- | ------------------ |
348
+ | `location` | `WhistleJsonValue` |
349
+
350
+ ###### Returns
351
+
352
+ `Promise`\<`void`\>
353
+
354
+ ###### Implementation of
355
+
356
+ ```ts
357
+ TeamWorkbenchHostHandle.openSettings;
358
+ ```
359
+
360
+ ##### memberAvatar()
361
+
362
+ ```ts
363
+ memberAvatar(): Promise<WhistleJsonValue>;
364
+ ```
365
+
366
+ The signed-in person's own avatar preference; the caller parses it.
367
+
368
+ ###### Returns
369
+
370
+ `Promise`\<`WhistleJsonValue`\>
371
+
372
+ ###### Implementation of
373
+
374
+ ```ts
375
+ TeamWorkbenchHostHandle.memberAvatar;
376
+ ```
377
+
378
+ ##### watchSettingsChanges()
379
+
380
+ ```ts
381
+ watchSettingsChanges(onChanged): Promise<void>;
382
+ ```
383
+
384
+ Hear when host-rendered settings or App access consent changed the Team's Apps
385
+ or the person's settings, so the dashboard refreshes.
386
+
387
+ ###### Parameters
388
+
389
+ | Parameter | Type |
390
+ | ----------- | ------------------------- |
391
+ | `onChanged` | () => `Promise`\<`void`\> |
392
+
393
+ ###### Returns
394
+
395
+ `Promise`\<`void`\>
396
+
397
+ ###### Implementation of
398
+
399
+ ```ts
400
+ TeamWorkbenchHostHandle.watchSettingsChanges;
401
+ ```
402
+
403
+ ##### \[dispose\]()
404
+
405
+ ```ts
406
+ dispose: void;
407
+ ```
408
+
409
+ The shell unmounted: stop notifying its callbacks.
410
+
411
+ ###### Returns
412
+
413
+ `void`
414
+
415
+ ##### mount()
416
+
417
+ ```ts
418
+ mount(
419
+ container,
420
+ input,
421
+ events
422
+ ): Promise<WorkbenchChildHandle>;
423
+ ```
424
+
425
+ Resolve, authorize and mount one child App inside `container`, the shell's own
426
+ slot in that App's window. The host never moves the child: the shell keeps
427
+ `container` attached and moves its window instead.
428
+
429
+ ###### Parameters
430
+
431
+ | Parameter | Type |
432
+ | ----------- | ------------------------------------------------------- |
433
+ | `container` | `HTMLElement` |
434
+ | `input` | [`WorkbenchChildLaunch`](#workbenchchildlaunch) |
435
+ | `events` | [`TeamWorkbenchChildEvents`](#teamworkbenchchildevents) |
436
+
437
+ ###### Returns
438
+
439
+ `Promise`\<[`WorkbenchChildHandle`](#workbenchchildhandle)\>
440
+
441
+ ###### Implementation of
442
+
443
+ ```ts
444
+ TeamWorkbenchHostHandle.mount;
445
+ ```
446
+
447
+ ##### reportAgentSessionSelection()
448
+
449
+ ```ts
450
+ reportAgentSessionSelection(windowId, selection): Promise<void>;
451
+ ```
452
+
453
+ Bind one mounted child's explicit Agent Session selection to the host.
454
+
455
+ ###### Parameters
456
+
457
+ | Parameter | Type |
458
+ | ----------- | ---------------------------------------------------------------------------- |
459
+ | `windowId` | `string` |
460
+ | `selection` | \| `Readonly`\<\{ `agentId`: `string`; `sessionId`: `string`; \}\> \| `null` |
461
+
462
+ ###### Returns
463
+
464
+ `Promise`\<`void`\>
465
+
466
+ ###### Implementation of
467
+
468
+ ```ts
469
+ TeamWorkbenchHostHandle.reportAgentSessionSelection;
470
+ ```
471
+
472
+ ## Type Aliases
473
+
474
+ ### TeamWorkbenchChildEvents
475
+
476
+ ```ts
477
+ type TeamWorkbenchChildEvents = WorkbenchChildEvents &
478
+ Readonly<{
479
+ onAgentSessionSelection: (selection) => Promise<void>;
480
+ }>;
481
+ ```
482
+
483
+ Team dashboards additionally relay the selected Agent Session to the Hub.
484
+
485
+ ---
486
+
487
+ ### TeamWorkbenchHostHandle
488
+
489
+ ```ts
490
+ type TeamWorkbenchHostHandle = object;
491
+ ```
492
+
493
+ Team/Computer/App-directory reads and child-App hosting for the trusted shell.
494
+ The host composes the shell into its own top-level document, so the shell runs
495
+ with the host's escalated permissions; each child App still runs in its own
496
+ sandboxed frame with its own separately resolved approvals.
497
+
498
+ #### Methods
499
+
500
+ ##### team()
501
+
502
+ ```ts
503
+ team(): Promise<WhistleJsonValue>;
504
+ ```
505
+
506
+ The authenticated Team hosting this dashboard; the caller parses it.
507
+
508
+ ###### Returns
509
+
510
+ `Promise`\<`WhistleJsonValue`\>
511
+
512
+ ##### computers()
513
+
514
+ ```ts
515
+ computers(input): Promise<WhistleJsonValue>;
516
+ ```
517
+
518
+ A page of the Team's Computer inventory; the caller parses it.
519
+
520
+ ###### Parameters
521
+
522
+ | Parameter | Type |
523
+ | --------- | ---------------------------------------------------------- |
524
+ | `input` | `Readonly`\<\{ `limit`: `number`; `offset`: `number`; \}\> |
525
+
526
+ ###### Returns
527
+
528
+ `Promise`\<`WhistleJsonValue`\>
529
+
530
+ ##### directory()
531
+
532
+ ```ts
533
+ directory(): Promise<WhistleJsonValue>;
534
+ ```
535
+
536
+ The Team's effective App directory and role choices; the caller parses it.
537
+
538
+ ###### Returns
539
+
540
+ `Promise`\<`WhistleJsonValue`\>
541
+
542
+ ##### requestGill()
543
+
544
+ ```ts
545
+ requestGill(input): Promise<
546
+ | {
547
+ viewId: Schema.String;
548
+ title: Schema.String;
549
+ state: Schema.Literal<"empty">;
550
+ rows: Schema.Tuple<readonly []>;
551
+ next?: Schema.optional<Schema.String>;
552
+ }
553
+ | {
554
+ viewId: Schema.String;
555
+ title: Schema.String;
556
+ state: Schema.Literal<"error">;
557
+ rows: Schema.Tuple<readonly []>;
558
+ reason?: Schema.optional<Schema.Literals<readonly ["exec_isolation_required", "params_required"]>>;
559
+ error: Schema.String;
560
+ recovery?: Schema.optional<Schema.Union<readonly [Schema.Struct<{
561
+ kind: Schema.Literal<...>;
562
+ param: Schema.String;
563
+ }>, Schema.Struct<{
564
+ kind: Schema.Literal<...>;
565
+ }>]>>;
566
+ }
567
+ | {
568
+ viewId: Schema.String;
569
+ title: Schema.String;
570
+ state: Schema.Literal<"full">;
571
+ rows: Schema.$Array<Schema.Struct<{
572
+ id: Schema.String;
573
+ title: Schema.String;
574
+ detail: Schema.optional<Schema.String>;
575
+ tone: Schema.optional<Schema.Literals<readonly [..., ..., ..., ..., ...]>>;
576
+ status: Schema.optional<Schema.Struct<{
577
+ label: Schema.String;
578
+ tone: Schema.Literals<...>;
579
+ }>>;
580
+ open: Schema.optional<Schema.Struct<{
581
+ params: Schema.$Array<...>;
582
+ }>>;
583
+ }>>;
584
+ next?: Schema.optional<Schema.String>;
585
+ }
586
+ | {
587
+ options: Schema.$Array<Schema.Struct<{
588
+ value: Schema.String;
589
+ label: Schema.String;
590
+ detail: Schema.optional<Schema.String>;
591
+ }>>;
592
+ next?: Schema.optional<Schema.String>;
593
+ }>;
594
+ ```
595
+
596
+ Invoke a declared Gill of an admitted App in this Team. No caller-provided
597
+ resource data.
598
+
599
+ ###### Parameters
600
+
601
+ | Parameter | Type |
602
+ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
603
+ | `input` | \{ `viewId`: `Schema.String`; `params?`: `Schema.optional`\<`Schema.$Record`\<`Schema.String`, `Schema.String`\>\>; `after?`: `Schema.optional`\<`Schema.String`\>; `options?`: `Schema.optional`\<`Schema.String`\>; `surfaceId`: `string`; \} |
604
+ | `input.viewId` | `Schema.String` |
605
+ | `input.params?` | `Schema.optional`\<`Schema.$Record`\<`Schema.String`, `Schema.String`\>\> |
606
+ | `input.after?` | `Schema.optional`\<`Schema.String`\> |
607
+ | `input.options?` | `Schema.optional`\<`Schema.String`\> |
608
+ | `input.surfaceId` | `string` |
609
+
610
+ ###### Returns
611
+
612
+ `Promise`\< \| \{ `viewId`: `Schema.String`; `title`: `Schema.String`; `state`:
613
+ `Schema.Literal`\<`"empty"`\>; `rows`: `Schema.Tuple`\<readonly \[\]\>; `next?`:
614
+ `Schema.optional`\<`Schema.String`\>; \} \| \{ `viewId`: `Schema.String`;
615
+ `title`: `Schema.String`; `state`: `Schema.Literal`\<`"error"`\>; `rows`:
616
+ `Schema.Tuple`\<readonly \[\]\>; `reason?`:
617
+ `Schema.optional`\<`Schema.Literals`\<readonly \[`"exec_isolation_required"`,
618
+ `"params_required"`\]\>\>; `error`: `Schema.String`; `recovery?`:
619
+ `Schema.optional`\<`Schema.Union`\<readonly \[`Schema.Struct`\<\{ `kind`:
620
+ `Schema.Literal`\<...\>; `param`: `Schema.String`; \}\>, `Schema.Struct`\<\{
621
+ `kind`: `Schema.Literal`\<...\>; \}\>\]\>\>; \} \| \{ `viewId`: `Schema.String`;
622
+ `title`: `Schema.String`; `state`: `Schema.Literal`\<`"full"`\>; `rows`:
623
+ `Schema.$Array`\<`Schema.Struct`\<\{ `id`: `Schema.String`; `title`:
624
+ `Schema.String`; `detail`: `Schema.optional`\<`Schema.String`\>; `tone`:
625
+ `Schema.optional`\<`Schema.Literals`\<readonly \[..., ..., ..., ..., ...\]\>\>;
626
+ `status`: `Schema.optional`\<`Schema.Struct`\<\{ `label`: `Schema.String`;
627
+ `tone`: `Schema.Literals`\<...\>; \}\>\>; `open`:
628
+ `Schema.optional`\<`Schema.Struct`\<\{ `params`: `Schema.$Array`\<...\>; \}\>\>;
629
+ \}\>\>; `next?`: `Schema.optional`\<`Schema.String`\>; \} \| \{ `options`:
630
+ `Schema.$Array`\<`Schema.Struct`\<\{ `value`: `Schema.String`; `label`:
631
+ `Schema.String`; `detail`: `Schema.optional`\<`Schema.String`\>; \}\>\>;
632
+ `next?`: `Schema.optional`\<`Schema.String`\>; \}\>
633
+
634
+ ##### watchGillChanges()
635
+
636
+ ```ts
637
+ watchGillChanges(input, onChanged): Promise<WorkbenchGillWatch>;
638
+ ```
639
+
640
+ Observe resource changes; only the host owns the authenticated stream. Close
641
+ while covered.
642
+
643
+ ###### Parameters
644
+
645
+ | Parameter | Type |
646
+ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
647
+ | `input` | \{ `viewId`: `Schema.String`; `params?`: `Schema.optional`\<`Schema.$Record`\<`Schema.String`, `Schema.String`\>\>; `after?`: `Schema.optional`\<`Schema.String`\>; `options?`: `Schema.optional`\<`Schema.String`\>; `surfaceId`: `string`; \} |
648
+ | `input.viewId` | `Schema.String` |
649
+ | `input.params?` | `Schema.optional`\<`Schema.$Record`\<`Schema.String`, `Schema.String`\>\> |
650
+ | `input.after?` | `Schema.optional`\<`Schema.String`\> |
651
+ | `input.options?` | `Schema.optional`\<`Schema.String`\> |
652
+ | `input.surfaceId` | `string` |
653
+ | `onChanged` | () => `Promise`\<`void`\> |
654
+
655
+ ###### Returns
656
+
657
+ `Promise`\<[`WorkbenchGillWatch`](#workbenchgillwatch)\>
658
+
659
+ ##### mount()
660
+
661
+ ```ts
662
+ mount(
663
+ container,
664
+ input,
665
+ events
666
+ ): Promise<WorkbenchChildHandle>;
667
+ ```
668
+
669
+ Resolve, authorize and mount one child App inside `container`, the shell's own
670
+ slot in that App's window. The host never moves the child: the shell keeps
671
+ `container` attached and moves its window instead.
672
+
673
+ ###### Parameters
674
+
675
+ | Parameter | Type |
676
+ | ----------- | ------------------------------------------------------- |
677
+ | `container` | `HTMLElement` |
678
+ | `input` | [`WorkbenchChildLaunch`](#workbenchchildlaunch) |
679
+ | `events` | [`TeamWorkbenchChildEvents`](#teamworkbenchchildevents) |
680
+
681
+ ###### Returns
682
+
683
+ `Promise`\<[`WorkbenchChildHandle`](#workbenchchildhandle)\>
684
+
685
+ ##### reportAgentSessionSelection()
686
+
687
+ ```ts
688
+ reportAgentSessionSelection(windowId, selection): Promise<void>;
689
+ ```
690
+
691
+ Bind one mounted child's explicit Agent Session selection to the host.
692
+
693
+ ###### Parameters
694
+
695
+ | Parameter | Type |
696
+ | ----------- | ---------------------------------------------------------------------------- |
697
+ | `windowId` | `string` |
698
+ | `selection` | \| `Readonly`\<\{ `agentId`: `string`; `sessionId`: `string`; \}\> \| `null` |
699
+
700
+ ###### Returns
701
+
702
+ `Promise`\<`void`\>
703
+
704
+ ##### platformDestinations()
705
+
706
+ ```ts
707
+ platformDestinations(): Promise<readonly Readonly<{
708
+ id: string;
709
+ label: string;
710
+ }>[]>;
711
+ ```
712
+
713
+ The platform destinations the host currently offers.
714
+
715
+ ###### Returns
716
+
717
+ `Promise`\<readonly `Readonly`\<\{ `id`: `string`; `label`: `string`; \}\>[]\>
718
+
719
+ ##### settingsSections()
720
+
721
+ ```ts
722
+ settingsSections(): Promise<readonly string[] | null>;
723
+ ```
724
+
725
+ Offered Settings categories, or null for unrestricted host controls.
726
+
727
+ ###### Returns
728
+
729
+ `Promise`\<readonly `string`[] \| `null`\>
730
+
731
+ ##### openPlatformDestination()
732
+
733
+ ```ts
734
+ openPlatformDestination(id): Promise<void>;
735
+ ```
736
+
737
+ Ask the host to navigate to one offered platform destination.
738
+
739
+ ###### Parameters
740
+
741
+ | Parameter | Type |
742
+ | --------- | -------- |
743
+ | `id` | `string` |
744
+
745
+ ###### Returns
746
+
747
+ `Promise`\<`void`\>
748
+
749
+ ##### takeAppOpenRequest()
750
+
751
+ ```ts
752
+ takeAppOpenRequest(): Promise<
753
+ | {
754
+ role: Schema.String;
755
+ intent: Schema.Union<readonly [Schema.Struct<{
756
+ kind: Schema.Literal<"compose">;
757
+ text: Schema.String;
758
+ }>, Schema.Struct<{
759
+ kind: Schema.Literal<"navigate">;
760
+ params: Schema.$Array<Schema.Struct<...>>;
761
+ }>]>;
762
+ }
763
+ | {
764
+ appId: Schema.String;
765
+ intent: Schema.Union<readonly [Schema.Struct<{
766
+ kind: Schema.Literal<"compose">;
767
+ text: Schema.String;
768
+ }>, Schema.Struct<{
769
+ kind: Schema.Literal<"navigate">;
770
+ params: Schema.$Array<Schema.Struct<...>>;
771
+ }>]>;
772
+ }
773
+ | null>;
774
+ ```
775
+
776
+ Take, once, the App-open handoff the visitor's Hub address carried (for example
777
+ `?open=inbox&intent=compose`). The host consumes it from its own address; the
778
+ dashboard opens it like any other `apps.open` request.
779
+
780
+ ###### Returns
781
+
782
+ `Promise`\< \| \{ `role`: `Schema.String`; `intent`: `Schema.Union`\<readonly
783
+ \[`Schema.Struct`\<\{ `kind`: `Schema.Literal`\<`"compose"`\>; `text`:
784
+ `Schema.String`; \}\>, `Schema.Struct`\<\{ `kind`:
785
+ `Schema.Literal`\<`"navigate"`\>; `params`:
786
+ `Schema.$Array`\<`Schema.Struct`\<...\>\>; \}\>\]\>; \} \| \{ `appId`:
787
+ `Schema.String`; `intent`: `Schema.Union`\<readonly \[`Schema.Struct`\<\{
788
+ `kind`: `Schema.Literal`\<`"compose"`\>; `text`: `Schema.String`; \}\>,
789
+ `Schema.Struct`\<\{ `kind`: `Schema.Literal`\<`"navigate"`\>; `params`:
790
+ `Schema.$Array`\<`Schema.Struct`\<...\>\>; \}\>\]\>; \} \| `null`\>
791
+
792
+ ##### openSettings()
793
+
794
+ ```ts
795
+ openSettings(location): Promise<void>;
796
+ ```
797
+
798
+ Open the host's own Team settings at a dashboard-defined location (the host
799
+ parses it). Administration there runs with the signed-in person's own authority
800
+ in host-rendered UI, never through the dashboard. Resolves when Settings close,
801
+ so the dashboard restores its own focus.
802
+
803
+ ###### Parameters
804
+
805
+ | Parameter | Type |
806
+ | ---------- | ------------------ |
807
+ | `location` | `WhistleJsonValue` |
808
+
809
+ ###### Returns
810
+
811
+ `Promise`\<`void`\>
812
+
813
+ ##### registerDesktopSettings()
814
+
815
+ ```ts
816
+ registerDesktopSettings(handler): Promise<WorkbenchDesktopRegistration>;
817
+ ```
818
+
819
+ Bind the admitted dashboard's arranger to the host's member-consent UI. Only the
820
+ host invokes it; ordinary Apps can only open their own Settings.
821
+
822
+ ###### Parameters
823
+
824
+ | Parameter | Type |
825
+ | --------- | ------------------------------------------------------- |
826
+ | `handler` | [`WorkbenchDesktopSettings`](#workbenchdesktopsettings) |
827
+
828
+ ###### Returns
829
+
830
+ `Promise`\<[`WorkbenchDesktopRegistration`](#workbenchdesktopregistration)\>
831
+
832
+ ##### watchSettingsChanges()
833
+
834
+ ```ts
835
+ watchSettingsChanges(onChanged): Promise<void>;
836
+ ```
837
+
838
+ Hear when host-rendered settings or App access consent changed the Team's Apps
839
+ or the person's settings, so the dashboard refreshes.
840
+
841
+ ###### Parameters
842
+
843
+ | Parameter | Type |
844
+ | ----------- | ------------------------- |
845
+ | `onChanged` | () => `Promise`\<`void`\> |
846
+
847
+ ###### Returns
848
+
849
+ `Promise`\<`void`\>
850
+
851
+ ##### memberAvatar()
852
+
853
+ ```ts
854
+ memberAvatar(): Promise<WhistleJsonValue>;
855
+ ```
856
+
857
+ The signed-in person's own avatar preference; the caller parses it.
858
+
859
+ ###### Returns
860
+
861
+ `Promise`\<`WhistleJsonValue`\>
862
+
863
+ ---
864
+
865
+ ### WorkbenchResolvedChild
866
+
867
+ ```ts
868
+ type WorkbenchResolvedChild = Readonly<{
869
+ launch: Omit<WorkbenchChildLaunch, "title">;
870
+ title?: string;
871
+ }>;
872
+ ```
873
+
874
+ A launch checked against the embedding host's own installation authority.
875
+
876
+ ---
877
+
878
+ ### WorkbenchChildSurface
879
+
880
+ ```ts
881
+ type WorkbenchChildSurface = Pick<
882
+ WorkbenchChildHandle,
883
+ "setVisibility" | "requestClose" | "requestBack" | "activateStatus"
884
+ > &
885
+ object;
886
+ ```
887
+
888
+ The host's real mounted App; selection and lease replacement stay with it.
889
+
890
+ #### Type Declaration
891
+
892
+ | Name | Type | Description |
893
+ | --------------- | --------------------------------- | ----------------------------------------------------------------------- |
894
+ | `dispose()` | () => `void` | Release the mounted child or host-owned observations. |
895
+ | `reconfigure()` | (`launch`) => `Promise`\<`void`\> | Replace the host-admitted selection while retaining the child document. |
896
+
897
+ ---
898
+
899
+ ### WorkbenchChildMountOptions
900
+
901
+ ```ts
902
+ type WorkbenchChildMountOptions = Readonly<{
903
+ container: HTMLElement;
904
+ hostWindow: Window;
905
+ title?: string;
906
+ events: TeamWorkbenchChildEvents;
907
+ commands: AppSurfaceCommandMount;
908
+ onDesktopSettings: (surfaceId) => Promise<void>;
909
+ onPermissionRequest: (input) => Promise<AppPermissionOutcome>;
910
+ }>;
911
+ ```
912
+
913
+ Inputs shared child-window mechanics supply to the host's admitted mount.
914
+
915
+ ---
916
+
917
+ ### WorkbenchPreparedChild
918
+
919
+ ```ts
920
+ type WorkbenchPreparedChild = Readonly<{
921
+ commands: readonly AppCommandDeclaration[];
922
+ mount: Promise<WorkbenchChildSurface>;
923
+ dispose: Promise<void>;
924
+ }>;
925
+ ```
926
+
927
+ Host-owned admission and lifetime of one prepared child.
928
+
929
+ ---
930
+
931
+ ### WorkbenchHostServices
932
+
933
+ ```ts
934
+ type WorkbenchHostServices = Pick<
935
+ TeamWorkbenchHostHandle,
936
+ | "team"
937
+ | "computers"
938
+ | "directory"
939
+ | "requestGill"
940
+ | "watchGillChanges"
941
+ | "memberAvatar"
942
+ > &
943
+ Readonly<{
944
+ suggestDesktopSettings: Promise<void>;
945
+ dispose: void;
946
+ }>;
947
+ ```
948
+
949
+ Host services retain their own Team, account, Gill and consent authority.
950
+
951
+ ---
952
+
953
+ ### WorkbenchHostControls
954
+
955
+ ```ts
956
+ type WorkbenchHostControls = Readonly<{
957
+ sections?: readonly string[];
958
+ parseSettings: WhistleJsonValue;
959
+ openSettings: void;
960
+ subscribeSettingsClosed: () => void;
961
+ subscribeChanges: () => void;
962
+ attachDesktopSettings: () => void;
963
+ requestAppAccess: Promise<AppPermissionOutcome>;
964
+ }>;
965
+ ```
966
+
967
+ Controls offered by the real embedding host, never grants lent by the App.
968
+
969
+ ---
970
+
971
+ ### WorkbenchWarningEvent
972
+
973
+ ```ts
974
+ type WorkbenchWarningEvent =
975
+ | "team_workbench_commands_failed"
976
+ | "team_workbench_settings_notification_failed"
977
+ | "team_workbench_focus_notification_failed";
978
+ ```
979
+
980
+ Retained host warning identifiers; adapters own their diagnostic sink.
981
+
982
+ ---
983
+
984
+ ### WorkbenchWarningFields
985
+
986
+ ```ts
987
+ type WorkbenchWarningFields =
988
+ | Readonly<{
989
+ cause: unknown;
990
+ }>
991
+ | Readonly<{
992
+ stage: "update" | "dispose";
993
+ cause: unknown;
994
+ }>;
995
+ ```
996
+
997
+ Fields of a retained child/settings notification failure.
998
+
999
+ ---
1000
+
1001
+ ### WorkbenchHostOptions
1002
+
1003
+ ```ts
1004
+ type WorkbenchHostOptions = Readonly<{
1005
+ hostWindow: Window;
1006
+ resolveLaunch: WorkbenchResolvedChild;
1007
+ prepareChild: Promise<
1008
+ Readonly<{
1009
+ commands: readonly AppCommandDeclaration[];
1010
+ mount: Promise<WorkbenchChildSurface>;
1011
+ dispose: Promise<void>;
1012
+ }>
1013
+ >;
1014
+ services: WorkbenchHostServices;
1015
+ reportAgentSessionSelection: void;
1016
+ platform: Readonly<{
1017
+ controls: WorkbenchHostControls;
1018
+ destinations: Promise<
1019
+ readonly Readonly<{
1020
+ id: string;
1021
+ label: string;
1022
+ }>[]
1023
+ >;
1024
+ open: void;
1025
+ takeAppOpenRequest: TeamWorkbenchHostHandle["takeAppOpenRequest"];
1026
+ }>;
1027
+ log: void;
1028
+ }>;
1029
+ ```
1030
+
1031
+ One workbench's child mechanics over host-owned admission and services.
1032
+
1033
+ ---
1034
+
1035
+ ### WorkbenchChildLaunch
1036
+
1037
+ ```ts
1038
+ type WorkbenchChildLaunch = Readonly<{
1039
+ windowId: string;
1040
+ appId: string;
1041
+ releaseId: string;
1042
+ surfaceId: string;
1043
+ href: string;
1044
+ title?: string;
1045
+ openRequest: AppOpenRequest | null;
1046
+ }>;
1047
+ ```
1048
+
1049
+ A request to resolve and mount one child App, by its own identity.
1050
+
1051
+ ---
1052
+
1053
+ ### WorkbenchCommandInvocation
1054
+
1055
+ ```ts
1056
+ type WorkbenchCommandInvocation = Readonly<{
1057
+ arguments?: WhistleJsonValue;
1058
+ origin: WhistleExecutionOrigin;
1059
+ }>;
1060
+ ```
1061
+
1062
+ One invocation of a mounted child's own Release-declared command.
1063
+
1064
+ ---
1065
+
1066
+ ### WorkbenchChildEvents
1067
+
1068
+ ```ts
1069
+ type WorkbenchChildEvents = Readonly<{
1070
+ onComputerChoice?: () => Promise<void>;
1071
+ onNavigation?: (input) => Promise<void>;
1072
+ onAppOpen?: (input) => Promise<void>;
1073
+ onAppRole?: (role) => Promise<AppRoleChoice>;
1074
+ onSelectionChanged?: () => Promise<boolean>;
1075
+ onCommands?: (commands) => Promise<void>;
1076
+ onReservedChord?: (input) => Promise<void>;
1077
+ onFocus?: (focused) => Promise<void>;
1078
+ onNavigationState?: (state) => Promise<void>;
1079
+ onStatusItems?: (items) => Promise<void>;
1080
+ }>;
1081
+ ```
1082
+
1083
+ Events a mounted child raises toward its dashboard. A child's permission
1084
+ requests never reach the dashboard: the host asks the person itself. The host
1085
+ validates a child's commands against that child's own Release declaration before
1086
+ forwarding them, so the dashboard can present them but never widen them.
1087
+
1088
+ ---
1089
+
1090
+ ### WorkbenchChildHandle
1091
+
1092
+ ```ts
1093
+ type WorkbenchChildHandle = object;
1094
+ ```
1095
+
1096
+ One mounted child App; every method proxies to its real host-owned mount.
1097
+
1098
+ #### Methods
1099
+
1100
+ ##### setVisibility()
1101
+
1102
+ ```ts
1103
+ setVisibility(visibility): Promise<void>;
1104
+ ```
1105
+
1106
+ Show or hide the mounted child without changing its identity.
1107
+
1108
+ ###### Parameters
1109
+
1110
+ | Parameter | Type |
1111
+ | ------------ | ------------------------- |
1112
+ | `visibility` | `"hidden"` \| `"visible"` |
1113
+
1114
+ ###### Returns
1115
+
1116
+ `Promise`\<`void`\>
1117
+
1118
+ ##### reconfigure()
1119
+
1120
+ ```ts
1121
+ reconfigure(launch): Promise<void>;
1122
+ ```
1123
+
1124
+ Update the launch descriptor of the existing mount.
1125
+
1126
+ ###### Parameters
1127
+
1128
+ | Parameter | Type |
1129
+ | --------- | ----------------------------------------------- |
1130
+ | `launch` | [`WorkbenchChildLaunch`](#workbenchchildlaunch) |
1131
+
1132
+ ###### Returns
1133
+
1134
+ `Promise`\<`void`\>
1135
+
1136
+ ##### requestClose()
1137
+
1138
+ ```ts
1139
+ requestClose(): Promise<boolean>;
1140
+ ```
1141
+
1142
+ Ask whether the child permits a user-initiated close.
1143
+
1144
+ ###### Returns
1145
+
1146
+ `Promise`\<`boolean`\>
1147
+
1148
+ ##### requestBack()
1149
+
1150
+ ```ts
1151
+ requestBack(): Promise<boolean>;
1152
+ ```
1153
+
1154
+ Ask the child to go back one step in its own history; `true` when it did.
1155
+
1156
+ ###### Returns
1157
+
1158
+ `Promise`\<`boolean`\>
1159
+
1160
+ ##### activateStatus()
1161
+
1162
+ ```ts
1163
+ activateStatus(action): Promise<boolean>;
1164
+ ```
1165
+
1166
+ Deliver the person's use of a child's status item; `true` when it acted.
1167
+
1168
+ ###### Parameters
1169
+
1170
+ | Parameter | Type |
1171
+ | --------- | ----------------- |
1172
+ | `action` | `AppStatusAction` |
1173
+
1174
+ ###### Returns
1175
+
1176
+ `Promise`\<`boolean`\>
1177
+
1178
+ ##### invokeCommand()
1179
+
1180
+ ```ts
1181
+ invokeCommand(commandId, input): Promise<WhistleJsonValue | undefined>;
1182
+ ```
1183
+
1184
+ Run one of the child's currently presented commands.
1185
+
1186
+ ###### Parameters
1187
+
1188
+ | Parameter | Type |
1189
+ | ----------- | ----------------------------------------------------------- |
1190
+ | `commandId` | `string` |
1191
+ | `input` | [`WorkbenchCommandInvocation`](#workbenchcommandinvocation) |
1192
+
1193
+ ###### Returns
1194
+
1195
+ `Promise`\<`WhistleJsonValue` \| `undefined`\>
1196
+
1197
+ ##### dispose()
1198
+
1199
+ ```ts
1200
+ dispose(): Promise<void>;
1201
+ ```
1202
+
1203
+ Release the child mount and its resources.
1204
+
1205
+ ###### Returns
1206
+
1207
+ `Promise`\<`void`\>
1208
+
1209
+ ---
1210
+
1211
+ ### WorkbenchPlatformDestination
1212
+
1213
+ ```ts
1214
+ type WorkbenchPlatformDestination = Readonly<{
1215
+ id: string;
1216
+ label: string;
1217
+ }>;
1218
+ ```
1219
+
1220
+ A platform destination the host offers the dashboard, such as opening a host
1221
+ settings page. The host owns the labels and the navigation; the dashboard only
1222
+ presents them and asks the host to follow one.
1223
+
1224
+ ---
1225
+
1226
+ ### WorkbenchGillRequest
1227
+
1228
+ ```ts
1229
+ type WorkbenchGillRequest = typeof workbenchGillRequestSchema.Type;
1230
+ ```
1231
+
1232
+ Decoded Gill request for a surface in the host directory.
1233
+
1234
+ ---
1235
+
1236
+ ### DesktopGillSelection
1237
+
1238
+ ```ts
1239
+ type DesktopGillSelection = z.output<typeof desktopGillSelectionSchema>;
1240
+ ```
1241
+
1242
+ The identity of a Gill selected in a host-rendered settings view.
1243
+
1244
+ ---
1245
+
1246
+ ### DesktopGillAddition
1247
+
1248
+ ```ts
1249
+ type DesktopGillAddition = z.output<typeof desktopGillAdditionSchema>;
1250
+ ```
1251
+
1252
+ A decoded request to add a Gill placement.
1253
+
1254
+ ---
1255
+
1256
+ ### WorkbenchDesktopSettings
1257
+
1258
+ ```ts
1259
+ type WorkbenchDesktopSettings = object;
1260
+ ```
1261
+
1262
+ A dashboard supplies its own arranger, not an endpoint for ordinary Apps.
1263
+
1264
+ #### Properties
1265
+
1266
+ ##### readGill
1267
+
1268
+ ```ts
1269
+ readGill: (input) => Promise<z.output<typeof desktopGillSizesSchema>>;
1270
+ ```
1271
+
1272
+ Read the sizes currently assigned to this Gill in the dashboard layout.
1273
+
1274
+ ###### Parameters
1275
+
1276
+ | Parameter | Type |
1277
+ | --------- | ----------------------------------------------- |
1278
+ | `input` | [`DesktopGillSelection`](#desktopgillselection) |
1279
+
1280
+ ###### Returns
1281
+
1282
+ `Promise`\<`z.output`\<_typeof_
1283
+ [`desktopGillSizesSchema`](#desktopgillsizesschema)\>\>
1284
+
1285
+ ##### addGill
1286
+
1287
+ ```ts
1288
+ addGill: (input) => Promise<void>;
1289
+ ```
1290
+
1291
+ Add a Gill at the requested size to the dashboard layout.
1292
+
1293
+ ###### Parameters
1294
+
1295
+ | Parameter | Type |
1296
+ | --------- | --------------------------------------------- |
1297
+ | `input` | [`DesktopGillAddition`](#desktopgilladdition) |
1298
+
1299
+ ###### Returns
1300
+
1301
+ `Promise`\<`void`\>
1302
+
1303
+ ##### removeGill
1304
+
1305
+ ```ts
1306
+ removeGill: (input) => Promise<void>;
1307
+ ```
1308
+
1309
+ Remove this Gill from the dashboard layout.
1310
+
1311
+ ###### Parameters
1312
+
1313
+ | Parameter | Type |
1314
+ | --------- | ----------------------------------------------- |
1315
+ | `input` | [`DesktopGillSelection`](#desktopgillselection) |
1316
+
1317
+ ###### Returns
1318
+
1319
+ `Promise`\<`void`\>
1320
+
1321
+ ---
1322
+
1323
+ ### WorkbenchDesktopRegistration
1324
+
1325
+ ```ts
1326
+ type WorkbenchDesktopRegistration = object;
1327
+ ```
1328
+
1329
+ A registration lease; close it when the dashboard unmounts.
1330
+
1331
+ #### Methods
1332
+
1333
+ ##### close()
1334
+
1335
+ ```ts
1336
+ close(): Promise<void>;
1337
+ ```
1338
+
1339
+ Release this host registration.
1340
+
1341
+ ###### Returns
1342
+
1343
+ `Promise`\<`void`\>
1344
+
1345
+ ---
1346
+
1347
+ ### WorkbenchGillWatch
1348
+
1349
+ ```ts
1350
+ type WorkbenchGillWatch = object;
1351
+ ```
1352
+
1353
+ A host-owned change subscription; close it when no longer visible.
1354
+
1355
+ #### Methods
1356
+
1357
+ ##### close()
1358
+
1359
+ ```ts
1360
+ close(): Promise<void>;
1361
+ ```
1362
+
1363
+ Release this host registration.
1364
+
1365
+ ###### Returns
1366
+
1367
+ `Promise`\<`void`\>
1368
+
1369
+ ---
1370
+
1371
+ ### TeamComputer
1372
+
1373
+ ```ts
1374
+ type TeamComputer = z.output<typeof teamComputerSchema>;
1375
+ ```
1376
+
1377
+ A decoded Team Computer inventory record.
1378
+
1379
+ ## Variables
1380
+
1381
+ ### workbenchGillRequestSchema
1382
+
1383
+ ```ts
1384
+ const workbenchGillRequestSchema: Struct<{
1385
+ viewId: String;
1386
+ params: optional<$Record<String, String>>;
1387
+ after: optional<String>;
1388
+ options: optional<String>;
1389
+ surfaceId: String;
1390
+ }>;
1391
+ ```
1392
+
1393
+ A declared Gill request addressed to one host-selected App surface.
1394
+
1395
+ ---
1396
+
1397
+ ### desktopGillSelectionSchema
1398
+
1399
+ ```ts
1400
+ const desktopGillSelectionSchema: ZodObject<
1401
+ {
1402
+ surfaceId: ZodString;
1403
+ gillId: ZodString;
1404
+ },
1405
+ $strict
1406
+ >;
1407
+ ```
1408
+
1409
+ The member chooses a declared Gill and size in host-rendered Settings.
1410
+
1411
+ ---
1412
+
1413
+ ### desktopGillSizesSchema
1414
+
1415
+ ```ts
1416
+ const desktopGillSizesSchema: ZodArray<
1417
+ ZodEnum<{
1418
+ S: "S";
1419
+ M: "M";
1420
+ L: "L";
1421
+ }>
1422
+ >;
1423
+ ```
1424
+
1425
+ The dashboard layout sizes currently assigned to one Gill.
1426
+
1427
+ ---
1428
+
1429
+ ### desktopGillAdditionSchema
1430
+
1431
+ ```ts
1432
+ const desktopGillAdditionSchema: ZodObject<
1433
+ {
1434
+ surfaceId: ZodString;
1435
+ gillId: ZodString;
1436
+ size: ZodEnum<{
1437
+ S: "S";
1438
+ M: "M";
1439
+ L: "L";
1440
+ }>;
1441
+ },
1442
+ $strict
1443
+ >;
1444
+ ```
1445
+
1446
+ A selected Gill and the layout size requested for a new placement.
1447
+
1448
+ ---
1449
+
1450
+ ### desktopSettingsHandlerSchema
1451
+
1452
+ ```ts
1453
+ const desktopSettingsHandlerSchema: ZodPipe<
1454
+ ZodUnknown,
1455
+ ZodTransform<object & object, unknown>
1456
+ >;
1457
+ ```
1458
+
1459
+ Shape of the arranger callbacks the shell supplies to its host.
1460
+
1461
+ ---
1462
+
1463
+ ### appOpenRequestSchema
1464
+
1465
+ ```ts
1466
+ const appOpenRequestSchema: Union<
1467
+ readonly [
1468
+ Struct<{
1469
+ kind: Literal<"compose">;
1470
+ requestId: String;
1471
+ text: String;
1472
+ }>,
1473
+ Struct<{
1474
+ kind: Literal<"navigate">;
1475
+ requestId: String;
1476
+ params: $Array<
1477
+ Struct<{
1478
+ key: String;
1479
+ value: String;
1480
+ }>
1481
+ >;
1482
+ }>,
1483
+ ]
1484
+ >;
1485
+ ```
1486
+
1487
+ Runtime check for an App-open handoff arriving across an untrusted boundary.
1488
+
1489
+ ---
1490
+
1491
+ ### teamComputerSchema
1492
+
1493
+ ```ts
1494
+ const teamComputerSchema: ZodObject<
1495
+ {
1496
+ computerId: ZodString;
1497
+ name: ZodString;
1498
+ createdAt: ZodNumber;
1499
+ updatedAt: ZodNumber;
1500
+ },
1501
+ $strict
1502
+ >;
1503
+ ```
1504
+
1505
+ One Team Computer in a host's inventory: the wire of `computers()`.
1506
+
1507
+ ---
1508
+
1509
+ ### teamComputerDirectorySchema
1510
+
1511
+ ```ts
1512
+ const teamComputerDirectorySchema: ZodObject<
1513
+ {
1514
+ computers: ZodArray<
1515
+ ZodObject<
1516
+ {
1517
+ computerId: ZodString;
1518
+ name: ZodString;
1519
+ createdAt: ZodNumber;
1520
+ updatedAt: ZodNumber;
1521
+ },
1522
+ $strict
1523
+ >
1524
+ >;
1525
+ nextOffset: ZodNullable<ZodNumber>;
1526
+ },
1527
+ $strict
1528
+ >;
1529
+ ```
1530
+
1531
+ One page of a host's Team Computer inventory.
1532
+
1533
+ ## Functions
1534
+
1535
+ ### createBrowserActionHandler()
1536
+
1537
+ ```ts
1538
+ function createBrowserActionHandler(
1539
+ options,
1540
+ ): (request) => Promise<AppBrowserActionOutcome>;
1541
+ ```
1542
+
1543
+ Browser effects stay in the trusted host, bound to one mounted App frame.
1544
+
1545
+ #### Parameters
1546
+
1547
+ | Parameter | Type |
1548
+ | -------------------- | ------------------------------------------------------------------------------------ |
1549
+ | `options` | \{ `frame`: `HTMLIFrameElement`; `hostWindow`: `Window`; `signal`: `AbortSignal`; \} |
1550
+ | `options.frame` | `HTMLIFrameElement` |
1551
+ | `options.hostWindow` | `Window` |
1552
+ | `options.signal` | `AbortSignal` |
1553
+
1554
+ #### Returns
1555
+
1556
+ (`request`) => `Promise`\<`AppBrowserActionOutcome`\>
1557
+
1558
+ ## References
1559
+
1560
+ ### appAddressSchema
1561
+
1562
+ Re-exports [appAddressSchema](shell/app-directory.md#appaddressschema)
1563
+
1564
+ ---
1565
+
1566
+ ### appAuthorityEnforcementSchema
1567
+
1568
+ Re-exports
1569
+ [appAuthorityEnforcementSchema](shell/app-directory.md#appauthorityenforcementschema)
1570
+
1571
+ ---
1572
+
1573
+ ### AppAddress
1574
+
1575
+ Re-exports [AppAddress](shell/app-directory.md#appaddress)
1576
+
1577
+ ---
1578
+
1579
+ ### addressKey
1580
+
1581
+ Re-exports [addressKey](shell/app-directory.md#addresskey)
1582
+
1583
+ ---
1584
+
1585
+ ### AppAuthorityEnforcement
1586
+
1587
+ Re-exports
1588
+ [AppAuthorityEnforcement](shell/app-directory.md#appauthorityenforcement)
1589
+
1590
+ ---
1591
+
1592
+ ### AppDirectoryGill
1593
+
1594
+ Re-exports [AppDirectoryGill](shell/app-directory.md#appdirectorygill)
1595
+
1596
+ ---
1597
+
1598
+ ### appDirectoryEntrySchema
1599
+
1600
+ Re-exports
1601
+ [appDirectoryEntrySchema](shell/app-directory.md#appdirectoryentryschema)
1602
+
1603
+ ---
1604
+
1605
+ ### AppDirectoryEntry
1606
+
1607
+ Re-exports [AppDirectoryEntry](shell/app-directory.md#appdirectoryentry)
1608
+
1609
+ ---
1610
+
1611
+ ### appRoleSelectionSchema
1612
+
1613
+ Re-exports
1614
+ [appRoleSelectionSchema](shell/app-directory.md#approleselectionschema)
1615
+
1616
+ ---
1617
+
1618
+ ### appComputerPermissionSchema
1619
+
1620
+ Re-exports
1621
+ [appComputerPermissionSchema](shell/app-directory.md#appcomputerpermissionschema)
1622
+
1623
+ ---
1624
+
1625
+ ### AppComputerOperation
1626
+
1627
+ Re-exports [AppComputerOperation](shell/app-directory.md#appcomputeroperation)
1628
+
1629
+ ---
1630
+
1631
+ ### AppComputerPermission
1632
+
1633
+ Re-exports [AppComputerPermission](shell/app-directory.md#appcomputerpermission)
1634
+
1635
+ ---
1636
+
1637
+ ### appAgentPermissionSchema
1638
+
1639
+ Re-exports
1640
+ [appAgentPermissionSchema](shell/app-directory.md#appagentpermissionschema)
1641
+
1642
+ ---
1643
+
1644
+ ### AppAgentPermission
1645
+
1646
+ Re-exports [AppAgentPermission](shell/app-directory.md#appagentpermission)
1647
+
1648
+ ---
1649
+
1650
+ ### appGenerationPermissionsSchema
1651
+
1652
+ Re-exports
1653
+ [appGenerationPermissionsSchema](shell/app-directory.md#appgenerationpermissionsschema)
1654
+
1655
+ ---
1656
+
1657
+ ### AppGenerationPermissions
1658
+
1659
+ Re-exports
1660
+ [AppGenerationPermissions](shell/app-directory.md#appgenerationpermissions)
1661
+
1662
+ ---
1663
+
1664
+ ### appMarketplacePermissionsSchema
1665
+
1666
+ Re-exports
1667
+ [appMarketplacePermissionsSchema](shell/app-directory.md#appmarketplacepermissionsschema)
1668
+
1669
+ ---
1670
+
1671
+ ### AppMarketplacePermissions
1672
+
1673
+ Re-exports
1674
+ [AppMarketplacePermissions](shell/app-directory.md#appmarketplacepermissions)
1675
+
1676
+ ---
1677
+
1678
+ ### appDirectoryResponseSchema
1679
+
1680
+ Re-exports
1681
+ [appDirectoryResponseSchema](shell/app-directory.md#appdirectoryresponseschema)
1682
+
1683
+ ---
1684
+
1685
+ ### AppDirectory
1686
+
1687
+ Re-exports [AppDirectory](shell/app-directory.md#appdirectory)
1688
+
1689
+ ---
1690
+
1691
+ ### appCatalogEntrySchema
1692
+
1693
+ Re-exports [appCatalogEntrySchema](shell/app-directory.md#appcatalogentryschema)
1694
+
1695
+ ---
1696
+
1697
+ ### appCatalogResponseSchema
1698
+
1699
+ Re-exports
1700
+ [appCatalogResponseSchema](shell/app-directory.md#appcatalogresponseschema)
1701
+
1702
+ ---
1703
+
1704
+ ### AppCatalog
1705
+
1706
+ Re-exports [AppCatalog](shell/app-directory.md#appcatalog)
1707
+
1708
+ ---
1709
+
1710
+ ### appCatalogBrokerResultSchema
1711
+
1712
+ Re-exports
1713
+ [appCatalogBrokerResultSchema](shell/app-directory.md#appcatalogbrokerresultschema)
1714
+
1715
+ ---
1716
+
1717
+ ### AppCommandOptional
1718
+
1719
+ Re-exports [AppCommandOptional](shell/command-host.md#appcommandoptional)
1720
+
1721
+ ---
1722
+
1723
+ ### AppCommandDeclaration
1724
+
1725
+ Re-exports [AppCommandDeclaration](shell/command-host.md#appcommanddeclaration)
1726
+
1727
+ ---
1728
+
1729
+ ### commandPaletteReservedChordForPlatform
1730
+
1731
+ Re-exports
1732
+ [commandPaletteReservedChordForPlatform](shell/command-host.md#commandpalettereservedchordforplatform)
1733
+
1734
+ ---
1735
+
1736
+ ### commandPaletteReservedChordForUserAgent
1737
+
1738
+ Re-exports
1739
+ [commandPaletteReservedChordForUserAgent](shell/command-host.md#commandpalettereservedchordforuseragent)
1740
+
1741
+ ---
1742
+
1743
+ ### appDirectorySourceId
1744
+
1745
+ Re-exports [appDirectorySourceId](shell/command-host.md#appdirectorysourceid)
1746
+
1747
+ ---
1748
+
1749
+ ### AppSurfaceCommandMount
1750
+
1751
+ Re-exports
1752
+ [AppSurfaceCommandMount](shell/command-host.md#appsurfacecommandmount)
1753
+
1754
+ ---
1755
+
1756
+ ### PaneCommands
1757
+
1758
+ Re-exports [PaneCommands](shell/command-host.md#panecommands)
1759
+
1760
+ ---
1761
+
1762
+ ### PaneCommandMount
1763
+
1764
+ Re-exports [PaneCommandMount](shell/command-host.md#panecommandmount)
1765
+
1766
+ ---
1767
+
1768
+ ### AppSurfaceCommandHost
1769
+
1770
+ Re-exports [AppSurfaceCommandHost](shell/command-host.md#appsurfacecommandhost)
1771
+
1772
+ ---
1773
+
1774
+ ### createAppSurfaceCommandHost
1775
+
1776
+ Re-exports
1777
+ [createAppSurfaceCommandHost](shell/command-host.md#createappsurfacecommandhost)
1778
+
1779
+ ---
1780
+
1781
+ ### backBinding
1782
+
1783
+ Re-exports [backBinding](shell/commands.md#backbinding)
1784
+
1785
+ ---
1786
+
1787
+ ### ShellActions
1788
+
1789
+ Re-exports [ShellActions](shell/commands.md#shellactions)
1790
+
1791
+ ---
1792
+
1793
+ ### shellCommands
1794
+
1795
+ Re-exports [shellCommands](shell/commands.md#shellcommands)
1796
+
1797
+ ---
1798
+
1799
+ ### ShellChord
1800
+
1801
+ Re-exports [ShellChord](shell/keys.md#shellchord)
1802
+
1803
+ ---
1804
+
1805
+ ### KeyEventFacts
1806
+
1807
+ Re-exports [KeyEventFacts](shell/keys.md#keyeventfacts)
1808
+
1809
+ ---
1810
+
1811
+ ### parseChord
1812
+
1813
+ Re-exports [parseChord](shell/keys.md#parsechord)
1814
+
1815
+ ---
1816
+
1817
+ ### chordMatches
1818
+
1819
+ Re-exports [chordMatches](shell/keys.md#chordmatches)
1820
+
1821
+ ---
1822
+
1823
+ ### LeaderKey
1824
+
1825
+ Re-exports [LeaderKey](shell/keys.md#leaderkey)
1826
+
1827
+ ---
1828
+
1829
+ ### leaderKeys
1830
+
1831
+ Re-exports [leaderKeys](shell/keys.md#leaderkeys)
1832
+
1833
+ ---
1834
+
1835
+ ### leaderKeyMatches
1836
+
1837
+ Re-exports [leaderKeyMatches](shell/keys.md#leaderkeymatches)
1838
+
1839
+ ---
1840
+
1841
+ ### ShellKeyHost
1842
+
1843
+ Re-exports [ShellKeyHost](shell/keys.md#shellkeyhost)
1844
+
1845
+ ---
1846
+
1847
+ ### installShellKeys
1848
+
1849
+ Re-exports [installShellKeys](shell/keys.md#installshellkeys)
1850
+
1851
+ ---
1852
+
1853
+ ### WindowLaunch
1854
+
1855
+ Re-exports [WindowLaunch](shell/window-manager.md#windowlaunch)
1856
+
1857
+ ---
1858
+
1859
+ ### WindowStatus
1860
+
1861
+ Re-exports [WindowStatus](shell/window-manager.md#windowstatus)
1862
+
1863
+ ---
1864
+
1865
+ ### WindowHost
1866
+
1867
+ Re-exports [WindowHost](shell/window-manager.md#windowhost)
1868
+
1869
+ ---
1870
+
1871
+ ### WindowEvents
1872
+
1873
+ Re-exports [WindowEvents](shell/window-manager.md#windowevents)
1874
+
1875
+ ---
1876
+
1877
+ ### WindowProjection
1878
+
1879
+ Re-exports [WindowProjection](shell/window-manager.md#windowprojection)
1880
+
1881
+ ---
1882
+
1883
+ ### WindowsProjection
1884
+
1885
+ Re-exports [WindowsProjection](shell/window-manager.md#windowsprojection)
1886
+
1887
+ ---
1888
+
1889
+ ### hasVisibleWindows
1890
+
1891
+ Re-exports [hasVisibleWindows](shell/window-manager.md#hasvisiblewindows)
1892
+
1893
+ ---
1894
+
1895
+ ### WindowMount
1896
+
1897
+ Re-exports [WindowMount](shell/window-manager.md#windowmount)
1898
+
1899
+ ---
1900
+
1901
+ ### WindowManager
1902
+
1903
+ Re-exports [WindowManager](shell/window-manager.md#windowmanager)
1904
+
1905
+ ---
1906
+
1907
+ ### WindowManagerOptions
1908
+
1909
+ Re-exports [WindowManagerOptions](shell/window-manager.md#windowmanageroptions)
1910
+
1911
+ ---
1912
+
1913
+ ### createWindowManager
1914
+
1915
+ Re-exports [createWindowManager](shell/window-manager.md#createwindowmanager)