@immediately-run/sandbox-protocol 0.10.7 → 0.12.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.
package/README.md CHANGED
@@ -31,7 +31,7 @@ dependency bump.
31
31
  | `@immediately-run/sandbox-protocol` | the format version + the snapshot types. **No constants** — importing the root must not be a way to reach the other side's vocabulary |
32
32
 
33
33
  **Two modules, not a union.** The sides speak overlapping but different subsets — 34
34
- wire names in the frame, 73 in the SDK, 18 shared. 55 are SDK-only because the frame
34
+ wire names in the frame, 76 in the SDK, 18 shared. 58 are SDK-only because the frame
35
35
  merely *relays* them and the host is the other end (the R3-274a cross-repo audit). Each
36
36
  repo's own gate asserts its module covers *exactly* its extracted wire surface, so a
37
37
  union module would fail there, far from its cause.
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@
12
12
  // repo's own gate compares against
13
13
  //
14
14
  // The two sides speak overlapping but DIFFERENT subsets — 34 wire names in the frame,
15
- // 73 in the SDK, 18 shared; 55 are SDK-only because the frame merely relays them and
15
+ // 76 in the SDK, 18 shared; 58 are SDK-only because the frame merely relays them and
16
16
  // the host is the other end. (These four counts are ASSERTED against the descriptors by
17
17
  // `test/protocol.test.ts` — they are shipped in `dist/index.d.ts`, so a reader downloads
18
18
  // them, and they had drifted to 57/39 because nothing checked.) Hence a module per side:
package/dist/sandbox.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // GENERATED by scripts/generate.mjs — DO NOT EDIT.
3
3
  // Source of truth: src/descriptors.protocol.mjs (@immediately-run/sandbox-protocol)
4
- // descriptorsHash: 72be4ea435f3b318
4
+ // descriptorsHash: ea023de202a49fbd
5
5
  //
6
6
  // The sandbox↔SDK wire vocabulary (PLATFORM_LAYERING_SPEC §2 / S1). Import the
7
7
  // constants instead of writing the string: a rename then has ONE edit site and
