@crowdedkingdoms/crowdyjs 17.6.0 → 17.7.0-dev.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.
Files changed (86) hide show
  1. package/MIGRATION.md +41 -0
  2. package/README.md +33 -0
  3. package/dist/client.d.ts +7 -0
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +2 -1
  6. package/dist/crowdy-client.d.ts +24 -0
  7. package/dist/crowdy-client.d.ts.map +1 -1
  8. package/dist/crowdy-client.js +16 -0
  9. package/dist/crowdy-dsh/bridge.d.ts +24 -1
  10. package/dist/crowdy-dsh/bridge.d.ts.map +1 -1
  11. package/dist/crowdy-dsh/bridge.js +32 -0
  12. package/dist/crowdy-dsh/index.d.ts +1 -1
  13. package/dist/crowdy-dsh/index.d.ts.map +1 -1
  14. package/dist/crowdy-dsh/protocol.d.ts +64 -1
  15. package/dist/crowdy-dsh/protocol.d.ts.map +1 -1
  16. package/dist/crowdy-dsh/protocol.js +8 -1
  17. package/dist/crowdy-studio/starter-projects.js +1 -1
  18. package/dist/default-origin.d.ts +6 -6
  19. package/dist/default-origin.d.ts.map +1 -1
  20. package/dist/default-origin.js +6 -6
  21. package/dist/domains/actors.d.ts +38 -17
  22. package/dist/domains/actors.d.ts.map +1 -1
  23. package/dist/domains/actors.js +38 -17
  24. package/dist/domains/crowdyStudio.js +1 -1
  25. package/dist/domains/grids.d.ts +30 -0
  26. package/dist/domains/grids.d.ts.map +1 -0
  27. package/dist/domains/grids.js +39 -0
  28. package/dist/domains/udp.d.ts +5 -1
  29. package/dist/domains/udp.d.ts.map +1 -1
  30. package/dist/domains/udp.js +5 -1
  31. package/dist/generated/graphql.d.ts +169 -9
  32. package/dist/generated/graphql.d.ts.map +1 -1
  33. package/dist/generated/graphql.js +13 -10
  34. package/dist/grid-mods/grid-host-calls.d.ts +70 -0
  35. package/dist/grid-mods/grid-host-calls.d.ts.map +1 -0
  36. package/dist/grid-mods/grid-host-calls.js +220 -0
  37. package/dist/grid-mods/index.d.ts +3 -0
  38. package/dist/grid-mods/index.d.ts.map +1 -0
  39. package/dist/grid-mods/index.js +2 -0
  40. package/dist/grid-mods/mod-runtime.d.ts +52 -0
  41. package/dist/grid-mods/mod-runtime.d.ts.map +1 -0
  42. package/dist/grid-mods/mod-runtime.js +55 -0
  43. package/dist/grid-program/host.d.ts +88 -0
  44. package/dist/grid-program/host.d.ts.map +1 -0
  45. package/dist/grid-program/host.js +231 -0
  46. package/dist/grid-program/index.d.ts +14 -0
  47. package/dist/grid-program/index.d.ts.map +1 -0
  48. package/dist/grid-program/index.js +13 -0
  49. package/dist/grid-program/program.d.ts +19 -0
  50. package/dist/grid-program/program.d.ts.map +1 -0
  51. package/dist/grid-program/program.js +154 -0
  52. package/dist/grid-program/protocol.d.ts +87 -0
  53. package/dist/grid-program/protocol.d.ts.map +1 -0
  54. package/dist/grid-program/protocol.js +17 -0
  55. package/dist/grid-scope.d.ts +296 -0
  56. package/dist/grid-scope.d.ts.map +1 -0
  57. package/dist/grid-scope.js +183 -0
  58. package/dist/index.d.ts +7 -2
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +7 -2
  61. package/dist/kit/matches.d.ts +1 -0
  62. package/dist/kit/matches.d.ts.map +1 -1
  63. package/dist/kit/npcs.d.ts.map +1 -1
  64. package/dist/kit/social.d.ts.map +1 -1
  65. package/dist/live-coding/assets/browser-authoring-index.json +1 -1
  66. package/dist/live-coding/assets/manifest.json +1 -1
  67. package/dist/live-coding/browser-authoring-index.generated.d.ts.map +1 -1
  68. package/dist/live-coding/browser-authoring-index.generated.js +118 -6
  69. package/dist/player-runtime/client-grid-event-bus.d.ts +37 -0
  70. package/dist/player-runtime/client-grid-event-bus.d.ts.map +1 -0
  71. package/dist/player-runtime/client-grid-event-bus.js +56 -0
  72. package/dist/player-runtime/glue-runtime.d.ts +4 -2
  73. package/dist/player-runtime/glue-runtime.d.ts.map +1 -1
  74. package/dist/player-runtime/glue-runtime.js +20 -23
  75. package/dist/player-runtime/host-catalog.generated.d.ts +16 -0
  76. package/dist/player-runtime/host-catalog.generated.d.ts.map +1 -0
  77. package/dist/player-runtime/host-catalog.generated.js +296 -0
  78. package/dist/player-runtime/player-code-broker.d.ts +38 -0
  79. package/dist/player-runtime/player-code-broker.d.ts.map +1 -1
  80. package/dist/player-runtime/player-code-broker.js +116 -35
  81. package/dist/player-runtime/player-glue-worker.d.ts.map +1 -1
  82. package/dist/player-runtime/player-glue-worker.js +5 -0
  83. package/dist/realtime.d.ts +7 -0
  84. package/dist/realtime.d.ts.map +1 -1
  85. package/dist/realtime.js +3 -1
  86. package/package.json +10 -3
