@crowdedkingdoms/crowdyjs 8.21.1 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/MIGRATION.md +44 -0
  2. package/README.md +74 -3
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/live-coding/assets/browser-authoring-index.json +1 -0
  7. package/dist/live-coding/assets/manifest.json +19 -0
  8. package/dist/live-coding/assets/tree-sitter-rust.wasm +0 -0
  9. package/dist/live-coding/assets/web-tree-sitter.wasm +0 -0
  10. package/dist/live-coding/browser-authoring-index.generated.d.ts +2 -0
  11. package/dist/live-coding/browser-authoring-index.generated.d.ts.map +1 -0
  12. package/dist/live-coding/browser-authoring-index.generated.js +5127 -0
  13. package/dist/live-coding/ide.d.ts +14 -7
  14. package/dist/live-coding/ide.d.ts.map +1 -1
  15. package/dist/live-coding/ide.js +296 -181
  16. package/dist/live-coding/index.d.ts +8 -0
  17. package/dist/live-coding/index.d.ts.map +1 -0
  18. package/dist/live-coding/index.js +7 -0
  19. package/dist/live-coding/lsp-protocol.d.ts +98 -0
  20. package/dist/live-coding/lsp-protocol.d.ts.map +1 -0
  21. package/dist/live-coding/lsp-protocol.js +70 -0
  22. package/dist/live-coding/monaco-services.d.ts +22 -0
  23. package/dist/live-coding/monaco-services.d.ts.map +1 -0
  24. package/dist/live-coding/monaco-services.js +69 -0
  25. package/dist/live-coding/platform-index.d.ts +29 -0
  26. package/dist/live-coding/platform-index.d.ts.map +1 -0
  27. package/dist/live-coding/platform-index.js +281 -0
  28. package/dist/live-coding/rust-analysis.d.ts +24 -0
  29. package/dist/live-coding/rust-analysis.d.ts.map +1 -0
  30. package/dist/live-coding/rust-analysis.js +312 -0
  31. package/dist/live-coding/rust-lsp-server.d.ts +43 -0
  32. package/dist/live-coding/rust-lsp-server.d.ts.map +1 -0
  33. package/dist/live-coding/rust-lsp-server.js +455 -0
  34. package/dist/live-coding/rust-lsp.worker.d.ts +2 -0
  35. package/dist/live-coding/rust-lsp.worker.d.ts.map +1 -0
  36. package/dist/live-coding/rust-lsp.worker.js +26 -0
  37. package/dist/live-coding/vfs.d.ts +41 -0
  38. package/dist/live-coding/vfs.d.ts.map +1 -0
  39. package/dist/live-coding/vfs.js +174 -0
  40. package/dist/live-coding/worker-transport.d.ts +60 -0
  41. package/dist/live-coding/worker-transport.d.ts.map +1 -0
  42. package/dist/live-coding/worker-transport.js +204 -0
  43. package/dist/player-runtime/glue-runtime.d.ts +13 -4
  44. package/dist/player-runtime/glue-runtime.d.ts.map +1 -1
  45. package/dist/player-runtime/glue-runtime.js +52 -8
  46. package/dist/player-runtime/glue-sab.d.ts +8 -5
  47. package/dist/player-runtime/glue-sab.d.ts.map +1 -1
  48. package/dist/player-runtime/glue-sab.js +36 -10
  49. package/dist/player-runtime/player-code-broker.d.ts +33 -4
  50. package/dist/player-runtime/player-code-broker.d.ts.map +1 -1
  51. package/dist/player-runtime/player-code-broker.js +332 -51
  52. package/dist/player-runtime/player-glue-worker.d.ts +3 -2
  53. package/dist/player-runtime/player-glue-worker.d.ts.map +1 -1
  54. package/dist/player-runtime/player-glue-worker.js +68 -32
  55. package/package.json +18 -6
@@ -14,7 +14,9 @@
14
14
  * (COOP: same-origin + COEP: require-corp) in the browser; Node worker
15
15
  * threads have them unconditionally, which is how this is integration-tested.
16
16
  *
17
- * Layout: [ state:i32, len:i32 ] header, then a byte data region.
17
+ * Layout: [ state:i32, len:i32, requestId:i32 ] header, then a byte data
18
+ * region. The request id prevents a host response that completed after the
19
+ * worker's timeout from waking a later request that reused the same SAB.
18
20
  * state: 0 IDLE, 1 PENDING (worker waiting), 2 DONE.
