unity-open-mcp 1.4.0 → 1.6.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 (102) hide show
  1. package/dist/capabilities/cost-hints.js +73 -0
  2. package/dist/capabilities/cost-hints.js.map +1 -1
  3. package/dist/capabilities/intent-groups.js +76 -4
  4. package/dist/capabilities/intent-groups.js.map +1 -1
  5. package/dist/capabilities/lifecycle.js +9 -0
  6. package/dist/capabilities/lifecycle.js.map +1 -1
  7. package/dist/capabilities/tool-groups.js +75 -17
  8. package/dist/capabilities/tool-groups.js.map +1 -1
  9. package/dist/compressible-router.d.ts +4 -1
  10. package/dist/compressible-router.js +27 -11
  11. package/dist/compressible-router.js.map +1 -1
  12. package/dist/constants.d.ts +2 -2
  13. package/dist/constants.js +2 -2
  14. package/dist/event-stream.d.ts +10 -0
  15. package/dist/event-stream.js +29 -0
  16. package/dist/event-stream.js.map +1 -1
  17. package/dist/game-view-settle.d.ts +18 -0
  18. package/dist/game-view-settle.js +81 -0
  19. package/dist/game-view-settle.js.map +1 -0
  20. package/dist/jobs/adapters.d.ts +59 -0
  21. package/dist/jobs/adapters.js +226 -0
  22. package/dist/jobs/adapters.js.map +1 -1
  23. package/dist/live-client.d.ts +17 -60
  24. package/dist/live-client.js +52 -87
  25. package/dist/live-client.js.map +1 -1
  26. package/dist/local-tools.js +3 -0
  27. package/dist/local-tools.js.map +1 -1
  28. package/dist/offline/api.d.ts +2 -0
  29. package/dist/offline/api.js +4 -2
  30. package/dist/offline/api.js.map +1 -1
  31. package/dist/offline/model.js +1 -1
  32. package/dist/offline/model.js.map +1 -1
  33. package/dist/offline/parse.d.ts +1 -1
  34. package/dist/offline/parse.js +20 -8
  35. package/dist/offline/parse.js.map +1 -1
  36. package/dist/playmode-routes.d.ts +17 -0
  37. package/dist/playmode-routes.js +50 -0
  38. package/dist/playmode-routes.js.map +1 -0
  39. package/dist/playtest/png.d.ts +27 -0
  40. package/dist/playtest/png.js +248 -0
  41. package/dist/playtest/png.js.map +1 -0
  42. package/dist/playtest/recorder.d.ts +203 -0
  43. package/dist/playtest/recorder.js +945 -0
  44. package/dist/playtest/recorder.js.map +1 -0
  45. package/dist/playtest/redact.d.ts +16 -0
  46. package/dist/playtest/redact.js +124 -0
  47. package/dist/playtest/redact.js.map +1 -0
  48. package/dist/playtest/report.d.ts +73 -0
  49. package/dist/playtest/report.js +477 -0
  50. package/dist/playtest/report.js.map +1 -0
  51. package/dist/playtest/session-store.d.ts +78 -0
  52. package/dist/playtest/session-store.js +224 -0
  53. package/dist/playtest/session-store.js.map +1 -0
  54. package/dist/skill/SKILL.md +22 -3
  55. package/dist/skill/references/senses-and-tests.md +3 -0
  56. package/dist/skill/references/yaml-and-offline-work.md +1 -1
  57. package/dist/tool-router.d.ts +44 -0
  58. package/dist/tool-router.js +249 -7
  59. package/dist/tool-router.js.map +1 -1
  60. package/dist/tools/batch-execute.js +5 -1
  61. package/dist/tools/batch-execute.js.map +1 -1
  62. package/dist/tools/capture-inline.js +30 -12
  63. package/dist/tools/capture-inline.js.map +1 -1
  64. package/dist/tools/capture-series.d.ts +46 -0
  65. package/dist/tools/capture-series.js +116 -0
  66. package/dist/tools/capture-series.js.map +1 -0
  67. package/dist/tools/game-view.d.ts +44 -0
  68. package/dist/tools/game-view.js +103 -0
  69. package/dist/tools/game-view.js.map +1 -0
  70. package/dist/tools/index.d.ts +1 -0
  71. package/dist/tools/index.js +34 -7
  72. package/dist/tools/index.js.map +1 -1
  73. package/dist/tools/inputsim-gesture.d.ts +46 -0
  74. package/dist/tools/inputsim-gesture.js +123 -0
  75. package/dist/tools/inputsim-gesture.js.map +1 -0
  76. package/dist/tools/inputsim-pointer.js +35 -2
  77. package/dist/tools/inputsim-pointer.js.map +1 -1
  78. package/dist/tools/inputsim-touch.js +42 -22
  79. package/dist/tools/inputsim-touch.js.map +1 -1
  80. package/dist/tools/jobs.js +1 -1
  81. package/dist/tools/jobs.js.map +1 -1
  82. package/dist/tools/player-state.d.ts +42 -0
  83. package/dist/tools/player-state.js +142 -0
  84. package/dist/tools/player-state.js.map +1 -0
  85. package/dist/tools/playtest-conditions.d.ts +334 -0
  86. package/dist/tools/playtest-conditions.js +99 -0
  87. package/dist/tools/playtest-conditions.js.map +1 -0
  88. package/dist/tools/playtest-session.d.ts +45 -0
  89. package/dist/tools/playtest-session.js +105 -0
  90. package/dist/tools/playtest-session.js.map +1 -0
  91. package/dist/tools/playtest-wait.d.ts +46 -0
  92. package/dist/tools/playtest-wait.js +86 -0
  93. package/dist/tools/playtest-wait.js.map +1 -0
  94. package/dist/tools/screenshot.js +31 -8
  95. package/dist/tools/screenshot.js.map +1 -1
  96. package/dist/tools/text-target.d.ts +22 -0
  97. package/dist/tools/text-target.js +39 -0
  98. package/dist/tools/text-target.js.map +1 -0
  99. package/dist/tools/ui-snapshot.d.ts +41 -0
  100. package/dist/tools/ui-snapshot.js +87 -0
  101. package/dist/tools/ui-snapshot.js.map +1 -0
  102. package/package.json +1 -1
