@fungi.computer/oyster 0.0.0-stage → 0.0.1
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.
- package/LICENSE +21 -0
- package/README.md +1082 -2
- package/dist/agents.d.ts +114 -0
- package/dist/agents.js +322 -0
- package/dist/app-builds.d.ts +151 -0
- package/dist/app-builds.js +355 -0
- package/dist/app-sandbox.d.ts +2 -0
- package/dist/app-sandbox.js +2 -0
- package/dist/app-sources.d.ts +46 -0
- package/dist/app-sources.js +335 -0
- package/dist/app-storage.d.ts +141 -0
- package/dist/app-storage.js +281 -0
- package/dist/apps/gate.d.ts +105 -0
- package/dist/apps/gate.js +273 -0
- package/dist/apps/index.d.ts +5 -0
- package/dist/apps/index.js +5 -0
- package/dist/apps/installation.d.ts +248 -0
- package/dist/apps/installation.js +307 -0
- package/dist/apps/operations.d.ts +8 -0
- package/dist/apps/operations.js +98 -0
- package/dist/apps/tools.d.ts +33 -0
- package/dist/apps/tools.js +17 -0
- package/dist/auth.d.ts +11 -0
- package/dist/auth.js +93 -0
- package/dist/backend-request.d.ts +3 -0
- package/dist/backend-request.js +53 -0
- package/dist/build/build-jobs.d.ts +128 -0
- package/dist/build/build-jobs.js +197 -0
- package/dist/build/build-step.d.ts +26 -0
- package/dist/build/build-step.js +20 -0
- package/dist/build/bundled-html.d.ts +7 -0
- package/dist/build/bundled-html.js +64 -0
- package/dist/build/definition-emission.d.ts +34 -0
- package/dist/build/definition-emission.js +201 -0
- package/dist/build/effect.d.ts +231 -0
- package/dist/build/effect.js +396 -0
- package/dist/build/git-environment.d.ts +6 -0
- package/dist/build/git-environment.js +48 -0
- package/dist/build/html-recipe.d.ts +20 -0
- package/dist/build/html-recipe.js +51 -0
- package/dist/build/local-build.d.ts +57 -0
- package/dist/build/local-build.js +1078 -0
- package/dist/build/r2-artifact-writer.d.ts +31 -0
- package/dist/build/r2-artifact-writer.js +179 -0
- package/dist/build/snapshot-package-store.d.ts +2 -0
- package/dist/build/snapshot-package-store.js +21 -0
- package/dist/build/snapshot-program-scripts.d.ts +6 -0
- package/dist/build/snapshot-program-scripts.js +2 -0
- package/dist/build/submission-contract.d.ts +384 -0
- package/dist/build/submission-contract.js +70 -0
- package/dist/build/workspace-build.d.ts +50 -0
- package/dist/build/workspace-build.js +156 -0
- package/dist/build-contract.d.ts +4 -0
- package/dist/build-contract.js +4 -0
- package/dist/build-jobs.d.ts +2 -0
- package/dist/build-jobs.js +2 -0
- package/dist/build.d.ts +11 -0
- package/dist/build.js +13 -0
- package/dist/capability-descriptor.d.ts +46 -0
- package/dist/capability-descriptor.js +51 -0
- package/dist/catalog-frame.d.ts +39 -0
- package/dist/catalog-frame.js +72 -0
- package/dist/cause-class.d.ts +19 -0
- package/dist/cause-class.js +54 -0
- package/dist/cloudflare.d.ts +123 -0
- package/dist/cloudflare.js +391 -0
- package/dist/computer-terminal.d.ts +38 -0
- package/dist/computer-terminal.js +410 -0
- package/dist/computer.d.ts +60 -0
- package/dist/computer.js +33 -0
- package/dist/event-recipients.d.ts +57 -0
- package/dist/event-recipients.js +144 -0
- package/dist/facet-invocation.d.ts +4 -0
- package/dist/facet-invocation.js +45 -0
- package/dist/files.d.ts +42 -0
- package/dist/files.js +123 -0
- package/dist/frame-binding-wire-script.d.ts +2 -0
- package/dist/frame-binding-wire-script.js +1 -0
- package/dist/frame-binding-wire.d.ts +28 -0
- package/dist/frame-binding-wire.js +54 -0
- package/dist/git-admission.d.ts +52 -0
- package/dist/git-admission.js +188 -0
- package/dist/git-auth.d.ts +11 -0
- package/dist/git-auth.js +27 -0
- package/dist/git-door.d.ts +35 -0
- package/dist/git-door.js +108 -0
- package/dist/git-journal.d.ts +31 -0
- package/dist/git-journal.js +188 -0
- package/dist/git.d.ts +31 -0
- package/dist/git.js +64 -0
- package/dist/guest-policy.d.ts +9 -0
- package/dist/guest-policy.js +13 -0
- package/dist/host.d.ts +244 -0
- package/dist/host.js +1043 -0
- package/dist/index.d.ts +166 -0
- package/dist/index.js +320 -0
- package/dist/installation-consent.d.ts +79 -0
- package/dist/installation-consent.js +82 -0
- package/dist/internal/background-origins.d.ts +3 -0
- package/dist/internal/background-origins.js +8 -0
- package/dist/internal/delivery.d.ts +12 -0
- package/dist/internal/delivery.js +167 -0
- package/dist/internal/host-gate.d.ts +14 -0
- package/dist/internal/host-gate.js +62 -0
- package/dist/internal/registry-installations.d.ts +6 -0
- package/dist/internal/registry-installations.js +12 -0
- package/dist/invocation.d.ts +251 -0
- package/dist/invocation.js +377 -0
- package/dist/keys.d.ts +48 -0
- package/dist/keys.js +52 -0
- package/dist/mcp-owner.d.ts +27 -0
- package/dist/mcp-owner.js +143 -0
- package/dist/mcp.d.ts +89 -0
- package/dist/mcp.js +429 -0
- package/dist/media.d.ts +23 -0
- package/dist/media.js +12 -0
- package/dist/pack.d.ts +76 -0
- package/dist/pack.js +134 -0
- package/dist/page/capabilities.d.ts +23 -0
- package/dist/page/capabilities.js +256 -0
- package/dist/page/computer-handles.d.ts +79 -0
- package/dist/page/computer-handles.js +44 -0
- package/dist/page/lifetime.d.ts +6 -0
- package/dist/page/lifetime.js +19 -0
- package/dist/page/mount.d.ts +163 -0
- package/dist/page/mount.js +390 -0
- package/dist/page/storage.d.ts +3 -0
- package/dist/page/storage.js +82 -0
- package/dist/page/terminal.d.ts +5 -0
- package/dist/page/terminal.js +7 -0
- package/dist/page-script.d.ts +14 -0
- package/dist/page-script.js +5 -0
- package/dist/r2-files.d.ts +3 -0
- package/dist/r2-files.js +79 -0
- package/dist/release.d.ts +72 -0
- package/dist/release.js +164 -0
- package/dist/root-data.d.ts +86 -0
- package/dist/root-data.js +69 -0
- package/dist/shell/app-directory.d.ts +537 -0
- package/dist/shell/app-directory.js +195 -0
- package/dist/shell/browser-actions.d.ts +7 -0
- package/dist/shell/browser-actions.js +56 -0
- package/dist/shell/command-host.d.ts +112 -0
- package/dist/shell/command-host.js +502 -0
- package/dist/shell/commands.d.ts +25 -0
- package/dist/shell/commands.js +78 -0
- package/dist/shell/index.d.ts +8 -0
- package/dist/shell/index.js +8 -0
- package/dist/shell/keys.d.ts +41 -0
- package/dist/shell/keys.js +134 -0
- package/dist/shell/shell-module.d.ts +31 -0
- package/dist/shell/shell-module.js +37 -0
- package/dist/shell/window-manager.d.ts +124 -0
- package/dist/shell/window-manager.js +711 -0
- package/dist/shell/workbench-contract.d.ts +68 -0
- package/dist/shell/workbench-contract.js +1 -0
- package/dist/shell/workbench-host-types.d.ts +96 -0
- package/dist/shell/workbench-host-types.js +1 -0
- package/dist/shell/workbench-host.d.ts +34 -0
- package/dist/shell/workbench-host.js +347 -0
- package/dist/shell/workbench-model.d.ts +192 -0
- package/dist/shell/workbench-model.js +53 -0
- package/dist/shell/workbench.d.ts +4 -0
- package/dist/shell/workbench.js +2 -0
- package/dist/source/fork.d.ts +27 -0
- package/dist/source/fork.js +46 -0
- package/dist/source/index.d.ts +11 -0
- package/dist/source/index.js +11 -0
- package/dist/source/seed-receipt.d.ts +53 -0
- package/dist/source/seed-receipt.js +18 -0
- package/dist/source/team-source.d.ts +32 -0
- package/dist/source/team-source.js +42 -0
- package/dist/source/template-repository.d.ts +2 -0
- package/dist/source/template-repository.js +8 -0
- package/dist/source/template-write.d.ts +69 -0
- package/dist/source/template-write.js +344 -0
- package/dist/storage-frame.d.ts +64 -0
- package/dist/storage-frame.js +28 -0
- package/dist/tenant.d.ts +81 -0
- package/dist/tenant.js +71 -0
- package/dist/testing/capabilities.d.ts +29 -0
- package/dist/testing/capabilities.js +130 -0
- package/dist/testing/catalog.d.ts +3 -0
- package/dist/testing/catalog.js +53 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/installation.d.ts +11 -0
- package/dist/testing/installation.js +25 -0
- package/dist/testing/native-worker.d.ts +21 -0
- package/dist/testing/native-worker.js +106 -0
- package/dist/testing/worker.d.ts +18 -0
- package/dist/testing/worker.js +67 -0
- package/dist/testing/workers-runtime.d.ts +24 -0
- package/dist/testing/workers-runtime.js +33 -0
- package/dist/webhook-delivery.d.ts +14 -0
- package/dist/webhook-delivery.js +17 -0
- package/dist/workers-git.d.ts +285 -0
- package/dist/workers-git.js +1174 -0
- package/dist/workers.d.ts +352 -0
- package/dist/workers.js +866 -0
- package/docs/api/README.md +82 -0
- package/docs/api/agents.md +332 -0
- package/docs/api/app-storage.md +209 -0
- package/docs/api/apps.md +1375 -0
- package/docs/api/auth.md +63 -0
- package/docs/api/build-contract.md +507 -0
- package/docs/api/build.md +1476 -0
- package/docs/api/cloudflare.md +421 -0
- package/docs/api/computer.md +203 -0
- package/docs/api/files.md +117 -0
- package/docs/api/git.md +470 -0
- package/docs/api/host.md +1328 -0
- package/docs/api/index.md +430 -0
- package/docs/api/invocation.md +738 -0
- package/docs/api/keys.md +175 -0
- package/docs/api/mcp.md +301 -0
- package/docs/api/media.md +40 -0
- package/docs/api/modules.md +42 -0
- package/docs/api/pack.md +138 -0
- package/docs/api/page/mount.md +298 -0
- package/docs/api/root-data.md +111 -0
- package/docs/api/shell/app-directory.md +332 -0
- package/docs/api/shell/command-host.md +224 -0
- package/docs/api/shell/commands.md +197 -0
- package/docs/api/shell/keys.md +183 -0
- package/docs/api/shell/shell-module.md +143 -0
- package/docs/api/shell/window-manager.md +267 -0
- package/docs/api/shell/workbench.md +186 -0
- package/docs/api/shell.md +1788 -0
- package/docs/api/tenant.md +194 -0
- package/docs/api/workers-git.md +1527 -0
- package/docs/api/workers.md +1678 -0
- package/docs/media/architecture.mmd +32 -0
- package/docs/media/architecture.png +0 -0
- package/docs/media/bonsai-network.png +0 -0
- package/docs/media/bonsai-repository.png +0 -0
- package/docs/site/agent-quickstart.mdx +349 -0
- package/examples/git/worker.ts +39 -0
- package/examples/git/wrangler.jsonc +32 -0
- package/examples/standalone/worker.ts +14 -0
- package/examples/standalone/wrangler.jsonc +21 -0
- package/package.json +249 -3
|
@@ -0,0 +1,1788 @@
|
|
|
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
|
+
## Variables
|
|
1370
|
+
|
|
1371
|
+
### workbenchGillRequestSchema
|
|
1372
|
+
|
|
1373
|
+
```ts
|
|
1374
|
+
const workbenchGillRequestSchema: Struct<{
|
|
1375
|
+
viewId: String;
|
|
1376
|
+
params: optional<$Record<String, String>>;
|
|
1377
|
+
after: optional<String>;
|
|
1378
|
+
options: optional<String>;
|
|
1379
|
+
surfaceId: String;
|
|
1380
|
+
}>;
|
|
1381
|
+
```
|
|
1382
|
+
|
|
1383
|
+
A declared Gill request addressed to one host-selected App surface.
|
|
1384
|
+
|
|
1385
|
+
---
|
|
1386
|
+
|
|
1387
|
+
### desktopGillSelectionSchema
|
|
1388
|
+
|
|
1389
|
+
```ts
|
|
1390
|
+
const desktopGillSelectionSchema: ZodObject<
|
|
1391
|
+
{
|
|
1392
|
+
surfaceId: ZodString;
|
|
1393
|
+
gillId: ZodString;
|
|
1394
|
+
},
|
|
1395
|
+
$strict
|
|
1396
|
+
>;
|
|
1397
|
+
```
|
|
1398
|
+
|
|
1399
|
+
The member chooses a declared Gill and size in host-rendered Settings.
|
|
1400
|
+
|
|
1401
|
+
---
|
|
1402
|
+
|
|
1403
|
+
### desktopGillSizesSchema
|
|
1404
|
+
|
|
1405
|
+
```ts
|
|
1406
|
+
const desktopGillSizesSchema: ZodArray<
|
|
1407
|
+
ZodEnum<{
|
|
1408
|
+
S: "S";
|
|
1409
|
+
M: "M";
|
|
1410
|
+
L: "L";
|
|
1411
|
+
}>
|
|
1412
|
+
>;
|
|
1413
|
+
```
|
|
1414
|
+
|
|
1415
|
+
The dashboard layout sizes currently assigned to one Gill.
|
|
1416
|
+
|
|
1417
|
+
---
|
|
1418
|
+
|
|
1419
|
+
### desktopGillAdditionSchema
|
|
1420
|
+
|
|
1421
|
+
```ts
|
|
1422
|
+
const desktopGillAdditionSchema: ZodObject<
|
|
1423
|
+
{
|
|
1424
|
+
surfaceId: ZodString;
|
|
1425
|
+
gillId: ZodString;
|
|
1426
|
+
size: ZodEnum<{
|
|
1427
|
+
S: "S";
|
|
1428
|
+
M: "M";
|
|
1429
|
+
L: "L";
|
|
1430
|
+
}>;
|
|
1431
|
+
},
|
|
1432
|
+
$strict
|
|
1433
|
+
>;
|
|
1434
|
+
```
|
|
1435
|
+
|
|
1436
|
+
A selected Gill and the layout size requested for a new placement.
|
|
1437
|
+
|
|
1438
|
+
---
|
|
1439
|
+
|
|
1440
|
+
### desktopSettingsHandlerSchema
|
|
1441
|
+
|
|
1442
|
+
```ts
|
|
1443
|
+
const desktopSettingsHandlerSchema: ZodPipe<
|
|
1444
|
+
ZodUnknown,
|
|
1445
|
+
ZodTransform<object & object, unknown>
|
|
1446
|
+
>;
|
|
1447
|
+
```
|
|
1448
|
+
|
|
1449
|
+
Shape of the arranger callbacks the shell supplies to its host.
|
|
1450
|
+
|
|
1451
|
+
---
|
|
1452
|
+
|
|
1453
|
+
### appOpenRequestSchema
|
|
1454
|
+
|
|
1455
|
+
```ts
|
|
1456
|
+
const appOpenRequestSchema: Union<
|
|
1457
|
+
readonly [
|
|
1458
|
+
Struct<{
|
|
1459
|
+
kind: Literal<"compose">;
|
|
1460
|
+
requestId: String;
|
|
1461
|
+
text: String;
|
|
1462
|
+
}>,
|
|
1463
|
+
Struct<{
|
|
1464
|
+
kind: Literal<"navigate">;
|
|
1465
|
+
requestId: String;
|
|
1466
|
+
params: $Array<
|
|
1467
|
+
Struct<{
|
|
1468
|
+
key: String;
|
|
1469
|
+
value: String;
|
|
1470
|
+
}>
|
|
1471
|
+
>;
|
|
1472
|
+
}>,
|
|
1473
|
+
]
|
|
1474
|
+
>;
|
|
1475
|
+
```
|
|
1476
|
+
|
|
1477
|
+
Runtime check for an App-open handoff arriving across an untrusted boundary.
|
|
1478
|
+
|
|
1479
|
+
## Functions
|
|
1480
|
+
|
|
1481
|
+
### createBrowserActionHandler()
|
|
1482
|
+
|
|
1483
|
+
```ts
|
|
1484
|
+
function createBrowserActionHandler(
|
|
1485
|
+
options,
|
|
1486
|
+
): (request) => Promise<AppBrowserActionOutcome>;
|
|
1487
|
+
```
|
|
1488
|
+
|
|
1489
|
+
Browser effects stay in the trusted host, bound to one mounted App frame.
|
|
1490
|
+
|
|
1491
|
+
#### Parameters
|
|
1492
|
+
|
|
1493
|
+
| Parameter | Type |
|
|
1494
|
+
| -------------------- | ------------------------------------------------------------------------------------ |
|
|
1495
|
+
| `options` | \{ `frame`: `HTMLIFrameElement`; `hostWindow`: `Window`; `signal`: `AbortSignal`; \} |
|
|
1496
|
+
| `options.frame` | `HTMLIFrameElement` |
|
|
1497
|
+
| `options.hostWindow` | `Window` |
|
|
1498
|
+
| `options.signal` | `AbortSignal` |
|
|
1499
|
+
|
|
1500
|
+
#### Returns
|
|
1501
|
+
|
|
1502
|
+
(`request`) => `Promise`\<`AppBrowserActionOutcome`\>
|
|
1503
|
+
|
|
1504
|
+
## References
|
|
1505
|
+
|
|
1506
|
+
### appAddressSchema
|
|
1507
|
+
|
|
1508
|
+
Re-exports [appAddressSchema](shell/app-directory.md#appaddressschema)
|
|
1509
|
+
|
|
1510
|
+
---
|
|
1511
|
+
|
|
1512
|
+
### appAuthorityEnforcementSchema
|
|
1513
|
+
|
|
1514
|
+
Re-exports
|
|
1515
|
+
[appAuthorityEnforcementSchema](shell/app-directory.md#appauthorityenforcementschema)
|
|
1516
|
+
|
|
1517
|
+
---
|
|
1518
|
+
|
|
1519
|
+
### AppAddress
|
|
1520
|
+
|
|
1521
|
+
Re-exports [AppAddress](shell/app-directory.md#appaddress)
|
|
1522
|
+
|
|
1523
|
+
---
|
|
1524
|
+
|
|
1525
|
+
### addressKey
|
|
1526
|
+
|
|
1527
|
+
Re-exports [addressKey](shell/app-directory.md#addresskey)
|
|
1528
|
+
|
|
1529
|
+
---
|
|
1530
|
+
|
|
1531
|
+
### AppAuthorityEnforcement
|
|
1532
|
+
|
|
1533
|
+
Re-exports
|
|
1534
|
+
[AppAuthorityEnforcement](shell/app-directory.md#appauthorityenforcement)
|
|
1535
|
+
|
|
1536
|
+
---
|
|
1537
|
+
|
|
1538
|
+
### AppDirectoryGill
|
|
1539
|
+
|
|
1540
|
+
Re-exports [AppDirectoryGill](shell/app-directory.md#appdirectorygill)
|
|
1541
|
+
|
|
1542
|
+
---
|
|
1543
|
+
|
|
1544
|
+
### appDirectoryEntrySchema
|
|
1545
|
+
|
|
1546
|
+
Re-exports
|
|
1547
|
+
[appDirectoryEntrySchema](shell/app-directory.md#appdirectoryentryschema)
|
|
1548
|
+
|
|
1549
|
+
---
|
|
1550
|
+
|
|
1551
|
+
### AppDirectoryEntry
|
|
1552
|
+
|
|
1553
|
+
Re-exports [AppDirectoryEntry](shell/app-directory.md#appdirectoryentry)
|
|
1554
|
+
|
|
1555
|
+
---
|
|
1556
|
+
|
|
1557
|
+
### appRoleSelectionSchema
|
|
1558
|
+
|
|
1559
|
+
Re-exports
|
|
1560
|
+
[appRoleSelectionSchema](shell/app-directory.md#approleselectionschema)
|
|
1561
|
+
|
|
1562
|
+
---
|
|
1563
|
+
|
|
1564
|
+
### appCatalogEntrySchema
|
|
1565
|
+
|
|
1566
|
+
Re-exports [appCatalogEntrySchema](shell/app-directory.md#appcatalogentryschema)
|
|
1567
|
+
|
|
1568
|
+
---
|
|
1569
|
+
|
|
1570
|
+
### appCatalogResponseSchema
|
|
1571
|
+
|
|
1572
|
+
Re-exports
|
|
1573
|
+
[appCatalogResponseSchema](shell/app-directory.md#appcatalogresponseschema)
|
|
1574
|
+
|
|
1575
|
+
---
|
|
1576
|
+
|
|
1577
|
+
### AppCatalog
|
|
1578
|
+
|
|
1579
|
+
Re-exports [AppCatalog](shell/app-directory.md#appcatalog)
|
|
1580
|
+
|
|
1581
|
+
---
|
|
1582
|
+
|
|
1583
|
+
### appCatalogBrokerResultSchema
|
|
1584
|
+
|
|
1585
|
+
Re-exports
|
|
1586
|
+
[appCatalogBrokerResultSchema](shell/app-directory.md#appcatalogbrokerresultschema)
|
|
1587
|
+
|
|
1588
|
+
---
|
|
1589
|
+
|
|
1590
|
+
### AppCommandOptional
|
|
1591
|
+
|
|
1592
|
+
Re-exports [AppCommandOptional](shell/command-host.md#appcommandoptional)
|
|
1593
|
+
|
|
1594
|
+
---
|
|
1595
|
+
|
|
1596
|
+
### AppCommandDeclaration
|
|
1597
|
+
|
|
1598
|
+
Re-exports [AppCommandDeclaration](shell/command-host.md#appcommanddeclaration)
|
|
1599
|
+
|
|
1600
|
+
---
|
|
1601
|
+
|
|
1602
|
+
### commandPaletteReservedChordForPlatform
|
|
1603
|
+
|
|
1604
|
+
Re-exports
|
|
1605
|
+
[commandPaletteReservedChordForPlatform](shell/command-host.md#commandpalettereservedchordforplatform)
|
|
1606
|
+
|
|
1607
|
+
---
|
|
1608
|
+
|
|
1609
|
+
### commandPaletteReservedChordForUserAgent
|
|
1610
|
+
|
|
1611
|
+
Re-exports
|
|
1612
|
+
[commandPaletteReservedChordForUserAgent](shell/command-host.md#commandpalettereservedchordforuseragent)
|
|
1613
|
+
|
|
1614
|
+
---
|
|
1615
|
+
|
|
1616
|
+
### appDirectorySourceId
|
|
1617
|
+
|
|
1618
|
+
Re-exports [appDirectorySourceId](shell/command-host.md#appdirectorysourceid)
|
|
1619
|
+
|
|
1620
|
+
---
|
|
1621
|
+
|
|
1622
|
+
### AppSurfaceCommandMount
|
|
1623
|
+
|
|
1624
|
+
Re-exports
|
|
1625
|
+
[AppSurfaceCommandMount](shell/command-host.md#appsurfacecommandmount)
|
|
1626
|
+
|
|
1627
|
+
---
|
|
1628
|
+
|
|
1629
|
+
### PaneCommands
|
|
1630
|
+
|
|
1631
|
+
Re-exports [PaneCommands](shell/command-host.md#panecommands)
|
|
1632
|
+
|
|
1633
|
+
---
|
|
1634
|
+
|
|
1635
|
+
### PaneCommandMount
|
|
1636
|
+
|
|
1637
|
+
Re-exports [PaneCommandMount](shell/command-host.md#panecommandmount)
|
|
1638
|
+
|
|
1639
|
+
---
|
|
1640
|
+
|
|
1641
|
+
### AppSurfaceCommandHost
|
|
1642
|
+
|
|
1643
|
+
Re-exports [AppSurfaceCommandHost](shell/command-host.md#appsurfacecommandhost)
|
|
1644
|
+
|
|
1645
|
+
---
|
|
1646
|
+
|
|
1647
|
+
### createAppSurfaceCommandHost
|
|
1648
|
+
|
|
1649
|
+
Re-exports
|
|
1650
|
+
[createAppSurfaceCommandHost](shell/command-host.md#createappsurfacecommandhost)
|
|
1651
|
+
|
|
1652
|
+
---
|
|
1653
|
+
|
|
1654
|
+
### backBinding
|
|
1655
|
+
|
|
1656
|
+
Re-exports [backBinding](shell/commands.md#backbinding)
|
|
1657
|
+
|
|
1658
|
+
---
|
|
1659
|
+
|
|
1660
|
+
### ShellActions
|
|
1661
|
+
|
|
1662
|
+
Re-exports [ShellActions](shell/commands.md#shellactions)
|
|
1663
|
+
|
|
1664
|
+
---
|
|
1665
|
+
|
|
1666
|
+
### shellCommands
|
|
1667
|
+
|
|
1668
|
+
Re-exports [shellCommands](shell/commands.md#shellcommands)
|
|
1669
|
+
|
|
1670
|
+
---
|
|
1671
|
+
|
|
1672
|
+
### ShellChord
|
|
1673
|
+
|
|
1674
|
+
Re-exports [ShellChord](shell/keys.md#shellchord)
|
|
1675
|
+
|
|
1676
|
+
---
|
|
1677
|
+
|
|
1678
|
+
### KeyEventFacts
|
|
1679
|
+
|
|
1680
|
+
Re-exports [KeyEventFacts](shell/keys.md#keyeventfacts)
|
|
1681
|
+
|
|
1682
|
+
---
|
|
1683
|
+
|
|
1684
|
+
### parseChord
|
|
1685
|
+
|
|
1686
|
+
Re-exports [parseChord](shell/keys.md#parsechord)
|
|
1687
|
+
|
|
1688
|
+
---
|
|
1689
|
+
|
|
1690
|
+
### chordMatches
|
|
1691
|
+
|
|
1692
|
+
Re-exports [chordMatches](shell/keys.md#chordmatches)
|
|
1693
|
+
|
|
1694
|
+
---
|
|
1695
|
+
|
|
1696
|
+
### LeaderKey
|
|
1697
|
+
|
|
1698
|
+
Re-exports [LeaderKey](shell/keys.md#leaderkey)
|
|
1699
|
+
|
|
1700
|
+
---
|
|
1701
|
+
|
|
1702
|
+
### leaderKeys
|
|
1703
|
+
|
|
1704
|
+
Re-exports [leaderKeys](shell/keys.md#leaderkeys)
|
|
1705
|
+
|
|
1706
|
+
---
|
|
1707
|
+
|
|
1708
|
+
### leaderKeyMatches
|
|
1709
|
+
|
|
1710
|
+
Re-exports [leaderKeyMatches](shell/keys.md#leaderkeymatches)
|
|
1711
|
+
|
|
1712
|
+
---
|
|
1713
|
+
|
|
1714
|
+
### ShellKeyHost
|
|
1715
|
+
|
|
1716
|
+
Re-exports [ShellKeyHost](shell/keys.md#shellkeyhost)
|
|
1717
|
+
|
|
1718
|
+
---
|
|
1719
|
+
|
|
1720
|
+
### installShellKeys
|
|
1721
|
+
|
|
1722
|
+
Re-exports [installShellKeys](shell/keys.md#installshellkeys)
|
|
1723
|
+
|
|
1724
|
+
---
|
|
1725
|
+
|
|
1726
|
+
### WindowLaunch
|
|
1727
|
+
|
|
1728
|
+
Re-exports [WindowLaunch](shell/window-manager.md#windowlaunch)
|
|
1729
|
+
|
|
1730
|
+
---
|
|
1731
|
+
|
|
1732
|
+
### WindowStatus
|
|
1733
|
+
|
|
1734
|
+
Re-exports [WindowStatus](shell/window-manager.md#windowstatus)
|
|
1735
|
+
|
|
1736
|
+
---
|
|
1737
|
+
|
|
1738
|
+
### WindowHost
|
|
1739
|
+
|
|
1740
|
+
Re-exports [WindowHost](shell/window-manager.md#windowhost)
|
|
1741
|
+
|
|
1742
|
+
---
|
|
1743
|
+
|
|
1744
|
+
### WindowEvents
|
|
1745
|
+
|
|
1746
|
+
Re-exports [WindowEvents](shell/window-manager.md#windowevents)
|
|
1747
|
+
|
|
1748
|
+
---
|
|
1749
|
+
|
|
1750
|
+
### WindowProjection
|
|
1751
|
+
|
|
1752
|
+
Re-exports [WindowProjection](shell/window-manager.md#windowprojection)
|
|
1753
|
+
|
|
1754
|
+
---
|
|
1755
|
+
|
|
1756
|
+
### WindowsProjection
|
|
1757
|
+
|
|
1758
|
+
Re-exports [WindowsProjection](shell/window-manager.md#windowsprojection)
|
|
1759
|
+
|
|
1760
|
+
---
|
|
1761
|
+
|
|
1762
|
+
### hasVisibleWindows
|
|
1763
|
+
|
|
1764
|
+
Re-exports [hasVisibleWindows](shell/window-manager.md#hasvisiblewindows)
|
|
1765
|
+
|
|
1766
|
+
---
|
|
1767
|
+
|
|
1768
|
+
### WindowMount
|
|
1769
|
+
|
|
1770
|
+
Re-exports [WindowMount](shell/window-manager.md#windowmount)
|
|
1771
|
+
|
|
1772
|
+
---
|
|
1773
|
+
|
|
1774
|
+
### WindowManager
|
|
1775
|
+
|
|
1776
|
+
Re-exports [WindowManager](shell/window-manager.md#windowmanager)
|
|
1777
|
+
|
|
1778
|
+
---
|
|
1779
|
+
|
|
1780
|
+
### WindowManagerOptions
|
|
1781
|
+
|
|
1782
|
+
Re-exports [WindowManagerOptions](shell/window-manager.md#windowmanageroptions)
|
|
1783
|
+
|
|
1784
|
+
---
|
|
1785
|
+
|
|
1786
|
+
### createWindowManager
|
|
1787
|
+
|
|
1788
|
+
Re-exports [createWindowManager](shell/window-manager.md#createwindowmanager)
|