19
21
  * The request travels to the page as a normal postMessage (before the
20
22
  * worker blocks); only the reply uses the SAB.
@@ -22,6 +24,7 @@
22
24
  export declare const SAB_STATE_IDLE = 0;
23
25
  export declare const SAB_STATE_PENDING = 1;
24
26
  export declare const SAB_STATE_DONE = 2;
27
+ export declare const GLUE_HOST_CALL_TIMEOUT_MS = 5000;
25
28
  export declare const SAB_HEADER_BYTES: number;
26
29
  /** 1 MiB reply region — host-call replies (chunk/actor reads) are well under this. */
27
30
  export declare const SAB_DATA_BYTES: number;
@@ -39,9 +42,9 @@ declare const decoder: TextDecoder;
39
42
  * and wake the blocked worker. `respBytes` must already be the SDK Response
40
43
  * envelope (`{ok,data}` / `{ok:false,error}`) the guest expects.
41
44
  */
42
- export declare function writeGlueReply(view: GlueSab, respBytes: Uint8Array): void;
45
+ export declare function writeGlueReply(view: GlueSab, respBytes: Uint8Array, requestId?: number): boolean;
43
46
  /** Convenience for responders holding a plain object result. */
44
- export declare function writeGlueResult(view: GlueSab, result: unknown): void;
47
+ export declare function writeGlueResult(view: GlueSab, result: unknown, requestId?: number): boolean;
45
48
  /**
46
49
  * Requester side (worker): mark PENDING before posting the wake, block until
47
50
  * the page flips the state to DONE, then read the reply bytes out. The
@@ -49,7 +52,7 @@ export declare function writeGlueResult(view: GlueSab, result: unknown): void;
49
52
  * `waitAndRead()` — that ordering (post, then wait) is what lets the page
50
53
  * see the request while the worker is blocked.
51
54
  */
52
- export declare function armGlueRequest(view: GlueSab): void;
53
- export declare function waitAndReadGlueReply(view: GlueSab, timeoutMs?: number): Uint8Array;
55
+ export declare function armGlueRequest(view: GlueSab, requestId: number): void;
56
+ export declare function waitAndReadGlueReply(view: GlueSab, requestId: number, timeoutMs?: number): Uint8Array;
54
57
  export { encoder as glueEncoder, decoder as glueDecoder };
55
58
  //# sourceMappingURL=glue-sab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glue-sab.d.ts","sourceRoot":"","sources":["../../src/player-runtime/glue-sab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAC/C,sFAAsF;AACtF,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAiB,GAAG,OAAO,CAGjE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAM3D;AAED,QAAA,MAAM,OAAO,aAAoB,CAAC;AAClC,QAAA,MAAM,OAAO,aAAoB,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAMzE;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAGlD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,SAAO,GAAG,UAAU,CAShF;AAED,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"glue-sab.d.ts","sourceRoot":"","sources":["../../src/player-runtime/glue-sab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAG9C,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAC/C,sFAAsF;AACtF,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAiB,GAAG,OAAO,CAGjE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAM3D;AAED,QAAA,MAAM,OAAO,aAAoB,CAAC;AAClC,QAAA,MAAM,OAAO,aAAoB,CAAC;AAQlC;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,UAAU,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAkBT;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIrE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,SAA4B,GACpC,UAAU,CAuBZ;AAED,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC"}
@@ -14,7 +14,9 @@
14
14
  * (COOP: same-origin + COEP: require-corp) in the browser; Node worker
15
15
  * threads have them unconditionally, which is how this is integration-tested.
16
16
  *
17
- * Layout: [ state:i32, len:i32 ] header, then a byte data region.
17
+ * Layout: [ state:i32, len:i32, requestId:i32 ] header, then a byte data
18
+ * region. The request id prevents a host response that completed after the
19
+ * worker's timeout from waking a later request that reused the same SAB.
18
20
  * state: 0 IDLE, 1 PENDING (worker waiting), 2 DONE.
19
21
  * The request travels to the page as a normal postMessage (before the
20
22
  * worker blocks); only the reply uses the SAB.