@@ -23,6 +23,7 @@ import { readAssetOffline, isOfflineAsset } from "./offline.js";
23
23
  import { searchAssetsOffline } from "./offline.js";
24
24
  import { makeErrorResult } from "./results.js";
25
25
  import { readProfileAndDetail, applyPaging, attachPagination, isOutputProfile, } from "./output-profile.js";
26
+ import { buildGUIDIndex, safeReadMetaGUID } from "./offline/index-builders.js";
26
27
  import { normalizeAssetPath } from "./offline/paths.js";
27
28
  import { stat } from "node:fs/promises";
28
29
  import { join } from "node:path";
@@ -59,10 +60,28 @@ export class AssetModelCache {
59
60
  this.entries.set(key, entry);
60
61
  return entry.model;
61
62
  }
62
- set(key, model, mtimeMs) {
63
+ /** Re-resolve referenced GUIDs so moved, deleted, and restored dependencies
64
+ * cannot leave a cached model stale while the asset itself is unchanged. */
65
+ async getFresh(key, mtimeMs, projectRoot, assetPath) {
66
+ const model = this.get(key, mtimeMs);
67
+ const entry = this.entries.get(key);
68
+ if (!model || !entry || entry.dependencies === undefined)
69
+ return model;
70
+ const wanted = new Set(entry.dependencies.map(([guid]) => guid));
71
+ const [index, guid] = await Promise.all([
72
+ buildGUIDIndex(projectRoot, wanted),
73
+ safeReadMetaGUID(join(projectRoot, assetPath) + ".meta"),
74
+ ]);
75
+ if ((model.guid ?? "") !== guid || entry.dependencies.some(([id, path]) => (index.get(id) ?? null) !== path)) {
76
+ this.entries.delete(key);
77
+ return null;
78
+ }
79
+ return model;
80
+ }
81
+ set(key, model, mtimeMs, dependencies) {
63
82
  if (this.entries.has(key))
64
83
  this.entries.delete(key);
65
- this.entries.set(key, { model, mtimeMs });
84
+ this.entries.set(key, { model, mtimeMs, dependencies });
66
85
  while (this.entries.size > CACHE_LIMIT) {
67
86
  const oldest = this.entries.keys().next().value;
68
87
  if (oldest === undefined)
@@ -143,11 +162,8 @@ async function routeReadAsset(args, live, cache, projectPath) {
143
162
  }
144
163
  const fieldLimit = typeof args.field_limit === "number" ? args.field_limit : 0;
145
164
  const depth = typeof args.depth === "number" ? args.depth : -1;
146
- // M31-optimizations Plan 4 / T4.3 (M6) — normalize the path so the four
147
- // documented spellings of one file collapse to one cache entry. The
148
- // normalized form is what the cache key is built from; the ORIGINAL
149
- // `assetPath` is still passed to the offline parser / live bridge so
150
- // downstream behavior is byte-identical (only the cache key changes).
165
+ // Use the same normalized path for stat, cache, offline parsing and live
166
+ // fallback so backslash paths work on a cold cache on every platform.
151
167
  const normalizedPath = normalizeAssetPath(assetPath);
152
168
  // mtime invalidation: stat the absolute file once up-front. A failure
153
169
  // (binary-only asset, missing file, permission) yields `null` and the
@@ -156,17 +172,17 @@ async function routeReadAsset(args, live, cache, projectPath) {
156
172
  // now re-parse instead of serving stale until LRU eviction.
157
173
  const mtimeMs = await measureMtimeMs(projectPath, normalizedPath);
158
174
  const cacheKey = `${normalizedPath}|${fieldLimit}|${depth}`;
159
- let model = cache.get(cacheKey, mtimeMs);
175
+ let model = await cache.getFresh(cacheKey, mtimeMs, projectPath, normalizedPath);
160
176
  let cacheHit = true;
161
177
  let source = "offline";
162
178
  if (!model) {
163
179
  cacheHit = false;
164
180
  if (isOfflineAsset(assetPath)) {
165
181
  try {
166
- const result = await readAssetOffline(assetPath, { fieldLimit, projectRoot: projectPath });
182
+ const result = await readAssetOffline(normalizedPath, { fieldLimit, projectRoot: projectPath });
167
183
  model = result.model;
168
184
  source = "offline";
169
- cache.set(cacheKey, model, mtimeMs);
185
+ cache.set(cacheKey, model, mtimeMs, result.dependencies);
170
186
  }
171
187
  catch {
172
188
  // Offline parse failed — fall through to live bridge.
@@ -189,7 +205,7 @@ async function routeReadAsset(args, live, cache, projectPath) {
189
205
  source: "offline",
190
206
  });
191
207
  }
192
- const raw = await live.route("unity_open_mcp_read_asset", args);
208
+ const raw = await live.route("unity_open_mcp_read_asset", { ...args, asset_path: normalizedPath });
193
209
  const parsed = parseContentJson(raw);
194
210
  if (parsed === null) {
195
211
  return raw.isError
@@ -1 +1 @@
1
- {"version":3,"file":"compressible-router.js","sourceRoot":"","sources":["../src/compressible-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compressible-router.js","sourceRoot":"","sources":["../src/compressible-router.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ export declare const BRIDGE_HOST_SAFE_TIMEOUT_CAP_MS = 55000;
78
78
  * (`packages/bridge/Editor/Bridge/BridgeSession.cs`), which carries the
79
79
  * revision log.
80
80
  */
81
- export declare const EXPECTED_BRIDGE_WIRE_CONTRACT = 2;
81
+ export declare const EXPECTED_BRIDGE_WIRE_CONTRACT = 7;
82
82
  /**
83
83
  * Request/response header pair for the compile state that qualifies a tool
84
84
  * result (`BridgeCompileState.Header`). Sent as `1` with a tool call, it asks
@@ -94,7 +94,7 @@ export declare const COMPILE_STATE_HEADER = "X-Unity-Open-MCP-Compile-State";
94
94
  * verify packages. Mirrors the C# `BridgeConstants.NpmPackage`. Kept in
95
95
  * sync by `scripts/sync-version.mjs`.
96
96
  */
97
- export declare const NPM_PACKAGE = "unity-open-mcp@1.4.0";
97
+ export declare const NPM_PACKAGE = "unity-open-mcp@1.6.0";
98
98
  /**
99
99
  * Build the bridge base URL for a given port. Centralizes the loopback +
100
100
  * scheme so every caller produces the same string.
package/dist/constants.js CHANGED
@@ -89,7 +89,7 @@ export const BRIDGE_HOST_SAFE_TIMEOUT_CAP_MS = 55_000;
89
89
  * (`packages/bridge/Editor/Bridge/BridgeSession.cs`), which carries the
90
90
  * revision log.
91
91
  */
92
- export const EXPECTED_BRIDGE_WIRE_CONTRACT = 2;
92
+ export const EXPECTED_BRIDGE_WIRE_CONTRACT = 7;
93
93
  /**
94
94
  * Request/response header pair for the compile state that qualifies a tool
95
95
  * result (`BridgeCompileState.Header`). Sent as `1` with a tool call, it asks
@@ -105,7 +105,7 @@ export const COMPILE_STATE_HEADER = "X-Unity-Open-MCP-Compile-State";
105
105
  * verify packages. Mirrors the C# `BridgeConstants.NpmPackage`. Kept in
106
106
  * sync by `scripts/sync-version.mjs`.
107
107
  */
108
- export const NPM_PACKAGE = "unity-open-mcp@1.4.0";
108
+ export const NPM_PACKAGE = "unity-open-mcp@1.6.0";
109
109
  /**
110
110
  * Build the bridge base URL for a given port. Centralizes the loopback +
111
111
  * scheme so every caller produces the same string.
@@ -33,6 +33,7 @@ export declare class BridgeEventStream {
33
33
  private reconnectDelayMs;
34
34
  private stopped;
35
35
  private readonly cursors;
36
+ private readonly listeners;
36
37
  private baseUrl;
37
38
  private authToken?;
38
39
  private readonly projectPath?;
@@ -54,6 +55,15 @@ export declare class BridgeEventStream {
54
55
  static parseSseBlock(block: string): BridgeEvent | null;
55
56
  private enqueue;
56
57
  private scheduleReconnect;
58
+ /** Observe every incoming event (non-consuming). Returns the unsubscribe function. */
59
+ addListener(listener: (evt: BridgeEvent) => void): () => void;
60
+ /**
61
+ * Skip a pending backoff and reconnect now. Called before a call whose
62
+ * console output matters (a recorded playtest call): after a domain reload
63
+ * the backoff can otherwise leave the stream down for up to 30 s while the
64
+ * bridge is already back. No-op when connected, connecting or stopped.
65
+ */
66
+ reconnectNow(): void;
57
67
  /** Drain all queued events. The subscription keeps running. */
58
68
  drain(maxEvents: number): BridgeEvent[];
59
69
  /** One-shot pull: start the subscription if needed and drain.
@@ -59,6 +59,10 @@ export class BridgeEventStream {
59
59
  // is initialised to the current queue tail (the high-water mark) so it only
60
60
  // sees events emitted AFTER its first pull.
61
61
  cursors = new Map();
62
+ // Observers that see every event as it arrives without consuming the queue
63
+ // (the playtest session recorder correlates console errors with the calls
64
+ // it records). A throwing listener never breaks the reader.
65
+ listeners = new Set();
62
66
  // baseUrl/authToken are mutable: connect() re-resolves them from the
63
67
  // instance lock (resolveRefreshedEndpoint) because the bridge rotates its
64
68
  // bearer token on every domain reload / editor restart. projectPath/envPort
@@ -245,6 +249,12 @@ export class BridgeEventStream {
245
249
  return evt;
246
250
  }
247
251
  enqueue(evt) {
252
+ for (const listener of this.listeners) {
253
+ try {
254
+ listener(evt);
255
+ }
256
+ catch { /* observers must not break the reader */ }
257
+ }
248
258
  this.queue.push(evt);
249
259
  // M31 Plan 6 / T6.1 — single O(n) bulk drop instead of a while+shift loop.
250
260
  // `shift()` is O(n) per call because it re-indexes the array; under sustained
@@ -283,6 +293,25 @@ export class BridgeEventStream {
283
293
  // base on the next successful connect (see connect()).
284
294
  this.reconnectDelayMs = Math.min(this.reconnectDelayMs * 2, RECONNECT_MAX_DELAY_MS);
285
295
  }
296
+ /** Observe every incoming event (non-consuming). Returns the unsubscribe function. */
297
+ addListener(listener) {
298
+ this.listeners.add(listener);
299
+ return () => { this.listeners.delete(listener); };
300
+ }
301
+ /**
302
+ * Skip a pending backoff and reconnect now. Called before a call whose
303
+ * console output matters (a recorded playtest call): after a domain reload
304
+ * the backoff can otherwise leave the stream down for up to 30 s while the
305
+ * bridge is already back. No-op when connected, connecting or stopped.
306
+ */
307
+ reconnectNow() {
308
+ if (!this.started || this.stopped || this.connected || !this.reconnectTimer)
309
+ return;
310
+ clearTimeout(this.reconnectTimer);
311
+ this.reconnectTimer = null;
312
+ this.abortController = null;
313
+ this.connect();
314
+ }
286
315
  /** Drain all queued events. The subscription keeps running. */
287
316
  drain(maxEvents) {
288
317
  const cap = maxEvents > 0 && maxEvents <= 1000 ? maxEvents : 100;
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../src/event-stream.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,EAAE;AACF,aAAa;AACb,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,qCAAqC;AACrC,6EAA6E;AAC7E,4EAA4E;AAC5E,gCAAgC;AAChC,EAAE;AACF,6EAA6E;AAC7E,qBAAqB;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AA2BnE,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,kEAAkE;AAClE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,OAAO,iBAAiB;IACpB,YAAY,CAAS;IACrB,KAAK,GAAkB,EAAE,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAkB,IAAI,CAAC;IAChC,eAAe,GAA2B,IAAI,CAAC;IAC/C,cAAc,GAAyC,IAAI,CAAC;IAC5D,OAAO,GAAG,KAAK,CAAC;IACxB,mEAAmE;IACnE,2EAA2E;IAC3E,yEAAyE;IACzE,mDAAmD;IAC3C,gBAAgB,GAAG,uBAAuB,CAAC;IACnD,uEAAuE;IACvE,0EAA0E;IAClE,OAAO,GAAG,KAAK,CAAC;IAExB,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,qEAAqE;IACrE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4CAA4C;IAC3B,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE1D,qEAAqE;IACrE,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,sDAAsD;IAC9C,OAAO,CAAS;IAChB,SAAS,CAAU;IACV,WAAW,CAAU;IACrB,OAAO,CAAU;IAElC,YACE,OAAe,EACf,YAAqB,EACrB,SAAkB,EAClB,WAAoB,EACpB,OAAgB;QAEhB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY;YACf,YAAY,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,2EAA2E;QAC3E,8BAA8B;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,mEAAmE;QACnE,iEAAiE;QACjE,uEAAuE;QACvE,oEAAoE;QACpE,kEAAkE;QAClE,iCAAiC;QACjC,MAAM,SAAS,GAAG,wBAAwB,CACxC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,CACjE,IAAI,CAAC,YAAY,CAClB,mBAAmB,CAAC;QAErB,kEAAkE;QAClE,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1E,KAAK,CAAC,GAAG,EAAE;YACT,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;SACpC,CAAC;aACC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACzB,+DAA+D;gBAC/D,2DAA2D;gBAC3D,gEAAgE;gBAChE,iEAAiE;gBACjE,oDAAoD;gBACpD,IAAI,GAAG,CAAC,IAAI;oBAAE,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,kEAAkE;YAClE,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,OAAO,GACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,wEAAwE;YACxE,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,IAAgC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElD,IAAI,GAAW,CAAC;gBAChB,4CAA4C;gBAC5C,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,mEAAmE;YACnE,uEAAuE;YACvE,wDAAwD;YACxD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,sEAAsE;YACtE,gDAAgD;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,GAAG;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAa;QAChC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,MAAM,GAA4B,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,GAAG,GAAgB;YACvB,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7D,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxE,IAAI,EAAE,SAAgC;SACvC,CAAC;QAEF,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,GAAG,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,CAAC;aAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YAC9C,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;QAC5C,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,6EAA6E;YAC7E,GAAG,CAAC,OAAO,GAAG,UAAU,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,OAAO,CAAC,GAAgB;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,2EAA2E;QAC3E,8EAA8E;QAC9E,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;YACvB,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,qCAAqC;QACrC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9B,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,gBAAgB,GAAG,CAAC,EACzB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,SAAiB;QACrB,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,mEAAmE;QACnE,0EAA0E;QAC1E,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;gDAS4C;IAC5C,IAAI,CAAC,SAAiB,EAAE,YAAqB;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,uEAAuE;QACvE,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM;gBACN,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO;YACL,YAAY;YACZ,MAAM,EAAE,SAAS;YACjB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,KAAK,IAAI,UAAU;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAI;QACF,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,8DAA8D;QAC9D,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;QAChD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,+EAA+E;QAC/E,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../src/event-stream.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,EAAE;AACF,aAAa;AACb,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,qCAAqC;AACrC,6EAA6E;AAC7E,4EAA4E;AAC5E,gCAAgC;AAChC,EAAE;AACF,6EAA6E;AAC7E,qBAAqB;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AA2BnE,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,kEAAkE;AAClE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,OAAO,iBAAiB;IACpB,YAAY,CAAS;IACrB,KAAK,GAAkB,EAAE,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAkB,IAAI,CAAC;IAChC,eAAe,GAA2B,IAAI,CAAC;IAC/C,cAAc,GAAyC,IAAI,CAAC;IAC5D,OAAO,GAAG,KAAK,CAAC;IACxB,mEAAmE;IACnE,2EAA2E;IAC3E,yEAAyE;IACzE,mDAAmD;IAC3C,gBAAgB,GAAG,uBAAuB,CAAC;IACnD,uEAAuE;IACvE,0EAA0E;IAClE,OAAO,GAAG,KAAK,CAAC;IAExB,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,qEAAqE;IACrE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4CAA4C;IAC3B,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE1D,2EAA2E;IAC3E,0EAA0E;IAC1E,4DAA4D;IAC3C,SAAS,GAAoC,IAAI,GAAG,EAAE,CAAC;IAExE,qEAAqE;IACrE,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,sDAAsD;IAC9C,OAAO,CAAS;IAChB,SAAS,CAAU;IACV,WAAW,CAAU;IACrB,OAAO,CAAU;IAElC,YACE,OAAe,EACf,YAAqB,EACrB,SAAkB,EAClB,WAAoB,EACpB,OAAgB;QAEhB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY;YACf,YAAY,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,2EAA2E;QAC3E,8BAA8B;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,mEAAmE;QACnE,iEAAiE;QACjE,uEAAuE;QACvE,oEAAoE;QACpE,kEAAkE;QAClE,iCAAiC;QACjC,MAAM,SAAS,GAAG,wBAAwB,CACxC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,CACjE,IAAI,CAAC,YAAY,CAClB,mBAAmB,CAAC;QAErB,kEAAkE;QAClE,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1E,KAAK,CAAC,GAAG,EAAE;YACT,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;SACpC,CAAC;aACC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACzB,+DAA+D;gBAC/D,2DAA2D;gBAC3D,gEAAgE;gBAChE,iEAAiE;gBACjE,oDAAoD;gBACpD,IAAI,GAAG,CAAC,IAAI;oBAAE,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,kEAAkE;YAClE,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,OAAO,GACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,wEAAwE;YACxE,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,IAAgC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElD,IAAI,GAAW,CAAC;gBAChB,4CAA4C;gBAC5C,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,mEAAmE;YACnE,uEAAuE;YACvE,wDAAwD;YACxD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,sEAAsE;YACtE,gDAAgD;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,GAAG;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAa;QAChC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,MAAM,GAA4B,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,GAAG,GAAgB;YACvB,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7D,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxE,IAAI,EAAE,SAAgC;SACvC,CAAC;QAEF,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,GAAG,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,CAAC;aAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;YAC9C,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;QAC5C,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,6EAA6E;YAC7E,GAAG,CAAC,OAAO,GAAG,UAAU,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,OAAO,CAAC,GAAgB;QAC9B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,2EAA2E;QAC3E,8EAA8E;QAC9E,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;YACvB,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,qCAAqC;QACrC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9B,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,gBAAgB,GAAG,CAAC,EACzB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,WAAW,CAAC,QAAoC;QAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACpF,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,SAAiB;QACrB,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,mEAAmE;QACnE,0EAA0E;QAC1E,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;gDAS4C;IAC5C,IAAI,CAAC,SAAiB,EAAE,YAAqB;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,uEAAuE;QACvE,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM;gBACN,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO;YACL,YAAY;YACZ,MAAM,EAAE,SAAS;YACjB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,KAAK,IAAI,UAAU;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAI;QACF,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,8DAA8D;QAC9D,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;QAChD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,+EAA+E;QAC/E,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { LiveClient } from "./live-client.js";
2
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
+ export declare const GAME_VIEW_TOOL = "unity_open_mcp_game_view";
4
+ export type GameViewRouteOutcome = {
5
+ kind: "passthrough";
6
+ result: CallToolResult;
7
+ } | {
8
+ kind: "body";
9
+ body: Record<string, unknown>;
10
+ isError: boolean;
11
+ };
12
+ export interface GameViewSettleOptions {
13
+ pollIntervalMs?: number;
14
+ /** Extra time after the settle timeout before the poll gives up (cancel + grace). */
15
+ slackMs?: number;
16
+ unreachableMs?: number;
17
+ }
18
+ export declare function routeGameView(live: LiveClient, args: Record<string, unknown>, options?: GameViewSettleOptions): Promise<GameViewRouteOutcome>;
@@ -0,0 +1,81 @@
1
+ import { pollPlaymodeOperation, toolOutput, toolResultBody } from "./jobs/adapters.js";
2
+ import { GAME_VIEW_DEFAULT_SETTLE_MS } from "./tools/game-view.js";
3
+ export const GAME_VIEW_TOOL = "unity_open_mcp_game_view";
4
+ const SET_ACTIONS = new Set(["set_resolution", "set_device"]);
5
+ function notSettled(out, message, extra, logs) {
6
+ const { status: _status, settle, ...state } = out;
7
+ return {
8
+ kind: "body",
9
+ isError: true,
10
+ body: {
11
+ error: { code: "not_settled", message, ...extra },
12
+ ...state,
13
+ settled: false,
14
+ settle: { ...(settle && typeof settle === "object" ? settle : {}), ...extra, operation: undefined },
15
+ agentNextSteps: [
16
+ "The change was applied to the Editor; the game has not reported the new size yet. Make sure play mode is " +
17
+ "running (not paused) and the Game view / Simulator tab is visible, then call game_view get and compare screen with expected.",
18
+ ],
19
+ ...(logs === undefined ? {} : { logs }),
20
+ },
21
+ };
22
+ }
23
+ export async function routeGameView(live, args, options = {}) {
24
+ const start = await live.route(GAME_VIEW_TOOL, args);
25
+ const out = toolOutput(start);
26
+ if (start.isError || out.error || !SET_ACTIONS.has(String(args.action)))
27
+ return { kind: "passthrough", result: start };
28
+ const logs = toolResultBody(start).logs;
29
+ const settle = (out.settle ?? {});
30
+ switch (settle.state) {
31
+ case "settled":
32
+ return { kind: "passthrough", result: start };
33
+ case "paused":
34
+ case "failed":
35
+ return notSettled(out, String(settle.reason ?? settle.error?.message ?? `Settle ${settle.state}.`), { state: settle.state }, logs);
36
+ case "pending":
37
+ break;
38
+ default:
39
+ return { kind: "passthrough", result: start };
40
+ }
41
+ const operationId = settle.operation?.operation_id;
42
+ if (typeof operationId !== "string")
43
+ return notSettled(out, "The bridge started no settle watch.", { state: "unknown" }, logs);
44
+ const timeoutMs = Number(settle.timeout_ms) > 0 ? Number(settle.timeout_ms) : GAME_VIEW_DEFAULT_SETTLE_MS;
45
+ const outcome = await pollPlaymodeOperation(live, operationId, {
46
+ deadlineMs: timeoutMs + (options.slackMs ?? 2_000),
47
+ pollIntervalMs: options.pollIntervalMs ?? 50,
48
+ unreachableMs: options.unreachableMs ?? 10_000,
49
+ });
50
+ switch (outcome.kind) {
51
+ case "lost":
52
+ return notSettled(out, "The bridge lost the settle watch (domain reload or Editor restart).", { state: "lost" }, logs);
53
+ case "unreachable":
54
+ return notSettled(out, `Settle status unavailable: ${outcome.error}`, { state: "unreachable" }, logs);
55
+ case "deadline":
56
+ return notSettled(out, "The game did not report the new size before the settle timeout (paused Editor or no frames).", { state: "timeout", observed: outcome.snapshot?.result?.observed ?? null }, logs);
57
+ }
58
+ const snapshot = outcome.snapshot;
59
+ const result = (snapshot.result ?? {});
60
+ const frames = snapshot.progress?.ticks;
61
+ if (snapshot.state !== "succeeded" || result.settled !== true) {
62
+ return notSettled(out, String(result.reason ?? `Settle watch ended ${snapshot.reason ?? snapshot.state}.`), { state: snapshot.state === "succeeded" ? "timeout" : String(snapshot.reason ?? snapshot.state), observed: result.observed ?? null, frames }, logs);
63
+ }
64
+ // Settled: describe the view as it is now.
65
+ const fresh = toolOutput(await live.route(GAME_VIEW_TOOL, { action: "get" }));
66
+ const { status: _s, action: _a, ...freshState } = fresh.error ? {} : fresh;
67
+ return {
68
+ kind: "body",
69
+ isError: false,
70
+ body: {
71
+ ...out,
72
+ ...freshState,
73
+ status: "ok",
74
+ action: out.action,
75
+ settled: true,
76
+ settle: { state: "settled", frames, observed: result.observed ?? null },
77
+ ...(logs === undefined ? {} : { logs }),
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=game-view-settle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-view-settle.js","sourceRoot":"","sources":["../src/game-view-settle.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
1
2
  import { type LiveClient } from "../live-client.js";
2
3
  import { type JobOperation, type JobOwner } from "./job-manager.js";
3
4
  type ClientFor = (owner: JobOwner) => LiveClient;
@@ -12,4 +13,62 @@ export interface ProjectJobPollOptions {
12
13
  unreachableMs?: number;
13
14
  }
14
15
  export declare function projectCommandOperation(id: string, cancellable: boolean, client: ClientFor, poll?: ProjectJobPollOptions): JobOperation;
16
+ /** Tools served by the generic `playmode_operation` jobs adapter. */
17
+ export declare const PLAYMODE_OPERATION_TOOLS: ReadonlyMap<string, Record<string, any>>;
18
+ /** Encoding cost assumed per captured frame (PNG encode of a native frame) for duration estimates. */
19
+ export declare const PLAYMODE_ENCODE_ESTIMATE_MS = 250;
20
+ /**
21
+ * Worst-case duration (ms) of a play-mode operation from its arguments: the
22
+ * gesture's last keyframe or capture, a wait's timeout, a series' start_on
23
+ * wait plus its schedule (frames at a conservative 30 fps) plus encoding.
24
+ * Decides inline-vs-job and sizes the job deadline.
25
+ */
26
+ export declare function playmodeEstimateMs(tool: string, args: Record<string, unknown>): number;
27
+ /** Stable failure code of a terminal play-mode snapshot (the operation's own code when it set one). */
28
+ export declare function playmodeFailureCode(snapshot: Record<string, any>, fallback?: string): string;
29
+ export declare const PLAYMODE_JOB_DEFAULT_DEADLINE_MS: number;
30
+ export declare const PLAYMODE_JOB_DEFAULT_UNREACHABLE_MS: number;
31
+ export interface PlaymodePollOptions {
32
+ deadlineMs?: number;
33
+ pollIntervalMs?: number;
34
+ unreachableMs?: number;
35
+ }
36
+ /** Parsed JSON body of a tool result ({} when it is not JSON). */
37
+ export declare function toolResultBody(result: CallToolResult): Record<string, any>;
38
+ /**
39
+ * The tool's own output: registry tools answer inside the gate envelope
40
+ * (`mutation.output` / `mutation.error`); other shapes are returned as-is.
41
+ */
42
+ export declare function toolOutput(result: CallToolResult): Record<string, any>;
43
+ export type PlaymodePollOutcome = {
44
+ kind: "terminal";
45
+ snapshot: Record<string, any>;
46
+ cancelSent: boolean;
47
+ } | {
48
+ kind: "lost";
49
+ detail: Record<string, any>;
50
+ } | {
51
+ kind: "deadline";
52
+ snapshot: Record<string, any> | null;
53
+ cancelSent: boolean;
54
+ } | {
55
+ kind: "unreachable";
56
+ error: string;
57
+ };
58
+ /**
59
+ * Poll a scheduler operation to a terminal state. An abort of `signal` sends one
60
+ * cancel and keeps polling for its acknowledgement; at the deadline a cancel is
61
+ * sent once (the bridge then releases held input) before giving up. A cancel
62
+ * counts as sent only once the bridge answered it — a failed one is retried
63
+ * with backoff. An operation the deadline cancel ended is a `deadline`
64
+ * outcome, never a caller-initiated `cancelled`.
65
+ */
66
+ export declare function pollPlaymodeOperation(live: LiveClient, operationId: string, options?: PlaymodePollOptions & {
67
+ signal?: AbortSignal;
68
+ onSnapshot?: (snapshot: Record<string, any>) => void;
69
+ onTransport?: (connected: boolean, detail: string) => void;
70
+ }): Promise<PlaymodePollOutcome>;
71
+ /** Flatten a terminal scheduler snapshot into a job/tool result. */
72
+ export declare function playmodeResult(snapshot: Record<string, any>): Record<string, unknown>;
73
+ export declare function playmodeOperation(tool: string, schema: Record<string, any>, client: ClientFor, poll?: PlaymodePollOptions): JobOperation;
15
74
  export {};