@immediately-run/sandbox-protocol 0.7.7 → 0.8.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/dist/sandbox.d.ts CHANGED
@@ -140,7 +140,9 @@ export declare const SUCCESS = "success";
140
140
  /** `theme` — push · host->app. polled with `request-theme`. */
141
141
  export declare const THEME = "theme";
142
142
  export interface ThemePayload {
143
+ modeId: string;
143
144
  theme: "dark" | "light";
145
+ themeKey: string;
144
146
  }
145
147
  /** `vcs-state` — push · host->app. polled with `request-vcs-state`. */
146
148
  export declare const VCS_STATE = "vcs-state";
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: 5846971dd94af4f2
4
+ // descriptorsHash: d443b5ffbec18020
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-recents' | 'protocol-secrets' | 'protocol-settings' | 'protocol-spaces' | 'protocol-task' | 'protocol-theme' | 'protocol-vcs' | 'region-message' | '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-secrets-metadata' | 'request-session-mounts' | 'request-theme' | 'request-vcs-state' | 'request-workspace' | 'sdk-handshake' | 'secrets-metadata' | 'session-mounts' | 'task-cancel' | 'task-complete' | 'task-input' | 'theme' | '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-recents' | 'protocol-secrets' | 'protocol-settings' | 'protocol-spaces' | 'protocol-task' | 'protocol-theme' | 'protocol-vcs' | 'region-message' | '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-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';
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`. */
@@ -275,7 +275,8 @@ export interface ProtocolTaskInvokeParams {
275
275
  export declare const PROTOCOL_THEME = "protocol-theme";
276
276
  /** Params of `protocol-theme` method `set`. */
277
277
  export interface ProtocolThemeSetParams {
278
- theme: "dark" | "light";
278
+ mode?: string | undefined;
279
+ theme: string;
279
280
  }
280
281
  /** `protocol-vcs` — request · app->host. */
281
282
  export declare const PROTOCOL_VCS = "protocol-vcs";
@@ -315,6 +316,8 @@ export declare const REQUEST_SECRETS_METADATA = "request-secrets-metadata";
315
316
  export declare const REQUEST_SESSION_MOUNTS = "request-session-mounts";
316
317
  /** `request-theme` — poll · app->host. */
317
318
  export declare const REQUEST_THEME = "request-theme";
319
+ /** `request-theme-catalog` — poll · app->host. */
320
+ export declare const REQUEST_THEME_CATALOG = "request-theme-catalog";
318
321
  /** `request-vcs-state` — poll · app->host. */
319
322
  export declare const REQUEST_VCS_STATE = "request-vcs-state";
320
323
  /** `request-workspace` — poll · app->host. */
@@ -347,7 +350,10 @@ export interface TaskInputPayload {
347
350
  }
348
351
  /** `theme` — push · host->app. polled with `request-theme`. */
349
352
  export declare const THEME = "theme";
350
- /** Read off this message today: `theme`. */
353
+ /** Read off this message today: `modeId`, `theme`, `themeKey`. */
354
+ /** `theme-catalog` — push · host->app. polled with `request-theme-catalog`. */
355
+ export declare const THEME_CATALOG = "theme-catalog";
356
+ /** Read off this message today: `themes`. */
351
357
  /** `urlchange` — message · both. */
352
358
  export declare const URLCHANGE = "urlchange";
353
359
  /** `vcs-state` — push · host->app. polled with `request-vcs-state`. */
@@ -412,6 +418,7 @@ export declare const WIRE_NAMES: {
412
418
  readonly REQUEST_SECRETS_METADATA: "request-secrets-metadata";
413
419
  readonly REQUEST_SESSION_MOUNTS: "request-session-mounts";
414
420
  readonly REQUEST_THEME: "request-theme";
421
+ readonly REQUEST_THEME_CATALOG: "request-theme-catalog";
415
422
  readonly REQUEST_VCS_STATE: "request-vcs-state";
416
423
  readonly REQUEST_WORKSPACE: "request-workspace";
417
424
  readonly SDK_HANDSHAKE: "sdk-handshake";
@@ -421,6 +428,7 @@ export declare const WIRE_NAMES: {
421
428
  readonly TASK_COMPLETE: "task-complete";
422
429
  readonly TASK_INPUT: "task-input";
423
430
  readonly THEME: "theme";
431
+ readonly THEME_CATALOG: "theme-catalog";
424
432
  readonly URLCHANGE: "urlchange";
425
433
  readonly VCS_STATE: "vcs-state";
426
434
  readonly WORKSPACE: "workspace";
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: 5846971dd94af4f2
4
+ // descriptorsHash: d443b5ffbec18020
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
@@ -10,7 +10,7 @@
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
12
  exports.REQUEST_LLM_PROVIDER = exports.REQUEST_INVITATIONS = exports.REQUEST_HOST_ATTENTION = exports.REQUEST_HANDSHAKE = 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_MESSAGE = exports.PROTOCOL_VCS = exports.PROTOCOL_THEME = exports.PROTOCOL_TASK = exports.PROTOCOL_SPACES = exports.PROTOCOL_SETTINGS = exports.PROTOCOL_SECRETS = exports.PROTOCOL_RECENTS = 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 = 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 = exports.REQUEST_SESSION_MOUNTS = exports.REQUEST_SECRETS_METADATA = exports.REQUEST_MOUNTS = 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_MOUNTS = 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`. */