package/MIGRATION.md CHANGED
@@ -1,3 +1,44 @@
1
+ # CrowdyJS v17.7 — grid-scoped parity (DN-10)
2
+
3
+ **Additive, plus one coordinated break.** `17.7.0` (2026-09-22), on top of the
4
+ ck-api grid-parity release (grid channels, the grid event bus, grid sessions,
5
+ grid-scoped tokens). Everything that worked keeps its signature, with one
6
+ exception: **the crowdy-dsh bridge protocol is now v4**, so this CrowdyJS
7
+ pairs with `@crowdedkingdoms/crowdy-dsh` 0.4 and later (a v3 worker's frames
8
+ are dropped, as every version bump does).
9
+
10
+ - **`client.grid(appId, gridId, box?)`** returns a `GridScope`: one grid,
11
+ bound once. `channels` (list/create/join/leave/send grid channels),
12
+ `sessions` (games hosted inside the grid), `model` (the player-tier Game
13
+ Model), `compute` (deploy/invoke/client mods) and `send` (replication whose
14
+ ORIGIN is in the grid; reach follows `distance`). World helpers check the
15
+ chunk locally and throw `GridScopeError` before any request.
16
+ - **`client.grids`**: `mintToken` (a grid-scoped token: an app token narrowed
17
+ to one grid, deny-by-default on the server), `createChannel`, `channels`.
18
+ - **New subpath `@crowdedkingdoms/crowdyjs/grid-program`**: run
19
+ player-authored JS with the full SDK inside a grid. The program calls
20
+ `createGridProgramClient(port)` in a network-less sandbox; the page calls
21
+ `hostGridProgram({ port, scope, graphqlUrl, graphqlWsUrl })`, which relays
22
+ HTTP and realtime with a grid token the program never sees.
23
+ - **`startGridMod` / `createGridHostCalls`**: one runtime for Rust CLIENT
24
+ mods and JS grid programs. `createGridHostCalls` answers every CLIENT host
25
+ call in the platform catalog through CrowdyJS, confined to the grid, with
26
+ optional game-local fast paths.
27
+ - **Player runtime.** The broker allowlist is built from the platform host
28
+ catalog (`GENERATED_HOST_CATALOG`, drift-checked against ck-api's
29
+ `compute-toolchain/host-catalog.json`). New client host calls:
30
+ `emit_channel`, `emit_event` (a page-local grid event bus; `on_event`
31
+ delivery), `container_get_batch`, `edge_add`/`edge_delete`,
32
+ `sessions_list`, `avatar_state_get`. `PlayerCodeGridBounds` takes an
33
+ optional `gridId` (the event bus and self-grid checks need it), and the
34
+ broker takes `moduleName` and `eventBus`.
35
+ - **Sessions**: `GmSession.gridId`; `gameModel.sessions({ gridId })`;
36
+ `createSession({ gridId })` (grid owner only).
37
+ - **Transport seams**: `createCrowdyClient({ fetch, realtime: { webSocketImpl } })`.
38
+ - **crowdy-dsh bridge v4**: `grid.context`, `grid.programRun`,
39
+ `grid.programStatus`, answered through a new optional
40
+ `CrowdyStudioDshHost.grid` capability.
41
+
1
42
  # CrowdyJS v17.5 — bulk containers
2
43
 
3
44
  **Additive.** `17.5.0` (2026-09-16), on top of ck-api `v2.6.0`. Tracks the cks-game-api bulk-container changes of 2026-09-16
package/README.md CHANGED
@@ -482,6 +482,39 @@ The world helpers are thin wrappers over `client.udp.*` with the appId
482
482
  pre-bound — convenient for browser games. Advanced callers can always use
