@atelierai/uco 1.0.2 → 1.0.4
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/CHANGELOG.md +19 -0
- package/dist/codegen/emit.js +1 -1
- package/dist/codegen/fetch.js +1 -1
- package/dist/codegen/fetch.js.map +1 -1
- package/dist/commands/devops/login.js +1 -1
- package/dist/commands/devops/login.js.map +1 -1
- package/dist/commands/devops/setup-mcp.js +1 -1
- package/dist/commands/devops/setup-mcp.js.map +1 -1
- package/dist/commands/gen.js +2 -2
- package/dist/commands/gen.js.map +1 -1
- package/dist/commands/ping.js +2 -2
- package/dist/commands/ping.js.map +1 -1
- package/dist/config/resolve.js +1 -1
- package/dist/config/resolve.js.map +1 -1
- package/dist/generated/tools.js +1 -1
- package/dist/generated/tools.js.map +1 -1
- package/dist/server/app.js +1 -1
- package/dist/server/app.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/rest/help.js +1 -1
- package/dist/server/rest/help.js.map +1 -1
- package/package.json +1 -1
- package/skills/uco-setup/references/recovery.md +26 -2
- package/vendor/plugin/com.atelierai.unity.copilot/CHANGELOG.md +24 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/CopilotServerManager.cs +31 -41
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs +177 -409
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CreateGUI.cs +1 -8
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.cs +0 -69
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/UpdatePopupWindow.cs +30 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Config.cs +6 -1
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Static.cs +9 -12
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +11 -62
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +1 -1
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +7 -25
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +260 -320
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/UI/MainWindowEditor.StatusLogicTests.cs +0 -125
- package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Services/DeviceAuthFlow.cs +0 -133
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Services/DeviceAuthFlow.cs.meta +0 -11
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/CopilotServerManagerAutoStartTests.cs +0 -43
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/CopilotServerManagerAutoStartTests.cs.meta +0 -11
package/dist/server/app.js
CHANGED
|
@@ -57,7 +57,7 @@ export function createServer(config, ownedRuntime) {
|
|
|
57
57
|
const listeningAddress = () => {
|
|
58
58
|
const address = httpServer.address();
|
|
59
59
|
if (address === null || typeof address === 'string') {
|
|
60
|
-
throw new Error('
|
|
60
|
+
throw new Error('uco bridge did not report an IP listening address.');
|
|
61
61
|
}
|
|
62
62
|
const info = address;
|
|
63
63
|
return { address: info.address, family: info.family, port: info.port };
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgCpD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAoB,EACpB,YAAiC;IAEjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,KAAK,UAAU,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAoB,EAAE,CAAC;IAEvC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;QACrB,QAAQ;QACR,OAAO;QACP,SAAS,EAAE,SAAS,CAAC,KAAK;QAC1B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,UAAU;QACV,YAAY;QACZ,qBAAqB,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YACjE,WAAW,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAgB;QAC3B,QAAQ;QACR,OAAO;QACP,GAAG;QACH,YAAY;QACZ,WAAW;QACX,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,SAAS,EAAE,SAAS,CAAC,KAAK;QAC1B,YAAY;KACb,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAErD,+CAA+C;IAC/C,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEvB,yDAAyD;IACzD,YAAY,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;IAErD,MAAM,gBAAgB,GAAG,GAAqB,EAAE;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* uco bridge — entry point and public exports.
|
|
3
3
|
*
|
|
4
4
|
* Exports createServer(), ServerConfig, and shared types.
|
|
5
5
|
* Also provides a main() function for the `uco serve` subcommand / bin entry.
|
|
@@ -32,7 +32,7 @@ export async function main(argv) {
|
|
|
32
32
|
const server = createServer(config);
|
|
33
33
|
const listening = await server.start();
|
|
34
34
|
const displayHost = listening.address.includes(':') ? `[${listening.address}]` : listening.address;
|
|
35
|
-
console.log(`
|
|
35
|
+
console.log(`uco bridge listening on http://${displayHost}:${listening.port}`);
|
|
36
36
|
console.log(` API version: ${config.serverApiVersion}`);
|
|
37
37
|
console.log(` Server version: ${config.serverVersion}`);
|
|
38
38
|
console.log(` Auth: ${config.authorization}`);
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,GAIb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAA2B,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAarD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;IACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IAEnG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/rest/help.js
CHANGED
|
@@ -8,7 +8,7 @@ import { sendText } from './context.js';
|
|
|
8
8
|
export function handleHelp(req, res) {
|
|
9
9
|
// Help is always accessible even with auth configured (informational only).
|
|
10
10
|
void req;
|
|
11
|
-
const header = '
|
|
11
|
+
const header = 'uco bridge\n' +
|
|
12
12
|
'\n' +
|
|
13
13
|
'REST endpoints:\n' +
|
|
14
14
|
' GET /api/tools — list all available tools\n' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/server/rest/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,GAAmB;IAClE,4EAA4E;IAC5E,KAAK,GAAG,CAAC;IAET,MAAM,MAAM,GACV,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/server/rest/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,GAAmB;IAClE,4EAA4E;IAC5E,KAAK,GAAG,CAAC;IAET,MAAM,MAAM,GACV,cAAc;QACd,IAAI;QACJ,mBAAmB;QACnB,qEAAqE;QACrE,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,6DAA6D;QAC7D,6DAA6D;QAC7D,+DAA+D;QAC/D,4DAA4D;QAC5D,oEAAoE;QACpE,sEAAsE;QACtE,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,oEAAoE;QACpE,+DAA+D;QAC/D,qEAAqE;QACrE,kBAAkB,QAAQ,IAAI,CAAC;IAEjC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,12 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Read this only after the bootstrap happy path fails.
|
|
4
4
|
|
|
5
|
+
## Bridge not running (`uco ping` fails / connection refused)
|
|
6
|
+
|
|
7
|
+
The bridge is a plain Node process (`bin/server.mjs` from the `@atelierai/uco`
|
|
8
|
+
npm package) listening on a per-project deterministic port. Bring it up in any
|
|
9
|
+
of these ways:
|
|
10
|
+
|
|
11
|
+
- `uco open <project> --start-server true` — the CLI starts a uco-owned bridge
|
|
12
|
+
before Unity launches.
|
|
13
|
+
- Open the Unity Editor: the plugin auto-starts the bridge in Custom mode when
|
|
14
|
+
`keepServerRunning` is true (the default) — discovery looks for the
|
|
15
|
+
`@atelierai/uco` package (project `node_modules` first, then the npm global).
|
|
16
|
+
- Start it manually with the exact same arguments the plugin would use:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node <npm-global>/node_modules/@atelierai/uco/bin/server.mjs \
|
|
20
|
+
--port <port> --authorization required --token <token from UserSettings/uco-config.json>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The plugin detects an already-running server on its port and connects to it.
|
|
24
|
+
|
|
25
|
+
If the plugin still refuses to start it: `nodeServerPath` in
|
|
26
|
+
`UserSettings/uco-config.json` may point at a dead path (it must exist or be
|
|
27
|
+
cleared), or the npm package is missing (`npm i -g @atelierai/uco`).
|
|
28
|
+
|
|
5
29
|
## Diagnose by layer
|
|
6
30
|
|
|
7
31
|
1. Verify `Packages/manifest.json` contains `com.atelierai.unity.copilot` and inspect its source/version without rewriting unrelated dependencies.
|
|
8
32
|
2. Check the OpenUPM scopes required by the package and preserve an active local package source.
|
|
9
|
-
3. Check
|
|
10
|
-
4. Check `UserSettings/
|
|
33
|
+
3. Check `Assets/Plugins/NuGet` is present when using full `uco install`. (No server directory is staged — the Unity plugin launches its Node server itself.)
|
|
34
|
+
4. Check `UserSettings/uco-config.json` exists, but never print its token.
|
|
11
35
|
5. Confirm the expected Unity Editor process owns this exact project before diagnosing REST readiness.
|
|
12
36
|
6. Use `uco status`, then `open` plus `wait-for-ready`; only then run `ping` and `instance-get-current`.
|
|
13
37
|
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.4] - 2026-09-17 — embedded-install update fix
|
|
4
|
+
|
|
5
|
+
The in-editor updater no longer attempts (and fails with an opaque UPM
|
|
6
|
+
error) to update embedded packages installed by uco install. It now
|
|
7
|
+
detects the embedded layout and directs the user to run
|
|
8
|
+
`uco install <project>` instead.
|
|
9
|
+
|
|
10
|
+
## [1.0.3] - 2026-09-17 — Cloud mode removed; bridge finds the published npm package
|
|
11
|
+
|
|
12
|
+
- **Cloud connection mode deleted.** The upstream remnant connected to a dead
|
|
13
|
+
third-party endpoint (ai-game.dev), silently prevented the local bridge from
|
|
14
|
+
auto-starting (its gate only allowed Custom), and confused every session that
|
|
15
|
+
hit a config without an explicit mode. ConnectionMode now has a single value
|
|
16
|
+
(Custom), the default is Custom, the device-code auth flow and its UI are
|
|
17
|
+
gone, and old configs carrying "Cloud" are mapped to Custom on load.
|
|
18
|
+
- **Node bridge discovery follows the published package.** npm rejected the
|
|
19
|
+
bare name "uco" (typosquatting policy), so the package publishes as
|
|
20
|
+
@atelierai/uco — but discovery still looked for node_modules/uco, which
|
|
21
|
+
stopped existing the moment the pre-scope global install was removed.
|
|
22
|
+
Discovery now probes @atelierai/uco, then the legacy uco and cocli layouts,
|
|
23
|
+
project-local and npm-global.
|
|
24
|
+
- Token env overrides route straight to the local token (no mode routing);
|
|
25
|
+
UNITY_MCP_CLOUD_URL is gone, --url/UNITY_MCP_HOST keep working.
|
|
26
|
+
|
|
3
27
|
## [1.0.2] - 2026-09-15 — one menu tree, one name: Unity Copilot
|
|
4
28
|
|
|
5
29
|
- The product is named **Unity Copilot** (no hyphen). All menus, window
|
|
@@ -85,12 +85,15 @@ namespace com.AtelierAI.Unity.Copilot.Editor
|
|
|
85
85
|
#region Node Server Discovery
|
|
86
86
|
|
|
87
87
|
/// <summary>
|
|
88
|
-
///
|
|
88
|
+
/// npm package directories that ship the Node.js server, newest first: the
|
|
89
|
+
/// published scoped package (@atelierai/uco — the registry rejected the bare
|
|
90
|
+
/// short name), the pre-scope local layout, and the deprecated cocli install
|
|
91
|
+
/// from the private era.
|
|
89
92
|
/// </summary>
|
|
90
|
-
public
|
|
93
|
+
public static readonly string[] NodeServerPackageNames = { "@atelierai/uco", "uco", "cocli" };
|
|
91
94
|
|
|
92
95
|
/// <summary>
|
|
93
|
-
/// Path of the server entry script inside
|
|
96
|
+
/// Path of the server entry script inside a <see cref="NodeServerPackageNames"/> package.
|
|
94
97
|
/// </summary>
|
|
95
98
|
public const string NodeServerEntryRelativePath = "bin/server.mjs";
|
|
96
99
|
|
|
@@ -124,28 +127,33 @@ namespace com.AtelierAI.Unity.Copilot.Editor
|
|
|
124
127
|
return null;
|
|
125
128
|
}
|
|
126
129
|
|
|
127
|
-
// 2) Installed in the Unity project (uco first, legacy
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
// 2) Installed in the Unity project (@atelierai/uco first, legacy names after)
|
|
131
|
+
foreach (var packageName in NodeServerPackageNames)
|
|
132
|
+
{
|
|
133
|
+
var projectLocal = Path.GetFullPath(Path.Combine(
|
|
134
|
+
UnityCopilotPluginEditor.ProjectRootPath,
|
|
135
|
+
"node_modules",
|
|
136
|
+
packageName,
|
|
137
|
+
NodeServerEntryRelativePath));
|
|
138
|
+
if (File.Exists(projectLocal))
|
|
139
|
+
return projectLocal;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 3) Installed globally via npm (@atelierai/uco first, legacy names after)
|
|
138
143
|
foreach (var globalRoot in GetNpmGlobalRoots())
|
|
139
144
|
{
|
|
140
|
-
|
|
141
|
-
{
|
|
142
|
-
var globalPath = Path.Combine(globalRoot, NodeServerPackageName, NodeServerEntryRelativePath);
|
|
143
|
-
if (File.Exists(globalPath))
|
|
144
|
-
return Path.GetFullPath(globalPath);
|
|
145
|
-
}
|
|
146
|
-
catch
|
|
145
|
+
foreach (var packageName in NodeServerPackageNames)
|
|
147
146
|
{
|
|
148
|
-
|
|
147
|
+
try
|
|
148
|
+
{
|
|
149
|
+
var globalPath = Path.Combine(globalRoot, packageName, NodeServerEntryRelativePath);
|
|
150
|
+
if (File.Exists(globalPath))
|
|
151
|
+
return Path.GetFullPath(globalPath);
|
|
152
|
+
}
|
|
153
|
+
catch
|
|
154
|
+
{
|
|
155
|
+
// Inaccessible candidate — skip it.
|
|
156
|
+
}
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
|
|
@@ -249,7 +257,7 @@ namespace com.AtelierAI.Unity.Copilot.Editor
|
|
|
249
257
|
// documented project-local install location so the generated config is
|
|
250
258
|
// still a valid, copy-pasteable starting point.
|
|
251
259
|
var serverEntry = ResolveNodeServerEntry()
|
|
252
|
-
?? Path.Combine("node_modules",
|
|
260
|
+
?? Path.Combine("node_modules", NodeServerPackageNames[0], NodeServerEntryRelativePath);
|
|
253
261
|
|
|
254
262
|
serverConfig["command"] = ResolveNodeExecutable().Replace('\\', '/');
|
|
255
263
|
|
|
@@ -951,17 +959,6 @@ namespace com.AtelierAI.Unity.Copilot.Editor
|
|
|
951
959
|
}
|
|
952
960
|
}
|
|
953
961
|
|
|
954
|
-
/// <summary>
|
|
955
|
-
/// Returns true when the local server may be auto-started for the given connection mode.
|
|
956
|
-
/// Only Custom mode targets the local server, so auto-start is allowed there (subject to
|
|
957
|
-
/// other gates such as <see cref="UnityCopilotPluginEditor.KeepServerRunning"/>). Every other
|
|
958
|
-
/// mode (Cloud today, plus any future addition) connects to a remote endpoint and must
|
|
959
|
-
/// never auto-start the local server on Editor launch or after a binary update.
|
|
960
|
-
/// Pure (no Unity API access) so it can be unit-tested in EditMode.
|
|
961
|
-
/// </summary>
|
|
962
|
-
public static bool IsAutoStartAllowedForMode(ConnectionMode mode)
|
|
963
|
-
=> mode == ConnectionMode.Custom;
|
|
964
|
-
|
|
965
962
|
/// <summary>
|
|
966
963
|
/// Starts the server if KeepServerRunning is enabled and no external server is detected.
|
|
967
964
|
/// This method is called during Unity Editor startup to auto-start the server based on user preference.
|
|
@@ -971,13 +968,6 @@ namespace com.AtelierAI.Unity.Copilot.Editor
|
|
|
971
968
|
{
|
|
972
969
|
EditorApplication.update -= StartServerIfNeeded;
|
|
973
970
|
|
|
974
|
-
// Skip local server auto-start in Cloud mode — Unity connects to the cloud server instead
|
|
975
|
-
if (!IsAutoStartAllowedForMode(UnityCopilotPluginEditor.ConnectionMode))
|
|
976
|
-
{
|
|
977
|
-
_logger.LogDebug("StartServerIfNeeded: Cloud mode active, skipping local server auto-start");
|
|
978
|
-
return;
|
|
979
|
-
}
|
|
980
|
-
|
|
981
971
|
// Check if user wants the server to keep running
|
|
982
972
|
if (!UnityCopilotPluginEditor.KeepServerRunning)
|
|
983
973
|
{
|