@@ -132,6 +132,8 @@ exports.REQUEST_SECRETS_METADATA = 'request-secrets-metadata';
132
132
  exports.REQUEST_SESSION_MOUNTS = 'request-session-mounts';
133
133
  /** `request-theme` — poll · app->host. */
134
134
  exports.REQUEST_THEME = 'request-theme';
135
+ /** `request-theme-catalog` — poll · app->host. */
136
+ exports.REQUEST_THEME_CATALOG = 'request-theme-catalog';
135
137
  /** `request-vcs-state` — poll · app->host. */
136
138
  exports.REQUEST_VCS_STATE = 'request-vcs-state';
137
139
  /** `request-workspace` — poll · app->host. */
@@ -152,7 +154,10 @@ exports.TASK_COMPLETE = 'task-complete';
152
154
  exports.TASK_INPUT = 'task-input';
153
155
  /** `theme` — push · host->app. polled with `request-theme`. */
154
156
  exports.THEME = 'theme';
155
- /** Read off this message today: `theme`. */
157
+ /** Read off this message today: `modeId`, `theme`, `themeKey`. */
158
+ /** `theme-catalog` — push · host->app. polled with `request-theme-catalog`. */
159
+ exports.THEME_CATALOG = 'theme-catalog';
160
+ /** Read off this message today: `themes`. */
156
161
  /** `urlchange` — message · both. */
157
162
  exports.URLCHANGE = 'urlchange';
158
163
  /** `vcs-state` — push · host->app. polled with `request-vcs-state`. */
@@ -217,6 +222,7 @@ exports.WIRE_NAMES = {
217
222
  REQUEST_SECRETS_METADATA: exports.REQUEST_SECRETS_METADATA,
218
223
  REQUEST_SESSION_MOUNTS: exports.REQUEST_SESSION_MOUNTS,
219
224
  REQUEST_THEME: exports.REQUEST_THEME,
225
+ REQUEST_THEME_CATALOG: exports.REQUEST_THEME_CATALOG,
220
226
  REQUEST_VCS_STATE: exports.REQUEST_VCS_STATE,
221
227
  REQUEST_WORKSPACE: exports.REQUEST_WORKSPACE,
222
228
  SDK_HANDSHAKE: exports.SDK_HANDSHAKE,
@@ -226,6 +232,7 @@ exports.WIRE_NAMES = {
226
232
  TASK_COMPLETE: exports.TASK_COMPLETE,
227
233
  TASK_INPUT: exports.TASK_INPUT,
228
234
  THEME: exports.THEME,
235
+ THEME_CATALOG: exports.THEME_CATALOG,
229
236
  URLCHANGE: exports.URLCHANGE,
230
237
  VCS_STATE: exports.VCS_STATE,
231
238
  WORKSPACE: exports.WORKSPACE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@immediately-run/sandbox-protocol",
3
- "version": "0.7.7",
3
+ "version": "0.8.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": {
@@ -667,6 +667,11 @@
667
667
  "poll": "request-theme",
668
668
  "payload": {
669
669
  "fields": [
670
+ {
671
+ "name": "modeId",
672
+ "optional": false,
673
+ "type": "string"
674
+ },
670
675
  {
671
676
  "name": "theme",
672
677
  "optional": false,
@@ -678,10 +683,17 @@
678
683
  "type": "\"light\""
679
684
  }
680
685
  ]
686
+ },
687
+ {
688
+ "name": "themeKey",
689
+ "optional": false,
690
+ "type": "string"
681
691
  }
682
692
  ],
683
693
  "reads": [
684
- "theme"
694
+ "modeId",
695
+ "theme",
696
+ "themeKey"
685
697
  ]
686
698
  },
687
699
  "sites": [
@@ -1713,20 +1713,91 @@
1713
1713
  "set": {
1714
1714
  "payload": {
1715
1715
  "fields": [
1716
+ {
1717
+ "name": "mode",
1718
+ "optional": true,
1719
+ "union": [
1720
+ {
1721
+ "type": "string"
1722
+ },
1723
+ {
1724
+ "type": "undefined"
1725
+ }
1726
+ ]
1727
+ },
1716
1728
  {
1717
1729
  "name": "theme",
1718
1730
  "optional": false,
1731
+ "type": "string"
1732
+ }
1733
+ ]
1734
+ }
1735
+ },
1736
+ "add-source": {
1737
+ "payload": {
1738
+ "fields": [
1739
+ {
1740
+ "name": "location",
1741
+ "optional": false,
1719
1742
  "union": [
1720
1743
  {
1721
- "type": "\"dark\""
1744
+ "fields": [
1745
+ {
1746
+ "name": "kind",
1747
+ "optional": false,
1748
+ "type": "\"repo\""
1749
+ },
1750
+ {
1751
+ "name": "path",
1752
+ "optional": false,
1753
+ "type": "string"
1754
+ },
1755
+ {
1756
+ "name": "ref",
1757
+ "optional": true,
1758
+ "type": "string | undefined"
1759
+ },
1760
+ {
1761
+ "name": "repo",
1762
+ "optional": false,
1763
+ "type": "string"
1764
+ }
1765
+ ]
1722
1766
  },
1723
1767
  {
1724
- "type": "\"light\""
1768
+ "fields": [
1769
+ {
1770
+ "name": "kind",
1771
+ "optional": false,
1772
+ "type": "\"space\""
1773
+ },
1774
+ {
1775
+ "name": "path",
1776
+ "optional": false,
1777
+ "type": "string"
1778
+ },
1779
+ {
1780
+ "name": "spaceId",
1781
+ "optional": false,
1782
+ "type": "string"
1783
+ }
1784
+ ]
1725
1785
  }
1726
1786
  ]
1727
1787
  }
1728
1788
  ]
1729
1789
  }
1790
+ },
1791
+ "remove-source": {
1792
+ "payload": {
1793
+ "fields": [
1794
+ {
1795
+ "name": "themeKey",
1796
+ "optional": false,
1797
+ "type": "string"
1798
+ }
1799
+ ]
1800
+ }
1730
1801
  }
1731
1802
  },
1732
1803
  "sites": [
@@ -1922,6 +1993,16 @@
1922
1993
  "src/theme.ts"
1923
1994
  ]
1924
1995
  },