483
483
  `client.udp.*` with the generated GraphQL input types directly.
484
484
 
485
+ ## Grids: player code inside one grid
486
+
487
+ A grid is a box of chunks a player can own. Everything an app-scoped Studio
488
+ module can do, code running in a grid can do too, confined to that grid:
489
+ spatial messages that originate in it, the grid's own channels, a grid event
490
+ bus, sessions hosted in it, and the player-tier Game Model.
491
+
492
+ ```ts
493
+ const plot = client.grid(appId, gridId);
494
+ await plot.mintToken(); // learns the box; a grid-scoped token
495
+ await plot.channels.create('plot-chat'); // a grid channel (owner only)
496
+ await plot.sessions.create({ name: 'race' }); // a game within the game
497
+ await plot.send.text({ chunk: { x: 4, y: 0, z: 0 }, uuid, text: 'hi', distance: 2 });
498
+ plot.send.text({ chunk: { x: 9, y: 0, z: 0 }, uuid, text: 'x' }); // throws GridScopeError
499
+ ```
500
+
501
+ **JS grid programs** run the full SDK in a network-less sandbox; the page
502
+ relays them with a grid token they never see:
503
+
504
+ ```ts
505
+ // sandbox (iframe / worker)
506
+ import { createGridProgramClient } from '@crowdedkingdoms/crowdyjs/grid-program';
507
+ const { client, grid } = await createGridProgramClient(port);
508
+
509
+ // page
510
+ import { hostGridProgram } from '@crowdedkingdoms/crowdyjs/grid-program';
511
+ await hostGridProgram({ port, scope: client.grid(appId, gridId), graphqlUrl, graphqlWsUrl });
512
+ ```
513
+
514
+ `startGridMod` runs either a Rust CLIENT mod (WASM) or a JS grid program
515
+ behind one interface; `createGridHostCalls` answers every CLIENT host call in
516
+ the platform catalog through CrowdyJS for a mod's broker.
517
+
485
518
  ## World Stores
486
519
 
487
520
  The core client is a thin transport; the **World Stores** layer
package/dist/client.d.ts CHANGED
@@ -61,6 +61,12 @@ export interface GraphQLClientConfig {
61
61
  * so mutations stay pinned to the same upstream as the WS subscription.
62
62
  */
63
63
  lbCookieStore?: LbCookieStore;
64
+ /**
65
+ * The `fetch` to POST with. Defaults to the global. A grid program (the
66
+ * sandboxed JS runtime of `@crowdedkingdoms/crowdyjs/grid-program`) passes one
67
+ * that relays over a MessagePort, because its sandbox has no network.
68
+ */
69
+ fetch?: typeof fetch;
64
70
  }
65
71
  /**
66
72
  * Low-level HTTP transport for GraphQL operations against the game or
@@ -90,6 +96,7 @@ export declare class GraphQLClient {
90
96
  private readonly session;
91
97
  private readonly logger;
92
98
  private readonly lbCookieStore?;
99
+ private readonly fetchImpl?;
93
100
  private onWrongDatacenter?;
94
101
  get endpoint(): string;
95
102
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,aAAa;IACxB,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAEM;IAEhC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;OAMG;gBACS,MAAM,EAAE,mBAAmB,YAAK,EAAE,OAAO,EAAE,YAAY;IAkBnE;;;;;;;OAOG;IACH,yBAAyB,CACvB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC5D,IAAI;IAIP;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CAAC,OAAO,EAAE,UAAU,EAC/B,QAAQ,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAChD,SAAS,CAAC,EAAE,UAAU,EACtB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,OAAO,CAAC;IASnB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,CAAC,CAAC;IA0Cb,0EAA0E;YAC5D,OAAO;CAyEtB;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,aAAa;IACxB,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAEM;IAEhC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;OAMG;gBACS,MAAM,EAAE,mBAAmB,YAAK,EAAE,OAAO,EAAE,YAAY;IAmBnE;;;;;;;OAOG;IACH,yBAAyB,CACvB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC5D,IAAI;IAIP;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CAAC,OAAO,EAAE,UAAU,EAC/B,QAAQ,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAChD,SAAS,CAAC,EAAE,UAAU,EACtB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,OAAO,CAAC;IASnB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,CAAC,CAAC;IA0Cb,0EAA0E;YAC5D,OAAO;CAyEtB;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,CAAC"}
package/dist/client.js CHANGED
@@ -58,6 +58,7 @@ export class GraphQLClient {
58
58
  this.session = session;
59
59
  this.logger = config.logger ?? silentLogger;
60
60
  this.lbCookieStore = config.lbCookieStore;
61
+ this.fetchImpl = config.fetch;
61
62
  this.onWrongDatacenter = config.onWrongDatacenter;
62
63
  }
63
64
  /**
@@ -185,7 +186,7 @@ export class GraphQLClient {
185
186
  const lbCookie = this.lbCookieStore?.headerValue();
186
187
  try {
187
188
  const requestBody = { query, variables };
188
- const response = await fetch(this.graphqlEndpoint, {
189
+ const response = await (this.fetchImpl ?? fetch)(this.graphqlEndpoint, {
189
190
  method: 'POST',
190
191
  headers: {
191
192
  'Content-Type': 'application/json',
@@ -55,6 +55,8 @@ import { TeleportAPI } from './domains/teleport.js';
55
55
  import { StateAPI } from './domains/state.js';
56
56
  import { ServerStatusAPI } from './domains/serverStatus.js';
57
57
  import { ChannelsAPI } from './domains/channels.js';
58
+ import { GridsAPI } from './domains/grids.js';
59
+ import { GridScope, type GridBox } from './grid-scope.js';
58
60
  import { TeamsAPI } from './domains/teams.js';
59
61
  import { UdpAPI } from './domains/udp.js';
60
62
  import { GameModelAPI } from './domains/gameModel.js';
@@ -110,8 +112,18 @@ export interface CrowdyClientConfig {
110
112
  * framing page, or your own instance to control timeouts.
111
113
  */
