unity-agentic-tools 0.5.1 → 0.6.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.
- package/README.md +49 -103
- package/dist/animator-utils.d.ts +46 -0
- package/dist/animator-utils.d.ts.map +1 -0
- package/dist/animator-utils.js +161 -0
- package/dist/animator-utils.js.map +1 -0
- package/dist/bridge-install.d.ts +11 -0
- package/dist/bridge-install.d.ts.map +1 -0
- package/dist/bridge-install.js +23 -0
- package/dist/bridge-install.js.map +1 -0
- package/dist/build-settings.d.ts +43 -0
- package/dist/build-settings.d.ts.map +1 -0
- package/dist/build-settings.js +196 -0
- package/dist/build-settings.js.map +1 -0
- package/dist/build-version.d.ts +40 -0
- package/dist/build-version.d.ts.map +1 -0
- package/dist/build-version.js +114 -0
- package/dist/build-version.js.map +1 -0
- package/dist/class-ids.d.ts +30 -0
- package/dist/class-ids.d.ts.map +1 -0
- package/dist/class-ids.js +322 -0
- package/dist/class-ids.js.map +1 -0
- package/dist/cleanup.d.ts +21 -0
- package/dist/cleanup.d.ts.map +1 -0
- package/dist/cleanup.js +161 -0
- package/dist/cleanup.js.map +1 -0
- package/dist/cli-output.d.ts +7 -0
- package/dist/cli-output.d.ts.map +1 -0
- package/dist/cli-output.js +24 -0
- package/dist/cli-output.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +795 -8143
- package/dist/cli.js.map +1 -0
- package/dist/doc-indexer-cli.js +1 -1
- package/dist/editor-client.d.ts +18 -0
- package/dist/editor-client.d.ts.map +1 -0
- package/dist/editor-client.js +256 -0
- package/dist/editor-client.js.map +1 -0
- package/dist/editor-discovery.d.ts +17 -0
- package/dist/editor-discovery.d.ts.map +1 -0
- package/dist/editor-discovery.js +248 -0
- package/dist/editor-discovery.js.map +1 -0
- package/dist/editor-transport.d.ts +30 -0
- package/dist/editor-transport.d.ts.map +1 -0
- package/dist/editor-transport.js +175 -0
- package/dist/editor-transport.js.map +1 -0
- package/dist/gitignore.d.ts +3 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +40 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/guid-cache.d.ts +45 -0
- package/dist/guid-cache.d.ts.map +1 -0
- package/dist/guid-cache.js +111 -0
- package/dist/guid-cache.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +743 -8040
- package/dist/index.js.map +1 -0
- package/dist/loaded-protection.d.ts +6 -0
- package/dist/loaded-protection.d.ts.map +1 -0
- package/dist/loaded-protection.js +95 -0
- package/dist/loaded-protection.js.map +1 -0
- package/dist/packages.d.ts +55 -0
- package/dist/packages.d.ts.map +1 -0
- package/dist/packages.js +102 -0
- package/dist/packages.js.map +1 -0
- package/dist/params.d.ts +54 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +106 -0
- package/dist/params.js.map +1 -0
- package/dist/project-search.d.ts +16 -0
- package/dist/project-search.d.ts.map +1 -0
- package/dist/project-search.js +538 -0
- package/dist/project-search.js.map +1 -0
- package/dist/scanner.d.ts +150 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +223 -0
- package/dist/scanner.js.map +1 -0
- package/dist/setup.d.ts +25 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +185 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +390 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +7 -0
- package/dist/util.js.map +1 -0
- package/dist/utils.d.ts +82 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +291 -0
- package/dist/utils.js.map +1 -0
- package/native/unity-file-tools.darwin-arm64.node +0 -0
- package/native/unity-file-tools.darwin-x64.node +0 -0
- package/native/unity-file-tools.linux-x64-gnu.node +0 -0
- package/native/unity-file-tools.win32-x64-msvc.node +0 -0
- package/package.json +4 -3
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/doc-indexer-cli.js
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CallEditorOptions, 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
|
+
* Open a persistent WebSocket connection for streaming events (e.g., stream console).
|
|
11
|
+
* Sends the initial RPC request, then calls on_event for each notification received.
|
|
12
|
+
* Returns a cleanup function to close the connection.
|
|
13
|
+
* Automatically reconnects when the server restarts (e.g., after domain reload).
|
|
14
|
+
*/
|
|
15
|
+
export declare function stream_editor(options: StreamEditorOptions): Promise<{
|
|
16
|
+
close: () => void;
|
|
17
|
+
}>;
|
|
18
|
+
//# 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":"AAQA,OAAO,KAAK,EACR,iBAAiB,EAIjB,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;AA6DjD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBlF;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAiFhG"}
|
|
@@ -0,0 +1,256 @@
|
|
|
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.stream_editor = stream_editor;
|
|
6
|
+
const editor_discovery_1 = require("./editor-discovery");
|
|
7
|
+
const editor_transport_1 = require("./editor-transport");
|
|
8
|
+
var editor_discovery_2 = require("./editor-discovery");
|
|
9
|
+
Object.defineProperty(exports, "discover_editor_config", { enumerable: true, get: function () { return editor_discovery_2.discover_editor_config; } });
|
|
10
|
+
Object.defineProperty(exports, "read_editor_config", { enumerable: true, get: function () { return editor_discovery_2.read_editor_config; } });
|
|
11
|
+
var editor_transport_2 = require("./editor-transport");
|
|
12
|
+
Object.defineProperty(exports, "ping_editor", { enumerable: true, get: function () { return editor_transport_2.ping_editor; } });
|
|
13
|
+
const CLIENT_DISCOVERY_UNAVAILABLE_CODE = -32010;
|
|
14
|
+
const DEFAULT_ACTION_SEMANTICS = {
|
|
15
|
+
kind: 'command',
|
|
16
|
+
default_retries: 2,
|
|
17
|
+
retry_delays_ms: [500, 1000, 2000],
|
|
18
|
+
discovery_timeout_ms: 350,
|
|
19
|
+
};
|
|
20
|
+
const TRANSITION_TOLERANT_READ_SEMANTICS = {
|
|
21
|
+
kind: 'read',
|
|
22
|
+
default_retries: 6,
|
|
23
|
+
retry_delays_ms: [250, 500, 1000, 1500, 1500, 1500],
|
|
24
|
+
discovery_timeout_ms: 250,
|
|
25
|
+
};
|
|
26
|
+
const TRANSITION_TOLERANT_COMMAND_SEMANTICS = {
|
|
27
|
+
kind: 'command',
|
|
28
|
+
default_retries: 5,
|
|
29
|
+
retry_delays_ms: [250, 500, 1000, 1500, 2000],
|
|
30
|
+
discovery_timeout_ms: 250,
|
|
31
|
+
};
|
|
32
|
+
const TRANSITION_TOLERANT_READ_METHODS = new Set([
|
|
33
|
+
'editor.playMode.getState',
|
|
34
|
+
'editor.console.getLogs',
|
|
35
|
+
'editor.hierarchy.snapshot',
|
|
36
|
+
'editor.hierarchy.query',
|
|
37
|
+
'editor.ui.snapshot',
|
|
38
|
+
'editor.ui.query',
|
|
39
|
+
'editor.input.map',
|
|
40
|
+
]);
|
|
41
|
+
const PLAY_MODE_RUN_TARGETS = new Set([
|
|
42
|
+
'play.enter',
|
|
43
|
+
'play.exit',
|
|
44
|
+
'play.pause',
|
|
45
|
+
'play.step',
|
|
46
|
+
'play.state',
|
|
47
|
+
'UnityAgenticTools.Util.PlayMode.Enter',
|
|
48
|
+
'UnityAgenticTools.Util.PlayMode.Exit',
|
|
49
|
+
'UnityAgenticTools.Util.PlayMode.Pause',
|
|
50
|
+
'UnityAgenticTools.Util.PlayMode.Step',
|
|
51
|
+
'UnityAgenticTools.Util.PlayMode.GetState',
|
|
52
|
+
'UnityEditor.EditorApplication.isPlaying',
|
|
53
|
+
]);
|
|
54
|
+
/** Error codes that indicate transient connection issues (server restarting after reload). */
|
|
55
|
+
const READ_RETRYABLE_CODES = new Set([-32000, -32002, -32003, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
|
|
56
|
+
const COMMAND_RETRYABLE_CODES = new Set([-32002, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
|
|
57
|
+
const TRANSITION_TOLERANT_COMMAND_RETRYABLE_CODES = new Set([-32000, -32002, -32003, CLIENT_DISCOVERY_UNAVAILABLE_CODE]);
|
|
58
|
+
/**
|
|
59
|
+
* Send a single JSON-RPC request to the Unity Editor and return the result.
|
|
60
|
+
* Automatically retries on transient connection errors (e.g., server restarting after assembly reload).
|
|
61
|
+
*/
|
|
62
|
+
async function call_editor(options) {
|
|
63
|
+
const semantics = get_action_semantics(options.method, 'unary', options.params);
|
|
64
|
+
const maxRetries = options.retries ?? semantics.default_retries;
|
|
65
|
+
let lastResponse;
|
|
66
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
67
|
+
lastResponse = await call_editor_once(options, semantics);
|
|
68
|
+
if (!should_retry_response(lastResponse, semantics)) {
|
|
69
|
+
return lastResponse;
|
|
70
|
+
}
|
|
71
|
+
if (attempt < maxRetries) {
|
|
72
|
+
const delay = semantics.retry_delays_ms[Math.min(attempt, semantics.retry_delays_ms.length - 1)];
|
|
73
|
+
await new Promise(r => setTimeout(r, delay));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return lastResponse;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Open a persistent WebSocket connection for streaming events (e.g., stream console).
|
|
80
|
+
* Sends the initial RPC request, then calls on_event for each notification received.
|
|
81
|
+
* Returns a cleanup function to close the connection.
|
|
82
|
+
* Automatically reconnects when the server restarts (e.g., after domain reload).
|
|
83
|
+
*/
|
|
84
|
+
async function stream_editor(options) {
|
|
85
|
+
const { method, params, timeout = 30000, on_event } = options;
|
|
86
|
+
const semantics = get_action_semantics(method, 'stream', params);
|
|
87
|
+
const config = await resolve_config(options, semantics.discovery_timeout_ms);
|
|
88
|
+
if ('error' in config) {
|
|
89
|
+
throw new Error(config.error);
|
|
90
|
+
}
|
|
91
|
+
const MAX_RECONNECTS = 5;
|
|
92
|
+
let reconnect_count = 0;
|
|
93
|
+
let stopped = false;
|
|
94
|
+
return new Promise((resolve, reject) => {
|
|
95
|
+
let resolved = false;
|
|
96
|
+
function connect(url) {
|
|
97
|
+
const ws = new WebSocket(url);
|
|
98
|
+
const request_id = (0, editor_transport_1.generate_editor_request_id)();
|
|
99
|
+
const request = {
|
|
100
|
+
jsonrpc: "2.0",
|
|
101
|
+
id: request_id,
|
|
102
|
+
method,
|
|
103
|
+
...(params ? { params } : {}),
|
|
104
|
+
};
|
|
105
|
+
let connected = false;
|
|
106
|
+
const timer = !resolved
|
|
107
|
+
? setTimeout(() => {
|
|
108
|
+
if (!connected && !resolved) {
|
|
109
|
+
reject(new Error(`Timeout connecting to ${url}`));
|
|
110
|
+
}
|
|
111
|
+
}, timeout)
|
|
112
|
+
: null;
|
|
113
|
+
ws.onopen = () => {
|
|
114
|
+
connected = true;
|
|
115
|
+
if (timer)
|
|
116
|
+
clearTimeout(timer);
|
|
117
|
+
reconnect_count = 0;
|
|
118
|
+
ws.send(JSON.stringify(request));
|
|
119
|
+
if (!resolved) {
|
|
120
|
+
resolved = true;
|
|
121
|
+
resolve({ close: () => { stopped = true; ws.close(); } });
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
ws.onmessage = (event) => {
|
|
125
|
+
// Ignore non-JSON or partial frames; the bridge may interleave the
|
|
126
|
+
// initial response with subsequent event notifications we forward.
|
|
127
|
+
try {
|
|
128
|
+
const data = JSON.parse(String(event.data));
|
|
129
|
+
if ('method' in data && !('id' in data)) {
|
|
130
|
+
on_event(data);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch { }
|
|
134
|
+
};
|
|
135
|
+
ws.onerror = () => {
|
|
136
|
+
if (!connected && !resolved) {
|
|
137
|
+
if (timer)
|
|
138
|
+
clearTimeout(timer);
|
|
139
|
+
reject(new Error(`WebSocket connection failed to ${url}`));
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
ws.onclose = () => {
|
|
143
|
+
if (stopped)
|
|
144
|
+
return;
|
|
145
|
+
if (!connected && !resolved)
|
|
146
|
+
return;
|
|
147
|
+
if (reconnect_count >= MAX_RECONNECTS)
|
|
148
|
+
return;
|
|
149
|
+
reconnect_count++;
|
|
150
|
+
const delay = Math.min(500 * reconnect_count, 3000);
|
|
151
|
+
setTimeout(async () => {
|
|
152
|
+
if (stopped)
|
|
153
|
+
return;
|
|
154
|
+
const fresh_config = await resolve_config(options, semantics.discovery_timeout_ms);
|
|
155
|
+
if ('error' in fresh_config)
|
|
156
|
+
return;
|
|
157
|
+
connect(`ws://127.0.0.1:${fresh_config.port}/unity-agentic`);
|
|
158
|
+
}, delay);
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
connect(`ws://127.0.0.1:${config.port}/unity-agentic`);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Single-attempt JSON-RPC request to the Unity Editor.
|
|
166
|
+
*/
|
|
167
|
+
async function call_editor_once(options, semantics) {
|
|
168
|
+
const { method, params, timeout = editor_transport_1.DEFAULT_EDITOR_REQUEST_TIMEOUT_MS, no_wait } = options;
|
|
169
|
+
const config = await resolve_config(options, semantics.discovery_timeout_ms);
|
|
170
|
+
if ('error' in config) {
|
|
171
|
+
return Promise.resolve({
|
|
172
|
+
jsonrpc: "2.0",
|
|
173
|
+
id: "0",
|
|
174
|
+
error: { code: CLIENT_DISCOVERY_UNAVAILABLE_CODE, message: config.error },
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return (0, editor_transport_1.request_editor_at_port)({
|
|
178
|
+
port: config.port,
|
|
179
|
+
method,
|
|
180
|
+
params,
|
|
181
|
+
timeout,
|
|
182
|
+
no_wait,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
async function resolve_config(options, discovery_timeout_ms) {
|
|
186
|
+
if (options.port) {
|
|
187
|
+
return { port: options.port, pid: 0, version: "manual", source: 'manual' };
|
|
188
|
+
}
|
|
189
|
+
return (0, editor_discovery_1.discover_editor_config)(options.project_path, discovery_timeout_ms);
|
|
190
|
+
}
|
|
191
|
+
function get_action_semantics(method, kind = 'unary', params) {
|
|
192
|
+
if (kind === 'stream') {
|
|
193
|
+
return {
|
|
194
|
+
...DEFAULT_ACTION_SEMANTICS,
|
|
195
|
+
kind: 'stream',
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
if (TRANSITION_TOLERANT_READ_METHODS.has(method)) {
|
|
199
|
+
return TRANSITION_TOLERANT_READ_SEMANTICS;
|
|
200
|
+
}
|
|
201
|
+
if (is_play_mode_transition_invoke(method, params)) {
|
|
202
|
+
return TRANSITION_TOLERANT_COMMAND_SEMANTICS;
|
|
203
|
+
}
|
|
204
|
+
return DEFAULT_ACTION_SEMANTICS;
|
|
205
|
+
}
|
|
206
|
+
function is_play_mode_transition_invoke(method, params) {
|
|
207
|
+
if (method !== 'editor.invoke' || !params) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
if (params.type === 'UnityEditor.EditorApplication' &&
|
|
211
|
+
params.member === 'isPlaying') {
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
if (params.type === 'UnityAgenticTools.Util.PlayMode' &&
|
|
215
|
+
typeof params.member === 'string') {
|
|
216
|
+
return params.member === 'Enter' ||
|
|
217
|
+
params.member === 'Exit' ||
|
|
218
|
+
params.member === 'Pause' ||
|
|
219
|
+
params.member === 'Step' ||
|
|
220
|
+
params.member === 'GetState';
|
|
221
|
+
}
|
|
222
|
+
if (params.type === 'UnityAgenticTools.Commands.Registry' &&
|
|
223
|
+
params.member === 'Run') {
|
|
224
|
+
const target = parse_registry_run_target(params.args);
|
|
225
|
+
return typeof target === 'string' && PLAY_MODE_RUN_TARGETS.has(target);
|
|
226
|
+
}
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
function parse_registry_run_target(args) {
|
|
230
|
+
if (typeof args !== 'string') {
|
|
231
|
+
return undefined;
|
|
232
|
+
}
|
|
233
|
+
try {
|
|
234
|
+
const parsed = JSON.parse(args);
|
|
235
|
+
if (Array.isArray(parsed) && typeof parsed[0] === 'string') {
|
|
236
|
+
return parsed[0];
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
return undefined;
|
|
243
|
+
}
|
|
244
|
+
function should_retry_response(response, semantics) {
|
|
245
|
+
if (!response.error) {
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
if (semantics === TRANSITION_TOLERANT_COMMAND_SEMANTICS) {
|
|
249
|
+
return TRANSITION_TOLERANT_COMMAND_RETRYABLE_CODES.has(response.error.code);
|
|
250
|
+
}
|
|
251
|
+
if (semantics.kind === 'read' || semantics.kind === 'stream') {
|
|
252
|
+
return READ_RETRYABLE_CODES.has(response.error.code);
|
|
253
|
+
}
|
|
254
|
+
return COMMAND_RETRYABLE_CODES.has(response.error.code);
|
|
255
|
+
}
|
|
256
|
+
//# 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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.read_editor_config = read_editor_config;
|
|
4
|
+
exports.discover_editor_config = discover_editor_config;
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const gitignore_1 = require("./gitignore");
|
|
8
|
+
const editor_transport_1 = require("./editor-transport");
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
const BRIDGE_PORT_RANGE_START = 53782;
|
|
11
|
+
const BRIDGE_PORT_RANGE_END = 53791;
|
|
12
|
+
const LAST_KNOWN_CONFIG_FILE = 'editor.last.json';
|
|
13
|
+
const LAST_KNOWN_EDITOR_CONFIGS = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Read and validate the editor bridge lockfile.
|
|
16
|
+
* Returns the config if valid, or an object with an error string.
|
|
17
|
+
*/
|
|
18
|
+
function read_editor_config(project_path) {
|
|
19
|
+
const config_path = (0, path_1.join)(project_path, '.unity-agentic', 'editor.json');
|
|
20
|
+
if (!(0, fs_1.existsSync)(config_path)) {
|
|
21
|
+
return { error: `Editor bridge not found at ${config_path}. Is the Unity Editor running with the bridge package installed?` };
|
|
22
|
+
}
|
|
23
|
+
let config;
|
|
24
|
+
try {
|
|
25
|
+
const raw = (0, fs_1.readFileSync)(config_path, 'utf-8');
|
|
26
|
+
config = JSON.parse(raw);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
return { error: `Failed to parse editor.json: ${err instanceof Error ? err.message : String(err)}` };
|
|
30
|
+
}
|
|
31
|
+
if (typeof config.port !== 'number' || typeof config.pid !== 'number') {
|
|
32
|
+
return { error: 'Invalid editor.json: missing port or pid' };
|
|
33
|
+
}
|
|
34
|
+
if (!is_pid_alive(config.pid)) {
|
|
35
|
+
return { error: `Unity Editor process (PID ${config.pid}) is not running. The editor may have been closed.` };
|
|
36
|
+
}
|
|
37
|
+
return config;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a usable bridge config.
|
|
41
|
+
* Prefers the lockfile when valid, otherwise discovers a matching bridge by project identity.
|
|
42
|
+
* Manual port selection remains an explicit escape hatch rather than the default fallback.
|
|
43
|
+
*/
|
|
44
|
+
async function discover_editor_config(project_path, timeout_ms = 350) {
|
|
45
|
+
const normalized_project_path = normalize_project_path(project_path);
|
|
46
|
+
const lockfile_result = read_editor_config(project_path);
|
|
47
|
+
const preferred_ports = [];
|
|
48
|
+
let cached_config = read_cached_editor_config(project_path, normalized_project_path)
|
|
49
|
+
?? LAST_KNOWN_EDITOR_CONFIGS.get(normalized_project_path);
|
|
50
|
+
let stale_cached_port;
|
|
51
|
+
if (!('error' in lockfile_result)) {
|
|
52
|
+
preferred_ports.push(lockfile_result.port);
|
|
53
|
+
const direct_ping = await (0, editor_transport_1.ping_editor)(lockfile_result.port, timeout_ms);
|
|
54
|
+
if (direct_ping.reachable) {
|
|
55
|
+
const resolved_config = {
|
|
56
|
+
...lockfile_result,
|
|
57
|
+
project_path: normalized_project_path,
|
|
58
|
+
source: 'lockfile',
|
|
59
|
+
};
|
|
60
|
+
remember_editor_config(normalized_project_path, resolved_config);
|
|
61
|
+
return resolved_config;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (cached_config) {
|
|
65
|
+
preferred_ports.push(cached_config.port);
|
|
66
|
+
const cached_ping = await (0, editor_transport_1.ping_editor)(cached_config.port, timeout_ms);
|
|
67
|
+
if (cached_ping.reachable) {
|
|
68
|
+
const resolved_config = {
|
|
69
|
+
...cached_config,
|
|
70
|
+
project_path: normalized_project_path,
|
|
71
|
+
source: 'cached',
|
|
72
|
+
};
|
|
73
|
+
remember_editor_config(normalized_project_path, resolved_config);
|
|
74
|
+
return resolved_config;
|
|
75
|
+
}
|
|
76
|
+
stale_cached_port = cached_config.port;
|
|
77
|
+
forget_cached_editor_config(project_path, normalized_project_path);
|
|
78
|
+
cached_config = undefined;
|
|
79
|
+
}
|
|
80
|
+
const discovered_infos = await discover_bridge_infos(timeout_ms, preferred_ports);
|
|
81
|
+
const matching_bridge = discovered_infos.find((info) => normalize_project_path(info.project_path) === normalized_project_path);
|
|
82
|
+
if (matching_bridge) {
|
|
83
|
+
const resolved_config = {
|
|
84
|
+
port: matching_bridge.port,
|
|
85
|
+
pid: matching_bridge.pid,
|
|
86
|
+
version: matching_bridge.version,
|
|
87
|
+
project_path: matching_bridge.project_path,
|
|
88
|
+
source: 'discovered',
|
|
89
|
+
};
|
|
90
|
+
remember_editor_config(normalized_project_path, resolved_config);
|
|
91
|
+
return resolved_config;
|
|
92
|
+
}
|
|
93
|
+
const discovered_projects = discovered_infos.map((info) => `${info.project_name ?? '(unknown)'}:${info.project_path}@${info.port}`);
|
|
94
|
+
const discovered_clause = discovered_projects.length > 0
|
|
95
|
+
? ` Reachable bridges were found for different projects: ${discovered_projects.join(', ')}.`
|
|
96
|
+
: ` No reachable bridge in ports ${BRIDGE_PORT_RANGE_START}-${BRIDGE_PORT_RANGE_END} identified project ${normalized_project_path}.`;
|
|
97
|
+
const stale_cache_clause = stale_cached_port !== undefined
|
|
98
|
+
? ` Cached bridge port ${stale_cached_port} was also unreachable.`
|
|
99
|
+
: '';
|
|
100
|
+
const port_hint = ' Use --port <n> only if you need to target a specific bridge manually.';
|
|
101
|
+
if (!('error' in lockfile_result)) {
|
|
102
|
+
return {
|
|
103
|
+
error: `Editor bridge lockfile pointed to port ${lockfile_result.port}, but it was unreachable and autodiscovery could not find a matching Unity project bridge.${stale_cache_clause}${discovered_clause}${port_hint}`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
error: `${lockfile_result.error} Autodiscovery could not find a matching Unity project bridge.${stale_cache_clause}${discovered_clause}${port_hint}`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Read bridge identity directly from a known port.
|
|
112
|
+
*/
|
|
113
|
+
async function read_bridge_info(port, timeout_ms) {
|
|
114
|
+
const response = await (0, editor_transport_1.request_editor_at_port)({
|
|
115
|
+
port,
|
|
116
|
+
method: 'editor.bridge.getInfo',
|
|
117
|
+
timeout: timeout_ms,
|
|
118
|
+
});
|
|
119
|
+
if (response.error) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return parse_bridge_info(response.result, port);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Discover bridge identities by probing the known editor bridge port range.
|
|
126
|
+
* Only bridges that can identify their owning Unity project are returned.
|
|
127
|
+
*/
|
|
128
|
+
async function discover_bridge_infos(timeout_ms, preferred_ports = []) {
|
|
129
|
+
const ports = new Set();
|
|
130
|
+
for (const port of preferred_ports) {
|
|
131
|
+
if (Number.isInteger(port) && port >= BRIDGE_PORT_RANGE_START && port <= BRIDGE_PORT_RANGE_END) {
|
|
132
|
+
ports.add(port);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (let port = BRIDGE_PORT_RANGE_START; port <= BRIDGE_PORT_RANGE_END; port += 1) {
|
|
136
|
+
ports.add(port);
|
|
137
|
+
}
|
|
138
|
+
const results = await Promise.all([...ports].map((port) => read_bridge_info(port, timeout_ms)));
|
|
139
|
+
return results.filter((result) => result !== null);
|
|
140
|
+
}
|
|
141
|
+
function parse_bridge_info(result, port) {
|
|
142
|
+
if (!(0, util_1.is_record)(result)) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
const project_path = typeof result.project_path === 'string' ? result.project_path : null;
|
|
146
|
+
if (!project_path) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
port,
|
|
151
|
+
pid: typeof result.pid === 'number' ? result.pid : 0,
|
|
152
|
+
version: typeof result.version === 'string' ? result.version : 'unknown',
|
|
153
|
+
project_path,
|
|
154
|
+
...(typeof result.project_name === 'string' ? { project_name: result.project_name } : {}),
|
|
155
|
+
...(typeof result.unity_version === 'string' ? { unity_version: result.unity_version } : {}),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function remember_editor_config(project_path, config) {
|
|
159
|
+
const cached_config = {
|
|
160
|
+
port: config.port,
|
|
161
|
+
pid: config.pid,
|
|
162
|
+
version: config.version,
|
|
163
|
+
project_path: config.project_path ?? project_path,
|
|
164
|
+
source: config.source,
|
|
165
|
+
};
|
|
166
|
+
LAST_KNOWN_EDITOR_CONFIGS.set(project_path, cached_config);
|
|
167
|
+
write_cached_editor_config(project_path, cached_config);
|
|
168
|
+
}
|
|
169
|
+
function forget_cached_editor_config(project_path, normalized_project_path) {
|
|
170
|
+
LAST_KNOWN_EDITOR_CONFIGS.delete(normalized_project_path);
|
|
171
|
+
const config_path = (0, path_1.join)(project_path, '.unity-agentic', LAST_KNOWN_CONFIG_FILE);
|
|
172
|
+
try {
|
|
173
|
+
if ((0, fs_1.existsSync)(config_path)) {
|
|
174
|
+
(0, fs_1.unlinkSync)(config_path);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
// Cache cleanup is best-effort. Discovery must still proceed without it.
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function read_cached_editor_config(project_path, normalized_project_path) {
|
|
182
|
+
const config_path = (0, path_1.join)(project_path, '.unity-agentic', LAST_KNOWN_CONFIG_FILE);
|
|
183
|
+
if (!(0, fs_1.existsSync)(config_path)) {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
const raw = (0, fs_1.readFileSync)(config_path, 'utf-8');
|
|
188
|
+
const parsed = JSON.parse(raw);
|
|
189
|
+
if (typeof parsed.port !== 'number' || typeof parsed.pid !== 'number' || typeof parsed.version !== 'string') {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
port: parsed.port,
|
|
194
|
+
pid: parsed.pid,
|
|
195
|
+
version: parsed.version,
|
|
196
|
+
project_path: parsed.project_path ?? normalized_project_path,
|
|
197
|
+
source: 'cached',
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function write_cached_editor_config(project_path, config) {
|
|
205
|
+
const config_dir = (0, path_1.join)(project_path, '.unity-agentic');
|
|
206
|
+
const config_path = (0, path_1.join)(config_dir, LAST_KNOWN_CONFIG_FILE);
|
|
207
|
+
try {
|
|
208
|
+
(0, fs_1.mkdirSync)(config_dir, { recursive: true });
|
|
209
|
+
(0, gitignore_1.ensure_gitignore_ignores_agentic_dir)(project_path);
|
|
210
|
+
(0, fs_1.writeFileSync)(config_path, JSON.stringify({
|
|
211
|
+
port: config.port,
|
|
212
|
+
pid: config.pid,
|
|
213
|
+
version: config.version,
|
|
214
|
+
project_path: config.project_path,
|
|
215
|
+
}, null, 2));
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Cache writes are best-effort. Discovery must still work without them.
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function normalize_project_path(project_path) {
|
|
222
|
+
const resolved_path = (0, path_1.resolve)(project_path);
|
|
223
|
+
let normalized = resolved_path;
|
|
224
|
+
try {
|
|
225
|
+
normalized = typeof fs_1.realpathSync.native === 'function'
|
|
226
|
+
? fs_1.realpathSync.native(resolved_path)
|
|
227
|
+
: (0, fs_1.realpathSync)(resolved_path);
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
normalized = resolved_path;
|
|
231
|
+
}
|
|
232
|
+
return process.platform === 'win32'
|
|
233
|
+
? normalized.toLowerCase()
|
|
234
|
+
: normalized;
|
|
235
|
+
}
|
|
236
|
+
function is_pid_alive(pid) {
|
|
237
|
+
try {
|
|
238
|
+
process.kill(pid, 0);
|
|
239
|
+
return true;
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
if ((0, util_1.is_record)(err) && err.code === 'EPERM') {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=editor-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-discovery.js","sourceRoot":"","sources":["../src/editor-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { RpcResponse } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default per-request timeout shared between the orchestration layer
|
|
4
|
+
* (`call_editor` in editor-client.ts) and the wire layer (`request_editor_at_port`).
|
|
5
|
+
* When a caller leaves the timeout at the default we omit the `_timeout` hint;
|
|
6
|
+
* any non-default value is forwarded so the server can honor it.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_EDITOR_REQUEST_TIMEOUT_MS = 10000;
|
|
9
|
+
export interface EditorPortRequestOptions {
|
|
10
|
+
port: number;
|
|
11
|
+
method: string;
|
|
12
|
+
params?: Record<string, unknown>;
|
|
13
|
+
timeout: number;
|
|
14
|
+
no_wait?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface EditorPingResult {
|
|
17
|
+
reachable: boolean;
|
|
18
|
+
error?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Send a JSON-RPC request directly to a known editor bridge port.
|
|
22
|
+
*/
|
|
23
|
+
export declare function request_editor_at_port(options: EditorPortRequestOptions): Promise<RpcResponse>;
|
|
24
|
+
/**
|
|
25
|
+
* Quick connectivity check: attempts a WebSocket handshake and immediately closes.
|
|
26
|
+
* Returns whether the bridge is reachable within the timeout.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ping_editor(port: number, timeout_ms?: number): Promise<EditorPingResult>;
|
|
29
|
+
export declare function generate_editor_request_id(): string;
|
|
30
|
+
//# sourceMappingURL=editor-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-transport.d.ts","sourceRoot":"","sources":["../src/editor-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAER,WAAW,EACd,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoGpG;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBpG;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
|