1996
+ "request-theme-catalog": {
1997
+ "kind": "poll",
1998
+ "direction": "app->host",
1999
+ "payload": {
2000
+ "fields": []
2001
+ },
2002
+ "sites": [
2003
+ "src/theme.ts"
2004
+ ]
2005
+ },
1925
2006
  "request-vcs-state": {
1926
2007
  "kind": "poll",
1927
2008
  "direction": "app->host",
@@ -2158,19 +2239,98 @@
2158
2239
  "poll": "request-theme",
2159
2240
  "payload": {
2160
2241
  "reads": [
2161
- "theme"
2242
+ "modeId",
2243
+ "theme",
2244
+ "themeKey"
2162
2245
  ]
2163
2246
  },
2164
2247
  "value": {
2165
- "union": [
2248
+ "fields": [
2249
+ {
2250
+ "name": "modeId",
2251
+ "optional": false,
2252
+ "type": "string"
2253
+ },
2166
2254
  {
2167
- "type": "\"dark\""
2255
+ "name": "theme",
2256
+ "optional": false,
2257
+ "union": [
2258
+ {
2259
+ "type": "\"dark\""
2260
+ },
2261
+ {
2262
+ "type": "\"light\""
2263
+ }
2264
+ ]
2168
2265
  },
2169
2266
  {
2170
- "type": "\"light\""
2267
+ "name": "themeKey",
2268
+ "optional": false,
2269
+ "type": "string"
2270
+ }
2271
+ ],
2272
+ "type": "HostThemeSelection"
2273
+ },
2274
+ "sites": [
2275
+ "src/theme.ts"
2276
+ ]
2277
+ },
2278
+ "theme-catalog": {
2279
+ "kind": "push",
2280
+ "direction": "host->app",
2281
+ "poll": "request-theme-catalog",
2282
+ "payload": {
2283
+ "reads": [
2284
+ "themes"
2285
+ ]
2286
+ },
2287
+ "value": {
2288
+ "fields": [
2289
+ {
2290
+ "name": "themes",
2291
+ "optional": false,
2292
+ "array": {
2293
+ "fields": [
2294
+ {
2295
+ "name": "label",
2296
+ "optional": false,
2297
+ "type": "string"
2298
+ },
2299
+ {
2300
+ "name": "modes",
2301
+ "optional": false,
2302
+ "array": {
2303
+ "fields": [
2304
+ {
2305
+ "name": "id",
2306
+ "optional": false,
2307
+ "type": "string"
2308
+ },
2309
+ {
2310
+ "name": "polarity",
2311
+ "optional": false,
2312
+ "union": [
2313
+ {
2314
+ "type": "\"dark\""
2315
+ },
2316
+ {
2317
+ "type": "\"light\""
2318
+ }
2319
+ ]
2320
+ }
2321
+ ]
2322
+ }
2323
+ },
2324
+ {
2325
+ "name": "themeKey",
2326
+ "optional": false,
2327
+ "type": "string"
2328
+ }
2329
+ ]
2330
+ }
2171
2331
  }
2172
2332
  ],
2173
- "type": "HostTheme"
2333
+ "type": "ThemeCatalog"
2174
2334
  },
2175
2335
  "sites": [
2176
2336
  "src/theme.ts"