package/dist/sdk.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Every wire name this side speaks, as a union. */
2
- export type WireName = 'api-catalog' | 'auth-state' | 'chrome-state' | 'compile' | 'debug-enabled' | 'debug-log' | 'debug-query' | 'debug-query-result' | 'diagnostics' | 'dnd-cancel' | 'dropped-item' | 'editor-context' | 'form-factor' | 'fs-change' | 'host-attention' | 'invitations' | 'launch-dismiss' | 'launch-ended' | 'llm-provider' | 'metadata-update' | 'mount-add' | 'mount-remove' | 'protocol-analytics' | 'protocol-contribute' | 'protocol-dnd' | 'protocol-editor' | 'protocol-feed' | 'protocol-fetch' | 'protocol-ipc' | 'protocol-launch' | 'protocol-llm' | 'protocol-localstore' | 'protocol-openlink' | 'protocol-openrepo' | 'protocol-recents' | 'protocol-secrets' | 'protocol-settings' | 'protocol-spaces' | 'protocol-task' | 'protocol-theme' | 'protocol-vcs' | 'region-message' | 'region-visibility' | 'request-api-catalog' | 'request-auth-state' | 'request-chrome-state' | 'request-debug-enabled' | 'request-diagnostics' | 'request-editor-context' | 'request-form-factor' | 'request-handshake' | 'request-host-attention' | 'request-invitations' | 'request-llm-provider' | 'request-mounts' | 'request-region-visibility' | 'request-secrets-metadata' | 'request-session-mounts' | 'request-theme' | 'request-theme-catalog' | 'request-vcs-state' | 'request-workspace' | 'sdk-handshake' | 'secrets-metadata' | 'session-mounts' | 'task-cancel' | 'task-complete' | 'task-input' | 'theme' | 'theme-catalog' | 'urlchange' | 'vcs-state' | 'workspace';
2
+ export type WireName = 'api-catalog' | 'auth-state' | 'chrome-state' | 'compile' | 'debug-enabled' | 'debug-log' | 'debug-query' | 'debug-query-result' | 'diagnostics' | 'dnd-cancel' | 'dropped-item' | 'editor-context' | 'form-factor' | 'fs-change' | 'host-attention' | 'invitations' | 'launch-dismiss' | 'launch-ended' | 'llm-provider' | 'metadata-update' | 'mount-add' | 'mount-remove' | 'protocol-analytics' | 'protocol-contribute' | 'protocol-dnd' | 'protocol-editor' | 'protocol-feed' | 'protocol-fetch' | 'protocol-ipc' | 'protocol-launch' | 'protocol-llm' | 'protocol-localstore' | 'protocol-openlink' | 'protocol-openrepo' | 'protocol-recents' | 'protocol-secrets' | 'protocol-settings' | 'protocol-spaces' | 'protocol-spaces-mode' | 'protocol-task' | 'protocol-theme' | 'protocol-vcs' | 'region-message' | 'region-visibility' | 'request-api-catalog' | 'request-auth-state' | 'request-chrome-state' | 'request-debug-enabled' | 'request-diagnostics' | 'request-editor-context' | 'request-form-factor' | 'request-handshake' | 'request-host-attention' | 'request-invitations' | 'request-llm-provider' | 'request-mounts' | 'request-region-visibility' | 'request-secrets-metadata' | 'request-session-mounts' | 'request-spaces-mode' | 'request-theme' | 'request-theme-catalog' | 'request-vcs-state' | 'request-workspace' | 'sdk-handshake' | 'secrets-metadata' | 'session-mounts' | 'spaces-mode' | 'task-cancel' | 'task-complete' | 'task-input' | 'theme' | 'theme-catalog' | 'urlchange' | 'vcs-state' | 'workspace';
3
3
  /** `api-catalog` — push · host->app. polled with `request-api-catalog`. */
4
4
  export declare const API_CATALOG = "api-catalog";
5
5
  /** Read off this message today: `methods`. */
@@ -254,16 +254,31 @@ export declare const PROTOCOL_SPACES = "protocol-spaces";
254
254
  export interface ProtocolSpacesAcceptInviteParams {
255
255
  spaceId: string;
256
256
  }
257
+ /** Params of `protocol-spaces` method `convertToShared`. */
258
+ export interface ProtocolSpacesConvertToSharedParams {
259
+ confirm: boolean;
260
+ spaceId: string;
261
+ }
257
262
  /** Params of `protocol-spaces` method `declineInvite`. */
258
263
  export interface ProtocolSpacesDeclineInviteParams {
259
264
  spaceId: string;
260
265
  }
266
+ /** Params of `protocol-spaces` method `delete`. */
267
+ export interface ProtocolSpacesDeleteParams {
268
+ confirm: boolean;
269
+ spaceId: string;
270
+ }
261
271
  /** Params of `protocol-spaces` method `invite`. */
262
272
  export interface ProtocolSpacesInviteParams {
263
273
  login: string;
264
274
  role: "owner" | "reader" | "writer";
265
275
  spaceId: string;
266
276
  }
277
+ /** Params of `protocol-spaces` method `leave`. */
278
+ export interface ProtocolSpacesLeaveParams {
279
+ confirm: boolean;
280
+ spaceId: string;
281
+ }
267
282
  /** Params of `protocol-spaces` method `list`. */
