unity-agentic-tools 0.5.1 → 0.7.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 (81) hide show
  1. package/README.md +59 -97
  2. package/dist/animator-utils.d.ts +46 -0
  3. package/dist/animator-utils.d.ts.map +1 -0
  4. package/dist/animator-utils.js +161 -0
  5. package/dist/animator-utils.js.map +1 -0
  6. package/dist/bridge-install.d.ts +16 -0
  7. package/dist/bridge-install.d.ts.map +1 -0
  8. package/dist/bridge-install.js +94 -0
  9. package/dist/bridge-install.js.map +1 -0
  10. package/dist/build-settings.d.ts +43 -0
  11. package/dist/build-settings.d.ts.map +1 -0
  12. package/dist/build-settings.js +196 -0
  13. package/dist/build-settings.js.map +1 -0
  14. package/dist/build-version.d.ts +40 -0
  15. package/dist/build-version.d.ts.map +1 -0
  16. package/dist/build-version.js +114 -0
  17. package/dist/build-version.js.map +1 -0
  18. package/dist/class-ids.d.ts +30 -0
  19. package/dist/class-ids.d.ts.map +1 -0
  20. package/dist/class-ids.js +322 -0
  21. package/dist/class-ids.js.map +1 -0
  22. package/dist/cleanup.d.ts +21 -0
  23. package/dist/cleanup.d.ts.map +1 -0
  24. package/dist/cleanup.js +161 -0
  25. package/dist/cleanup.js.map +1 -0
  26. package/dist/cli.d.ts +3 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +1060 -8137
  29. package/dist/cli.js.map +1 -0
  30. package/dist/editor-client.d.ts +25 -0
  31. package/dist/editor-client.d.ts.map +1 -0
  32. package/dist/editor-client.js +458 -0
  33. package/dist/editor-client.js.map +1 -0
  34. package/dist/editor-discovery.d.ts +17 -0
  35. package/dist/editor-discovery.d.ts.map +1 -0
  36. package/dist/editor-discovery.js +248 -0
  37. package/dist/editor-discovery.js.map +1 -0
  38. package/dist/editor-transport.d.ts +30 -0
  39. package/dist/editor-transport.d.ts.map +1 -0
  40. package/dist/editor-transport.js +175 -0
  41. package/dist/editor-transport.js.map +1 -0
  42. package/dist/gitignore.d.ts +3 -0
  43. package/dist/gitignore.d.ts.map +1 -0
  44. package/dist/gitignore.js +40 -0
  45. package/dist/gitignore.js.map +1 -0
  46. package/dist/index.d.ts +4 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +116 -8346
  49. package/dist/index.js.map +1 -0
  50. package/dist/loaded-protection.d.ts +6 -0
  51. package/dist/loaded-protection.d.ts.map +1 -0
  52. package/dist/loaded-protection.js +95 -0
  53. package/dist/loaded-protection.js.map +1 -0
  54. package/dist/packages.d.ts +55 -0
  55. package/dist/packages.d.ts.map +1 -0
  56. package/dist/packages.js +102 -0
  57. package/dist/packages.js.map +1 -0
  58. package/dist/params.d.ts +54 -0
  59. package/dist/params.d.ts.map +1 -0
  60. package/dist/params.js +106 -0
  61. package/dist/params.js.map +1 -0
  62. package/dist/types.d.ts +167 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +4 -0
  65. package/dist/types.js.map +1 -0
  66. package/dist/util.d.ts +2 -0
  67. package/dist/util.d.ts.map +1 -0
  68. package/dist/util.js +7 -0
  69. package/dist/util.js.map +1 -0
  70. package/dist/utils.d.ts +82 -0
  71. package/dist/utils.d.ts.map +1 -0
  72. package/dist/utils.js +291 -0
  73. package/dist/utils.js.map +1 -0
  74. package/package.json +10 -14
  75. package/dist/doc-indexer-cli.js +0 -3218
  76. package/native/index.d.ts +0 -335
  77. package/native/index.js +0 -330
  78. package/native/unity-file-tools.darwin-arm64.node +0 -0
  79. package/native/unity-file-tools.darwin-x64.node +0 -0
  80. package/native/unity-file-tools.linux-x64-gnu.node +0 -0
  81. package/native/unity-file-tools.win32-x64-msvc.node +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { CallEditorOptions, EditorReadiness, RpcResponse, StreamEditorOptions } from './types';