@@ -22,7 +24,8 @@
22
24
  export const SAB_STATE_IDLE = 0;
23
25
  export const SAB_STATE_PENDING = 1;
24
26
  export const SAB_STATE_DONE = 2;
25
- const HEADER_I32 = 2; // state, len
27
+ export const GLUE_HOST_CALL_TIMEOUT_MS = 5000;
28
+ const HEADER_I32 = 3; // state, len, request id
26
29
  export const SAB_HEADER_BYTES = HEADER_I32 * 4;
27
30
  /** 1 MiB reply region — host-call replies (chunk/actor reads) are well under this. */
28
31
  export const SAB_DATA_BYTES = 1024 * 1024;
@@ -39,21 +42,34 @@ export function wrapGlueSab(sab) {
39
42
  }
40
43
  const encoder = new TextEncoder();
41
44
  const decoder = new TextDecoder();
45
+ const overflowReply = encoder.encode(JSON.stringify({
46
+ ok: false,
47
+ error: { kind: 'response_too_large', message: 'host response exceeds reply limit' },
48
+ }));
42
49
  /**
43
50
  * Responder side (page/broker): write the reply envelope bytes into the SAB
44
51
  * and wake the blocked worker. `respBytes` must already be the SDK Response
45
52
  * envelope (`{ok,data}` / `{ok:false,error}`) the guest expects.
46
53
  */