268
283
  export interface ProtocolSpacesListParams {
269
284
  app?: false | true | undefined;
@@ -280,6 +295,16 @@ export interface ProtocolSpacesMembersParams {
280
295
  export interface ProtocolSpacesPendingInvitesParams {
281
296
  spaceId: string;
282
297
  }
298
+ /** Params of `protocol-spaces` method `rename`. */
299
+ export interface ProtocolSpacesRenameParams {
300
+ name: string;
301
+ spaceId: string;
302
+ }
303
+ /** Params of `protocol-spaces` method `restore`. */
304
+ export interface ProtocolSpacesRestoreParams {
305
+ confirm: boolean;
306
+ spaceId: string;
307
+ }
283
308
  /** Params of `protocol-spaces` method `revokeGrant`. */
284
309
  export interface ProtocolSpacesRevokeGrantParams {
285
310
  appKey: string;
@@ -301,6 +326,8 @@ export interface ProtocolSpacesUnshareParams {
301
326
  spaceId: string;
302
327
  uid: string;
303
328
  }
329
+ /** `protocol-spaces-mode` — request · app->host. */
330
+ export declare const PROTOCOL_SPACES_MODE = "protocol-spaces-mode";
304
331
  /** `protocol-task` — request · app->host. */
305
332
  export declare const PROTOCOL_TASK = "protocol-task";
306
333
  /** Params of `protocol-task` method `invoke`. */
@@ -356,6 +383,8 @@ export declare const REQUEST_REGION_VISIBILITY = "request-region-visibility";
356
383
  export declare const REQUEST_SECRETS_METADATA = "request-secrets-metadata";
357
384
  /** `request-session-mounts` — poll · app->host. */
358
385
  export declare const REQUEST_SESSION_MOUNTS = "request-session-mounts";
386
+ /** `request-spaces-mode` — poll · app->host. */
387
+ export declare const REQUEST_SPACES_MODE = "request-spaces-mode";
359
388
  /** `request-theme` — poll · app->host. */
360
389
  export declare const REQUEST_THEME = "request-theme";
361
390
  /** `request-theme-catalog` — poll · app->host. */
@@ -377,6 +406,9 @@ export declare const SECRETS_METADATA = "secrets-metadata";
377
406
  /** `session-mounts` — push · host->app. polled with `request-session-mounts`. */
378
407
  export declare const SESSION_MOUNTS = "session-mounts";
379
408
  /** Read off this message today: `mounts`. */
409
+ /** `spaces-mode` — push · host->app. polled with `request-spaces-mode`. */
410
+ export declare const SPACES_MODE = "spaces-mode";
411
+ /** Read off this message today: `state`. */
380
412
  /** `task-cancel` — message · app->host. */
381
413
  export declare const TASK_CANCEL = "task-cancel";
382
414
  /** `task-complete` — message · app->host. */
@@ -444,6 +476,7 @@ export declare const WIRE_NAMES: {
444
476
  readonly PROTOCOL_SECRETS: "protocol-secrets";
445
477
  readonly PROTOCOL_SETTINGS: "protocol-settings";
446
478
  readonly PROTOCOL_SPACES: "protocol-spaces";
479
+ readonly PROTOCOL_SPACES_MODE: "protocol-spaces-mode";
447
480
  readonly PROTOCOL_TASK: "protocol-task";
448
481
  readonly PROTOCOL_THEME: "protocol-theme";
449
482
  readonly PROTOCOL_VCS: "protocol-vcs";
@@ -464,6 +497,7 @@ export declare const WIRE_NAMES: {
464
497
  readonly REQUEST_REGION_VISIBILITY: "request-region-visibility";
465
498
  readonly REQUEST_SECRETS_METADATA: "request-secrets-metadata";
466
499
  readonly REQUEST_SESSION_MOUNTS: "request-session-mounts";
500
+ readonly REQUEST_SPACES_MODE: "request-spaces-mode";
467
501
  readonly REQUEST_THEME: "request-theme";
468
502
  readonly REQUEST_THEME_CATALOG: "request-theme-catalog";
469
503
  readonly REQUEST_VCS_STATE: "request-vcs-state";
@@ -471,6 +505,7 @@ export declare const WIRE_NAMES: {
471
505
  readonly SDK_HANDSHAKE: "sdk-handshake";
472
506
  readonly SECRETS_METADATA: "secrets-metadata";
473
507
  readonly SESSION_MOUNTS: "session-mounts";
508
+ readonly SPACES_MODE: "spaces-mode";
474
509
  readonly TASK_CANCEL: "task-cancel";
475
510
  readonly TASK_COMPLETE: "task-complete";
476
511
  readonly TASK_INPUT: "task-input";
package/dist/sdk.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // GENERATED by scripts/generate.mjs — DO NOT EDIT.
3
3
  // Source of truth: src/descriptors.protocol.mjs (@immediately-run/sandbox-protocol)
4
- // descriptorsHash: 72be4ea435f3b318
4
+ // descriptorsHash: ea023de202a49fbd
5
5
  //
6
6
  // The sandbox↔SDK wire vocabulary (PLATFORM_LAYERING_SPEC §2 / S1). Import the
7
7
  // constants instead of writing the string: a rename then has ONE edit site and
@@ -9,8 +9,8 @@
9
9
  // that has a declared shape; a name handled as `any` today gets its read field
10
10
  // list in the doc comment instead (R3-274e is where those grow real types).
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.REQUEST_FORM_FACTOR = exports.REQUEST_EDITOR_CONTEXT = exports.REQUEST_DIAGNOSTICS = exports.REQUEST_DEBUG_ENABLED = exports.REQUEST_CHROME_STATE = exports.REQUEST_AUTH_STATE = exports.REQUEST_API_CATALOG = exports.REGION_VISIBILITY = exports.REGION_MESSAGE = exports.PROTOCOL_VCS = exports.PROTOCOL_THEME = exports.PROTOCOL_TASK = exports.PROTOCOL_SPACES = exports.PROTOCOL_SETTINGS = exports.PROTOCOL_SECRETS = exports.PROTOCOL_RECENTS = exports.PROTOCOL_OPENREPO = exports.PROTOCOL_OPENLINK = exports.PROTOCOL_LOCALSTORE = exports.PROTOCOL_LLM = exports.PROTOCOL_LAUNCH = exports.PROTOCOL_IPC = exports.PROTOCOL_FETCH = exports.PROTOCOL_FEED = exports.PROTOCOL_EDITOR = exports.PROTOCOL_DND = exports.PROTOCOL_CONTRIBUTE = exports.PROTOCOL_ANALYTICS = exports.MOUNT_REMOVE = exports.MOUNT_ADD = exports.METADATA_UPDATE = exports.LLM_PROVIDER = exports.LAUNCH_ENDED = exports.LAUNCH_DISMISS = exports.INVITATIONS = exports.HOST_ATTENTION = exports.FS_CHANGE = exports.FORM_FACTOR = exports.EDITOR_CONTEXT = exports.DROPPED_ITEM = exports.DND_CANCEL = exports.DIAGNOSTICS = exports.DEBUG_QUERY_RESULT = exports.DEBUG_QUERY = exports.DEBUG_LOG = exports.DEBUG_ENABLED = exports.COMPILE = exports.CHROME_STATE = exports.AUTH_STATE = exports.API_CATALOG = void 0;
13
- exports.WIRE_NAMES = exports.WORKSPACE = exports.VCS_STATE = exports.URLCHANGE = exports.THEME_CATALOG = exports.THEME = exports.TASK_INPUT = exports.TASK_COMPLETE = exports.TASK_CANCEL = exports.SESSION_MOUNTS = exports.SECRETS_METADATA = exports.SDK_HANDSHAKE = exports.REQUEST_WORKSPACE = exports.REQUEST_VCS_STATE = exports.REQUEST_THEME_CATALOG = exports.REQUEST_THEME = exports.REQUEST_SESSION_MOUNTS = exports.REQUEST_SECRETS_METADATA = exports.REQUEST_REGION_VISIBILITY = exports.REQUEST_MOUNTS = exports.REQUEST_LLM_PROVIDER = exports.REQUEST_INVITATIONS = exports.REQUEST_HOST_ATTENTION = exports.REQUEST_HANDSHAKE = void 0;
12
+ exports.REQUEST_EDITOR_CONTEXT = exports.REQUEST_DIAGNOSTICS = exports.REQUEST_DEBUG_ENABLED = exports.REQUEST_CHROME_STATE = exports.REQUEST_AUTH_STATE = exports.REQUEST_API_CATALOG = exports.REGION_VISIBILITY = exports.REGION_MESSAGE = exports.PROTOCOL_VCS = exports.PROTOCOL_THEME = exports.PROTOCOL_TASK = exports.PROTOCOL_SPACES_MODE = exports.PROTOCOL_SPACES = exports.PROTOCOL_SETTINGS = exports.PROTOCOL_SECRETS = exports.PROTOCOL_RECENTS = exports.PROTOCOL_OPENREPO = exports.PROTOCOL_OPENLINK = exports.PROTOCOL_LOCALSTORE = exports.PROTOCOL_LLM = exports.PROTOCOL_LAUNCH = exports.PROTOCOL_IPC = exports.PROTOCOL_FETCH = exports.PROTOCOL_FEED = exports.PROTOCOL_EDITOR = exports.PROTOCOL_DND = exports.PROTOCOL_CONTRIBUTE = exports.PROTOCOL_ANALYTICS = exports.MOUNT_REMOVE = exports.MOUNT_ADD = exports.METADATA_UPDATE = exports.LLM_PROVIDER = exports.LAUNCH_ENDED = exports.LAUNCH_DISMISS = exports.INVITATIONS = exports.HOST_ATTENTION = exports.FS_CHANGE = exports.FORM_FACTOR = exports.EDITOR_CONTEXT = exports.DROPPED_ITEM = exports.DND_CANCEL = exports.DIAGNOSTICS = exports.DEBUG_QUERY_RESULT = exports.DEBUG_QUERY = exports.DEBUG_LOG = exports.DEBUG_ENABLED = exports.COMPILE = exports.CHROME_STATE = exports.AUTH_STATE = exports.API_CATALOG = void 0;
13
+ exports.WIRE_NAMES = exports.WORKSPACE = exports.VCS_STATE = exports.URLCHANGE = exports.THEME_CATALOG = exports.THEME = exports.TASK_INPUT = exports.TASK_COMPLETE = exports.TASK_CANCEL = exports.SPACES_MODE = exports.SESSION_MOUNTS = exports.SECRETS_METADATA = exports.SDK_HANDSHAKE = exports.REQUEST_WORKSPACE = exports.REQUEST_VCS_STATE = exports.REQUEST_THEME_CATALOG = exports.REQUEST_THEME = exports.REQUEST_SPACES_MODE = exports.REQUEST_SESSION_MOUNTS = exports.REQUEST_SECRETS_METADATA = exports.REQUEST_REGION_VISIBILITY = exports.REQUEST_MOUNTS = exports.REQUEST_LLM_PROVIDER = exports.REQUEST_INVITATIONS = exports.REQUEST_HOST_ATTENTION = exports.REQUEST_HANDSHAKE = exports.REQUEST_FORM_FACTOR = void 0;
14
14
  /** `api-catalog` — push · host->app. polled with `request-api-catalog`. */
15
15
  exports.API_CATALOG = 'api-catalog';
16
16
  /** Read off this message today: `methods`. */
@@ -100,6 +100,8 @@ exports.PROTOCOL_SECRETS = 'protocol-secrets';
100
100
  exports.PROTOCOL_SETTINGS = 'protocol-settings';
101
101
  /** `protocol-spaces` — request · app->host. */
102
102
  exports.PROTOCOL_SPACES = 'protocol-spaces';
103
+ /** `protocol-spaces-mode` — request · app->host. */
104
+ exports.PROTOCOL_SPACES_MODE = 'protocol-spaces-mode';
103
105
  /** `protocol-task` — request · app->host. */
104
106
  exports.PROTOCOL_TASK = 'protocol-task';
105
107
  /** `protocol-theme` — request · app->host. */
@@ -141,6 +143,8 @@ exports.REQUEST_REGION_VISIBILITY = 'request-region-visibility';
141
143
  exports.REQUEST_SECRETS_METADATA = 'request-secrets-metadata';
142
144
  /** `request-session-mounts` — poll · app->host. */
143
145
  exports.REQUEST_SESSION_MOUNTS = 'request-session-mounts';
146
+ /** `request-spaces-mode` — poll · app->host. */
147
+ exports.REQUEST_SPACES_MODE = 'request-spaces-mode';
144
148
  /** `request-theme` — poll · app->host. */
145
149
  exports.REQUEST_THEME = 'request-theme';
146
150
  /** `request-theme-catalog` — poll · app->host. */
@@ -157,6 +161,9 @@ exports.SECRETS_METADATA = 'secrets-metadata';
157
161
  /** `session-mounts` — push · host->app. polled with `request-session-mounts`. */
158
162
  exports.SESSION_MOUNTS = 'session-mounts';
159
163
  /** Read off this message today: `mounts`. */
164
+ /** `spaces-mode` — push · host->app. polled with `request-spaces-mode`. */
165
+ exports.SPACES_MODE = 'spaces-mode';
166
+ /** Read off this message today: `state`. */
160
167
  /** `task-cancel` — message · app->host. */
161
168
  exports.TASK_CANCEL = 'task-cancel';
162
169
  /** `task-complete` — message · app->host. */
@@ -217,6 +224,7 @@ exports.WIRE_NAMES = {
217
224
  PROTOCOL_SECRETS: exports.PROTOCOL_SECRETS,
218
225
  PROTOCOL_SETTINGS: exports.PROTOCOL_SETTINGS,
219
226
  PROTOCOL_SPACES: exports.PROTOCOL_SPACES,
227
+ PROTOCOL_SPACES_MODE: exports.PROTOCOL_SPACES_MODE,
220
228
  PROTOCOL_TASK: exports.PROTOCOL_TASK,
221
229
  PROTOCOL_THEME: exports.PROTOCOL_THEME,
222
230
  PROTOCOL_VCS: exports.PROTOCOL_VCS,
@@ -237,6 +245,7 @@ exports.WIRE_NAMES = {
237
245
  REQUEST_REGION_VISIBILITY: exports.REQUEST_REGION_VISIBILITY,
238
246
  REQUEST_SECRETS_METADATA: exports.REQUEST_SECRETS_METADATA,
239
247
  REQUEST_SESSION_MOUNTS: exports.REQUEST_SESSION_MOUNTS,
248
+ REQUEST_SPACES_MODE: exports.REQUEST_SPACES_MODE,
240
249
  REQUEST_THEME: exports.REQUEST_THEME,
241
250
  REQUEST_THEME_CATALOG: exports.REQUEST_THEME_CATALOG,
242
251
  REQUEST_VCS_STATE: exports.REQUEST_VCS_STATE,
@@ -244,6 +253,7 @@ exports.WIRE_NAMES = {
244
253
  SDK_HANDSHAKE: exports.SDK_HANDSHAKE,
245
254
  SECRETS_METADATA: exports.SECRETS_METADATA,
246
255
  SESSION_MOUNTS: exports.SESSION_MOUNTS,
256
+ SPACES_MODE: exports.SPACES_MODE,
247
257
  TASK_CANCEL: exports.TASK_CANCEL,
248
258
  TASK_COMPLETE: exports.TASK_COMPLETE,
249
259
  TASK_INPUT: exports.TASK_INPUT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@immediately-run/sandbox-protocol",
3
- "version": "0.10.7",
3
+ "version": "0.12.0",
4
4
  "description": "The sandbox<->SDK wire protocol: ONE descriptor set, projected into the wire-name constants, the payload types, and the per-side snapshots both repos gate against (PLATFORM_LAYERING_SPEC S1). Consumed by sandbox and immediately-run-sdk so a wire change is a version bump, not a hand-copied file.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -1647,6 +1647,22 @@
1647
1647
  ]
1648
1648
  }
1649
1649
  },
1650
+ "convertToShared": {
1651
+ "payload": {
1652
+ "fields": [
1653
+ {
1654
+ "name": "confirm",
1655
+ "optional": false,
1656
+ "type": "boolean"
1657
+ },
1658
+ {
1659
+ "name": "spaceId",
1660
+ "optional": false,
1661
+ "type": "string"
1662
+ }
1663
+ ]
1664
+ }
1665
+ },
1650
1666
  "declineInvite": {
1651
1667
  "payload": {
1652
1668
  "fields": [
@@ -1658,6 +1674,22 @@
1658
1674
  ]
1659
1675
  }
1660
1676
  },
1677
+ "delete": {
1678
+ "payload": {
1679
+ "fields": [
1680
+ {
1681
+ "name": "confirm",
1682
+ "optional": false,
1683
+ "type": "boolean"
1684
+ },
1685
+ {
1686
+ "name": "spaceId",
1687
+ "optional": false,
1688
+ "type": "string"
1689
+ }
1690
+ ]
1691
+ }
1692
+ },
1661
1693
  "grants": {
1662
1694
  "payload": {
1663
1695
  "type": "{}"
@@ -1694,6 +1726,22 @@
1694
1726
  ]
1695
1727
  }
1696
1728
  },
1729
+ "leave": {
1730
+ "payload": {
1731
+ "fields": [
1732
+ {
1733
+ "name": "confirm",
1734
+ "optional": false,
1735
+ "type": "boolean"
1736
+ },
1737
+ {
1738
+ "name": "spaceId",
1739
+ "optional": false,
1740
+ "type": "string"
1741
+ }
1742
+ ]
1743
+ }
1744
+ },
1697
1745
  "list": {
1698
1746
  "payload": {
1699
1747
  "fields": [
@@ -1758,6 +1806,38 @@
1758
1806
  ]
1759
1807
  }
1760
1808
  },
1809
+ "rename": {
1810
+ "payload": {
1811
+ "fields": [
1812
+ {
1813
+ "name": "name",
1814
+ "optional": false,
1815
+ "type": "string"
1816
+ },
1817
+ {
1818
+ "name": "spaceId",
1819
+ "optional": false,
1820
+ "type": "string"
1821
+ }
1822
+ ]
1823
+ }
1824
+ },
1825
+ "restore": {
1826
+ "payload": {
1827
+ "fields": [
1828
+ {
1829
+ "name": "confirm",
1830
+ "optional": false,
1831
+ "type": "boolean"
1832
+ },
1833
+ {
1834
+ "name": "spaceId",
1835
+ "optional": false,
1836
+ "type": "string"
1837
+ }
1838
+ ]
1839
+ }
1840
+ },
1761
1841
  "revokeGrant": {
1762
1842
  "payload": {
1763
1843
  "fields": [
@@ -1843,6 +1923,112 @@
1843
1923
  "src/mounts.ts"
1844
1924
  ]
1845
1925
  },
1926
+ "protocol-spaces-mode": {
1927
+ "kind": "request",
1928
+ "direction": "app->host",
1929
+ "methods": {
1930
+ "navigate": {
1931
+ "payload": {
1932
+ "union": [
1933
+ {
1934
+ "fields": [
1935
+ {
1936
+ "name": "activity",
1937
+ "optional": false,
1938
+ "union": [
1939
+ {
1940
+ "type": "\"inbox\""
1941
+ },
1942
+ {
1943
+ "type": "\"people\""
1944
+ },
1945
+ {
1946
+ "type": "\"settings\""
1947
+ },
1948
+ {
1949
+ "type": "\"spaces\""
1950
+ }
1951
+ ]
1952
+ },
1953
+ {
1954
+ "name": "member",
1955
+ "optional": true,
1956
+ "union": [
1957
+ {
1958
+ "type": "string"
1959
+ },
1960
+ {
1961
+ "type": "undefined"
1962
+ }
1963
+ ]
1964
+ },
1965
+ {
1966
+ "name": "path",
1967
+ "optional": true,
1968
+ "union": [
1969
+ {
1970
+ "type": "string"
1971
+ },
1972
+ {
1973
+ "type": "undefined"
1974
+ }
1975
+ ]
1976
+ },
1977
+ {
1978
+ "name": "roomId",
1979
+ "optional": true,
1980
+ "union": [
1981
+ {
1982
+ "type": "string"
1983
+ },
1984
+ {
1985
+ "type": "undefined"
1986
+ }
1987
+ ]
1988
+ },
1989
+ {
1990
+ "name": "section",
1991
+ "optional": true,
1992
+ "union": [
1993
+ {
1994
+ "type": "string"
1995
+ },
1996
+ {
1997
+ "type": "undefined"
1998
+ }
1999
+ ]
2000
+ },
2001
+ {
2002
+ "name": "spaceId",
2003
+ "optional": false,
2004
+ "union": [
2005
+ {
2006
+ "type": "null"
2007
+ },
2008
+ {
2009
+ "type": "string"
2010
+ }
2011
+ ]
2012
+ }
2013
+ ]
2014
+ },
2015
+ {
2016
+ "fields": [
2017
+ {
2018
+ "name": "destination",
2019
+ "optional": false,
2020
+ "type": "\"notifications\""
2021
+ }
2022
+ ]
2023
+ }
2024
+ ]
2025
+ }
2026
+ }
2027
+ },
2028
+ "sites": [
2029
+ "src/spacesMode.ts"
2030
+ ]
2031
+ },
1846
2032
  "protocol-task": {
1847
2033
  "kind": "request",
1848
2034
  "direction": "app->host",
@@ -2171,6 +2357,16 @@
2171
2357
  "src/mounts.ts"
2172
2358
  ]
2173
2359
  },
2360
+ "request-spaces-mode": {
2361
+ "kind": "poll",
2362
+ "direction": "app->host",
2363
+ "payload": {
2364
+ "fields": []
2365
+ },
2366
+ "sites": [
2367
+ "src/spacesMode.ts"
2368
+ ]
2369
+ },
2174
2370
  "request-theme": {
2175
2371
  "kind": "poll",
2176
2372
  "direction": "app->host",
@@ -2368,6 +2564,41 @@
2368
2564
  "src/mounts.ts"
2369
2565
  ]
2370
2566
  },
2567
+ "spaces-mode": {
2568
+ "kind": "push",
2569
+ "direction": "host->app",
2570
+ "poll": "request-spaces-mode",
2571
+ "payload": {
2572
+ "reads": [
2573
+ "state"
2574
+ ]
2575
+ },
2576
+ "value": {
2577
+ "union": [
2578
+ {
2579
+ "fields": [
2580
+ {
2581
+ "name": "route",
2582
+ "optional": false,
2583
+ "type": "SpacesRoute"
2584
+ },
2585
+ {
2586
+ "name": "space",
2587
+ "optional": false,
2588
+ "type": "SpacesModeSpace | null"
2589
+ }
2590
+ ]
2591
+ },
2592
+ {
2593
+ "type": "null"
2594
+ }
2595
+ ],
2596
+ "type": "SpacesModeState | null"
2597
+ },
2598
+ "sites": [
2599
+ "src/spacesMode.ts"
2600
+ ]
2601
+ },
2371
2602
  "task-cancel": {
2372
2603
  "kind": "message",
2373
2604
  "direction": "app->host",
@@ -2625,6 +2856,7 @@
2625
2856
  "secrets",
2626
2857
  "settings",
2627
2858
  "spaces",
2859
+ "spaces-mode",
2628
2860
  "task",
2629
2861
  "theme",
2630
2862
  "vcs"