2
+ export { discover_editor_config, read_editor_config } from './editor-discovery';
3
+ export { ping_editor } from './editor-transport';
4
+ /**
5
+ * Send a single JSON-RPC request to the Unity Editor and return the result.
6
+ * Automatically retries on transient connection errors (e.g., server restarting after assembly reload).
7
+ */
8
+ export declare function call_editor(options: CallEditorOptions): Promise<RpcResponse>;
9
+ /**
10
+ * Ask a reachable bridge what the Editor is busy with. Accepting a socket only
11
+ * proves the server is listening; these fields say whether a call will be served.
12
+ */
13
+ export declare function read_editor_readiness(port: number, timeout_ms: number): Promise<EditorReadiness | {
14
+ error: string;
15
+ }>;
16
+ /**
17
+ * Open a persistent WebSocket connection for streaming events (e.g., stream console).
18
+ * Sends the initial RPC request, then calls on_event for each notification received.
19
+ * Returns a cleanup function to close the connection.
20
+ * Automatically reconnects when the server restarts (e.g., after domain reload).
21
+ */
22
+ export declare function stream_editor(options: StreamEditorOptions): Promise<{
23
+ close: () => void;
24
+ }>;
25
+ //# sourceMappingURL=editor-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-client.d.ts","sourceRoot":"","sources":["../src/editor-client.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACR,iBAAiB,EAEjB,eAAe,EAGf,WAAW,EACX,mBAAmB,EACtB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsGjD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BlF;AAoCD;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B9C;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAmLhG"}
@@ -0,0 +1,458 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ping_editor = exports.read_editor_config = exports.discover_editor_config = void 0;
4
+ exports.call_editor = call_editor;
5
+ exports.read_editor_readiness = read_editor_readiness;
6
+ exports.stream_editor = stream_editor;
7
+ const editor_discovery_1 = require("./editor-discovery");
8
+ const editor_transport_1 = require("./editor-transport");
9
+ const util_1 = require("./util");
10
+ var editor_discovery_2 = require("./editor-discovery");
11
+ Object.defineProperty(exports, "discover_editor_config", { enumerable: true, get: function () { return editor_discovery_2.discover_editor_config; } });
12
+ Object.defineProperty(exports, "read_editor_config", { enumerable: true, get: function () { return editor_discovery_2.read_editor_config; } });
13
+ var editor_transport_2 = require("./editor-transport");
14
+ Object.defineProperty(exports, "ping_editor", { enumerable: true, get: function () { return editor_transport_2.ping_editor; } });
15
+ const CLIENT_DISCOVERY_UNAVAILABLE_CODE = -32010;
16
+ const DEFAULT_ACTION_SEMANTICS = {
17
+ kind: 'command',
18
+ default_retries: 2,
19
+ retry_delays_ms: [500, 1000, 2000],
20
+ discovery_timeout_ms: 350,
21
+ };
22
+ const TRANSITION_TOLERANT_READ_SEMANTICS = {
23
+ kind: 'read',
24
+ default_retries: 6,
25
+ retry_delays_ms: [250, 500, 1000, 1500, 1500, 1500],
26
+ discovery_timeout_ms: 250,
27
+ };
28
+ const TRANSITION_TOLERANT_COMMAND_SEMANTICS = {
29
+ kind: 'command',
30
+ default_retries: 5,
31
+ retry_delays_ms: [250, 500, 1000, 1500, 2000],
32
+ discovery_timeout_ms: 250,
33
+ };
34
+ /**
35
+ * Read-only Registry targets, by alias and by backing API name.
36
+ *
37
+ * This cannot be prefix-based: scene.hierarchy and scene.query are reads while
38
+ * scene.open and scene.save are commands. Deriving it from the C# Registry is
39
+ * ROADMAP Phase 1 work -- it needs a bridge round-trip and introduces version skew.
40
+ */
41
+ const READ_RUN_TARGETS = new Set([
42
+ 'scene.hierarchy',
43
+ 'scene.query',
44
+ 'query.assets',
45
+ 'query.asset',
46
+ 'query.scene',
47
+ 'query.object',
48
+ 'play.state',
49
+ 'ui.snapshot',
50
+ 'ui.query',
51
+ 'input.map',
52
+ 'tests.results',
53
+ 'UnityAgenticTools.Util.Hierarchy.Snapshot',
54
+ 'UnityAgenticTools.Util.Hierarchy.Query',
55
+ 'UnityAgenticTools.Query.Assets.Find',
56
+ 'UnityAgenticTools.Query.Assets.Info',
57
+ 'UnityAgenticTools.Query.Scene.Hierarchy',
58
+ 'UnityAgenticTools.Query.Scene.Object',
59
+ 'UnityAgenticTools.Util.PlayMode.GetState',
60
+ 'UnityAgenticTools.Util.UI.Snapshot',
61
+ 'UnityAgenticTools.Util.UI.Query',
62
+ 'UnityAgenticTools.Util.Input.Map',
63
+ 'UnityAgenticTools.Util.TestRunner.GetResults',
64
+ ]);
65
+ const PLAY_MODE_RUN_TARGETS = new Set([
66
+ 'play.enter',
67
+ 'play.exit',
68
+ 'play.pause',
69
+ 'play.step',
70
+ 'play.state',
71
+ 'UnityAgenticTools.Util.PlayMode.Enter',
72
+ 'UnityAgenticTools.Util.PlayMode.Exit',
73
+ 'UnityAgenticTools.Util.PlayMode.Pause',
74
+ 'UnityAgenticTools.Util.PlayMode.Step',
75
+ 'UnityAgenticTools.Util.PlayMode.GetState',
76
+ 'UnityEditor.EditorApplication.isPlaying',
77
+ ]);
78
+ /** Error codes that indicate transient connection issues (server restarting after reload). */
79
+ const READ_RETRYABLE_CODES = new Set([-32000, -32002, -32003, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
80
+ const COMMAND_RETRYABLE_CODES = new Set([-32002, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
81
+ const TRANSITION_TOLERANT_COMMAND_RETRYABLE_CODES = new Set([-32000, -32002, -32003, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
82
+ /**
83
+ * Wall-clock budget for waiting out a domain reload, spent only while the Editor
84
+ * process is provably alive.
85
+ *
86
+ * Entering play mode reloads the domain, which stops the server; measured against a
87
+ * large project the unreachable window runs 4-7s, wider than the fixed retry budgets
88
+ * above (5.25-6.25s). That margin is why transition-time reads failed roughly 1 call
89
+ * in 100. A deadline covers a slow reload without hard-coding a retry count that a
90
+ * bigger project would outgrow again.
91
+ */
92
+ const RELOAD_TOLERANCE_MS = 30000;
93
+ /**
94
+ * Poll interval while waiting out a reload. Shorter than the profiles' backoff
95
+ * delays on purpose: once the server is back, this is the latency we add before
96
+ * noticing, and each poll is only a TCP connect with a sub-second timeout.
97
+ */
98
+ const RELOAD_POLL_INTERVAL_MS = 500;
99
+ /**
100
+ * Send a single JSON-RPC request to the Unity Editor and return the result.
101
+ * Automatically retries on transient connection errors (e.g., server restarting after assembly reload).
102
+ */
103
+ async function call_editor(options) {
104
+ const semantics = get_action_semantics(options.method, 'unary', options.params);
105
+ const explicit_retries = options.retries !== undefined;
106
+ const max_retries = options.retries ?? semantics.default_retries;
107
+ const delays = semantics.retry_delays_ms;
108
+ const started = Date.now();
109
+ let last_response;
110
+ for (let attempt = 0;; attempt++) {
111
+ last_response = await call_editor_once(options, semantics);
112
+ if (!should_retry_response(last_response, semantics)) {
113
+ return last_response;
114
+ }
115
+ if (attempt < max_retries) {
116
+ await sleep(delays[Math.min(attempt, delays.length - 1)]);
117
+ continue;
118
+ }
119
+ // An explicit retries option is a hard cap; otherwise keep waiting out a
120
+ // domain reload while the Editor is still alive.
121
+ if (explicit_retries || !within_reload_tolerance(options, started)) {
122
+ return last_response;
123
+ }
124
+ await sleep(RELOAD_POLL_INTERVAL_MS);
125
+ }
126
+ }
127
+ /**
128
+ * True while it is worth waiting out a domain reload.
129
+ *
130
+ * StopForReload deliberately leaves the lockfile in place and the Unity process
131
+ * survives an assembly reload, so a live pid with an unreachable server means
132
+ * "reloading". A closed or crashed Editor still fails fast, because
133
+ * read_editor_config rejects a missing lockfile or a dead pid.
134
+ */
135
+ function within_reload_tolerance(options, started) {
136
+ if (options.port !== undefined) {
137
+ return false;
138
+ }
139
+ if (Date.now() - started >= RELOAD_TOLERANCE_MS) {
140
+ return false;
141
+ }
142
+ return !('error' in (0, editor_discovery_1.read_editor_config)(options.project_path));
143
+ }
144
+ function sleep(ms) {
145
+ return new Promise(r => setTimeout(r, ms));
146
+ }
147
+ const READINESS_FIELDS = [
148
+ 'is_playing',
149
+ 'is_paused',
150
+ 'is_compiling',
151
+ 'is_updating',
152
+ 'is_playmode_transitioning',
153
+ 'is_reloading',
154
+ 'is_stable',
155
+ ];
156
+ /**
157
+ * Ask a reachable bridge what the Editor is busy with. Accepting a socket only
158
+ * proves the server is listening; these fields say whether a call will be served.
159
+ */
160
+ async function read_editor_readiness(port, timeout_ms) {
161
+ const response = await (0, editor_transport_1.request_editor_at_port)({
162
+ port,
163
+ method: 'editor.bridge.getInfo',
164
+ timeout: timeout_ms,
165
+ });
166
+ if (response.error) {
167
+ return { error: response.error.message };
168
+ }
169
+ if (!(0, util_1.is_record)(response.result)) {
170
+ return { error: 'Bridge returned no readiness fields' };
171
+ }
172
+ const info = response.result;
173
+ const readiness = {};
174
+ for (const field of READINESS_FIELDS) {
175
+ const value = info[field];
176
+ if (typeof value !== 'boolean') {
177
+ return { error: `Bridge did not report ${field}; the installed package may be older than this CLI` };
178
+ }
179
+ readiness[field] = value;
180
+ }
181
+ return readiness;
182
+ }
183
+ /**
184
+ * Open a persistent WebSocket connection for streaming events (e.g., stream console).
185
+ * Sends the initial RPC request, then calls on_event for each notification received.
186
+ * Returns a cleanup function to close the connection.
187
+ * Automatically reconnects when the server restarts (e.g., after domain reload).
188
+ */
189
+ async function stream_editor(options) {
190
+ const { method, params, timeout = 30000, on_event, on_error } = options;
191
+ const semantics = get_action_semantics(method, 'stream', params);
192
+ const config = await resolve_config(options, semantics.discovery_timeout_ms);
193
+ if ('error' in config) {
194
+ throw new Error(config.error);
195
+ }
196
+ let stopped = false;
197
+ let reconnect_count = 0;
198
+ let reconnect_deadline;
199
+ let active_socket;
200
+ return new Promise((resolve, reject) => {
201
+ let resolved = false;
202
+ // Closing must target the current socket, not the one captured when the
203
+ // promise resolved -- after a reconnect those are different objects.
204
+ function stop() {
205
+ stopped = true;
206
+ try {
207
+ active_socket?.close();
208
+ }
209
+ catch { }
210
+ }
211
+ function fail(error) {
212
+ if (stopped)
213
+ return;
214
+ stop();
215
+ if (!resolved) {
216
+ resolved = true;
217
+ reject(error);
218
+ return;
219
+ }
220
+ on_error?.(error);
221
+ }
222
+ function schedule_reconnect() {
223
+ if (stopped)
224
+ return;
225
+ // Bound by wall clock rather than an attempt count, for the same reason
226
+ // the unary path is: a reload takes as long as it takes.
227
+ reconnect_deadline ?? (reconnect_deadline = Date.now() + RELOAD_TOLERANCE_MS);
228
+ if (Date.now() >= reconnect_deadline) {
229
+ fail(new Error(`Stream lost: could not reconnect within ${RELOAD_TOLERANCE_MS}ms`));
230
+ return;
231
+ }
232
+ reconnect_count += 1;
233
+ const delay = Math.min(500 * reconnect_count, 3000);
234
+ setTimeout(() => {
235
+ if (stopped)
236
+ return;
237
+ void resolve_config(options, semantics.discovery_timeout_ms).then((fresh_config) => {
238
+ if (stopped)
239
+ return;
240
+ // Discovery is unavailable for the whole reload window, so a single
241
+ // miss is the normal case, not a reason to abandon the stream.
242
+ if ('error' in fresh_config) {
243
+ schedule_reconnect();
244
+ return;
245
+ }
246
+ connect(`ws://127.0.0.1:${fresh_config.port}/unity-agentic`);
247
+ });
248
+ }, delay);
249
+ }
250
+ function connect(url) {
251
+ const ws = new WebSocket(url);
252
+ active_socket = ws;
253
+ const request_id = (0, editor_transport_1.generate_editor_request_id)();
254
+ const request = {
255
+ jsonrpc: "2.0",
256
+ id: request_id,
257
+ method,
258
+ ...(params ? { params } : {}),
259
+ };
260
+ let connected = false;
261
+ let attempt_finished = false;
262
+ /** Guards against one attempt both timing out and closing into two reconnects. */
263
+ function finish_attempt() {
264
+ if (attempt_finished) {
265
+ return false;
266
+ }
267
+ attempt_finished = true;
268
+ clearTimeout(timer);
269
+ return true;
270
+ }
271
+ // Every attempt gets a connecting timeout, reconnects included. This used
272
+ // to be skipped once the promise had resolved, so a reconnect that opened
273
+ // no socket and fired no close event stalled the chain forever.
274
+ const timer = setTimeout(() => {
275
+ if (connected || !finish_attempt() || stopped)
276
+ return;
277
+ if (!resolved) {
278
+ stopped = true;
279
+ reject(new Error(`Timeout connecting to ${url}`));
280
+ return;
281
+ }
282
+ try {
283
+ ws.close();
284
+ }
285
+ catch { }
286
+ schedule_reconnect();
287
+ }, timeout);
288
+ ws.onopen = () => {
289
+ connected = true;
290
+ clearTimeout(timer);
291
+ reconnect_count = 0;
292
+ reconnect_deadline = undefined;
293
+ ws.send(JSON.stringify(request));
294
+ if (!resolved) {
295
+ resolved = true;
296
+ resolve({ close: stop });
297
+ }
298
+ };
299
+ ws.onmessage = (event) => {
300
+ // Ignore non-JSON or partial frames; the bridge may interleave the
301
+ // initial response with subsequent event notifications we forward.
302
+ let data;
303
+ try {
304
+ data = JSON.parse(String(event.data));
305
+ }
306
+ catch {
307
+ return;
308
+ }
309
+ if (typeof data !== 'object' || data === null) {
310
+ return;
311
+ }
312
+ if ('method' in data && !('id' in data)) {
313
+ on_event(data);
314
+ return;
315
+ }
316
+ // An error response to our own subscribe request was dropped here,
317
+ // leaving a connected stream that silently never emitted anything.
318
+ const frame = data;
319
+ if (frame.id === request_id && frame.error) {
320
+ fail(new Error(`Subscription rejected: ${frame.error.message ?? 'unknown error'}`));
321
+ }
322
+ };
323
+ ws.onerror = () => {
324
+ if (connected || !finish_attempt() || stopped)
325
+ return;
326
+ if (!resolved) {
327
+ stopped = true;
328
+ reject(new Error(`WebSocket connection failed to ${url}`));
329
+ return;
330
+ }
331
+ schedule_reconnect();
332
+ };
333
+ ws.onclose = () => {
334
+ if (!finish_attempt() || stopped)
335
+ return;
336
+ // A close before the first open has to settle the promise here:
337
+ // finish_attempt() just disarmed the timeout that used to do it.
338
+ if (!resolved) {
339
+ stopped = true;
340
+ reject(new Error(`WebSocket connection failed to ${url}`));
341
+ return;
342
+ }
343
+ schedule_reconnect();
344
+ };
345
+ }
346
+ connect(`ws://127.0.0.1:${config.port}/unity-agentic`);
347
+ });
348
+ }
349
+ /**
350
+ * Single-attempt JSON-RPC request to the Unity Editor.
351
+ */
352
+ async function call_editor_once(options, semantics) {
353
+ const { method, params, timeout = editor_transport_1.DEFAULT_EDITOR_REQUEST_TIMEOUT_MS, no_wait } = options;
354
+ const config = await resolve_config(options, semantics.discovery_timeout_ms);
355
+ if ('error' in config) {
356
+ return Promise.resolve({
357
+ jsonrpc: "2.0",
358
+ id: "0",
359
+ error: { code: CLIENT_DISCOVERY_UNAVAILABLE_CODE, message: config.error },
360
+ });
361
+ }
362
+ return (0, editor_transport_1.request_editor_at_port)({
363
+ port: config.port,
364
+ method,
365
+ params,
366
+ timeout,
367
+ no_wait,
368
+ });
369
+ }
370
+ async function resolve_config(options, discovery_timeout_ms) {
371
+ if (options.port) {
372
+ return { port: options.port, pid: 0, version: "manual", source: 'manual' };
373
+ }
374
+ return (0, editor_discovery_1.discover_editor_config)(options.project_path, discovery_timeout_ms);
375
+ }
376
+ function get_action_semantics(method, kind = 'unary', params) {
377
+ if (kind === 'stream') {
378
+ return {
379
+ ...DEFAULT_ACTION_SEMANTICS,
380
+ kind: 'stream',
381
+ };
382
+ }
383
+ if (is_read_invoke(method, params)) {
384
+ return TRANSITION_TOLERANT_READ_SEMANTICS;
385
+ }
386
+ if (is_play_mode_transition_invoke(method, params)) {
387
+ return TRANSITION_TOLERANT_COMMAND_SEMANTICS;
388
+ }
389
+ return DEFAULT_ACTION_SEMANTICS;
390
+ }
391
+ /**
392
+ * Classify a Registry.Run invoke as a read.
393
+ *
394
+ * The CLI always sends method 'editor.invoke' and puts the real target inside
395
+ * params.args, so classifying on the JSON-RPC method name alone never matches --
396
+ * an earlier method-name set sat here and was unreachable for exactly that reason.
397
+ */
398
+ function is_read_invoke(method, params) {
399
+ if (method !== 'editor.invoke' || !params) {
400
+ return false;
401
+ }
402
+ if (params.type !== 'UnityAgenticTools.Commands.Registry' || params.member !== 'Run') {
403
+ return false;
404
+ }
405
+ const target = parse_registry_run_target(params.args);
406
+ return typeof target === 'string' && READ_RUN_TARGETS.has(target);
407
+ }
408
+ function is_play_mode_transition_invoke(method, params) {
409
+ if (method !== 'editor.invoke' || !params) {
410
+ return false;
411
+ }
412
+ if (params.type === 'UnityEditor.EditorApplication' &&
413
+ params.member === 'isPlaying') {
414
+ return true;
415
+ }
416
+ if (params.type === 'UnityAgenticTools.Util.PlayMode' &&
417
+ typeof params.member === 'string') {
418
+ return params.member === 'Enter' ||
419
+ params.member === 'Exit' ||
420
+ params.member === 'Pause' ||
421
+ params.member === 'Step' ||
422
+ params.member === 'GetState';
423
+ }
424
+ if (params.type === 'UnityAgenticTools.Commands.Registry' &&
425
+ params.member === 'Run') {
426
+ const target = parse_registry_run_target(params.args);
427
+ return typeof target === 'string' && PLAY_MODE_RUN_TARGETS.has(target);
428
+ }
429
+ return false;
430
+ }
431
+ function parse_registry_run_target(args) {
432
+ if (typeof args !== 'string') {
433
+ return undefined;
434
+ }
435
+ try {
436
+ const parsed = JSON.parse(args);
437
+ if (Array.isArray(parsed) && typeof parsed[0] === 'string') {
438
+ return parsed[0];
439
+ }
440
+ }
441
+ catch {
442
+ return undefined;
443
+ }
444
+ return undefined;
445
+ }
446
+ function should_retry_response(response, semantics) {
447
+ if (!response.error) {
448
+ return false;
449
+ }
450
+ if (semantics === TRANSITION_TOLERANT_COMMAND_SEMANTICS) {
451
+ return TRANSITION_TOLERANT_COMMAND_RETRYABLE_CODES.has(response.error.code);
452
+ }
453
+ if (semantics.kind === 'read' || semantics.kind === 'stream') {
454
+ return READ_RETRYABLE_CODES.has(response.error.code);
455
+ }
456
+ return COMMAND_RETRYABLE_CODES.has(response.error.code);
457
+ }
458
+ //# sourceMappingURL=editor-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-client.js","sourceRoot":"","sources":["../src/editor-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { EditorConfig } from './types';
2
+ /**
3
+ * Read and validate the editor bridge lockfile.
4
+ * Returns the config if valid, or an object with an error string.
5
+ */
6
+ export declare function read_editor_config(project_path: string): EditorConfig | {
7
+ error: string;
8
+ };
9
+ /**
10
+ * Resolve a usable bridge config.
11
+ * Prefers the lockfile when valid, otherwise discovers a matching bridge by project identity.
12
+ * Manual port selection remains an explicit escape hatch rather than the default fallback.
13
+ */
14
+ export declare function discover_editor_config(project_path: string, timeout_ms?: number): Promise<EditorConfig | {
15
+ error: string;
16
+ }>;
17
+ //# sourceMappingURL=editor-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-discovery.d.ts","sourceRoot":"","sources":["../src/editor-discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAER,YAAY,EACf,MAAM,SAAS,CAAC;AAQjB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBzF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6EtI"}