112
114
  embeddedHost?: EmbeddedHost | false;
115
+ /**
116
+ * The `fetch` GraphQL requests go through; defaults to the global. See
117
+ * `createGridProgramClient` for the one case that needs another.
118
+ */
119
+ fetch?: typeof fetch;
113
120
  /** Realtime (WebSocket) tuning for reconnect backoff and `...AndWait` timeouts. */
114
121
  realtime?: {
122
+ /**
123
+ * WebSocket constructor for the realtime subscription; defaults to the
124
+ * platform's. See `createGridProgramClient`.
125
+ */
126
+ webSocketImpl?: unknown;
115
127
  /** Max reconnect attempts before giving up (default tuned for browsers). */
116
128
  retryAttempts?: number;
117
129
  /** Initial reconnect backoff in milliseconds. */
@@ -267,6 +279,8 @@ export declare class CrowdyClient {
267
279
  readonly serverStatus: ServerStatusAPI;
268
280
  /** Channels: location-independent pub/sub messaging groups. */
269
281
  readonly channels: ChannelsAPI;
282
+ /** Grid tokens and grid channels (DN-10); see also {@link CrowdyClient.grid}. */
283
+ readonly grids: GridsAPI;
270
284
  /** Teams: app-scoped player groups with roles and delegated management. */
271
285
  readonly teams: TeamsAPI;
272
286
  /** UDP proxy: spatial sends + the shared realtime notification subscription. */
@@ -343,6 +357,16 @@ export declare class CrowdyClient {
343
357
  * @param appId - The app to scope realtime traffic to (BigInt as a decimal string).
344
358
  */
345
359
  world(appId: string): WorldClient;
360
+ /**
361
+ * One grid, bound once: its channels, sessions, player-tier model, player
362
+ * compute and origin-checked replication, all with the app and grid filled
363
+ * in (DN-10: grid scope is app scope intersected with grid confinement).
364
+ * Pass the box if you know it; otherwise `mintToken()` learns it.
365
+ *
366
+ * @param appId - The app (BigInt as a decimal string).
367
+ * @param gridId - The grid (BigInt as a decimal string).
368
+ */
369
+ grid(appId: string, gridId: string, box?: GridBox): GridScope;
346
370
  /**
347
371
  * App-scoped **Game Kit** facade over `client.gameModel`: high-level
348
372
  * building blocks that map traditional game concepts onto Game Models +
@@ -1 +1 @@
1
- {"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IAEjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IACpC,mFAAmF;IACnF,QAAQ,CAAC,EAAE;QACT,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iDAAiD;QACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,8EAA8E;QAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,+EAA+E;QAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;;;;WAOG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;YAC7C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,GAAG,IAAI,CAAC,CAAC;QACV;;;;;;;;;WASG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iEAAiE;QACjE,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,oBAAoB,CAA0C;IAEtE,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGlC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,6GAA6G;IAC7G,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAGzB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,iHAAiH;IACjH,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IAEzD,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAEnB,MAAM,GAAE,kBAAuB;IA6M3C,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC,0DAA0D;IAC1D,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAczC,2BAA2B;IAezC;;;;OAIG;IACG,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IASlD;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAIjC;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa;IAS3D,gEAAgE;IAChE,KAAK,IAAI,IAAI;IAMb,yDAAyD;IACzD,IAAI,eAAe,IAAI,MAAM,CAE5B;CACF;AAED,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,kBAAuB,GAC9B,YAAY,CAEd"}
1
+ {"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,8 @@ import { TeleportAPI } from './domains/teleport.js';
56
56
  import { StateAPI } from './domains/state.js';
57
57
  import { ServerStatusAPI } from './domains/serverStatus.js';
58
58
  import { ChannelsAPI } from './domains/channels.js';
59
+ import { GridsAPI } from './domains/grids.js';
60
+ import { GridScope } from './grid-scope.js';
59
61
  import { TeamsAPI } from './domains/teams.js';
60
62
  import { UdpAPI } from './domains/udp.js';
61
63
  import { GameModelAPI } from './domains/gameModel.js';
@@ -114,6 +116,7 @@ export class CrowdyClient {
114
116
  timeout: config.timeout,
115
117
  logger: config.logger,
116
118
  lbCookieStore,
119
+ ...(config.fetch ? { fetch: config.fetch } : {}),
117
120
  }, this.session);
118
121
  this.metrics = new RealtimeMetrics();
119
122
  const { rediscover: explicitRediscover, discoveryUrl, ...realtimeConfig } = config.realtime ?? {};
@@ -209,6 +212,7 @@ export class CrowdyClient {
209
212
  this.state = new StateAPI(this.graphql);
210
213
  this.serverStatus = new ServerStatusAPI(this.graphql);
211
214
  this.channels = new ChannelsAPI(this.graphql);
215
+ this.grids = new GridsAPI(this.graphql);
212
216
  this.teams = new TeamsAPI(this.graphql);
213
217
  this.udp = new UdpAPI(this.graphql, this.realtime, this.metrics, () => this.gameplayTokenRefresh);
214
218
  this.gameModel = new GameModelAPI(this.graphql, {
@@ -325,6 +329,18 @@ export class CrowdyClient {
325
329
  world(appId) {
326
330
  return new WorldClient(appId, this.udp);
327
331
  }
332
+ /**
333
+ * One grid, bound once: its channels, sessions, player-tier model, player
334
+ * compute and origin-checked replication, all with the app and grid filled
335
+ * in (DN-10: grid scope is app scope intersected with grid confinement).
336
+ * Pass the box if you know it; otherwise `mintToken()` learns it.
337
+ *
338
+ * @param appId - The app (BigInt as a decimal string).
339
+ * @param gridId - The grid (BigInt as a decimal string).
340
+ */
341
+ grid(appId, gridId, box) {
342
+ return new GridScope(this, appId, gridId, box);
343
+ }
328
344
  /**
329
345
  * App-scoped **Game Kit** facade over `client.gameModel`: high-level
330
346
  * building blocks that map traditional game concepts onto Game Models +
@@ -25,7 +25,7 @@
25
25
  */
26
26
  import type { CrowdyStudioController } from '../crowdy-studio/controller.js';
27
27
  import type { PlayerHostAdapterV1 } from '../player-host/types.js';
28
- import { type DshScreenshotResult } from './protocol.js';
28
+ import { type DshGridContext, type DshGridProgramStatus, type DshScreenshotResult } from './protocol.js';
29
29
  import type { CrowdyStudioDshTransport, CrowdyStudioModelCatalogEntry } from './transport.js';
30
30
  /** What the game supplies so the model can see and act. */
31
31
  export interface CrowdyStudioDshHost {
@@ -46,6 +46,28 @@ export interface CrowdyStudioDshHost {
46
46
  playerHost?: Pick<PlayerHostAdapterV1, 'observe'>;
47
47
  /** Recent `crowdy::log` lines from the CLIENT module and browser runtime errors. */
48
48
  clientLogs?(): readonly string[];
49
+ /**
50
+ * Grid capability (bridge v4, DN-10). With it the agent can read the grid
51
+ * the open project is bound to and run a JS grid program from a project
52
+ * file inside it; without it the grid requests fail with a clear message.
53
+ */
54
+ grid?: CrowdyStudioDshGridHost;
55
+ }
56
+ /** What a game offers the agent for the grid the open project is bound to. */
57
+ export interface CrowdyStudioDshGridHost {
58
+ context(gridId: string): Promise<DshGridContext | null>;
59
+ /**
60
+ * Run (or with `stop`, stop) the program at `path` inside the grid. The page
61
+ * hands over the file's current content; how it sandboxes it is the game's
62
+ * (the construct package uses a network-less iframe and `hostGridProgram`).
63
+ */
64
+ runProgram(input: {
65
+ gridId: string;
66
+ path: string;
67
+ source: string;
68
+ stop?: boolean;
69
+ }): Promise<DshGridProgramStatus>;
70
+ programs(): DshGridProgramStatus[];
49
71
  }
50
72
  export interface StudioDshBridgeOptions {
51
73
  controller: CrowdyStudioController;
@@ -146,6 +168,7 @@ export declare class StudioDshBridge {
146
168
  private handle;
147
169
  private onWorkerEvent;
148
170
  private dispatch;
171
+ private gridHost;
149
172
  private build;
150
173
  private runtimeStatus;
151
174
  private screenshot;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/bridge.ts"],"names":[],"mappings":"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"}
@@ -348,10 +348,42 @@ export class StudioDshBridge {
348
348
  this.emit('page.context', { observation });
349
349
  return { observation, capturedAt: new Date().toISOString() };
350
350
  }
351
+ case 'grid.context': {
352
+ const grid = this.gridHost();
353
+ const project = controller.getState().project;
354
+ if (!project)
355
+ throw new Error('No project is open in Crowdy Studio.');
356
+ return { grid: await grid.context(project.gridId) };
357
+ }
358
+ case 'grid.programRun': {
359
+ const grid = this.gridHost();
360
+ const project = controller.getState().project;
361
+ if (!project)
362
+ throw new Error('No project is open in Crowdy Studio.');
363
+ const { path, stop } = params;
364
+ const file = project.files.find((f) => f.path === path);
365
+ if (!file && !stop)
366
+ throw new Error(`No file ${path} in the open project.`);
367
+ const program = await grid.runProgram({
368
+ gridId: project.gridId,
369
+ path,
370
+ source: file?.content ?? '',
371
+ stop: stop === true,
372
+ });
373
+ return { program };
374
+ }
375
+ case 'grid.programStatus':
376
+ return { programs: this.gridHost().programs() };
351
377
  default:
352
378
  throw new Error(`Unsupported bridge method ${String(method)}`);
353
379
  }
354
380
  }
381
+ gridHost() {
382
+ const grid = this.options.host?.grid;
383
+ if (!grid)
384
+ throw new Error('This game does not run grid programs from the agent.');
385
+ return grid;
386
+ }
355
387
  async build(mode) {
356
388
  const controller = this.options.controller;
357
389
  if (!controller.getState().project)
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @module @crowdedkingdoms/crowdyjs/crowdy-dsh
6
6
  */
7
- export { StudioDshBridge, renderSettingsYaml, type CrowdyStudioDshHost, type StudioDshBridgeOptions, type StudioDshBridgeStatus, } from './bridge.js';
7
+ export { StudioDshBridge, renderSettingsYaml, type CrowdyStudioDshHost, type CrowdyStudioDshGridHost, type StudioDshBridgeOptions, type StudioDshBridgeStatus, } from './bridge.js';
8
8
  export { CrowdyStudioDshPane, CROWDY_STUDIO_DSH_STYLES, type CrowdyStudioDshPaneOptions } from './pane.js';
9
9
  export { CrowdyStudioDshTransport, type CrowdyStudioModelCatalogEntry, type CrowdyStudioModelUsage, type CrowdyStudioModelUsageEntry, type CrowdyStudioProviderConsent, } from './transport.js';
10
10
  export * from './protocol.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,KAAK,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC3G,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,gBAAgB,CAAC;AACxB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,KAAK,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC3G,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,gBAAgB,CAAC;AACxB,cAAc,eAAe,CAAC"}
@@ -31,7 +31,14 @@
31
31
  * Studio itself. `page.project` / `page.saved` re-announce the commit whenever
32
32
  * it moves so the worker's next write carries the current one.
33
33
  */
34
- export declare const CROWDY_DSH_PROTOCOL_VERSION: 3;
34
+ /**
35
+ * v4 (CrowdyJS 17.7 / crowdy-dsh 0.4, DN-10): the grid requests. The agent can
36
+ * ask which grid the open project is bound to (`grid.context`) and run a JS
37
+ * grid program from a project file inside it (`grid.programRun`,
38
+ * `grid.programStatus`). The page answers them only when its host offers a
39
+ * `grid` capability; otherwise they fail with a clear message.
40
+ */
41
+ export declare const CROWDY_DSH_PROTOCOL_VERSION: 4;
35
42
  export type DshBridgeSide = 'page' | 'worker';
36
43
  export type DshBridgeFrame = {
37
44
  v: typeof CROWDY_DSH_PROTOCOL_VERSION;
@@ -110,6 +117,41 @@ export interface DshProjectSummary {
110
117
  /** `owner/repo@branch` for a GITHUB project, for the agent's own words. */
111
118
  github?: string;
112
119
  }
120
+ /** The grid the open project is bound to, as the page sees it (v4). */
121
+ export interface DshGridContext {
122
+ appId: string;
123
+ gridId: string;
124
+ low: {
125
+ x: string;
126
+ y: string;
127
+ z: string;
128
+ };
129
+ high: {
130
+ x: string;
131
+ y: string;
132
+ z: string;
133
+ };
134
+ /** Whether the signed-in player currently owns the grid. */
135
+ owned: boolean;
136
+ channels: Array<{
137
+ groupId: string;
138
+ name: string;
139
+ }>;
140
+ sessions: Array<{
141
+ sessionId: string;
142
+ name: string | null;
143
+ status: string;
144
+ }>;
145
+ }
146
+ /** One JS grid program the page is running (v4). */
147
+ export interface DshGridProgramStatus {
148
+ path: string;
149
+ running: boolean;
150
+ startedAt?: string;
151
+ lastError?: string;
152
+ /** Recent `console` lines from the program's sandbox. */
153
+ log: string[];
154
+ }
113
155
  export interface DshBridgeRequestMap {
114
156
  'studio.screenshot': {
115
157
  params: {
@@ -180,6 +222,27 @@ export interface DshBridgeRequestMap {
180
222
  capturedAt: string;
181
223
  };
182
224
  };
225
+ 'grid.context': {
226
+ params: Record<string, never>;
227
+ result: {
228
+ grid: DshGridContext | null;
229
+ };
230
+ };
231
+ 'grid.programRun': {
232
+ params: {
233
+ path: string;
234
+ stop?: boolean;
235
+ };
236
+ result: {
237
+ program: DshGridProgramStatus;
238
+ };
239
+ };
240
+ 'grid.programStatus': {
241
+ params: Record<string, never>;
242
+ result: {
243
+ programs: DshGridProgramStatus[];
244
+ };
245
+ };
183
246
  }
184
247
  export type DshBridgeMethod = keyof DshBridgeRequestMap;
185
248
  export interface DshPageEventMap {
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAG,CAAU,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,cAAc,GACtB;IAAE,CAAC,EAAE,OAAO,2BAA2B,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAChI;IAAE,CAAC,EAAE,OAAO,2BAA2B,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAChH;IAAE,CAAC,EAAE,OAAO,2BAA2B,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9H;IAAE,CAAC,EAAE,OAAO,2BAA2B,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3H,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;IACrD,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,MAAM,EAAE,gBAAgB,CAAC;IACzB,oEAAoE;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IACjF,kBAAkB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAC9E,mBAAmB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAC/E,sBAAsB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE;YAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACnG,oBAAoB,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACtG,mBAAmB,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACrG,oBAAoB,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,EAAE;YAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KAC5E,CAAC;IACF,oBAAoB,EAAE;QAAE,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,OAAO,EAAE,iBAAiB,CAAA;SAAE,CAAA;KAAE,CAAC;IAChG,sBAAsB,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,OAAO,EAAE,iBAAiB,CAAA;SAAE,CAAA;KAAE,CAAC;IAChH,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE;YAAE,WAAW,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACzG;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,0FAA0F;IAC1F,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACnG,YAAY,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/D,cAAc,EAAE;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,EAAE,mBAAmB,CAAC;IACpC,8EAA8E;IAC9E,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,oBAAoB,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,iBAAiB,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,gFAAgF;AAChF,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAMxF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/protocol.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,14 @@
31
31
  * Studio itself. `page.project` / `page.saved` re-announce the commit whenever
32
32
  * it moves so the worker's next write carries the current one.
33
33
  */
34
- export const CROWDY_DSH_PROTOCOL_VERSION = 3;
34
+ /**
35
+ * v4 (CrowdyJS 17.7 / crowdy-dsh 0.4, DN-10): the grid requests. The agent can
36
+ * ask which grid the open project is bound to (`grid.context`) and run a JS
37
+ * grid program from a project file inside it (`grid.programRun`,
38
+ * `grid.programStatus`). The page answers them only when its host offers a
39
+ * `grid` capability; otherwise they fail with a clear message.
40
+ */
41
+ export const CROWDY_DSH_PROTOCOL_VERSION = 4;
35
42
  export function isDshBridgeFrame(value, nonce) {
36
43
  if (!value || typeof value !== 'object')
37
44
  return false;
@@ -1,5 +1,5 @@
1
1
  import { projectTargets, } from './models.js';
2
- const SDK_VERSION = '0.1.5';
2
+ const SDK_VERSION = '0.1.6';
3
3
  /** Create a compile-oriented starter without introducing a raw JSON source map. */
4
4
  export function createCrowdyStudioStarterProject(options) {
5
5
  const base = moduleName(options.name);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * GENERATED — do not edit. The operator tooling's
3
- * `sync-client-origins.mjs --write --tier prod` writes this file, and
3
+ * `sync-client-origins.mjs --write --tier dev` writes this file, and
4
4
  * `check-sdk-default-origin.mjs` refuses it when it names the wrong tier or a
5
5
  * host that declaration does not carry. Regenerate; never hand-edit.
6
6
  *
@@ -10,14 +10,14 @@
10
10
  * than no default at all. Every fallback this SDK ever removed named a host that
11
11
  * was already dead. A generated file plus a gate is what makes this one different.
12
12
  *
13
- * Source: the operator's per-tier public CK API origin declaration, tier 'prod'
13
+ * Source: the operator's per-tier public CK API origin declaration, tier 'dev'
14
14
  */
15
15
  /** The tier this build of the SDK is published for. */
16
- export declare const CROWDY_DEFAULT_TIER = "prod";
16
+ export declare const CROWDY_DEFAULT_TIER = "dev";
17
17
  /** The public CK API origin for that tier. */
18
- export declare const CROWDY_DEFAULT_HTTP_ORIGIN = "https://ck.prod.crowdedkingdoms.com";
18
+ export declare const CROWDY_DEFAULT_HTTP_ORIGIN = "https://ck.dev.crowdedkingdoms.com";
19
19
  /** The same host over WebSocket. A scheme is composed; a hostname is looked up. */
20
- export declare const CROWDY_DEFAULT_WS_ORIGIN = "wss://ck.prod.crowdedkingdoms.com";
20
+ export declare const CROWDY_DEFAULT_WS_ORIGIN = "wss://ck.dev.crowdedkingdoms.com";
21
21
  /** The bare hostname, for callers that need to compare rather than dial. */
22
- export declare const CROWDY_DEFAULT_HOST = "ck.prod.crowdedkingdoms.com";
22
+ export declare const CROWDY_DEFAULT_HOST = "ck.dev.crowdedkingdoms.com";
23
23
  //# sourceMappingURL=default-origin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-origin.d.ts","sourceRoot":"","sources":["../src/default-origin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAEhF,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,sCAAsC,CAAC;AAE5E,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,gCAAgC,CAAC"}
1
+ {"version":3,"file":"default-origin.d.ts","sourceRoot":"","sources":["../src/default-origin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,uCAAuC,CAAC;AAE/E,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAE3E,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,+BAA+B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * GENERATED — do not edit. The operator tooling's
3
- * `sync-client-origins.mjs --write --tier prod` writes this file, and
3
+ * `sync-client-origins.mjs --write --tier dev` writes this file, and
4
4
  * `check-sdk-default-origin.mjs` refuses it when it names the wrong tier or a
5
5
  * host that declaration does not carry. Regenerate; never hand-edit.
6
6
  *
@@ -10,13 +10,13 @@
10
10
  * than no default at all. Every fallback this SDK ever removed named a host that
11
11
  * was already dead. A generated file plus a gate is what makes this one different.
12
12
  *
13
- * Source: the operator's per-tier public CK API origin declaration, tier 'prod'
13
+ * Source: the operator's per-tier public CK API origin declaration, tier 'dev'
14
14
  */
15
15
  /** The tier this build of the SDK is published for. */
16
- export const CROWDY_DEFAULT_TIER = 'prod';
16
+ export const CROWDY_DEFAULT_TIER = 'dev';
17
17
  /** The public CK API origin for that tier. */
18
- export const CROWDY_DEFAULT_HTTP_ORIGIN = 'https://ck.prod.crowdedkingdoms.com';
18
+ export const CROWDY_DEFAULT_HTTP_ORIGIN = 'https://ck.dev.crowdedkingdoms.com';
19
19
  /** The same host over WebSocket. A scheme is composed; a hostname is looked up. */
20
- export const CROWDY_DEFAULT_WS_ORIGIN = 'wss://ck.prod.crowdedkingdoms.com';
20
+ export const CROWDY_DEFAULT_WS_ORIGIN = 'wss://ck.dev.crowdedkingdoms.com';
21
21
  /** The bare hostname, for callers that need to compare rather than dial. */
22
- export const CROWDY_DEFAULT_HOST = 'ck.prod.crowdedkingdoms.com';
22
+ export const CROWDY_DEFAULT_HOST = 'ck.dev.crowdedkingdoms.com';