47
- export function writeGlueReply(view, respBytes) {
48
- const len = Math.min(respBytes.length, view.data.length);
49
- view.data.set(respBytes.subarray(0, len));
50
- Atomics.store(view.header, 1, len);
54
+ export function writeGlueReply(view, respBytes, requestId) {
55
+ if (requestId != null &&
56
+ (Atomics.load(view.header, 0) !== SAB_STATE_PENDING ||
57
+ Atomics.load(view.header, 2) !== requestId)) {
58
+ return false;
59
+ }
60
+ const payload = respBytes.length <= view.data.length ? respBytes : overflowReply;
61
+ if (payload.length > view.data.length) {
62
+ throw new RangeError('glue reply region cannot hold the overflow envelope');
63
+ }
64
+ view.data.set(payload);
65
+ Atomics.store(view.header, 1, payload.length);
51
66
  Atomics.store(view.header, 0, SAB_STATE_DONE);
52
67
  Atomics.notify(view.header, 0, 1);
68
+ return true;
53
69
  }
54
70
  /** Convenience for responders holding a plain object result. */
55
- export function writeGlueResult(view, result) {
56
- writeGlueReply(view, encoder.encode(JSON.stringify(result)));
71
+ export function writeGlueResult(view, result, requestId) {
72
+ return writeGlueReply(view, encoder.encode(JSON.stringify(result)), requestId);
57
73
  }
58
74
  /**
59
75
  * Requester side (worker): mark PENDING before posting the wake, block until
@@ -62,16 +78,26 @@ export function writeGlueResult(view, result) {
62
78
  * `waitAndRead()` — that ordering (post, then wait) is what lets the page
63
79
  * see the request while the worker is blocked.
64
80
  */
65
- export function armGlueRequest(view) {
81
+ export function armGlueRequest(view, requestId) {
66
82
  Atomics.store(view.header, 1, 0);
83
+ Atomics.store(view.header, 2, requestId);
67
84
  Atomics.store(view.header, 0, SAB_STATE_PENDING);
68
85
  }
69
- export function waitAndReadGlueReply(view, timeoutMs = 5000) {
86
+ export function waitAndReadGlueReply(view, requestId, timeoutMs = GLUE_HOST_CALL_TIMEOUT_MS) {
70
87
  const res = Atomics.wait(view.header, 0, SAB_STATE_PENDING, timeoutMs);
71
88
  if (res === 'timed-out') {
89
+ Atomics.compareExchange(view.header, 0, SAB_STATE_PENDING, SAB_STATE_IDLE);
72
90
  throw new Error('host call timed out');
73
91
  }
92
+ if (Atomics.load(view.header, 2) !== requestId) {
93
+ Atomics.store(view.header, 0, SAB_STATE_IDLE);
94
+ throw new Error('host call reply id mismatch');
95
+ }
74
96
  const len = Atomics.load(view.header, 1);
97
+ if (len < 0 || len > view.data.length) {
98
+ Atomics.store(view.header, 0, SAB_STATE_IDLE);
99
+ throw new Error('host call reply length is invalid');
100
+ }
75
101
  const out = view.data.slice(0, len);
76
102
  Atomics.store(view.header, 0, SAB_STATE_IDLE);
77
103
  return out;
@@ -39,7 +39,10 @@ export interface PlayerCodeBrokerOptions {
39
39
  * run (09 T7). Compute it from the same bytes the game-api served.
40
40
  */
41
41
  artifactHash?: string;
42
- /** Per-dispatch client fuel budget (from playerComputeArtifact); the glue traps past it. */
42
+ /**
43
+ * Informational server-authored fuel metadata. The browser does not enforce
44
+ * this value; metering must be injected into the platform artifact.
45
+ */
43
46
  fuelPerDispatch?: bigint;
44
47
  onHostCall: (call: PlayerCodeHostCall) => Promise<unknown>;
45
48
  /** Optional sink for HUD/overlay presentation the mod emits (BWF wires this). */
@@ -51,6 +54,10 @@ export interface PlayerCodeBrokerOptions {
51
54
  hashArtifact?: (artifact: ArrayBuffer) => Promise<string>;
52
55
  /** Wall-clock ms allowed per dispatch before the broker recycles the worker. */
53
56
  dispatchWatchdogMs?: number;
57
+ /** Wall-clock ms allowed for worker creation + WASM instantiation. */
58
+ startupWatchdogMs?: number;
59
+ /** Wall-clock ms allowed while an async SDK host call is outstanding. */
60
+ hostCallTimeoutMs?: number;
54
61
  /**
55
62
  * Local tick cadence (ms) for a client mod: the worker self-drives `tick`
56
63
  * at this interval. Omit/0 for invoke-only mods (no periodic tick). A HUD
@@ -81,15 +88,25 @@ export interface PlayerCodeBrokerOptions {
81
88
  export declare class PlayerCodeBroker {
82
89
  private readonly options;
83
90
  private worker;
91
+ private workerListener;
92
+ private artifact;
84
93
  private circuitOpen;
85
94
  private consecutiveTraps;
95
+ private hardTimeouts;
86
96
  private readonly rateBuckets;
87
- private readonly onMessage;
97
+ private globalCallBucket;
98
+ private generation;
99
+ private lifecycleVersion;
100
+ private starting;
101
+ private workerReady;
102
+ private startupTimer;
103
+ private dispatchTimer;
104
+ private activeDispatch;
88
105
  constructor(options: PlayerCodeBrokerOptions);
89
106
  /**
90
107
  * Start the worker on a platform-fetched artifact. Verifies the artifact
91
- * hash (side-load refusal, T7) before handing bytes to the worker, and
92
- * forwards the fuel budget so the glue can trap a runaway dispatch.
108
+ * hash (side-load refusal, T7) before handing bytes to the worker. A retained
109
+ * copy allows the page-side hard watchdog to replace a wedged worker.
93
110
  */
94
111
  start(artifact: ArrayBuffer): Promise<void>;
95
112
  /** Terminate + respawn on a fresh artifact — the client hot-reload path. */
@@ -108,6 +125,18 @@ export declare class PlayerCodeBroker {
108
125
  * the browser; the postMessage is harmless there.
109
126
  */
110
127
  private reply;
128
+ private spawnWorker;
129
+ private stopWorker;
130
+ private armStartupTimer;
131
+ private clearStartupTimer;
132
+ private armDispatchTimer;
133
+ private armHostCallTimer;
134
+ private resumeDispatchWatchdog;
135
+ private finishDispatch;
136
+ private clearDispatchTimer;
137
+ private recycleWorker;
138
+ private openCircuit;
139
+ private enforceGlobalRate;
111
140
  private enforceRate;
112
141
  private recordTrap;
113
142
  private assertGridScope;
@@ -1 +1 @@
1
- {"version":3,"file":"player-code-broker.d.ts","sourceRoot":"","sources":["../../src/player-runtime/player-code-broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player-code-broker.d.ts","sourceRoot":"","sources":["../../src/player-runtime/player-code-broker.ts"],"names":[],"mappings":"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"}