@atelierai/uco 1.0.7 → 1.0.9
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 +29 -8
- package/package.json +2 -2
- package/vendor/plugin/com.atelierai.unity.copilot/CHANGELOG.md +4 -4
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetConfig.cs +132 -132
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDependencyResolver.cs +237 -237
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDownloader.cs +82 -82
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/MenuItems.cs +247 -247
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/ToolGroups.cs +153 -153
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/SystemTool/Skills.Create.SkillBody.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Console.GetLogs.cs +95 -95
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Docs.HttpFetcher.cs +139 -139
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Instance.ListAll.cs +72 -72
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/PathReadHelper.cs +106 -106
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Script.Validate.cs +252 -252
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests/TestResultCollector.cs +537 -537
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests.cs +400 -400
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/ToolGroups.SetEnabled.cs +92 -92
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Branding/ProductInfo.cs +62 -62
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/CopilotServerManager.cs +887 -1034
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Skills/Skill_InitialSetup.cs +197 -197
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.Editor.cs +201 -201
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.cs +67 -67
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotListWindowBase.cs +393 -393
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotWindowBase.cs +113 -113
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs +3 -3
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotFeatures.cs +195 -195
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotServer.cs +22 -22
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CreateGUI.cs +354 -354
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.cs +78 -78
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowInitializer.cs +47 -47
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/SerializationCheckWindow.cs +190 -190
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Build.cs +91 -91
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Config.cs +298 -298
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Static.cs +296 -296
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.cs +69 -69
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PackageUtils.cs +168 -168
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PrefsKeyMigration.cs +119 -119
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/SafeDefaultsGuard.cs +180 -180
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ScriptUtils.cs +229 -229
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolGroupRegistry.cs +461 -460
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolsManifestGenerator.cs +200 -200
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringAdapters.cs +1467 -1467
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringSafetyReloadGuard.cs +65 -65
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityCopilotUpdateProjectSettings.cs +66 -66
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotPromptsWindow.uss +11 -11
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotResourcesWindow.uss +16 -16
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotToolsWindow.uss +36 -36
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/MainWindow.uss +183 -183
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/{_mcp-list-window.uss → _copilot-list-window.uss} +18 -18
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/_list-view.uss +77 -77
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotPromptsWindow.uxml +18 -18
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotResourcesWindow.uxml +18 -18
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotToolsWindow.uxml +18 -18
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/MainWindow.uxml +115 -115
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/ReflectorNet.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.Common.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/README.md +88 -88
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Converter/Json/Structures/EntityIdConverter.cs +120 -120
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.cs +110 -110
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.pre-Unity.6.5.cs +110 -110
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Unity/Logs/FileLogStorage.cs +547 -547
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Build.cs +243 -243
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +3 -3
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +295 -295
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginBuilder.cs +105 -105
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.Static.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.cs +59 -59
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +11 -11
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/AtomicApiTestFixtures.cs +99 -99
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/TryModifyAtTests.cs +227 -227
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AuthoringSafetyPilotTests.cs +1050 -1050
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetExtractorDevelopmentDependencyTests.cs +148 -148
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetExtractorFlatLayoutTests.cs +166 -166
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetInstallManifestTests.cs +436 -436
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetLegacyMigrationTests.cs +304 -304
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetPackageInstallerStaleVersionCleanupTests.cs +200 -200
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +2 -2
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/BlacklistTypeTests.cs +416 -416
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.cs +172 -172
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.pre-Unity.6.5.cs +169 -169
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.cs +182 -182
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.pre-Unity.6.5.cs +179 -179
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.cs +175 -175
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.pre-Unity.6.5.cs +174 -174
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.cs +171 -171
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.pre-Unity.6.5.cs +170 -170
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsCreateFolderTests.cs +243 -243
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsMaterialTests.cs +101 -101
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs +348 -348
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs +348 -348
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsShaderTests.cs +194 -194
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/GameObject/TestJsonSchema.cs +199 -199
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.cs +573 -573
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.pre-Unity.6.5.cs +513 -513
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.cs +154 -154
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.pre-Unity.6.5.cs +154 -154
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotGameViewTests.cs +164 -164
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotSceneViewTests.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolParameterTests.cs +56 -56
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.cs +651 -651
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs +651 -651
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ToolBatchExecutionIntegrationTests.cs +407 -407
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs → UcoPluginTests.cs} +105 -105
- package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
- /package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/{_mcp-list-window.uss.meta → _copilot-list-window.uss.meta} +0 -0
- /package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs.meta → UcoPluginTests.cs.meta} +0 -0
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/*
|
|
2
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
-
│ Author: AtelierAI │
|
|
4
|
-
│ Copyright (c) 2025 AtelierAI │
|
|
5
|
-
│ Licensed under the MIT License. │
|
|
6
|
-
└──────────────────────────────────────────────────────────────────┘
|
|
7
|
-
*/
|
|
8
|
-
#nullable enable
|
|
9
|
-
|
|
10
|
-
using System.Linq;
|
|
11
|
-
using com.AtelierAI.Uco.Framework;
|
|
12
|
-
using UnityEditor;
|
|
13
|
-
|
|
14
|
-
namespace com.AtelierAI.Unity.Copilot.Editor.Utils
|
|
15
|
-
{
|
|
16
|
-
/// <summary>
|
|
17
|
-
/// Invalidates every in-memory confirmation plan before a domain reload
|
|
18
|
-
/// or Editor quit. The plan store is process-local by design; scripts,
|
|
19
|
-
/// objects, and policy code may change across a reload, so a token that
|
|
20
|
-
/// was issued by the previous AppDomain must not authorise an execution
|
|
21
|
-
/// afterwards. It is deliberately not a durable operation registry hook.
|
|
22
|
-
/// </summary>
|
|
23
|
-
[InitializeOnLoad]
|
|
24
|
-
public static class UnityAuthoringSafetyReloadGuard
|
|
25
|
-
{
|
|
26
|
-
static UnityAuthoringSafetyReloadGuard()
|
|
27
|
-
{
|
|
28
|
-
AssemblyReloadEvents.beforeAssemblyReload += InvalidateConfirmationPlansHandler;
|
|
29
|
-
EditorApplication.quitting += InvalidateConfirmationPlansHandler;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
/// Forgets every issued plan on the live pipeline. Returns the number
|
|
34
|
-
/// of policy stores that were invalidated (tests assert on it).
|
|
35
|
-
/// </summary>
|
|
36
|
-
public static int InvalidateConfirmationPlans()
|
|
37
|
-
{
|
|
38
|
-
if (!UnityCopilotPluginEditor.HasInstance || !UnityCopilotPluginEditor.Instance.
|
|
39
|
-
return 0;
|
|
40
|
-
|
|
41
|
-
var invalidated = 0;
|
|
42
|
-
foreach (var pipeline in Pipelines())
|
|
43
|
-
{
|
|
44
|
-
foreach (var middleware in pipeline.Middleware.OfType<AuthoringSafetyMiddleware>())
|
|
45
|
-
{
|
|
46
|
-
middleware.Policy.ConfirmationPlans.Invalidate();
|
|
47
|
-
invalidated++;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return invalidated;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
private static System.Collections.Generic.IEnumerable<ToolExecutionPipeline> Pipelines()
|
|
54
|
-
{
|
|
55
|
-
var plugin = UnityCopilotPluginEditor.Instance;
|
|
56
|
-
if (plugin.Tools is UcoToolManager tools)
|
|
57
|
-
yield return tools.ExecutionPipeline;
|
|
58
|
-
if (plugin.UcoPluginInstance?.UcoManager.SystemToolManager is UcoSystemToolManager systemTools
|
|
59
|
-
&& !(plugin.Tools is UcoToolManager regular && ReferenceEquals(regular.ExecutionPipeline, systemTools.ExecutionPipeline)))
|
|
60
|
-
yield return systemTools.ExecutionPipeline;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private static void InvalidateConfirmationPlansHandler() => InvalidateConfirmationPlans();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
+
│ Author: AtelierAI │
|
|
4
|
+
│ Copyright (c) 2025 AtelierAI │
|
|
5
|
+
│ Licensed under the MIT License. │
|
|
6
|
+
└──────────────────────────────────────────────────────────────────┘
|
|
7
|
+
*/
|
|
8
|
+
#nullable enable
|
|
9
|
+
|
|
10
|
+
using System.Linq;
|
|
11
|
+
using com.AtelierAI.Uco.Framework;
|
|
12
|
+
using UnityEditor;
|
|
13
|
+
|
|
14
|
+
namespace com.AtelierAI.Unity.Copilot.Editor.Utils
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
/// Invalidates every in-memory confirmation plan before a domain reload
|
|
18
|
+
/// or Editor quit. The plan store is process-local by design; scripts,
|
|
19
|
+
/// objects, and policy code may change across a reload, so a token that
|
|
20
|
+
/// was issued by the previous AppDomain must not authorise an execution
|
|
21
|
+
/// afterwards. It is deliberately not a durable operation registry hook.
|
|
22
|
+
/// </summary>
|
|
23
|
+
[InitializeOnLoad]
|
|
24
|
+
public static class UnityAuthoringSafetyReloadGuard
|
|
25
|
+
{
|
|
26
|
+
static UnityAuthoringSafetyReloadGuard()
|
|
27
|
+
{
|
|
28
|
+
AssemblyReloadEvents.beforeAssemblyReload += InvalidateConfirmationPlansHandler;
|
|
29
|
+
EditorApplication.quitting += InvalidateConfirmationPlansHandler;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
/// Forgets every issued plan on the live pipeline. Returns the number
|
|
34
|
+
/// of policy stores that were invalidated (tests assert on it).
|
|
35
|
+
/// </summary>
|
|
36
|
+
public static int InvalidateConfirmationPlans()
|
|
37
|
+
{
|
|
38
|
+
if (!UnityCopilotPluginEditor.HasInstance || !UnityCopilotPluginEditor.Instance.HasUcoPluginInstance)
|
|
39
|
+
return 0;
|
|
40
|
+
|
|
41
|
+
var invalidated = 0;
|
|
42
|
+
foreach (var pipeline in Pipelines())
|
|
43
|
+
{
|
|
44
|
+
foreach (var middleware in pipeline.Middleware.OfType<AuthoringSafetyMiddleware>())
|
|
45
|
+
{
|
|
46
|
+
middleware.Policy.ConfirmationPlans.Invalidate();
|
|
47
|
+
invalidated++;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return invalidated;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private static System.Collections.Generic.IEnumerable<ToolExecutionPipeline> Pipelines()
|
|
54
|
+
{
|
|
55
|
+
var plugin = UnityCopilotPluginEditor.Instance;
|
|
56
|
+
if (plugin.Tools is UcoToolManager tools)
|
|
57
|
+
yield return tools.ExecutionPipeline;
|
|
58
|
+
if (plugin.UcoPluginInstance?.UcoManager.SystemToolManager is UcoSystemToolManager systemTools
|
|
59
|
+
&& !(plugin.Tools is UcoToolManager regular && ReferenceEquals(regular.ExecutionPipeline, systemTools.ExecutionPipeline)))
|
|
60
|
+
yield return systemTools.ExecutionPipeline;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private static void InvalidateConfirmationPlansHandler() => InvalidateConfirmationPlans();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
/*
|
|
2
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
-
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
4
|
-
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
5
|
-
│ Copyright (c) 2025 Ivan Murzak │
|
|
6
|
-
│ Licensed under the Apache License, Version 2.0. │
|
|
7
|
-
│ See the LICENSE file in the project root for more information. │
|
|
8
|
-
└──────────────────────────────────────────────────────────────────┘
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
#nullable enable
|
|
12
|
-
using UnityEditor;
|
|
13
|
-
using UnityEngine;
|
|
14
|
-
|
|
15
|
-
namespace com.AtelierAI.Unity.Copilot.Editor.Utils
|
|
16
|
-
{
|
|
17
|
-
/// <summary>
|
|
18
|
-
/// Team-shared settings for the Unity-
|
|
19
|
-
/// <c>ProjectSettings/Copilot-UpdateSettings.asset</c>.
|
|
20
|
-
/// </summary>
|
|
21
|
-
/// <remarks>
|
|
22
|
-
/// Uses Unity's <see cref="ScriptableSingleton{T}"/> + <see cref="FilePathAttribute"/> pattern
|
|
23
|
-
/// for project-scoped editor settings. The asset file is plain YAML, diff-friendly, and
|
|
24
|
-
/// lives in the folder teams commit to VCS — so flipping <see cref="DisableUpdateNotificationsForTeam"/>
|
|
25
|
-
/// once and committing the resulting asset disables the update popup for every team member
|
|
26
|
-
/// who pulls that commit.
|
|
27
|
-
///
|
|
28
|
-
/// This complements (does not replace) the per-user "Do not show again" flag stored via
|
|
29
|
-
/// <see cref="EditorPrefs"/>. Precedence is enforced in
|
|
30
|
-
/// <see cref="UpdateChecker.ShouldCheckForUpdates"/>: the project flag short-circuits
|
|
31
|
-
/// the check before the per-user flag is consulted.
|
|
32
|
-
///
|
|
33
|
-
/// See <see href="https://github.com/IvanMurzak/uco-plugin/issues/768"/>.
|
|
34
|
-
/// </remarks>
|
|
35
|
-
/// <remarks>
|
|
36
|
-
/// <see cref="FilePathAttribute.Location.ProjectFolder"/> resolves the relative path against
|
|
37
|
-
/// the Unity project root (the folder that contains <c>Assets/</c>, <c>Packages/</c>, and
|
|
38
|
-
/// <c>ProjectSettings/</c>) — NOT against <c>Assets/</c>. That places the asset alongside
|
|
39
|
-
/// other team-shared editor settings such as <c>ProjectSettings/EditorSettings.asset</c>.
|
|
40
|
-
/// </remarks>
|
|
41
|
-
[FilePath("ProjectSettings/Copilot-UpdateSettings.asset", FilePathAttribute.Location.ProjectFolder)]
|
|
42
|
-
internal sealed class UnityCopilotUpdateProjectSettings : ScriptableSingleton<UnityCopilotUpdateProjectSettings>
|
|
43
|
-
{
|
|
44
|
-
[SerializeField] private bool disableUpdateNotificationsForTeam;
|
|
45
|
-
|
|
46
|
-
/// <summary>
|
|
47
|
-
/// When <c>true</c>, the update popup is suppressed for every team member who has this
|
|
48
|
-
/// asset in their checkout — regardless of any per-user <see cref="EditorPrefs"/> state.
|
|
49
|
-
/// </summary>
|
|
50
|
-
/// <remarks>
|
|
51
|
-
/// Setter persists immediately via <see cref="ScriptableSingleton{T}.Save"/> with
|
|
52
|
-
/// <c>saveAsText: true</c> so the resulting asset is YAML (diff-friendly).
|
|
53
|
-
/// </remarks>
|
|
54
|
-
public bool DisableUpdateNotificationsForTeam
|
|
55
|
-
{
|
|
56
|
-
get => disableUpdateNotificationsForTeam;
|
|
57
|
-
set
|
|
58
|
-
{
|
|
59
|
-
if (disableUpdateNotificationsForTeam == value)
|
|
60
|
-
return;
|
|
61
|
-
disableUpdateNotificationsForTeam = value;
|
|
62
|
-
Save(true);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
+
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
4
|
+
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
5
|
+
│ Copyright (c) 2025 Ivan Murzak │
|
|
6
|
+
│ Licensed under the Apache License, Version 2.0. │
|
|
7
|
+
│ See the LICENSE file in the project root for more information. │
|
|
8
|
+
└──────────────────────────────────────────────────────────────────┘
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#nullable enable
|
|
12
|
+
using UnityEditor;
|
|
13
|
+
using UnityEngine;
|
|
14
|
+
|
|
15
|
+
namespace com.AtelierAI.Unity.Copilot.Editor.Utils
|
|
16
|
+
{
|
|
17
|
+
/// <summary>
|
|
18
|
+
/// Team-shared settings for the Unity-Uco update checker, persisted under
|
|
19
|
+
/// <c>ProjectSettings/Copilot-UpdateSettings.asset</c>.
|
|
20
|
+
/// </summary>
|
|
21
|
+
/// <remarks>
|
|
22
|
+
/// Uses Unity's <see cref="ScriptableSingleton{T}"/> + <see cref="FilePathAttribute"/> pattern
|
|
23
|
+
/// for project-scoped editor settings. The asset file is plain YAML, diff-friendly, and
|
|
24
|
+
/// lives in the folder teams commit to VCS — so flipping <see cref="DisableUpdateNotificationsForTeam"/>
|
|
25
|
+
/// once and committing the resulting asset disables the update popup for every team member
|
|
26
|
+
/// who pulls that commit.
|
|
27
|
+
///
|
|
28
|
+
/// This complements (does not replace) the per-user "Do not show again" flag stored via
|
|
29
|
+
/// <see cref="EditorPrefs"/>. Precedence is enforced in
|
|
30
|
+
/// <see cref="UpdateChecker.ShouldCheckForUpdates"/>: the project flag short-circuits
|
|
31
|
+
/// the check before the per-user flag is consulted.
|
|
32
|
+
///
|
|
33
|
+
/// See <see href="https://github.com/IvanMurzak/uco-plugin/issues/768"/>.
|
|
34
|
+
/// </remarks>
|
|
35
|
+
/// <remarks>
|
|
36
|
+
/// <see cref="FilePathAttribute.Location.ProjectFolder"/> resolves the relative path against
|
|
37
|
+
/// the Unity project root (the folder that contains <c>Assets/</c>, <c>Packages/</c>, and
|
|
38
|
+
/// <c>ProjectSettings/</c>) — NOT against <c>Assets/</c>. That places the asset alongside
|
|
39
|
+
/// other team-shared editor settings such as <c>ProjectSettings/EditorSettings.asset</c>.
|
|
40
|
+
/// </remarks>
|
|
41
|
+
[FilePath("ProjectSettings/Copilot-UpdateSettings.asset", FilePathAttribute.Location.ProjectFolder)]
|
|
42
|
+
internal sealed class UnityCopilotUpdateProjectSettings : ScriptableSingleton<UnityCopilotUpdateProjectSettings>
|
|
43
|
+
{
|
|
44
|
+
[SerializeField] private bool disableUpdateNotificationsForTeam;
|
|
45
|
+
|
|
46
|
+
/// <summary>
|
|
47
|
+
/// When <c>true</c>, the update popup is suppressed for every team member who has this
|
|
48
|
+
/// asset in their checkout — regardless of any per-user <see cref="EditorPrefs"/> state.
|
|
49
|
+
/// </summary>
|
|
50
|
+
/// <remarks>
|
|
51
|
+
/// Setter persists immediately via <see cref="ScriptableSingleton{T}.Save"/> with
|
|
52
|
+
/// <c>saveAsText: true</c> so the resulting asset is YAML (diff-friendly).
|
|
53
|
+
/// </remarks>
|
|
54
|
+
public bool DisableUpdateNotificationsForTeam
|
|
55
|
+
{
|
|
56
|
+
get => disableUpdateNotificationsForTeam;
|
|
57
|
+
set
|
|
58
|
+
{
|
|
59
|
+
if (disableUpdateNotificationsForTeam == value)
|
|
60
|
+
return;
|
|
61
|
+
disableUpdateNotificationsForTeam = value;
|
|
62
|
+
Save(true);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/* ==========================================================================
|
|
2
|
-
|
|
3
|
-
Imports common list window styles and adds prompt-specific customizations
|
|
4
|
-
========================================================================== */
|
|
5
|
-
|
|
6
|
-
@import url("common/
|
|
7
|
-
|
|
8
|
-
/* Prompt-specific: Role label color */
|
|
9
|
-
.item-role {
|
|
10
|
-
color: #8FAADC;
|
|
11
|
-
}
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Copilot Prompts Window Styles
|
|
3
|
+
Imports common list window styles and adds prompt-specific customizations
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
@import url("common/_copilot-list-window.uss");
|
|
7
|
+
|
|
8
|
+
/* Prompt-specific: Role label color */
|
|
9
|
+
.item-role {
|
|
10
|
+
color: #8FAADC;
|
|
11
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
/* ==========================================================================
|
|
2
|
-
|
|
3
|
-
Imports common list window styles and adds resource-specific customizations
|
|
4
|
-
========================================================================== */
|
|
5
|
-
|
|
6
|
-
@import url("common/
|
|
7
|
-
|
|
8
|
-
/* Resource-specific: URI label color */
|
|
9
|
-
.item-uri {
|
|
10
|
-
color: #9ACD32;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/* Resource-specific: MIME type label color */
|
|
14
|
-
.item-mimetype {
|
|
15
|
-
color: #DDA0DD;
|
|
16
|
-
}
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Copilot Resources Window Styles
|
|
3
|
+
Imports common list window styles and adds resource-specific customizations
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
@import url("common/_copilot-list-window.uss");
|
|
7
|
+
|
|
8
|
+
/* Resource-specific: URI label color */
|
|
9
|
+
.item-uri {
|
|
10
|
+
color: #9ACD32;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Resource-specific: MIME type label color */
|
|
14
|
+
.item-mimetype {
|
|
15
|
+
color: #DDA0DD;
|
|
16
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
/* ==========================================================================
|
|
2
|
-
|
|
3
|
-
========================================================================== */
|
|
4
|
-
|
|
5
|
-
@import url("common/
|
|
6
|
-
|
|
7
|
-
/* Tool Item Header - column layout with two rows */
|
|
8
|
-
.tool-item-header {
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/* Shared row style for tool item rows */
|
|
13
|
-
.tool-item-row {
|
|
14
|
-
flex-direction: row;
|
|
15
|
-
justify-content: space-between;
|
|
16
|
-
width: 100%;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/* Title row - toggle aligned to top */
|
|
20
|
-
.tool-item-title-row {
|
|
21
|
-
align-items: flex-start;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/* Subtitle row - vertically centered */
|
|
25
|
-
.tool-item-subtitle-row {
|
|
26
|
-
align-items: center;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* Token Count */
|
|
30
|
-
.item-token-count {
|
|
31
|
-
flex-shrink: 0;
|
|
32
|
-
margin-left: 8px;
|
|
33
|
-
font-size: 10px;
|
|
34
|
-
color: rgb(150, 150, 150);
|
|
35
|
-
white-space: nowrap;
|
|
36
|
-
}
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Copilot Tools Window Styles
|
|
3
|
+
========================================================================== */
|
|
4
|
+
|
|
5
|
+
@import url("common/_copilot-list-window.uss");
|
|
6
|
+
|
|
7
|
+
/* Tool Item Header - column layout with two rows */
|
|
8
|
+
.tool-item-header {
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Shared row style for tool item rows */
|
|
13
|
+
.tool-item-row {
|
|
14
|
+
flex-direction: row;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Title row - toggle aligned to top */
|
|
20
|
+
.tool-item-title-row {
|
|
21
|
+
align-items: flex-start;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Subtitle row - vertically centered */
|
|
25
|
+
.tool-item-subtitle-row {
|
|
26
|
+
align-items: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Token Count */
|
|
30
|
+
.item-token-count {
|
|
31
|
+
flex-shrink: 0;
|
|
32
|
+
margin-left: 8px;
|
|
33
|
+
font-size: 10px;
|
|
34
|
+
color: rgb(150, 150, 150);
|
|
35
|
+
white-space: nowrap;
|
|
36
|
+
}
|